diff --git a/.github/workflows/build-automation.yml b/.github/workflows/build-automation.yml new file mode 100644 index 000000000000..f2d09e392609 --- /dev/null +++ b/.github/workflows/build-automation.yml @@ -0,0 +1,101 @@ +# Build Godot automation branch and create release artifacts + +name: Build Godot Automation + +on: + push: + branches: [automation] + pull_request: + branches: [automation] + workflow_dispatch: + workflow_call: + +concurrency: + group: ${{ github.workflow }}|${{ github.ref_name }} + cancel-in-progress: true + +jobs: + static-checks: + name: Static Checks + uses: ./.github/workflows/static_checks.yml + + linux-build: + name: Linux + needs: static-checks + uses: ./.github/workflows/linux_builds.yml + + macos-build: + name: macOS + needs: static-checks + uses: ./.github/workflows/macos_builds.yml + + # Create a release with the built binaries (only on push to automation branch) + release: + name: Create Release + needs: [linux-build, macos-build] + runs-on: ubuntu-latest + if: github.event_name == 'push' && github.ref == 'refs/heads/automation' + permissions: + contents: write + steps: + - name: Download Linux Editor artifact + uses: actions/download-artifact@v4 + with: + name: linux-editor-mono + path: artifacts/linux + + - name: Download macOS Editor artifact + uses: actions/download-artifact@v4 + with: + name: macos-editor + path: artifacts/macos + + - name: Prepare release assets + run: | + cd artifacts + # Make binaries executable + chmod +x linux/godot.linuxbsd.editor.x86_64.mono || true + chmod +x macos/godot.macos.editor.universal || true + # Create zip files for release + cd linux && zip -r ../godot-automation-linux-x86_64.zip . && cd .. + cd macos && zip -r ../godot-automation-macos-universal.zip . && cd .. + ls -la *.zip + + - name: Get short SHA + id: sha + run: echo "short=$(echo ${{ github.sha }} | cut -c1-7)" >> $GITHUB_OUTPUT + + - name: Create or update release + uses: softprops/action-gh-release@v2 + with: + tag_name: automation-latest + name: Automation Build (latest) + body: | + Pre-built Godot binaries with PlayGodot automation support. + + **Commit:** ${{ github.sha }} + **Built:** ${{ github.event.head_commit.timestamp }} + + ## Downloads + - `godot-automation-linux-x86_64.zip` - Linux x86_64 editor + - `godot-automation-macos-universal.zip` - macOS universal (Intel + Apple Silicon) editor + + ## Usage + ```bash + # Linux + unzip godot-automation-linux-x86_64.zip + chmod +x godot.linuxbsd.editor.x86_64.mono + ./godot.linuxbsd.editor.x86_64.mono --path /path/to/project --remote-debug tcp://127.0.0.1:6007 + + # macOS + unzip godot-automation-macos-universal.zip + chmod +x godot.macos.editor.universal + ./godot.macos.editor.universal --path /path/to/project --remote-debug tcp://127.0.0.1:6007 + ``` + + See [PlayGodot](https://github.com/Randroids-Dojo/PlayGodot) for the Python client. + files: | + artifacts/godot-automation-linux-x86_64.zip + artifacts/godot-automation-macos-universal.zip + prerelease: true + make_latest: false diff --git a/.github/workflows/playgodot-integration.yml b/.github/workflows/playgodot-integration.yml new file mode 100644 index 000000000000..5c8e3dbb7340 --- /dev/null +++ b/.github/workflows/playgodot-integration.yml @@ -0,0 +1,100 @@ +# Run PlayGodot integration tests against the automation build +# This validates that the automation protocol works correctly + +name: PlayGodot Integration Tests + +on: + workflow_run: + workflows: ["🔗 GHA"] + types: [completed] + branches: [automation] + workflow_dispatch: + +jobs: + test-integration: + # Only run if the build succeeded + if: ${{ github.event_name == 'workflow_dispatch' || github.event.workflow_run.conclusion == 'success' }} + runs-on: ubuntu-22.04 + name: PlayGodot Integration Tests + + steps: + - name: Download Godot artifact + uses: dawidd6/action-download-artifact@v6 + with: + workflow: runner.yml + workflow_conclusion: success + name: linux-editor-mono + path: godot-bin + # Use run_id from the triggering workflow, or latest for manual trigger + run_id: ${{ github.event.workflow_run.id }} + if_no_artifact_found: warn + + - name: Fallback - Download from latest successful run + if: failure() || hashFiles('godot-bin/godot.*') == '' + uses: dawidd6/action-download-artifact@v6 + with: + workflow: runner.yml + workflow_conclusion: success + name: linux-editor-mono + path: godot-bin + search_artifacts: true + + - name: Setup Godot + run: | + ls -la godot-bin/ || echo "No godot-bin directory" + chmod +x godot-bin/godot.* || true + + # Find the godot binary + GODOT_BIN=$(find godot-bin -name 'godot.*' -type f | head -1) + if [ -z "$GODOT_BIN" ]; then + echo "No Godot binary found, skipping tests" + exit 0 + fi + + sudo mv "$GODOT_BIN" /usr/local/bin/godot + godot --version + + - name: Install display dependencies + run: | + sudo apt-get update + sudo apt-get install -y xvfb + + - name: Checkout PlayGodot + uses: actions/checkout@v4 + with: + repository: Randroids-Dojo/PlayGodot + path: playgodot + + - name: Setup Python + uses: actions/setup-python@v5 + with: + python-version: '3.11' + + - name: Install PlayGodot + run: | + cd playgodot/python + pip install -e ".[dev]" + + - name: Run unit tests + run: | + cd playgodot/python + pytest tests/ -v --tb=short + + - name: Run tic-tac-toe integration tests + run: | + cd playgodot/examples/tic-tac-toe + # Run with xvfb for headless display + xvfb-run -a pytest tests/ -v --tb=short + env: + GODOT_PATH: /usr/local/bin/godot + + - name: Test results summary + if: always() + run: | + echo "## PlayGodot Integration Test Results" >> $GITHUB_STEP_SUMMARY + echo "" >> $GITHUB_STEP_SUMMARY + if [ "${{ job.status }}" == "success" ]; then + echo "✅ All integration tests passed!" >> $GITHUB_STEP_SUMMARY + else + echo "❌ Some tests failed. Check the logs above for details." >> $GITHUB_STEP_SUMMARY + fi diff --git a/.github/workflows/sync-upstream.yml b/.github/workflows/sync-upstream.yml new file mode 100644 index 000000000000..b20b4785ff5c --- /dev/null +++ b/.github/workflows/sync-upstream.yml @@ -0,0 +1,95 @@ +# Nightly job to sync with upstream godotengine/godot + +name: Sync Upstream + +on: + schedule: + # Run at 3 AM UTC every night + - cron: '0 3 * * *' + workflow_dispatch: + +permissions: + contents: write + issues: write + +jobs: + sync: + runs-on: ubuntu-latest + + steps: + - name: Checkout fork + uses: actions/checkout@v4 + with: + fetch-depth: 0 + token: ${{ secrets.PAT_TOKEN }} + + - name: Configure Git + run: | + git config user.name "GitHub Actions Bot" + git config user.email "actions@github.com" + + - name: Add upstream and fetch + run: | + git remote add upstream https://github.com/godotengine/godot.git + git fetch upstream master + git fetch origin automation + + - name: Update master from upstream + run: | + git checkout -B master origin/master + git reset --hard upstream/master + git push origin master --force + + - name: Rebase automation onto master + id: rebase + continue-on-error: true + run: | + git checkout -B automation origin/automation + if git rebase master; then + echo "rebase_success=true" >> $GITHUB_OUTPUT + else + git rebase --abort + echo "rebase_success=false" >> $GITHUB_OUTPUT + fi + + - name: Push automation branch + if: steps.rebase.outputs.rebase_success == 'true' + run: | + git push origin automation --force-with-lease + + - name: Create issue if rebase failed + if: steps.rebase.outputs.rebase_success == 'false' + uses: actions/github-script@v7 + with: + script: | + const title = 'Upstream sync failed - manual rebase required'; + const body = `The nightly rebase of \`automation\` onto \`master\` failed due to conflicts. + + **Action required:** + + \`\`\`bash + git fetch origin + git checkout automation + git rebase origin/master + # Resolve conflicts + git push origin automation --force-with-lease + \`\`\` + + Workflow run: ${{ github.server_url }}/${{ github.repository }}/actions/runs/${{ github.run_id }}`; + + const issues = await github.rest.issues.listForRepo({ + owner: context.repo.owner, + repo: context.repo.repo, + state: 'open', + labels: 'upstream-sync' + }); + + if (issues.data.length === 0) { + await github.rest.issues.create({ + owner: context.repo.owner, + repo: context.repo.repo, + title: title, + body: body, + labels: ['upstream-sync', 'needs-attention'] + }); + } diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 000000000000..eda4d0c36f33 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,54 @@ +# Agent Guidelines for Godot Automation Fork + +Guidelines to avoid common mistakes when working on this codebase. + +## C++ Include Requirements + +**Always explicitly include headers for any types or functions you use.** Do not rely on transitive includes - they vary by platform and can cause CI failures on some builds but not others. + +**Includes must be alphabetically sorted.** The project uses clang-format which enforces include ordering. Run `clang-format -style=file -i ` before committing to fix formatting. + +Common includes that must be explicit: + +| Function/Type | Required Include | +|---------------|------------------| +| `callable_mp_static` | `#include "core/object/callable_method_pointer.h"` | +| `callable_mp` | `#include "core/object/callable_method_pointer.h"` | +| `Object::CONNECT_ONE_SHOT` | `#include "core/object/object.h"` (use `Object::` qualifier) | +| `Ref` | `#include "core/object/ref_counted.h"` | +| `Vector`, `List`, `HashMap` | `#include "core/templates/.h"` | + +**`callable_mp_static` syntax differs by function type:** +```cpp +// File-scope static functions: NO '&' +static void my_callback() { ... } +obj->connect("signal", callable_mp_static(my_callback)); + +// Class static methods: USE '&' +obj->connect("signal", callable_mp_static(&ClassName::static_method)); +``` + +## Automation Protocol (remote_debugger.cpp) + +When modifying automation commands in `core/debugger/remote_debugger.cpp`: + +1. **Add `is_inside_tree()` guards** - Always check if the scene tree is initialized before accessing nodes: + ```cpp + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + if (!root->is_inside_tree()) { + // Send empty/error response + return; + } + ``` + +2. **Scene changes are deferred** - `change_scene_to_file()` returns immediately but the scene isn't loaded yet. Connect to `scene_changed` signal if you need to respond after the scene is ready. + +3. **Flush input events** - After injecting input events, call `DisplayServer::get_singleton()->process_events()` to ensure they reach the GUI system in headless mode. + +## Testing Changes + +The CI builds for multiple platforms (Linux, macOS, Windows). A local build passing does not guarantee CI will pass due to: +- Different include resolution +- Platform-specific code paths +- Compiler differences (GCC vs Clang vs MSVC) diff --git a/CHANGELOG.md b/CHANGELOG.md index fdd21aa0983e..72394127d8a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -7,12 +7,12 @@ previous feature release. It is equivalent to the listings on our Changelogs for earlier feature releases are available in their respective Git branches, and linked at the [end of this file](#Past-releases). -## 4.5 - 2025-09-15 +## 4.6 - 2026-01-26 -- [Release announcement](https://godotengine.org/releases/4.5/) -- [Migration guide](https://docs.godotengine.org/en/latest/tutorials/migrating/upgrading_to_godot_4.5.html) -- [Interactive changelog](https://godotengine.github.io/godot-interactive-changelog/#4.5) -- [Breaking changes](https://github.com/godotengine/godot/pulls?q=is%3Apr+is%3Amerged+label%3A%22breaks+compat%22+milestone%3A4.5) +- [Release announcement](https://godotengine.org/releases/4.6/) +- [Migration guide](https://docs.godotengine.org/en/4.6/tutorials/migrating/upgrading_to_godot_4.6.html) +- [Interactive changelog](https://godotengine.github.io/godot-interactive-changelog/#4.6) +- [Breaking changes](https://github.com/godotengine/godot/pulls?q=is%3Apr+is%3Amerged+label%3A%22breaks+compat%22+milestone%3A4.6) Table of contents: - [2D](#2d) @@ -38,8 +38,8 @@ Table of contents: - [Network](#network) - [Particles](#particles) - [Physics](#physics) +- [Platforms](#platforms) - [Plugin](#plugin) -- [Porting](#porting) - [Rendering](#rendering) - [Shaders](#shaders) - [Tests](#tests) @@ -48,2465 +48,2032 @@ Table of contents: #### 2D -- Add warning in scene tree when nested CanvasItems try to clip children ([GH-98949](https://github.com/godotengine/godot/pull/98949)). -- Optimize usability of VisibleOnScreenNotifier2D ([GH-100874](https://github.com/godotengine/godot/pull/100874)). -- Improve usability of `Camera2D` ([GH-101427](https://github.com/godotengine/godot/pull/101427)). -- Draw tilemap coordinate and rectangle size on the screen when using the TileMapLayer's Terrains plugin ([GH-101737](https://github.com/godotengine/godot/pull/101737)). -- Fix wrong canvas camera override panning in the runtime debugger ([GH-103489](https://github.com/godotengine/godot/pull/103489)). -- Path2D prefer control points for outward curve ([GH-103956](https://github.com/godotengine/godot/pull/103956)). -- Polygon2DEditor: Add tool to automatically move center of gravity to origin ([GH-104015](https://github.com/godotengine/godot/pull/104015)). -- Add a dedicated editor for Camera2D limits ([GH-104190](https://github.com/godotengine/godot/pull/104190)). -- Improve/fix `TileMap` and `TileSet` editors UI ([GH-104192](https://github.com/godotengine/godot/pull/104192)). -- Fix applying `TileMapLayer.self_modulate` to tiles ([GH-104677](https://github.com/godotengine/godot/pull/104677)). -- Add null check for SpriteFramesEditor's SpriteFrames ([GH-104830](https://github.com/godotengine/godot/pull/104830)). -- Fix Editor 2D Ruler Text Top-Align ([GH-104993](https://github.com/godotengine/godot/pull/104993)). -- Add ruler width editor setting to 2D editor ([GH-104996](https://github.com/godotengine/godot/pull/104996)). -- Fix editing custom data for tilesets ([GH-105024](https://github.com/godotengine/godot/pull/105024)). -- Allow `Sprite2D` being dragged to change their `region_rect` ([GH-105147](https://github.com/godotengine/godot/pull/105147)). -- Fix process callback state getting overwritten by calls to `set_process_smoothing_speed` ([GH-105473](https://github.com/godotengine/godot/pull/105473)). -- Improve Path2D debug performance ([GH-105606](https://github.com/godotengine/godot/pull/105606)). -- Fix `Camera2D` right and bottom limit to depend on bottom right corner ([GH-105825](https://github.com/godotengine/godot/pull/105825)). -- Fix rotated/flipped tiles rendering origin ([GH-105861](https://github.com/godotengine/godot/pull/105861)). -- Deprecate `ParallaxBackground` and `ParallaxLayer` ([GH-105964](https://github.com/godotengine/godot/pull/105964)). -- Improved Camera2D limits handling when limits are smaller than screen rect ([GH-106180](https://github.com/godotengine/godot/pull/106180)). -- Expose Camera2D current rotation ([GH-106690](https://github.com/godotengine/godot/pull/106690)). -- TileSet: Fix potential crash updating stale atlas source editor toolbar ([GH-106795](https://github.com/godotengine/godot/pull/106795)). -- TileSet: Prevent crash in conversion of invalid tiles from Godot 3.x ([GH-106796](https://github.com/godotengine/godot/pull/106796)). -- TileSet: Fix `-Wmaybe-uninitialized` warning on CompatibilityShapeData ([GH-106864](https://github.com/godotengine/godot/pull/106864)). -- Make TileMapLayer editor match layer's filter ([GH-107001](https://github.com/godotengine/godot/pull/107001)). -- Fix rotated/flipped tiles destination rect calculations ([GH-107080](https://github.com/godotengine/godot/pull/107080)). -- Fix WorldBoundaryShape2D handle when distance is negative ([GH-107103](https://github.com/godotengine/godot/pull/107103)). -- Fix Sprite2D error spam in exported project ([GH-107360](https://github.com/godotengine/godot/pull/107360)). -- Don't put main properties of `AnimatedSprite2D` inside a group ([GH-107528](https://github.com/godotengine/godot/pull/107528)). -- Improve Camera2D limit editing ([GH-107622](https://github.com/godotengine/godot/pull/107622)). -- Fix removing wrong vertices in the Polygon2D editor when points overlap each other ([GH-107932](https://github.com/godotengine/godot/pull/107932)). -- Fix points jumping when dragging starts in the Polygon2D editor ([GH-107933](https://github.com/godotengine/godot/pull/107933)). -- Fix smoothed camera position with limits ([GH-108200](https://github.com/godotengine/godot/pull/108200)). -- Fix error spam caused by `internal_vertex_count` property ([GH-108207](https://github.com/godotengine/godot/pull/108207)). -- Fix selecting wrong vertices in the Polygon2D editor when adding a polygon ([GH-108249](https://github.com/godotengine/godot/pull/108249)). -- Fix lingering grid from TileMapLayer editor ([GH-108477](https://github.com/godotengine/godot/pull/108477)). -- Fix debanding not being used in the 2D editor when enabled in Project Settings ([GH-108950](https://github.com/godotengine/godot/pull/108950)). -- Fix debug rendering in TileMapLayer ([GH-108963](https://github.com/godotengine/godot/pull/108963)). -- Rename Camera2D set_position_smoothing_enabled parameter ([GH-109147](https://github.com/godotengine/godot/pull/109147)). -- Fix `TileMapLayer` terrain preview icons for transformed alternative tiles ([GH-109584](https://github.com/godotengine/godot/pull/109584)). -- Free TileMapLayer debug quadrant meshes when clearing ([GH-109736](https://github.com/godotengine/godot/pull/109736)). +- Fix Atlas Merge Tool crash ([GH-101407](https://github.com/godotengine/godot/pull/101407)). +- Fix smart snapping lines to disappear after using the pivot tool ([GH-105203](https://github.com/godotengine/godot/pull/105203)). +- Add "Use Local Space" option to the 2D editor ([GH-107264](https://github.com/godotengine/godot/pull/107264)). +- Fade TileMap editor overlay when zoomed out ([GH-107573](https://github.com/godotengine/godot/pull/107573)). +- Fix: Tilemap tools not overriding main editor tools ([GH-107843](https://github.com/godotengine/godot/pull/107843)). +- Highlight points on hover in the Polygon2D editor ([GH-107890](https://github.com/godotengine/godot/pull/107890)). +- Reduce TileMapLayerEditor's undo/redo memory usage ([GH-107969](https://github.com/godotengine/godot/pull/107969)). +- Add support for rotating scene tiles in TileMapLayer ([GH-108010](https://github.com/godotengine/godot/pull/108010)). +- Avoid unnecessary updates in `TileMapLayer` ([GH-109243](https://github.com/godotengine/godot/pull/109243)). +- Fix redundant calls of `CanvasItemEditor::_update_lock_and_group_button` on `SceneTreeEditor` node selection ([GH-110320](https://github.com/godotengine/godot/pull/110320)). +- Improve tile source tooltips ([GH-110328](https://github.com/godotengine/godot/pull/110328)). +- Fix nested TileMapLayers highlight rendering in editor ([GH-110768](https://github.com/godotengine/godot/pull/110768)). +- Fix snap Polygon2D editor ([GH-110989](https://github.com/godotengine/godot/pull/110989)). +- Fix game `Camera2D` override from editor and 2D debug templates building ([GH-111149](https://github.com/godotengine/godot/pull/111149)). +- Add zoom to fit functionality to `SpriteFramesEditor` ([GH-111471](https://github.com/godotengine/godot/pull/111471)). +- Fix rotation/scale order in `CanvasItem::draw_set_transform` ([GH-111476](https://github.com/godotengine/godot/pull/111476)). +- Fix Camera2D limit checks for inverted boundaries ([GH-111651](https://github.com/godotengine/godot/pull/111651)). +- Fix "Match Corners" not correctly updating cells when erasing ([GH-112145](https://github.com/godotengine/godot/pull/112145)). +- Fix Polygon2D editor undo crash ([GH-112241](https://github.com/godotengine/godot/pull/112241)). +- Check for tiles outside texture on TileSet atlas settings changes ([GH-112271](https://github.com/godotengine/godot/pull/112271)). +- Fix TileSet editor crash on terrain pick in paint mode ([GH-112349](https://github.com/godotengine/godot/pull/112349)). +- Change `TileSetScenesCollectionSource` raw pointers in the TileSet editor to ref ([GH-112739](https://github.com/godotengine/godot/pull/112739)). +- Prevent translating custom data layers ([GH-112769](https://github.com/godotengine/godot/pull/112769)). +- Fix `TileMapLayer` transformations for `Node2D` scene tiles ([GH-112790](https://github.com/godotengine/godot/pull/112790)). +- FTI: - `Camera2D` accepts resets only after entering tree ([GH-112810](https://github.com/godotengine/godot/pull/112810)). +- Fix `display_placeholder` not persisting ([GH-112828](https://github.com/godotengine/godot/pull/112828)). +- Enable Vertical orientation for TileMap Dock ([GH-113128](https://github.com/godotengine/godot/pull/113128)). +- Fix TileMap Dock button placement and errors ([GH-113594](https://github.com/godotengine/godot/pull/113594)). +- Fix `get_scene_tile_display_placeholder` erroring for transformed scene tiles ([GH-113856](https://github.com/godotengine/godot/pull/113856)). +- Fix incorrect error message placement in TileMap Dock ([GH-113870](https://github.com/godotengine/godot/pull/113870)). +- Fix undo/redo for adding scene tiles ([GH-114604](https://github.com/godotengine/godot/pull/114604)). +- Fix pattern corruption in `TileMapLayer` ([GH-114653](https://github.com/godotengine/godot/pull/114653)). +- Geometry2D: Remove `arc_tolerance` scaling and the comment related to that ([GH-115293](https://github.com/godotengine/godot/pull/115293)). #### 3D -- Allow customizing debug color of Path3D ([GH-82321](https://github.com/godotengine/godot/pull/82321)). -- Curve3D: Fix middle point forward vector when control1=end and control2=begin ([GH-88925](https://github.com/godotengine/godot/pull/88925)). -- Disable debug draw modes in the 3D editor according to current rendering method ([GH-93673](https://github.com/godotengine/godot/pull/93673)). -- Fix `!is_inside_tree` in csg node when reloading a scene ([GH-95414](https://github.com/godotengine/godot/pull/95414)). -- Set correct position of node with `Align Transform with View` in orthographic view ([GH-99099](https://github.com/godotengine/godot/pull/99099)). -- Fix 3D Ruler stuck in viewport if tool mode is switched during measurement ([GH-100420](https://github.com/godotengine/godot/pull/100420)). -- Update cursor instance when calling `set_selected_palette_item` ([GH-100723](https://github.com/godotengine/godot/pull/100723)). -- Fix being able to grab hidden transform gizmo handles ([GH-100813](https://github.com/godotengine/godot/pull/100813)). -- Add "active" state to one of the multiple selected Node3Ds to determine basis in Local mode ([GH-102176](https://github.com/godotengine/godot/pull/102176)). -- Fix some global-space bugs in `RemoteTransform3D._update_remote` and add some optimizations ([GH-102223](https://github.com/godotengine/godot/pull/102223)). -- Editor: Improve capsule gizmos ([GH-102292](https://github.com/godotengine/godot/pull/102292)). -- Do not commit gizmo handles if no changes were made ([GH-102317](https://github.com/godotengine/godot/pull/102317)). -- Allow rotating selected cells in GridMap ([GH-103020](https://github.com/godotengine/godot/pull/103020)). -- Add UndoRedo actions to preview sun/environment popup ([GH-103053](https://github.com/godotengine/godot/pull/103053)). -- Unify CSGPolygon3D gizmos with the other geometries ([GH-103301](https://github.com/godotengine/godot/pull/103301)). -- Use physical keys for the Q/W/E/R 3D editor shortcuts ([GH-103533](https://github.com/godotengine/godot/pull/103533)). -- Make Game view follow more editor settings ([GH-103758](https://github.com/godotengine/godot/pull/103758)). -- Improve cylinder gizmo performance ([GH-103903](https://github.com/godotengine/godot/pull/103903)). -- Path3D prefer control points for outward curve ([GH-104058](https://github.com/godotengine/godot/pull/104058)). -- Improve `GPUParticlesCollision3DGizmoPlugin` performance ([GH-104172](https://github.com/godotengine/godot/pull/104172)). -- Unbind `CSGShape::_update_shape()` and make it public ([GH-104206](https://github.com/godotengine/godot/pull/104206)). -- Fix `GridMap` shortcuts being triggered during freelook (mouse captured) ([GH-104213](https://github.com/godotengine/godot/pull/104213)). -- Fix 3D view menu gizmo icons being broken in empty scene ([GH-104475](https://github.com/godotengine/godot/pull/104475)). -- Allow multiple EditorNode3DGizmo collision meshes ([GH-104631](https://github.com/godotengine/godot/pull/104631)). -- Fix missing tooltips on "Advanced Import Settings for Scene" window ([GH-104804](https://github.com/godotengine/godot/pull/104804)). -- Allow higher freelook base speed values in the 3D editor settings ([GH-104884](https://github.com/godotengine/godot/pull/104884)). -- Fix gizmos from 3D editor plugins not applying changes to locked nodes ([GH-104945](https://github.com/godotengine/godot/pull/104945)). -- Optimize PrimitiveMesh creation by avoiding CoW behavior and dynamic memory allocations ([GH-105264](https://github.com/godotengine/godot/pull/105264)). -- Fix GridMap OctantKey cell rasterization ([GH-105329](https://github.com/godotengine/godot/pull/105329)). -- Fix light theme gizmo icons in the 3D editor appearing too dark ([GH-105487](https://github.com/godotengine/godot/pull/105487)). -- Optimize GridMap rendering scenario quadruple-getters ([GH-105563](https://github.com/godotengine/godot/pull/105563)). -- Replace GridMap legacy use of `List` with `LocalVector` ([GH-105565](https://github.com/godotengine/godot/pull/105565)). -- Improve and optimize lightmap probe gizmo creation ([GH-105568](https://github.com/godotengine/godot/pull/105568)). -- Fix incorrect transform when editor camera is moved externally ([GH-105613](https://github.com/godotengine/godot/pull/105613)). -- Fix GridMap move selection crashing on invalid MeshLibrary item ([GH-105664](https://github.com/godotengine/godot/pull/105664)). -- Gave billboarded sprites and labels more fitting AABBs ([GH-105785](https://github.com/godotengine/godot/pull/105785)). -- Fix for Node3D request gizmos multiple times ([GH-106070](https://github.com/godotengine/godot/pull/106070)). -- Fix Quaternion arc constructor tolerance ([GH-106337](https://github.com/godotengine/godot/pull/106337)). -- Show `Curve3D` point tilt in degrees in inspector ([GH-106605](https://github.com/godotengine/godot/pull/106605)). -- FTI - `global_transform_interpolated()` on demand for invisible nodes ([GH-107308](https://github.com/godotengine/godot/pull/107308)). -- Add a LightmapProbe gizmo size editor setting ([GH-107382](https://github.com/godotengine/godot/pull/107382)). -- Fix missing gizmo update when selection changes outside of 3D view ([GH-107458](https://github.com/godotengine/godot/pull/107458)). -- SceneTreeFTI: - miscellaneous speedups ([GH-107485](https://github.com/godotengine/godot/pull/107485)). -- Fix freelook in 3D when multiple viewports are open ([GH-107530](https://github.com/godotengine/godot/pull/107530)). -- Clear cache when setting Mesh's surfaces ([GH-107585](https://github.com/godotengine/godot/pull/107585)). -- Fix `MeshInstance3D::get_active_material()` error on empty mesh or empty surfaces ([GH-107691](https://github.com/godotengine/godot/pull/107691)). -- Gridmap editor: Avoid extra mesh instantiation when setting clipboard data ([GH-108026](https://github.com/godotengine/godot/pull/108026)). -- Fix `Mesh.generate_triangle_mesh` when using `PRIMITIVE_TRIANGLE_STRIP` ([GH-108038](https://github.com/godotengine/godot/pull/108038)). -- Fix sphere gizmo handle position ([GH-108494](https://github.com/godotengine/godot/pull/108494)). -- Move last four 3D files to 3D folder and move physics gizmos to their own physics folder ([GH-108523](https://github.com/godotengine/godot/pull/108523)). -- Fix missing 3d gizmos ([GH-109029](https://github.com/godotengine/godot/pull/109029)). -- Fix editor segfault when using a `Path3D` without a `Curve3D` ([GH-109059](https://github.com/godotengine/godot/pull/109059)). -- Stop clearing editor_plugin_screen on script edit ([GH-109176](https://github.com/godotengine/godot/pull/109176)). -- Fix `BoneAttachment3D` getting global transform of external skeleton before it `is_inside_tree()` ([GH-109444](https://github.com/godotengine/godot/pull/109444)). -- Fix node can't be rotated by holding ctrl/command while in select mode ([GH-109465](https://github.com/godotengine/godot/pull/109465)). -- Fix cinematic preview causing the editor redraw continuously and aspect ratio not updating in camera preview ([GH-109469](https://github.com/godotengine/godot/pull/109469)). -- Fix transforms trying to continue after a cancel ([GH-109684](https://github.com/godotengine/godot/pull/109684)). -- Prevent held escape key from unselecting nodes after canceling a transform ([GH-109733](https://github.com/godotengine/godot/pull/109733)). -- Create an undo/redo action when pinning a SoftBody3D point in the editor ([GH-109828](https://github.com/godotengine/godot/pull/109828)). +- Commit transforms done with editor gizmo on tool mode switch ([GH-86930](https://github.com/godotengine/godot/pull/86930)). +- Fix 3D editor Emulate Numpad setting having no effect when previewing a camera ([GH-93724](https://github.com/godotengine/godot/pull/93724)). +- Get `Node3D.global_rotation` from orthonormalized global basis ([GH-95075](https://github.com/godotengine/godot/pull/95075)). +- Rename Select Mode to Transform Mode, and create a new Select Mode without transform gizmo ([GH-101168](https://github.com/godotengine/godot/pull/101168)). +- Fix viewport rotation gizmo aligned axis reversing ([GH-101209](https://github.com/godotengine/godot/pull/101209)). +- Move editor viewport gizmos visibility logic out of process notification ([GH-102020](https://github.com/godotengine/godot/pull/102020)). +- Remove redundant line when toggling cinematic preview ([GH-102021](https://github.com/godotengine/godot/pull/102021)). +- Condition editor viewport nav modifier checks on freelook / mouse is captured ([GH-102055](https://github.com/godotengine/godot/pull/102055)). +- TextureEditors: Compile shader/material only once ([GH-104488](https://github.com/godotengine/godot/pull/104488)). +- GridMap: fix cell scale not applying to the cursor mesh ([GH-104510](https://github.com/godotengine/godot/pull/104510)). +- Add Bresenham Line Algorithm to GridMap Drawing ([GH-105292](https://github.com/godotengine/godot/pull/105292)). +- Fix ghost collisions in `segment_intersects_convex()` ([GH-106084](https://github.com/godotengine/godot/pull/106084)). +- Change snap settings to not use LineEdits ([GH-106684](https://github.com/godotengine/godot/pull/106684)). +- Always use a dark background for 3D editor overlays even with light theme ([GH-107154](https://github.com/godotengine/godot/pull/107154)). +- Visual feedback update for viewport rotation gizmo ([GH-107343](https://github.com/godotengine/godot/pull/107343)). +- Do not require editor restart when changing Path 3d Tilt Disk Size setting ([GH-108546](https://github.com/godotengine/godot/pull/108546)). +- Do not require editor restart when changing manipulator gizmo opacity setting ([GH-108549](https://github.com/godotengine/godot/pull/108549)). +- Create a rotation arc showing accumulated rotation when using transform gizmo ([GH-108576](https://github.com/godotengine/godot/pull/108576)). +- Make rotation gizmo white outline a 4th handle that rotates around the camera's view-axis ([GH-108608](https://github.com/godotengine/godot/pull/108608)). +- Fix jump when cutting a selection in Gridmap ([GH-108743](https://github.com/godotengine/godot/pull/108743)). +- Remove spurious `Curve3D` `changed` signals ([GH-109220](https://github.com/godotengine/godot/pull/109220)). +- Move `Lock View Rotation` label logic out of process notification ([GH-109490](https://github.com/godotengine/godot/pull/109490)). +- Remove unused editor setting `editors/grid_map/palette_min_width` ([GH-109582](https://github.com/godotengine/godot/pull/109582)). +- GLTF export: use ORM texture for occlusion/metallicRoughnessTexture if it exists ([GH-109845](https://github.com/godotengine/godot/pull/109845)). +- Fix `GridMap` Move Action Undo/Redo/Cancel ([GH-109878](https://github.com/godotengine/godot/pull/109878)). +- Fix numpad emulation in 3d navigation shortcuts ([GH-110428](https://github.com/godotengine/godot/pull/110428)). +- Remove `pixel_size` precision limit in Sprite3D ([GH-111491](https://github.com/godotengine/godot/pull/111491)). +- Implement orbit snapping in 3D viewport ([GH-111509](https://github.com/godotengine/godot/pull/111509)). +- Improve Transform dialog ([GH-111600](https://github.com/godotengine/godot/pull/111600)). +- Fix the material preview sphere model ([GH-112046](https://github.com/godotengine/godot/pull/112046)). +- Fix `CollisionPolygon3D` debug shape rendering ([GH-112285](https://github.com/godotengine/godot/pull/112285)). +- Fix GridMap `cursor_instance` transparency error spam ([GH-112301](https://github.com/godotengine/godot/pull/112301)). +- Remove undefined method `Skeleton3D::remove_bone` ([GH-112402](https://github.com/godotengine/godot/pull/112402)). +- Don't redraw `Sprite3D`/`AnimatedSprite3D` outside the tree ([GH-112593](https://github.com/godotengine/godot/pull/112593)). +- Add MeshInstance3D upgrade code ([GH-112607](https://github.com/godotengine/godot/pull/112607)). +- Fix wrong AABB when selecting Node3D gizmo in editor ([GH-112666](https://github.com/godotengine/godot/pull/112666)). +- Fix preview CSG interfering with itself during drag and drop ([GH-112861](https://github.com/godotengine/godot/pull/112861)). +- Default the 3D editor to Transform mode to restore 4.5 behavior ([GH-113458](https://github.com/godotengine/godot/pull/113458)). +- Prevent BonePropertiesEditor crash due to skeleton use-after-release ([GH-113631](https://github.com/godotengine/godot/pull/113631)). +- Node3DEditorViewport: Prevent crash while handling input ([GH-113895](https://github.com/godotengine/godot/pull/113895)). +- Debugger: Fix 3D disabled builds ([GH-113962](https://github.com/godotengine/godot/pull/113962)). +- Fix `sorting_offset` property flags for `Decal` ([GH-114335](https://github.com/godotengine/godot/pull/114335)). +- Fix rotation gizmo line position ([GH-114408](https://github.com/godotengine/godot/pull/114408)). +- Fix crash when selecting SplineIK3D ([GH-114668](https://github.com/godotengine/godot/pull/114668)). +- Keep other parts of transform gizmo visible when rotating in local mode ([GH-114714](https://github.com/godotengine/godot/pull/114714)). +- Fix `Sprite3D` modulate propagation on reparenting ([GH-115037](https://github.com/godotengine/godot/pull/115037)). #### Animation -- Allow double-click within tracks to set a new play position ([GH-92141](https://github.com/godotengine/godot/pull/92141)). -- Add option to auto tangent new bezier points in animation editor ([GH-95564](https://github.com/godotengine/godot/pull/95564)). -- Support hiding functions calls in Method Tracks ([GH-96421](https://github.com/godotengine/godot/pull/96421)). -- Add editor setting for default animation step ([GH-98414](https://github.com/godotengine/godot/pull/98414)). -- Add selection box movement/scaling to the animation bezier editor ([GH-100470](https://github.com/godotengine/godot/pull/100470)). -- Implement `BoneConstraint3D` with `CopyTransform`/`ConvertTransform`/`Aim` Modifiers ([GH-100984](https://github.com/godotengine/godot/pull/100984)). -- Fix opacity when deleting or renaming a node in AnimationNodeStateMachine ([GH-101179](https://github.com/godotengine/godot/pull/101179)). -- Improve wording on recursive transition detection warning ([GH-101582](https://github.com/godotengine/godot/pull/101582)). -- Add external force property to `SpringBoneSimulator3D` ([GH-101633](https://github.com/godotengine/godot/pull/101633)). -- Change `NodeOneShot` fading to uses self delta instead of input delta ([GH-101792](https://github.com/godotengine/godot/pull/101792)). -- Add editor setting for FPS mode and compat ([GH-102189](https://github.com/godotengine/godot/pull/102189)). -- Add node started/finished signals for animation state machines ([GH-102398](https://github.com/godotengine/godot/pull/102398)). -- Add animation filtering to animation editor ([GH-103130](https://github.com/godotengine/godot/pull/103130)). -- Fix `Tween.is_valid()` returning `true` after calling `kill()` ([GH-103198](https://github.com/godotengine/godot/pull/103198)). -- Add select node shortcut to list view in Animation Player Editor ([GH-103295](https://github.com/godotengine/godot/pull/103295)). -- Add alphabetical sorting to Animation Player ([GH-103584](https://github.com/godotengine/godot/pull/103584)). -- Add `delta` argument to `SkeletonModifier3D._process_modification()` as `_process_modification_with_delta(delta)` and expose `advance()` in `Skeleton3D` ([GH-103639](https://github.com/godotengine/godot/pull/103639)). -- Fix console errors and crash in cleanup code for PhysicalBoneSimulator3D ([GH-103921](https://github.com/godotengine/godot/pull/103921)). -- Improve State Machine BlendTree node to properly display conditions ([GH-103986](https://github.com/godotengine/godot/pull/103986)). -- Fix missing `process_state` error in blend spaces ([GH-104018](https://github.com/godotengine/godot/pull/104018)). -- Add `is_inside_tree()` check to SpringBoneSimulator3D ([GH-104167](https://github.com/godotengine/godot/pull/104167)). -- Fix rest translation space in `LookAtModifier3D` ([GH-104217](https://github.com/godotengine/godot/pull/104217)). -- Remove incorrect errors in AnimationMixer ([GH-104419](https://github.com/godotengine/godot/pull/104419)). -- Add correct cursors when scaling bezier keys with box scaling ([GH-104436](https://github.com/godotengine/godot/pull/104436)). -- Add bone name/idx matching validation and lacked virtual methods to `SkeletonModifier3D` ([GH-104560](https://github.com/godotengine/godot/pull/104560)). -- Fix final tween value with custom interpolator ([GH-104578](https://github.com/godotengine/godot/pull/104578)). -- Add axis snapping for bezier key move in `Animation Player` ([GH-104879](https://github.com/godotengine/godot/pull/104879)). -- Move `SpringBoneSimulator3D` registration to the outside of Physics3D's environment ([GH-104998](https://github.com/godotengine/godot/pull/104998)). -- Fix EditorSpinSlider Grabber Scaling ([GH-105039](https://github.com/godotengine/godot/pull/105039)). -- Fix `current_animation_changed` emission on animation finish ([GH-105089](https://github.com/godotengine/godot/pull/105089)). -- Remove dead code in AnimationStateMachine editor ([GH-105135](https://github.com/godotengine/godot/pull/105135)). -- Remove error print in the Animation getter ([GH-105174](https://github.com/godotengine/godot/pull/105174)). -- Expose `AnimationNode(StateMachine/BlendTree).get_node_list()` ([GH-105552](https://github.com/godotengine/godot/pull/105552)). -- Fix the Animation Optimization results for Nearest and Cubic Interpolation ([GH-105644](https://github.com/godotengine/godot/pull/105644)). -- Sort animation nodes in `AnimationNodeBlendSpace2DEditor` popup menu ([GH-105658](https://github.com/godotengine/godot/pull/105658)). -- Make silhouette fixer to use arc `Quaternion` constructor instead of `looking_at()` ([GH-105706](https://github.com/godotengine/godot/pull/105706)). -- Fix scaling from cursor in AnimationPlayer ([GH-105715](https://github.com/godotengine/godot/pull/105715)). -- Use AHashMap for RBMap nodes and HashMap input_activity ([GH-105789](https://github.com/godotengine/godot/pull/105789)). -- Add optional rotation axis & Fix initial pose with rotation axis in SpringBone ([GH-105888](https://github.com/godotengine/godot/pull/105888)). -- Fix rest update process by dirty flag to not take into account pose dirty flag in `Skeleton3D` ([GH-105920](https://github.com/godotengine/godot/pull/105920)). -- Fix creating outline for skinned meshes ([GH-106076](https://github.com/godotengine/godot/pull/106076)). -- Use a type-hinted dictionary for AnimationLibrary's `libraries` property ([GH-106111](https://github.com/godotengine/godot/pull/106111)). -- Make sure clicking AnimationTree node open the state machine editor not the track editor ([GH-106334](https://github.com/godotengine/godot/pull/106334)). -- Implement method lookup for method tracks ([GH-106524](https://github.com/godotengine/godot/pull/106524)). -- Fix fade out duration to extend a bit take into account current delta in NodeOneShot ([GH-106567](https://github.com/godotengine/godot/pull/106567)). -- New test for animation blend tree ([GH-106575](https://github.com/godotengine/godot/pull/106575)). -- Remove unnecessary calling `_validate_property()` in the core from all extended classes ([GH-106622](https://github.com/godotengine/godot/pull/106622)). -- Fix Heap buffer overflow in Animation::_find() ([GH-106654](https://github.com/godotengine/godot/pull/106654)). -- Refactor `BoneAttachment` property registration ([GH-106841](https://github.com/godotengine/godot/pull/106841)). -- Implement `ModifierBoneTarget3D` which can be target of the other `SkeletonModifier3D`s ([GH-106846](https://github.com/godotengine/godot/pull/106846)). -- Fix ambiguous AnimationNode's parameter type in default value and make `validate_type_match()` static function ([GH-107005](https://github.com/godotengine/godot/pull/107005)). -- Fix animation track filter size bug ([GH-107084](https://github.com/godotengine/godot/pull/107084)). -- Add default parameter for AnimationNode as super class ([GH-107171](https://github.com/godotengine/godot/pull/107171)). -- Fix animation track inserted path and key type ([GH-107241](https://github.com/godotengine/godot/pull/107241)). -- Fix AnimationPlayer finished state in the editor ([GH-107244](https://github.com/godotengine/godot/pull/107244)). -- Fix editing/removal of bone meta ([GH-107546](https://github.com/godotengine/godot/pull/107546)). -- Skip killed/invalid subtween ([GH-107690](https://github.com/godotengine/godot/pull/107690)). -- Fix animation keying not working with toggleable inspector sections ([GH-107919](https://github.com/godotengine/godot/pull/107919)). -- Block Tween `custom_step()` during step ([GH-108004](https://github.com/godotengine/godot/pull/108004)). -- Remove PropertyTweener start warning ([GH-108410](https://github.com/godotengine/godot/pull/108410)). -- Fix SpringBone3D being unintentionally disabled ([GH-108887](https://github.com/godotengine/godot/pull/108887)). -- Fix glitched animation key after canceled dragging ([GH-109271](https://github.com/godotengine/godot/pull/109271)). -- Fix name included in animation when saved from slice in scene importer ([GH-109593](https://github.com/godotengine/godot/pull/109593)). -- Fix incorrect `blend_position` values in BlendSpace editor after dragging point ([GH-109777](https://github.com/godotengine/godot/pull/109777)). -- Correctly hide BlendSpace editor error panel on load ([GH-109794](https://github.com/godotengine/godot/pull/109794)). -- Process skeleton modifiers when the skeleton is marked as dirty ([GH-109841](https://github.com/godotengine/godot/pull/109841)). -- Fix overly aggressive focus grabbing by StateMachine and BlendSpaces ([GH-109881](https://github.com/godotengine/godot/pull/109881)). -- Add missing bone name suggestions in ModifierBoneTarget3D ([GH-109905](https://github.com/godotengine/godot/pull/109905)). -- Move Skeleton3D init process (for dirty flags) into `POST_ENTER_TREE` from `ENTER_TREE` ([GH-110145](https://github.com/godotengine/godot/pull/110145)). +- Fix animation loop import hints becoming lost ([GH-91634](https://github.com/godotengine/godot/pull/91634)). +- Add tests for `AnimationPlayer` ([GH-92649](https://github.com/godotengine/godot/pull/92649)). +- Use `LocalVector` in `Animation` ([GH-101285](https://github.com/godotengine/godot/pull/101285)). +- Minor Animation Player workflow enhancements ([GH-103416](https://github.com/godotengine/godot/pull/103416)). +- Fix issue of `AnimationPlayer` hiding bezier editor when re-selecting it ([GH-104371](https://github.com/godotengine/godot/pull/104371)). +- Add `interpolate_via_rest()` static func to Animation class ([GH-107423](https://github.com/godotengine/godot/pull/107423)). +- Display AnimationTree editor warnings when the node is disabled ([GH-107468](https://github.com/godotengine/godot/pull/107468)). +- Add toggle for inserting keys/markers at current time vs mouse cursor's position ([GH-107511](https://github.com/godotengine/godot/pull/107511)). +- Add ability to copy and paste animations in SpriteFrames ([GH-107887](https://github.com/godotengine/godot/pull/107887)). +- Add "Go to Next/Previous Keyframe" to Animation Edit menu ([GH-107959](https://github.com/godotengine/godot/pull/107959)). +- Propagate `Tween.kill()` to subtweens ([GH-108227](https://github.com/godotengine/godot/pull/108227)). +- Fix missing shortcuts for play buttons in SpriteFrames Editor ([GH-109422](https://github.com/godotengine/godot/pull/109422)). +- Allow reconnecting AnimationNodeStateMachine transitions ([GH-109534](https://github.com/godotengine/godot/pull/109534)). +- Correctly reset StateMachine opacity when a node is played or renamed ([GH-109605](https://github.com/godotengine/godot/pull/109605)). +- Make BlendSpace selection tool consistent with StateMachine/BlendTree functionality ([GH-109792](https://github.com/godotengine/godot/pull/109792)). +- Double-click BlendSpace points to open their editor ([GH-109839](https://github.com/godotengine/godot/pull/109839)). +- Expose `get_fading_...` methods for `AnimationNodeStateMachinePlayback` ([GH-109986](https://github.com/godotengine/godot/pull/109986)). +- Add `SkeletonModifier3D` IKs as `IKModifier3D` ([GH-110120](https://github.com/godotengine/godot/pull/110120)). +- Improve deselection in AnimationTree editors and inspector ([GH-110131](https://github.com/godotengine/godot/pull/110131)). +- Trim -loop & -cycle from animations during Godot 3 to 4 conversion ([GH-110188](https://github.com/godotengine/godot/pull/110188)). +- Fix Skeleton2D TwoBoneIK and LookAt mirroring ([GH-110298](https://github.com/godotengine/godot/pull/110298)). +- Add option to `BoneConstraint3D` to make reference target allow to set `Node3D` ([GH-110336](https://github.com/godotengine/godot/pull/110336)). +- Add option to keying modified transform by `SkeletonModifier3D` ([GH-110376](https://github.com/godotengine/godot/pull/110376)). +- Fix `_validate_property()` in `RetargetModifier3D` ([GH-110380](https://github.com/godotengine/godot/pull/110380)). +- Optimize `Animation::_track_update_hash` ([GH-110400](https://github.com/godotengine/godot/pull/110400)). +- Fix read-only state for Skeleton and Inspector ([GH-110487](https://github.com/godotengine/godot/pull/110487)). +- Change AnimationLibrary serialization to avoid using Dictionary ([GH-110502](https://github.com/godotengine/godot/pull/110502)). +- Fix Reset on Save corrupt poses if scene has multiple Skeletons ([GH-110506](https://github.com/godotengine/godot/pull/110506)). +- Ensure the AnimationPlayer emits `animation_finished` for every animation ([GH-110508](https://github.com/godotengine/godot/pull/110508)). +- Fix imported animation warning labeled as Imported Scene ([GH-110619](https://github.com/godotengine/godot/pull/110619)). +- Allow resizing the length of animations by dragging the timeline ([GH-110623](https://github.com/godotengine/godot/pull/110623)). +- Change list of Tweeners from Vector to LocalVector ([GH-110656](https://github.com/godotengine/godot/pull/110656)). +- Show marker lines/sections in the animation bezier editor ([GH-110676](https://github.com/godotengine/godot/pull/110676)). +- Fix AnimationPlayer to use StringName instead of String in the exposed API ([GH-110767](https://github.com/godotengine/godot/pull/110767)). +- Add solo/hide/lock/delete buttons to node groups in bezier track editor ([GH-110866](https://github.com/godotengine/godot/pull/110866)). +- Fix backward/pingpong root motion in AnimationTree ([GH-110982](https://github.com/godotengine/godot/pull/110982)). +- Make extended SkeletonModifiers retrieve interpolated global transform ([GH-110987](https://github.com/godotengine/godot/pull/110987)). +- Expose `is_valid()` from `AnimationPlayer` to make detecting paused animations possible ([GH-111178](https://github.com/godotengine/godot/pull/111178)). +- Add LimitAngularVelocityModifier3D ([GH-111184](https://github.com/godotengine/godot/pull/111184)). +- Fix incorrect AnimationNodeAnimation `timeline_length` description ([GH-111251](https://github.com/godotengine/godot/pull/111251)). +- Make StateMachinePlayback set `Start` state as default in constructor ([GH-111325](https://github.com/godotengine/godot/pull/111325)). +- Add relative option to LookAt/AimModifier3D ([GH-111367](https://github.com/godotengine/godot/pull/111367)). +- Change Vector to LocalVector in SpringBoneSimulator3D ([GH-111378](https://github.com/godotengine/godot/pull/111378)). +- Set step before set value, to fix animation length issue ([GH-111398](https://github.com/godotengine/godot/pull/111398)). +- Fix crash when rearranging filtered animation tracks ([GH-111427](https://github.com/godotengine/godot/pull/111427)). +- Seek to beginning of section if current playback position is after its end ([GH-111517](https://github.com/godotengine/godot/pull/111517)). +- Fix unwanted blend position movement ([GH-111803](https://github.com/godotengine/godot/pull/111803)). +- Allow Spring / IK to set mutable bone axes ([GH-111815](https://github.com/godotengine/godot/pull/111815)). +- Improve validation for adding transition in StateMachine ([GH-111935](https://github.com/godotengine/godot/pull/111935)). +- Remember animation snapping state ([GH-111952](https://github.com/godotengine/godot/pull/111952)). +- Separate branching ping-pong time and delta ([GH-112047](https://github.com/godotengine/godot/pull/112047)). +- Add "Abort on Reset" property to AnimationNodeOneShot ([GH-112054](https://github.com/godotengine/godot/pull/112054)). +- Track groups in Animation tab hover highlight ([GH-112148](https://github.com/godotengine/godot/pull/112148)). +- Improve Bezier Default Mode button in Animation dock ([GH-112231](https://github.com/godotengine/godot/pull/112231)). +- Remove default skeleton path in MeshInstance3D ([GH-112267](https://github.com/godotengine/godot/pull/112267)). +- Fix NodeOneShot doesn't reset correctly ([GH-112450](https://github.com/godotengine/godot/pull/112450)). +- Add Deterministic option to IterateIK3D ([GH-112524](https://github.com/godotengine/godot/pull/112524)). +- Fix custom audio track blend flag on reimport ([GH-112563](https://github.com/godotengine/godot/pull/112563)). +- Move the line of calling `animation_finished` signal to ensure stopping ([GH-112571](https://github.com/godotengine/godot/pull/112571)). +- Fix JacobianIK to apply gradient correctly ([GH-112573](https://github.com/godotengine/godot/pull/112573)). +- Make AnimationLibrary use RBMap instead of HashMap ([GH-112692](https://github.com/godotengine/godot/pull/112692)). +- Fix error in `BlendSpace2D` when selecting blend position tool ([GH-112710](https://github.com/godotengine/godot/pull/112710)). +- Move the line of importing JointLimitation3D to 3D from Physics3D ([GH-112856](https://github.com/godotengine/godot/pull/112856)). +- Add an argument `p_reset` to `SpringBoneSimulator3D::_make_joints_dirty()` ([GH-112867](https://github.com/godotengine/godot/pull/112867)). +- Fix mutable bone axes process in TwoBoneIK3D ([GH-113055](https://github.com/godotengine/godot/pull/113055)). +- Fix AnimationMixer error spam by respecting cache validity on invalid `root_node` ([GH-113140](https://github.com/godotengine/godot/pull/113140)). +- Fix empty 2D skeleton modification keeps printing error messages ([GH-113176](https://github.com/godotengine/godot/pull/113176)). +- Add BoneTwistDisperser3D to propagate IK target's twist ([GH-113284](https://github.com/godotengine/godot/pull/113284)). +- Remove `is_penetrated` check from IK as role overlap/excessive behavior ([GH-113285](https://github.com/godotengine/godot/pull/113285)). +- Add shortcuts in tooltips to the animation editor's play/pause buttons ([GH-113415](https://github.com/godotengine/godot/pull/113415)). +- Use physical key shortcuts for the animation editor's play/pause buttons ([GH-113416](https://github.com/godotengine/godot/pull/113416)). +- Fix truncation of node name in bezier animation editor ([GH-113500](https://github.com/godotengine/godot/pull/113500)). +- Fix Animation Editor erroring when animating SpriteAnimation3D `frame` but not `animation` ([GH-113786](https://github.com/godotengine/godot/pull/113786)). +- Fix the clipping of keys when moving keys ([GH-113903](https://github.com/godotengine/godot/pull/113903)). +- Fix Marker Name covered by AnimationPlayer track backgrounds ([GH-114056](https://github.com/godotengine/godot/pull/114056)). +- Return at invalid skeleton in ChainIK3D before updating mutable info ([GH-114062](https://github.com/godotengine/godot/pull/114062)). +- Fix AnimationMixer handling disabled track in RESET ([GH-114176](https://github.com/godotengine/godot/pull/114176)). +- Fix setter for readonly bone name in the joint array and add null check in IKModifier3D ([GH-114240](https://github.com/godotengine/godot/pull/114240)). +- Change `radius_range` to `angle` to indicate hole size of `JointLimitationCone3D` ([GH-114395](https://github.com/godotengine/godot/pull/114395)). +- Fix IKModifier/JointLimitation gizmo on root bone and dirty handling ([GH-114431](https://github.com/godotengine/godot/pull/114431)). +- Ensure `clear_animation_instances()` after blending frame result ([GH-114458](https://github.com/godotengine/godot/pull/114458)). +- Fix AnimationPlayerEditor failed to fetch AnimationTree's libraries ([GH-114482](https://github.com/godotengine/godot/pull/114482)). +- Fix discrete key is not processed by `advance_on_start` in AnimationNode ([GH-114487](https://github.com/godotengine/godot/pull/114487)). +- Make `base_height_adjustment` apply to global position & Fix false warning `Animated extra bone between mapped bones detected` ([GH-114543](https://github.com/godotengine/godot/pull/114543)). +- Tweak `SkeletonModifier3D` document for `_process_modification_with_delta()` and `JacobianIK3D` icon ([GH-114580](https://github.com/godotengine/godot/pull/114580)). +- Hide animation library properties in inspector ([GH-114582](https://github.com/godotengine/godot/pull/114582)). +- Fix animation editor sometimes not processing on scene change ([GH-114603](https://github.com/godotengine/godot/pull/114603)). +- Fix Skeleton3D edit mode usability issues ([GH-114752](https://github.com/godotengine/godot/pull/114752)). +- Fix animation library serialization compatibility for 4.5 projects ([GH-114844](https://github.com/godotengine/godot/pull/114844)). +- Remove dead definition `get_animation_libraries()` from AnimationMixer ([GH-114897](https://github.com/godotengine/godot/pull/114897)). +- Fix wrong play position for the `AnimationMarkerEdit` ([GH-114935](https://github.com/godotengine/godot/pull/114935)). +- Allow `ONE_SHOT_REQUEST_FIRE` to override OneShot abortion ([GH-115175](https://github.com/godotengine/godot/pull/115175)). +- Tweak IKModifier3D docs and comment ([GH-115303](https://github.com/godotengine/godot/pull/115303)). #### Assetlib -- Fix wrong "location" substring matching when HTTP status is 301 or 302 ([GH-108387](https://github.com/godotengine/godot/pull/108387)). +- Fix author names not showing up in the AssetLib ([GH-112208](https://github.com/godotengine/godot/pull/112208)). +- Fix extra spacing in author names when opening the asset dialog ([GH-113017](https://github.com/godotengine/godot/pull/113017)). #### Audio -- Fix audio input gets muted after a while on android ([GH-93200](https://github.com/godotengine/godot/pull/93200)). -- Editor: Move thread name assignment in audio preview ([GH-98818](https://github.com/godotengine/godot/pull/98818)). -- Add metadata tags to WAV and OGG audio streams ([GH-99504](https://github.com/godotengine/godot/pull/99504)). -- Add "Mute Game" toggle in Game view ([GH-99555](https://github.com/godotengine/godot/pull/99555)). -- Reduce memory overhead of `save_to_wav` ([GH-100559](https://github.com/godotengine/godot/pull/100559)). -- AudioStreamPlaybackWAV: Inherit from `Resampled` ([GH-100652](https://github.com/godotengine/godot/pull/100652)). -- Implement seek operation for Theora video files, improve multi-channel audio resampling ([GH-102360](https://github.com/godotengine/godot/pull/102360)). -- Fix AudioServer missing deletes ([GH-103897](https://github.com/godotengine/godot/pull/103897)). -- Set interactive music streams as meta streams ([GH-104054](https://github.com/godotengine/godot/pull/104054)). -- Fix AudioEffectPitchShift issues when `pitch_scale` is set to 1 ([GH-104090](https://github.com/godotengine/godot/pull/104090)). -- Optimize reverb by removing stray `volatile` from the `undenormalize` function signature ([GH-104239](https://github.com/godotengine/godot/pull/104239)). -- Add support for `Mute Game` toggle in the Android Editor ([GH-104409](https://github.com/godotengine/godot/pull/104409)). -- Fix AudioStreamPlayer3D stereo panning issue ([GH-104853](https://github.com/godotengine/godot/pull/104853)). -- Enable TTS on demand, instead of fully disabling it when project setting is not set ([GH-104873](https://github.com/godotengine/godot/pull/104873)). -- Add an actual name for Ogg Vorbis importer visible name ([GH-105152](https://github.com/godotengine/godot/pull/105152)). -- Allow theming audio buses ([GH-105321](https://github.com/godotengine/godot/pull/105321)). -- AudioEffectPitchShift: 3rd attempt at fixing `-Wstringop-overflow` warning ([GH-105744](https://github.com/godotengine/godot/pull/105744)). -- Return the length of the playing stream for AudioStreamRandomizer ([GH-105952](https://github.com/godotengine/godot/pull/105952)). -- Fix AudioStreamPlayer3D's `layer_mask` property using the wrong property hint (+ misc related fixes) ([GH-106000](https://github.com/godotengine/godot/pull/106000)). -- Hide scrollbar in the audio stream importer dialog when unneeded ([GH-106423](https://github.com/godotengine/godot/pull/106423)). -- AudioStreamWAV: Inline tag remap inside load ([GH-107250](https://github.com/godotengine/godot/pull/107250)). -- Fix audio name doesn't appear in exports of child classes of `AudioStream` ([GH-107598](https://github.com/godotengine/godot/pull/107598)). -- Fix broken WAV info list tag parsing ([GH-107605](https://github.com/godotengine/godot/pull/107605)). -- Use TightLocalVector for AudioStreamWAV/MP3 ([GH-107790](https://github.com/godotengine/godot/pull/107790)). -- Web: Fix Webkit leak caused by the position reporting audio worklets ([GH-107948](https://github.com/godotengine/godot/pull/107948)). -- Add permission request for Apple embedded platforms, fix microphone input ([GH-107973](https://github.com/godotengine/godot/pull/107973)). -- Fix `AudioListener3D` not tracking velocity for doppler ([GH-108051](https://github.com/godotengine/godot/pull/108051)). -- Web: Fix sample playback deletion and `AudioStreamPolyphonic` issue ([GH-108384](https://github.com/godotengine/godot/pull/108384)). -- Add missing copyright for pitch shift ([GH-108797](https://github.com/godotengine/godot/pull/108797)). -- Fix random pitch upward bias in `AudioStreamRandomizer` ([GH-109006](https://github.com/godotengine/godot/pull/109006)). -- Make WAV metadata tag mappings more consistent with Vorbis ([GH-109627](https://github.com/godotengine/godot/pull/109627)). -- Web: Fix `AudioStreamPlayer.get_playback_position()` returning incorrect values for samples ([GH-109790](https://github.com/godotengine/godot/pull/109790)). +- Replace `minimp3` with `dr_mp3` ([GH-96547](https://github.com/godotengine/godot/pull/96547)). +- Change the random pitch on the audio stream randomizer to be in semitones, not a frequency multiplier ([GH-103742](https://github.com/godotengine/godot/pull/103742)). +- Pause audio when game is paused ([GH-104420](https://github.com/godotengine/godot/pull/104420)). +- Ignore changes in "Master" bus while in the Audio Importer ([GH-106415](https://github.com/godotengine/godot/pull/106415)). +- Use 64-bit offset/loop points in `AudioStreamWAV` ([GH-107596](https://github.com/godotengine/godot/pull/107596)). +- AudioStreamOggVorbis: only show invalid comment warning in Editor builds ([GH-109844](https://github.com/godotengine/godot/pull/109844)). +- Add one padding frame to QOA buffer for short streams ([GH-110515](https://github.com/godotengine/godot/pull/110515)). +- Fix AudioStreamPolyphonic to honor `AudioStreamPlayer.pitch_scale` ([GH-110525](https://github.com/godotengine/godot/pull/110525)). +- Vorbis: Add details to warning about invalid comment header ([GH-110652](https://github.com/godotengine/godot/pull/110652)). +- macOS: Fix microphone issue ([GH-111691](https://github.com/godotengine/godot/pull/111691)). +- Statically protect `Object::cast_to` for unrelated `Object` types ([GH-111967](https://github.com/godotengine/godot/pull/111967)). +- Fix CoreAudio driver crash when starting input with uninitialized device ([GH-112404](https://github.com/godotengine/godot/pull/112404)). +- AudioServer to have function to access microphone buffer directly ([GH-113288](https://github.com/godotengine/godot/pull/113288)). +- Check if on tree before calling `can_process()` ([GH-114966](https://github.com/godotengine/godot/pull/114966)). #### Buildsystem -- Use SSE 4.2 as a baseline when compiling Godot ([GH-59595](https://github.com/godotengine/godot/pull/59595)). -- Remove PrefersNonDefaultGPU from linux desktop file ([GH-97852](https://github.com/godotengine/godot/pull/97852)). -- SCons: Make builders prettier, utilize `constexpr` ([GH-98653](https://github.com/godotengine/godot/pull/98653)). -- CI: Format SCons input flags & build action ([GH-99938](https://github.com/godotengine/godot/pull/99938)). -- Core: Avoid including `modules/modules_enabled.gen.h` in headers ([GH-100023](https://github.com/godotengine/godot/pull/100023)). -- CI: Ensure default branch cache persists ([GH-100457](https://github.com/godotengine/godot/pull/100457)). -- Remove custom `--language-in` arg for the Closure compiler ([GH-100525](https://github.com/godotengine/godot/pull/100525)). -- CI: Replace pytest with pre-commit hook ([GH-101443](https://github.com/godotengine/godot/pull/101443)). -- SCons: Add emitter to declutter build objects ([GH-101641](https://github.com/godotengine/godot/pull/101641)). -- Replace header guards style with `#pragma once` ([GH-102298](https://github.com/godotengine/godot/pull/102298)). -- Web: Add library emitter to make sources dependent of compiler version ([GH-102676](https://github.com/godotengine/godot/pull/102676)). -- SCons: Implement minor fixes ([GH-102924](https://github.com/godotengine/godot/pull/102924)). -- Style: Ensure svgs have trailing newlines ([GH-103011](https://github.com/godotengine/godot/pull/103011)). -- Update CI `ruff` & `mypy` pre-commit hooks ([GH-103089](https://github.com/godotengine/godot/pull/103089)). -- Fix `.sln` project generation logic for Rider to support all OS and all C++ toolchains ([GH-103405](https://github.com/godotengine/godot/pull/103405)). -- Bump version to 4.5-dev ([GH-103510](https://github.com/godotengine/godot/pull/103510)). -- CI: Use correct godot-cpp branch ([GH-103514](https://github.com/godotengine/godot/pull/103514)). -- CI: Bump SCons to latest (4.8.1 → 4.9.0) ([GH-103515](https://github.com/godotengine/godot/pull/103515)). -- Android: Fix build with `disable_3d` ([GH-103523](https://github.com/godotengine/godot/pull/103523)). -- zstd: Update to 1.5.7, fix support for GAS `.S` files on Windows/MinGW ([GH-103596](https://github.com/godotengine/godot/pull/103596)). -- SCons: Simplify Windows/MSVC detection ([GH-103864](https://github.com/godotengine/godot/pull/103864)). -- SCons: Remove `check_c_headers` ([GH-103865](https://github.com/godotengine/godot/pull/103865)). -- CI: Add workflow to cleanup PR caches when closed ([GH-104077](https://github.com/godotengine/godot/pull/104077)). -- CI: Trim cache before saving ([GH-104080](https://github.com/godotengine/godot/pull/104080)). -- Apply `pre-commit` changes ([GH-104119](https://github.com/godotengine/godot/pull/104119)). -- Fix build errors when building with `disable_3d=yes` ([GH-104143](https://github.com/godotengine/godot/pull/104143)). -- Make SConstruct file check some envs before querying modules ([GH-104148](https://github.com/godotengine/godot/pull/104148)). -- SCons: Fix broken msvc conditional ([GH-104208](https://github.com/godotengine/godot/pull/104208)). -- CI: Set explicit write permission for cache cleanup token ([GH-104220](https://github.com/godotengine/godot/pull/104220)). -- CI: Build macOS binary without Vulkan if Vulkan SDK fails installing ([GH-104307](https://github.com/godotengine/godot/pull/104307)). -- CI: Ensure `scons-cache` exists before parsing ([GH-104316](https://github.com/godotengine/godot/pull/104316)). -- SCons: Expand `NoCache` coverage ([GH-104320](https://github.com/godotengine/godot/pull/104320)). -- Web: Fix editor build after `#pragma once` refactoring ([GH-104406](https://github.com/godotengine/godot/pull/104406)). -- Fix incorrect guards in `VisibleOnScreenNotifier2D` ([GH-104437](https://github.com/godotengine/godot/pull/104437)). -- Support a `NO_COLOR` environment variable in `doc_status.py` ([GH-104524](https://github.com/godotengine/godot/pull/104524)). -- SCons: Refactor `color.py` ([GH-104617](https://github.com/godotengine/godot/pull/104617)). -- Editor: Restructure editor code ([GH-104696](https://github.com/godotengine/godot/pull/104696)). -- SCons: Ensure MinGW as fallback if missing MSVC ([GH-104744](https://github.com/godotengine/godot/pull/104744)). -- CI: Bump various pre-commit hooks ([GH-104771](https://github.com/godotengine/godot/pull/104771)). -- Android: Replace the deprecated version macro ([GH-104797](https://github.com/godotengine/godot/pull/104797)). -- CI: Validate `scons-cache` via action output ([GH-104803](https://github.com/godotengine/godot/pull/104803)). -- SCons: Only set GCC `-Wvirtual-inheritance` for C++ and `warnings=extra` ([GH-104841](https://github.com/godotengine/godot/pull/104841)). -- SCons: Add `CPPEXTPATH` for external includes ([GH-104893](https://github.com/godotengine/godot/pull/104893)). -- mbedtls: Disable ASM when compiling with LLVM MemorySanitizer (MSAN) ([GH-104912](https://github.com/godotengine/godot/pull/104912)). -- Organize ifdefs for disabling navigation, physics, and XR ([GH-104915](https://github.com/godotengine/godot/pull/104915)). -- Fix compiling with `disable_xr=yes` when 3d enabled ([GH-104978](https://github.com/godotengine/godot/pull/104978)). -- SCons: Integrate `WARNLEVEL` & `OPTIMIZELEVEL` ([GH-104982](https://github.com/godotengine/godot/pull/104982)). -- CI: Remove "Free disk space on runner" job (REVERTED) ([GH-105025](https://github.com/godotengine/godot/pull/105025)). -- Fix issue where vsproj=yes vsproj_gen_only=no sometimes fails to build ([GH-105238](https://github.com/godotengine/godot/pull/105238)). -- Web: Add the equivalent of `-Werror` for `wasm-ld` ([GH-105242](https://github.com/godotengine/godot/pull/105242)). -- Fix missing `gdb.printing` import for the pretty print script ([GH-105494](https://github.com/godotengine/godot/pull/105494)). -- Add `{c,cpp}_compiler_launcher` options ([GH-105498](https://github.com/godotengine/godot/pull/105498)). -- Android: Enable native debug symbols generation ([GH-105605](https://github.com/godotengine/godot/pull/105605)). -- Update the Android NDK to the latest LTS version (r27c) ([GH-105611](https://github.com/godotengine/godot/pull/105611)). -- SCons: Begin decoupling generation & build code ([GH-105621](https://github.com/godotengine/godot/pull/105621)). -- Native visionOS platform support ([GH-105628](https://github.com/godotengine/godot/pull/105628)). -- Fixes for `.sln` project generation for Rider on Mac/Linux ([GH-105650](https://github.com/godotengine/godot/pull/105650)). -- CI: Remove legacy dependency ([GH-105661](https://github.com/godotengine/godot/pull/105661)). -- CI: Replace `gold` with `mold` ([GH-105662](https://github.com/godotengine/godot/pull/105662)). -- Use `separate_debug_symbols` to control generation of the separate Android debug symbols file ([GH-105671](https://github.com/godotengine/godot/pull/105671)). -- Web: Add required exported functions and runtime methods for emscripten ([GH-105692](https://github.com/godotengine/godot/pull/105692)). -- SCons: Explicitly enable `-mfpmath=sse -mstackrealign` for x86_32 ([GH-105697](https://github.com/godotengine/godot/pull/105697)). -- Fix macOS build with ANGLE enabled and Vulkan disabled ([GH-105709](https://github.com/godotengine/godot/pull/105709)). -- CI: Remove now unused godot-api-dump action ([GH-105731](https://github.com/godotengine/godot/pull/105731)). -- Update Mesa-NIR library detection and download script ([GH-105740](https://github.com/godotengine/godot/pull/105740)). -- CI: Ensure Windows Actions handle utf-8 characters ([GH-105756](https://github.com/godotengine/godot/pull/105756)). -- MinGW: Explicitly link `shell32` library ([GH-105764](https://github.com/godotengine/godot/pull/105764)). -- Fix `uiautomationcore` linking in 32-bit x86 MinGW builds ([GH-105786](https://github.com/godotengine/godot/pull/105786)). -- Fix install_vulkan_sdk_macos.sh incorrectly saying Vulkan was installed when jq is missing ([GH-105798](https://github.com/godotengine/godot/pull/105798)). -- SCons: Add enum conversion warning ([GH-105799](https://github.com/godotengine/godot/pull/105799)). -- Web: Include emscripten headers by default ([GH-105800](https://github.com/godotengine/godot/pull/105800)). -- Remove WinAPI `#undef` hacks needed for mingw-std-threads ([GH-105897](https://github.com/godotengine/godot/pull/105897)). -- doctest: Patch for clang warning about replacing `` by `` ([GH-105913](https://github.com/godotengine/godot/pull/105913)). -- Add `EnumVariable(ignorecase=2)` ([GH-105914](https://github.com/godotengine/godot/pull/105914)). -- Wayland: Fix compile error with DBUS disabled ([GH-105935](https://github.com/godotengine/godot/pull/105935)). -- CI: Run `apt update` before installing libxml2-utils ([GH-105939](https://github.com/godotengine/godot/pull/105939)). -- Only instantiate `MovieWriterMJPEG` and `MovieWriterPNGWAV` movie writers if they are enabled ([GH-105982](https://github.com/godotengine/godot/pull/105982)). -- CI: Propagate `matrix.sconsflags` in macos_builds.yml ([GH-106003](https://github.com/godotengine/godot/pull/106003)). -- Move MovieWriterMJPEG class to `jpg` module it depends on ([GH-106013](https://github.com/godotengine/godot/pull/106013)). -- Remove registration of deprecated classes ([GH-106093](https://github.com/godotengine/godot/pull/106093)). -- SCons: Don't enable `-Wenum-conversion` for GCC < 11 ([GH-106118](https://github.com/godotengine/godot/pull/106118)). -- register_editor_types: Fix `DISABLE_DEPREACTED` typo ([GH-106126](https://github.com/godotengine/godot/pull/106126)). -- macOS: Fix support for latest VulkanSDK .app name in install script ([GH-106128](https://github.com/godotengine/godot/pull/106128)). -- Bump the minimum supported SDK version to 24 ([GH-106148](https://github.com/godotengine/godot/pull/106148)). -- Annual versions bump for the Android platform ([GH-106152](https://github.com/godotengine/godot/pull/106152)). -- basis_universal: Add missing `ctype.h` include to fix MSVC build ([GH-106155](https://github.com/godotengine/godot/pull/106155)). -- Linux: Fix build with `dbus=no` or `threads=no` ([GH-106175](https://github.com/godotengine/godot/pull/106175)). -- Convert path separators for Windows ([GH-106216](https://github.com/godotengine/godot/pull/106216)). -- SCons: Hide SCU folders by adding "." to foldername ([GH-106269](https://github.com/godotengine/godot/pull/106269)). -- Android: Store native libraries uncompressed in APK ([GH-106288](https://github.com/godotengine/godot/pull/106288)). -- Preserve CRLF line terminators for MSVS project template ([GH-106302](https://github.com/godotengine/godot/pull/106302)). -- Web: Add WebAssembly SIMD support (`wasm_simd`) and enable it by default ([GH-106319](https://github.com/godotengine/godot/pull/106319)). -- macOS: Fix `template_debug` build after #105884 ([GH-106348](https://github.com/godotengine/godot/pull/106348)). -- Skip default font loading if Brotli is disabled ([GH-106381](https://github.com/godotengine/godot/pull/106381)). -- Fix macOS build with `dev_build=yes` and `target=template_debug` ([GH-106383](https://github.com/godotengine/godot/pull/106383)). -- Linux: Drop `ppc32` (32-bit PowerPC) architecture support ([GH-106390](https://github.com/godotengine/godot/pull/106390)). -- Wayland: Unbreak build with `libdecor=no` ([GH-106394](https://github.com/godotengine/godot/pull/106394)). -- D3D12: Silence `-Wmaybe-uninitialized` warning in D3D12MemAlloc ([GH-106398](https://github.com/godotengine/godot/pull/106398)). -- Android: Re-add `generate_apk` alias for compatibility ([GH-106435](https://github.com/godotengine/godot/pull/106435)). -- Make it possible to run CI manually if `DISABLE_GODOT_CI` is set ([GH-106438](https://github.com/godotengine/godot/pull/106438)). -- Update to the AAB directory layout ([GH-106604](https://github.com/godotengine/godot/pull/106604)). -- Shader Baker: Fix build with `deprecated=no` ([GH-106920](https://github.com/godotengine/godot/pull/106920)). -- Fix alphabetical order of codespell ignore list ([GH-106945](https://github.com/godotengine/godot/pull/106945)). -- Windows: Drop support for Windows 7/8/8.1 ([GH-106959](https://github.com/godotengine/godot/pull/106959)). -- Web: Fix build failure on Windows ([GH-107112](https://github.com/godotengine/godot/pull/107112)). -- SCons: Identify build clearly when using AES256 encryption key ([GH-107309](https://github.com/godotengine/godot/pull/107309)). -- Fix Android build files joining paths without join ([GH-107328](https://github.com/godotengine/godot/pull/107328)). -- Wayland: Simplify including protocols ([GH-107356](https://github.com/godotengine/godot/pull/107356)). -- Web: Add Web-build specific stdout header ([GH-107415](https://github.com/godotengine/godot/pull/107415)). -- Web: Fix Emscripten for WebXR and update minimum version ([GH-107460](https://github.com/godotengine/godot/pull/107460)). -- Update CI `ruff` pre-commit hooks ([GH-107665](https://github.com/godotengine/godot/pull/107665)). -- Add module defines to the per-platform generated props file so VS knows which ones are enabled ([GH-107709](https://github.com/godotengine/godot/pull/107709)). -- Fix compiler error: pass `-mpopcnt` when using clang / llvm and targeting x86_64 ([GH-107939](https://github.com/godotengine/godot/pull/107939)). -- Android: Fix the build logic to generate the native debug symbols ([GH-107998](https://github.com/godotengine/godot/pull/107998)). -- SDL: Fix missing header build error on some Linux systems ([GH-108144](https://github.com/godotengine/godot/pull/108144)). -- Add .zed/ to .gitignore ([GH-108247](https://github.com/godotengine/godot/pull/108247)). -- Fix remaining physics and navigation disabling issues ([GH-108332](https://github.com/godotengine/godot/pull/108332)). -- Thirdparty: Fix SDL arm64 compilation on Windows ([GH-108354](https://github.com/godotengine/godot/pull/108354)). -- Android: Update the maven publishing configuration following the deprecation of the OSSHR service ([GH-108393](https://github.com/godotengine/godot/pull/108393)). -- Codeowners: Minor improvements after restructure ([GH-108515](https://github.com/godotengine/godot/pull/108515)). -- SCons: Support header-only modules ([GH-108616](https://github.com/godotengine/godot/pull/108616)). -- Windows: Fix SSE4.2 detection with LTO build ([GH-108637](https://github.com/godotengine/godot/pull/108637)). -- CI: Use Xcode 16 for macOS build ([GH-108649](https://github.com/godotengine/godot/pull/108649)). -- macOS: Use liquid glass icon for the editor ([GH-108894](https://github.com/godotengine/godot/pull/108894)). -- CI: Use modern `--import` syntax in GHA ([GH-109026](https://github.com/godotengine/godot/pull/109026)). -- CI: Add headless import test ([GH-109090](https://github.com/godotengine/godot/pull/109090)). -- macOS: Regenerate editor `icns` file to include all resolutions ([GH-109292](https://github.com/godotengine/godot/pull/109292)). -- Meta: Move /editor/scene folder from `core` to `docks` codeowner ([GH-109424](https://github.com/godotengine/godot/pull/109424)). -- CI: Update dependency setup on Linux actions ([GH-109573](https://github.com/godotengine/godot/pull/109573)). -- SCons: Temporarily revert Mesa includes to `CPPPATH` ([GH-109749](https://github.com/godotengine/godot/pull/109749)). -- SCons: Fix `dlltool` on Windows MinGW builds ([GH-109758](https://github.com/godotengine/godot/pull/109758)). -- CI: Fix detection of Windows D3D12 dependencies ([GH-109912](https://github.com/godotengine/godot/pull/109912)). -- CI: Ensure prettier/clearer sanitizer output ([GH-109960](https://github.com/godotengine/godot/pull/109960)). -- Fix build on OpenBSD ([GH-110113](https://github.com/godotengine/godot/pull/110113)). -- Bump version to 4.5-rc ([GH-110285](https://github.com/godotengine/godot/pull/110285)). -- Fix Wayland build with OpenGL disabled ([GH-110294](https://github.com/godotengine/godot/pull/110294)). +- SCons: Integrate `annotations` where relevant ([GH-99640](https://github.com/godotengine/godot/pull/99640)). +- Add `profiler_path` option to `SCons` builds, with support for `tracy` and `perfetto` ([GH-104851](https://github.com/godotengine/godot/pull/104851)). +- Reduce cross project includes by rewriting `HashMapHasherDefault` ([GH-106434](https://github.com/godotengine/godot/pull/106434)). +- Add `STATIC_ASSERT_INCOMPLETE_TYPE` to enforce include minimality ([GH-107587](https://github.com/godotengine/godot/pull/107587)). +- Replace iOS/visionOS Xcode templates by new Apple embedded template ([GH-107789](https://github.com/godotengine/godot/pull/107789)). +- CI: Generate debug build for Android ([GH-108468](https://github.com/godotengine/godot/pull/108468)). +- SCons: Ensure `CPPDEFINES` is properly utilized ([GH-108613](https://github.com/godotengine/godot/pull/108613)). +- Add a Swappy installation script for easier Android builds ([GH-108674](https://github.com/godotengine/godot/pull/108674)). +- SwiftUI lifecycle for Apple embedded platforms ([GH-109974](https://github.com/godotengine/godot/pull/109974)). +- make_rst.py: Add missing rst-class to annotation descriptions ([GH-110276](https://github.com/godotengine/godot/pull/110276)). +- Linux: Allow unbundling libjpeg-turbo to use system package ([GH-110540](https://github.com/godotengine/godot/pull/110540)). +- Editor: Generate translation data in separate cpp files ([GH-110618](https://github.com/godotengine/godot/pull/110618)). +- CI: Bump Ruff version (0.12.0 → 0.13.1) ([GH-110664](https://github.com/godotengine/godot/pull/110664)). +- SCons: Fix Windows `silence_msvc` logfile encoding ([GH-110691](https://github.com/godotengine/godot/pull/110691)). +- Fix HashMap/HashSet in natvis after member renames ([GH-110882](https://github.com/godotengine/godot/pull/110882)). +- Windows: Migrate `godot.manifest` to `platform/windows`, include as dependency ([GH-110897](https://github.com/godotengine/godot/pull/110897)). +- CI: Bump `clang-format` and `clang-tidy` versions ([GH-110968](https://github.com/godotengine/godot/pull/110968)). +- Fix unreachable code warning in double-precision builds ([GH-111018](https://github.com/godotengine/godot/pull/111018)). +- CI: Add pre-commit hook for XML linting ([GH-111052](https://github.com/godotengine/godot/pull/111052)). +- Fix compiling SDL without DBus under Linux ([GH-111146](https://github.com/godotengine/godot/pull/111146)). +- System-provided ENet warning ([GH-111211](https://github.com/godotengine/godot/pull/111211)). +- CI: Fix `CODEOWNERS` inconsistencies ([GH-111222](https://github.com/godotengine/godot/pull/111222)). +- Replace `std::size` usage with `std_size` to avoid `` include ([GH-111223](https://github.com/godotengine/godot/pull/111223)). +- CI: Bump SCons version [4.9.0→4.10.0] ([GH-111224](https://github.com/godotengine/godot/pull/111224)). +- Fix 2D debug templates linking ([GH-111242](https://github.com/godotengine/godot/pull/111242)). +- Remove `Array` include from `dictionary.h` and `ustring.h` ([GH-111244](https://github.com/godotengine/godot/pull/111244)). +- Make BasisUniversal `basisu_astc_hdr_6x6_enc.h` non-executable ([GH-111253](https://github.com/godotengine/godot/pull/111253)). +- Remove `rw_lock.h` and `rb_map.h` includes from `object.h` ([GH-111254](https://github.com/godotengine/godot/pull/111254)). +- Build: Fix container build path for swift ([GH-111299](https://github.com/godotengine/godot/pull/111299)). +- macOS: Move includes inside `#ifdef` so OpenGL can be disabled ([GH-111301](https://github.com/godotengine/godot/pull/111301)). +- Revert "SCons: Add `CPPEXTPATH` for external includes" ([GH-111331](https://github.com/godotengine/godot/pull/111331)). +- Scons: Remove system includes ([GH-111346](https://github.com/godotengine/godot/pull/111346)). +- Add `max()` to `Span`, replacing `` include from `rendering_device_commons.h` ([GH-111347](https://github.com/godotengine/godot/pull/111347)). +- Windows: Fix MinGW build ([GH-111368](https://github.com/godotengine/godot/pull/111368)). +- Fix Steam time tracker build ([GH-111396](https://github.com/godotengine/godot/pull/111396)). +- Remove `compositor.h` include from `world_3d.h` ([GH-111402](https://github.com/godotengine/godot/pull/111402)). +- Remove transitive rendering includes from `node.h` ([GH-111405](https://github.com/godotengine/godot/pull/111405)). +- SCons: Don't activate `fast_unsafe` automatically on `dev_build` ([GH-111411](https://github.com/godotengine/godot/pull/111411)). +- Remove circular unneeded `debug_adapter_protocol.h` include from `debug_adapter_parser.h` ([GH-111470](https://github.com/godotengine/godot/pull/111470)). +- Remove extraneous includes from `texture.h` ([GH-111481](https://github.com/godotengine/godot/pull/111481)). +- Fix 2D builds (again) ([GH-111487](https://github.com/godotengine/godot/pull/111487)). +- SCons: Enable MinGW big objects universally ([GH-111566](https://github.com/godotengine/godot/pull/111566)). +- Fix use of outdated macros in ObjectDBProfiler ([GH-111601](https://github.com/godotengine/godot/pull/111601)). +- Remove `display_server.h` transitive include from `node.h` ([GH-111620](https://github.com/godotengine/godot/pull/111620)). +- Fix some compilation errors ([GH-111621](https://github.com/godotengine/godot/pull/111621)). +- Remove `callable_bind.h` from `object.h` ([GH-111633](https://github.com/godotengine/godot/pull/111633)). +- Fix missing includes in headers ([GH-111696](https://github.com/godotengine/godot/pull/111696)). +- SCons: Remove transitive includes in `libc++` ([GH-111767](https://github.com/godotengine/godot/pull/111767)). +- Build: Update to Xcode 26.0.1 for Apple builds ([GH-111799](https://github.com/godotengine/godot/pull/111799)). +- SCons: Clean up hardcoded D3D12 driver workarounds ([GH-111800](https://github.com/godotengine/godot/pull/111800)). +- MSVC: Check `catalog_productSemanticVersion` instead of `catalog_productDisplayVersion` ([GH-111918](https://github.com/godotengine/godot/pull/111918)). +- Fix broken screenshot link in Appstream metadata ([GH-112004](https://github.com/godotengine/godot/pull/112004)). +- Add some keywords to desktop entry ([GH-112005](https://github.com/godotengine/godot/pull/112005)). +- Use pkg-config for recast flags ([GH-112030](https://github.com/godotengine/godot/pull/112030)). +- macOS: Update clang version check ([GH-112034](https://github.com/godotengine/godot/pull/112034)). +- Windows: Use separate resource files for export templates ([GH-112116](https://github.com/godotengine/godot/pull/112116)). +- macOS/iOS: Fix build with Xcode older than 26 ([GH-112185](https://github.com/godotengine/godot/pull/112185)). +- Update Android build tools to version 35.0.1 ([GH-112437](https://github.com/godotengine/godot/pull/112437)). +- Add `workflow_dispatch` triggers to platform CI ([GH-112594](https://github.com/godotengine/godot/pull/112594)). +- Fix tracy implementation when no callstack sampling is desired ([GH-112685](https://github.com/godotengine/godot/pull/112685)). +- Fix `GodotProfileZone` with tracy backend failing with shadowed variable name warnings ([GH-112823](https://github.com/godotengine/godot/pull/112823)). +- CI: Remove cache clean action ([GH-112924](https://github.com/godotengine/godot/pull/112924)). +- CI: Build Windows without D3D12 if install fails ([GH-113112](https://github.com/godotengine/godot/pull/113112)). +- SCons: Fix logic when passing `optimize=auto` explicitly from command-line ([GH-113120](https://github.com/godotengine/godot/pull/113120)). +- CODEOWNERS: Add 2D skeleton resources to the Animation team ([GH-113190](https://github.com/godotengine/godot/pull/113190)). +- Include xkb-compose in `wayland_thread.h` ([GH-113195](https://github.com/godotengine/godot/pull/113195)). +- Replace usage of Zstandard advanced API ([GH-113234](https://github.com/godotengine/godot/pull/113234)). +- Web: Bump js-yaml from 4.1.0 to 4.1.1 ([GH-113253](https://github.com/godotengine/godot/pull/113253)). +- Fix Android build regression ([GH-113388](https://github.com/godotengine/godot/pull/113388)). +- CI: Bump SCons version [4.10.0→4.10.1] ([GH-113403](https://github.com/godotengine/godot/pull/113403)). +- CI: Bump Ruff version (0.13.1 → 0.14.7) ([GH-113470](https://github.com/godotengine/godot/pull/113470)). +- Fix `sprite_frames_editor_plugin` compilation with `deprecated=no` ([GH-113527](https://github.com/godotengine/godot/pull/113527)). +- Move Multiplayer icons to the module ([GH-113723](https://github.com/godotengine/godot/pull/113723)). +- Check for unprefixed compilers when building on Windows ([GH-113814](https://github.com/godotengine/godot/pull/113814)). +- Fix build errors and warnings with LLVM-21 ([GH-113857](https://github.com/godotengine/godot/pull/113857)). +- Thirdparty: Make GH PR references URLs ([GH-113926](https://github.com/godotengine/godot/pull/113926)). +- Fix compiling Godot for Linux failing with `profiler_sample_callstack=yes` ([GH-114001](https://github.com/godotengine/godot/pull/114001)). +- CI: Fix executable perms for various files ([GH-114047](https://github.com/godotengine/godot/pull/114047)). +- Add missing `cstdlib` include for `EXIT_SUCCESS` and `free` ([GH-114072](https://github.com/godotengine/godot/pull/114072)). +- gitignore: Ignore GNU `patch` .orig and .rej backup files ([GH-114105](https://github.com/godotengine/godot/pull/114105)). +- Add Mesa version check ([GH-114142](https://github.com/godotengine/godot/pull/114142)). +- RequiredPtr: Fix template conditional for MSVC ([GH-114222](https://github.com/godotengine/godot/pull/114222)). +- Make Godot compile with 3D physics disabled again, again ([GH-114453](https://github.com/godotengine/godot/pull/114453)). +- BasisUniversal: Disable strict aliasing to fix GCC optimization issue ([GH-114839](https://github.com/godotengine/godot/pull/114839)). +- Avoid warning when compiling on visionOS 26 SDK ([GH-114904](https://github.com/godotengine/godot/pull/114904)). +- Windows: Add missing `extern "C"` for `hidsdi.h` on MinGW < 12.0.0 ([GH-115010](https://github.com/godotengine/godot/pull/115010)). #### C# -- Remove unnecessary spaces ([GH-82083](https://github.com/godotengine/godot/pull/82083)). -- Resolve the hostfxr path using dotnet CLI ([GH-96146](https://github.com/godotengine/godot/pull/96146)). -- Add `linux-bionic` RID export option to support NativeAOT on Android ([GH-97908](https://github.com/godotengine/godot/pull/97908)). -- Use `ObjectID` when converting `Variant` to `GodotObject` ([GH-98034](https://github.com/godotengine/godot/pull/98034)). -- Editor: Prevent `TOOLS` .NET `DefineConstants` being overridden by the user ([GH-98153](https://github.com/godotengine/godot/pull/98153)). -- Fix thread deadlock when using a worker thread to load a script with a generic base class ([GH-99798](https://github.com/godotengine/godot/pull/99798)). -- Update Dotnet iOS Export Process ([GH-100187](https://github.com/godotengine/godot/pull/100187)). -- Fix `RefCounted` not disposed correctly in certain case ([GH-101006](https://github.com/godotengine/godot/pull/101006)). -- Add `Min(float)` and octahedron encode/decode to `Vector3.cs` ([GH-102356](https://github.com/godotengine/godot/pull/102356)). -- Improve Documentation for Typed `Godot.Collections` Wrappers ([GH-102765](https://github.com/godotengine/godot/pull/102765)). -- Skip serializing delegates with a disposed target ([GH-102837](https://github.com/godotengine/godot/pull/102837)). -- Move entries from `AnalyzerReleases.Unshipped.md` to `AnalyzerReleases.Shipped.md` ([GH-103536](https://github.com/godotengine/godot/pull/103536)). -- Skip re-saving `.csproj` when TFM is unchanged ([GH-103714](https://github.com/godotengine/godot/pull/103714)). -- Add missing `get_data` when calling `CFStringCreateWithCString` in `macos_utils` ([GH-103837](https://github.com/godotengine/godot/pull/103837)). -- Fix missing Vector4(i) and Projection in C# bindings generator ([GH-104097](https://github.com/godotengine/godot/pull/104097)). -- Deprecate compat methods that reference deprecated types ([GH-104153](https://github.com/godotengine/godot/pull/104153)). -- Fix source generator for primary constructor ([GH-104219](https://github.com/godotengine/godot/pull/104219)). -- Fix nested GodotObject class in generic class lead to source generator errors in C# ([GH-104279](https://github.com/godotengine/godot/pull/104279)). -- Add caching for dotnet TFM validation result ([GH-104613](https://github.com/godotengine/godot/pull/104613)). -- .Net: Avoid unnecessary StringName allocations on not implemented virtual `_Get` and `_Set` method call ([GH-104689](https://github.com/godotengine/godot/pull/104689)). -- Separate Rider and Fleet options as external editors ([GH-104828](https://github.com/godotengine/godot/pull/104828)). -- Fix Windows Mono build ([GH-104864](https://github.com/godotengine/godot/pull/104864)). -- .Net: Avoid array allocation when signal have 0 arg ([GH-105082](https://github.com/godotengine/godot/pull/105082)). -- Use `FrozenDictionary` for `NamedColors` ([GH-105104](https://github.com/godotengine/godot/pull/105104)). -- Add a preload hook to load .NET assemblies from the APK ([GH-105262](https://github.com/godotengine/godot/pull/105262)). -- Fix `string.PathJoin` to be consistent with core ([GH-105281](https://github.com/godotengine/godot/pull/105281)). -- Fix extraction of C# default property values when negative ([GH-105352](https://github.com/godotengine/godot/pull/105352)). -- Avoid StringName allocation in `GodotObject.Free` ([GH-105486](https://github.com/godotengine/godot/pull/105486)). -- Mark referenced packages in SDK as implicitly defined ([GH-105819](https://github.com/godotengine/godot/pull/105819)). -- Load assemblies directly from PCK on Android ([GH-105853](https://github.com/godotengine/godot/pull/105853)). -- Don't create unnecessary arrays in C# ([GH-105927](https://github.com/godotengine/godot/pull/105927)). -- Expose byte array compress and decompress ([GH-106008](https://github.com/godotengine/godot/pull/106008)). -- Avoid heap alloc when using StringNames as key in a Dictionary ([GH-106133](https://github.com/godotengine/godot/pull/106133)). -- Use `stackalloc` to create the pivot arrays in `Projection.Inverse` ([GH-106177](https://github.com/godotengine/godot/pull/106177)). -- Fix 'Script class can only be set together with base class name' error with .NET typed collections upon rebuild ([GH-106243](https://github.com/godotengine/godot/pull/106243)). -- Fix crash on aot unloading ([GH-106502](https://github.com/godotengine/godot/pull/106502)). -- Fix source generator exceptions appearing when use "@+internal keyword" as type or namespace name in C# script ([GH-106744](https://github.com/godotengine/godot/pull/106744)). -- Add `Basis.ScaledLocal` ([GH-107300](https://github.com/godotengine/godot/pull/107300)). -- Fix Mono build on Windows after `String::resize` rename ([GH-107496](https://github.com/godotengine/godot/pull/107496)). -- Fix `Quaternion(arc_from: Vector3, arc_to: Vector3)` behaves differently in gdscript and c# ([GH-107618](https://github.com/godotengine/godot/pull/107618)). -- Avoid exporting to duplicate architectures ([GH-107987](https://github.com/godotengine/godot/pull/107987)). -- Fix return value of `StringExtensions.GetExtension()` ([GH-108041](https://github.com/godotengine/godot/pull/108041)). -- Mention MSBuild panel when building fails ([GH-108053](https://github.com/godotengine/godot/pull/108053)). -- Fix crash in C# bindings generator with bad enum documentation XML ([GH-108262](https://github.com/godotengine/godot/pull/108262)). -- Fix `Quaternion(Vector3, Vector3)` constructor when vectors are the same ([GH-109281](https://github.com/godotengine/godot/pull/109281)). -- Fix C# environment variables access on Linux (SDL-related bug) ([GH-109283](https://github.com/godotengine/godot/pull/109283)). -- Fix the issue preventing installing C# binaries on Android devices with api <= 29 ([GH-110260](https://github.com/godotengine/godot/pull/110260)). -- Require `net9.0` for Android exports ([GH-110263](https://github.com/godotengine/godot/pull/110263)). +- Add documentation for Interfaces and Attributes ([GH-81701](https://github.com/godotengine/godot/pull/81701)). +- Add c# translation parser support ([GH-99195](https://github.com/godotengine/godot/pull/99195)). +- Fix array span constructors in C# ([GH-105950](https://github.com/godotengine/godot/pull/105950)). +- Fix loading correct solution file for projects in subdirectories ([GH-106031](https://github.com/godotengine/godot/pull/106031)). +- Improve performance of `CSharpLanguage::reload_assemblies` ([GH-106299](https://github.com/godotengine/godot/pull/106299)). +- Add `ReadOnlySpan` overload for `Callable.Call` ([GH-107800](https://github.com/godotengine/godot/pull/107800)). +- Remove EFS update on reloading assemblies ([GH-108487](https://github.com/godotengine/godot/pull/108487)). +- Fix various errors in bindings generator ([GH-108489](https://github.com/godotengine/godot/pull/108489)). +- Fix enum from/to Variant conversion ([GH-108527](https://github.com/godotengine/godot/pull/108527)). +- Use explicit public access modifier in C# code ([GH-108885](https://github.com/godotengine/godot/pull/108885)). +- Improve `IsNormalized()` in C# ([GH-108974](https://github.com/godotengine/godot/pull/108974)). +- Update GodotTools .NET version from 6.0 to 8.0 ([GH-110799](https://github.com/godotengine/godot/pull/110799)). +- Fix `IsStaticallyResolvable` ([GH-111523](https://github.com/godotengine/godot/pull/111523)). +- Update Godot.SourceGenerators packages ([GH-111524](https://github.com/godotengine/godot/pull/111524)). +- Fix source generation of statically imported members ([GH-111570](https://github.com/godotengine/godot/pull/111570)). +- Fix dotnet class lookup returning modified names instead of engine names ([GH-112023](https://github.com/godotengine/godot/pull/112023)). +- Add compat method for `DisplayServer.TtsSpeak` ([GH-112798](https://github.com/godotengine/godot/pull/112798)). +- Prevent C# source generators from fully qualifying members assigned to within an object initializer ([GH-112874](https://github.com/godotengine/godot/pull/112874)). +- Fix StringExtensions.SplitFloats incorrect float parsing ([GH-112897](https://github.com/godotengine/godot/pull/112897)). +- Ensure .NET editor supports Visual Studio 2026 ([GH-112961](https://github.com/godotengine/godot/pull/112961)). +- Change MSBuildPanel to EditorDock ([GH-113115](https://github.com/godotengine/godot/pull/113115)). +- Fix `FileAccess::create_temp()` not using `FileAccess::ModeFlags` ([GH-114053](https://github.com/godotengine/godot/pull/114053)). +- Hide signals prefixed by underscore ([GH-115199](https://github.com/godotengine/godot/pull/115199)). #### Codestyle -- Remove `ABS` in favor of `Math::abs` ([GH-69406](https://github.com/godotengine/godot/pull/69406)). -- Remove pointless use of atomics in error macros ([GH-75629](https://github.com/godotengine/godot/pull/75629)). -- Use initializer list in Arrays ([GH-89782](https://github.com/godotengine/godot/pull/89782)). -- Core: Add `[[nodiscard]]` to string-like classes/structs ([GH-93517](https://github.com/godotengine/godot/pull/93517)). -- Core: Convert `Math` class to namespace ([GH-94441](https://github.com/godotengine/godot/pull/94441)). -- Use `get_slicec` instead of `get_slice` for single character splitters ([GH-99321](https://github.com/godotengine/godot/pull/99321)). -- Optimize `String::chr` to avoid calling `strlen`. Use `String::chr` instead of `String(&chr, 1)` where appropriate ([GH-100314](https://github.com/godotengine/godot/pull/100314)). -- Add templated version of `ObjectDB::get_instance()` ([GH-100602](https://github.com/godotengine/godot/pull/100602)). -- Remove unnecessary `friend class` declarations of `CowData` ([GH-100650](https://github.com/godotengine/godot/pull/100650)). -- Image: Remove references to defunct `FORMAT_CUSTOM` ([GH-100754](https://github.com/godotengine/godot/pull/100754)). -- Style: Standardize Obj-C `#import` syntax ([GH-101174](https://github.com/godotengine/godot/pull/101174)). -- Use iterator pattern instead of manually traverse `List::Element *` ([GH-102354](https://github.com/godotengine/godot/pull/102354)). -- Use `std::size` instead of `sizeof(a) / sizeof(a[0])` pattern throughout the codebase ([GH-102419](https://github.com/godotengine/godot/pull/102419)). -- Clean up some uses of `String::substr` ([GH-102427](https://github.com/godotengine/godot/pull/102427)). -- Improve `_is_drop_valid()` code in EditorPropertyArray ([GH-102630](https://github.com/godotengine/godot/pull/102630)). -- Style: Begin integrating simple clangd fixes ([GH-103075](https://github.com/godotengine/godot/pull/103075)). -- Use idiomatic templating vargs in a few places to reduce code ([GH-103899](https://github.com/godotengine/godot/pull/103899)). -- Remove empty constructors and destructors from `editor/` ([GH-103988](https://github.com/godotengine/godot/pull/103988)). -- Style: Convert namespaces to PascalCase ([GH-104043](https://github.com/godotengine/godot/pull/104043)). -- De-duplicate `String` single-char constructor ([GH-104049](https://github.com/godotengine/godot/pull/104049)). -- Remove `TOOLS_ENABLED` checks from `editor/` ([GH-104130](https://github.com/godotengine/godot/pull/104130)). -- Camera2D code cleanup ([GH-104136](https://github.com/godotengine/godot/pull/104136)). -- Replace `size() == 0` with `is_empty()` ([GH-104375](https://github.com/godotengine/godot/pull/104375)). -- Core: Replace C math headers with C++ equivalents ([GH-104386](https://github.com/godotengine/godot/pull/104386)). -- Remove pointless `_3D_DISABLED` checks in editor code ([GH-104390](https://github.com/godotengine/godot/pull/104390)). -- Tree: apply comment style guidelines and remove unused variables ([GH-104708](https://github.com/godotengine/godot/pull/104708)). -- Make reusable functions for GameController joystick and trigger input ([GH-104725](https://github.com/godotengine/godot/pull/104725)). -- Replace `append_utfx` with direct `String::utfx` ([GH-104810](https://github.com/godotengine/godot/pull/104810)). -- Core: Integrate warning suppression macro helpers ([GH-104850](https://github.com/godotengine/godot/pull/104850)). -- Remove unused `get_valid_parents_static` functions from `GDCLASS` ([GH-104921](https://github.com/godotengine/godot/pull/104921)). -- Remove unused `get_inheritance_list_static` from `GDCLASS` ([GH-104976](https://github.com/godotengine/godot/pull/104976)). -- Move `GD_IS_CLASS_ENABLED` and respective include from `class_db.h` to `object.h`, as this is where it's needed ([GH-105030](https://github.com/godotengine/godot/pull/105030)). -- Convert `PtrToArg` macros to regular C++ structs ([GH-105231](https://github.com/godotengine/godot/pull/105231)). -- Core: Use `Math` namespace for constants ([GH-105249](https://github.com/godotengine/godot/pull/105249)). -- Range: Remove useless `p_what` argument ([GH-105306](https://github.com/godotengine/godot/pull/105306)). -- Replace duplicate code of `is_ancestor_of()` in node.cpp ([GH-105337](https://github.com/godotengine/godot/pull/105337)). -- Remove `auto` misuse cases ([GH-105384](https://github.com/godotengine/godot/pull/105384)). -- Use Math::abs to avoid ambiguity with integer abs ([GH-105394](https://github.com/godotengine/godot/pull/105394)). -- Rename `BLOCK_DEVICE()` macro to `FORCE_ANGLE()` in `main.cpp` ([GH-105427](https://github.com/godotengine/godot/pull/105427)). -- Use `Math::abs` to avoid ambiguity with integer abs ([GH-105460](https://github.com/godotengine/godot/pull/105460)). -- Simplify use of `LocalVector` `force_trivial` template parameter ([GH-105505](https://github.com/godotengine/godot/pull/105505)). -- Style: Declare inline macros as attributes ([GH-105531](https://github.com/godotengine/godot/pull/105531)). -- Remove GridMap godotsphir remarks ([GH-105586](https://github.com/godotengine/godot/pull/105586)). -- FileDialog code cleanup ([GH-105630](https://github.com/godotengine/godot/pull/105630)). -- Fix various sanitizer issues ([GH-105865](https://github.com/godotengine/godot/pull/105865)). -- Quick `StringName` improvements ([GH-105871](https://github.com/godotengine/godot/pull/105871)). -- Inline static variables (part 1) ([GH-105876](https://github.com/godotengine/godot/pull/105876)). -- Remove inline from constexpr variables ([GH-105880](https://github.com/godotengine/godot/pull/105880)). -- Core: Modernize C headers with C++ equivalents ([GH-105887](https://github.com/godotengine/godot/pull/105887)). -- Rename editor "File" MenuOption enums for clarity ([GH-105924](https://github.com/godotengine/godot/pull/105924)). -- Remove empty constructors and destructors from `scene/` ([GH-106124](https://github.com/godotengine/godot/pull/106124)). -- Fix a typo in variable name in ProgressBar class ([GH-106189](https://github.com/godotengine/godot/pull/106189)). -- Remove unused `SceneTree::make_group_changed` ([GH-106343](https://github.com/godotengine/godot/pull/106343)). -- Improve `ScriptLanguage` get keyword API ([GH-106374](https://github.com/godotengine/godot/pull/106374)). -- Optimize and simplify `sarray` ([GH-106445](https://github.com/godotengine/godot/pull/106445)). -- Style: Remove redundant `DEBUG_METHODS_ENABLED` macro ([GH-106456](https://github.com/godotengine/godot/pull/106456)). -- Fix for implicit conversion from `char16_t` to `char32_t` in `TextServerAdvanced` ([GH-106649](https://github.com/godotengine/godot/pull/106649)). -- Simplify `Memory::memnew_arr_placement` to always initialize memory ([GH-106730](https://github.com/godotengine/godot/pull/106730)). -- Un-support `force_trivial` parameter for `LocalVector`. Instead, users should use `resize_uninitialized` ([GH-106876](https://github.com/godotengine/godot/pull/106876)). -- Remove obsolete `VMap` forward declaration ([GH-106897](https://github.com/godotengine/godot/pull/106897)). -- Remove redundant `queue_redraw()` & fix typo ([GH-106899](https://github.com/godotengine/godot/pull/106899)). -- Rename `String::resize` to `resize_uninitialized` ([GH-106913](https://github.com/godotengine/godot/pull/106913)). -- Fix mixed use of spaces and tabs for indentation ([GH-107222](https://github.com/godotengine/godot/pull/107222)). -- Remove implicit conversions from math types to `String`, to avoid accidental conversions ([GH-107295](https://github.com/godotengine/godot/pull/107295)). -- Enforce GDScript and C# dictionary spacing style guidelines in code samples ([GH-107357](https://github.com/godotengine/godot/pull/107357)). -- Core: Remove implicit conversions from `Callable` and `Signal` to `String`, to avoid accidental conversions ([GH-107379](https://github.com/godotengine/godot/pull/107379)). -- Core: Remove unused `StringName::search` ([GH-107380](https://github.com/godotengine/godot/pull/107380)). -- Core: Remove implicit conversions from `IPAddress` to `String`, to avoid accidental conversions ([GH-107406](https://github.com/godotengine/godot/pull/107406)). -- Make conversions from `NodePath` to `String` explicit ([GH-107408](https://github.com/godotengine/godot/pull/107408)). -- Fix spelling in comments ([GH-107550](https://github.com/godotengine/godot/pull/107550)). -- Android: Misc changes ([GH-109267](https://github.com/godotengine/godot/pull/109267)). -- Typo cleanup pass ([GH-109791](https://github.com/godotengine/godot/pull/109791)). +- Improve usage of `String.split()` vs `get_slice()` ([GH-62083](https://github.com/godotengine/godot/pull/62083)). +- Move server files into their subfolders ([GH-89409](https://github.com/godotengine/godot/pull/89409)). +- Misc script editor code cleanup ([GH-94013](https://github.com/godotengine/godot/pull/94013)). +- Add `Memory::get_aligned_address` to simplify data offset constants ([GH-100145](https://github.com/godotengine/godot/pull/100145)). +- Add `is_instance()` helper method to Node ([GH-100437](https://github.com/godotengine/godot/pull/100437)). +- Delete `VariantGetInternalPtr` and `VariantImplicitConvert`, replace with `VariantInternalAccessor` ([GH-105254](https://github.com/godotengine/godot/pull/105254)). +- Don't hard-code hsplit count ([GH-106849](https://github.com/godotengine/godot/pull/106849)). +- Rename internal fields and variables in `AHashMap`, `HashMap` and `HashSet` ([GH-107045](https://github.com/godotengine/godot/pull/107045)). +- Rename server `free` functions to `free_rid` to match exposed API ([GH-107139](https://github.com/godotengine/godot/pull/107139)). +- Remove implicit conversions between `LocalVector` and `Vector` ([GH-107469](https://github.com/godotengine/godot/pull/107469)). +- Remove dependency of `variant.h` in `print_string.h` ([GH-107721](https://github.com/godotengine/godot/pull/107721)). +- Remove unused methods in `ResourceLoader` ([GH-108076](https://github.com/godotengine/godot/pull/108076)). +- Core: Handle disabled class detection in `ClassDB` ([GH-108121](https://github.com/godotengine/godot/pull/108121)). +- Replace repetitive meta/ctrl condition with a method ([GH-108314](https://github.com/godotengine/godot/pull/108314)). +- Remove empty constructors and destructors from `core/` ([GH-108340](https://github.com/godotengine/godot/pull/108340)). +- Remove unnecessary cpp files after cleanup ([GH-108516](https://github.com/godotengine/godot/pull/108516)). +- Reduce code duplication in material conversion ([GH-108672](https://github.com/godotengine/godot/pull/108672)). +- Copyright: Fix spelling of license ([GH-109339](https://github.com/godotengine/godot/pull/109339)). +- Refactor `_edit_current()` script check ([GH-109649](https://github.com/godotengine/godot/pull/109649)). +- Core: Integrate semantic constants in math structs ([GH-109744](https://github.com/godotengine/godot/pull/109744)). +- Fix inconsistent internal name of `get_resource_filesystem` ([GH-110156](https://github.com/godotengine/godot/pull/110156)). +- Misc cleanup in EditorExportPlatform ([GH-110248](https://github.com/godotengine/godot/pull/110248)). +- Remove overrun code duplication ([GH-110819](https://github.com/godotengine/godot/pull/110819)). +- Skip copying values constructed immediately before returning ([GH-110952](https://github.com/godotengine/godot/pull/110952)). +- Use const ref parameters in the Web modules ([GH-110977](https://github.com/godotengine/godot/pull/110977)). +- Remove unused `import_path` member from `Node` ([GH-111043](https://github.com/godotengine/godot/pull/111043)). +- Change `Memory` from a class into a namespace ([GH-111066](https://github.com/godotengine/godot/pull/111066)). +- Group together 2D camera override functions ([GH-111106](https://github.com/godotengine/godot/pull/111106)). +- Refactor `Array` iterators to be trivially copyable ([GH-111158](https://github.com/godotengine/godot/pull/111158)). +- Store `ThemeOwner` owner directly as `Node*` ([GH-111249](https://github.com/godotengine/godot/pull/111249)). +- Remove `timer.h` include from `control.h` ([GH-111270](https://github.com/godotengine/godot/pull/111270)). +- Remove `file_access.h` and `script_backtrace.h` includes from `logger.h` ([GH-111274](https://github.com/godotengine/godot/pull/111274)). +- Core: Clean up headers in `core/config`, forward-declare `MainLoop` in `OS` ([GH-111297](https://github.com/godotengine/godot/pull/111297)). +- Remove `VariantHasher` and `VariantComparator` in favor of specializing `HashMapHasherDefault` and `HashMapComparatorDefault` ([GH-111358](https://github.com/godotengine/godot/pull/111358)). +- Clean up `hashfuncs.h` ([GH-111361](https://github.com/godotengine/godot/pull/111361)). +- Fix wrong EditorSettings usage in 3D editor ([GH-111589](https://github.com/godotengine/godot/pull/111589)). +- Improvements to ProjectManager's `_update_theme()` ([GH-111649](https://github.com/godotengine/godot/pull/111649)). +- Use American spelling of "favorite" in Project Manager code for consistency ([GH-112787](https://github.com/godotengine/godot/pull/112787)). +- Remove unused private variables in `godot/scene` ([GH-113709](https://github.com/godotengine/godot/pull/113709)). +- Remove unused private variables in `expression.h` ([GH-113730](https://github.com/godotengine/godot/pull/113730)). +- Apply codespell to CHANGELOG.md ([GH-114051](https://github.com/godotengine/godot/pull/114051)). +- Fix wording in TileSet collision polygon error message ([GH-114385](https://github.com/godotengine/godot/pull/114385)). #### Core -- Add PackedByteArray conversion to PackedVector2Array, PackedVector3Array, PackedVector4Array and PackedColorArray ([GH-76075](https://github.com/godotengine/godot/pull/76075)). -- Change Node `set_name` to use StringName, slightly improves performance ([GH-76560](https://github.com/godotengine/godot/pull/76560)). -- Typed array equality operator update ([GH-82497](https://github.com/godotengine/godot/pull/82497)). -- Add negative index to `Array.remove_at` and `Array.insert` ([GH-83027](https://github.com/godotengine/godot/pull/83027)). -- Add `Node.get_orphan_node_ids`, edit `Node.print_orphan_nodes` ([GH-83757](https://github.com/godotengine/godot/pull/83757)). -- Add list initialization to Array, Variant, and TypedArray ([GH-86015](https://github.com/godotengine/godot/pull/86015)). -- Improve error message for `String.format` when using nested Arrays ([GH-86653](https://github.com/godotengine/godot/pull/86653)). -- Expose `set_uid()` ([GH-87714](https://github.com/godotengine/godot/pull/87714)). -- Don't duplicate internal nodes ([GH-89442](https://github.com/godotengine/godot/pull/89442)). -- Fix `RID` cannot be string formatted ([GH-90971](https://github.com/godotengine/godot/pull/90971)). -- Add `Logger` and ability to print and log script backtraces ([GH-91006](https://github.com/godotengine/godot/pull/91006)). -- Remove old path remaps system ([GH-91594](https://github.com/godotengine/godot/pull/91594)). -- Use `Vector` for `MethodInfo::arguments` ([GH-91660](https://github.com/godotengine/godot/pull/91660)). -- Add `String::replace_char(s)` methods for performance and convenience ([GH-92475](https://github.com/godotengine/godot/pull/92475)). -- Add `String::remove_char(s)` methods for performance and convenience ([GH-92476](https://github.com/godotengine/godot/pull/92476)). -- Avoid unnecessary copy-on-write Vector/Array ([GH-93276](https://github.com/godotengine/godot/pull/93276)). -- Improve `JSON::stringify` performance ([GH-93783](https://github.com/godotengine/godot/pull/93783)). -- Consolidate and simplify string joining code in `VariantUtilityFunctions` ([GH-93883](https://github.com/godotengine/godot/pull/93883)). -- Add dedicated `BitField` template ([GH-95916](https://github.com/godotengine/godot/pull/95916)). -- Convert `Pair`/`KeyValue` to `constexpr` ([GH-96497](https://github.com/godotengine/godot/pull/96497)). -- Array: performance improvements to reduce copying/copy_on_write calls ([GH-96664](https://github.com/godotengine/godot/pull/96664)). -- Add `is_same` to types that have float components ([GH-97553](https://github.com/godotengine/godot/pull/97553)). -- Reduce allocations when solving path in `AStarGrid2D` ([GH-97843](https://github.com/godotengine/godot/pull/97843)). -- Update ViewportTexture path relative to its local scene instead of the Viewport owner ([GH-97861](https://github.com/godotengine/godot/pull/97861)). -- Fix `StreamPeerGZIP::finish()` internal buffer size usage ([GH-98043](https://github.com/godotengine/godot/pull/98043)). -- StringLikeVariantOrder: Compare in-place ([GH-98408](https://github.com/godotengine/godot/pull/98408)). -- Integrate `CharStringT` ([GH-98439](https://github.com/godotengine/godot/pull/98439)). -- Use Grisu2 algorithm in `String::num_scientific` to fix serializing ([GH-98750](https://github.com/godotengine/godot/pull/98750)). -- Fix `String::is_valid_hex_number` ([GH-99059](https://github.com/godotengine/godot/pull/99059)). -- Add `create_id_for_path()` to ResourceUID ([GH-99543](https://github.com/godotengine/godot/pull/99543)). -- Improve `parse_utf8` performance ([GH-99826](https://github.com/godotengine/godot/pull/99826)). -- Print error message when index is out of range in `Variant::iter_get` ([GH-99985](https://github.com/godotengine/godot/pull/99985)). -- Improve `ContainerTypeValidate` performance for object types ([GH-100057](https://github.com/godotengine/godot/pull/100057)). -- Fix `RandomPCG::random(int, int)` overflow bug ([GH-100067](https://github.com/godotengine/godot/pull/100067)). -- Simplify and fix `Projection`'s getter functions ([GH-100209](https://github.com/godotengine/godot/pull/100209)). -- Optimize String `copy_from_unchecked` to actually not check the string ([GH-100238](https://github.com/godotengine/godot/pull/100238)). -- Add `Span` struct (replacing `StrRange`). Spans represent read-only access to a contiguous array, resembling `std::span` ([GH-100293](https://github.com/godotengine/godot/pull/100293)). -- Use `LocalVector` instead of `List` as arg of `Dictionary::get_key_list` ([GH-100333](https://github.com/godotengine/godot/pull/100333)). -- Optimize / refactor `CowData`, combining resize and fork to avoid unnecessary reallocations ([GH-100619](https://github.com/godotengine/godot/pull/100619)). -- Overhaul resource duplication ([GH-100673](https://github.com/godotengine/godot/pull/100673)). -- Use 1.5x growth factor for LocalVector ([GH-100944](https://github.com/godotengine/godot/pull/100944)). -- Natively convert `enum`/`BitField` with `Variant` ([GH-101003](https://github.com/godotengine/godot/pull/101003)). -- Add `LocalVector.erase_unordered`, mimicking `erase` but with `remove_at_unordered`, to remove duplicate logic ([GH-101026](https://github.com/godotengine/godot/pull/101026)). -- Rename `LocalVector.invert()` -> `LocalVector.reverse()` to match the `Vector`, `String` and `List` APIs ([GH-101027](https://github.com/godotengine/godot/pull/101027)). -- Change `StringName.operator const void *` to `explicit operator bool` ([GH-101291](https://github.com/godotengine/godot/pull/101291)). -- Remove implicit conversions from `String`, `Char16String` and `CharString` to data pointers ([GH-101293](https://github.com/godotengine/godot/pull/101293)). -- Remove unnecessary allocations and memcpy in `codesign.cpp` ([GH-101295](https://github.com/godotengine/godot/pull/101295)). -- Add `String::ascii` creator functions, to parse a char buffer as ASCII ([GH-101304](https://github.com/godotengine/godot/pull/101304)). -- Remove unintentional use of zero-width space ([GH-101339](https://github.com/godotengine/godot/pull/101339)). -- Isolate `Ref` forward declare logic ([GH-101361](https://github.com/godotengine/godot/pull/101361)). -- Optimize and expose `Basis::scaled_local` to script ([GH-101563](https://github.com/godotengine/godot/pull/101563)). -- VariantParser: Fix reading negated identifiers, replace `inf_neg` with `-inf` ([GH-101618](https://github.com/godotengine/godot/pull/101618)). -- Automate generation of the `char_range.inc` file ([GH-101878](https://github.com/godotengine/godot/pull/101878)). -- Move `unicode_ranges` out of `dynamic_font_import_settings.cpp` into its own file ([GH-101880](https://github.com/godotengine/godot/pull/101880)). -- Don't inline certain functions for smaller binary size ([GH-101964](https://github.com/godotengine/godot/pull/101964)). -- Add DDS image load and save functionality ([GH-101994](https://github.com/godotengine/godot/pull/101994)). -- Optimize `ProjectSettings::get_setting_with_override` / `GLOBAL_GET` by avoiding repeated dict lookups ([GH-102126](https://github.com/godotengine/godot/pull/102126)). -- Optimize `String::get_data` by avoiding a dereference of ptr, and inlining the function ([GH-102369](https://github.com/godotengine/godot/pull/102369)). -- Sanitize ClassDB locking ([GH-102449](https://github.com/godotengine/godot/pull/102449)). -- Add `ERR_FAIL_COND_MSG` for reparenting to self ([GH-102451](https://github.com/godotengine/godot/pull/102451)). -- Add `scene_changed` signal to SceneTree ([GH-102986](https://github.com/godotengine/godot/pull/102986)). -- Fix file handle leak in ZipArchive and FileAccessZip ([GH-103219](https://github.com/godotengine/godot/pull/103219)). -- Rename "file" param for str.path_join() to "path" ([GH-103264](https://github.com/godotengine/godot/pull/103264)). -- Add compression level support to Zip Module ([GH-103283](https://github.com/godotengine/godot/pull/103283)). -- PackedScene: Use ObjectID for DeferredNodePathProperties base ([GH-103320](https://github.com/godotengine/godot/pull/103320)). -- Use single RNG instance for `FileAccessEncrypted` IV generation ([GH-103415](https://github.com/godotengine/godot/pull/103415)). -- Fix crash when calling `get_argument_count()` on Callable with freed object ([GH-103465](https://github.com/godotengine/godot/pull/103465)). -- Rename version defines to `GODOT_VERSION_*` to match GDExtension godot-cpp ([GH-103557](https://github.com/godotengine/godot/pull/103557)). -- Prevent inlining error printing functions ([GH-103577](https://github.com/godotengine/godot/pull/103577)). -- Add missing default values to the `read_*_from_stdin` binds ([GH-103619](https://github.com/godotengine/godot/pull/103619)). -- Avoid multiple lookups in `Dictionary::operator[]` ([GH-103647](https://github.com/godotengine/godot/pull/103647)). -- Fix `AHashMap` constructors reserving too few elements ([GH-103698](https://github.com/godotengine/godot/pull/103698)). -- Optimize `Object::cast_to` by assuming no virtual and multiple inheritance, gaining 7x throughput over `dynamic_cast` ([GH-103708](https://github.com/godotengine/godot/pull/103708)). -- Optimize `Array.resize` by using `memset` (through new `is_zero_constructible` type trait) ([GH-103759](https://github.com/godotengine/godot/pull/103759)). -- Fix translation remaps incorrectly falling back ([GH-103838](https://github.com/godotengine/godot/pull/103838)). -- VideoStreamPlayer: Redraw when stream resolution changes ([GH-103912](https://github.com/godotengine/godot/pull/103912)). -- Add C array constructor to `Span` ([GH-103923](https://github.com/godotengine/godot/pull/103923)). -- Add iteration to `Span` ([GH-103924](https://github.com/godotengine/godot/pull/103924)). -- Move `CowData` `find`, `rfind` and `count` to `Span` ([GH-103932](https://github.com/godotengine/godot/pull/103932)). -- Add `Span` conversion to `LocalVector` ([GH-103936](https://github.com/godotengine/godot/pull/103936)). -- Remove outdated `vformat` comments/workarounds in `time.cpp` ([GH-103939](https://github.com/godotengine/godot/pull/103939)). -- Improve error messages for `add_property_info()` ([GH-103944](https://github.com/godotengine/godot/pull/103944)). -- Directly use segment points in Geometry2D/3D function parameters ([GH-103993](https://github.com/godotengine/godot/pull/103993)). -- Remove unneeded `read_only` check for `Array` const operator ([GH-103999](https://github.com/godotengine/godot/pull/103999)). -- Add const iteration support to `Dictionary` ([GH-104047](https://github.com/godotengine/godot/pull/104047)). -- Add `FixedVector` template - a collection that can be used completely on the stack ([GH-104055](https://github.com/godotengine/godot/pull/104055)). -- Fix `Invalid Task ID` errors in `ResourceLoader` ([GH-104060](https://github.com/godotengine/godot/pull/104060)). -- Do not iterate `Dictionary` with `get_key_at_index` ([GH-104082](https://github.com/godotengine/godot/pull/104082)). -- Fix missing binding for `NOTIFICATION_WM_POSITION_CHANGED` ([GH-104083](https://github.com/godotengine/godot/pull/104083)). -- Use `resize_zeroed` instead of `resize` then `fill(0)` in several places ([GH-104109](https://github.com/godotengine/godot/pull/104109)). -- Add missing Projection constructor with 16 `real_t` values ([GH-104113](https://github.com/godotengine/godot/pull/104113)). -- Bind `SceneState` methods `get_path` and `get_base_scene_state` ([GH-104115](https://github.com/godotengine/godot/pull/104115)). -- Add `Memory::alloc_static_zeroed` to allocate memory that's filled with zeroes ([GH-104124](https://github.com/godotengine/godot/pull/104124)). -- Remove `String` clipping constructors ([GH-104127](https://github.com/godotengine/godot/pull/104127)). -- Fix `Marshalls.utf8_to_base64` shows `"ret.is_empty()" is true` error for empty string ([GH-104155](https://github.com/godotengine/godot/pull/104155)). -- Recycle `zstd` decompression context if possible, avoiding repeated allocations ([GH-104178](https://github.com/godotengine/godot/pull/104178)). -- Add missing `String + char *` function, to avoid unnecessary right side allocation to `String` ([GH-104182](https://github.com/godotengine/godot/pull/104182)). -- Expand `is_zero_constructible` coverage ([GH-104183](https://github.com/godotengine/godot/pull/104183)). -- Optimize `FileAccessCompressed::get_buffer` by using `memcpy` ([GH-104187](https://github.com/godotengine/godot/pull/104187)). -- Fix hash issue with OptimizedTranslation caused by signed char ([GH-104218](https://github.com/godotengine/godot/pull/104218)). -- Fix tangent baking for curves when cubic derivatives are 0 ([GH-104221](https://github.com/godotengine/godot/pull/104221)). -- Optimize thread pools by avoiding needless locks and unlocks of the `task_mutex` ([GH-104237](https://github.com/godotengine/godot/pull/104237)). -- Simplify and optimize `Math::absf` implementation to use `::fabs` and `::fabsf` ([GH-104273](https://github.com/godotengine/godot/pull/104273)). -- Harmonize `String`, `Vector` and `LocalVector` `find` and `rfind` ([GH-104286](https://github.com/godotengine/godot/pull/104286)). -- Don't free already freed scenes when changing `SceneTree` current scene ([GH-104335](https://github.com/godotengine/godot/pull/104335)). -- Optimize `ClassDB::get_direct_inheriters_from_class` ([GH-104355](https://github.com/godotengine/godot/pull/104355)). -- Optimize `Array` methods with `SWAP`/`std::move` ([GH-104374](https://github.com/godotengine/godot/pull/104374)). -- Optimize `Object::notification` by avoiding runtime branches ([GH-104381](https://github.com/godotengine/godot/pull/104381)). -- Optimize `Color::to_html` by allocating less ([GH-104389](https://github.com/godotengine/godot/pull/104389)). -- Do not iterate `Dictionary` with `Dictionary::keys()` ([GH-104432](https://github.com/godotengine/godot/pull/104432)). -- Add `resize_initialized` and `resize_uninitialized` to `Vector` and `LocalVector` ([GH-104522](https://github.com/godotengine/godot/pull/104522)). -- Use `append_` instead of `parse_` for `String` methods ([GH-104556](https://github.com/godotengine/godot/pull/104556)). -- Include `intrin.h` for MSVC ([GH-104570](https://github.com/godotengine/godot/pull/104570)). -- Expose TriangleMesh api functions wrapped for scripting ([GH-104625](https://github.com/godotengine/godot/pull/104625)). -- Add move semantics to `Ref` ([GH-104649](https://github.com/godotengine/godot/pull/104649)). -- Add missing `initializer_list` constructor to TypedDictionary ([GH-104664](https://github.com/godotengine/godot/pull/104664)). -- Remove redundant `ClassDB::locker` declaration ([GH-104668](https://github.com/godotengine/godot/pull/104668)). -- Optimize `LocalVector::push_back` for non-trivial objects ([GH-104693](https://github.com/godotengine/godot/pull/104693)). -- Use `LocalVector` in `RID_Owner::get_owned_list` ([GH-104738](https://github.com/godotengine/godot/pull/104738)). -- Image: Improve `is_invisible` function ([GH-104741](https://github.com/godotengine/godot/pull/104741)). -- Image: Fix typo at `_set_color_at_ofs` with `FORMAT_RGB565` ([GH-104745](https://github.com/godotengine/godot/pull/104745)). -- Fix reversed hex order in `Color::to_html` ([GH-104746](https://github.com/godotengine/godot/pull/104746)). -- Add missing "/" to "center" tag in `__print_line_rich()` ([GH-104774](https://github.com/godotengine/godot/pull/104774)). -- Rename `_strlen_clipped` to `strnlen` (and use the system equivalent for `char *` inputs) ([GH-104815](https://github.com/godotengine/godot/pull/104815)). -- Add and require `GDSOFTCLASS` for `Object` subclasses that want to cast but do not use `GDCLASS` ([GH-104844](https://github.com/godotengine/godot/pull/104844)). -- Fix time display in MovieWriter window title and console output ([GH-104856](https://github.com/godotengine/godot/pull/104856)). -- Optimize Color HTML validation ([GH-104885](https://github.com/godotengine/godot/pull/104885)). -- Optimize Color.html() ([GH-104897](https://github.com/godotengine/godot/pull/104897)). -- CryptoCore: Use `size_t` for buffer sizes to fix encoding/sums of 2.0+ GiB files ([GH-104960](https://github.com/godotengine/godot/pull/104960)). -- PortableCompressedTexture: Fix create compressed format from image ([GH-104962](https://github.com/godotengine/godot/pull/104962)). -- Always use `String` as `StringName` backing internally ([GH-104985](https://github.com/godotengine/godot/pull/104985)). -- `VariantWriter::write`: Fix writing negative infinity when `p_compat` is true ([GH-104991](https://github.com/godotengine/godot/pull/104991)). -- Optimize `ClassDB::get_inheriters_from_class` ([GH-105020](https://github.com/godotengine/godot/pull/105020)). -- Decouple `GDCLASS` from `ClassDB` ([GH-105028](https://github.com/godotengine/godot/pull/105028)). -- Fix caching of objects' class name pointer in `Object` instances ([GH-105099](https://github.com/godotengine/godot/pull/105099)). -- Add uri_file_decode to handle + in file names ([GH-105130](https://github.com/godotengine/godot/pull/105130)). -- Fix `FileAccessCompressed` claiming one byte more than it actually has ([GH-105144](https://github.com/godotengine/godot/pull/105144)). -- Add bswap methods to the `PackedByteArray` bindings ([GH-105145](https://github.com/godotengine/godot/pull/105145)). -- Add a safety check for `CowData::_unref()`, for when something tries to add elements during destruction ([GH-105146](https://github.com/godotengine/godot/pull/105146)). -- Change `get_class_static` to return `StringName` ([GH-105166](https://github.com/godotengine/godot/pull/105166)). -- Remove misleading and incorrect notes about endianness. Fix FileAccess and StreamPeer not doing what name suggests ([GH-105178](https://github.com/godotengine/godot/pull/105178)). -- Fix Thread crash when using invalid callback signature. And invalid message formatting ([GH-105180](https://github.com/godotengine/godot/pull/105180)). -- Use non-recursive mutex for `StringName`, improving performance ([GH-105192](https://github.com/godotengine/godot/pull/105192)). -- Use validated key in `Dictionary::has` ([GH-105205](https://github.com/godotengine/godot/pull/105205)). -- Add GDSOFTCLASS to FileAccess and DirAccess derived classes ([GH-105210](https://github.com/godotengine/godot/pull/105210)). -- Fix BBCode print with nested `[` ([GH-105247](https://github.com/godotengine/godot/pull/105247)). -- Smoke test: Log an error if `reserve()` is called with fewer elements than `size()` ([GH-105278](https://github.com/godotengine/godot/pull/105278)). -- Fix custom scene argument if it's referenced as UID ([GH-105288](https://github.com/godotengine/godot/pull/105288)). -- Add `--scene` command line argument ([GH-105302](https://github.com/godotengine/godot/pull/105302)). -- Suppress unused parameter warning conflicting with if constexpr ([GH-105326](https://github.com/godotengine/godot/pull/105326)). -- Allow inserting at end of array again ([GH-105334](https://github.com/godotengine/godot/pull/105334)). -- Optimize `Array` `min`/`max` methods ([GH-105392](https://github.com/godotengine/godot/pull/105392)). -- Add thread safety to Object signals ([GH-105453](https://github.com/godotengine/godot/pull/105453)). -- Increase chunk limit for known problematic `RID_Owners` ([GH-105470](https://github.com/godotengine/godot/pull/105470)). -- Fix cases where `_get` returned true erroneously ([GH-105537](https://github.com/godotengine/godot/pull/105537)). -- Remove 2^31 cap on RID allocations ([GH-105538](https://github.com/godotengine/godot/pull/105538)). -- Ensure `VARIANT` instances are actually `VT_BSTR` before treating them as such in `OS_Windows::get_video_adapter_driver_info()` ([GH-105548](https://github.com/godotengine/godot/pull/105548)). -- Reuse and optimize sorting logic for `List`, `SelfList`, and `HashMap` ([GH-105629](https://github.com/godotengine/godot/pull/105629)). -- Improve ConfigFile get_sections and get_section_keys by returning Vector ([GH-105700](https://github.com/godotengine/godot/pull/105700)). -- Improve Window's `_validate_property()` ([GH-105730](https://github.com/godotengine/godot/pull/105730)). -- Print script backtrace in the crash handler ([GH-105741](https://github.com/godotengine/godot/pull/105741)). -- Remove unnecessary `StringName` `idx` cache in `_Data` to reduce its size ([GH-105760](https://github.com/godotengine/godot/pull/105760)). -- Use `PagedAllocator` for `StringName` to accelerate and localize allocations ([GH-105761](https://github.com/godotengine/godot/pull/105761)). -- Optimize static allocations by removing unused `Memory::alloc_count` ([GH-105767](https://github.com/godotengine/godot/pull/105767)). -- Add `GLOBAL_GET` cached macros ([GH-105910](https://github.com/godotengine/godot/pull/105910)). -- Use `__fastfail()` in MSVC error macros ([GH-105916](https://github.com/godotengine/godot/pull/105916)). -- Avoid extra copy/validation of keys in `Dictionary::has_all` ([GH-105922](https://github.com/godotengine/godot/pull/105922)). -- Deprecate `PackedDataContainer` ([GH-105990](https://github.com/godotengine/godot/pull/105990)). -- Only update case sensitive fuzzy searching within `set_query` ([GH-105996](https://github.com/godotengine/godot/pull/105996)). -- Optimize `HashMap` insertion by removing duplicate computation of hash and position ([GH-106020](https://github.com/godotengine/godot/pull/106020)). -- Reduce allocations/copies in `String::format` ([GH-106027](https://github.com/godotengine/godot/pull/106027)). -- Add Dictionary Type Hint to SVGTexture ([GH-106087](https://github.com/godotengine/godot/pull/106087)). -- Fix empty lines being added for errors with no script backtrace ([GH-106089](https://github.com/godotengine/godot/pull/106089)). -- Fix for debugging typed dictionaries ([GH-106170](https://github.com/godotengine/godot/pull/106170)). -- Support 64-bit sizes in Compression ([GH-106190](https://github.com/godotengine/godot/pull/106190)). -- Faster `Node::get_child_count()` ([GH-106226](https://github.com/godotengine/godot/pull/106226)). -- Fix wrong children range when duplicating node ([GH-106281](https://github.com/godotengine/godot/pull/106281)). -- Remove translation loading logic that was never used ([GH-106295](https://github.com/godotengine/godot/pull/106295)). -- Improve `Timer::start` error message ([GH-106307](https://github.com/godotengine/godot/pull/106307)). -- Avoid single character `String` allocations when appending characters ([GH-106309](https://github.com/godotengine/godot/pull/106309)). -- Refactor `TextEdit::search` to be more robust to failure ([GH-106342](https://github.com/godotengine/godot/pull/106342)). -- Optimize `HashMap` size for zero-sized Allocators ([GH-106353](https://github.com/godotengine/godot/pull/106353)). -- Move bisect functionality to `Span` and deduplicate code ([GH-106357](https://github.com/godotengine/godot/pull/106357)). -- Accelerate `HashMap` and `HashSet` lookup by using `if` based modulo in loops ([GH-106569](https://github.com/godotengine/godot/pull/106569)). -- Add 64-bit versions of core power of 2 functions ([GH-106606](https://github.com/godotengine/godot/pull/106606)). -- Prevent comparison of items with themselves while partitioning sort arrays ([GH-106661](https://github.com/godotengine/godot/pull/106661)). -- Use `LocalVector` for `RingBuffer` ([GH-106689](https://github.com/godotengine/godot/pull/106689)). -- Expose helper methods for converting UIDs ([GH-106717](https://github.com/godotengine/godot/pull/106717)). -- Improve error messages in ResourceLoader ([GH-106720](https://github.com/godotengine/godot/pull/106720)). -- Simplify implementation of `errarray` ([GH-106754](https://github.com/godotengine/godot/pull/106754)). -- Update `time.cpp` year/unix time conversions to be constant time ([GH-106759](https://github.com/godotengine/godot/pull/106759)). -- Move compatible functionality from `GDCLASS` to `GDSOFTCLASS` ([GH-106775](https://github.com/godotengine/godot/pull/106775)). -- Theora: Fix UV channel offset when cropping region ([GH-106779](https://github.com/godotengine/godot/pull/106779)). -- Remove redundant `data.inside_tree` ([GH-106903](https://github.com/godotengine/godot/pull/106903)). -- JavaClassWrapper: Don't discard overloaded methods that differ by object type ([GH-106908](https://github.com/godotengine/godot/pull/106908)). -- Add missing headers in `FixedVector` and `Span` ([GH-106954](https://github.com/godotengine/godot/pull/106954)). -- Remove `OAHashMap`, in favor of `AHashMap` ([GH-106996](https://github.com/godotengine/godot/pull/106996)). -- Expose `WorkerThreadPool.get_caller_task_id()` ([GH-107029](https://github.com/godotengine/godot/pull/107029)). -- Add `WorkerThreadPool.get_caller_group_id` ([GH-107040](https://github.com/godotengine/godot/pull/107040)). -- Fix `ResourceSaver` saving default value of `Resource` ([GH-107049](https://github.com/godotengine/godot/pull/107049)). -- Fix various race conditions with capturing of script backtraces ([GH-107058](https://github.com/godotengine/godot/pull/107058)). -- Fix async resource loading progress on empty `p_original_path` ([GH-107114](https://github.com/godotengine/godot/pull/107114)). -- Revert some instances of `Math::INF` back to 1e20 ([GH-107151](https://github.com/godotengine/godot/pull/107151)). -- Add Ogg Theora support to MovieWriter ([GH-107188](https://github.com/godotengine/godot/pull/107188)). -- Fix resources wrongly duplicated upon instantiating inherited scenes ([GH-107219](https://github.com/godotengine/godot/pull/107219)). -- Bitpack node auto translation values ([GH-107283](https://github.com/godotengine/godot/pull/107283)). -- Add missing Color hash function ([GH-107289](https://github.com/godotengine/godot/pull/107289)). -- Expose `Node.can_auto_translate()` ([GH-107344](https://github.com/godotengine/godot/pull/107344)). -- Fix `script` property of custom resources inherited from scripts are not saved ([GH-107355](https://github.com/godotengine/godot/pull/107355)). -- Add a proper error message when trying to add node to a group with an empty name ([GH-107375](https://github.com/godotengine/godot/pull/107375)). -- Stop `FileAccess::fix_path` from emitting errors for invalid UIDs ([GH-107402](https://github.com/godotengine/godot/pull/107402)). -- Add a smoke test for non-empty `nullptr` `Span` ([GH-107444](https://github.com/godotengine/godot/pull/107444)). -- Improve error messages for method calls expecting only 1 argument ([GH-107457](https://github.com/godotengine/godot/pull/107457)). -- PCKPacker: Fix first file being written mis-aligned ([GH-107482](https://github.com/godotengine/godot/pull/107482)). -- Fix data race in remote debugger; handle errors ([GH-107643](https://github.com/godotengine/godot/pull/107643)). -- Fix invalid resize after appending ([GH-107646](https://github.com/godotengine/godot/pull/107646)). -- Enhance bindings of deep resource duplication ([GH-107770](https://github.com/godotengine/godot/pull/107770)). -- Use `reserve` in `LocalVector::resize`, to restore expected growth behavior ([GH-107796](https://github.com/godotengine/godot/pull/107796)). -- Always decode `--scene` argument UID path ([GH-107848](https://github.com/godotengine/godot/pull/107848)). -- Image: Fix `is_invisible` detection for RGBAH and RGBAF ([GH-107898](https://github.com/godotengine/godot/pull/107898)). -- Fix typed collections using same reference across scene instances ([GH-108216](https://github.com/godotengine/godot/pull/108216)). -- Never duplicate Scripts when duplicating resources recursively ([GH-108453](https://github.com/godotengine/godot/pull/108453)). -- Fix issue with array comparison reference ([GH-108459](https://github.com/godotengine/godot/pull/108459)). -- Remove an unnecessary include of main/ code from core/ ([GH-108464](https://github.com/godotengine/godot/pull/108464)). -- Fix releasing the old unique name when renaming a Node ([GH-108684](https://github.com/godotengine/godot/pull/108684)). -- Ensure that threads only process one pump task ([GH-108697](https://github.com/godotengine/godot/pull/108697)). -- Fix internal JSON stringify not preserving p_full_precision ([GH-108831](https://github.com/godotengine/godot/pull/108831)). -- Prevent infinite recursion during printing ([GH-108860](https://github.com/godotengine/godot/pull/108860)). -- macOS: Make document type icons look closer to current macOS system type icons ([GH-109008](https://github.com/godotengine/godot/pull/109008)). -- Fix external resource IDs being lost for default properties ([GH-109122](https://github.com/godotengine/godot/pull/109122)). -- Allow processing low priority threads on calling thread in the WTP ([GH-109151](https://github.com/godotengine/godot/pull/109151)). -- Fix `printraw` causing infinite recursion in `Logger._log_message` ([GH-109172](https://github.com/godotengine/godot/pull/109172)). -- Fix FindClass() failing to find Dictionary on Android leading to crash ([GH-109188](https://github.com/godotengine/godot/pull/109188)). -- Harden jni_find_class() and its setup/cleanup ([GH-109227](https://github.com/godotengine/godot/pull/109227)). -- Automatically unregister loggers when script language is deinitialized ([GH-109240](https://github.com/godotengine/godot/pull/109240)). -- Fix symlink copy in `DirAccess::copy_dir` ([GH-109276](https://github.com/godotengine/godot/pull/109276)). -- Fix `local_to_scene` duplication of typed dictionary ([GH-109377](https://github.com/godotengine/godot/pull/109377)). -- Fix screen_orientation not being assigned on ios ([GH-109478](https://github.com/godotengine/godot/pull/109478)). -- Fix drive selection issue on Android ([GH-109528](https://github.com/godotengine/godot/pull/109528)). -- Don't use `alloca()` in `Object::emit_signalp()` to prevent stack overflow ([GH-109612](https://github.com/godotengine/godot/pull/109612)). -- Fix regression in mechanism to hold objects while emitting ([GH-109770](https://github.com/godotengine/godot/pull/109770)). -- Fix typo in ScriptLanguageExtension::lookup_code ([GH-109772](https://github.com/godotengine/godot/pull/109772)). -- Rename SVGTexture to DPITexture ([GH-109811](https://github.com/godotengine/godot/pull/109811)). -- Fix safe area regression on older Android versions ([GH-109818](https://github.com/godotengine/godot/pull/109818)). -- Make `SceneTree` not crash when receiving a notification without a root being set ([GH-110041](https://github.com/godotengine/godot/pull/110041)). -- Fix Resource duplicate calls `ImageTexture::set_image` with an invalid image ([GH-110215](https://github.com/godotengine/godot/pull/110215)). +- Add `DUPLICATE_INTERNAL_STATE` flag ([GH-57121](https://github.com/godotengine/godot/pull/57121)). +- Fix resource shared when duplicating an instanced scene ([GH-64487](https://github.com/godotengine/godot/pull/64487)). +- Supplement the case of scene instantiation for "Editable Children" ([GH-81530](https://github.com/godotengine/godot/pull/81530)). +- Initialize `Quaternion` variant with identity ([GH-84658](https://github.com/godotengine/godot/pull/84658)). +- Add `change_scene_to_node()` ([GH-85762](https://github.com/godotengine/godot/pull/85762)). +- Change how ImageTexture's image is defined ([GH-89983](https://github.com/godotengine/godot/pull/89983)). +- Clean up `String::find` and similar functions to remove duplicate code, and speed up comparison ([GH-101247](https://github.com/godotengine/godot/pull/101247)). +- Add `Image.load_exr_from_buffer` ([GH-101255](https://github.com/godotengine/godot/pull/101255)). +- Round AtlasTexture size ([GH-101342](https://github.com/godotengine/godot/pull/101342)). +- Remove `load_steps` from `resource_format_text.cpp` ([GH-103352](https://github.com/godotengine/godot/pull/103352)). +- Optimize `vformat` by using `Span` in `sprintf` ([GH-103917](https://github.com/godotengine/godot/pull/103917)). +- Add `Span` equality (`==` and `!=`) operators ([GH-104280](https://github.com/godotengine/godot/pull/104280)). +- Add 'Find Sequence' to `Span`s, and consolidate negative indexing behavior ([GH-104332](https://github.com/godotengine/godot/pull/104332)). +- Fix non-tool script check when emitting signals ([GH-104340](https://github.com/godotengine/godot/pull/104340)). +- Expose missing `String` encoding conversion functions ([GH-104781](https://github.com/godotengine/godot/pull/104781)). +- Add `recording_signals` to MissingNode, and rename `MTVIRTUAL` to `DEBUG_VIRTUAL` ([GH-105449](https://github.com/godotengine/godot/pull/105449)). +- Make `MissingNode`/`MissingResource` non-virtual and hide from dialogs ([GH-105450](https://github.com/godotengine/godot/pull/105450)). +- Add initial architecture for first-class `Object` types. Optimize `is_class` ([GH-105793](https://github.com/godotengine/godot/pull/105793)). +- Add `reserve` function to `Array`, `Vector`, and `String` ([GH-105928](https://github.com/godotengine/godot/pull/105928)). +- Add `reserve_exact` to `CowData`, and change growth factor to 1.5x ([GH-106039](https://github.com/godotengine/godot/pull/106039)). +- Fix `Dictionary::operator[]` from C++ accidentally modifying `const` dictionaries ([GH-106636](https://github.com/godotengine/godot/pull/106636)). +- Add unique Node IDs to support base and instantiated scene refactorings ([GH-106837](https://github.com/godotengine/godot/pull/106837)). +- Fix `FixedVector` move and copy semantics ([GH-106997](https://github.com/godotengine/godot/pull/106997)). +- Add `Node::iterate_children` as a fast way to iterate a node's children ([GH-107369](https://github.com/godotengine/godot/pull/107369)). +- Use `LocalVector` for `Node3D` and `CanvasItem` children ([GH-107481](https://github.com/godotengine/godot/pull/107481)). +- Provide quick access to `Object` ancestry ([GH-107868](https://github.com/godotengine/godot/pull/107868)). +- Improve error message when UID main scene is not found ([GH-108075](https://github.com/godotengine/godot/pull/108075)). +- Simplify `varray` ([GH-108118](https://github.com/godotengine/godot/pull/108118)). +- Avoid unnecessary copy in `ClassDB::get_property_list` ([GH-108504](https://github.com/godotengine/godot/pull/108504)). +- Optimize scene tree groups ([GH-108507](https://github.com/godotengine/godot/pull/108507)). +- Simplify `ScriptServer::get_global_class_list` ([GH-108577](https://github.com/godotengine/godot/pull/108577)). +- Optimize and clean up `HashSet::clear` ([GH-108698](https://github.com/godotengine/godot/pull/108698)). +- Add project setting and build option to disable `override.cfg` and related CLI arguments ([GH-108818](https://github.com/godotengine/godot/pull/108818)). +- Use `num_scientific` (Grisu2) when stringifying JSON with full precision ([GH-108836](https://github.com/godotengine/godot/pull/108836)). +- Do not zero elements and perform fast clear in `HashMap` ([GH-108932](https://github.com/godotengine/godot/pull/108932)). +- Ensure all MovieWriter frames have the same resolution as the first frame ([GH-108954](https://github.com/godotengine/godot/pull/108954)). +- Make getting a path from UID cache slightly faster ([GH-108981](https://github.com/godotengine/godot/pull/108981)). +- Round gradient colors ([GH-109012](https://github.com/godotengine/godot/pull/109012)). +- Add `has_extension()` method to String ([GH-109433](https://github.com/godotengine/godot/pull/109433)). +- Fix `FileAccess::create_temp()` default args error ([GH-109843](https://github.com/godotengine/godot/pull/109843)). +- Geometry2D minor optimization ([GH-109897](https://github.com/godotengine/godot/pull/109897)). +- Make `Node::orphan_node_count` thread-safe ([GH-109900](https://github.com/godotengine/godot/pull/109900)). +- Perform per-line or per-rect blits in `blit_rect` ([GH-110058](https://github.com/godotengine/godot/pull/110058)). +- Optimize data flushing for `FileAccessCompressed` and `FileAccessEncrypted` ([GH-110169](https://github.com/godotengine/godot/pull/110169)). +- Remove unused parameter in `__constant_get_enum_name`/`__constant_get_bitfield_name` ([GH-110206](https://github.com/godotengine/godot/pull/110206)). +- Image: Support generating mipmaps for all uncompressed formats ([GH-110257](https://github.com/godotengine/godot/pull/110257)). +- Image: Optimize manual format conversion ([GH-110271](https://github.com/godotengine/godot/pull/110271)). +- Fix duplicate minus in print output ([GH-110354](https://github.com/godotengine/godot/pull/110354)). +- Prevent JNI Variant conversion stack overflow ([GH-110452](https://github.com/godotengine/godot/pull/110452)). +- Add reverse UID cache ([GH-110464](https://github.com/godotengine/godot/pull/110464)). +- Optimize NodePath to String by using cached path ([GH-110478](https://github.com/godotengine/godot/pull/110478)). +- Avoid repeated `_copy_on_write()` calls in `Array::resize()` ([GH-110535](https://github.com/godotengine/godot/pull/110535)). +- Check for `NUL` characters in string parsing functions ([GH-110556](https://github.com/godotengine/godot/pull/110556)). +- Improve `Node::get_children` performance ([GH-110571](https://github.com/godotengine/godot/pull/110571)). +- Apply `rtos_fix` hack for handling 32-bit floats on all calls to `rtos_fix` ([GH-110616](https://github.com/godotengine/godot/pull/110616)). +- X11 input: prevent non-printable keys from producing empty strings ([GH-110635](https://github.com/godotengine/godot/pull/110635)). +- Optimize children cache updates and refine special-case handling ([GH-110650](https://github.com/godotengine/godot/pull/110650)). +- Add `GDSOFTCLASS` to `NetSocket` ([GH-110694](https://github.com/godotengine/godot/pull/110694)). +- Add ability to get list of Project Settings changed, similar to Editor Settings functionality ([GH-110748](https://github.com/godotengine/godot/pull/110748)). +- Add `GDSOFTCLASS` to six inheritors of `Object` ([GH-110752](https://github.com/godotengine/godot/pull/110752)). +- Use `AncestralClass` to speed up `Object::cast_to` when possible ([GH-110763](https://github.com/godotengine/godot/pull/110763)). +- Change "reserve called with a capacity smaller than the current size" error message to a verbose message ([GH-110826](https://github.com/godotengine/godot/pull/110826)). +- Add `GDSOFTCLASS` to deeper inheritors of `Object` ([GH-110837](https://github.com/godotengine/godot/pull/110837)). +- Add comments to `String::size` to lead people to `length()` and explain the difference ([GH-110932](https://github.com/godotengine/godot/pull/110932)). +- Remove unused `multiplayer` member from `Node` ([GH-111067](https://github.com/godotengine/godot/pull/111067)). +- Make `CowData::reserve` warn message when new capacity < size verbose, like other `reserve` methods ([GH-111084](https://github.com/godotengine/godot/pull/111084)). +- Optimize initial `Node::get_path` call by avoiding `Vector::reverse` ([GH-111126](https://github.com/godotengine/godot/pull/111126)). +- Speed up `Node::is_greater_than` by avoiding `alloca` ([GH-111163](https://github.com/godotengine/godot/pull/111163)). +- Remove `hash_map.h` include from `a_hash_map.h`, and remove cross conversion operators ([GH-111221](https://github.com/godotengine/godot/pull/111221)). +- Remove unused members from `Viewport` ([GH-111304](https://github.com/godotengine/godot/pull/111304)). +- Improve type registration order in `register_core_types.cpp` ([GH-111318](https://github.com/godotengine/godot/pull/111318)). +- Remove `Object::script` ([GH-111323](https://github.com/godotengine/godot/pull/111323)). +- Simplify `gdvirtual.gen.inc` `_get_method_info` arguments with a helper function ([GH-111327](https://github.com/godotengine/godot/pull/111327)). +- Abstract `Object` virtual pointer init into a method instead of duplicating it across `gdvirtual.gen.inc` ([GH-111337](https://github.com/godotengine/godot/pull/111337)). +- Bitpack more `Object` booleans ([GH-111339](https://github.com/godotengine/godot/pull/111339)). +- Assert that `dictionary.h` does not include `String`, and that neither of the fundamental containers include `Object` ([GH-111342](https://github.com/godotengine/godot/pull/111342)). +- Register core singleton types before instantiating them ([GH-111383](https://github.com/godotengine/godot/pull/111383)). +- Fix `load_threaded_get` returning `null` when used with `CACHE_MODE_IGNORE` ([GH-111387](https://github.com/godotengine/godot/pull/111387)). +- Reorder registration of types, to register supertypes before subtypes ([GH-111431](https://github.com/godotengine/godot/pull/111431)). +- Handle NaN and Infinity in JSON stringify function ([GH-111498](https://github.com/godotengine/godot/pull/111498)). +- Fix missing includes in `type_info.h` ([GH-111561](https://github.com/godotengine/godot/pull/111561)). +- Add missing initialization for bitpacked object members ([GH-111617](https://github.com/godotengine/godot/pull/111617)). +- Consolidate typed container logic with `type_info.h` ([GH-111661](https://github.com/godotengine/godot/pull/111661)). +- Fix false positive warning with `FixedVector` array bounds in gcc ([GH-111761](https://github.com/godotengine/godot/pull/111761)). +- Sidestep GCC false-positive ([GH-111771](https://github.com/godotengine/godot/pull/111771)). +- Fix buffer over-read in `FileAccessMemory::get_buffer` ([GH-111772](https://github.com/godotengine/godot/pull/111772)). +- Improve determinism of UIDs ([GH-111858](https://github.com/godotengine/godot/pull/111858)). +- Disable some unsafe CLI arguments in template builds by default ([GH-111909](https://github.com/godotengine/godot/pull/111909)). +- Fix `memnew_placement` with `char *` arguments ([GH-112033](https://github.com/godotengine/godot/pull/112033)). +- Fix duplicating node references of custom node type properties ([GH-112076](https://github.com/godotengine/godot/pull/112076)). +- Main: Fix typo in `--gpu-profile` CLI argument ([GH-112113](https://github.com/godotengine/godot/pull/112113)). +- ClassDB: Use `AHashMap` for `property_setget` and `constant/signal_map` ([GH-112129](https://github.com/godotengine/godot/pull/112129)). +- Explain `Dictionary.set()` return value in docs ([GH-112261](https://github.com/godotengine/godot/pull/112261)). +- Avoid extra copy in `Vector`/`CowData` `push_back`/`insert` ([GH-112630](https://github.com/godotengine/godot/pull/112630)). +- Add a const version of `List::find` ([GH-112660](https://github.com/godotengine/godot/pull/112660)). +- Add memory profiling macros for tracy profiler option ([GH-112702](https://github.com/godotengine/godot/pull/112702)). +- Fix scene argument parsing ([GH-112716](https://github.com/godotengine/godot/pull/112716)). +- Add some comments in the `profiling.h` header ([GH-112725](https://github.com/godotengine/godot/pull/112725)). +- Add `permissions/manage_media` to Android export options ([GH-112819](https://github.com/godotengine/godot/pull/112819)). +- Add error message when trying to load project from CWD ([GH-112844](https://github.com/godotengine/godot/pull/112844)). +- Include key in `Dictionary::operator[]` error message ([GH-112853](https://github.com/godotengine/godot/pull/112853)). +- Fix bug where optional argument is not validated before use ([GH-112969](https://github.com/godotengine/godot/pull/112969)). +- Correctly mark frame start for profilers (Tracy/Perfetto) on Linux ([GH-113023](https://github.com/godotengine/godot/pull/113023)). +- Fix `String::rfindn` for strings with only one character ([GH-113044](https://github.com/godotengine/godot/pull/113044)). +- Only call `GodotProfileAlloc` when the allocation actually happened ([GH-113061](https://github.com/godotengine/godot/pull/113061)). +- Fix a thread warning ([GH-113064](https://github.com/godotengine/godot/pull/113064)). +- Allow `override.cfg` to add autoloads to the front of the list ([GH-113078](https://github.com/godotengine/godot/pull/113078)). +- Ensure paths in autoload info ([GH-113088](https://github.com/godotengine/godot/pull/113088)). +- ResourceLoader: Fix potential infinite recursion in progress reporting ([GH-113114](https://github.com/godotengine/godot/pull/113114)). +- Skip ResourceLoader's progress query if not requested ([GH-113117](https://github.com/godotengine/godot/pull/113117)). +- Reuse/optimize common `OperatorEvaluator*::evaluate` logic ([GH-113132](https://github.com/godotengine/godot/pull/113132)). +- Fix memory alignment on 32-bit Windows ([GH-113145](https://github.com/godotengine/godot/pull/113145)). +- Add back I/O error-handling to `FileAccessPack` constructor ([GH-113150](https://github.com/godotengine/godot/pull/113150)). +- Do not attempt deleting local cache in `Resource::_teardown_duplicate_from_variant` ([GH-113179](https://github.com/godotengine/godot/pull/113179)). +- Make `Variant::get_type_by_name` `HashMap` initialization thread-safe ([GH-113211](https://github.com/godotengine/godot/pull/113211)). +- Mention the called function name in thread group error messages ([GH-113218](https://github.com/godotengine/godot/pull/113218)). +- Fix loading old-style translation files ([GH-113322](https://github.com/godotengine/godot/pull/113322)). +- Add Apple Instruments support ([GH-113342](https://github.com/godotengine/godot/pull/113342)). +- Android: Add method to take persistable URI permission ([GH-113367](https://github.com/godotengine/godot/pull/113367)). +- Optimize NodePath ([GH-113447](https://github.com/godotengine/godot/pull/113447)). +- Fix crash in `command_queue_mt` due to destruction of wrong object ([GH-113525](https://github.com/godotengine/godot/pull/113525)). +- Make `!configured` checks in `profiling.cpp` soft checks instead of crashing ([GH-113526](https://github.com/godotengine/godot/pull/113526)). +- Unix: Remove leading `..` from absolute paths and apply `simplify_path` to Unix current directory path ([GH-113575](https://github.com/godotengine/godot/pull/113575)). +- Add support for profiling system calls from GDScript with the tracy integration ([GH-113632](https://github.com/godotengine/godot/pull/113632)). +- CommandQueueMT: Make re-entrant again + Fix multiple flushers case ([GH-113802](https://github.com/godotengine/godot/pull/113802)). +- Make memory profiling optional ([GH-113807](https://github.com/godotengine/godot/pull/113807)). +- Fix building with Perfetto profiler ([GH-113812](https://github.com/godotengine/godot/pull/113812)). +- macOS: Remove duplicate profiler init call ([GH-113813](https://github.com/godotengine/godot/pull/113813)). +- Vector4: Fix loss of precision with division ([GH-113848](https://github.com/godotengine/godot/pull/113848)). +- Remove underscore from parameter name in `FileAccess::set_extended_attribute_string` ([GH-113934](https://github.com/godotengine/godot/pull/113934)). +- Fix potential DAP crash at startup ([GH-114196](https://github.com/godotengine/godot/pull/114196)). +- Add inline documentation to `Vector::reserve` and `Vector::reserve_exact` ([GH-114563](https://github.com/godotengine/godot/pull/114563)). +- Fix description for `resize_uninitialized` ([GH-114688](https://github.com/godotengine/godot/pull/114688)). +- Auto-release static GDTypes at exit ([GH-114790](https://github.com/godotengine/godot/pull/114790)). +- Restore period in loaded node paths ([GH-115231](https://github.com/godotengine/godot/pull/115231)). #### Documentation -- Overhaul Node3D documentation ([GH-87440](https://github.com/godotengine/godot/pull/87440)). -- Replace XML codeblock spaces with tabs ([GH-89819](https://github.com/godotengine/godot/pull/89819)). -- Overhaul CanvasItem documentation (no `draw` methods) ([GH-93735](https://github.com/godotengine/godot/pull/93735)). -- Move and simplify Object's `connect` description slightly ([GH-94143](https://github.com/godotengine/godot/pull/94143)). -- Add tip to use more specific return type for `_iter_get()` ([GH-97821](https://github.com/godotengine/godot/pull/97821)). -- Improve documentation on "physics spiral of death" in ProjectSettings ([GH-98250](https://github.com/godotengine/godot/pull/98250)). -- Mention `DUPLICATE_SIGNALS` only affects `CONNECT_PERSIST` signals ([GH-99631](https://github.com/godotengine/godot/pull/99631)). -- Clarify ambiguous String comparison methods documentation ([GH-100849](https://github.com/godotengine/godot/pull/100849)). -- Add explanation for the `PROPERTY_HINT_DICTIONARY_TYPE` data format ([GH-100926](https://github.com/godotengine/godot/pull/100926)). -- Update capsule documentations for size constraint clarifications ([GH-101732](https://github.com/godotengine/godot/pull/101732)). -- Specify `max_slides` must be greater than 0 ([GH-101776](https://github.com/godotengine/godot/pull/101776)). -- Add a note about `Object._init` and required parameters in relation to `@rpc` ([GH-102123](https://github.com/godotengine/godot/pull/102123)). -- Fix `LogMultiplayer` example in documentation ([GH-102283](https://github.com/godotengine/godot/pull/102283)). -- Update OptionButton documentation ([GH-102350](https://github.com/godotengine/godot/pull/102350)). -- Improve documentation of some `Resource` methods ([GH-102499](https://github.com/godotengine/godot/pull/102499)). -- Add basic descriptions to the BreadcrumbMarker enum ([GH-102511](https://github.com/godotengine/godot/pull/102511)). -- Add info about `set_deferred` for CollisionShape3D disabled property ([GH-102520](https://github.com/godotengine/godot/pull/102520)). -- Use float instead of integers for durations in `Tween` documentation ([GH-102523](https://github.com/godotengine/godot/pull/102523)). -- Replace references from TileMap to TileMapLayer in documentation ([GH-102561](https://github.com/godotengine/godot/pull/102561)). -- Clarify forward direction for `VehicleBody3D` ([GH-102610](https://github.com/godotengine/godot/pull/102610)). -- Better explain texture repeat ([GH-103012](https://github.com/godotengine/godot/pull/103012)). -- Fix CanvasLayer 'Follow Viewport' documentation to match its behavior ([GH-103111](https://github.com/godotengine/godot/pull/103111)). -- Document that `memdelete()` is the GDExtension C++ version of `free()` ([GH-103231](https://github.com/godotengine/godot/pull/103231)). -- Clarify requirement for `action` match in `InputEvent.is_action_pressed` ([GH-103448](https://github.com/godotengine/godot/pull/103448)). -- Fix InputEventMouseMotion reference ([GH-103462](https://github.com/godotengine/godot/pull/103462)). -- Fix CharacterBody's `wall_min_slide_angle` doc ([GH-103507](https://github.com/godotengine/godot/pull/103507)). -- Document Glow Upscale Mode project setting only affecting Forward+/Mobile ([GH-103519](https://github.com/godotengine/godot/pull/103519)). -- Improve BaseMaterial3D/Label3D/SpriteBase3D's `fixed_size` documentation ([GH-103665](https://github.com/godotengine/godot/pull/103665)). -- Docs: Fix WorkerThreadPool wrong max thread value description ([GH-103701](https://github.com/godotengine/godot/pull/103701)). -- Link `Script` method documentation to details about returned dictionaries ([GH-103716](https://github.com/godotengine/godot/pull/103716)). -- AudioEffectCompressor: Recommend HardLimiter over deprecated Limiter ([GH-103847](https://github.com/godotengine/godot/pull/103847)). -- Update logo/run icon path in platform READMEs ([GH-103891](https://github.com/godotengine/godot/pull/103891)). -- Fix BBCode tag for NativeMenu class reference ([GH-103893](https://github.com/godotengine/godot/pull/103893)). -- Fix incomplete description for `ResourceLoader.list_directory()` ([GH-104006](https://github.com/godotengine/godot/pull/104006)). -- Clarify `XRController3D` `get_input` name corresponds to actions in the action set ([GH-104103](https://github.com/godotengine/godot/pull/104103)). -- Improve documentation for return value of `Packed*Array.resize` ([GH-104258](https://github.com/godotengine/godot/pull/104258)). -- Document RichTextLabel `fgcolor` and `bgcolor` padding behavior (and risk of overlap) ([GH-104284](https://github.com/godotengine/godot/pull/104284)). -- Fix *even* more miscellaneous oddities around the class reference ([GH-104333](https://github.com/godotengine/godot/pull/104333)). -- Fix typos in `ProjectSettings` class reference ([GH-104361](https://github.com/godotengine/godot/pull/104361)). -- Add instruction to wrap nested classes in `JavaClassWrapper` ([GH-104364](https://github.com/godotengine/godot/pull/104364)). -- Add `Game` workspace to documentation and autocomplete ([GH-104376](https://github.com/godotengine/godot/pull/104376)). -- Fix `hex_decode()` example in `String` and `StringName` ([GH-104378](https://github.com/godotengine/godot/pull/104378)). -- Minor doc update for `low_processor_mode_sleep_usec` editor settings ([GH-104391](https://github.com/godotengine/godot/pull/104391)). -- Add color space alpha notes to Color documentation ([GH-104410](https://github.com/godotengine/godot/pull/104410)). -- Physics Interpolation - Fix project setting tooltip ([GH-104525](https://github.com/godotengine/godot/pull/104525)). -- Clarify that AcceptDialog's `custom_action` is only triggered if action is non-empty ([GH-104530](https://github.com/godotengine/godot/pull/104530)). -- Add clarifications to PhysicsDirectSpaceState docs on how to get their instance ([GH-104533](https://github.com/godotengine/godot/pull/104533)). -- Document CSGShape3D updates being deferred until the next frame ([GH-104561](https://github.com/godotengine/godot/pull/104561)). -- Deprecate NavigationServer `map_force_update()` ([GH-104762](https://github.com/godotengine/godot/pull/104762)). -- Clarify that `Window.dpi_changed` signal is supported on Linux (Wayland) ([GH-104889](https://github.com/godotengine/godot/pull/104889)). -- Cleanup and unify `DisplayServer` screen methods and documentation ([GH-104907](https://github.com/godotengine/godot/pull/104907)). -- Docs: Add note about console wrapper to `get_stdin_type` ([GH-104918](https://github.com/godotengine/godot/pull/104918)). -- Improve `Camera2D.zoom` description to be less ambiguous ([GH-104941](https://github.com/godotengine/godot/pull/104941)). -- Change "GDExtension example in C++" links to accommodate the new docs file structure ([GH-104973](https://github.com/godotengine/godot/pull/104973)). -- Fix differences between RayCast2D and RayCast3D documentation ([GH-105048](https://github.com/godotengine/godot/pull/105048)). -- Fix differences between PhysicsDirectSpaceState2D/3D docs ([GH-105051](https://github.com/godotengine/godot/pull/105051)). -- Fix incorrect data format in RenderingDevice docs ([GH-105053](https://github.com/godotengine/godot/pull/105053)). -- Fix typo in common note for packed arrays ([GH-105054](https://github.com/godotengine/godot/pull/105054)). -- Fix typo in Window's `exclude_from_capture` ([GH-105055](https://github.com/godotengine/godot/pull/105055)). -- Fix miscellaneous oddities around the class reference (part 4) ([GH-105073](https://github.com/godotengine/godot/pull/105073)). -- Add missing word to canvas layer docs ([GH-105075](https://github.com/godotengine/godot/pull/105075)). -- Fix some differences between OpenXRInterface and XRHandTracker docs ([GH-105095](https://github.com/godotengine/godot/pull/105095)). -- Fix CodeEdit typos ([GH-105126](https://github.com/godotengine/godot/pull/105126)). -- Fix misleading `Material::render_priority` description ([GH-105133](https://github.com/godotengine/godot/pull/105133)). -- Fix typos in `Image` documentation ([GH-105161](https://github.com/godotengine/godot/pull/105161)). -- Fix typos in `UDPServer::poll` documentation ([GH-105170](https://github.com/godotengine/godot/pull/105170)). -- Improve documentation on `is_nan()` and `NAN` constant ([GH-105287](https://github.com/godotengine/godot/pull/105287)). -- Improve get_cursor_shape() documentation ([GH-105357](https://github.com/godotengine/godot/pull/105357)). -- Fix typo in the description of RandomNumberGenerator.state ([GH-105404](https://github.com/godotengine/godot/pull/105404)). -- Normalize description of `ResourceLoader.list_directory()` ([GH-105484](https://github.com/godotengine/godot/pull/105484)). -- Document `Vector2.from_angle()` not always returning a normalized vector ([GH-105488](https://github.com/godotengine/godot/pull/105488)). -- Update ProgressBar description ([GH-105574](https://github.com/godotengine/godot/pull/105574)). -- Document `SceneTree.set_multiplayer()` should be called in `_enter_tree()` ([GH-105687](https://github.com/godotengine/godot/pull/105687)). -- Fix invalid AnimationNode documentation syntax ([GH-105859](https://github.com/godotengine/godot/pull/105859)). -- Fix grammatical error in MeshInstance3D documentation ([GH-105886](https://github.com/godotengine/godot/pull/105886)). -- Fix typo in `sqrt` classref ([GH-105895](https://github.com/godotengine/godot/pull/105895)). -- Clarify the conditions that need to be met for a valid file name in Godot ([GH-105932](https://github.com/godotengine/godot/pull/105932)). -- Fix a typo in the `Light3D` documentation ([GH-106002](https://github.com/godotengine/godot/pull/106002)). -- Clarify the input action that affects `AcceptDialog.dialog_close_on_escape` ([GH-106157](https://github.com/godotengine/godot/pull/106157)). -- Docs: Remove redundant info on the enum types used ([GH-106159](https://github.com/godotengine/godot/pull/106159)). -- Add missing description of `FileAccess.store_half` behavior on error ([GH-106162](https://github.com/godotengine/godot/pull/106162)). -- Fix description of `EditorProperty`'s `draw_background` and `draw_label` ([GH-106179](https://github.com/godotengine/godot/pull/106179)). -- Document the FileAccess read/write cursor ([GH-106191](https://github.com/godotengine/godot/pull/106191)). -- Fix type error in `InputEventAction.action` description ([GH-106195](https://github.com/godotengine/godot/pull/106195)). -- Doc: Add search keywords for `Vector2/3.limit_length` method ([GH-106205](https://github.com/godotengine/godot/pull/106205)). -- Improve SpinBox class documentation ([GH-106327](https://github.com/godotengine/godot/pull/106327)). -- Improve documentation for `Array.get()` and `Packed*Array.get()` methods ([GH-106369](https://github.com/godotengine/godot/pull/106369)). -- Document output parameters of `EditorImportPlugin.import` ([GH-106439](https://github.com/godotengine/godot/pull/106439)). -- Fix typo in `Node.get_child` documentation ([GH-106452](https://github.com/godotengine/godot/pull/106452)). -- Improve description of `Control.scale` ([GH-106476](https://github.com/godotengine/godot/pull/106476)). -- Clarify `String.is_subsequence_of()` working differently from `String.contains()` ([GH-106613](https://github.com/godotengine/godot/pull/106613)). -- Add description for `Skeleton3D.bone_list_changed` ([GH-106791](https://github.com/godotengine/godot/pull/106791)). -- Document EditorProperty behavior when the node isn't fully ready yet ([GH-106807](https://github.com/godotengine/godot/pull/106807)). -- Clarify `SceneTree.get_frame()` description ([GH-106862](https://github.com/godotengine/godot/pull/106862)). -- Improve the `PhysicsShapeQueryParameters3D`'s description ([GH-106911](https://github.com/godotengine/godot/pull/106911)). -- Update CameraFeed document for Android ([GH-106917](https://github.com/godotengine/godot/pull/106917)). -- Fix extra parenthesis in `Array.slice` description ([GH-107020](https://github.com/godotengine/godot/pull/107020)). -- Recommend Jolt Physics in SoftBody3D class reference ([GH-107022](https://github.com/godotengine/godot/pull/107022)). -- Clarify `set_initial_value()` ([GH-107062](https://github.com/godotengine/godot/pull/107062)). -- Clarify `offset.y` behavior for Sprite2D vs Sprite3D ([GH-107064](https://github.com/godotengine/godot/pull/107064)). -- Fix incorrect note about holes in HeightMapShape3D ([GH-107068](https://github.com/godotengine/godot/pull/107068)). -- Link demo project in AStar2D and AStarGrid2D documentation ([GH-107069](https://github.com/godotengine/godot/pull/107069)). -- Fix copy-paste error in Viewport classref ([GH-107081](https://github.com/godotengine/godot/pull/107081)). -- Clarify existence of custom project settings ([GH-107082](https://github.com/godotengine/godot/pull/107082)). -- Update CameraServer document for Android ([GH-107087](https://github.com/godotengine/godot/pull/107087)). -- Fix miscellaneous oddities around the class reference (part 5) ([GH-107143](https://github.com/godotengine/godot/pull/107143)). -- Clarify parameters in `@GlobalScope.wrap()` being inclusive/exclusive ([GH-107166](https://github.com/godotengine/godot/pull/107166)). -- Clarify the data param in the docs for RD.texture_create ([GH-107172](https://github.com/godotengine/godot/pull/107172)). -- Clarify behavior of `Node.physics_interpolation_mode` in the class reference ([GH-107212](https://github.com/godotengine/godot/pull/107212)). -- Clarify behavior of `Timer.stop()` ([GH-107228](https://github.com/godotengine/godot/pull/107228)). -- Update `Shortcut` class reference ([GH-107252](https://github.com/godotengine/godot/pull/107252)). -- Document the direction that directional and spot lights emit light in ([GH-107279](https://github.com/godotengine/godot/pull/107279)). -- Improve description of fuzzy matching in editor settings documentation ([GH-107368](https://github.com/godotengine/godot/pull/107368)). -- Add clarification to `AudioStream.get_length` ([GH-107420](https://github.com/godotengine/godot/pull/107420)). -- Fix outdated `MODE_FULLSCREEN` description ([GH-107445](https://github.com/godotengine/godot/pull/107445)). -- Fix various errors in the class reference ([GH-107472](https://github.com/godotengine/godot/pull/107472)). -- Docs: Add few notes about screen capture ([GH-107474](https://github.com/godotengine/godot/pull/107474)). -- Add warning about infinite recursion to NavigationAgent docs ([GH-107509](https://github.com/godotengine/godot/pull/107509)). -- Add a note about navigation mesh baking issues when using `0` for the `agent_radius` ([GH-107532](https://github.com/godotengine/godot/pull/107532)). -- Improve `ResourceLoader.get_dependencies()`'s description ([GH-107554](https://github.com/godotengine/godot/pull/107554)). -- Add a note about `_notification()` being multilevel ([GH-107564](https://github.com/godotengine/godot/pull/107564)). -- Clarify note in documentation about childing rigid bodies ([GH-107565](https://github.com/godotengine/godot/pull/107565)). -- Remove angle constraint mention from SkeletonModification2DFABRIK class docs ([GH-107567](https://github.com/godotengine/godot/pull/107567)). -- Docs: Fix typo and spacing in vector coordinates ([GH-107576](https://github.com/godotengine/godot/pull/107576)). -- Reword `text_editor/completion/add_type_hints`'s description ([GH-107601](https://github.com/godotengine/godot/pull/107601)). -- Misc: Fix typo in cmd arg description ([GH-107607](https://github.com/godotengine/godot/pull/107607)). -- C#: Fix Shortcut example ([GH-107609](https://github.com/godotengine/godot/pull/107609)). -- Clarify `_set`/`_get` description ([GH-107823](https://github.com/godotengine/godot/pull/107823)). -- Docs: Various grammar and spelling fixes ([GH-107895](https://github.com/godotengine/godot/pull/107895)). -- Specify return value in several store methods in `FileAccess` ([GH-107938](https://github.com/godotengine/godot/pull/107938)). -- Fix OptionButton ID value range documentation ([GH-107940](https://github.com/godotengine/godot/pull/107940)). -- Document `Gradient.sample()` clamping behavior ([GH-107976](https://github.com/godotengine/godot/pull/107976)). -- Clarify `visible_characters` ([GH-108029](https://github.com/godotengine/godot/pull/108029)). -- Document that `native file dialog` is only available on Android 10+ devices ([GH-108043](https://github.com/godotengine/godot/pull/108043)). -- Add example of using `get_connection_list_from_node` ([GH-108056](https://github.com/godotengine/godot/pull/108056)). -- Fix signature in docs of `EditorImportPlugin.GetOptionVisibility` ([GH-108113](https://github.com/godotengine/godot/pull/108113)). -- Clarify initialization of scene tiles ([GH-108166](https://github.com/godotengine/godot/pull/108166)). -- Fix image download example code ([GH-108230](https://github.com/godotengine/godot/pull/108230)). -- Class docs: Fix ReflectionProbe note regarding Compatibility renderer support ([GH-108271](https://github.com/godotengine/godot/pull/108271)). -- Clarify that Network Mode is not mandatory for plugins ([GH-108285](https://github.com/godotengine/godot/pull/108285)). -- Update `auto_unfold_foreign_scenes` description ([GH-108590](https://github.com/godotengine/godot/pull/108590)). -- Document `AnimationMixer.animation_started` not being emitted for looping animations ([GH-108615](https://github.com/godotengine/godot/pull/108615)). -- Document Translation plurals requiring the use of the gettext PO format ([GH-108617](https://github.com/godotengine/godot/pull/108617)). -- Clarify type inference in ProjectSettings Inferred Declaration warning ([GH-108650](https://github.com/godotengine/godot/pull/108650)). -- Fix spinbox formatting to fix linking ([GH-108782](https://github.com/godotengine/godot/pull/108782)). -- Update documentation for `DriverResource` enum ([GH-108906](https://github.com/godotengine/godot/pull/108906)). -- Add the C# code equivalent to the documentation of Viewport.GetTexture() ([GH-109010](https://github.com/godotengine/godot/pull/109010)). -- Remove outdated note from EditorScript description ([GH-109074](https://github.com/godotengine/godot/pull/109074)). -- Add search keywords for CheckButton and ButtonGroup ([GH-109089](https://github.com/godotengine/godot/pull/109089)). -- Update HDR 2D documentation to include Compatibility support ([GH-109095](https://github.com/godotengine/godot/pull/109095)). -- JavaClassWrapper: Add example to invoke constructor ([GH-109115](https://github.com/godotengine/godot/pull/109115)). -- Improve documentation related to GridMap mesh/lightmap baking ([GH-109164](https://github.com/godotengine/godot/pull/109164)). -- Clarify the behavior of `RigidBody.CENTER_OF_MASS_MODE_AUTO` ([GH-109180](https://github.com/godotengine/godot/pull/109180)). -- Fix inaccurate description of `get_current_rendering_driver_name` ([GH-109208](https://github.com/godotengine/godot/pull/109208)). -- Document `Tree.item_collapsed` also being emitted when the item is expanded ([GH-109242](https://github.com/godotengine/godot/pull/109242)). -- Update _physics_process and _process docs to reflect implementation ([GH-109320](https://github.com/godotengine/godot/pull/109320)). -- Document `OS.get_video_adapter_driver_info()` being slow to call the first time ([GH-109344](https://github.com/godotengine/godot/pull/109344)). -- Add "dropdown" keyword to OptionButton and MenuButton ([GH-109402](https://github.com/godotengine/godot/pull/109402)). -- Docs: `PhysicsShapeQueryParameters3D` fix function used in code example ([GH-109504](https://github.com/godotengine/godot/pull/109504)). -- Clarify the types `InputEvent.is_action_type()` will return `true` for ([GH-109552](https://github.com/godotengine/godot/pull/109552)). -- Docs: Mention 'build version' in iOS, macOS, and visionOS export docs ([GH-109577](https://github.com/godotengine/godot/pull/109577)). -- Document ClassDB not storing information on user-defined classes ([GH-109747](https://github.com/godotengine/godot/pull/109747)). -- Fix incorrect statement on thread (un)safety in AStar class reference ([GH-109785](https://github.com/godotengine/godot/pull/109785)). -- Fix typo in doc of `text_editor/theme/highlighting/gdscript/string_name_color` ([GH-109797](https://github.com/godotengine/godot/pull/109797)). -- Docs: Mark `SVGTexture` as experimental ([GH-109805](https://github.com/godotengine/godot/pull/109805)). -- Clarify that `EXCLUDE_FROM_CAPTURE` only works with native windows ([GH-109813](https://github.com/godotengine/godot/pull/109813)). -- Document `REGION_RECT` canvas shader built-in in Sprite2D region property ([GH-109877](https://github.com/godotengine/godot/pull/109877)). -- Update `ProjectSettings` HDR 2D documentation to include Compatibility ([GH-110065](https://github.com/godotengine/godot/pull/110065)). +- Document RIDs that will be freed automatically when freeing their deps ([GH-103113](https://github.com/godotengine/godot/pull/103113)). +- Fix ItemList docs for the focus Stylebox's draw order ([GH-103672](https://github.com/godotengine/godot/pull/103672)). +- Update color encoding documentation ([GH-104666](https://github.com/godotengine/godot/pull/104666)). +- Update EditorImportPlugin docs and clarify which methods are required ([GH-104740](https://github.com/godotengine/godot/pull/104740)). +- Add notes about `InputEventKey` property usage ([GH-105366](https://github.com/godotengine/godot/pull/105366)). +- Fix `typeof` example in @GlobalScope docs ([GH-106768](https://github.com/godotengine/godot/pull/106768)). +- Document typed dictionaries and arrays in the class reference ([GH-107071](https://github.com/godotengine/godot/pull/107071)). +- Improve Texture*RD, RenderData and LightmapperRD class documentation ([GH-107326](https://github.com/godotengine/godot/pull/107326)). +- Fix miscellaneous oddities around the class reference (part 6) ([GH-107536](https://github.com/godotengine/godot/pull/107536)). +- Web: Add notice about issues with setting custom cursor shape every frame ([GH-107586](https://github.com/godotengine/godot/pull/107586)). +- Add missing required qualifier for various classes ([GH-107989](https://github.com/godotengine/godot/pull/107989)). +- Docs: Fix typo in `Object.get_signal_list` ([GH-108417](https://github.com/godotengine/godot/pull/108417)). +- Add documentation about logging from `Logger` not being supported ([GH-109174](https://github.com/godotengine/godot/pull/109174)). +- Clarify truncation behavior in file open modes ([GH-109632](https://github.com/godotengine/godot/pull/109632)). +- OpenXRExtensionWrapper: Document how to safely work when rendering with "Separate" thread model ([GH-109753](https://github.com/godotengine/godot/pull/109753)). +- Fix typos and link tutorial in WebRTCPeerConnection docs ([GH-109907](https://github.com/godotengine/godot/pull/109907)). +- Clarify that velocity doesn't need delta multiplication in CharacterBody documentation ([GH-109925](https://github.com/godotengine/godot/pull/109925)). +- Image: Improve `AlphaMode` documentation ([GH-110213](https://github.com/godotengine/godot/pull/110213)). +- Document `PhysicsServer3D` shapes ([GH-110223](https://github.com/godotengine/godot/pull/110223)). +- Fix minor grammar error in CollisionPolygon2D, CollisionPolygon3D, CollisionShape2D, and CollisionShape3D docs ([GH-110370](https://github.com/godotengine/godot/pull/110370)). +- Document the interaction between Light3D cull mask and GI/volumetric fog ([GH-110423](https://github.com/godotengine/godot/pull/110423)). +- Fix `Basis.determinant()` doc: uniform scale determinant is `scale^3` ([GH-110424](https://github.com/godotengine/godot/pull/110424)). +- Improve docs for pitch and volume variation in AudioStreamRandomizer ([GH-110435](https://github.com/godotengine/godot/pull/110435)). +- Fix documentation for `embed_subwindows` project setting ([GH-110448](https://github.com/godotengine/godot/pull/110448)). +- Fix typo in control node `_make_custom_tooltip` description ([GH-110504](https://github.com/godotengine/godot/pull/110504)). +- Document Label performance caveats with huge amounts of text ([GH-110533](https://github.com/godotengine/godot/pull/110533)). +- Add `accordion` and `details` search keywords to FoldableContainer ([GH-110572](https://github.com/godotengine/godot/pull/110572)). +- Document `TileMapLayer.get_coords_for_body_rid()` precision depending on quadrant size ([GH-110575](https://github.com/godotengine/godot/pull/110575)). +- Rephrase `Logger` documentation to be more explicit about thread-safety ([GH-110614](https://github.com/godotengine/godot/pull/110614)). +- Document CanvasItem visibility layers not being inherited from parent nodes ([GH-110705](https://github.com/godotengine/godot/pull/110705)). +- Fix and improve `Node2D.move_local_{x,y}()` description ([GH-110878](https://github.com/godotengine/godot/pull/110878)). +- Fix `/tutorial` added twice in offline docs ([GH-110881](https://github.com/godotengine/godot/pull/110881)). +- Document `compress()` not being supported in exported builds in Image ([GH-111004](https://github.com/godotengine/godot/pull/111004)). +- Fix description about CharacterBody velocity and delta ([GH-111102](https://github.com/godotengine/godot/pull/111102)). +- Drop the experimental label for the Jolt Physics integration ([GH-111115](https://github.com/godotengine/godot/pull/111115)). +- Fix typo "blocker" to "block" in AESContext ([GH-111133](https://github.com/godotengine/godot/pull/111133)). +- Document link between `Node2D.look_at()` and `Node2D.get_angle_to()` ([GH-111139](https://github.com/godotengine/godot/pull/111139)). +- Fix incorrect docs example in `Dictionary.set` description ([GH-111216](https://github.com/godotengine/godot/pull/111216)). +- Add "Ragdoll System" Tutorial to `PhysicalBone3D` ([GH-111267](https://github.com/godotengine/godot/pull/111267)). +- Update tutorial link for calling Javascript from script ([GH-111310](https://github.com/godotengine/godot/pull/111310)). +- Improve documentation for the `Environment` glow effect ([GH-111332](https://github.com/godotengine/godot/pull/111332)). +- Document relationship between refresh rate and V-Sync in DisplayServer ([GH-111334](https://github.com/godotengine/godot/pull/111334)). +- Replace deprecated `Color8` ([GH-111426](https://github.com/godotengine/godot/pull/111426)). +- Add note for some usages of Plane in APIs ([GH-111459](https://github.com/godotengine/godot/pull/111459)). +- Fix `text_editor/script_list/show_members_overview` editor setting docs/tooltip ([GH-111556](https://github.com/godotengine/godot/pull/111556)). +- Fix description of `Viewport::set_input_as_handled` ([GH-111591](https://github.com/godotengine/godot/pull/111591)). +- Fix typo in mutex documentation ([GH-111672](https://github.com/godotengine/godot/pull/111672)). +- Update documentation for `Engine.physics_ticks_per_second` and its project setting ([GH-111774](https://github.com/godotengine/godot/pull/111774)). +- Update note for `rendering/rendering_device/vsync/swapchain_image_count` ([GH-111782](https://github.com/godotengine/godot/pull/111782)). +- Improve Window content scale documentation ([GH-111804](https://github.com/godotengine/godot/pull/111804)). +- Correct Array `remove_at()` class reference ([GH-111817](https://github.com/godotengine/godot/pull/111817)). +- Add multilevel notes to methods ([GH-111830](https://github.com/godotengine/godot/pull/111830)). +- TileSetAtlasSource: Fix and/an docstring typo ([GH-111852](https://github.com/godotengine/godot/pull/111852)). +- Fix `NOTIFICATION_OS_IME_UPDATE` docs on platform availability ([GH-111863](https://github.com/godotengine/godot/pull/111863)). +- Document color format caveats in `Image.set_pixel()` ([GH-111896](https://github.com/godotengine/godot/pull/111896)). +- Document TextMesh performance caveats ([GH-111962](https://github.com/godotengine/godot/pull/111962)). +- Document popups being invisible by default ([GH-111963](https://github.com/godotengine/godot/pull/111963)). +- Fix copyright documentation oversights ([GH-112006](https://github.com/godotengine/godot/pull/112006)). +- Fix typo in ResourceImporterImageFont docs ([GH-112063](https://github.com/godotengine/godot/pull/112063)). +- Improve `PROPERTY_USAGE_ARRAY` description ([GH-112066](https://github.com/godotengine/godot/pull/112066)). +- Add search keywords for project settings ([GH-112107](https://github.com/godotengine/godot/pull/112107)). +- Improve HeightMapShape3D documentation ([GH-112120](https://github.com/godotengine/godot/pull/112120)). +- Improve documentation for Vector2's angle-related methods ([GH-112140](https://github.com/godotengine/godot/pull/112140)). +- Document `CharacterBody.get_last_slide_collision()` returning `null` with no collision ([GH-112180](https://github.com/godotengine/godot/pull/112180)). +- Fix `StringName` not documented for enum hint ([GH-112318](https://github.com/godotengine/godot/pull/112318)). +- Mention that SSAO is supported in the Compatibility renderer ([GH-112451](https://github.com/godotengine/godot/pull/112451)). +- Fix `OS.get_cmdline_args` documentation ([GH-112466](https://github.com/godotengine/godot/pull/112466)). +- Fix GDScript code sample for `@GlobalScope.instance_from_id()` ([GH-112486](https://github.com/godotengine/godot/pull/112486)). +- Document `Object.connect()` not supporting persistent connections with lambda functions ([GH-112487](https://github.com/godotengine/godot/pull/112487)). +- Clarify notification call order ([GH-112642](https://github.com/godotengine/godot/pull/112642)). +- Tweak CanvasGroup description to be more explicit about its purpose ([GH-112693](https://github.com/godotengine/godot/pull/112693)). +- Fix typo in `Array` docs ([GH-112708](https://github.com/godotengine/godot/pull/112708)). +- Fix typo in `MouseBehaviorRecursive` enum description in Control class ([GH-112714](https://github.com/godotengine/godot/pull/112714)). +- Clarify that `Node.duplicate()` duplicates entire subtree recursively ([GH-112907](https://github.com/godotengine/godot/pull/112907)). +- Fix incorrect equivalent method reference in screen-space transform methods doc ([GH-112952](https://github.com/godotengine/godot/pull/112952)). +- Fix `display/window/size/initial_position_type` project setting description ([GH-112962](https://github.com/godotengine/godot/pull/112962)). +- Fix SkeletonProfileHumanoid bone count documentation ([GH-112986](https://github.com/godotengine/godot/pull/112986)). +- Update docs to describe new `use_hdr_2d` behavior with Mobile renderer ([GH-112990](https://github.com/godotengine/godot/pull/112990)). +- Fix documentation typos and broken links ([GH-113073](https://github.com/godotengine/godot/pull/113073)). +- Clarify the purpose of MeshInstance2D and MultiMeshInstance2D ([GH-113122](https://github.com/godotengine/godot/pull/113122)). +- Add better clarification for accelerator support on Popup Menu ([GH-113197](https://github.com/godotengine/godot/pull/113197)). +- Fix miscellaneous oddities around the class reference (part 7) ([GH-113261](https://github.com/godotengine/godot/pull/113261)). +- Docs: Fix ParticleProcessMaterial code snippet in `alpha_curve` description ([GH-113268](https://github.com/godotengine/godot/pull/113268)). +- Doc: Add missing `func` keyword to `EditorDock._update_layout` example ([GH-113381](https://github.com/godotengine/godot/pull/113381)). +- Fix typos in VectorNi docs (float division examples) ([GH-113782](https://github.com/godotengine/godot/pull/113782)). +- Update documentation for `DisplayServer::FEATURE_ICON` ([GH-113875](https://github.com/godotengine/godot/pull/113875)). +- Update EditorDock shortcut documentation ([GH-113888](https://github.com/godotengine/godot/pull/113888)). +- Rename hinting mode 'Full' to 'Normal' to keep consistency ([GH-113927](https://github.com/godotengine/godot/pull/113927)). +- Add "Threaded Loading Demo" link to `ResourceLoader` tutorials ([GH-114087](https://github.com/godotengine/godot/pull/114087)). +- Document suffix hint in `PROPERTY_HINT_RANGE` ([GH-114116](https://github.com/godotengine/godot/pull/114116)). +- Fix outdated comment in `CanvasItem.draw_string()` code sample ([GH-114225](https://github.com/godotengine/godot/pull/114225)). +- Add Link to the Owner Tutorial ([GH-114243](https://github.com/godotengine/godot/pull/114243)). +- Document `RegEx.create_from_string()` in RegEx class description ([GH-114253](https://github.com/godotengine/godot/pull/114253)). +- Add missing method reference in `ShaderMaterial.set_shader_parameter` documentation ([GH-114262](https://github.com/godotengine/godot/pull/114262)). +- Document runtime alternative to Default Theme Scale project setting ([GH-114291](https://github.com/godotengine/godot/pull/114291)). +- Clarify using local variables with drawing methods ([GH-114551](https://github.com/godotengine/godot/pull/114551)). +- Clarify `align()` behavior regarding `force_update_scroll()` ([GH-114638](https://github.com/godotengine/godot/pull/114638)). +- Fix `EditorDock` documentation code example ([GH-114706](https://github.com/godotengine/godot/pull/114706)). +- Specify units for angles in the LookAtModifier3D documentation ([GH-114774](https://github.com/godotengine/godot/pull/114774)). +- README: Minor tweaks and remove broken badge ([GH-114960](https://github.com/godotengine/godot/pull/114960)). +- Remove link for consoles in EditorExportPlatform ([GH-114979](https://github.com/godotengine/godot/pull/114979)). #### Editor -- Add a flag to make the connection automatically emit the source object ([GH-60143](https://github.com/godotengine/godot/pull/60143)). -- Allow to override editor settings per project ([GH-69012](https://github.com/godotengine/godot/pull/69012)). -- Allow to ignore debugger error breaks ([GH-77015](https://github.com/godotengine/godot/pull/77015)). -- CodeEditor: Make possible to select and copy error text ([GH-77776](https://github.com/godotengine/godot/pull/77776)). -- Add syntax highlighting for ConfigFile/TSCN/TRES/project.godot ([GH-77972](https://github.com/godotengine/godot/pull/77972)). -- Make "access as/revoke unique name" a checkbox ([GH-82216](https://github.com/godotengine/godot/pull/82216)). -- Don't save unnecessarily with `save_before_running` ([GH-90034](https://github.com/godotengine/godot/pull/90034)). -- Add credits roll ([GH-90092](https://github.com/godotengine/godot/pull/90092)). -- Add Open Dock shortcuts ([GH-90226](https://github.com/godotengine/godot/pull/90226)). -- Add include/exclude to `FindInFiles` for filtering files ([GH-90558](https://github.com/godotengine/godot/pull/90558)). -- Fix help overview tooltip flicker ([GH-91264](https://github.com/godotengine/godot/pull/91264)). -- Fix documentation for built-in scripts ([GH-92280](https://github.com/godotengine/godot/pull/92280)). -- Revert Solarized Dark theme to Godot 3 ([GH-92542](https://github.com/godotengine/godot/pull/92542)). -- Fix ProjectSettings name casing options and missing String methods ([GH-94883](https://github.com/godotengine/godot/pull/94883)). -- Prompt user to terminate if quitting while project is running ([GH-95392](https://github.com/godotengine/godot/pull/95392)). -- Allow empty click in scene tree dock ([GH-95540](https://github.com/godotengine/godot/pull/95540)). -- ScriptEditor: Remove obsolete completion cache ([GH-95585](https://github.com/godotengine/godot/pull/95585)). -- Fix dropping Node into script on non-empty line ([GH-95914](https://github.com/godotengine/godot/pull/95914)). -- Fix copying a Node with a signal potentially resulting in an editor crash ([GH-96372](https://github.com/godotengine/godot/pull/96372)). -- Autocompletion: Don't add parenthesis if `Callable` is expected ([GH-96375](https://github.com/godotengine/godot/pull/96375)). -- Add `PROPERTY_HINT_INPUT_NAME` for use with `@export_custom` to allow using input actions ([GH-96611](https://github.com/godotengine/godot/pull/96611)). -- Fix spaces converted to tabs in triple quote strings ([GH-96925](https://github.com/godotengine/godot/pull/96925)). -- Enable Auto Reload Scripts on External Change by default in the editor settings ([GH-97148](https://github.com/godotengine/godot/pull/97148)). -- Update Inspector when renaming a file via File System Dock ([GH-97348](https://github.com/godotengine/godot/pull/97348)). -- SceneImportSettings update_timer should be a oneshot ([GH-97837](https://github.com/godotengine/godot/pull/97837)). -- Rename internal `view_menu` in 3D editor code ([GH-98133](https://github.com/godotengine/godot/pull/98133)). -- Translate main thread name in the editor instead of running project ([GH-98379](https://github.com/godotengine/godot/pull/98379)). -- Automatically set `text_editor/external/exec_flags` based on the editor specified in `exec_path` text box ([GH-98846](https://github.com/godotengine/godot/pull/98846)). -- Add "Close Tabs Below" option to script editor context menu ([GH-98847](https://github.com/godotengine/godot/pull/98847)). -- Drop preload Resources as UID ([GH-99094](https://github.com/godotengine/godot/pull/99094)). -- Add named `EditorScript`s to the command palette ([GH-99318](https://github.com/godotengine/godot/pull/99318)). -- Add `double` to the version full build string when using a double-precision build ([GH-99590](https://github.com/godotengine/godot/pull/99590)). -- Allow to select multiple remote nodes at runtime ([GH-99680](https://github.com/godotengine/godot/pull/99680)). -- Add a `TouchActionsPanel` to Android Editor ([GH-100339](https://github.com/godotengine/godot/pull/100339)). -- Remember state of built-in script/shader checkbox ([GH-100379](https://github.com/godotengine/godot/pull/100379)). -- Always update `.tscn` name when "Save Scene As…" is pressed ([GH-100430](https://github.com/godotengine/godot/pull/100430)). -- Add borders to `BitMap` in `BitMapEditor` ([GH-100761](https://github.com/godotengine/godot/pull/100761)). -- EditorNode: Add function to load file as either scene or resource ([GH-100877](https://github.com/godotengine/godot/pull/100877)). -- Don't initialize editor when exiting ([GH-101765](https://github.com/godotengine/godot/pull/101765)). -- Mark main screen plugin names for translation ([GH-102101](https://github.com/godotengine/godot/pull/102101)). -- Fix Error when connecting signal with unbinds not yet existing function ([GH-102258](https://github.com/godotengine/godot/pull/102258)). -- Do not require editor restart when changing selection box color ([GH-102281](https://github.com/godotengine/godot/pull/102281)). -- Eliminate interior mutability in `get_selected_node_list` ([GH-102282](https://github.com/godotengine/godot/pull/102282)). -- Improve drag and drop into array property editors ([GH-102534](https://github.com/godotengine/godot/pull/102534)). -- Use `FlowContainer` for `EditorNetworkProfiler` bar ([GH-102576](https://github.com/godotengine/godot/pull/102576)). -- Fix error when toggling comment with empty lines ([GH-102601](https://github.com/godotengine/godot/pull/102601)). -- Prevent `changed` signal spam on resource reload ([GH-102650](https://github.com/godotengine/godot/pull/102650)). -- Fix empty type removal in theme editor causing all empty types to be deleted ([GH-102846](https://github.com/godotengine/godot/pull/102846)). -- Don't synchronize scripts with errors ([GH-102933](https://github.com/godotengine/godot/pull/102933)). -- Add editor setting to override tablet driver ([GH-102940](https://github.com/godotengine/godot/pull/102940)). -- Prompt to Save As when saving all scenes ([GH-102990](https://github.com/godotengine/godot/pull/102990)). -- Replace UID and Surface upgrade tools with universal one ([GH-103044](https://github.com/godotengine/godot/pull/103044)). -- Fix EditorObjectSelector popup size ([GH-103125](https://github.com/godotengine/godot/pull/103125)). -- Avoid some excessive edits of resources ([GH-103129](https://github.com/godotengine/godot/pull/103129)). -- Minor adjusts in the `Show in Filesystem` code in `SpriteFrames` editor ([GH-103218](https://github.com/godotengine/godot/pull/103218)). -- Fix vbox separation in sections with `PROPERTY_USAGE_ARRAY` ([GH-103309](https://github.com/godotengine/godot/pull/103309)). -- Make `EditorProperty` and its child `EditorProperty` behave like sibling nodes when handling mouse events ([GH-103316](https://github.com/godotengine/godot/pull/103316)). -- Keep ProjectSettings overrides right below the original setting ([GH-103336](https://github.com/godotengine/godot/pull/103336)). -- Don't hard-code setting list in DependencyEditor ([GH-103393](https://github.com/godotengine/godot/pull/103393)). -- Improve path validation in ScriptCreateDialog ([GH-103397](https://github.com/godotengine/godot/pull/103397)). -- Add Save & Reload option to `Reload Saved Scene` ([GH-103402](https://github.com/godotengine/godot/pull/103402)). -- Fix TextEdit scrolls wrong on text selection ([GH-103410](https://github.com/godotengine/godot/pull/103410)). -- Set editor's translation domain at root node ([GH-103447](https://github.com/godotengine/godot/pull/103447)). -- Restore "Show in File Manager" button functionality in `ProjectManager` ([GH-103454](https://github.com/godotengine/godot/pull/103454)). -- Reorder properties in NoiseTexture2D/3D ([GH-103631](https://github.com/godotengine/godot/pull/103631)). -- Redraw inspector section when cursor enters and exits header to update hover state ([GH-103670](https://github.com/godotengine/godot/pull/103670)). -- EditorHelpBit: Fix symbol type name capitalization for text files ([GH-103689](https://github.com/godotengine/godot/pull/103689)). -- Fix forcing `ViewportTexture` after selecting a viewport in the "Pick a Viewport" popup ([GH-103692](https://github.com/godotengine/godot/pull/103692)). -- Update script modified times when saved in EditorNode ([GH-103695](https://github.com/godotengine/godot/pull/103695)). -- Don't edit objects when loading folding ([GH-103697](https://github.com/godotengine/godot/pull/103697)). -- Re-grab FileSystem focus after rescan ([GH-103734](https://github.com/godotengine/godot/pull/103734)). -- Inspect SceneTree node when dragged over ([GH-103738](https://github.com/godotengine/godot/pull/103738)). -- Remove unused Reload button ([GH-103762](https://github.com/godotengine/godot/pull/103762)). -- Update `MultiNodeEdit` property list on edited nodes' property list changed ([GH-103764](https://github.com/godotengine/godot/pull/103764)). -- Fix ownership when pasting non root with child nodes in new scene ([GH-103769](https://github.com/godotengine/godot/pull/103769)). -- Validate custom directory when project is started ([GH-103796](https://github.com/godotengine/godot/pull/103796)). -- Fix recovery mode lock file not being cleared on import/export ([GH-103805](https://github.com/godotengine/godot/pull/103805)). -- FindReplaceBar: Fix "Replace (All)" buttons repositioning, improve "Hide" button visual feedback ([GH-103806](https://github.com/godotengine/godot/pull/103806)). -- Save queued `ProjectSettings` changes immediately when settings dialog is closed ([GH-103816](https://github.com/godotengine/godot/pull/103816)). -- Make project manager's "last edited" field display use local time instead of UTC ([GH-103833](https://github.com/godotengine/godot/pull/103833)). -- Add Embed Game Window shortcut hotkeys support for `suspend/pause` and `next frame` buttons ([GH-103841](https://github.com/godotengine/godot/pull/103841)). -- Fix stuck editor cameras and fix 3D error spam for non-finite transforms ([GH-103845](https://github.com/godotengine/godot/pull/103845)). -- Allow opening a project in verbose mode from the Project Manager ([GH-103875](https://github.com/godotengine/godot/pull/103875)). -- Improve Sphere gizmo performance ([GH-103910](https://github.com/godotengine/godot/pull/103910)). -- Debugger: Allow locating VRAM resource by double-clicking ([GH-103949](https://github.com/godotengine/godot/pull/103949)). -- Fix global classes can't be used in the Evaluator ([GH-103979](https://github.com/godotengine/godot/pull/103979)). -- Add "Paste as Unique" option to the editor resource picker dropdown ([GH-103980](https://github.com/godotengine/godot/pull/103980)). -- Improve editor 2D/3D main screen auto-switching logic ([GH-104010](https://github.com/godotengine/godot/pull/104010)). -- Improve Audio Stream Player Gizmo Performance ([GH-104016](https://github.com/godotengine/godot/pull/104016)). -- Defend against directories without trailing slashes ([GH-104022](https://github.com/godotengine/godot/pull/104022)). -- Don't show Extend Script option for built-in scripts ([GH-104031](https://github.com/godotengine/godot/pull/104031)). -- Fix debugger's memory leak when project closes itself ([GH-104050](https://github.com/godotengine/godot/pull/104050)). -- Improve default/no query quick open dialog behavior ([GH-104061](https://github.com/godotengine/godot/pull/104061)). -- Fix `Game` view visual streaking when selecting nodes with `Physics Interpolation` enabled ([GH-104089](https://github.com/godotengine/godot/pull/104089)). -- Focus `Don't Save` in `Reload Saved Scene` and don't save unmodified scenes ([GH-104102](https://github.com/godotengine/godot/pull/104102)). -- Don't allow empty string when splitting allowed types and allowed subtypes in `_is_drop_valid()` in EditorPropertyArray ([GH-104152](https://github.com/godotengine/godot/pull/104152)). -- Fix error panel auto-hiding ([GH-104169](https://github.com/godotengine/godot/pull/104169)). -- Fix wrong height for top editors in the inspector ([GH-104181](https://github.com/godotengine/godot/pull/104181)). -- Fix Run Instances window being too big in single-window mode for window at minimum size ([GH-104228](https://github.com/godotengine/godot/pull/104228)). -- Fix `ThemeEditor` being too wide for small screen or minimized window ([GH-104231](https://github.com/godotengine/godot/pull/104231)). -- Fix Node dock broken right after opening project ([GH-104235](https://github.com/godotengine/godot/pull/104235)). -- Create .uid files for detected new files ([GH-104248](https://github.com/godotengine/godot/pull/104248)). -- Prompt to restart when project data (.godot) is missing ([GH-104252](https://github.com/godotengine/godot/pull/104252)). -- Set window position when running project in maximized or full-screen mode to ensure it is opened on the correct screen ([GH-104253](https://github.com/godotengine/godot/pull/104253)). -- Fix editor crash when inspecting 2 objects handled by the same plugin ([GH-104296](https://github.com/godotengine/godot/pull/104296)). -- Fix editor crash on overrides for non-existent input mappings ([GH-104306](https://github.com/godotengine/godot/pull/104306)). -- Call plugin edit before making visible ([GH-104318](https://github.com/godotengine/godot/pull/104318)). -- Change root node transform warning to only show up for position ([GH-104331](https://github.com/godotengine/godot/pull/104331)). -- Fix blank popup menu on `EditorResourcePicker` ([GH-104342](https://github.com/godotengine/godot/pull/104342)). -- Fix vbox separation for inspector subgroups ([GH-104344](https://github.com/godotengine/godot/pull/104344)). -- Scene Tree prevent inspecting node while scrolling ([GH-104346](https://github.com/godotengine/godot/pull/104346)). -- Fix use after free in the editor inspector section cleanup ([GH-104362](https://github.com/godotengine/godot/pull/104362)). -- Fix icons with non-ASCII file names in project manager ([GH-104403](https://github.com/godotengine/godot/pull/104403)). -- Simplify `ScriptEditorDebugger::_parse_message`; separate into handler functions ([GH-104425](https://github.com/godotengine/godot/pull/104425)). -- Fix embedded help menu icons ([GH-104441](https://github.com/godotengine/godot/pull/104441)). -- ColorChannelSelector: add tooltip, fix `toggle_button` repositioning and channels autotranslation ([GH-104474](https://github.com/godotengine/godot/pull/104474)). -- Hide 3D mode in Game view if the feature is disabled ([GH-104482](https://github.com/godotengine/godot/pull/104482)). -- EditorResourcePicker: Add `Quick Load` button ([GH-104490](https://github.com/godotengine/godot/pull/104490)). -- Fix crash when removing breakpoints from DAP, and multiple fixes ([GH-104523](https://github.com/godotengine/godot/pull/104523)). -- Fix regressions regarding multiple remote object selection ([GH-104573](https://github.com/godotengine/godot/pull/104573)). -- Change `.build` extension for engine build profiles to `.gdbuild` ([GH-104587](https://github.com/godotengine/godot/pull/104587)). -- Remove New prefix from EditorResourcePicker ([GH-104604](https://github.com/godotengine/godot/pull/104604)). -- Project manager: Add option to backup project when it will be changed ([GH-104624](https://github.com/godotengine/godot/pull/104624)). -- Fix `_delete_internal_files()` receiving wrong path ([GH-104669](https://github.com/godotengine/godot/pull/104669)). -- Add several new physics-related icons ([GH-104682](https://github.com/godotengine/godot/pull/104682)). -- Fix create root node dialog to follow preferred node name casing ([GH-104711](https://github.com/godotengine/godot/pull/104711)). -- Use the correct root inspector when making elements moved in an array visible ([GH-104756](https://github.com/godotengine/godot/pull/104756)). -- Handle null values for object types, as seen in typed dictionaries ([GH-104772](https://github.com/godotengine/godot/pull/104772)). -- Fix EditorNode3DGizmo::add_solid_box() GPU stalling ([GH-104777](https://github.com/godotengine/godot/pull/104777)). -- Fix setting root inspector's `follow_focus` to `true` when `update_tree()` method ends ([GH-104785](https://github.com/godotengine/godot/pull/104785)). -- Fix `Cannot get class` error when searching `TextFile`/`OtherFile` in FileSystem dock ([GH-104789](https://github.com/godotengine/godot/pull/104789)). -- Fix remote object inspector through DAP ([GH-104842](https://github.com/godotengine/godot/pull/104842)). -- Fix input config dialog overflow on Android Editor ([GH-104849](https://github.com/godotengine/godot/pull/104849)). -- Remember last POT generator path ([GH-104886](https://github.com/godotengine/godot/pull/104886)). -- Refactor `SceneDebugger::parse_message` into handler functions ([GH-104895](https://github.com/godotengine/godot/pull/104895)). -- Fix Edit option for sub-resources ([GH-104938](https://github.com/godotengine/godot/pull/104938)). -- Fix `BitMapEditor` crash when bitmap is empty ([GH-104957](https://github.com/godotengine/godot/pull/104957)). -- Display PortableCompressedTexture's format in inspector preview ([GH-104963](https://github.com/godotengine/godot/pull/104963)). -- Cleanup QuickOpenDialog history and fix UID errors ([GH-104974](https://github.com/godotengine/godot/pull/104974)). -- Android Editor: Add an editor setting to enable/disable `TouchActionsPanel` ([GH-105015](https://github.com/godotengine/godot/pull/105015)). -- Fix error spam when inspecting remote nodes outside the tree ([GH-105034](https://github.com/godotengine/godot/pull/105034)). -- Add UID to file tooltip ([GH-105069](https://github.com/godotengine/godot/pull/105069)). -- Validate custom directory when running from editor ([GH-105103](https://github.com/godotengine/godot/pull/105103)). -- Reset `ProjectSettings` scroll when changing category ([GH-105132](https://github.com/godotengine/godot/pull/105132)). -- Android Editor: Add new actions and enhancements to `TouchActionsPanel` ([GH-105140](https://github.com/godotengine/godot/pull/105140)). -- Fix exported Node/Resource variables resetting when extending script in the SceneTreeDock ([GH-105148](https://github.com/godotengine/godot/pull/105148)). -- Use separate `EditorFileDialog` for "Pack Project as ZIP" ([GH-105154](https://github.com/godotengine/godot/pull/105154)). -- Move `THREADS_ENABLED` check after common imports ([GH-105159](https://github.com/godotengine/godot/pull/105159)). -- Add `Engine Version Update Mode` button to Project Manager `Quick Settings` ([GH-105162](https://github.com/godotengine/godot/pull/105162)). -- Remove focus draw for editor inspector elements ([GH-105197](https://github.com/godotengine/godot/pull/105197)). -- Remove "dummy" renderer from the editor dropdown ([GH-105216](https://github.com/godotengine/godot/pull/105216)). -- Search custom types when filtering on type in the SceneTree dock ([GH-105224](https://github.com/godotengine/godot/pull/105224)). -- Fix visual shader editor popups not using editor scale ([GH-105226](https://github.com/godotengine/godot/pull/105226)). -- Add fuzzy filtering to the script filtering ([GH-105239](https://github.com/godotengine/godot/pull/105239)). -- Add fuzzy search to method filtering ([GH-105240](https://github.com/godotengine/godot/pull/105240)). -- Add enable checkboxes to editor sections ([GH-105272](https://github.com/godotengine/godot/pull/105272)). -- Fix issue with playing a custom scene from a UID ([GH-105277](https://github.com/godotengine/godot/pull/105277)). -- Update donation link to `fund.godotengine.org` ([GH-105283](https://github.com/godotengine/godot/pull/105283)). -- Rename editor setting `Engine Version Update Mode` to `Check for Updates` ([GH-105291](https://github.com/godotengine/godot/pull/105291)). -- Support custom features in project settings dialog ([GH-105307](https://github.com/godotengine/godot/pull/105307)). -- TextureEditorPlugin: Add borders to 3D and Layered editors ([GH-105310](https://github.com/godotengine/godot/pull/105310)). -- Add separate editor accessibility mode setting ([GH-105314](https://github.com/godotengine/godot/pull/105314)). -- Add inspector support for typed property hint formats ([GH-105368](https://github.com/godotengine/godot/pull/105368)). -- FileSystemList: Fix edit popup not accounting scroll position ([GH-105378](https://github.com/godotengine/godot/pull/105378)). -- Fix Sublime text external editor Exec Flags setting ([GH-105442](https://github.com/godotengine/godot/pull/105442)). -- Fix division by zero when scaling ([GH-105446](https://github.com/godotengine/godot/pull/105446)). -- Add `EditorInterface::close_scene()` ([GH-105502](https://github.com/godotengine/godot/pull/105502)). -- Embed TouchActionsPanel directly into the Android editor UI ([GH-105518](https://github.com/godotengine/godot/pull/105518)). -- Make the position and the size of FileSystem controls more precise ([GH-105560](https://github.com/godotengine/godot/pull/105560)). -- Fix EditorInspector tooltip disappearing in special cases ([GH-105576](https://github.com/godotengine/godot/pull/105576)). -- Allow Inspector Section Checkboxes to hide features, Add "On" text to checkboxes ([GH-105623](https://github.com/godotengine/godot/pull/105623)). -- Hide `one-click deploy` button on Android and XR editor ([GH-105636](https://github.com/godotengine/godot/pull/105636)). -- Change editor button focus mode to `FOCUS_ACCESSIBILITY` ([GH-105678](https://github.com/godotengine/godot/pull/105678)). -- Make documentation ignore undocumented private signals ([GH-105691](https://github.com/godotengine/godot/pull/105691)). -- Add inline color pickers to script editor ([GH-105724](https://github.com/godotengine/godot/pull/105724)). -- Walk up inheritance hierarchy when finding which script's docs to open ([GH-105806](https://github.com/godotengine/godot/pull/105806)). -- Fix Signals dock only un-doubling parent class's first signal ([GH-105811](https://github.com/godotengine/godot/pull/105811)). -- Remove deprecated `engine_version_update_mode` editor setting ([GH-105844](https://github.com/godotengine/godot/pull/105844)). -- Fix group name completion for `get_node_count_in_group` ([GH-105860](https://github.com/godotengine/godot/pull/105860)). -- Fix empty Script Editor members overview visible ([GH-105883](https://github.com/godotengine/godot/pull/105883)). -- Fix class reference discrepancy when using `--doctool` with TextServerFallback ([GH-105890](https://github.com/godotengine/godot/pull/105890)). -- Add original index field to fuzzy search result ([GH-105930](https://github.com/godotengine/godot/pull/105930)). -- Make `script_class_get_icon_path()` return any value when `r_valid` is passed ([GH-105942](https://github.com/godotengine/godot/pull/105942)). -- Add editor setting to collapse main menu into a `MenuButton` ([GH-105944](https://github.com/godotengine/godot/pull/105944)). -- Unify shortcut handling in FileSystem dock ([GH-106041](https://github.com/godotengine/godot/pull/106041)). -- Fix Set focus on right control on user action "show in file system" ([GH-106049](https://github.com/godotengine/godot/pull/106049)). -- Set current directory when using "Save Branch as Scene..." ([GH-106108](https://github.com/godotengine/godot/pull/106108)). -- Improve zoom performance in `Script` and `Shader` editors ([GH-106117](https://github.com/godotengine/godot/pull/106117)). -- Allow undoredo actions to not make history unsaved ([GH-106121](https://github.com/godotengine/godot/pull/106121)). -- macOS: Additional improvements and fixes for embedded window support ([GH-106134](https://github.com/godotengine/godot/pull/106134)). -- Remove redundant `line_spacing` editor setting ([GH-106137](https://github.com/godotengine/godot/pull/106137)). -- Fix editor crash when middle mouse button is clicked on empty space in scene tabs ([GH-106151](https://github.com/godotengine/godot/pull/106151)). -- macOS: Embedded window fixes ([GH-106166](https://github.com/godotengine/godot/pull/106166)). -- Remove `Don't save` button from "running project" confirmation modal ([GH-106187](https://github.com/godotengine/godot/pull/106187)). -- Script Editor: Fix Ctrl-Drag unique-name Editable Children ([GH-106193](https://github.com/godotengine/godot/pull/106193)). -- Fix some extensions missing in resource load dialog ([GH-106194](https://github.com/godotengine/godot/pull/106194)). -- Force weights on custom editor fonts when variable ([GH-106217](https://github.com/godotengine/godot/pull/106217)). -- Add dropdown to Movie Maker button in editor run bar to access settings ([GH-106231](https://github.com/godotengine/godot/pull/106231)). -- Fix `EditorNode::drag_resource` crash ([GH-106252](https://github.com/godotengine/godot/pull/106252)). -- Do not grab focus on filename `LineEdit` in `EditorFileDialog` when outside the tree ([GH-106260](https://github.com/godotengine/godot/pull/106260)). -- Make errors override warnings in script line coloring ([GH-106297](https://github.com/godotengine/godot/pull/106297)). -- Optimize unsaved history checking ([GH-106326](https://github.com/godotengine/godot/pull/106326)). -- AudioStreamImport: Make play and stop buttons accessible through keyboard ([GH-106338](https://github.com/godotengine/godot/pull/106338)). -- Allow running EditorScripts from the FileSystemDock ([GH-106339](https://github.com/godotengine/godot/pull/106339)). -- Draw checkerboard (or clear color) under embedded window ([GH-106340](https://github.com/godotengine/godot/pull/106340)). -- Fix EditorHelp's `FindBar` search index ([GH-106432](https://github.com/godotengine/godot/pull/106432)). -- Fix highlighting warning and error issues ([GH-106441](https://github.com/godotengine/godot/pull/106441)). -- Fix redundant signal connection in `TextureRegionEditor` ([GH-106453](https://github.com/godotengine/godot/pull/106453)). -- Fix potential crash when checking unsaved history ([GH-106454](https://github.com/godotengine/godot/pull/106454)). -- Android: Don't request `CAMERA` permission on editor startup ([GH-106462](https://github.com/godotengine/godot/pull/106462)). -- Fix GridMap scenario crash when outside tree ([GH-106464](https://github.com/godotengine/godot/pull/106464)). -- Make FindInFiles globally accessible ([GH-106500](https://github.com/godotengine/godot/pull/106500)). -- Reintroduce the dragging method of Sprite2D's region_rect ([GH-106553](https://github.com/godotengine/godot/pull/106553)). -- Fix error when closing all scene tabs on the last tab ([GH-106624](https://github.com/godotengine/godot/pull/106624)). -- Fix MSVC warning for potential mod by 0 (C4724) ([GH-106634](https://github.com/godotengine/godot/pull/106634)). -- Fix MovieWriter window title in embedded mode ([GH-106662](https://github.com/godotengine/godot/pull/106662)). -- Fix print/error ordering issue in editor Output ([GH-106674](https://github.com/godotengine/godot/pull/106674)). -- Ignore rename shortcut when Remote tab is active ([GH-106688](https://github.com/godotengine/godot/pull/106688)). -- Fix Ignore External Changes Bug ([GH-106714](https://github.com/godotengine/godot/pull/106714)). -- Allow toggling UID display in path properties ([GH-106716](https://github.com/godotengine/godot/pull/106716)). -- Assign base path when creating Resource ([GH-106750](https://github.com/godotengine/godot/pull/106750)). -- Add highlight around docks when dragging ([GH-106762](https://github.com/godotengine/godot/pull/106762)). -- Duplicate Folder: Fix to remap references between duplicated files ([GH-106763](https://github.com/godotengine/godot/pull/106763)). -- Android Editor: Disable `nomedia` file creation for Android 11 (api level 30) ([GH-106797](https://github.com/godotengine/godot/pull/106797)). -- Fix missing popup item defined in `EditorContextMenuPlugin` with slot `CONTEXT_SLOT_FILESYSTEM_CREATE` ([GH-106811](https://github.com/godotengine/godot/pull/106811)). -- Fix `EditorContextMenuPlugin` `CONTEXT_SLOT_FILESYSTEM_CREATE` does not receive path information for some menus ([GH-106820](https://github.com/godotengine/godot/pull/106820)). -- Reorganize scroll and zoom elements in the audio import dialog ([GH-106831](https://github.com/godotengine/godot/pull/106831)). -- Decrease font placeholder opacity in the editor theme ([GH-106850](https://github.com/godotengine/godot/pull/106850)). -- Align autoload popup columns to the left ([GH-106861](https://github.com/godotengine/godot/pull/106861)). -- Add class icon cache to EditorNode ([GH-106866](https://github.com/godotengine/godot/pull/106866)). -- Cleanup header includes for AddMetadataDialog ([GH-106870](https://github.com/godotengine/godot/pull/106870)). -- Improve Variant type menus in the editor ([GH-106888](https://github.com/godotengine/godot/pull/106888)). -- Remove parentheses around "All" option in the feature tag menu ([GH-106905](https://github.com/godotengine/godot/pull/106905)). -- Improve `EditorInspectorCategory` ([GH-106923](https://github.com/godotengine/godot/pull/106923)). -- Fix `get_class_icon()` ignoring fallback ([GH-106963](https://github.com/godotengine/godot/pull/106963)). -- Texture format error on export: Show project setting ([GH-107015](https://github.com/godotengine/godot/pull/107015)). -- Add file search QoL when focused on folder text box ([GH-107028](https://github.com/godotengine/godot/pull/107028)). -- Add support for taking embedded window screenshots ([GH-107038](https://github.com/godotengine/godot/pull/107038)). -- Explicit SceneDebugger `parse_message` handlers ([GH-107046](https://github.com/godotengine/godot/pull/107046)). -- Fix scene reload causing segfaults when non-existent node is currently selected ([GH-107067](https://github.com/godotengine/godot/pull/107067)). -- Fix Debugger Dock bottom margin ([GH-107102](https://github.com/godotengine/godot/pull/107102)). -- Describe "Fuzzy Search" in Quick Open tooltip ([GH-107108](https://github.com/godotengine/godot/pull/107108)). -- Add `OS::open_with_program` for opening files/directories with a specific program on macOS ([GH-107113](https://github.com/godotengine/godot/pull/107113)). -- Doc: Add "required" qualifier to methods ([GH-107130](https://github.com/godotengine/godot/pull/107130)). -- Fix crash when inspecting Variant export variable ([GH-107133](https://github.com/godotengine/godot/pull/107133)). -- Fix multi-instance behavior with embedded game view ([GH-107182](https://github.com/godotengine/godot/pull/107182)). -- Improve Input Map and Shortcuts editor ([GH-107196](https://github.com/godotengine/godot/pull/107196)). -- Fix capitalization for visionOS and tvOS ([GH-107221](https://github.com/godotengine/godot/pull/107221)). -- Add memory amount to output from the Copy System Info editor action ([GH-107240](https://github.com/godotengine/godot/pull/107240)). -- Fix `hint.radians_as_degrees` on Vector2 and Vector4 editor properties ([GH-107248](https://github.com/godotengine/godot/pull/107248)). -- Fix Game runtime debugging in the Android Editor ([GH-107251](https://github.com/godotengine/godot/pull/107251)). -- Fix not being able to open directory in certain terminals ([GH-107310](https://github.com/godotengine/godot/pull/107310)). -- Filesystem dock: Fix thumbnail size not updating instantly after changing editor setting ([GH-107323](https://github.com/godotengine/godot/pull/107323)). -- ProjectSettings: Fix missing property hint of setting overrides ([GH-107349](https://github.com/godotengine/godot/pull/107349)). -- Unhide `one-click deploy` button on Android and XR editor ([GH-107378](https://github.com/godotengine/godot/pull/107378)). -- Fix the editor shortcuts for the game menu on Android ([GH-107389](https://github.com/godotengine/godot/pull/107389)). -- Fix crash when `save_on_focus_loss` is enabled ([GH-107397](https://github.com/godotengine/godot/pull/107397)). -- Fix CSV translation not updating after reimport ([GH-107410](https://github.com/godotengine/godot/pull/107410)). -- Fix FileSystemDock signal connection for path navigation text box ([GH-107434](https://github.com/godotengine/godot/pull/107434)). -- Fix some inspector action buttons not updating icon when theme changes ([GH-107436](https://github.com/godotengine/godot/pull/107436)). -- Fix favorite folder colors ([GH-107455](https://github.com/godotengine/godot/pull/107455)). -- Fix debugger inspector minimum size ([GH-107467](https://github.com/godotengine/godot/pull/107467)). -- Fix problems with scripts and metadata in remote objects ([GH-107490](https://github.com/godotengine/godot/pull/107490)). -- Avoid manipulating `PackedScene` cache when generating scene preview thumbnails ([GH-107514](https://github.com/godotengine/godot/pull/107514)). -- Fix editing `ShaderInclude` causes a `Shader` to be edited ([GH-107534](https://github.com/godotengine/godot/pull/107534)). -- Fix game view window not updating title when translation changes ([GH-107581](https://github.com/godotengine/godot/pull/107581)). -- Fix root node auto translation settings affecting editor root ([GH-107584](https://github.com/godotengine/godot/pull/107584)). -- Make `PROPERTY_HINT_GROUP_ENABLE` hide properties by default ([GH-107591](https://github.com/godotengine/godot/pull/107591)). -- Add "See Migration Guide" button to the Project Manager ([GH-107623](https://github.com/godotengine/godot/pull/107623)). -- Add null check on generating thumbnails for PackedScene ([GH-107630](https://github.com/godotengine/godot/pull/107630)). -- Free nodes from instantiating if it is not a `Control` in the theme editor ([GH-107632](https://github.com/godotengine/godot/pull/107632)). -- Fix crash in `ConnectionsDialog` ([GH-107668](https://github.com/godotengine/godot/pull/107668)). -- Do not remove `SubViewport` nodes in thumbnail preview scene ([GH-107676](https://github.com/godotengine/godot/pull/107676)). -- Clear current path when deselecting files ([GH-107683](https://github.com/godotengine/godot/pull/107683)). -- Don't update script documentation when exporting ([GH-107685](https://github.com/godotengine/godot/pull/107685)). -- Check UID to disable "Set as Main Scene" in FileSystemDock ([GH-107686](https://github.com/godotengine/godot/pull/107686)). -- Fix `doctool` crash and errors on macOS ([GH-107700](https://github.com/godotengine/godot/pull/107700)). -- Fix `Evaluator`'s format issues caused by special characters in the expression ([GH-107748](https://github.com/godotengine/godot/pull/107748)). -- Swap UID and path buttons ([GH-107766](https://github.com/godotengine/godot/pull/107766)). -- Use one-based line numbers for external text editors ([GH-107816](https://github.com/godotengine/godot/pull/107816)). -- Fix aspect ratio of small thumbnails ([GH-107818](https://github.com/godotengine/godot/pull/107818)). -- Fix can't convert to ShaderMaterial in FileSystemDock ([GH-107842](https://github.com/godotengine/godot/pull/107842)). -- Fix Resource doesn't update when overwritten in editor ([GH-107850](https://github.com/godotengine/godot/pull/107850)). -- Expose `ScriptEditor.clear_docs_from_script` ([GH-107862](https://github.com/godotengine/godot/pull/107862)). -- Fix ScriptEditor inline colors float handling ([GH-107904](https://github.com/godotengine/godot/pull/107904)). -- Fix updating project settings after move ([GH-107929](https://github.com/godotengine/godot/pull/107929)). -- Fix resizing error when generating thumbnails ([GH-107934](https://github.com/godotengine/godot/pull/107934)). -- Generate scene ID for created built-in Resources ([GH-107943](https://github.com/godotengine/godot/pull/107943)). -- Don't rename nodes when tree is invisible ([GH-108017](https://github.com/godotengine/godot/pull/108017)). -- Fix subinspector for parameter preview in visual shader editor ([GH-108119](https://github.com/godotengine/godot/pull/108119)). -- Properly show detach script button when script is added via inspector ([GH-108122](https://github.com/godotengine/godot/pull/108122)). -- Fix `PROPERTY_HINT_GROUP_ENABLE` display on hover ([GH-108264](https://github.com/godotengine/godot/pull/108264)). -- Fix remote deselection not working when selection limit is reached ([GH-108297](https://github.com/godotengine/godot/pull/108297)). -- Fix filtered out nodes not getting deselected ([GH-108312](https://github.com/godotengine/godot/pull/108312)). -- Fix and improve auto-translation for `FindInFiles` ([GH-108336](https://github.com/godotengine/godot/pull/108336)). -- Fix can't remove inspector plugins after reaching max count ([GH-108377](https://github.com/godotengine/godot/pull/108377)). -- Fix error when "Toggle Files Panel" in shader editor ([GH-108381](https://github.com/godotengine/godot/pull/108381)). -- Fix main editor title after changing language ([GH-108396](https://github.com/godotengine/godot/pull/108396)). -- Improve error when `update_doc()` fails ([GH-108418](https://github.com/godotengine/godot/pull/108418)). -- Scroll scene tree dock when moving item(s) with keys ([GH-108436](https://github.com/godotengine/godot/pull/108436)). -- Fix ScriptEditor inline color wrong line number ([GH-108440](https://github.com/godotengine/godot/pull/108440)). -- Fix some Text Editor theme issues and clean up ([GH-108463](https://github.com/godotengine/godot/pull/108463)). -- Fix MissingNode `{get,set}_original_scene` bindings ([GH-108531](https://github.com/godotengine/godot/pull/108531)). -- Fix unwanted resource duplication in the theme editor ([GH-108533](https://github.com/godotengine/godot/pull/108533)). -- Android Editor: Reduce default gizmo scale multiplier ([GH-108570](https://github.com/godotengine/godot/pull/108570)). -- Fix crash when specifying `--debug-server` ([GH-108618](https://github.com/godotengine/godot/pull/108618)). -- Fix new autoload scripts using file name instead of user defined name ([GH-108642](https://github.com/godotengine/godot/pull/108642)). -- Fix error when dragging non-resource file ([GH-108645](https://github.com/godotengine/godot/pull/108645)). -- Prompt to save modified scene missing when quitting editor with running project ([GH-108651](https://github.com/godotengine/godot/pull/108651)). -- Cancel save dialog on editor exit ([GH-108679](https://github.com/godotengine/godot/pull/108679)). -- Fix debugger immediate disconnect ([GH-108692](https://github.com/godotengine/godot/pull/108692)). -- SpriteFramesEditor: Decompress texture before auto slicing sprite sheet ([GH-108699](https://github.com/godotengine/godot/pull/108699)). -- Fix the absolute `NodePath` was calculated incorrectly when "Reparent to New Node" ([GH-108708](https://github.com/godotengine/godot/pull/108708)). -- Fix hidden scrollbar in editor settings ([GH-108721](https://github.com/godotengine/godot/pull/108721)). -- Fix `FindInFilesPanel` sizing issues ([GH-108792](https://github.com/godotengine/godot/pull/108792)). -- Save the changes before duplicating resource files ([GH-108816](https://github.com/godotengine/godot/pull/108816)). -- Fix crash in SceneTreeDock when closing a scene with a selected node ([GH-108883](https://github.com/godotengine/godot/pull/108883)). -- Fix `ProgressDialog` errors during first scan ([GH-108893](https://github.com/godotengine/godot/pull/108893)). -- Use `EditorUndoRedoManager` to track the property changes of the configured `InputEvent` in the plugin ([GH-109016](https://github.com/godotengine/godot/pull/109016)). -- Prevent invalid and ambiguous tag names ([GH-109058](https://github.com/godotengine/godot/pull/109058)). -- Fix snapping logic in Range ([GH-109100](https://github.com/godotengine/godot/pull/109100)). -- Clear SceneTreeDock's previous node selection when removing edited scene ([GH-109130](https://github.com/godotengine/godot/pull/109130)). -- Use `point_grab_radius` setting in `Polygon2DEditor` bottom panel editor ([GH-109133](https://github.com/godotengine/godot/pull/109133)). -- Fix inconsistent thumbnail width ([GH-109199](https://github.com/godotengine/godot/pull/109199)). -- Fix inheriting from abstract classes dialog ([GH-109203](https://github.com/godotengine/godot/pull/109203)). -- Keep collapsed state for actions when modifying Input Map ([GH-109259](https://github.com/godotengine/godot/pull/109259)). -- Add new line when dropping onready on empty line ([GH-109448](https://github.com/godotengine/godot/pull/109448)). -- Fix remote tree max selection warning not showing properly ([GH-109474](https://github.com/godotengine/godot/pull/109474)). -- Don't open folders as file in script editor ([GH-109522](https://github.com/godotengine/godot/pull/109522)). -- SceneCreateDialog: Hide 3D Scene option when 3D editor is disabled ([GH-109564](https://github.com/godotengine/godot/pull/109564)). -- Strip empty deps when loading filesystem cache ([GH-109614](https://github.com/godotengine/godot/pull/109614)). -- Add hover styles to buttons in Script/Shader editor ([GH-109672](https://github.com/godotengine/godot/pull/109672)). -- macOS: Remove FEATURE_MOUSE from embedded display server ([GH-109723](https://github.com/godotengine/godot/pull/109723)). -- Fix/remove error about "Can't update documentation" when saving script ([GH-109735](https://github.com/godotengine/godot/pull/109735)). -- Fix editor resource tooltip crash on broken symlinks ([GH-109766](https://github.com/godotengine/godot/pull/109766)). -- Track last selection using ObjectID ([GH-109801](https://github.com/godotengine/godot/pull/109801)). -- Don't start editor as unsaved ([GH-109825](https://github.com/godotengine/godot/pull/109825)). -- Remove nearly-unused "default" range hint min/max ([GH-109884](https://github.com/godotengine/godot/pull/109884)). -- Rescale values to better utilize R128 range before snapping ([GH-109887](https://github.com/godotengine/godot/pull/109887)). -- Allow extending previously-non-abstract scripts that became abstract ([GH-109903](https://github.com/godotengine/godot/pull/109903)). -- Add single-object inspect command backwards compatible API for potential regression ([GH-110043](https://github.com/godotengine/godot/pull/110043)). -- Add missing range hint to `Viewport.oversampling_override` in the editor ([GH-110094](https://github.com/godotengine/godot/pull/110094)). -- Fix Range scale overflow ([GH-110107](https://github.com/godotengine/godot/pull/110107)). -- Fix "SpriteFrames" editor not fully hiding the bottom panel ([GH-110280](https://github.com/godotengine/godot/pull/110280)). +- Show a warning toast when saving a large text-based scene ([GH-53679](https://github.com/godotengine/godot/pull/53679)). +- Add a border to tooltips when using the Draw Extra Borders editor setting ([GH-76267](https://github.com/godotengine/godot/pull/76267)). +- Add Ctrl + A and Ctrl + Shift + A to (de)select all projects in project manager ([GH-77292](https://github.com/godotengine/godot/pull/77292)). +- Rework icons of noise-related classes ([GH-80427](https://github.com/godotengine/godot/pull/80427)). +- Add icons to some editor classes ([GH-82121](https://github.com/godotengine/godot/pull/82121)). +- Allow editing editor settings from project manager ([GH-82212](https://github.com/godotengine/godot/pull/82212)). +- Move script name to top ([GH-86468](https://github.com/godotengine/godot/pull/86468)). +- Allow rearranging translation list via drag and drop ([GH-89367](https://github.com/godotengine/godot/pull/89367)). +- Refactor SceneTreeDock context menu separators ([GH-92390](https://github.com/godotengine/godot/pull/92390)). +- Store script states for built-in scripts ([GH-93713](https://github.com/godotengine/godot/pull/93713)). +- Add `EditorResourcePreviewGenerator::request_draw_and_wait` ([GH-96897](https://github.com/godotengine/godot/pull/96897)). +- Add an ObjectDB Profiling Tool ([GH-97210](https://github.com/godotengine/godot/pull/97210)). +- Fix various editor easing property issues ([GH-97753](https://github.com/godotengine/godot/pull/97753)). +- Fix scripts panel state not being saved when toggle button is used ([GH-98936](https://github.com/godotengine/godot/pull/98936)). +- Fix ProjectManager import dialog error ([GH-100197](https://github.com/godotengine/godot/pull/100197)). +- Remove prompt to restart editor after changing custom theme ([GH-100876](https://github.com/godotengine/godot/pull/100876)). +- Show file when FileSystem is searched with UID ([GH-102789](https://github.com/godotengine/godot/pull/102789)). +- Condense Inspector layout for Arrays ([GH-103257](https://github.com/godotengine/godot/pull/103257)). +- Add switch on hover to TabBar ([GH-103478](https://github.com/godotengine/godot/pull/103478)). +- Fix `Color` precision error in the documentation generated on M4 macOS ([GH-104112](https://github.com/godotengine/godot/pull/104112)). +- Support keeping results in results of `Find in Files` and `Replace in Files` ([GH-104676](https://github.com/godotengine/godot/pull/104676)). +- Fix pressed keys reset when hiding a window on Windows ([GH-104802](https://github.com/godotengine/godot/pull/104802)). +- Fix inspector spacing issues ([GH-105773](https://github.com/godotengine/godot/pull/105773)). +- Optimize the `callback` argument of `popup_create_dialog()` ([GH-106071](https://github.com/godotengine/godot/pull/106071)). +- Fix editing resources in the inspector when inside an array or dictionary ([GH-106099](https://github.com/godotengine/godot/pull/106099)). +- Refactor editor `EditorBottomPanel` to be a `TabContainer` ([GH-106164](https://github.com/godotengine/godot/pull/106164)). +- Add drag and drop export variables ([GH-106341](https://github.com/godotengine/godot/pull/106341)). +- Rework editor docks ([GH-106503](https://github.com/godotengine/godot/pull/106503)). +- Add "Distraction Free Mode" button to `EditorBottomPanel` when bottom panel is expanded ([GH-106780](https://github.com/godotengine/godot/pull/106780)). +- Allow Quick Open dialog to preview change in scene ([GH-106947](https://github.com/godotengine/godot/pull/106947)). +- Fix the extra arguments of type `NodePath` in the connection dialog do not work ([GH-107013](https://github.com/godotengine/godot/pull/107013)). +- Allow closing all scene tabs via shortcut ([GH-107065](https://github.com/godotengine/godot/pull/107065)). +- Make drag-and-dropped resources unique when holding Ctrl/Cmd in the editor ([GH-107237](https://github.com/godotengine/godot/pull/107237)). +- Add game speed controls to the embedded game window ([GH-107273](https://github.com/godotengine/godot/pull/107273)). +- Expose the signal when user select a file/folder in the FileSystemDock ([GH-107275](https://github.com/godotengine/godot/pull/107275)). +- Fix TabContainer Editor theming and remove Debugger style hacks ([GH-107395](https://github.com/godotengine/godot/pull/107395)). +- ShaderCompiler: Optimize compilation error printing ([GH-107547](https://github.com/godotengine/godot/pull/107547)). +- Show "No Translations Configured" message for empty translation preview menu ([GH-107649](https://github.com/godotengine/godot/pull/107649)). +- Add "Set as Main Scene" option to EditorSceneTabs context menu ([GH-107652](https://github.com/godotengine/godot/pull/107652)). +- Add checkbox for blender's "GPU Instances" option for exporting GLTF ([GH-107672](https://github.com/godotengine/godot/pull/107672)). +- Fix setting remote properties that take objects not working ([GH-107687](https://github.com/godotengine/godot/pull/107687)). +- Show description for editor setting overrides ([GH-107692](https://github.com/godotengine/godot/pull/107692)). +- Improve editor settings override display ([GH-107765](https://github.com/godotengine/godot/pull/107765)). +- Simplify Node Filter's placeholder in Scene dock ([GH-107942](https://github.com/godotengine/godot/pull/107942)). +- Replace Inspector `pending` stack usage with loop ([GH-107947](https://github.com/godotengine/godot/pull/107947)). +- Clean up numeric EditorProperty `setup()` methods ([GH-108065](https://github.com/godotengine/godot/pull/108065)). +- Add tab menu button to list currently opened scenes ([GH-108079](https://github.com/godotengine/godot/pull/108079)). +- Replace spaces and use lowercase automatically for project manager tags ([GH-108125](https://github.com/godotengine/godot/pull/108125)). +- Carry editor pseudolocalization CLI option across restarts ([GH-108129](https://github.com/godotengine/godot/pull/108129)). +- Change preview methods to take Callable ([GH-108162](https://github.com/godotengine/godot/pull/108162)). +- Allow moving nodes when they have different parents in SceneTreeDock ([GH-108168](https://github.com/godotengine/godot/pull/108168)). +- Use create script dialog for script-type resources ([GH-108180](https://github.com/godotengine/godot/pull/108180)). +- Hide property groups from the "Members" section in the remote inspector ([GH-108213](https://github.com/godotengine/godot/pull/108213)). +- EditorFileSystem: Simplify resource loading logic on startup ([GH-108236](https://github.com/godotengine/godot/pull/108236)). +- Add more `PROPERTY_HINT_GROUP_ENABLE` uses ([GH-108254](https://github.com/godotengine/godot/pull/108254)). +- Automatically open newly created script ([GH-108342](https://github.com/godotengine/godot/pull/108342)). +- Remove unused member variables in `EditorInspector` ([GH-108379](https://github.com/godotengine/godot/pull/108379)). +- Add expression history to evaluator ([GH-108391](https://github.com/godotengine/godot/pull/108391)). +- Remove unnecessary newlines from key tooltip ([GH-108404](https://github.com/godotengine/godot/pull/108404)). +- Make file part of errors/warnings clickable in Output panel ([GH-108473](https://github.com/godotengine/godot/pull/108473)). +- Make editor property clipboard static ([GH-108479](https://github.com/godotengine/godot/pull/108479)). +- Update Breeze dark theme colors ([GH-108534](https://github.com/godotengine/godot/pull/108534)). +- Improve Paste as Unique option ([GH-108551](https://github.com/godotengine/godot/pull/108551)). +- Do not require editor restart when changing editor inspector settings ([GH-108554](https://github.com/godotengine/godot/pull/108554)). +- Make bottom panel into available dock slot ([GH-108647](https://github.com/godotengine/godot/pull/108647)). +- Add hint range and capitalization for Path3D Tilt Disk Size editor setting ([GH-108677](https://github.com/godotengine/godot/pull/108677)). +- Do not poll for system theme changes ([GH-108705](https://github.com/godotengine/godot/pull/108705)). +- Allow concurrent unbinding and binding of signal arguments in editor ([GH-108741](https://github.com/godotengine/godot/pull/108741)). +- Move Material3D conversion editor plugins to their own folder ([GH-108766](https://github.com/godotengine/godot/pull/108766)). +- Fix bad text contrast on readonly EditorPropertyArray/Dict/Res ([GH-108872](https://github.com/godotengine/godot/pull/108872)). +- Reduce icon size in editor inspector NodePath properties to match design size ([GH-108882](https://github.com/godotengine/godot/pull/108882)). +- Add suffix to EditorSpinSlider tooltips ([GH-108929](https://github.com/godotengine/godot/pull/108929)). +- Clean up `EditorPluginList` ([GH-108987](https://github.com/godotengine/godot/pull/108987)). +- Add confirmation dialog to filesystem dock when moving or copying files ([GH-109017](https://github.com/godotengine/godot/pull/109017)). +- Remove unused member variables in EditorNode ([GH-109027](https://github.com/godotengine/godot/pull/109027)). +- View resource signals in the Connections Dock ([GH-109043](https://github.com/godotengine/godot/pull/109043)). +- Add a documentation link to the renderer selection dialog ([GH-109101](https://github.com/godotengine/godot/pull/109101)). +- Use a fixed-width font for the expression evaluator ([GH-109166](https://github.com/godotengine/godot/pull/109166)). +- Correct the order of Diagonal Mode in Add Property ([GH-109214](https://github.com/godotengine/godot/pull/109214)). +- Add Shortcut tooltip to Editor Main Screen Plugins ([GH-109234](https://github.com/godotengine/godot/pull/109234)). +- ThemeEditor: Reorganize/fix UI to make it fit in editor (at its minimum size in single-window mode) better ([GH-109237](https://github.com/godotengine/godot/pull/109237)). +- Improve EditorRunBar shortcut tooltips to be more informative ([GH-109306](https://github.com/godotengine/godot/pull/109306)). +- Deprecate `get_scene()` in `EditorScript` class ([GH-109331](https://github.com/godotengine/godot/pull/109331)). +- Add icon & clear button to Select Method dialog search bar ([GH-109384](https://github.com/godotengine/godot/pull/109384)). +- ProfilerAutostartWarning svg icon cleanup ([GH-109413](https://github.com/godotengine/godot/pull/109413)). +- Add indicator to linked resources ([GH-109458](https://github.com/godotengine/godot/pull/109458)). +- Fix scrolling to bottom panel selected button ([GH-109502](https://github.com/godotengine/godot/pull/109502)). +- Speed up deletion via the Scene Tree Dock in large trees ([GH-109511](https://github.com/godotengine/godot/pull/109511)). +- Miscellaneous editor optimizations for large scenes ([GH-109513](https://github.com/godotengine/godot/pull/109513)). +- Speed up large selections in the editor ([GH-109515](https://github.com/godotengine/godot/pull/109515)). +- Speed up signal disconnects in the editor ([GH-109517](https://github.com/godotengine/godot/pull/109517)). +- Show symlink target in the resource tooltip ([GH-109525](https://github.com/godotengine/godot/pull/109525)). +- Fix the text editor confusing resource files of class JSON with json files ([GH-109549](https://github.com/godotengine/godot/pull/109549)). +- Replace "local" `Vector` with `LocalVector` ([GH-109562](https://github.com/godotengine/godot/pull/109562)). +- Make FileSystemDock navigate to currently selected scene tab ([GH-109587](https://github.com/godotengine/godot/pull/109587)). +- Extend DAP to allow debugging main/current/specific scene/secondary editor and command-line arguments ([GH-109637](https://github.com/godotengine/godot/pull/109637)). +- Improve and reduce Game window sizing ([GH-109701](https://github.com/godotengine/godot/pull/109701)). +- FindInFiles: Allow replacing individual results ([GH-109727](https://github.com/godotengine/godot/pull/109727)). +- Update POT files when a file is moved or deleted ([GH-109802](https://github.com/godotengine/godot/pull/109802)). +- Add `Make_Unique_Recursive` option for `Resources` with `Arrays` and `Dictionaries` ([GH-109816](https://github.com/godotengine/godot/pull/109816)). +- Assign shortcuts to prev/next script buttons ([GH-109842](https://github.com/godotengine/godot/pull/109842)). +- Fix typos in BlendSpace2D editor's axis labels' accessibility names ([GH-109847](https://github.com/godotengine/godot/pull/109847)). +- Fix Audio bottom panel going under the taskbar on small displays ([GH-109915](https://github.com/godotengine/godot/pull/109915)). +- Show simple dialog when there are no Resources to duplicate ([GH-109919](https://github.com/godotengine/godot/pull/109919)). +- Refactor debugging on a device with DAP - now possible with all device types ([GH-109987](https://github.com/godotengine/godot/pull/109987)). +- Add column boundary check in the autocompletion ([GH-110017](https://github.com/godotengine/godot/pull/110017)). +- Fix folder color in FileSystem Dock when using light theme ([GH-110066](https://github.com/godotengine/godot/pull/110066)). +- Differentiate the suspend button in the Game tab with the Pause button in the editor run bar ([GH-110108](https://github.com/godotengine/godot/pull/110108)). +- Emit `scene_changed` event when opening a scene from an empty tab list ([GH-110135](https://github.com/godotengine/godot/pull/110135)). +- Fix `ScriptEditor::edit()` not jumping to the first line ([GH-110137](https://github.com/godotengine/godot/pull/110137)). +- Fix Clear option not visible when a Resource's `@export`-ed property is a Script ([GH-110189](https://github.com/godotengine/godot/pull/110189)). +- Fix `ScriptEditor::edit()` ignoring column parameter ([GH-110225](https://github.com/godotengine/godot/pull/110225)). +- Fix editor crash caused by `EditorFileSystem::get_singleton` access in theme initialization path ([GH-110242](https://github.com/godotengine/godot/pull/110242)). +- Properly inspect old remote selection ([GH-110251](https://github.com/godotengine/godot/pull/110251)). +- Add name info to EditorAutoloadSettings invalid name message ([GH-110259](https://github.com/godotengine/godot/pull/110259)). +- Defer checking for rendering device support until the new project dialog is opened ([GH-110269](https://github.com/godotengine/godot/pull/110269)). +- Enable objects stored as dictionary keys to be selected in inspector ([GH-110291](https://github.com/godotengine/godot/pull/110291)). +- Fix vertical alignment of Inspector category titles ([GH-110303](https://github.com/godotengine/godot/pull/110303)). +- Improve dependency editor warning ([GH-110307](https://github.com/godotengine/godot/pull/110307)). +- Open translation CSV in the text editor instead of printing errors ([GH-110323](https://github.com/godotengine/godot/pull/110323)). +- Set language encoding flag when using Pack Project as ZIP ([GH-110387](https://github.com/godotengine/godot/pull/110387)). +- Fix Open Editor Data/Settings Folder menu in self-contained mode ([GH-110413](https://github.com/godotengine/godot/pull/110413)). +- Fix favorite folders that are outside of the project being displayed in `FileSystemDock`'s file list ([GH-110415](https://github.com/godotengine/godot/pull/110415)). +- Fix crash due to null pointer dereference when moving/renaming folders in `FileSystemDock` ([GH-110420](https://github.com/godotengine/godot/pull/110420)). +- Fix AudioBus editor not updating layout path ([GH-110422](https://github.com/godotengine/godot/pull/110422)). +- Fix lost connections when saving branch as scene ([GH-110432](https://github.com/godotengine/godot/pull/110432)). +- Allow custom debug monitors to select desired type ([GH-110433](https://github.com/godotengine/godot/pull/110433)). +- Improve look of some buttons inside the inspector ([GH-110434](https://github.com/godotengine/godot/pull/110434)). +- Allow to use sliders for integers in `EditorSpinSlider` ([GH-110459](https://github.com/godotengine/godot/pull/110459)). +- Improve editor language selector ([GH-110492](https://github.com/godotengine/godot/pull/110492)). +- Optimize PNG assets ([GH-110566](https://github.com/godotengine/godot/pull/110566)). +- Fix the project file was not updated when some files were removed ([GH-110576](https://github.com/godotengine/godot/pull/110576)). +- Fix wrong color for timeline indicator in the light theme ([GH-110593](https://github.com/godotengine/godot/pull/110593)). +- Tweak the enum visual order for Sort Scripts By editor setting ([GH-110602](https://github.com/godotengine/godot/pull/110602)). +- Add Create Resource Hotkey ([GH-110641](https://github.com/godotengine/godot/pull/110641)). +- Expand `LineEdit` with metadata name in `AddMetadataDialog` ([GH-110647](https://github.com/godotengine/godot/pull/110647)). +- Fix DPITexture editor icon name ([GH-110661](https://github.com/godotengine/godot/pull/110661)). +- Keep shortcut selected when clearing filter ([GH-110690](https://github.com/godotengine/godot/pull/110690)). +- Don't emit `scene_changed` when restoring scenes ([GH-110731](https://github.com/godotengine/godot/pull/110731)). +- Fix selection of remote tree using the keyboard ([GH-110738](https://github.com/godotengine/godot/pull/110738)). +- FindInFiles: Show the number of matches for each file ([GH-110770](https://github.com/godotengine/godot/pull/110770)). +- Tweak macOS notarization export message in the editor ([GH-110793](https://github.com/godotengine/godot/pull/110793)). +- Ignore main scene UID error in editor ([GH-110810](https://github.com/godotengine/godot/pull/110810)). +- Cache editor setting queried in hot path in 2D editor ([GH-110814](https://github.com/godotengine/godot/pull/110814)). +- Fix regression with min size on nested inspectors ([GH-110827](https://github.com/godotengine/godot/pull/110827)). +- ProjectManager: Change favorite button tooltip to toggle ([GH-110855](https://github.com/godotengine/godot/pull/110855)). +- Fix "Region Editor" stuck in drag state when closing ([GH-110910](https://github.com/godotengine/godot/pull/110910)). +- Fix region folding not loading properly ([GH-110946](https://github.com/godotengine/godot/pull/110946)). +- GUI: Fix `nullptr` deref in TextServer ([GH-110970](https://github.com/godotengine/godot/pull/110970)). +- Fix editor log search ignoring BBCode formatting in messages ([GH-110972](https://github.com/godotengine/godot/pull/110972)). +- Move file filter when filesystem dock is in the bottom panel ([GH-111000](https://github.com/godotengine/godot/pull/111000)). +- Delete "Activate now?" button ([GH-111012](https://github.com/godotengine/godot/pull/111012)). +- Add splitter to "Create New Node" dialog ([GH-111017](https://github.com/godotengine/godot/pull/111017)). +- Fix Clear Inheritance issues ([GH-111025](https://github.com/godotengine/godot/pull/111025)). +- Fix incorrect usage of `Color::from_hsv()` exposed by newer compilers ([GH-111050](https://github.com/godotengine/godot/pull/111050)). +- Fix Quick Open history ([GH-111068](https://github.com/godotengine/godot/pull/111068)). +- Add a new editor theme ([GH-111118](https://github.com/godotengine/godot/pull/111118)). +- Fix enum strings losing space ([GH-111134](https://github.com/godotengine/godot/pull/111134)). +- Set correct saved history after clearing ([GH-111136](https://github.com/godotengine/godot/pull/111136)). +- Use Inter as the default editor font, features enabled ([GH-111140](https://github.com/godotengine/godot/pull/111140)). +- Fix switching back to local SceneTree ([GH-111150](https://github.com/godotengine/godot/pull/111150)). +- Remove side menu functionality in `EditorFileDialog` ([GH-111162](https://github.com/godotengine/godot/pull/111162)). +- Reset found version before checking again ([GH-111166](https://github.com/godotengine/godot/pull/111166)). +- Ensure correct metadata for enum items ([GH-111201](https://github.com/godotengine/godot/pull/111201)). +- Android Editor: Update suspend button icon in GameMenuBar ([GH-111204](https://github.com/godotengine/godot/pull/111204)). +- Project Manager: Prohibit duplicating a project into itself ([GH-111273](https://github.com/godotengine/godot/pull/111273)). +- Android Editor: Add game speed control options in game menu bar ([GH-111296](https://github.com/godotengine/godot/pull/111296)). +- Fix 'More Info…' link in Export/Encryption ([GH-111302](https://github.com/godotengine/godot/pull/111302)). +- Should expand root when `auto_expand` is on ([GH-111393](https://github.com/godotengine/godot/pull/111393)). +- Add source lines to file locations on POT generation ([GH-111419](https://github.com/godotengine/godot/pull/111419)). +- Use Title Case for shortcut names in SpriteFramesEditorPlugin ([GH-111448](https://github.com/godotengine/godot/pull/111448)). +- Enable maximize button for Editor/Project settings dialogs ([GH-111449](https://github.com/godotengine/godot/pull/111449)). +- Enable script templates by default ([GH-111454](https://github.com/godotengine/godot/pull/111454)). +- Fix some dragging operations in the editor breaking when tabbing out ([GH-111456](https://github.com/godotengine/godot/pull/111456)). +- Keep the bottom panel size separate ([GH-111499](https://github.com/godotengine/godot/pull/111499)). +- Fix editor inline color display of color from `Color.from_rgba8` ([GH-111527](https://github.com/godotengine/godot/pull/111527)). +- Allow keyboard echo for ScriptEditor tab manipulation events ([GH-111542](https://github.com/godotengine/godot/pull/111542)). +- Fix error when editing multifield values inside arrays and dictionaries ([GH-111606](https://github.com/godotengine/godot/pull/111606)). +- Don't show exported script variables twice in the remote inspector ([GH-111622](https://github.com/godotengine/godot/pull/111622)). +- Add "Show in File Manager" button to sidebar of Project Manager ([GH-111624](https://github.com/godotengine/godot/pull/111624)). +- Fix opening found lines in built-in scripts ([GH-111641](https://github.com/godotengine/godot/pull/111641)). +- Make remote debug elements ignore the canvas scaling ([GH-111700](https://github.com/godotengine/godot/pull/111700)). +- Enable Gradle builds on the Android editor via a dedicated build app ([GH-111732](https://github.com/godotengine/godot/pull/111732)). +- Add "with" stop word to the editor property name processor ([GH-111742](https://github.com/godotengine/godot/pull/111742)). +- Game View Plugin: Fix signal connected too early causing theme warning ([GH-111755](https://github.com/godotengine/godot/pull/111755)). +- Add OpenType feature settings to Main Font ([GH-111773](https://github.com/godotengine/godot/pull/111773)). +- Save editor settings when modified from code ([GH-111791](https://github.com/godotengine/godot/pull/111791)). +- Open source code errors in external editor ([GH-111805](https://github.com/godotengine/godot/pull/111805)). +- Fix switch to GameView when closing game window ([GH-111811](https://github.com/godotengine/godot/pull/111811)). +- Fix autoset of `text_editor/external/exec_flags` not working properly ([GH-111820](https://github.com/godotengine/godot/pull/111820)). +- Add Zed to External Editor exec flags autofill ([GH-111821](https://github.com/godotengine/godot/pull/111821)). +- Use ObjectID to store nodes in the editor selection ([GH-111837](https://github.com/godotengine/godot/pull/111837)). +- EditorRun: Load `override.cfg` to get window configuration for embedded mode ([GH-111847](https://github.com/godotengine/godot/pull/111847)). +- Change `Go to Line` default shortcut to `Ctrl+G` ([GH-111901](https://github.com/godotengine/godot/pull/111901)). +- Use `EditorSpinSlider` in the theme editor ([GH-111913](https://github.com/godotengine/godot/pull/111913)). +- Make editor remember the translation preview locale ([GH-111919](https://github.com/godotengine/godot/pull/111919)). +- Fix FindInFiles crash when changing language ([GH-111934](https://github.com/godotengine/godot/pull/111934)). +- Add donate button to project manager ([GH-111969](https://github.com/godotengine/godot/pull/111969)). +- Fix file duplication making random UID ([GH-112015](https://github.com/godotengine/godot/pull/112015)). +- Fix verbose running message ([GH-112016](https://github.com/godotengine/godot/pull/112016)). +- Fix FileSystem file list mode button visibility ([GH-112052](https://github.com/godotengine/godot/pull/112052)). +- Save project metadata less often ([GH-112064](https://github.com/godotengine/godot/pull/112064)). +- Improve error message when `_EDITOR_GET` fails ([GH-112069](https://github.com/godotengine/godot/pull/112069)). +- Fix missing setting error when starting the editor ([GH-112070](https://github.com/godotengine/godot/pull/112070)). +- Improve editing EditorDock node ([GH-112087](https://github.com/godotengine/godot/pull/112087)). +- Update documentation pages when switching themes ([GH-112141](https://github.com/godotengine/godot/pull/112141)). +- Allow reloading empty scenes ([GH-112156](https://github.com/godotengine/godot/pull/112156)). +- Fix layers property editor last bit value in tooltip ([GH-112173](https://github.com/godotengine/godot/pull/112173)). +- Allow drag setting flags in layers property editor ([GH-112174](https://github.com/godotengine/godot/pull/112174)). +- Stretch inline buttons & center text to full property header height ([GH-112176](https://github.com/godotengine/godot/pull/112176)). +- Allow fixing indirect missing dependencies manually ([GH-112187](https://github.com/godotengine/godot/pull/112187)). +- Fix error spam when dragging text in the script editor ([GH-112190](https://github.com/godotengine/godot/pull/112190)). +- Autoloads with UIDs ([GH-112193](https://github.com/godotengine/godot/pull/112193)). +- Fix FileSystem item color not updated after changing main scene ([GH-112201](https://github.com/godotengine/godot/pull/112201)). +- Fix hover state for game speed button in game window ([GH-112210](https://github.com/godotengine/godot/pull/112210)). +- Modern Style: Use a style box for Input Map actions ([GH-112233](https://github.com/godotengine/godot/pull/112233)). +- Modern style: switch to classic renderer name colors ([GH-112242](https://github.com/godotengine/godot/pull/112242)). +- Fix resource picker button style ([GH-112243](https://github.com/godotengine/godot/pull/112243)). +- Persist fullscreen setting on Android Editor ([GH-112246](https://github.com/godotengine/godot/pull/112246)). +- Fix canvas editor getting stuck on drag operations ([GH-112249](https://github.com/godotengine/godot/pull/112249)). +- Fix GraphEdit contrast in modern theme ([GH-112260](https://github.com/godotengine/godot/pull/112260)). +- Fix incorrect category size in `EditorInspector` on style switch ([GH-112264](https://github.com/godotengine/godot/pull/112264)). +- Fix contrast for light color presets in the classic theme ([GH-112268](https://github.com/godotengine/godot/pull/112268)). +- Fix warnings and error panel font not updating ([GH-112291](https://github.com/godotengine/godot/pull/112291)). +- Fix 2D viewport scrollbar contrast in modern theme ([GH-112296](https://github.com/godotengine/godot/pull/112296)). +- Fix EditorSpinSlider ignoring step ([GH-112298](https://github.com/godotengine/godot/pull/112298)). +- Make `EditorInspectorCategory`'s theme update happen via signal ([GH-112299](https://github.com/godotengine/godot/pull/112299)). +- Improve visibility of separators in modern theme ([GH-112313](https://github.com/godotengine/godot/pull/112313)). +- Add a style option button to quick settings ([GH-112316](https://github.com/godotengine/godot/pull/112316)). +- Fix transparent panel in Tilset polygon editor using Classic theme ([GH-112333](https://github.com/godotengine/godot/pull/112333)). +- Fix cannot edit property material for new Instance PackedScene ([GH-112334](https://github.com/godotengine/godot/pull/112334)). +- Fix crash for classes without an icon ([GH-112339](https://github.com/godotengine/godot/pull/112339)). +- Scene Dock: Simplify Filter Nodes related UI ([GH-112343](https://github.com/godotengine/godot/pull/112343)). +- Enhance contrast on Modern theme ([GH-112350](https://github.com/godotengine/godot/pull/112350)). +- Modern Style: Use a StyleBox in signals and groups ([GH-112360](https://github.com/godotengine/godot/pull/112360)). +- Allow previewing DPITexture in Inspector ([GH-112375](https://github.com/godotengine/godot/pull/112375)). +- Validate Resource type when pasting property ([GH-112386](https://github.com/godotengine/godot/pull/112386)). +- Fix crash on queue free scene node in editor ([GH-112401](https://github.com/godotengine/godot/pull/112401)). +- Add extra panels to some areas of the editor ([GH-112448](https://github.com/godotengine/godot/pull/112448)). +- Fix overbrightened GraphEdit overlays in light version of modern theme ([GH-112499](https://github.com/godotengine/godot/pull/112499)). +- Reduce outer inspector margins ([GH-112504](https://github.com/godotengine/godot/pull/112504)). +- Prevent emitting signals when previewing resource ([GH-112547](https://github.com/godotengine/godot/pull/112547)). +- Android editor: Fix editor crash on exit ([GH-112556](https://github.com/godotengine/godot/pull/112556)). +- Add error message to Quick Open dialog if callback is invalid ([GH-112559](https://github.com/godotengine/godot/pull/112559)). +- Fix crash during POT generation due to scene dependency issues ([GH-112587](https://github.com/godotengine/godot/pull/112587)). +- Correctly handle discarding of saved redo ([GH-112597](https://github.com/godotengine/godot/pull/112597)). +- FileSystem dock: Use plural prompt message when moving/copying files ([GH-112600](https://github.com/godotengine/godot/pull/112600)). +- Fix issues with property height in the inspector ([GH-112615](https://github.com/godotengine/godot/pull/112615)). +- Change prev/next button theme variation to FlatButton for FileSystem and Inspector dock ([GH-112621](https://github.com/godotengine/godot/pull/112621)). +- Fix incorrect bottom panel theming ([GH-112627](https://github.com/godotengine/godot/pull/112627)). +- Add missing warning about copying packed arrays to `EditorHelpBit` ([GH-112638](https://github.com/godotengine/godot/pull/112638)). +- Fix 2D ruler visibility in modern theme ([GH-112659](https://github.com/godotengine/godot/pull/112659)). +- `ScriptEditor::reload_scripts`: Only call deferred if not main thread ([GH-112663](https://github.com/godotengine/godot/pull/112663)). +- Remove padding columns from plugin settings ([GH-112691](https://github.com/godotengine/godot/pull/112691)). +- Remove unnecessary theme settings when constructing FindInFilesContainer ([GH-112704](https://github.com/godotengine/godot/pull/112704)). +- Fix `ProjectManager` UI going below window ([GH-112717](https://github.com/godotengine/godot/pull/112717)). +- Fix error when changing language in `FindInFilesPanel` ([GH-112719](https://github.com/godotengine/godot/pull/112719)). +- Fix find in files auto search when changing theme ([GH-112728](https://github.com/godotengine/godot/pull/112728)). +- Allow editing groups on multiple nodes ([GH-112729](https://github.com/godotengine/godot/pull/112729)). +- Add a right click menu to the project manager ([GH-112733](https://github.com/godotengine/godot/pull/112733)). +- Android Editor: Adjust script editor size for virtual keyboard ([GH-112766](https://github.com/godotengine/godot/pull/112766)). +- Don't expose underscored signals ([GH-112770](https://github.com/godotengine/godot/pull/112770)). +- Fix not being able to set project path ([GH-112824](https://github.com/godotengine/godot/pull/112824)). +- Don't save editor settings on startup ([GH-112825](https://github.com/godotengine/godot/pull/112825)). +- Fix modified editor shortcuts being erased ([GH-112831](https://github.com/godotengine/godot/pull/112831)). +- Fix modifying shortcuts in project manager causing crash ([GH-112857](https://github.com/godotengine/godot/pull/112857)). +- Fix crash in `EditorFileDialog` by checking for null pointer ([GH-112859](https://github.com/godotengine/godot/pull/112859)). +- Android Editor: Fix padding for display cutout in fullscreen mode ([GH-112881](https://github.com/godotengine/godot/pull/112881)). +- Hide mouse focus from project list ([GH-112895](https://github.com/godotengine/godot/pull/112895)). +- Fix input map editor (action map editor) items unable to be renamed ([GH-112903](https://github.com/godotengine/godot/pull/112903)). +- Fix `Scene > Export As...` being incorrectly disabled ([GH-112904](https://github.com/godotengine/godot/pull/112904)). +- Assign explicit ID to Export As menu ([GH-112912](https://github.com/godotengine/godot/pull/112912)). +- Fix compilation errors with `deprecated=no` ([GH-112953](https://github.com/godotengine/godot/pull/112953)). +- DAP: Enable showing errors to users ([GH-112972](https://github.com/godotengine/godot/pull/112972)). +- Move History dock to the bottom left by default ([GH-112996](https://github.com/godotengine/godot/pull/112996)). +- Fix visual glitch in the quick settings on the classic theme ([GH-112997](https://github.com/godotengine/godot/pull/112997)). +- Add dedicated icon for Quick Load ([GH-112999](https://github.com/godotengine/godot/pull/112999)). +- Add "Undo Close" & "Close All" options for `EditorSceneTabs` out-of-tabs context menu ([GH-113014](https://github.com/godotengine/godot/pull/113014)). +- Fully hide preset settings when no preset is found in the export dialog ([GH-113026](https://github.com/godotengine/godot/pull/113026)). +- Use new dock system for TileMap and TileSet ([GH-113034](https://github.com/godotengine/godot/pull/113034)). +- Add bottom dock tab style setting ([GH-113065](https://github.com/godotengine/godot/pull/113065)). +- Remove extra `NOTIFICATION_VISIBILITY_CHANGED` notifications in docks ([GH-113070](https://github.com/godotengine/godot/pull/113070)). +- Always enable Make Unique for previewed overrides ([GH-113075](https://github.com/godotengine/godot/pull/113075)). +- Fix the returned controls of `EditorHelpBitTooltip::show_tooltip()` were not freed in `ScriptTextEditor` ([GH-113080](https://github.com/godotengine/godot/pull/113080)). +- Change Theme to EditorDock and add `closable` property ([GH-113108](https://github.com/godotengine/godot/pull/113108)). +- Use new dock system for Debugger ([GH-113133](https://github.com/godotengine/godot/pull/113133)). +- Fix "ERROR: Cannot get class" on scripts without `class_name` ([GH-113160](https://github.com/godotengine/godot/pull/113160)). +- Update dock tabs on setting change ([GH-113167](https://github.com/godotengine/godot/pull/113167)). +- Fix error message when closing the project manager on Wayland ([GH-113193](https://github.com/godotengine/godot/pull/113193)). +- Resize right panel back to previous width ([GH-113221](https://github.com/godotengine/godot/pull/113221)). +- Fix initial dock tabs ([GH-113232](https://github.com/godotengine/godot/pull/113232)). +- PopupMenu: Fix redundant attempts to connect popup hidden signal on submenu ([GH-113237](https://github.com/godotengine/godot/pull/113237)). +- Fix bottom dock offsets and change Audio to EditorDock ([GH-113241](https://github.com/godotengine/godot/pull/113241)). +- Fix stale error highlighting when navigating script history ([GH-113246](https://github.com/godotengine/godot/pull/113246)). +- Use new dock system for Animation and AnimationTree dock ([GH-113255](https://github.com/godotengine/godot/pull/113255)). +- Improvements to ResourcePreloader editor ([GH-113257](https://github.com/godotengine/godot/pull/113257)). +- Fix Editor Docks not updating tab styles when loading layout ([GH-113262](https://github.com/godotengine/godot/pull/113262)). +- Disable embedded mode, if `--headless` is in the main instance argument list ([GH-113269](https://github.com/godotengine/godot/pull/113269)). +- Use new dock system for SpriteFrames Dock ([GH-113275](https://github.com/godotengine/godot/pull/113275)). +- Assign layout key to Debugger ([GH-113293](https://github.com/godotengine/godot/pull/113293)). +- Fix dock opening focus ([GH-113296](https://github.com/godotengine/godot/pull/113296)). +- Fix various problems with the credits roll ([GH-113298](https://github.com/godotengine/godot/pull/113298)). +- MacOS: Fix focus grab warning on macOS when running game in embedded mode ([GH-113300](https://github.com/godotengine/godot/pull/113300)). +- Fix infinite appending of docks without slots to config ([GH-113306](https://github.com/godotengine/godot/pull/113306)). +- Use EditorDock for Polygon2D editor ([GH-113338](https://github.com/godotengine/godot/pull/113338)). +- Fix bottom panel dock layout popup position ([GH-113339](https://github.com/godotengine/godot/pull/113339)). +- Add missing icons to QuickOpen context menu ([GH-113352](https://github.com/godotengine/godot/pull/113352)). +- Prevent double counting and cyclical error when gathering Resources ([GH-113353](https://github.com/godotengine/godot/pull/113353)). +- Fix missing trailing dots in script editor search menu ([GH-113365](https://github.com/godotengine/godot/pull/113365)). +- Fix `GameStateSnapshot`s not being freed ([GH-113366](https://github.com/godotengine/godot/pull/113366)). +- Improve accessibility in Create New Project dialog ([GH-113392](https://github.com/godotengine/godot/pull/113392)). +- Unassign scene root before freeing ([GH-113393](https://github.com/godotengine/godot/pull/113393)). +- Fix crash when capturing ObjectDB snapshot ([GH-113395](https://github.com/godotengine/godot/pull/113395)). +- Fix MovieWriter checking wrong directory for disk space ([GH-113398](https://github.com/godotengine/godot/pull/113398)). +- EmbeddedProcess: Fix invalid deferred call ([GH-113407](https://github.com/godotengine/godot/pull/113407)). +- Use Unicode arrow symbols throughout the editor ([GH-113420](https://github.com/godotengine/godot/pull/113420)). +- Expand Hide button in `EditorHelp` search ([GH-113430](https://github.com/godotengine/godot/pull/113430)). +- EditorHelp: Scroll to the only result found every time ([GH-113433](https://github.com/godotengine/godot/pull/113433)). +- Use EditorDock for Search Results ([GH-113450](https://github.com/godotengine/godot/pull/113450)). +- Make OpenXRActionMapEditor into EditorDock ([GH-113457](https://github.com/godotengine/godot/pull/113457)). +- Allow maximizing sprite related dialogs ([GH-113464](https://github.com/godotengine/godot/pull/113464)). +- Hide "Open documentation" context menu button in project manager ([GH-113477](https://github.com/godotengine/godot/pull/113477)). +- Disable "Override for Project" in project manager ([GH-113492](https://github.com/godotengine/godot/pull/113492)). +- Fix DistractionFreeMode and BottomPanel ([GH-113494](https://github.com/godotengine/godot/pull/113494)). +- Fix CreateDialog returning wrong type ([GH-113510](https://github.com/godotengine/godot/pull/113510)). +- Make dock tabs switch on button release ([GH-113521](https://github.com/godotengine/godot/pull/113521)). +- Remove "None" option in Version Control Editor ([GH-113522](https://github.com/godotengine/godot/pull/113522)). +- Fix unexpected name when favoriting nodes from keyword matches ([GH-113546](https://github.com/godotengine/godot/pull/113546)). +- VCS: Properly use IDs for OptionButton after #113522 ([GH-113554](https://github.com/godotengine/godot/pull/113554)). +- Fix signal order for directory selection in `file_dialog` ([GH-113564](https://github.com/godotengine/godot/pull/113564)). +- Increase PopupMenu vertical separation to improve touch usability ([GH-113587](https://github.com/godotengine/godot/pull/113587)). +- Fix built-in script live reloading ([GH-113598](https://github.com/godotengine/godot/pull/113598)). +- Fix property height in the inspector for control layout ([GH-113601](https://github.com/godotengine/godot/pull/113601)). +- Fix missing "+" in the bunch of tooltips ([GH-113611](https://github.com/godotengine/godot/pull/113611)). +- Fix center buttons offset ([GH-113612](https://github.com/godotengine/godot/pull/113612)). +- EditorHelpBit: Open online documentation if script editor is not available ([GH-113615](https://github.com/godotengine/godot/pull/113615)). +- Use new dock system for ShaderFile Dock ([GH-113616](https://github.com/godotengine/godot/pull/113616)). +- Ensure correct unlocking of script editor history ([GH-113619](https://github.com/godotengine/godot/pull/113619)). +- Fix enable/disable for Close Tabs Below in Script editor's File menu ([GH-113626](https://github.com/godotengine/godot/pull/113626)). +- Fix properties for container sizing not clipping in the inspector ([GH-113630](https://github.com/godotengine/godot/pull/113630)). +- Make movie mode button be dark when enabled on the modern theme ([GH-113633](https://github.com/godotengine/godot/pull/113633)). +- Prevent ObjectDB snapshots being overwritten ([GH-113637](https://github.com/godotengine/godot/pull/113637)). +- Use ObjectID in ProgressDialog Window list ([GH-113642](https://github.com/godotengine/godot/pull/113642)). +- Make Output dock global ([GH-113643](https://github.com/godotengine/godot/pull/113643)). +- Fix `EditorSpinSlider` overriding the custom minimum size ([GH-113649](https://github.com/godotengine/godot/pull/113649)). +- Increase Tree vertical separation to improve touch usability ([GH-113666](https://github.com/godotengine/godot/pull/113666)). +- Improve style changed signal in EditorDock ([GH-113690](https://github.com/godotengine/godot/pull/113690)). +- Defer updating dock tabs ([GH-113692](https://github.com/godotengine/godot/pull/113692)). +- Fix Debugger Dock not opening and unused BottomPanel code ([GH-113701](https://github.com/godotengine/godot/pull/113701)). +- Codestyle: Remove unused private variables in `godot/editor` ([GH-113706](https://github.com/godotengine/godot/pull/113706)). +- Fix project tags check for empty strings ([GH-113711](https://github.com/godotengine/godot/pull/113711)). +- Fix "Make Unique" button only working with left mouse click ([GH-113740](https://github.com/godotengine/godot/pull/113740)). +- Fix unique button for `EditorAudioStreamPicker` ([GH-113753](https://github.com/godotengine/godot/pull/113753)). +- Fix opening errors from built-in scripts ([GH-113773](https://github.com/godotengine/godot/pull/113773)). +- Make indirectly inherited `EditorScript`s appear in the command palette ([GH-113774](https://github.com/godotengine/godot/pull/113774)). +- Fix bottom panel pinning ([GH-113775](https://github.com/godotengine/godot/pull/113775)). +- Fix broken state of bottom panel on the right-to-left layout ([GH-113776](https://github.com/godotengine/godot/pull/113776)). +- Use `ObjectID` in `SceneTreeEditor` to compare the old and new scene roots ([GH-113789](https://github.com/godotengine/godot/pull/113789)). +- Propagate errors from `EditorFileSystem::_copy_file` through `EditorFileSystem::copy_file` ([GH-113790](https://github.com/godotengine/godot/pull/113790)). +- Fix broken VisualShader icons ([GH-113801](https://github.com/godotengine/godot/pull/113801)). +- Fix wrong size for "File" button in the shader editor ([GH-113804](https://github.com/godotengine/godot/pull/113804)). +- Clean up editor inspector plugins when closing Project Manager ([GH-113815](https://github.com/godotengine/godot/pull/113815)). +- Add leftover scroll hints, and panels for scrollables without hints ([GH-113816](https://github.com/godotengine/godot/pull/113816)). +- Add shortcuts to dock tooltips ([GH-113818](https://github.com/godotengine/godot/pull/113818)). +- Fix distraction-free mode changing split offsets ([GH-113822](https://github.com/godotengine/godot/pull/113822)). +- Show actual class name in resource picker tooltips ([GH-113828](https://github.com/godotengine/godot/pull/113828)). +- Fix crash on quit when `settings_changed` signal is emitted during exit ([GH-113830](https://github.com/godotengine/godot/pull/113830)). +- Add missing hover indication to movie maker button ([GH-113835](https://github.com/godotengine/godot/pull/113835)). +- Fix non-scene Resources "Save as" ([GH-113859](https://github.com/godotengine/godot/pull/113859)). +- Fix blurry icons in the editor inspector ([GH-113871](https://github.com/godotengine/godot/pull/113871)). +- Fix cutoff root creation buttons in new scenes ([GH-113890](https://github.com/godotengine/godot/pull/113890)). +- Improve EditorDock shortcut property ([GH-113896](https://github.com/godotengine/godot/pull/113896)). +- Half icon saturation when using the light color preset ([GH-113912](https://github.com/godotengine/godot/pull/113912)). +- Prevent locked and child nodes of selection groups from being selected in the Game view ([GH-113915](https://github.com/godotengine/godot/pull/113915)). +- Fix shader editor minimum size ([GH-113916](https://github.com/godotengine/godot/pull/113916)). +- Tweak Quick Settings dialog to ensure labels and dropdowns are aligned ([GH-113917](https://github.com/godotengine/godot/pull/113917)). +- Fix incorrect bottom panel theming ([GH-113922](https://github.com/godotengine/godot/pull/113922)). +- Add null verification to avoid background theme error in texture shader properties ([GH-113939](https://github.com/godotengine/godot/pull/113939)). +- Disable tool button for multiple nodes ([GH-113944](https://github.com/godotengine/godot/pull/113944)). +- Enable scroll hints and background panel in the AssetLib ([GH-113957](https://github.com/godotengine/godot/pull/113957)). +- Don't use selection list as reference ([GH-113986](https://github.com/godotengine/godot/pull/113986)). +- Fix editor settings parsing regression on Android ([GH-114032](https://github.com/godotengine/godot/pull/114032)). +- Add and adjust more scroll hints in the editor ([GH-114054](https://github.com/godotengine/godot/pull/114054)). +- Fix different separations across different code editors ([GH-114079](https://github.com/godotengine/godot/pull/114079)). +- Make `display_server` enums non-editable ([GH-114084](https://github.com/godotengine/godot/pull/114084)). +- Fix `null` value when picking the empty item on editable enums ([GH-114086](https://github.com/godotengine/godot/pull/114086)). +- Fix object icon in the resource picker not being visible when it should ([GH-114091](https://github.com/godotengine/godot/pull/114091)). +- Accessibility: Fix `LinkButton` name processing ([GH-114141](https://github.com/godotengine/godot/pull/114141)). +- Touch-up the Owners dialog ([GH-114159](https://github.com/godotengine/godot/pull/114159)). +- Finalize colors of modern theme ([GH-114162](https://github.com/godotengine/godot/pull/114162)). +- Fix incorrect corner radii in EditorHelpBitTitle in modern theme ([GH-114163](https://github.com/godotengine/godot/pull/114163)). +- macOS: Fix editor settings shortcut with global menu ([GH-114167](https://github.com/godotengine/godot/pull/114167)). +- Fix icon resizing for `NodePath` properties not working ([GH-114169](https://github.com/godotengine/godot/pull/114169)). +- Fix error when break scriptless scene ([GH-114190](https://github.com/godotengine/godot/pull/114190)). +- Fix export dialog icon for empty types ([GH-114202](https://github.com/godotengine/godot/pull/114202)). +- Fix tree line editor corners ([GH-114231](https://github.com/godotengine/godot/pull/114231)). +- Improve editor inspector main container spacing in modern theme ([GH-114234](https://github.com/godotengine/godot/pull/114234)). +- Disable native file dialog on Android Editor ([GH-114237](https://github.com/godotengine/godot/pull/114237)). +- Make focus visibility when renaming in the scene/file dock consistent ([GH-114249](https://github.com/godotengine/godot/pull/114249)). +- Fix docks grabbing too much focus ([GH-114252](https://github.com/godotengine/godot/pull/114252)). +- Prevent tooltips from showing in empty space of FileSystem Dock ([GH-114266](https://github.com/godotengine/godot/pull/114266)). +- Fix reopening rootless scenes ([GH-114315](https://github.com/godotengine/godot/pull/114315)). +- Ensure scene paths in autoload settings ([GH-114325](https://github.com/godotengine/godot/pull/114325)). +- `CONNECT_APPEND_SOURCE_OBJECT` on signal emission ([GH-114328](https://github.com/godotengine/godot/pull/114328)). +- ProjectDialog: Fix invalid button state when selecting renderer with invalid project path ([GH-114330](https://github.com/godotengine/godot/pull/114330)). +- Add background panels to the TileSet/Map editors ([GH-114348](https://github.com/godotengine/godot/pull/114348)). +- Fix `CreateDialog::get_selected_typed()` ignoring the custom types created from `EditorPlugin::add_custom_type()` ([GH-114364](https://github.com/godotengine/godot/pull/114364)). +- Add EditorDock's own DockSlot enum ([GH-114366](https://github.com/godotengine/godot/pull/114366)). +- Prevent crash when adding null Shortcut ([GH-114425](https://github.com/godotengine/godot/pull/114425)). +- Fix crash after calling `EditorUndoRedoManager.clear_history()` and then interacting with history dock entries ([GH-114439](https://github.com/godotengine/godot/pull/114439)). +- Improve visibility of toaster notifications ([GH-114497](https://github.com/godotengine/godot/pull/114497)). +- Fix the UID in the owner file changed when overwriting files in editor ([GH-114499](https://github.com/godotengine/godot/pull/114499)). +- Fix folder crash in Project Manager ([GH-114507](https://github.com/godotengine/godot/pull/114507)). +- Fix SplitContainer set desired size infinite loop ([GH-114541](https://github.com/godotengine/godot/pull/114541)). +- Preserve selections when filtering nodes in scene tree ([GH-114569](https://github.com/godotengine/godot/pull/114569)). +- Improve interaction feedback in modern theme ([GH-114571](https://github.com/godotengine/godot/pull/114571)). +- Fix switching visual shader type draws focus ([GH-114578](https://github.com/godotengine/godot/pull/114578)). +- Don't open new scene when double-clicking tabs ([GH-114579](https://github.com/godotengine/godot/pull/114579)). +- Fix crash when selecting "Unwrap UV2 for Lightmap/AO" after undo ([GH-114593](https://github.com/godotengine/godot/pull/114593)). +- Fix incorrectly disabled project import confirmation button ([GH-114621](https://github.com/godotengine/godot/pull/114621)). +- More scroll hint work around the editor ([GH-114634](https://github.com/godotengine/godot/pull/114634)). +- Fix inconsistent MenuButton styles ([GH-114635](https://github.com/godotengine/godot/pull/114635)). +- Fix crash when trying to open Favorites externally ([GH-114636](https://github.com/godotengine/godot/pull/114636)). +- Fix theming issues with the ObjectDB profiler ([GH-114665](https://github.com/godotengine/godot/pull/114665)). +- Prevent the dock from stealing focus when running the project ([GH-114680](https://github.com/godotengine/godot/pull/114680)). +- Fix editor toasters on the right-to-left layout ([GH-114682](https://github.com/godotengine/godot/pull/114682)). +- Adjust tree cells to account for new inner margins logic ([GH-114734](https://github.com/godotengine/godot/pull/114734)). +- Fix codeblocks inside docs not updating with theme changes ([GH-114740](https://github.com/godotengine/godot/pull/114740)). +- Reduce opacity of scroll hints in light theme ([GH-114753](https://github.com/godotengine/godot/pull/114753)). +- Fix animation track group hover color in modern theme ([GH-114759](https://github.com/godotengine/godot/pull/114759)). +- Improve animation player header spacing in modern theme ([GH-114770](https://github.com/godotengine/godot/pull/114770)). +- Add type variations for editor help in tooltips ([GH-114793](https://github.com/godotengine/godot/pull/114793)). +- Fix incorrect margin variations for group editors ([GH-114797](https://github.com/godotengine/godot/pull/114797)). +- Keep the node as an edited object when attaching and detaching scripts through the SceneTree ([GH-114802](https://github.com/godotengine/godot/pull/114802)). +- Fix and improve the theme editor ([GH-114807](https://github.com/godotengine/godot/pull/114807)). +- Use more specific check for dragging wait setting ([GH-114829](https://github.com/godotengine/godot/pull/114829)). +- Fix opening macOS folder in Terminal spawns new process ([GH-114838](https://github.com/godotengine/godot/pull/114838)). +- Fix gray bar of embed game window in Windows ([GH-114852](https://github.com/godotengine/godot/pull/114852)). +- Fix right clicking on a project draws focus outline ([GH-114855](https://github.com/godotengine/godot/pull/114855)). +- Improve spacing in trees showing table data in modern theme ([GH-114862](https://github.com/godotengine/godot/pull/114862)). +- Restore accent color text for main screen buttons in the modern theme ([GH-114866](https://github.com/godotengine/godot/pull/114866)). +- Fix inspector draws focus on click when editing EditorPropertyTextEnum ([GH-114879](https://github.com/godotengine/godot/pull/114879)). +- Fix quick open dialog recursive problem ([GH-114881](https://github.com/godotengine/godot/pull/114881)). +- Fix modified editor shortcuts being erased on MacOS ([GH-114885](https://github.com/godotengine/godot/pull/114885)). +- Fix sizing problems with `EditorSpinSlider` ([GH-114886](https://github.com/godotengine/godot/pull/114886)). +- Fix Make Unique for external sub-resources ([GH-114901](https://github.com/godotengine/godot/pull/114901)). +- Fix Make Unique for built-in scripts ([GH-114902](https://github.com/godotengine/godot/pull/114902)). +- Tweak quick open recursion error ([GH-114916](https://github.com/godotengine/godot/pull/114916)). +- Minor fixes for the project list item UI ([GH-114927](https://github.com/godotengine/godot/pull/114927)). +- Fix speed being reset when it shouldn't in the game editor ([GH-114928](https://github.com/godotengine/godot/pull/114928)). +- Fix inner tabs outer panel corners at zero radius ([GH-114929](https://github.com/godotengine/godot/pull/114929)). +- Fix dock tab styles not updating when changed in Editor Settings ([GH-114932](https://github.com/godotengine/godot/pull/114932)). +- Fix descriptions of custom types in CreateDialog ([GH-114934](https://github.com/godotengine/godot/pull/114934)). +- Limit maximum luminance for elevated surfaces in modern theme ([GH-114950](https://github.com/godotengine/godot/pull/114950)). +- Remove checkbox icon tint in Create Scene popup ([GH-114956](https://github.com/godotengine/godot/pull/114956)). +- Split `EmbeddedProcess::reset` to allow stopping timers without full reset ([GH-114978](https://github.com/godotengine/godot/pull/114978)). +- Fix TileSet dock becoming focused when switching TileMapLayers ([GH-114994](https://github.com/godotengine/godot/pull/114994)). +- Fix quick open history not always recorded ([GH-115029](https://github.com/godotengine/godot/pull/115029)). +- Fix size issues with inspector editors ([GH-115041](https://github.com/godotengine/godot/pull/115041)). +- Add inner tab styling to Manage Theme Items dialog ([GH-115067](https://github.com/godotengine/godot/pull/115067)). +- Combine dock focus methods to prevent inconsistencies ([GH-115084](https://github.com/godotengine/godot/pull/115084)). +- Fix favorite files handling ([GH-115128](https://github.com/godotengine/godot/pull/115128)). +- Fix EditorFileDialog icon scale in list mode ([GH-115145](https://github.com/godotengine/godot/pull/115145)). +- Do not update script editor before scene root init ([GH-115161](https://github.com/godotengine/godot/pull/115161)). +- Fix colors of code editor in modern theme ([GH-115316](https://github.com/godotengine/godot/pull/115316)). +- Fix not being able to remove empty theme overrides in the editor ([GH-115348](https://github.com/godotengine/godot/pull/115348)). #### Export -- Use project settings overrides with the target preset features instead of current platform features ([GH-71542](https://github.com/godotengine/godot/pull/71542)). -- Modify Windows template without rcedit ([GH-75950](https://github.com/godotengine/godot/pull/75950)). -- Update Windows icon cache after export ([GH-101904](https://github.com/godotengine/godot/pull/101904)). -- Convert `uid://` names to `res://` when exporting files ([GH-101954](https://github.com/godotengine/godot/pull/101954)). -- Fix apksigner execution failure on linux ([GH-102171](https://github.com/godotengine/godot/pull/102171)). -- Add shader baker to project exporter ([GH-102552](https://github.com/godotengine/godot/pull/102552)). -- Hide debug keystore export settings ([GH-102910](https://github.com/godotengine/godot/pull/102910)). -- Fix Inspector checkable button sizing ([GH-102953](https://github.com/godotengine/godot/pull/102953)). -- When code signing, specify which keystore is not found ([GH-103000](https://github.com/godotengine/godot/pull/103000)). -- Updates and fixes to the Android prebuilt export logic ([GH-103173](https://github.com/godotengine/godot/pull/103173)). -- Add "Go Online" button on Export Template Manager ([GH-103235](https://github.com/godotengine/godot/pull/103235)). -- [iOS export] Restore one-click deploy device enumeration using Xcode ([GH-103590](https://github.com/godotengine/godot/pull/103590)). -- Use `text_overrun` for project export errors ([GH-103598](https://github.com/godotengine/godot/pull/103598)). -- Android: Convert `compress_native_libraries` to a basic export option ([GH-104301](https://github.com/godotengine/godot/pull/104301)). -- Change unportable `echo` in the Linux/macOS debug launcher script ([GH-104415](https://github.com/godotengine/godot/pull/104415)). -- Web: Use actual `PThread` pool size for `get_default_thread_pool_size()` ([GH-104458](https://github.com/godotengine/godot/pull/104458)). -- PCK: Move directory to the end of file, write exported/saved PCK in place ([GH-105757](https://github.com/godotengine/godot/pull/105757)). -- Improve editor progress reporting on the command line ([GH-105770](https://github.com/godotengine/godot/pull/105770)). -- Compile out editor-only logic within `_validate_property` in export template ([GH-105907](https://github.com/godotengine/godot/pull/105907)). -- Android: Implement sparse bundle PCK support ([GH-105984](https://github.com/godotengine/godot/pull/105984)). -- Android: Add support for 16 KB page sizes, update to NDK r28b ([GH-106358](https://github.com/godotengine/godot/pull/106358)). -- Android: Misc build fixes ([GH-106466](https://github.com/godotengine/godot/pull/106466)). -- Android: Add export option for custom theme attributes ([GH-106724](https://github.com/godotengine/godot/pull/106724)). -- Fix ios plugin always invalid due to null ConfigFile ([GH-106736](https://github.com/godotengine/godot/pull/106736)). -- Show shader baker related export warnings only if enabled ([GH-107215](https://github.com/godotengine/godot/pull/107215)). -- Apple: Improve Apple embedded export and debugging ([GH-107574](https://github.com/godotengine/godot/pull/107574)). -- Fix export fail on Android if `shader_baker` is enabled ([GH-107600](https://github.com/godotengine/godot/pull/107600)). -- Move Web export threads options out of variant mk2 ([GH-108172](https://github.com/godotengine/godot/pull/108172)). -- [Windows export] Move debug symbol sections on export ([GH-108455](https://github.com/godotengine/godot/pull/108455)). -- [Windows export] Use project version as fallback ([GH-108472](https://github.com/godotengine/godot/pull/108472)). -- Remove selective shader baking ([GH-108914](https://github.com/godotengine/godot/pull/108914)). -- Reduce log spam during headless import/export ([GH-109334](https://github.com/godotengine/godot/pull/109334)). -- Android: Thread Synchronization for FileAccessHandler ([GH-109340](https://github.com/godotengine/godot/pull/109340)). -- Fix headless import/export reporting progress greater than 100% ([GH-109391](https://github.com/godotengine/godot/pull/109391)). -- Android: Fix build command for AAB export ([GH-109608](https://github.com/godotengine/godot/pull/109608)). -- Add default param value to `EditorExportPlatform::get_forced_export_files` ([GH-109662](https://github.com/godotengine/godot/pull/109662)). -- Fix editor export plugins always causing resources to be edited ([GH-110057](https://github.com/godotengine/godot/pull/110057)). +- Add a property range hint to `bake_fps` in the scene glTF export dialog ([GH-98268](https://github.com/godotengine/godot/pull/98268)). +- Fix typo in MacOS and iOS export settings ([GH-103953](https://github.com/godotengine/godot/pull/103953)). +- Add "Show Encryption Key" toggle ([GH-106146](https://github.com/godotengine/godot/pull/106146)). +- Use ScriptExportMode enum in EditorExportPreset ([GH-107167](https://github.com/godotengine/godot/pull/107167)). +- linux/bsd/mac: Use pkill to stop remote instance over SSH ([GH-108412](https://github.com/godotengine/godot/pull/108412)). +- EditorExportPlatform: Move initialization to a dedicated method ([GH-108658](https://github.com/godotengine/godot/pull/108658)). +- Android: Add export option to use "scrcpy" to run project from editor ([GH-108737](https://github.com/godotengine/godot/pull/108737)). +- macOS: Add support for exporting macOS 26 Liquid Glass icons ([GH-108794](https://github.com/godotengine/godot/pull/108794)). +- Move advanced toggle state out of export presets ([GH-109356](https://github.com/godotengine/godot/pull/109356)). +- Android: Only validate keystore relevant to current export mode ([GH-109568](https://github.com/godotengine/godot/pull/109568)). +- Android: Ensure proper cleanup of the fragment ([GH-109764](https://github.com/godotengine/godot/pull/109764)). +- Fix iOS/visionOS export plugin crash on exit ([GH-110485](https://github.com/godotengine/godot/pull/110485)). +- Metal: Fix Metal compiler version inspection ([GH-110873](https://github.com/godotengine/godot/pull/110873)). +- Scons option to enable CVTT and Betsy compression in export templates ([GH-111015](https://github.com/godotengine/godot/pull/111015)). +- Automatically include text server data if project includes translations requiring it ([GH-111062](https://github.com/godotengine/godot/pull/111062)). +- Renderer: Fix missing `shader_name`; use forward declarations ([GH-111141](https://github.com/godotengine/godot/pull/111141)). +- Windows: Fix application manifest in exported projects with modified resources ([GH-111316](https://github.com/godotengine/godot/pull/111316)). +- Update embedded PCK virtual address ([GH-111674](https://github.com/godotengine/godot/pull/111674)). +- Fix custom icon in Android export ([GH-111688](https://github.com/godotengine/godot/pull/111688)). +- macOS: Prevent error spam when iOS device is paired but sleeping ([GH-111758](https://github.com/godotengine/godot/pull/111758)). +- Metal: Stable argument buffers; GPU rendering crashes; visionOS exports ([GH-111976](https://github.com/godotengine/godot/pull/111976)). +- Add support for delta encoding to patch PCKs ([GH-112011](https://github.com/godotengine/godot/pull/112011)). +- Change API 21 references to API 24 ([GH-112036](https://github.com/godotengine/godot/pull/112036)). +- Disable shader baker when exporting as dedicated server ([GH-112361](https://github.com/godotengine/godot/pull/112361)). +- Shader Baker: Fix Linux export warning ([GH-112465](https://github.com/godotengine/godot/pull/112465)). +- Fix editor preset names not being validated ([GH-112698](https://github.com/godotengine/godot/pull/112698)). +- Fix shader baker freezing if there are errors in the shader compilation process ([GH-112803](https://github.com/godotengine/godot/pull/112803)). +- Disable Android devices mirroring for the Android editor ([GH-113383](https://github.com/godotengine/godot/pull/113383)). +- Android editor: Fix apk install after gradle build ([GH-113389](https://github.com/godotengine/godot/pull/113389)). +- Reduce export dialog minimum size ([GH-113578](https://github.com/godotengine/godot/pull/113578)). +- macOS/iOS: Escape .plist strings on export ([GH-113645](https://github.com/godotengine/godot/pull/113645)). +- iOS: Automatically enable `iphone-ipad-minimum-performance-a12` if project is using Forward+/Mobile renderer ([GH-114098](https://github.com/godotengine/godot/pull/114098)). +- Fix export preset not duplicating selected files ([GH-114164](https://github.com/godotengine/godot/pull/114164)). +- Android editor: Fix AAB file not copied to export path ([GH-114382](https://github.com/godotengine/godot/pull/114382)). +- Misc Android export fixes ([GH-114384](https://github.com/godotengine/godot/pull/114384)). +- Fix Android export with multiple architectures failing when GDExtension includes native dependencies ([GH-114483](https://github.com/godotengine/godot/pull/114483)). +- Android/Gradle: Do not ignore asset folders starting with `_` ([GH-114537](https://github.com/godotengine/godot/pull/114537)). #### GDExtension -- MovieWriter: extension support ([GH-96134](https://github.com/godotengine/godot/pull/96134)). -- Expose the `EditorScriptHighlighter::_create()` method to GDExtension ([GH-98929](https://github.com/godotengine/godot/pull/98929)). -- Check if class without recreate callback is creatable, before marking whole extension as unreloadable ([GH-99133](https://github.com/godotengine/godot/pull/99133)). -- Add speed scale feature for VideoStreamPlayer node ([GH-101219](https://github.com/godotengine/godot/pull/101219)). -- Make use of `latin1` encoding explicit in `gdextension_interface.cpp` ([GH-101352](https://github.com/godotengine/godot/pull/101352)). -- Add interface functions for `Object::set_script_instance()` ([GH-102373](https://github.com/godotengine/godot/pull/102373)). -- Prevent instantiating classes that aren't exposed ([GH-102440](https://github.com/godotengine/godot/pull/102440)). -- Include precision in `extension_api.json` ([GH-103137](https://github.com/godotengine/godot/pull/103137)). -- Add `status` to `get_godot_version` ([GH-103199](https://github.com/godotengine/godot/pull/103199)). -- Correctly register editor-only `OpenXR*` classes' `api_type` ([GH-103869](https://github.com/godotengine/godot/pull/103869)). -- Register editor classes normally, rather than via `ClassDB::set_current_api()` ([GH-104084](https://github.com/godotengine/godot/pull/104084)). -- Add mechanism to get which classes an extension is using ([GH-104129](https://github.com/godotengine/godot/pull/104129)). -- Optimize gdvirtual function layout ([GH-104264](https://github.com/godotengine/godot/pull/104264)). -- Allow instantiating unexposed `EditorPlugin` from GDExtension ([GH-104906](https://github.com/godotengine/godot/pull/104906)). -- Print Godot version when an extension is found to be incompatible ([GH-105345](https://github.com/godotengine/godot/pull/105345)). -- Fix GDExtension `Object/Node::to_string` to check `is_valid` before returning the result ([GH-105546](https://github.com/godotengine/godot/pull/105546)). -- Web: Fix crash when built with `dlink_enabled=yes` ([GH-105768](https://github.com/godotengine/godot/pull/105768)). -- Fix `GDExtensionLoader` using the wrong super type in `GDSOFTCLASS` ([GH-105817](https://github.com/godotengine/godot/pull/105817)). -- Fallback to ScriptInstance::get_property_state when get_property_state is not implemented in ScriptInstanceExtension ([GH-105896](https://github.com/godotengine/godot/pull/105896)). -- Add function to register main loop callbacks ([GH-106030](https://github.com/godotengine/godot/pull/106030)). -- Always run shutdown callback before deinitializing any levels ([GH-107594](https://github.com/godotengine/godot/pull/107594)). -- Fix minor inconsistencies and errors in `gdextension_interface.h` ([GH-107788](https://github.com/godotengine/godot/pull/107788)). -- Restore `graph_offset` property ([GH-107965](https://github.com/godotengine/godot/pull/107965)). -- Prevent compatibility breakage from change to `ClassDB::instantiate()` for unexposed classes ([GH-108614](https://github.com/godotengine/godot/pull/108614)). -- Call startup callback only after reload is fully finished ([GH-109309](https://github.com/godotengine/godot/pull/109309)). -- Postpone adding new extension plugins to the editor ([GH-109310](https://github.com/godotengine/godot/pull/109310)). -- Fix `WindowUtils::copy_and_rename_pdb` regression ([GH-110033](https://github.com/godotengine/godot/pull/110033)). -- Fix `classdb_register_extension_class*` documentation in `core/extension/gdextension_interface.h` ([GH-110064](https://github.com/godotengine/godot/pull/110064)). +- Add `RequiredParam` and `RequiredResult` to mark `Object *` arguments and return values as required ([GH-86079](https://github.com/godotengine/godot/pull/86079)). +- Improve `to_string()` and add it to Resource ([GH-94047](https://github.com/godotengine/godot/pull/94047)). +- Expand `GDType` to cover GDExtension types as well ([GH-106016](https://github.com/godotengine/godot/pull/106016)). +- Allow editor plugins to modify run arguments ([GH-107671](https://github.com/godotengine/godot/pull/107671)). +- Store source of `gdextension_interface.h` in JSON ([GH-107845](https://github.com/godotengine/godot/pull/107845)). +- Fall back to parent class icon by default for GDExtension ([GH-108607](https://github.com/godotengine/godot/pull/108607)). +- Add `mem_alloc2` (and friends) so padding can be requested ([GH-108725](https://github.com/godotengine/godot/pull/108725)). +- Expose `Thread::is_main_thread()` ([GH-109779](https://github.com/godotengine/godot/pull/109779)). +- Update warning about `gdextension_special_compat_hashes.cpp` to prevent confusion ([GH-110537](https://github.com/godotengine/godot/pull/110537)). +- Update `GODOT_CPP_BRANCH` after Godot v4.5-stable release ([GH-110539](https://github.com/godotengine/godot/pull/110539)). +- Fix `--dump-extension-api-with-docs` indentation ([GH-110557](https://github.com/godotengine/godot/pull/110557)). +- LibGodot: Core - Build Godot Engine as a Library ([GH-110863](https://github.com/godotengine/godot/pull/110863)). +- Free script and extension instance before object deconstructing ([GH-110907](https://github.com/godotengine/godot/pull/110907)). +- Prevent breaking compatibility for unexposed classes that can only be created once ([GH-111090](https://github.com/godotengine/godot/pull/111090)). +- Move deprecated `has_named_classes` from `ScriptLanguage` to `ScriptLanguageExtension` ([GH-111289](https://github.com/godotengine/godot/pull/111289)). +- Fix LibGodot build errors on Linux ([GH-111432](https://github.com/godotengine/godot/pull/111432)). +- Add system for builtin method compatibility ([GH-112290](https://github.com/godotengine/godot/pull/112290)). +- Add missing method flag ([GH-112351](https://github.com/godotengine/godot/pull/112351)). +- Make `Vector` `bsearch` method const ([GH-112539](https://github.com/godotengine/godot/pull/112539)). +- iOS: Fix loading of xcframework dynamic libraries ([GH-112784](https://github.com/godotengine/godot/pull/112784)). +- Support extension icons in Script Editor ([GH-112925](https://github.com/godotengine/godot/pull/112925)). +- Update `libgodot.h` to use `gdextension_interface.gen.h` ([GH-113126](https://github.com/godotengine/godot/pull/113126)). +- Use `RequiredParam`/`RequiredResult` in some high value places ([GH-113282](https://github.com/godotengine/godot/pull/113282)). +- Split GDExtension validations files to avoid constant git conflicts ([GH-113489](https://github.com/godotengine/godot/pull/113489)). +- Synchronize the names for `RequiredParam` arguments in header files ([GH-113493](https://github.com/godotengine/godot/pull/113493)). +- Unmark `Node::is_editable_instance()` parameter as required ([GH-113511](https://github.com/godotengine/godot/pull/113511)). +- Optimize `RequiredParam` to not increase and decrease refcounts on call ([GH-113514](https://github.com/godotengine/godot/pull/113514)). +- Add special compat methods for EditorFileDialog enum functions ([GH-113524](https://github.com/godotengine/godot/pull/113524)). +- Use structured data for "deprecated" in `gdextension_interface.json` ([GH-113697](https://github.com/godotengine/godot/pull/113697)). +- Tweaks to `gdextension_interface.json` format ([GH-113754](https://github.com/godotengine/godot/pull/113754)). +- CI: Ignore `gdextension_interface.json` ([GH-113851](https://github.com/godotengine/godot/pull/113851)). +- Ensure `LIBGODOT_API` is always defined ([GH-114626](https://github.com/godotengine/godot/pull/114626)). +- Omit `return_value` in `gdextension_interface.json` for `void` functions ([GH-114684](https://github.com/godotengine/godot/pull/114684)). +- Core: Don't strip data in `ClassDB::class_get_method_list` ([GH-114893](https://github.com/godotengine/godot/pull/114893)). +- Fix crash when converting `Variant` to incompatible `RequiredPtr` ([GH-115198](https://github.com/godotengine/godot/pull/115198)). #### GDScript -- Add abstract classes to GDScript ([GH-67777](https://github.com/godotengine/godot/pull/67777)). -- Optimize non-constant `for`-`range` ([GH-71564](https://github.com/godotengine/godot/pull/71564)). -- Highlight script members like native ones ([GH-74393](https://github.com/godotengine/godot/pull/74393)). -- Re-add `ord()` function ([GH-77164](https://github.com/godotengine/godot/pull/77164)). -- Add constant `Array` and `Dictionary` constructors ([GH-78837](https://github.com/godotengine/godot/pull/78837)). -- Add support for variadic functions ([GH-82808](https://github.com/godotengine/godot/pull/82808)). -- Allow exporting variables of type Variant ([GH-89324](https://github.com/godotengine/godot/pull/89324)). -- Autocompletion: Fix type resolution when assigning variant ([GH-92584](https://github.com/godotengine/godot/pull/92584)). -- Fix call hint appearance for complex callees ([GH-93429](https://github.com/godotengine/godot/pull/93429)). -- Add tests for calling with wrong arguments in Callable.callv() when passing a readonly (const) Array ([GH-93636](https://github.com/godotengine/godot/pull/93636)). -- Fix autocompletion issues with nested types ([GH-94996](https://github.com/godotengine/godot/pull/94996)). -- Scripting: Fix script docs not being searchable without manually recompiling scripts ([GH-95821](https://github.com/godotengine/godot/pull/95821)). -- Fix `Callable` call error text ([GH-99150](https://github.com/godotengine/godot/pull/99150)). -- Add `_enable`/`_disable_plugin` to plugin script template ([GH-99872](https://github.com/godotengine/godot/pull/99872)). -- Core: Unify display of error type prefixes ([GH-100899](https://github.com/godotengine/godot/pull/100899)). -- Improve consistency of code regions ([GH-101319](https://github.com/godotengine/godot/pull/101319)). -- Fix crash when using a modulo operator between a float and an integer ([GH-101536](https://github.com/godotengine/godot/pull/101536)). -- Improve GDScript editor support for global enums ([GH-102186](https://github.com/godotengine/godot/pull/102186)). -- Do phrase level recovery when parsing faulty dictionaries ([GH-102218](https://github.com/godotengine/godot/pull/102218)). -- Highlight warning lines in Script editor ([GH-102469](https://github.com/godotengine/godot/pull/102469)). -- Cancel suspended functions when reloading a script ([GH-102521](https://github.com/godotengine/godot/pull/102521)). -- Optimize `GDScriptLambdaCallable` by skipping the unnecessary `ObjectDB` lookup for `script` ([GH-102930](https://github.com/godotengine/godot/pull/102930)). -- Implement class detection in GDScript for build configuration ([GH-103134](https://github.com/godotengine/godot/pull/103134)). -- Remove dead code in GDScript function `CallState` ([GH-103709](https://github.com/godotengine/godot/pull/103709)). -- Fix crash related to #region/#endregion caused by trailing spaces ([GH-103825](https://github.com/godotengine/godot/pull/103825)). -- Fix head class range to include `class_name` ([GH-104114](https://github.com/godotengine/godot/pull/104114)). -- Add clearing of `static_gdscript_cache` to `GDScriptCache` ([GH-104281](https://github.com/godotengine/godot/pull/104281)). -- LSP: Fix file URI handling + warn about workspace project mismatch ([GH-104401](https://github.com/godotengine/godot/pull/104401)). -- Return early when parsing invalid super call ([GH-104509](https://github.com/godotengine/godot/pull/104509)). -- Add specific errors for use of keywords removed in Godot 4 ([GH-104636](https://github.com/godotengine/godot/pull/104636)). -- Fix a few GDScript warning messages for grammar and consistency ([GH-104729](https://github.com/godotengine/godot/pull/104729)). -- Fix invalid DAP responses when content has non-ASCII content ([GH-104936](https://github.com/godotengine/godot/pull/104936)). -- LSP: Fix relative path handling for document links ([GH-105059](https://github.com/godotengine/godot/pull/105059)). -- LSP: Don't advertise support for workspace symbols ([GH-105061](https://github.com/godotengine/godot/pull/105061)). -- Add autocompletion for `@export_tool_button` ([GH-105081](https://github.com/godotengine/godot/pull/105081)). -- LSP: Extract annotations from `EditorHelp` ([GH-105087](https://github.com/godotengine/godot/pull/105087)). -- Fix LSP not returning expected localization for API docs ([GH-105344](https://github.com/godotengine/godot/pull/105344)). -- LSP: Account for unicode identifiers ([GH-105347](https://github.com/godotengine/godot/pull/105347)). -- Do phrase level recovery for match ([GH-105413](https://github.com/godotengine/godot/pull/105413)). -- Add `@export_file_path` to export raw paths (no UID) ([GH-105414](https://github.com/godotengine/godot/pull/105414)). -- Autocompletion: Remove additional parenthesis from utility function options ([GH-105415](https://github.com/godotengine/godot/pull/105415)). -- Update `get_stack()`, `print_stack()`, and `print_debug()` ([GH-105801](https://github.com/godotengine/godot/pull/105801)). -- Fix GDScript stack leak ([GH-105842](https://github.com/godotengine/godot/pull/105842)). -- Add code completion for user-defined methods when overriding in GDScript ([GH-106198](https://github.com/godotengine/godot/pull/106198)). -- Add abstract methods ([GH-106409](https://github.com/godotengine/godot/pull/106409)). -- Fix script backtrace reporting wrong line numbers in release exports ([GH-106485](https://github.com/godotengine/godot/pull/106485)). -- Bump script bytecode version after token enum change ([GH-106552](https://github.com/godotengine/godot/pull/106552)). -- Remove `leftmost_column` and `rightmost_column` fields ([GH-106683](https://github.com/godotengine/godot/pull/106683)). -- Fix crash on exit due to GDScriptLanguage::CallStack mismatched deallocation ([GH-106691](https://github.com/godotengine/godot/pull/106691)). -- GDScript call stack as reverse linked list with fixed coroutines ([GH-106790](https://github.com/godotengine/godot/pull/106790)). -- LSP: Fix class documentation to include brief ([GH-107315](https://github.com/godotengine/godot/pull/107315)). -- Add missing type conversions in `for range` ([GH-107416](https://github.com/godotengine/godot/pull/107416)). -- Fix a crash when the first line of GDScript code is indented ([GH-107424](https://github.com/godotengine/godot/pull/107424)). -- Autocompletion: Don't use `next` for `GET_NODE` inference ([GH-107636](https://github.com/godotengine/godot/pull/107636)). -- Fix errors not being emitted when debugger breaks on script errors ([GH-107663](https://github.com/godotengine/godot/pull/107663)). -- Replace `abstract` keyword with `@abstract` annotation ([GH-107717](https://github.com/godotengine/godot/pull/107717)). -- Autocompletion: Don't filter overrides when the existing function is the current one ([GH-107852](https://github.com/godotengine/godot/pull/107852)). -- Autocomplete: Avoid prepending literals when the character has already been typed ([GH-107872](https://github.com/godotengine/godot/pull/107872)). -- Fix double spaces for type hints when connecting signal ([GH-107909](https://github.com/godotengine/godot/pull/107909)). -- Fix `GDScriptLanguage::make_function()` ([GH-108072](https://github.com/godotengine/godot/pull/108072)). -- LSP: Don't poll during editor setup ([GH-108140](https://github.com/godotengine/godot/pull/108140)). -- Don't get invalid dictionary key during completion ([GH-108167](https://github.com/godotengine/godot/pull/108167)). -- Fix lookup symbol for `super()` ([GH-108306](https://github.com/godotengine/godot/pull/108306)). -- DAP: Cast request's `seq` value to int ([GH-108337](https://github.com/godotengine/godot/pull/108337)). -- Fix Variant properties losing value upon script update ([GH-108558](https://github.com/godotengine/godot/pull/108558)). -- Web: Disable GDScript LSP ([GH-108714](https://github.com/godotengine/godot/pull/108714)). -- Properly detect native class on static call optimization ([GH-108944](https://github.com/godotengine/godot/pull/108944)). -- Fix crash when GDScript scripts are reloaded during initial import ([GH-108947](https://github.com/godotengine/godot/pull/108947)). -- Autocompletion: Push empty call for lambdas ([GH-108979](https://github.com/godotengine/godot/pull/108979)). -- Autocompletion: Don't call const functions ([GH-109297](https://github.com/godotengine/godot/pull/109297)). -- Don't stop annotation argument parsing at file end ([GH-109304](https://github.com/godotengine/godot/pull/109304)). -- Fix `range` helper method using 32-bit ints for arguments ([GH-109376](https://github.com/godotengine/godot/pull/109376)). -- Fix `GDScript::reload` leaving `reloading` as `true` on failure ([GH-109442](https://github.com/godotengine/godot/pull/109442)). -- Improve error messages for lambda functions without a body ([GH-109561](https://github.com/godotengine/godot/pull/109561)). +- Make check for exposed classes more consistent ([GH-91617](https://github.com/godotengine/godot/pull/91617)). +- Add `debug/gdscript/warnings/directory_rules` project setting ([GH-93889](https://github.com/godotengine/godot/pull/93889)). +- Optimize `GDScriptInstance::notification` for better performance ([GH-94118](https://github.com/godotengine/godot/pull/94118)). +- Add step out to script debugger ([GH-97758](https://github.com/godotengine/godot/pull/97758)). +- Remove some unnecessary booleans ([GH-98061](https://github.com/godotengine/godot/pull/98061)). +- Autocompletion: Use correct completion type for argument options ([GH-101092](https://github.com/godotengine/godot/pull/101092)). +- LSP: Rework management of client owned files ([GH-105236](https://github.com/godotengine/godot/pull/105236)). +- Add opt-in GDScript warning for when calling coroutine without `await` ([GH-107936](https://github.com/godotengine/godot/pull/107936)). +- Autocompletion: Remove duplicate code ([GH-109298](https://github.com/godotengine/godot/pull/109298)). +- Prevent shallow scripts from leaking into the `ResourceCache` ([GH-109345](https://github.com/godotengine/godot/pull/109345)). +- Add checks for integer vectors for integer division warning ([GH-110240](https://github.com/godotengine/godot/pull/110240)). +- Don't reset color if the previous token is a number ending with a dot ([GH-110397](https://github.com/godotengine/godot/pull/110397)). +- Add `reserve()` to `Dictionary`, apply to constructors on GDScript VM ([GH-110709](https://github.com/godotengine/godot/pull/110709)). +- Elide unnecessary copies in `CONSTRUCT_TYPED_*` opcodes ([GH-110717](https://github.com/godotengine/godot/pull/110717)). +- Fix drag and drop `@export` variable assignment when script has errors ([GH-110761](https://github.com/godotengine/godot/pull/110761)). +- Allow trailing comma in `preload` ([GH-110775](https://github.com/godotengine/godot/pull/110775)). +- Remove unused `GDScript::subclass_count` ([GH-111172](https://github.com/godotengine/godot/pull/111172)). +- Autocompletion: Filter ClassDB argument options ([GH-111266](https://github.com/godotengine/godot/pull/111266)). +- LSP: Fix repeated restart attempts ([GH-111290](https://github.com/godotengine/godot/pull/111290)). +- Fix GDScript translation parser for `FileDialog.add_filter()` two-parameter format ([GH-111298](https://github.com/godotengine/godot/pull/111298)). +- LSP: Fix goto native declaration ([GH-111478](https://github.com/godotengine/godot/pull/111478)). +- Remove raw base pointer from `GDScript` ([GH-111490](https://github.com/godotengine/godot/pull/111490)). +- LSP: Use safe methods to get data from dictionaries ([GH-111684](https://github.com/godotengine/godot/pull/111684)). +- Add Variant to type autocompletion ([GH-111878](https://github.com/godotengine/godot/pull/111878)). +- LSP: Fix remaining unsafe dict access ([GH-112128](https://github.com/godotengine/godot/pull/112128)). +- Add string placeholder syntax highlighting ([GH-112575](https://github.com/godotengine/godot/pull/112575)). +- Fix GDScript extends path recursion to itself ([GH-112923](https://github.com/godotengine/godot/pull/112923)). +- LSP: Improve insertion algorithm for resolving completion options ([GH-113031](https://github.com/godotengine/godot/pull/113031)). +- GDScript LSP: Rework and extend BBCode to markdown docstring conversion ([GH-113099](https://github.com/godotengine/godot/pull/113099)). +- Add support for profiling GDScript with tracy ([GH-113279](https://github.com/godotengine/godot/pull/113279)). +- Correctly set GDScript internal path for shallow scripts ([GH-113580](https://github.com/godotengine/godot/pull/113580)). +- Ensure correct caching of cyclic references ([GH-113600](https://github.com/godotengine/godot/pull/113600)). +- Fix incorrect default `transfer_mode` in `@rpc` documentation ([GH-114269](https://github.com/godotengine/godot/pull/114269)). +- LSP: Fix infinite recursion in symbol calculation ([GH-114401](https://github.com/godotengine/godot/pull/114401)). +- Cache invalid scripts ([GH-114695](https://github.com/godotengine/godot/pull/114695)). +- LSP: Reuse stale parsers in request ([GH-114791](https://github.com/godotengine/godot/pull/114791)). +- Don't clean up other scripts ([GH-114801](https://github.com/godotengine/godot/pull/114801)). +- Core: Fix implicit conversions in `ContainerTypeValidate` ([GH-114808](https://github.com/godotengine/godot/pull/114808)). #### GUI -- Rework AcceptDialog's ok button text ([GH-81178](https://github.com/godotengine/godot/pull/81178)). -- Windows: Remove visible `WINDOW_MODE_FULLSCREEN` border by setting window region ([GH-88852](https://github.com/godotengine/godot/pull/88852)). -- Editor: Add ability to rename theme types ([GH-89530](https://github.com/godotengine/godot/pull/89530)). -- Fix words not being selected by endpoints ([GH-89556](https://github.com/godotengine/godot/pull/89556)). -- Remove `NOTIFICATION_ENTER_TREE` when `NOTIFICATION_THEME_CHANGED` is used ([GH-89746](https://github.com/godotengine/godot/pull/89746)). -- Fix incorrect submenu icon and accelerator text positions involving margins ([GH-90832](https://github.com/godotengine/godot/pull/90832)). -- Fix wrong tooltip behavior in `PopupMenu`s that have styles with top borders ([GH-90922](https://github.com/godotengine/godot/pull/90922)). -- Add theme cache to the inspector ([GH-93246](https://github.com/godotengine/godot/pull/93246)). -- [TextEdit / LineEdit] Add support for OEM Alt codes input ([GH-93466](https://github.com/godotengine/godot/pull/93466)). -- Fix unfocused windows can't be dragged ([GH-95606](https://github.com/godotengine/godot/pull/95606)). -- Allow changing the color for the Checkbox's checked and unchecked icons ([GH-95736](https://github.com/godotengine/godot/pull/95736)). -- Consider search keywords in `CreateDialog` ([GH-96169](https://github.com/godotengine/godot/pull/96169)). -- Remove `_FORCE_INLINE_` from `TextServer*::_ensure*` methods ([GH-96233](https://github.com/godotengine/godot/pull/96233)). -- Fix `changed` signal emission in `Curve::set_point_offset` ([GH-96296](https://github.com/godotengine/godot/pull/96296)). -- Implement properties that can recursively disable child controls' `Focus Mode` & `Mouse Filter` ([GH-97495](https://github.com/godotengine/godot/pull/97495)). -- Fix `GraphEdit` connections not updating when a child of `GraphNode` goes invisible or changes size ([GH-97763](https://github.com/godotengine/godot/pull/97763)). -- Improve native file dialog parent window selection ([GH-98194](https://github.com/godotengine/godot/pull/98194)). -- Tree: Fix relationship lines 1px width draw bug when MSAA anti aliasing is enabled ([GH-98560](https://github.com/godotengine/godot/pull/98560)). -- Fix and improve editor state persistence for the VisualShader editor ([GH-98566](https://github.com/godotengine/godot/pull/98566)). -- Improve ColorPicker picker shape keyboard and joypad accessibility ([GH-99374](https://github.com/godotengine/godot/pull/99374)). -- Refactor ColorPicker shapes ([GH-99515](https://github.com/godotengine/godot/pull/99515)). -- Augment unit tests for `OptionButton` ([GH-99632](https://github.com/godotengine/godot/pull/99632)). -- ColorPicker: Allow other color wheels in okhsl mode ([GH-99662](https://github.com/godotengine/godot/pull/99662)). -- Tree: highlight selected items on hover ([GH-100412](https://github.com/godotengine/godot/pull/100412)). -- Fix spinbox decimal issues when `update_on_text_changed` = true ([GH-100684](https://github.com/godotengine/godot/pull/100684)). -- Fix UI navigation breaking on invisible controls ([GH-101077](https://github.com/godotengine/godot/pull/101077)). -- Add movement threshold before activating viewport rotation gizmo dragging ([GH-101376](https://github.com/godotengine/godot/pull/101376)). -- Add `get_connection_list_from_node` function to `GraphEdit` ([GH-101439](https://github.com/godotengine/godot/pull/101439)). -- Linux: Implement native color picker ([GH-101546](https://github.com/godotengine/godot/pull/101546)). -- Remove confusing `Control::is_top_level_control()` ([GH-101745](https://github.com/godotengine/godot/pull/101745)). -- TextEdit: Use actual indentation offset instead of space width for wrapped lines ([GH-101824](https://github.com/godotengine/godot/pull/101824)). -- Use `LocalVector` in `TextServerAdvanced` to reduce reallocation ([GH-101950](https://github.com/godotengine/godot/pull/101950)). -- DisplayServer: Decouple `show_window(MAIN_WINDOW_ID)` from `DisplayServer` constructor, update project manager size/position after DS init ([GH-101980](https://github.com/godotengine/godot/pull/101980)). -- Optimize text rendering by caching `UBreakIterator` instances ([GH-102129](https://github.com/godotengine/godot/pull/102129)). -- Fix ColorPicker sliders in overbright RGB ([GH-102240](https://github.com/godotengine/godot/pull/102240)). -- Add `FoldableContainer` ([GH-102346](https://github.com/godotengine/godot/pull/102346)). -- Display the actual used theme items in the Inspector ([GH-102372](https://github.com/godotengine/godot/pull/102372)). -- Fix error when embedded popup is closed while resizing ([GH-102504](https://github.com/godotengine/godot/pull/102504)). -- TextEdit: Improve wrapped line indent handling ([GH-102514](https://github.com/godotengine/godot/pull/102514)). -- Expose `OVERRUN_ENFORCE_ELLIPSIS` flag to the controls ([GH-102648](https://github.com/godotengine/godot/pull/102648)). -- Fix viewport scaling at intermediate resolutions ([GH-102741](https://github.com/godotengine/godot/pull/102741)). -- Fix MenuButton style in editor top menu bar ([GH-102786](https://github.com/godotengine/godot/pull/102786)). -- Fix Tree keyboard navigation in RTL direction ([GH-102865](https://github.com/godotengine/godot/pull/102865)). -- Fix Tree buttons jiggle on horizontal scrolling ([GH-102878](https://github.com/godotengine/godot/pull/102878)). -- Apply `fix_alpha_edges` for both theme icons and font glyphs ([GH-102880](https://github.com/godotengine/godot/pull/102880)). -- Add tooltip for `StyleBoxPreview` grid button ([GH-102950](https://github.com/godotengine/godot/pull/102950)). -- TabBar: Add boolean toggle for middle-click to fire `tab_close_pressed` signal ([GH-103024](https://github.com/godotengine/godot/pull/103024)). -- Fix black bars appearing when using `background_color` on a TextEdit/CodeEdit ([GH-103063](https://github.com/godotengine/godot/pull/103063)). -- Fix PopupMenu clickable area with shadows ([GH-103155](https://github.com/godotengine/godot/pull/103155)). -- Add tab spacing modifier for tabs in TabBar and TabContainer ([GH-103214](https://github.com/godotengine/godot/pull/103214)). -- Fix invisible ItemList cursor in editor theme ([GH-103270](https://github.com/godotengine/godot/pull/103270)). -- Add tree multiselect with shift up & down arrow keys ([GH-103382](https://github.com/godotengine/godot/pull/103382)). -- VideoStreamPlayer: Stop video on exit tree ([GH-103396](https://github.com/godotengine/godot/pull/103396)). -- ItemList multiselect with shift up & down arrow keys ([GH-103414](https://github.com/godotengine/godot/pull/103414)). -- Keep editor SceneTree buttons attached to the cell in Right-To-Left ([GH-103424](https://github.com/godotengine/godot/pull/103424)). -- Fix text shadow outline draw batching ([GH-103471](https://github.com/godotengine/godot/pull/103471)). -- LineEdit: Fix `caret_force_displayed` ([GH-103508](https://github.com/godotengine/godot/pull/103508)). -- Add space for BBCode Ordered Lists ([GH-103580](https://github.com/godotengine/godot/pull/103580)). -- ColorPicker: Add an intensity slider to all modes for HDR ([GH-103583](https://github.com/godotengine/godot/pull/103583)). -- Allow TabBar drag and drop to be overridden and add tab mouse tests ([GH-103601](https://github.com/godotengine/godot/pull/103601)). -- StyleBoxFlat: Fix glitchy overlapping shapes ([GH-103607](https://github.com/godotengine/godot/pull/103607)). -- Use `Viewport`'s default texture filter/repeat in GUI tooltips ([GH-103636](https://github.com/godotengine/godot/pull/103636)). -- Fix popup location for `PROPERTY_USAGE_ARRAY` inspector items ([GH-103649](https://github.com/godotengine/godot/pull/103649)). -- Apply transforms for LineEdit, RichTextLabel, and TextEdit popup positions ([GH-103653](https://github.com/godotengine/godot/pull/103653)). -- RTL: Fix custom effects not updating ([GH-103677](https://github.com/godotengine/godot/pull/103677)). -- Fix SceneTree's rename LineEdit's offset position ([GH-103705](https://github.com/godotengine/godot/pull/103705)). -- Label: Fix min. size calculation counting extra spacing twice ([GH-103728](https://github.com/godotengine/godot/pull/103728)). -- Make embed floating window respect `Always On Top` configuration ([GH-103731](https://github.com/godotengine/godot/pull/103731)). -- Editor: Change global menu icons theme independently of editor theme ([GH-103751](https://github.com/godotengine/godot/pull/103751)). -- Fix SceneTree Item text display bug in Right-to-Left ([GH-103791](https://github.com/godotengine/godot/pull/103791)). -- Fix memory leak caused by hidden tooltip controls ([GH-103793](https://github.com/godotengine/godot/pull/103793)). -- Fix GraphNode port positions of children with size flag expand ([GH-103822](https://github.com/godotengine/godot/pull/103822)). -- Add auto translate mode for items in `PopupMenu` and `OptionButton` ([GH-103848](https://github.com/godotengine/godot/pull/103848)). -- Slider: Add bottom and top ticks and tick offset ([GH-103907](https://github.com/godotengine/godot/pull/103907)). -- Show `theme_type_variation`s in the inspector on `Control`s that inherit a theme ([GH-103922](https://github.com/godotengine/godot/pull/103922)). -- Scroll `EditorInspector` while drag & drop hovering near the edges ([GH-103943](https://github.com/godotengine/godot/pull/103943)). -- Sync `display/window/size/initial_position_type` and `Window::WINDOW_INITIAL_POSITION_` enum ([GH-103961](https://github.com/godotengine/godot/pull/103961)). -- Fix focus cycle through window ([GH-103967](https://github.com/godotengine/godot/pull/103967)). -- Add missing `ETR`/`TTR` markups ([GH-104020](https://github.com/godotengine/godot/pull/104020)). -- Tree: Fix dragging unselected item when a selection already exists ([GH-104032](https://github.com/godotengine/godot/pull/104032)). -- Apply gizmo scale to EditorControlAnchor ([GH-104073](https://github.com/godotengine/godot/pull/104073)). -- Fix the TreeItem rename LineEdit is offset ([GH-104141](https://github.com/godotengine/godot/pull/104141)). -- Fix folding arrow and relationship lines move to 2nd column ([GH-104201](https://github.com/godotengine/godot/pull/104201)). -- Fix game crashes when adding color preset after clearing presets in another control ([GH-104227](https://github.com/godotengine/godot/pull/104227)). -- Add properties to configure space trimming on line break ([GH-104230](https://github.com/godotengine/godot/pull/104230)). -- Prevent clicking of TreeItem buttons when letting go outside of the button ([GH-104241](https://github.com/godotengine/godot/pull/104241)). -- Fix `ScrollContainer` focus border issue ([GH-104317](https://github.com/godotengine/godot/pull/104317)). -- Fix inspector theme not updating when theme changed ([GH-104339](https://github.com/godotengine/godot/pull/104339)). -- Fix smooth scrolling being tied to physics process ([GH-104349](https://github.com/godotengine/godot/pull/104349)). -- LineEdit: Fix selection rectangle when text overflows container ([GH-104356](https://github.com/godotengine/godot/pull/104356)). -- Tree: Fix offset relationship lines with Hide Folding ([GH-104370](https://github.com/godotengine/godot/pull/104370)). -- Improve Popup `content_scale_factor` ([GH-104399](https://github.com/godotengine/godot/pull/104399)). -- Optimize `TextServerAdvanced::_add_features` by using iteration instead of `.values()` and `.keys()` ([GH-104430](https://github.com/godotengine/godot/pull/104430)). -- Fix reparenting control does not update recursive mode cache properly ([GH-104444](https://github.com/godotengine/godot/pull/104444)). -- Optimize startup times by avoiding loading fonts twice ([GH-104450](https://github.com/godotengine/godot/pull/104450)). -- Fix excessively calling resized and floating point errors in Control ([GH-104451](https://github.com/godotengine/godot/pull/104451)). -- Optimize startup times by using `ubrk_clone` instead of `ubrk_open` ([GH-104455](https://github.com/godotengine/godot/pull/104455)). -- RTL: Fix `float` and `int` matching in FX environment ([GH-104542](https://github.com/godotengine/godot/pull/104542)). -- Fallback `Control.layout_mode` to valid mode when child of non-container control ([GH-104614](https://github.com/godotengine/godot/pull/104614)). -- Fix and simplify hit calculation in `PopupMenu::_get_mouse_over` ([GH-104632](https://github.com/godotengine/godot/pull/104632)). -- CI: Fix godot regression project test ([GH-104638](https://github.com/godotengine/godot/pull/104638)). -- RTL: Fix size/alignment of tables with padded cells ([GH-104662](https://github.com/godotengine/godot/pull/104662)). -- RTL: Improve vertical padding ([GH-104685](https://github.com/godotengine/godot/pull/104685)). -- Remove macros from FontFile test case ([GH-104709](https://github.com/godotengine/godot/pull/104709)). -- Implement Stackable Text Outline on `Label` ([GH-104731](https://github.com/godotengine/godot/pull/104731)). -- Fix TextEdit VScroll max tolerance ([GH-104776](https://github.com/godotengine/godot/pull/104776)). -- Replace global oversampling with overridable per-viewport oversampling ([GH-104872](https://github.com/godotengine/godot/pull/104872)). -- Add font import flag to toggle modulation of colored glyphs ([GH-104878](https://github.com/godotengine/godot/pull/104878)). -- Make `swap_cancel_ok` setting 3-state instead of boolean ([GH-104958](https://github.com/godotengine/godot/pull/104958)). -- Linux: Detect KDE/LXQt and swap OK/Cancel buttons to Windows style ([GH-104959](https://github.com/godotengine/godot/pull/104959)). -- macOS: Fix native menu submenu items have wrong action and accelerators set ([GH-104977](https://github.com/godotengine/godot/pull/104977)). -- Fix wrong translation method in FileDialog ([GH-104984](https://github.com/godotengine/godot/pull/104984)). -- CodeEdit: Fix folding for comments mixed with code region tags ([GH-105007](https://github.com/godotengine/godot/pull/105007)). -- Fix EditorSpinSlider Scroll Edit when inside a ScrollContainer ([GH-105041](https://github.com/godotengine/godot/pull/105041)). -- Add custom sort to center tab bar in the editor and project manager ([GH-105106](https://github.com/godotengine/godot/pull/105106)). -- Add separate `minimize_disabled` and `maximize_disabled` window flags ([GH-105107](https://github.com/godotengine/godot/pull/105107)). -- Fix `EditorHelpBitTooltip` in single window mode ([GH-105111](https://github.com/godotengine/godot/pull/105111)). -- Fix initial project manager size and scales < 1 ([GH-105173](https://github.com/godotengine/godot/pull/105173)). -- Fix and rename mouse filter recursive behavior and focus mode recursive behavior ([GH-105222](https://github.com/godotengine/godot/pull/105222)). -- Fix shadow offset larger than shadow size in PopupMenu and PopupPanel ([GH-105237](https://github.com/godotengine/godot/pull/105237)). -- RTL: Track external changes in the custom fonts set by BBCode / `push_*` ([GH-105259](https://github.com/godotengine/godot/pull/105259)). -- Fix graph node resizing ([GH-105265](https://github.com/godotengine/godot/pull/105265)). -- Fix `exp_edit` description ([GH-105304](https://github.com/godotengine/godot/pull/105304)). -- Remove debug focus rect draws from MenuBar and GraphNode ([GH-105322](https://github.com/godotengine/godot/pull/105322)). -- RTL: Fix VC_GLYPHS_RTL visible character trimming mode ([GH-105323](https://github.com/godotengine/godot/pull/105323)). -- Fix GraphNode frag/vert port positions misaligned ([GH-105370](https://github.com/godotengine/godot/pull/105370)). -- Implement `SVGTexture` auto-scalable with font oversampling ([GH-105375](https://github.com/godotengine/godot/pull/105375)). -- Queue hover update when creating TreeItem ([GH-105376](https://github.com/godotengine/godot/pull/105376)). -- Fix bitmap font scaling ([GH-105408](https://github.com/godotengine/godot/pull/105408)). -- Fix typo ovrsampling → oversampling ([GH-105409](https://github.com/godotengine/godot/pull/105409)). -- Fix fixed size image fonts incorrectly getting oversampling applied if set to native size ([GH-105412](https://github.com/godotengine/godot/pull/105412)). -- Fix custom scale sometimes not applied to the project manager window size ([GH-105438](https://github.com/godotengine/godot/pull/105438)). -- Fix X11 boot splash scaling ([GH-105451](https://github.com/godotengine/godot/pull/105451)). -- Fix incorrect title bar sorting in RTL layout ([GH-105481](https://github.com/godotengine/godot/pull/105481)). -- Fix regression causing jittery canvas transforms ([GH-105482](https://github.com/godotengine/godot/pull/105482)). -- RichTextLabel: Add methods to compute the height and width of a line ([GH-105504](https://github.com/godotengine/godot/pull/105504)). -- [ColorPicker, macOS] Add link to request required screen recording permission ([GH-105507](https://github.com/godotengine/godot/pull/105507)). -- Unify ScrollBar/ScrollContainer scroll delta ([GH-105516](https://github.com/godotengine/godot/pull/105516)). -- Add [br] to bbcode parsing for `rich_text_label` ([GH-105524](https://github.com/godotengine/godot/pull/105524)). -- Improve default OK text in AcceptDialog ([GH-105547](https://github.com/godotengine/godot/pull/105547)). -- Add drag zoom feature with CTRL+MiddleMouseButton ([GH-105625](https://github.com/godotengine/godot/pull/105625)). -- Selectively apply `FOCUS_ACCESSIBILITY` to the `Label`s instead of setting it by default ([GH-105639](https://github.com/godotengine/godot/pull/105639)). -- SvgTexture not in 3D ([GH-105640](https://github.com/godotengine/godot/pull/105640)). -- Change FileDialog's Tree to ItemList ([GH-105641](https://github.com/godotengine/godot/pull/105641)). -- Improve FileDialog options ([GH-105647](https://github.com/godotengine/godot/pull/105647)). -- [LineEdit/TextEdit] Add composite character backspace delete and get composite character positions ([GH-105656](https://github.com/godotengine/godot/pull/105656)). -- Add favorites and recent directories to FileDialog ([GH-105680](https://github.com/godotengine/godot/pull/105680)). -- Add file sort to FileDialog ([GH-105723](https://github.com/godotengine/godot/pull/105723)). -- Use same oversampling granularity as fonts use for `SVGTexture`s ([GH-105725](https://github.com/godotengine/godot/pull/105725)). -- Fix `AnimationNodeBlendTree` crash on `Open Editor` button press ([GH-105797](https://github.com/godotengine/godot/pull/105797)). -- Fix item translation and icon in the Anchors Preset dropdown ([GH-105815](https://github.com/godotengine/godot/pull/105815)). -- Improve edited scene layout direction detection ([GH-105835](https://github.com/godotengine/godot/pull/105835)). -- Rename FoldableContainer's `text` to `title` ([GH-105846](https://github.com/godotengine/godot/pull/105846)). -- Fix ColorPicker preset button format string typo ([GH-105855](https://github.com/godotengine/godot/pull/105855)). -- TextEdit: Fix caret cut of in RTL layout, account for wrapped line indents in accessibility updates ([GH-105857](https://github.com/godotengine/godot/pull/105857)). -- ScrollContainer: Fix focus rect draw position in RTL layout ([GH-105858](https://github.com/godotengine/godot/pull/105858)). -- Add thumbnail mode to FIleDialog ([GH-105863](https://github.com/godotengine/godot/pull/105863)). -- TextEdit: Fix margin rounding at sub 100% scale ([GH-105870](https://github.com/godotengine/godot/pull/105870)). -- TextServer: Fix outline size and image fonts with oversampling ([GH-105874](https://github.com/godotengine/godot/pull/105874)). -- Improve `ColorPicker` ([GH-105892](https://github.com/godotengine/godot/pull/105892)). -- Editor: Allow non-finite values in `Range` ([GH-105911](https://github.com/godotengine/godot/pull/105911)). -- Fix background size calculation in TreeItem ([GH-105918](https://github.com/godotengine/godot/pull/105918)). -- Fix oversampling for embedded windows using content scale ([GH-105949](https://github.com/godotengine/godot/pull/105949)). -- Some QOL and cleanup to EditorHelp's `FindBar` ([GH-105968](https://github.com/godotengine/godot/pull/105968)). -- Add option for a touch-friendly drag handle in `SplitContainer` ([GH-105994](https://github.com/godotengine/godot/pull/105994)). -- Allow Control Rect tool to not snap to pixel ([GH-106001](https://github.com/godotengine/godot/pull/106001)). -- Move `alt_code_oem437` and `alt_code_cp1252` to separate header file ([GH-106051](https://github.com/godotengine/godot/pull/106051)). -- Show "No Recent Scenes" under `Open Recent` instead of redundant button ([GH-106082](https://github.com/godotengine/godot/pull/106082)). -- Add missing dictionary and array type hints ([GH-106113](https://github.com/godotengine/godot/pull/106113)). -- Add property to control showing the virtual keyboard on focus events ([GH-106114](https://github.com/godotengine/godot/pull/106114)). -- Change Selected value for OptionButton when last item is deleted ([GH-106254](https://github.com/godotengine/godot/pull/106254)). -- Fix TabBar Hidden Tabs Handling ([GH-106257](https://github.com/godotengine/godot/pull/106257)). -- Fix FileSystemTree rename TextEdit is offset ([GH-106286](https://github.com/godotengine/godot/pull/106286)). -- Accessibility: Account for window scaling transform when setting node bounds ([GH-106298](https://github.com/godotengine/godot/pull/106298)). -- RTL: Add options to override underline color and default alpha ([GH-106300](https://github.com/godotengine/godot/pull/106300)). -- Copy all text in `RichTextLabel` if nothing is selected ([GH-106404](https://github.com/godotengine/godot/pull/106404)). -- Cleanup header includes in Tree ([GH-106430](https://github.com/godotengine/godot/pull/106430)). -- Fix TabContainer not respecting `tabbar_background`'s margins ([GH-106516](https://github.com/godotengine/godot/pull/106516)). -- Web: Fix `LineEdit` `select_all_on_focus` behavior when using a virtual keyboard ([GH-106526](https://github.com/godotengine/godot/pull/106526)). -- Fix LineEdit with secret checked reveals the secret when a selection is dragged ([GH-106565](https://github.com/godotengine/godot/pull/106565)). -- Adjust SVG in OT scaling and baseline ([GH-106584](https://github.com/godotengine/godot/pull/106584)). -- Lazy create menu and slider nodes in `Tree` ([GH-106588](https://github.com/godotengine/godot/pull/106588)). -- Adjust hex code box baseline calculation ([GH-106621](https://github.com/godotengine/godot/pull/106621)). -- Deselect invisible TreeItems ([GH-106639](https://github.com/godotengine/godot/pull/106639)). -- Move some accessibility properties from Node to Control ([GH-106660](https://github.com/godotengine/godot/pull/106660)). -- Add hardcoded baseline offset for Apple Color Emoji ([GH-106666](https://github.com/godotengine/godot/pull/106666)). -- Improve SVGTexture lazy loading ([GH-106671](https://github.com/godotengine/godot/pull/106671)). -- Allow customizing FileDialog's features ([GH-106679](https://github.com/godotengine/godot/pull/106679)). -- Use OkHSV for `RichTextLabel` rainbows ([GH-106733](https://github.com/godotengine/godot/pull/106733)). -- Call `PopupMenu` min. size calculations after `about_to_popup` signal processing ([GH-106742](https://github.com/godotengine/godot/pull/106742)). -- Use `TabContainer` material for internal `TabBar` ([GH-106746](https://github.com/godotengine/godot/pull/106746)). -- Do not activate accessibility when screen reader detection failed ([GH-106783](https://github.com/godotengine/godot/pull/106783)). -- Fix Android editor UI ([GH-106810](https://github.com/godotengine/godot/pull/106810)). -- Add missing `TRANSLATION_CHANGED` notifications ([GH-106813](https://github.com/godotengine/godot/pull/106813)). -- Fix MenuBar min size not updating after child rename ([GH-106815](https://github.com/godotengine/godot/pull/106815)). -- VideoStreamPlayer: Fix sync with the scene tree ([GH-106825](https://github.com/godotengine/godot/pull/106825)). -- Remove freed up FontForSize data from `oversampling_levels` ([GH-106833](https://github.com/godotengine/godot/pull/106833)). -- Fix `SCROLL_MODE_RESERVE` with RTL layout ([GH-106915](https://github.com/godotengine/godot/pull/106915)). -- Fix CodeEdit hover word lookup ([GH-106919](https://github.com/godotengine/godot/pull/106919)). -- Clamp FontFile Face Index to a valid range in the inspector ([GH-106921](https://github.com/godotengine/godot/pull/106921)). -- macOS: Fix borderless window maximization ([GH-106942](https://github.com/godotengine/godot/pull/106942)). -- Fix window embedding for windows with `force_native` enabled ([GH-106952](https://github.com/godotengine/godot/pull/106952)). -- Accessibility: Always auto-translation mode for names/descriptions ([GH-106966](https://github.com/godotengine/godot/pull/106966)). -- Check script sample characters to filter out incorrect script support information ([GH-107030](https://github.com/godotengine/godot/pull/107030)). -- Fix LineEdit continues to force showing the caret after drag is aborted ([GH-107055](https://github.com/godotengine/godot/pull/107055)). -- [SVG in OT] Fix rendering of some glyphs using "defs" with "#glyphXXXXX.X" id ([GH-107079](https://github.com/godotengine/godot/pull/107079)). -- Make `BaseButton`s' shortcut feedback timers internal ([GH-107088](https://github.com/godotengine/godot/pull/107088)). -- RTL: Fix outline offset ([GH-107092](https://github.com/godotengine/godot/pull/107092)). -- Unify `get_[_visible]paragraph/line_count` behavior ([GH-107110](https://github.com/godotengine/godot/pull/107110)). -- Fix LineEdit's caret desyncing issue when toggling secret mode ([GH-107125](https://github.com/godotengine/godot/pull/107125)). -- ColorPicker: Fix cursor position in okhsl circle ([GH-107198](https://github.com/godotengine/godot/pull/107198)). -- ColorPicker: Add okhsl HS and HL rectangular picker shapes ([GH-107249](https://github.com/godotengine/godot/pull/107249)). -- Ensure hiding `AcceptDialog` OK button keeps other buttons centered ([GH-107280](https://github.com/godotengine/godot/pull/107280)). -- Don't store deprecated `auto_translate` property for `Window` ([GH-107282](https://github.com/godotengine/godot/pull/107282)). -- Spinbox: Fix incorrect step and decimal text when using custom arrow step ([GH-107302](https://github.com/godotengine/godot/pull/107302)). -- Fix window title drawn outside the title bar ([GH-107305](https://github.com/godotengine/godot/pull/107305)). -- RTL: Add paragraph separation theme property ([GH-107331](https://github.com/godotengine/godot/pull/107331)). -- ItemList: Fix text drawing not taking `h_separation` into account in top mode ([GH-107333](https://github.com/godotengine/godot/pull/107333)). -- Fix visible ratio when displaying all characters in Label ([GH-107338](https://github.com/godotengine/godot/pull/107338)). -- RTL: Decouple image width/height "in percent" properties. Add [hr] tag support ([GH-107347](https://github.com/godotengine/godot/pull/107347)). -- Partially revert 107110, process all lines in `VC_CHARS_BEFORE_SHAPING` mode to return correct line count ([GH-107373](https://github.com/godotengine/godot/pull/107373)). -- Improve performance of `visible_characters`updates in `VC_CHARS_BEFORE_SHAPING` mode ([GH-107394](https://github.com/godotengine/godot/pull/107394)). -- Fix IME window position not taking into account window transform ([GH-107413](https://github.com/godotengine/godot/pull/107413)). -- Fix ScriptEditor error line out of bounds ([GH-107426](https://github.com/godotengine/godot/pull/107426)). -- Add `line_breaking_strictness` project setting ([GH-107439](https://github.com/godotengine/godot/pull/107439)). -- Move font related project settings definitions to `TextServer` ([GH-107450](https://github.com/godotengine/godot/pull/107450)). -- Multiply contents minimum size by scale factor ([GH-107488](https://github.com/godotengine/godot/pull/107488)). -- Fix `set_force_native` when window is not in tree ([GH-107498](https://github.com/godotengine/godot/pull/107498)). -- Rename TreeItem's `alt_text` to `description` for consistency with Accessibility API ([GH-107540](https://github.com/godotengine/godot/pull/107540)). -- Fix scale and position of popups with `force_native` ([GH-107560](https://github.com/godotengine/godot/pull/107560)). -- Fix some menu bar items unresponsive after language change ([GH-107578](https://github.com/godotengine/godot/pull/107578)). -- Cleanup accessibility names ([GH-107656](https://github.com/godotengine/godot/pull/107656)). -- Restore per font oversampling override ([GH-107708](https://github.com/godotengine/godot/pull/107708)). -- Android: Address API 35 UI behavior changes ([GH-107742](https://github.com/godotengine/godot/pull/107742)). -- GraphNode: Fix slot focus rect draw, make slot focus mode configurable ([GH-107825](https://github.com/godotengine/godot/pull/107825)). -- Tree: Fix handling of `__focus_rect` with various Select Modes ([GH-107834](https://github.com/godotengine/godot/pull/107834)). -- Fix custom Text Editor theme changes on reload ([GH-107918](https://github.com/godotengine/godot/pull/107918)). -- SpinBox: Fix `custom_arrow_step` by snapping it to `step` ([GH-108196](https://github.com/godotengine/godot/pull/108196)). -- Android: Don't exclude display cutout in immersive mode ([GH-108205](https://github.com/godotengine/godot/pull/108205)). -- Fix: TabBar/TabContainer can't start with all tabs deselected ([GH-108255](https://github.com/godotengine/godot/pull/108255)). -- Fix ColorPicker linear mode sliders color ([GH-108328](https://github.com/godotengine/godot/pull/108328)). -- Fix typo in `TextParagraph.direction` hint string ([GH-108367](https://github.com/godotengine/godot/pull/108367)). -- Deactivate orientation gizmo on window exit ([GH-108374](https://github.com/godotengine/godot/pull/108374)). -- RTL: Add option to scroll follow visible characters ([GH-108399](https://github.com/godotengine/godot/pull/108399)). -- Draw guide lines over selection and focus styleboxes ([GH-108401](https://github.com/godotengine/godot/pull/108401)). -- [Code Editor] Fix "Pick Color" menu option replacing multiple color items ([GH-108431](https://github.com/godotengine/godot/pull/108431)). -- RTL: Add method to get visible content bounding box ([GH-108466](https://github.com/godotengine/godot/pull/108466)). -- RTL: Fix padding and alignment of embedded image clicks ([GH-108469](https://github.com/godotengine/godot/pull/108469)). -- Fix export path "leaking" between presets ([GH-108478](https://github.com/godotengine/godot/pull/108478)). -- Android: Fix system bar regression ([GH-108557](https://github.com/godotengine/godot/pull/108557)). -- Fix `TabBar` minimum size with `clip_tabs` enabled ([GH-108592](https://github.com/godotengine/godot/pull/108592)). -- RTL: Fix text selection offset in padded cells ([GH-108597](https://github.com/godotengine/godot/pull/108597)). -- TextEdit: Draw guidelines under the text and caret ([GH-108599](https://github.com/godotengine/godot/pull/108599)). -- Wayland: Workaround tooltip issues ([GH-108604](https://github.com/godotengine/godot/pull/108604)). -- Add minimum scale to shader list ([GH-108632](https://github.com/godotengine/godot/pull/108632)). -- Use `double` consistently in `Range::get_as_ratio` ([GH-108638](https://github.com/godotengine/godot/pull/108638)). -- Fix inconsistent column in Tree click detection ([GH-108706](https://github.com/godotengine/godot/pull/108706)). -- SplitContainer: Fix inability to override touch dragger icon and add theme colors to touch dragger ([GH-108718](https://github.com/godotengine/godot/pull/108718)). -- Deprecate updown icon ([GH-108724](https://github.com/godotengine/godot/pull/108724)). -- Web: Fix Web MouseWheel scrolling ([GH-108747](https://github.com/godotengine/godot/pull/108747)). -- TextServer: Fix soft hyphen font fallback ([GH-108769](https://github.com/godotengine/godot/pull/108769)). -- Fix ColorPresetButton `preset_focus` is set to wrong type in default theme ([GH-108814](https://github.com/godotengine/godot/pull/108814)). -- Fix editor one-click icons not showing ([GH-108825](https://github.com/godotengine/godot/pull/108825)). -- Fix TextEdit line wrap indent when disabled ([GH-108889](https://github.com/godotengine/godot/pull/108889)). -- Fix RichTextLabel nested tables not sizing properly ([GH-108911](https://github.com/godotengine/godot/pull/108911)). -- Fix button down signal not emitting on first press after being disabled ([GH-108921](https://github.com/godotengine/godot/pull/108921)). -- Fix font fallback for lines with only non-visual/control characters ([GH-108959](https://github.com/godotengine/godot/pull/108959)). -- Fix Tree cell text vertical alignment ([GH-108995](https://github.com/godotengine/godot/pull/108995)). -- Update GraphNode selection logic if not visible ([GH-108996](https://github.com/godotengine/godot/pull/108996)). -- Accessibility: Process non-focusable windows (popups, menus) as part of the parent window tree ([GH-109046](https://github.com/godotengine/godot/pull/109046)). -- Avoid color conversion roundtrip in colorpicker ([GH-109072](https://github.com/godotengine/godot/pull/109072)). -- Add `SVGTexture`support to `NinePatchRect`, `TextureProgressBar` and `StyleBoxTexture` ([GH-109118](https://github.com/godotengine/godot/pull/109118)). -- SVGTexture: Always use real values for `texture_set_size_override` ([GH-109139](https://github.com/godotengine/godot/pull/109139)). -- Use non-MSDF fallback for MSDF fonts if fallback is a color or non-scalable font ([GH-109152](https://github.com/godotengine/godot/pull/109152)). -- Break batch on Compatibility when primitive texture changes ([GH-109198](https://github.com/godotengine/godot/pull/109198)). -- Fix LineEdit center alignment ([GH-109329](https://github.com/godotengine/godot/pull/109329)). -- Fix some localization issues in controls ([GH-109354](https://github.com/godotengine/godot/pull/109354)). -- TextServer: Fix caret hit test rounding ([GH-109415](https://github.com/godotengine/godot/pull/109415)). -- Use MSDF instead of MTSDF for font rendering ([GH-109437](https://github.com/godotengine/godot/pull/109437)). -- Fix issues searching `RichTextLabel` when search result is in a table ([GH-109441](https://github.com/godotengine/godot/pull/109441)). -- Disallow clicking to toggle the checkbox of a theme override of type `Resource` to checked ([GH-109480](https://github.com/godotengine/godot/pull/109480)). -- LineEdit: Fix double click not selecting single character words ([GH-109541](https://github.com/godotengine/godot/pull/109541)). -- ThemeEditor: fix to show filename for new/renamed files ([GH-109619](https://github.com/godotengine/godot/pull/109619)). -- Fix missing hover style for Ignore Error breaks button ([GH-109673](https://github.com/godotengine/godot/pull/109673)). -- RTL: Fix text around `visible_characters` boundary being added twice to the buffer ([GH-109699](https://github.com/godotengine/godot/pull/109699)). -- Fix PopupMenu accel position ([GH-109708](https://github.com/godotengine/godot/pull/109708)). -- Fix OptionButton not removing icon when using clear ([GH-109755](https://github.com/godotengine/godot/pull/109755)). -- Update `TextEdit` to use center alignment for inline objects ([GH-109814](https://github.com/godotengine/godot/pull/109814)). -- Enable input when ColorPicker popup exits tree ([GH-109824](https://github.com/godotengine/godot/pull/109824)). -- Popup: Reset state on visibility change ([GH-109927](https://github.com/godotengine/godot/pull/109927)). -- Validate theme type name input in Add Theme Type dialog ([GH-110044](https://github.com/godotengine/godot/pull/110044)). -- Do not set flags when `PopupMenu::set_visible` is called to hide popup ([GH-110049](https://github.com/godotengine/godot/pull/110049)). -- Fix ColorPicker after adding intensity sliders ([GH-110160](https://github.com/godotengine/godot/pull/110160)). -- TextEdit: Fix text edit font update order ([GH-110191](https://github.com/godotengine/godot/pull/110191)). +- Allow customization of TabContainer tabs in editor ([GH-58749](https://github.com/godotengine/godot/pull/58749)). +- Add `pivot_offset_ratio` property to Control ([GH-70646](https://github.com/godotengine/godot/pull/70646)). +- Allow SplitContainer to have more than two children ([GH-90411](https://github.com/godotengine/godot/pull/90411)). +- Use multiple children in dock SplitContainers to make resizing consistent ([GH-90439](https://github.com/godotengine/godot/pull/90439)). +- Remove code duplication in Button ([GH-93389](https://github.com/godotengine/godot/pull/93389)). +- Fix update order for `exclusive` child window ([GH-94488](https://github.com/godotengine/godot/pull/94488)). +- Implement dynamic scaling of the LineEdit right icon based on control size and scale factor ([GH-95817](https://github.com/godotengine/godot/pull/95817)). +- Fix `ColorPickerButton` close popup on mouse click ([GH-98428](https://github.com/godotengine/godot/pull/98428)). +- Improve Project Manager UI navigation ([GH-101129](https://github.com/godotengine/godot/pull/101129)). +- Separate Node editor dock ([GH-101787](https://github.com/godotengine/godot/pull/101787)). +- Fix preset cache usage in ColorPicker ([GH-104496](https://github.com/godotengine/godot/pull/104496)). +- Add auto-scroll behavior when selecting text outside the visible area in RichTextLabel ([GH-104715](https://github.com/godotengine/godot/pull/104715)). +- Add support for custom font colors in the TabBar ([GH-106263](https://github.com/godotengine/godot/pull/106263)). +- Add support for closing dialog windows with Cmd+W on macOS ([GH-107303](https://github.com/godotengine/godot/pull/107303)). +- Allow `tab_rmb_clicked` to always work ([GH-107440](https://github.com/godotengine/godot/pull/107440)). +- Fix `mouse_entered` and `mouse_exited` Signals being emitted too early ([GH-107955](https://github.com/godotengine/godot/pull/107955)). +- Expose methods to access FileDialog's favorite/recent lists ([GH-108146](https://github.com/godotengine/godot/pull/108146)). +- Expose FileDialog callbacks for getting custom icons ([GH-108147](https://github.com/godotengine/godot/pull/108147)). +- SpinBox: Add a property to set whether `custom_arrow_step` rounds value ([GH-108335](https://github.com/godotengine/godot/pull/108335)). +- macOS: Use "file" icon for bundles in the file dialogs ([GH-108804](https://github.com/godotengine/godot/pull/108804)). +- Include `SPACING_SPACE` in tab stops calculation ([GH-109031](https://github.com/godotengine/godot/pull/109031)). +- Fix TextEdit clips children and focus style ([GH-109078](https://github.com/godotengine/godot/pull/109078)). +- Add metadata for slots in `GraphNode` ([GH-109322](https://github.com/godotengine/godot/pull/109322)). +- Adjust StyleBoxFlat antialiasing to account for Viewport oversampling ([GH-109358](https://github.com/godotengine/godot/pull/109358)). +- Fix LineEdit icon position in right-to-left layout ([GH-109363](https://github.com/godotengine/godot/pull/109363)). +- Android: Add method to set root window color at runtime ([GH-109491](https://github.com/godotengine/godot/pull/109491)). +- Speed up very large `Trees` ([GH-109512](https://github.com/godotengine/godot/pull/109512)). +- Optimize CPU text shaping ([GH-109516](https://github.com/godotengine/godot/pull/109516)). +- `find_*_valid_focus`: Check all tested neighbors to prevent loops ([GH-109590](https://github.com/godotengine/godot/pull/109590)). +- Remove meta usage in Tree ([GH-109938](https://github.com/godotengine/godot/pull/109938)). +- Fix tree to update size with scrollbars disabled ([GH-109943](https://github.com/godotengine/godot/pull/109943)). +- Make POT generation use `tooltip_auto_translate_mode` ([GH-109977](https://github.com/godotengine/godot/pull/109977)). +- Clamp menus at the bottom of the screen ([GH-109981](https://github.com/godotengine/godot/pull/109981)). +- Reinstate `const` parameter in `Tree`'s `draw_item_rect` ([GH-110012](https://github.com/godotengine/godot/pull/110012)). +- Fix child relationship lines not being drawn when selecting cells other than first ([GH-110024](https://github.com/godotengine/godot/pull/110024)). +- Add helper methods to convert right-to-left `Rect2i` and `Point2i` in `Tree`'s `draw_item` ([GH-110055](https://github.com/godotengine/godot/pull/110055)). +- GraphEdit: Do not scale popup menus in the graph elements when zoomed ([GH-110080](https://github.com/godotengine/godot/pull/110080)). +- Fix `Tree` relationship lines do not apply `h_separation` and `item_margin` correctly ([GH-110089](https://github.com/godotengine/godot/pull/110089)). +- Add horizontal scrolling to `TabBar` ([GH-110151](https://github.com/godotengine/godot/pull/110151)). +- Use placeholder instead of value for tooltips of `PROPERTY_HINT_PASSWORD` properties ([GH-110164](https://github.com/godotengine/godot/pull/110164)). +- TextServer: Shape emojis as separate runs ([GH-110194](https://github.com/godotengine/godot/pull/110194)). +- Fix SpinBox value change when held down on separation between buttons ([GH-110212](https://github.com/godotengine/godot/pull/110212)). +- Allow all ColorPicker Shapes to expand horizontally ([GH-110218](https://github.com/godotengine/godot/pull/110218)). +- Make minimum drag distance configurable for gui elements ([GH-110245](https://github.com/godotengine/godot/pull/110245)). +- Hide `Control` focus when given via mouse input ([GH-110250](https://github.com/godotengine/godot/pull/110250)). +- PopupMenu: Fix submenu item not popping on mouse enter ([GH-110256](https://github.com/godotengine/godot/pull/110256)). +- Redraw shape controls when ColorPicker theme changes ([GH-110278](https://github.com/godotengine/godot/pull/110278)). +- TextServer: Check if texture cache is valid when loading glyph ([GH-110310](https://github.com/godotengine/godot/pull/110310)). +- TextServer: Do not add extra spacing to zero-width glyphs ([GH-110317](https://github.com/godotengine/godot/pull/110317)). +- RTL: Use separate paragraph copy for the partially visible paragraphs ([GH-110340](https://github.com/godotengine/godot/pull/110340)). +- Make text-related nodes translation domain aware ([GH-110378](https://github.com/godotengine/godot/pull/110378)). +- Move ColorPicker shaders to ColorPickerShape class ([GH-110385](https://github.com/godotengine/godot/pull/110385)). +- Shader Editor: Show "File" menu when no shaders are opened ([GH-110404](https://github.com/godotengine/godot/pull/110404)). +- TextServer: Use a separate flag to disable min. string length for adding ellipsis ([GH-110408](https://github.com/godotengine/godot/pull/110408)). +- RTL: Fix `outline_size=0` and `font`/`otf` tags with invalid arguments breaking tag stack and spamming errors ([GH-110444](https://github.com/godotengine/godot/pull/110444)). +- Fix FileDialog's `root_subfolder` on Windows ([GH-110524](https://github.com/godotengine/godot/pull/110524)). +- Fix TextEdit `read_only` drawing ([GH-110527](https://github.com/godotengine/godot/pull/110527)). +- Add ThemeCache to EditorProperty ([GH-110542](https://github.com/godotengine/godot/pull/110542)). +- Deprecate TextEdit `background_color` ([GH-110543](https://github.com/godotengine/godot/pull/110543)). +- Fix color picker shape minimum size ([GH-110581](https://github.com/godotengine/godot/pull/110581)). +- Editor: Do not embolden the Main Font if it's variable ([GH-110737](https://github.com/godotengine/godot/pull/110737)). +- ColorPicker: Fix preset button order after calling `add_preset()` ([GH-110750](https://github.com/godotengine/godot/pull/110750)). +- Update SpinBox arrows on constrain change ([GH-110817](https://github.com/godotengine/godot/pull/110817)). +- FoldableContainer: Override `has_point` to use title rect when folded ([GH-110847](https://github.com/godotengine/godot/pull/110847)). +- Reduce repetitive code in FoldableContainer ([GH-110871](https://github.com/godotengine/godot/pull/110871)). +- Fix LineEdit's placeholder text being selected when double clicking ([GH-110886](https://github.com/godotengine/godot/pull/110886)). +- Fix SpinBox stepper grabbing focus state on mouse input ([GH-110894](https://github.com/godotengine/godot/pull/110894)). +- Add setting for when to show the focus state for mouse input ([GH-110895](https://github.com/godotengine/godot/pull/110895)). +- Unfold tree items on hover while drag-n-dropping ([GH-110904](https://github.com/godotengine/godot/pull/110904)). +- Fix Script editor state types ([GH-110942](https://github.com/godotengine/godot/pull/110942)). +- Use const Array ref in `set_structured_text_bidi_override_options` ([GH-110951](https://github.com/godotengine/godot/pull/110951)). +- X11: Fix minimization of maximized windows ([GH-110990](https://github.com/godotengine/godot/pull/110990)). +- Fix text servers build with disabled FreeType ([GH-111001](https://github.com/godotengine/godot/pull/111001)). +- TextServer: Enforce zero width spaces and joiners to actually be zero width and not fallback to regular space ([GH-111014](https://github.com/godotengine/godot/pull/111014)). +- Fix tag name focus ([GH-111085](https://github.com/godotengine/godot/pull/111085)). +- Visualize MarginContainer margins when selected ([GH-111095](https://github.com/godotengine/godot/pull/111095)). +- Label: Add MSDF pixel range/outline configuration warning ([GH-111111](https://github.com/godotengine/godot/pull/111111)). +- Unify FileDialog context menus ([GH-111116](https://github.com/godotengine/godot/pull/111116)). +- Fix cases where `LineEdit` can still show focus with mouse events ([GH-111117](https://github.com/godotengine/godot/pull/111117)). +- Fix bottom panel being unintentionally draggable ([GH-111121](https://github.com/godotengine/godot/pull/111121)). +- Group `virtual keyboard` and `word separators` properties in the inspector ([GH-111156](https://github.com/godotengine/godot/pull/111156)). +- Remaining FileDialog changes before unification ([GH-111159](https://github.com/godotengine/godot/pull/111159)). +- Add icon color theme items for `TabBar` and `TabContainer` ([GH-111169](https://github.com/godotengine/godot/pull/111169)). +- Fix LineEdit Unicode code-point/control character insertion failing to emit `text_changed` ([GH-111190](https://github.com/godotengine/godot/pull/111190)). +- Add missing ItemListSecondary and TreeSecondary theme type variations ([GH-111194](https://github.com/godotengine/godot/pull/111194)). +- Make EditorFileDialog inherit FileDialog ([GH-111212](https://github.com/godotengine/godot/pull/111212)). +- Fix color text's tooltip not being updated when the intensity is more than 0 ([GH-111230](https://github.com/godotengine/godot/pull/111230)). +- Check that ColorPickerButton popup is currently open in `_modal_closed()` ([GH-111248](https://github.com/godotengine/godot/pull/111248)). +- Fix RichTextLabel Focus Box ([GH-111250](https://github.com/godotengine/godot/pull/111250)). +- RichTextLabel: Fix bullet list font color and formatting issues ([GH-111258](https://github.com/godotengine/godot/pull/111258)). +- Fix Tree column title tooltip crash ([GH-111292](https://github.com/godotengine/godot/pull/111292)). +- Enforce zero width spaces and joiners with missing font. Do not warn about missing non-visual characters ([GH-111355](https://github.com/godotengine/godot/pull/111355)). +- Fix UI focus being shown when it shouldn't ([GH-111369](https://github.com/godotengine/godot/pull/111369)). +- Fix incorrect margins in `ScrollContainer` with focus border enabled ([GH-111386](https://github.com/godotengine/godot/pull/111386)). +- Add MIME argument to the `FileDialog.add_filter` ([GH-111439](https://github.com/godotengine/godot/pull/111439)). +- Rework FileDialog shortcuts ([GH-111460](https://github.com/godotengine/godot/pull/111460)). +- Use HarfBuzz to fix variant hinting in `TextServerAdvanced` ([GH-111461](https://github.com/godotengine/godot/pull/111461)). +- Remove unused `Window::debugger_stop_shortcut` ([GH-111484](https://github.com/godotengine/godot/pull/111484)). +- Update OpenSans SemiBold ([GH-111516](https://github.com/godotengine/godot/pull/111516)). +- Fix Windows native FileDialog filters not showing descriptions ([GH-111529](https://github.com/godotengine/godot/pull/111529)). +- Fix TextEdit selecting when closing popup ([GH-111535](https://github.com/godotengine/godot/pull/111535)). +- Fix scrollbar render with RTL scroll following visible enabled ([GH-111552](https://github.com/godotengine/godot/pull/111552)). +- Fix favorites icon size in FileSystem dock ([GH-111586](https://github.com/godotengine/godot/pull/111586)). +- CodeEdit: Use flag to recalculate characteristics ([GH-111597](https://github.com/godotengine/godot/pull/111597)). +- Fix indented line wrap with no spaces ([GH-111648](https://github.com/godotengine/godot/pull/111648)). +- PopupMenu: Update global menu shortcuts when shortcut is externally changed ([GH-111711](https://github.com/godotengine/godot/pull/111711)). +- TextEdit: Make `wrap_right_offset` adjustable theme constant ([GH-111744](https://github.com/godotengine/godot/pull/111744)). +- Improve performance of SpinBox creation ([GH-111766](https://github.com/godotengine/godot/pull/111766)). +- Allow double-clicking icons of non-editable Tree items ([GH-111780](https://github.com/godotengine/godot/pull/111780)). +- Fix scale factor applied twice ([GH-111797](https://github.com/godotengine/godot/pull/111797)). +- Make `PopupMenu` respect `max_size` ([GH-111801](https://github.com/godotengine/godot/pull/111801)). +- Fix crash when operating on newly created font RIDs ([GH-111810](https://github.com/godotengine/godot/pull/111810)). +- TextServer: Do not add empty lines if space trimming flag is set ([GH-111839](https://github.com/godotengine/godot/pull/111839)). +- Fix IME input in multiple windows at once ([GH-111865](https://github.com/godotengine/godot/pull/111865)). +- Fix `Control.pivot_offset` missing `PROPERTY_USAGE_STORAGE` flag ([GH-111921](https://github.com/godotengine/godot/pull/111921)). +- Show the arrow cursor on disabled `LinkButton`s ([GH-111926](https://github.com/godotengine/godot/pull/111926)). +- TextServer: Fix range for zero-width glyphs extra spacing ([GH-111964](https://github.com/godotengine/godot/pull/111964)). +- Add `h`/`v_separation` theme properties to ScrollContainer ([GH-111975](https://github.com/godotengine/godot/pull/111975)). +- Add text trimming in `LinkButton` ([GH-112019](https://github.com/godotengine/godot/pull/112019)). +- Fix embedded window frame oversampling, fix DPITexture using uninitialized size in some conditions ([GH-112031](https://github.com/godotengine/godot/pull/112031)). +- Move localized number formatting methods to `TranslationServer` ([GH-112092](https://github.com/godotengine/godot/pull/112092)). +- Fix `PopupMenu` losing item highlight when hovering submenus ([GH-112095](https://github.com/godotengine/godot/pull/112095)). +- CodeEdit: Add line number gutter minimum digits ([GH-112115](https://github.com/godotengine/godot/pull/112115)). +- Fix error when deleting trailing lines removed breakpoints ([GH-112168](https://github.com/godotengine/godot/pull/112168)). +- Make possible to change the ellipsis character in `LinkButton` ([GH-112220](https://github.com/godotengine/godot/pull/112220)). +- Fix MenuButton's PopupMenu is clipped ([GH-112239](https://github.com/godotengine/godot/pull/112239)). +- Fix drawing of slot icons in `GraphNode` when slots are not continuous ([GH-112245](https://github.com/godotengine/godot/pull/112245)). +- Fix `grab_focus` incorrectly handling `FOCUS_ACCESSIBILITY` ([GH-112251](https://github.com/godotengine/godot/pull/112251)). +- Fix LinkButton color in Modern theme ([GH-112255](https://github.com/godotengine/godot/pull/112255)). +- Fix icon colors in light color preset of modern theme ([GH-112277](https://github.com/godotengine/godot/pull/112277)). +- RTL: Do not apply scroll offset to empty RTL ([GH-112295](https://github.com/godotengine/godot/pull/112295)). +- Add custom `StyleBox` to `TreeItem` ([GH-112371](https://github.com/godotengine/godot/pull/112371)). +- PopupMenu: Fix minimum size for items with icons ([GH-112377](https://github.com/godotengine/godot/pull/112377)). +- Update VisualShader on theme changes ([GH-112382](https://github.com/godotengine/godot/pull/112382)). +- Make ScrollContainer scrollbar margins affect minimum size ([GH-112396](https://github.com/godotengine/godot/pull/112396)). +- RTL: Fix meta hover signals not emitted ([GH-112428](https://github.com/godotengine/godot/pull/112428)). +- TextServer: Fix `FontPriorityList` returning duplicate fonts ([GH-112435](https://github.com/godotengine/godot/pull/112435)). +- TextServer: Improve font fallback for emojis ([GH-112436](https://github.com/godotengine/godot/pull/112436)). +- Allow to add padding to `ScrollBar`s ([GH-112441](https://github.com/godotengine/godot/pull/112441)). +- Modern style: Fix `prop_subsection_stylebox` color not scaling with luminance ([GH-112443](https://github.com/godotengine/godot/pull/112443)). +- Modern style: Use stylebox setter for Action Map `TreeItem`s ([GH-112444](https://github.com/godotengine/godot/pull/112444)). +- Fix tree item editable area missing icon max width bug ([GH-112475](https://github.com/godotengine/godot/pull/112475)). +- Add scroll hints to `ScrollContainer` and `Tree` ([GH-112491](https://github.com/godotengine/godot/pull/112491)). +- PopupMenu: Add theme option for merging icon and checkbox gutters ([GH-112545](https://github.com/godotengine/godot/pull/112545)). +- Default preset container to minimum size in Export dialog ([GH-112590](https://github.com/godotengine/godot/pull/112590)). +- Label: Account for max visible lines when trimming text ([GH-112602](https://github.com/godotengine/godot/pull/112602)). +- Update rect after `_pre_popup` in `popup_centered_*` ([GH-112604](https://github.com/godotengine/godot/pull/112604)). +- Fix tree vertical line width bug ([GH-112625](https://github.com/godotengine/godot/pull/112625)). +- TextServer: Fix some emoji sequences and add missing ICU emoji property data ([GH-112636](https://github.com/godotengine/godot/pull/112636)). +- Improve language selection when shaping text ([GH-112661](https://github.com/godotengine/godot/pull/112661)). +- Fix cursor shape in the quick open dialog ([GH-112665](https://github.com/godotengine/godot/pull/112665)). +- Fix visual shader error when editing theme settings ([GH-112673](https://github.com/godotengine/godot/pull/112673)). +- Fix blurry items on `PopupMenu` when `v_separation` has an odd value ([GH-112676](https://github.com/godotengine/godot/pull/112676)). +- Stop drawing of MarginContainer margins if not in tree ([GH-112687](https://github.com/godotengine/godot/pull/112687)). +- Use event position for mouse over when event come from the same window ([GH-112712](https://github.com/godotengine/godot/pull/112712)). +- Fix tree relationship lines are squeezed together ([GH-112791](https://github.com/godotengine/godot/pull/112791)). +- Fix bottom panel not being able to resize on startup ([GH-112792](https://github.com/godotengine/godot/pull/112792)). +- Fix TreeItem icon overflows column boundary ([GH-112805](https://github.com/godotengine/godot/pull/112805)). +- Fix clicking the tree edge is ineffective ([GH-112830](https://github.com/godotengine/godot/pull/112830)). +- TextServer: Remove negative offset from the first char when shaping substrings ([GH-112858](https://github.com/godotengine/godot/pull/112858)). +- RTL: Fix `line_separation` not being applied between paragraphs ([GH-112882](https://github.com/godotengine/godot/pull/112882)). +- Fix disabled tabs in TabBar are selectable ([GH-112935](https://github.com/godotengine/godot/pull/112935)). +- TextServer: Track emoji subruns separately from parentheses stack ([GH-112940](https://github.com/godotengine/godot/pull/112940)). +- Fix error when double-clicking nothing on scene tree ([GH-112941](https://github.com/godotengine/godot/pull/112941)). +- Fix cut off columns in the advanced font import dialog ([GH-112945](https://github.com/godotengine/godot/pull/112945)). +- PopupMenu: Fix error spam and skip submenu hidden signals on native menus ([GH-112967](https://github.com/godotengine/godot/pull/112967)). +- 2D: Fix nine-patch rendering ([GH-112978](https://github.com/godotengine/godot/pull/112978)). +- Fix completion popup placement and adjust lines to available space ([GH-112991](https://github.com/godotengine/godot/pull/112991)). +- Fix tab bar offset ([GH-113084](https://github.com/godotengine/godot/pull/113084)). +- Update native menu icons after Node dock split ([GH-113134](https://github.com/godotengine/godot/pull/113134)). +- Fix SplitContainer crash on change type ([GH-113164](https://github.com/godotengine/godot/pull/113164)). +- Editor: Simplify native menu icon generation ([GH-113252](https://github.com/godotengine/godot/pull/113252)). +- PopupMenu: Fix accelerator incorrect highlighting when mouse moves toward submenu ([GH-113320](https://github.com/godotengine/godot/pull/113320)). +- Fix `TextEdit` does not auto scroll properly on certain vertical sizes ([GH-113390](https://github.com/godotengine/godot/pull/113390)). +- Accessibility: Fix text field character count and line navigation ([GH-113459](https://github.com/godotengine/godot/pull/113459)). +- Add non-public `{Line,Text}Edit::_set_text()` to fix `text_submitted` signal emission on Web ([GH-113461](https://github.com/godotengine/godot/pull/113461)). +- Editor: Add accessibility label to project favorite button ([GH-113473](https://github.com/godotengine/godot/pull/113473)). +- Editor: Set initial focus for screen reader users ([GH-113475](https://github.com/godotengine/godot/pull/113475)). +- Fix `ScrollContainer` ignoring internal nodes added externally ([GH-113503](https://github.com/godotengine/godot/pull/113503)). +- Add new monospace related hint strings ([GH-113512](https://github.com/godotengine/godot/pull/113512)). +- Round `ProgressBar` percentage instead of truncating ([GH-113531](https://github.com/godotengine/godot/pull/113531)). +- Accessibility: Re-apply stored name when recreating nodes ([GH-113533](https://github.com/godotengine/godot/pull/113533)). +- Fix the issue of no scan after dir creation and/or deletion ([GH-113541](https://github.com/godotengine/godot/pull/113541)). +- RTL: Fix relative index getting out of sync ([GH-113550](https://github.com/godotengine/godot/pull/113550)). +- Fix wrong file thumbnails icon ([GH-113572](https://github.com/godotengine/godot/pull/113572)). +- Fix memory management for ColorPalette in save file dialog ([GH-113573](https://github.com/godotengine/godot/pull/113573)). +- Enable scroll hints for several parts of the editor ([GH-113574](https://github.com/godotengine/godot/pull/113574)). +- FileDialog: Use base dir instead of ".." when going up ([GH-113581](https://github.com/godotengine/godot/pull/113581)). +- Hide arrows when they go past the column titles on `Tree`s ([GH-113591](https://github.com/godotengine/godot/pull/113591)). +- FileDialog: Filter drive list when root folder is set ([GH-113608](https://github.com/godotengine/godot/pull/113608)). +- Fix SplitContainer incorrect child shrink logic ([GH-113648](https://github.com/godotengine/godot/pull/113648)). +- Restore `FileDialog::_popup_base` ([GH-113742](https://github.com/godotengine/godot/pull/113742)). +- Fix native FileDialogs popping up when `use_native_dialog` is modified ([GH-113746](https://github.com/godotengine/godot/pull/113746)). +- Fix scrollbar separation being at the wrong side in `ScrollContainer`with a RTL layout ([GH-113755](https://github.com/godotengine/godot/pull/113755)). +- Unset submenu index when popup menu is hidden ([GH-113794](https://github.com/godotengine/godot/pull/113794)). +- Reorganize editor menu setup, allow switching global menu without restart ([GH-113800](https://github.com/godotengine/godot/pull/113800)). +- TextServer: Fix `duplicated` losing span info, and RID leak ([GH-113908](https://github.com/godotengine/godot/pull/113908)). +- Fix MSDF batching flag for StyleBoxTexture ([GH-113924](https://github.com/godotengine/godot/pull/113924)). +- Fix file thumbnails not using theme scale ([GH-113985](https://github.com/godotengine/godot/pull/113985)). +- TextServer: Do not skip non-color font if system fallback is disabled ([GH-114027](https://github.com/godotengine/godot/pull/114027)). +- Fix FileDialog icon scale in editor ([GH-114035](https://github.com/godotengine/godot/pull/114035)). +- Fix `ScrollContainer`'s bottom scroll hint ignoring margins ([GH-114037](https://github.com/godotengine/godot/pull/114037)). +- Fix save dialog clearing filename when navigating folders ([GH-114039](https://github.com/godotengine/godot/pull/114039)). +- Fix `TabContainer`'s minimum size ignoring the popup button ([GH-114115](https://github.com/godotengine/godot/pull/114115)). +- Fix FileDialog relative paths ([GH-114120](https://github.com/godotengine/godot/pull/114120)). +- Revert Tree item drawing changes ([GH-114122](https://github.com/godotengine/godot/pull/114122)). +- Fix changing directory in FileDialog ([GH-114177](https://github.com/godotengine/godot/pull/114177)). +- Use EditorFileDialog everywhere in the editor ([GH-114178](https://github.com/godotengine/godot/pull/114178)). +- Remove leftover print line from `TextServer` ([GH-114183](https://github.com/godotengine/godot/pull/114183)). +- Fix `PopupMenu::_pre_popup` crash outside the tree ([GH-114187](https://github.com/godotengine/godot/pull/114187)). +- TextServer: Fix line wrapping underflow ([GH-114189](https://github.com/godotengine/godot/pull/114189)). +- Automatically Resample CanvasItems in Scene Editor ([GH-114200](https://github.com/godotengine/godot/pull/114200)). +- Fix content margins of the editor runbar in modern theme ([GH-114259](https://github.com/godotengine/godot/pull/114259)). +- Fix background color of complex dialog windows in modern theme ([GH-114290](https://github.com/godotengine/godot/pull/114290)). +- Improve the look of inner tabs in modern theme ([GH-114392](https://github.com/godotengine/godot/pull/114392)). +- Fix background color of EditorInspectorArray ([GH-114394](https://github.com/godotengine/godot/pull/114394)). +- Fix `ScrollBar` not accepting `InputEventPanGesture` ([GH-114398](https://github.com/godotengine/godot/pull/114398)). +- Fix TextEdit moving caret word left/right can hide the caret ([GH-114404](https://github.com/godotengine/godot/pull/114404)). +- Fix binary BMFont flags handling ([GH-114412](https://github.com/godotengine/godot/pull/114412)). +- Make PopupMenu shrinking configurable ([GH-114438](https://github.com/godotengine/godot/pull/114438)). +- a11y: Only support blur and focus actions on widgets that are actually focusable ([GH-114444](https://github.com/godotengine/godot/pull/114444)). +- a11y: Add accessible name to resizable splitters ([GH-114445](https://github.com/godotengine/godot/pull/114445)). +- Fix visibility of shader node separators in modern theme ([GH-114501](https://github.com/godotengine/godot/pull/114501)). +- Fix color picker mode tabs in modern theme ([GH-114506](https://github.com/godotengine/godot/pull/114506)). +- Use dedicated canvas item to properly cull tree items ([GH-114572](https://github.com/godotengine/godot/pull/114572)). +- Fix `Tree` items ignoring inner margins ([GH-114703](https://github.com/godotengine/godot/pull/114703)). +- Fix incorrect position of icons in `ItemList` when on top mode ([GH-114709](https://github.com/godotengine/godot/pull/114709)). +- Accessibility: Force keyboard focus to the exclusive child ([GH-114722](https://github.com/godotengine/godot/pull/114722)). +- Fix text in `ItemList` being cutoff when it shouldn't ([GH-114741](https://github.com/godotengine/godot/pull/114741)). +- Fix PopupMenu size scaling again ([GH-114744](https://github.com/godotengine/godot/pull/114744)). +- Add color theme for scroll hints ([GH-114751](https://github.com/godotengine/godot/pull/114751)). +- Fix problems with popup menus for `Tree`'s range items ([GH-114760](https://github.com/godotengine/godot/pull/114760)). +- Fix TextEdit Shift+Click selection start position ([GH-114772](https://github.com/godotengine/godot/pull/114772)). +- Fix GraphFrame titlebar incorrect sizing with custom stylebox ([GH-114783](https://github.com/godotengine/godot/pull/114783)). +- Fix accessibility name when right slot is enabled in `GraphNode` ([GH-114789](https://github.com/godotengine/godot/pull/114789)). +- Fix OptionButton PopupMenu not shrinking after item changes ([GH-114806](https://github.com/godotengine/godot/pull/114806)). +- Scene: Fix `LineEdit.set_editable` to capture text focus when enabled ([GH-114847](https://github.com/godotengine/godot/pull/114847)). +- Add missing mirrored button styles in modern theme ([GH-114871](https://github.com/godotengine/godot/pull/114871)). +- Don't tint menu button icons in context toolbar ([GH-114874](https://github.com/godotengine/godot/pull/114874)). +- Fix VCS plugin icons ([GH-114882](https://github.com/godotengine/godot/pull/114882)). +- Fix editor ColorPicker icon scale ([GH-114938](https://github.com/godotengine/godot/pull/114938)). +- Fix wrong offset for `TabBar` with hidden tabs ([GH-114952](https://github.com/godotengine/godot/pull/114952)). +- Remove clip ignore from Tree background ([GH-115074](https://github.com/godotengine/godot/pull/115074)). +- Process system events during boot splash wait time ([GH-115118](https://github.com/godotengine/godot/pull/115118)). +- Remove experimental flags from graph nodes ([GH-115181](https://github.com/godotengine/godot/pull/115181)). +- Don't force list icon size in EditorFileDialog ([GH-115330](https://github.com/godotengine/godot/pull/115330)). #### I18n -- Add translation preview in editor ([GH-96921](https://github.com/godotengine/godot/pull/96921)). -- Enable changing editor language without restart ([GH-102562](https://github.com/godotengine/godot/pull/102562)). -- Don't send `TRANSLATION_CHANGED` outside tree ([GH-102585](https://github.com/godotengine/godot/pull/102585)). -- Split repeated translation in Game plugin ([GH-102666](https://github.com/godotengine/godot/pull/102666)). -- Split repeated translation for floating windows ([GH-102709](https://github.com/godotengine/godot/pull/102709)). -- Fix some i18n issues in visual shader editor ([GH-103756](https://github.com/godotengine/godot/pull/103756)). -- ScriptEditor: Disable auto translation of the filename label ([GH-103842](https://github.com/godotengine/godot/pull/103842)). -- Fix Android build template message translation ([GH-104151](https://github.com/godotengine/godot/pull/104151)). -- Tweak a few miscellaneous localization strings ([GH-104377](https://github.com/godotengine/godot/pull/104377)). -- Improve auto-translation for static strings in docks ([GH-104584](https://github.com/godotengine/godot/pull/104584)). -- Fix editor layout direction change on translation change ([GH-104698](https://github.com/godotengine/godot/pull/104698)). -- Inspector localization improvements ([GH-104701](https://github.com/godotengine/godot/pull/104701)). -- Fix updating editor icons on translation change ([GH-104703](https://github.com/godotengine/godot/pull/104703)). -- Improve Project Manager auto-translation ([GH-104845](https://github.com/godotengine/godot/pull/104845)). -- Improve EditorAbout dialog auto-translation ([GH-105297](https://github.com/godotengine/godot/pull/105297)). -- Improve AssetLib auto-translation ([GH-105519](https://github.com/godotengine/godot/pull/105519)). -- Improve SceneTree auto-translation. Fix TreeItem tooltips and the Filter ([GH-105578](https://github.com/godotengine/godot/pull/105578)). -- Fix double translations in Project Manager ([GH-105905](https://github.com/godotengine/godot/pull/105905)). -- Improve auto-translation of settings dialogs ([GH-106249](https://github.com/godotengine/godot/pull/106249)). -- Fix i18n for array property custom add button text ([GH-106579](https://github.com/godotengine/godot/pull/106579)). -- Don't update scene tree when calling `Translation::set_locale()` ([GH-106855](https://github.com/godotengine/godot/pull/106855)). -- Fix category names in help search dialog not translated ([GH-106893](https://github.com/godotengine/godot/pull/106893)). -- Improve auto-translation of main screens ([GH-106943](https://github.com/godotengine/godot/pull/106943)). -- Improve auto-translation of Script Editor ([GH-106946](https://github.com/godotengine/godot/pull/106946)). -- Improve auto-translation of editor's top & bottom bars ([GH-107624](https://github.com/godotengine/godot/pull/107624)). -- Mark GDScript and shader warnings for translation ([GH-107944](https://github.com/godotengine/godot/pull/107944)). -- Add Japanese translation for Linux .desktop file ([GH-107964](https://github.com/godotengine/godot/pull/107964)). -- Add Polish translation for Linux .desktop file ([GH-107991](https://github.com/godotengine/godot/pull/107991)). -- Fix root auto-translate mode ignored for child nodes when generating POT ([GH-108772](https://github.com/godotengine/godot/pull/108772)). -- Disable auto translation of flag names in the inspector ([GH-109294](https://github.com/godotengine/godot/pull/109294)). +- Improve auto-translation of the rendering method selector ([GH-107795](https://github.com/godotengine/godot/pull/107795)). +- Clean up editor translation related methods ([GH-107999](https://github.com/godotengine/godot/pull/107999)). +- Improve auto-translation of Debugger ([GH-108457](https://github.com/godotengine/godot/pull/108457)). +- Move context and plural support to `Translation` ([GH-108862](https://github.com/godotengine/godot/pull/108862)). +- Improve auto-translation of the replication editor ([GH-109153](https://github.com/godotengine/godot/pull/109153)). +- Use `language` command line argument to override editor locale ([GH-110318](https://github.com/godotengine/godot/pull/110318)). +- Improve auto-translation of `SpriteFramesEditor` ([GH-111284](https://github.com/godotengine/godot/pull/111284)). +- Improve POT generator ([GH-111285](https://github.com/godotengine/godot/pull/111285)). +- Fix some easing presets not translated ([GH-111473](https://github.com/godotengine/godot/pull/111473)). +- Use more practical default plural rules ([GH-112026](https://github.com/godotengine/godot/pull/112026)). +- Improve CSV translations ([GH-112073](https://github.com/godotengine/godot/pull/112073)). +- Add CSV translation template generation ([GH-112149](https://github.com/godotengine/godot/pull/112149)). +- Make editor language setting default to Auto ([GH-112317](https://github.com/godotengine/godot/pull/112317)). +- Allow localizing the application name with project translations ([GH-112415](https://github.com/godotengine/godot/pull/112415)). +- Add methods for querying loaded `Translation` instances ([GH-112577](https://github.com/godotengine/godot/pull/112577)). +- Remove `TranslationPO` ([GH-112793](https://github.com/godotengine/godot/pull/112793)). +- Prevent the main locale from being set to an empty string ([GH-112899](https://github.com/godotengine/godot/pull/112899)). +- Fix dock window titles not being translated ([GH-113688](https://github.com/godotengine/godot/pull/113688)). +- Translate error names when displayed in dialogs ([GH-114152](https://github.com/godotengine/godot/pull/114152)). +- Fix some invalid translation usages ([GH-114405](https://github.com/godotengine/godot/pull/114405)). +- Editor: Disable auto translation for layer names in EditorPropertyLayers ([GH-114647](https://github.com/godotengine/godot/pull/114647)). #### Import -- Fix Texture3D import not working ([GH-92344](https://github.com/godotengine/godot/pull/92344)). -- Implement `KHR_node_visibility` in the GLTF module ([GH-93722](https://github.com/godotengine/godot/pull/93722)). -- Fix resetting imported scene parameters to default ([GH-98014](https://github.com/godotengine/godot/pull/98014)). -- Add Channel Remap settings to ResourceImporterTexture ([GH-99676](https://github.com/godotengine/godot/pull/99676)). -- Support multi dot extensions in import plugins ([GH-100086](https://github.com/godotengine/godot/pull/100086)). -- Use UIDs in addition to paths for extracted meshes, materials and animations ([GH-100786](https://github.com/godotengine/godot/pull/100786)). -- GLTF: Only pad zeros when exporting numbered images ([GH-101270](https://github.com/godotengine/godot/pull/101270)). -- GLTF: Don't write unused `"targetNames"` on meshes ([GH-101275](https://github.com/godotengine/godot/pull/101275)). -- DDS: Prevent crashing when unable to load image ([GH-101834](https://github.com/godotengine/godot/pull/101834)). -- ufbx: Update to 0.17.1 ([GH-102538](https://github.com/godotengine/godot/pull/102538)). -- Betsy: Remove OGRE aliases ([GH-102667](https://github.com/godotengine/godot/pull/102667)). -- Increase size of Offset field in audio import dialog ([GH-103029](https://github.com/godotengine/godot/pull/103029)). -- Disable `ResourceFormatLoader/Saver`s of disabled classes ([GH-103099](https://github.com/godotengine/godot/pull/103099)). -- bcdec: Fix decompressing mipmaps of non-power of 2 textures ([GH-103276](https://github.com/godotengine/godot/pull/103276)). -- GLTF: Use scene root nodes for root nodes, don't include orphan nodes ([GH-103332](https://github.com/godotengine/godot/pull/103332)). -- Fix headless import always emits errors ([GH-103403](https://github.com/godotengine/godot/pull/103403)). -- Allow attaching scripts to nodes in the Advanced Import Settings dialog ([GH-103418](https://github.com/godotengine/godot/pull/103418)). -- Delete rendering device on the same thread it was created ([GH-103521](https://github.com/godotengine/godot/pull/103521)). -- etcpak: Improve and fix decompression of mipmaps ([GH-103573](https://github.com/godotengine/godot/pull/103573)). -- Fix Image format RGB565 conversion and rendering ([GH-103635](https://github.com/godotengine/godot/pull/103635)). -- Improve error message when trying to load scene as an animation library ([GH-103678](https://github.com/godotengine/godot/pull/103678)). -- Make build profile project detection also set build options ([GH-103719](https://github.com/godotengine/godot/pull/103719)). -- BasisUniversal: Ensure ASTC's HDR variant is supported when transcoding ([GH-103766](https://github.com/godotengine/godot/pull/103766)). -- GLTF: Fix wrong color space for GLTFLight on export ([GH-103853](https://github.com/godotengine/godot/pull/103853)). -- basis_universal: Update to 1.60 ([GH-103968](https://github.com/godotengine/godot/pull/103968)). -- ResourceLoader: Do not wait for the main thread during initial reimport ([GH-104013](https://github.com/godotengine/godot/pull/104013)). -- Add named placeholder to blender import options ([GH-104025](https://github.com/godotengine/godot/pull/104025)). -- GLTF: Don't collapse non-joint leaf nodes when importing skeletons ([GH-104184](https://github.com/godotengine/godot/pull/104184)). -- Update BoneAttachment3D transform when setting the bone index ([GH-104209](https://github.com/godotengine/godot/pull/104209)). -- Force multiple of 4 sizes for Betsy compressor ([GH-104275](https://github.com/godotengine/godot/pull/104275)). -- Update Mipmaps > Limit import option visibility when intended in the texture importer ([GH-104325](https://github.com/godotengine/godot/pull/104325)). -- Use libjpeg-turbo for improved jpg compatibility and speed ([GH-104347](https://github.com/godotengine/godot/pull/104347)). -- Fix crash when reimporting nested gltf scenes ([GH-104384](https://github.com/godotengine/godot/pull/104384)). -- Update astcenc to the upstream 5.3.0 release ([GH-104462](https://github.com/godotengine/godot/pull/104462)). -- Force multiple of 4 sizes for CVTT compressor ([GH-104575](https://github.com/godotengine/godot/pull/104575)). -- Load decompressable texture format if no supported one is found ([GH-104590](https://github.com/godotengine/godot/pull/104590)). -- Don't show toasts for textures detected as used in 3D/normal/roughness ([GH-104667](https://github.com/godotengine/godot/pull/104667)). -- GLTF: Fix `export_post_convert` not running for multi-root scenes ([GH-104713](https://github.com/godotengine/godot/pull/104713)). -- GLTF: Fix importing files with invalid buffer view byte strides ([GH-104780](https://github.com/godotengine/godot/pull/104780)). -- GLTF export: Allow using a PNG or JPEG fallback image ([GH-104784](https://github.com/godotengine/godot/pull/104784)). -- PortableCompressedTexture: Fix BasisU crash and wrong format ([GH-105005](https://github.com/godotengine/godot/pull/105005)). -- PortableCompressedTexture: Support ASTC format and creating directly from compressed image ([GH-105006](https://github.com/godotengine/godot/pull/105006)). -- Allow completely opting out of name suffix magic in 3D scene import ([GH-105014](https://github.com/godotengine/godot/pull/105014)). -- BasisU: Use KTX2 format and add import options to configure encoder ([GH-105080](https://github.com/godotengine/godot/pull/105080)). -- Fix incorrect mipmap size calculation for uncompressed DDS textures ([GH-105193](https://github.com/godotengine/godot/pull/105193)). -- Fix importing compressed dds textures with non-power-of-two width or height ([GH-105200](https://github.com/godotengine/godot/pull/105200)). -- Remove old oversampling property from font importers ([GH-105400](https://github.com/godotengine/godot/pull/105400)). -- Fix `is_pixel_opaque` bound checks ([GH-105561](https://github.com/godotengine/godot/pull/105561)). -- Add `SVGTexture` importer ([GH-105655](https://github.com/godotengine/godot/pull/105655)). -- Explicitly handle Image AlphaMode enum instead of treating as bool ([GH-105722](https://github.com/godotengine/godot/pull/105722)). -- Fix fbx runtime import not generating meshes properly ([GH-105787](https://github.com/godotengine/godot/pull/105787)). -- DDS: Load BGRA4 textures directly as RGBA4 ([GH-106055](https://github.com/godotengine/godot/pull/106055)). -- Fix loading BPTC/ASTC textures on devices that don't support them ([GH-106085](https://github.com/godotengine/godot/pull/106085)). -- BasisU: Configure HDR quality from the settings ([GH-106110](https://github.com/godotengine/godot/pull/106110)). -- GLTF: Support 64-bit sizes in glTF import and export ([GH-106220](https://github.com/godotengine/godot/pull/106220)). -- Fix libjpeg-turbo not working on 32-bit builds ([GH-106380](https://github.com/godotengine/godot/pull/106380)). -- Check if import script is subtype of EditorScenePostImport ([GH-106403](https://github.com/godotengine/godot/pull/106403)). -- Expand the imported texture channel count for remapping if necessary ([GH-106437](https://github.com/godotengine/godot/pull/106437)). -- Use vertex colors (if present) as attributes during simplification ([GH-106446](https://github.com/godotengine/godot/pull/106446)). -- Image: Fix detecting color channels ([GH-106486](https://github.com/godotengine/godot/pull/106486)). -- GLTF: Make skeleton bone names unique per-skeleton instead of scene-wide ([GH-106537](https://github.com/godotengine/godot/pull/106537)). -- Adjust LOD selection metrics to use attribute error ([GH-106562](https://github.com/godotengine/godot/pull/106562)). -- Add DDS loading of 32bit aligned data without alpha ([GH-106572](https://github.com/godotengine/godot/pull/106572)). -- Relax the requirements for making `EditorImportPlugin` ([GH-106678](https://github.com/godotengine/godot/pull/106678)). -- GLTF: Don't export AnimationPlayer nodes as glTF nodes ([GH-106803](https://github.com/godotengine/godot/pull/106803)). -- Implement UID references in VariantParser ([GH-106902](https://github.com/godotengine/godot/pull/106902)). -- Make svg files respect `interface/theme/icon_saturation` setting when imported for editor use ([GH-107051](https://github.com/godotengine/godot/pull/107051)). -- [Image font import] Allow comma separated lists as a character range ([GH-107111](https://github.com/godotengine/godot/pull/107111)). -- GLTF: Align accessor buffer `byteOffset` to multiple of component size ([GH-107193](https://github.com/godotengine/godot/pull/107193)). -- GLTF: Don't save unnecessary zero "byteOffset" on export ([GH-107194](https://github.com/godotengine/godot/pull/107194)). -- Restore 3.x style material auto-extraction import option ([GH-107211](https://github.com/godotengine/godot/pull/107211)). -- Implement naming version system for FBX and Blend importers like glTF ([GH-107352](https://github.com/godotengine/godot/pull/107352)). -- Fix deadlock in `EditorFileSystem::reimport_files` ([GH-107620](https://github.com/godotengine/godot/pull/107620)). -- DDS: Fix loading cubemaps ([GH-107971](https://github.com/godotengine/godot/pull/107971)). -- meshoptimizer: Update to 0.24 ([GH-108027](https://github.com/godotengine/godot/pull/108027)). -- GLTF: Fix nasty bug with incorrect buffer indices on export ([GH-108302](https://github.com/godotengine/godot/pull/108302)). -- Fix incorrect light values on blend import ([GH-108356](https://github.com/godotengine/godot/pull/108356)). -- Fix all asset reimport on missing filesystem_cache10 ([GH-108474](https://github.com/godotengine/godot/pull/108474)). -- Fix allow any descendant to be used as a Root Type in Scene Import ([GH-108810](https://github.com/godotengine/godot/pull/108810)). -- Fix Editor crash during first scan in headless import mode ([GH-108992](https://github.com/godotengine/godot/pull/108992)). -- GLTF: Fix minor niche edge case issues with accessors ([GH-109102](https://github.com/godotengine/godot/pull/109102)). -- Prevent generating Editor 3D scene preview in headless mode ([GH-109116](https://github.com/godotengine/godot/pull/109116)). -- Fix `Image` nearest and cubic resizing bias ([GH-109123](https://github.com/godotengine/godot/pull/109123)). -- Dedupe images during GLTF Export ([GH-109181](https://github.com/godotengine/godot/pull/109181)). -- GLTF: Fix crash reading texture sampler for non-existent texture ([GH-109625](https://github.com/godotengine/godot/pull/109625)). -- ImporterMesh: Validate triangle indices array size is a multiple of 3 ([GH-109666](https://github.com/godotengine/godot/pull/109666)). -- Fix infinite loop in GLTFDocument::_convert_animation_node_track ([GH-109685](https://github.com/godotengine/godot/pull/109685)). +- Tweak physics property hints in the 3D Advanced Import Settings dialog ([GH-73688](https://github.com/godotengine/godot/pull/73688)). +- Blender import: Correct exit code on Python exception ([GH-94873](https://github.com/godotengine/godot/pull/94873)). +- Default mjpeg avi movie writer to 16 bit audio and add an editor option so it can still write 32 bit ([GH-104951](https://github.com/godotengine/godot/pull/104951)). +- Fix texture atlas import deadlock by keeping `group_file=` on failed `import_file()` attempts ([GH-106532](https://github.com/godotengine/godot/pull/106532)). +- GLTF: Allow parsing glTF files without nodes ([GH-107836](https://github.com/godotengine/godot/pull/107836)). +- Remove ResourceImporterScene singletons in favor of local usage ([GH-107855](https://github.com/godotengine/godot/pull/107855)). +- Improve the cubemap preview ([GH-107975](https://github.com/godotengine/godot/pull/107975)). +- GLTF: Move accessor and buffer view Dictionary conversion into those classes ([GH-108320](https://github.com/godotengine/godot/pull/108320)). +- GLTF: Move accessor encoding functions to GLTFAccessor ([GH-108853](https://github.com/godotengine/godot/pull/108853)). +- GLTF: Move accessor decoding functions to GLTFAccessor ([GH-109103](https://github.com/godotengine/godot/pull/109103)). +- Material Conversion Error Handling ([GH-109369](https://github.com/godotengine/godot/pull/109369)). +- GLTF: Preserve mesh names on export ([GH-109421](https://github.com/godotengine/godot/pull/109421)). +- GLTF: Make handle binary image mode enum type-safe ([GH-109446](https://github.com/godotengine/godot/pull/109446)). +- Preserve mesh, material, and texture names in GLTF export ([GH-109475](https://github.com/godotengine/godot/pull/109475)). +- Betsy: Generate BC1 table cache during compression ([GH-109725](https://github.com/godotengine/godot/pull/109725)). +- Fix hang when importing blender files in headless mode ([GH-109944](https://github.com/godotengine/godot/pull/109944)). +- Update meshoptimizer to v0.25 ([GH-109990](https://github.com/godotengine/godot/pull/109990)). +- Use regularization flag for LODs of deformable objects to improve appearance post deformation ([GH-109992](https://github.com/godotengine/godot/pull/109992)). +- Switch LOD generation to use iterative simplification ([GH-110027](https://github.com/godotengine/godot/pull/110027)). +- Enable component pruning during mesh simplification ([GH-110028](https://github.com/godotengine/godot/pull/110028)). +- Betsy: Convert RGB to RGBA on the GPU for faster compression ([GH-110060](https://github.com/godotengine/godot/pull/110060)). +- Image: Fix normalization of mipmaps for half and float formats ([GH-110308](https://github.com/godotengine/godot/pull/110308)). +- OBJ importer: Support bump multiplier (normal scale) ([GH-110925](https://github.com/godotengine/godot/pull/110925)). +- Use const ref parameters in the GLTF module ([GH-110949](https://github.com/godotengine/godot/pull/110949)). +- GLTF: Support animating node visibility ([GH-111341](https://github.com/godotengine/godot/pull/111341)). +- Fix segfault in `GLTFDocument::export_object_model_property` ([GH-111389](https://github.com/godotengine/godot/pull/111389)). +- Scene importer: Fix skeleton path when physics body type is dynamic ([GH-111507](https://github.com/godotengine/godot/pull/111507)). +- GLTF: Write integer min/max for integer accessors ([GH-111612](https://github.com/godotengine/godot/pull/111612)). +- GLTF: Determine the component type when encoding object model properties ([GH-111613](https://github.com/godotengine/godot/pull/111613)). +- GLTF: Enforce `STEP` interpolation for integer and boolean animations ([GH-111615](https://github.com/godotengine/godot/pull/111615)). +- GLTF: Don't serialize empty material extensions ([GH-112137](https://github.com/godotengine/godot/pull/112137)). +- Don't assign a uid when copying resource file whose `importer` name is `keep` or `skip` ([GH-112337](https://github.com/godotengine/godot/pull/112337)). +- Check if scale/offset values are provided in gltf `KHR_texture_transform` ([GH-112852](https://github.com/godotengine/godot/pull/112852)). +- GLTF: Use `const Vector` internally instead of `TypedArray` copies ([GH-113172](https://github.com/godotengine/godot/pull/113172)). +- Allow converting from Mesh to ImporterMesh ([GH-113202](https://github.com/godotengine/godot/pull/113202)). +- Support MultiMesh objects in the scene Advanced Import Settings dialog ([GH-113206](https://github.com/godotengine/godot/pull/113206)). +- GLTF: Fix order of operations for buffers and accessors ([GH-113245](https://github.com/godotengine/godot/pull/113245)). +- Write to animation import settings only when needed to prevent bloating the .import file ([GH-114015](https://github.com/godotengine/godot/pull/114015)). +- GLTF: Fix emissive texture import when `emissiveFactor` is absent ([GH-114033](https://github.com/godotengine/godot/pull/114033)). +- GLTF: Duplicate images during serialization to prevent segfaults ([GH-114354](https://github.com/godotengine/godot/pull/114354)). +- Fix setting mesh blend shape properties in dummy mesh storage ([GH-114356](https://github.com/godotengine/godot/pull/114356)). +- Fix importing projects with PNG assets freezes Web Editor ([GH-114410](https://github.com/godotengine/godot/pull/114410)). +- GLTF: Fix getting animation track path ([GH-114581](https://github.com/godotengine/godot/pull/114581)). +- Default 3D model importer naming versions to the latest version ([GH-114659](https://github.com/godotengine/godot/pull/114659)). #### Input -- Allow all tool modes to select ([GH-87756](https://github.com/godotengine/godot/pull/87756)). -- Add configuration option to disable `Scroll Deadzone` on Android ([GH-96139](https://github.com/godotengine/godot/pull/96139)). -- Android: Enable support for volume button events ([GH-102984](https://github.com/godotengine/godot/pull/102984)). -- Fix Android mouse capture issues ([GH-103413](https://github.com/godotengine/godot/pull/103413)). -- Fix macOS mouse tracking in tooltip popups ([GH-103788](https://github.com/godotengine/godot/pull/103788)). -- Fix "Unicode parsing error" spam when opening editor ([GH-104107](https://github.com/godotengine/godot/pull/104107)). -- [macOS/iOS] Ensure only one axis change event is produced during single `process_joypads()` call ([GH-104314](https://github.com/godotengine/godot/pull/104314)). -- Fix EditorProperty shortcuts being global and unintentionally triggering ([GH-104485](https://github.com/godotengine/godot/pull/104485)). -- Support more controllers on macOS 11+ ([GH-104619](https://github.com/godotengine/godot/pull/104619)). -- macOS: Release keys and regenerate mouse events after native popup menu tracking ([GH-104644](https://github.com/godotengine/godot/pull/104644)). -- Fix Apple's incorrect mapping of Joy-Con (L) and Joy-Con (R) face buttons ([GH-104726](https://github.com/godotengine/godot/pull/104726)). -- macOS: Use productCategory instead of vendorName for joypad name ([GH-104894](https://github.com/godotengine/godot/pull/104894)). -- Adjust 2D select/move/rotate/scale shortcuts to match 3D ([GH-105208](https://github.com/godotengine/godot/pull/105208)). -- Android: Fix decimal keyboard ([GH-105301](https://github.com/godotengine/godot/pull/105301)). -- Fix `FOCUS_ACCESSIBILITY` grabbing focus when it is not supposed to, forward `GraphNode` key input to `GraphEdit` ([GH-105595](https://github.com/godotengine/godot/pull/105595)). -- Web: Avoid unnecessary gamepad polling when no gamepads are connected ([GH-105601](https://github.com/godotengine/godot/pull/105601)). -- macOS: Update entered state from `mouseMoved` ([GH-105822](https://github.com/godotengine/godot/pull/105822)). -- macOS: Embedded window support ([GH-105884](https://github.com/godotengine/godot/pull/105884)). -- iOS: Prevent startup crash with Input singleton null check ([GH-105953](https://github.com/godotengine/godot/pull/105953)). -- Fix issues with Android controller input handling ([GH-105992](https://github.com/godotengine/godot/pull/105992)). -- Fix added missing shortcuts from tree to file list ([GH-105997](https://github.com/godotengine/godot/pull/105997)). -- Fix Xbox Controller on Android ([GH-106021](https://github.com/godotengine/godot/pull/106021)). -- Optimize `InputMap::get_actions` ([GH-106209](https://github.com/godotengine/godot/pull/106209)). -- Add support for SDL3 joystick input driver for Windows, Linux and macOS ([GH-106218](https://github.com/godotengine/godot/pull/106218)). -- macOS: Process first click event without requiring focus ([GH-106317](https://github.com/godotengine/godot/pull/106317)). -- macOS: Send initial modifier keys as input events ([GH-106365](https://github.com/godotengine/godot/pull/106365)). -- Wayland: Fix stuck pointer buttons on window leave ([GH-106414](https://github.com/godotengine/godot/pull/106414)). -- Keep virtual keyboard visible when `keep_editing_on_text_submit` is enabled ([GH-106729](https://github.com/godotengine/godot/pull/106729)). -- Web: Add support for pen pressure ([GH-107136](https://github.com/godotengine/godot/pull/107136)). -- Allow numpad comma `,` to be used for 3D Blender-Style Transforms ([GH-107441](https://github.com/godotengine/godot/pull/107441)). -- Fix action name for `ui_colorpicker_delete_preset` in built-in InputMap ([GH-107471](https://github.com/godotengine/godot/pull/107471)). -- Fix `screen_accum` not being reset when it should be in `Input::VelocityTrack` ([GH-108005](https://github.com/godotengine/godot/pull/108005)). -- Web: Poll controllers only if at least one is detected ([GH-108007](https://github.com/godotengine/godot/pull/108007)). -- Fix `Input.get_joy_info()` regression after the SDL input driver PR ([GH-108214](https://github.com/godotengine/godot/pull/108214)). -- Android: Fix the EOF detection logic ([GH-108329](https://github.com/godotengine/godot/pull/108329)). -- Add environment variable access defines to SDL linux build config ([GH-108350](https://github.com/godotengine/godot/pull/108350)). -- Use inotify to detect devices for better reliability on Linux ([GH-108364](https://github.com/godotengine/godot/pull/108364)). -- Fix the usage of udev and dbus with SDL joystick input driver ([GH-108373](https://github.com/godotengine/godot/pull/108373)). -- macOS: Fix mouse enter/exit event and custom cursor shape in embedded game mode ([GH-108624](https://github.com/godotengine/godot/pull/108624)). -- Fix menu keyboard and controller navigation ([GH-108820](https://github.com/godotengine/godot/pull/108820)). -- Forward mouse events to embedded no-focus windows ([GH-109109](https://github.com/godotengine/godot/pull/109109)). -- Windows: Release mouse buttons after native window drag/resize operation ([GH-109300](https://github.com/godotengine/godot/pull/109300)). -- Fix shortcut reset for spatial_editor/tool_select ([GH-109539](https://github.com/godotengine/godot/pull/109539)). -- Add methods to check which event first triggered "just pressed/released" state ([GH-109540](https://github.com/godotengine/godot/pull/109540)). -- Handle SDL joypad events for connected controllers on game startup (on Windows and Linux) ([GH-109750](https://github.com/godotengine/godot/pull/109750)). -- Fix DirectInput controllers on game startup ([GH-109819](https://github.com/godotengine/godot/pull/109819)). -- fix: macOS cmd + drag snapping not working for 3D editor Move, Rotate and Scale tool ([GH-110068](https://github.com/godotengine/godot/pull/110068)). +- Clean up and simplify camera override API ([GH-52285](https://github.com/godotengine/godot/pull/52285)). +- Add shortcuts to reset position, rotation and scale in Spatial and Canvas Item Editor ([GH-102888](https://github.com/godotengine/godot/pull/102888)). +- Add ability to add new EditorSettings shortcuts ([GH-102889](https://github.com/godotengine/godot/pull/102889)). +- Fix cannot input Chinese after restarting the input method on X11 ([GH-103749](https://github.com/godotengine/godot/pull/103749)). +- Remove the need to have a display name for built-in action overrides ([GH-107487](https://github.com/godotengine/godot/pull/107487)). +- Fix modifier order in keycode string generation ([GH-108260](https://github.com/godotengine/godot/pull/108260)). +- Use safe ObjectID for mouse over controls ([GH-109063](https://github.com/godotengine/godot/pull/109063)). +- Fix Android back gesture failing after keyboard dismissal ([GH-110127](https://github.com/godotengine/godot/pull/110127)). +- Fix out of control area mouse events crash, if nothing have mouse focus ([GH-110162](https://github.com/godotengine/godot/pull/110162)). +- macOS: Remove old embedded window joystick init code ([GH-110491](https://github.com/godotengine/godot/pull/110491)). +- macOS: Use `productCategory` instead of `vendorName` for joypad name in SDL ([GH-110500](https://github.com/godotengine/godot/pull/110500)). +- Fix the bug causing `java.lang.StringIndexOutOfBoundsException` crashes when showing the virtual keyboard ([GH-110611](https://github.com/godotengine/godot/pull/110611)). +- Allow all gamepad devices for built-in `ui_*` input actions ([GH-110823](https://github.com/godotengine/godot/pull/110823)). +- Fix weak and strong joypad vibration being swapped ([GH-111191](https://github.com/godotengine/godot/pull/111191)). +- Fix invalid reported joypad presses ([GH-111192](https://github.com/godotengine/godot/pull/111192)). +- Fix `Input.is_joy_known` response for SDL joypads ([GH-111503](https://github.com/godotengine/godot/pull/111503)). +- Add support for setting a joypad's LED light color ([GH-111681](https://github.com/godotengine/godot/pull/111681)). +- Support adding advanced joypad features ([GH-111707](https://github.com/godotengine/godot/pull/111707)). +- Fix not releasing action when actions are erased ([GH-111747](https://github.com/godotengine/godot/pull/111747)). +- X11: Fix `keyboard_get_label_from_physical` errors when used on key without label ([GH-111795](https://github.com/godotengine/godot/pull/111795)). +- macOS: Fix mouse enter events sent to wrong popup window ([GH-112383](https://github.com/godotengine/godot/pull/112383)). +- Android: Fix crash when gamepad connects immediately upon app startup ([GH-112760](https://github.com/godotengine/godot/pull/112760)). +- Android: Improve D-pad support for Default Android Gamepad ([GH-112762](https://github.com/godotengine/godot/pull/112762)). +- Fix emulated touch events using the incorrect window ID ([GH-112995](https://github.com/godotengine/godot/pull/112995)). +- Fix assertions against buffer overruns in `input_event_codec.cpp` ([GH-113028](https://github.com/godotengine/godot/pull/113028)). +- Avoid nested parentheses in physical/Unicode InputEventKey text conversion ([GH-113418](https://github.com/godotengine/godot/pull/113418)). +- X11: Fix input delay regression ([GH-113537](https://github.com/godotengine/godot/pull/113537)). +- Do not show `Physical` in the special key names ([GH-113553](https://github.com/godotengine/godot/pull/113553)). +- Fix Android fingerprint scanners being recognized as joypads ([GH-114334](https://github.com/godotengine/godot/pull/114334)). +- Fix Android joypad triggers range ([GH-114363](https://github.com/godotengine/godot/pull/114363)). +- Change return type for `Input.set_joy_light()` from `bool` to `void` ([GH-114851](https://github.com/godotengine/godot/pull/114851)). +- Wayland: Fix IME ([GH-115090](https://github.com/godotengine/godot/pull/115090)). #### Multiplayer -- Add `MultiplayerSpawner` unit tests ([GH-99101](https://github.com/godotengine/godot/pull/99101)). -- Fix node cache errors on nested MultiplayerSpawners ([GH-101416](https://github.com/godotengine/godot/pull/101416)). -- Expose `get_rpc_config` and `get_node_rpc_config` ([GH-106848](https://github.com/godotengine/godot/pull/106848)). +- Improve RPC Error messages ([GH-109216](https://github.com/godotengine/godot/pull/109216)). +- Remove `_spawn_custom` from error message ([GH-111983](https://github.com/godotengine/godot/pull/111983)). #### Navigation -- Make `get_id_path` return empty when first point is disabled ([GH-86983](https://github.com/godotengine/godot/pull/86983)). -- Increase NavigationLink3D gizmo detail to match other circle/sphere 3D gizmos ([GH-101411](https://github.com/godotengine/godot/pull/101411)). -- Create a dedicated 2D navigation server ([GH-101504](https://github.com/godotengine/godot/pull/101504)). -- Rename classes in preparation for future restructure ([GH-102100](https://github.com/godotengine/godot/pull/102100)). -- Add path query region filters ([GH-102766](https://github.com/godotengine/godot/pull/102766)). -- Add navigation path query parameter limits ([GH-102767](https://github.com/godotengine/godot/pull/102767)). -- Make NavigationLink3D properly update on visibility change ([GH-103588](https://github.com/godotengine/godot/pull/103588)). -- Fix navmesh `border_size` precision warnings ([GH-103735](https://github.com/godotengine/godot/pull/103735)). -- Fix visible avoidance debug rendering in NavigationRegion2D ([GH-103784](https://github.com/godotengine/godot/pull/103784)). -- Move navmesh connection owner check to subfunction ([GH-104002](https://github.com/godotengine/godot/pull/104002)). -- Add bake state info and MultiNodeEdit support for NavigationRegion3D ([GH-104210](https://github.com/godotengine/godot/pull/104210)). -- Emit `changed` signal after baking navigation mesh ([GH-104242](https://github.com/godotengine/godot/pull/104242)). -- Allow to compile templates without navigation features ([GH-104811](https://github.com/godotengine/godot/pull/104811)). -- Add function to get navigation region iteration id from NavigationServer ([GH-104826](https://github.com/godotengine/godot/pull/104826)). -- Fix typo in performance ([GH-104829](https://github.com/godotengine/godot/pull/104829)). -- Prepare NavigationServer for `process()` and `physics_process()` split ([GH-104862](https://github.com/godotengine/godot/pull/104862)). -- Change navigation module LocalVector `size_t` uses to `uint32_t` ([GH-104896](https://github.com/godotengine/godot/pull/104896)). -- Replace the deprecated `Geometry2D::get_closest_point_to_segment` ([GH-104903](https://github.com/godotengine/godot/pull/104903)). -- Move NavigationServer navmesh sync from `main()` to `process()` ([GH-105067](https://github.com/godotengine/godot/pull/105067)). -- Make navigation maps emit `map_changed` directly ([GH-105071](https://github.com/godotengine/godot/pull/105071)). -- Clean and group NavigationServer headers ([GH-105105](https://github.com/godotengine/godot/pull/105105)). -- Replace NavigationServer2D `Point` struct with `Vector2` ([GH-105252](https://github.com/godotengine/godot/pull/105252)). -- Replace NavigationServer3D `Point` struct with `Vector3` ([GH-105253](https://github.com/godotengine/godot/pull/105253)). -- Remove no longer needed link polygons from NavMapBuilder ([GH-105257](https://github.com/godotengine/godot/pull/105257)). -- Move `NavigationObstacle3DEditorPlugin` to `navigation_3d` module ([GH-105588](https://github.com/godotengine/godot/pull/105588)). -- Rename `NavigationMeshEditor` to `NavigationRegion3DEditor` ([GH-105592](https://github.com/godotengine/godot/pull/105592)). -- Move `NavigationRegion3DGizmoPlugin` to `navigation_3d` module ([GH-105593](https://github.com/godotengine/godot/pull/105593)). -- Move `NavigationLink3DGizmoPlugin` to `navigation_3d` module ([GH-105594](https://github.com/godotengine/godot/pull/105594)). -- Remove `AStar2D/3D` comments on `reserve_space()` capacity needs ([GH-105631](https://github.com/godotengine/godot/pull/105631)). -- Capitalize global navigation constants ([GH-105718](https://github.com/godotengine/godot/pull/105718)). -- Add function to get navigation link iteration id from NavigationServer ([GH-105765](https://github.com/godotengine/godot/pull/105765)). -- Move 2d navigation related editor plugins to `navigation_2d` module ([GH-106188](https://github.com/godotengine/godot/pull/106188)). -- Rename `nav_2d` namespace to `Nav2D` to match `Nav3D` ([GH-106329](https://github.com/godotengine/godot/pull/106329)). -- Change 3D navigation region and link updates to an async process ([GH-106670](https://github.com/godotengine/godot/pull/106670)). -- Match avoidance defaults for NavigationAgent and NavigationServer NavAgent ([GH-107255](https://github.com/godotengine/godot/pull/107255)). -- Change `NavigationServer2D` avoidance callbacks from `Vector3` to `Vector2` ([GH-107256](https://github.com/godotengine/godot/pull/107256)). -- Fix CapsuleShape2D outline for navmesh baking ([GH-107263](https://github.com/godotengine/godot/pull/107263)). -- Change 2D navigation region and link updates to an async process ([GH-107381](https://github.com/godotengine/godot/pull/107381)). -- Only repath a NavigationAgent with a target position ([GH-107513](https://github.com/godotengine/godot/pull/107513)). -- Remove `get_used_cells` to avoid unnecessary allocations in navigation baking ([GH-107559](https://github.com/godotengine/godot/pull/107559)). -- NavigationServer2D: Bind missing `merge_rasterizer_cell_scale` setting and functions ([GH-107802](https://github.com/godotengine/godot/pull/107802)). -- NavMap3D: check if obstacles have avoidance enabled ([GH-108281](https://github.com/godotengine/godot/pull/108281)). -- NavMap2D: check if obstacles have avoidance enabled ([GH-108284](https://github.com/godotengine/godot/pull/108284)). -- Add a way to filter neighbor points to AStar2D/3D ([GH-108843](https://github.com/godotengine/godot/pull/108843)). -- Fix flipped clipper2 ifdef ([GH-108912](https://github.com/godotengine/godot/pull/108912)). -- Fix path post-processing edgecentered ([GH-109196](https://github.com/godotengine/godot/pull/109196)). +- Make NavigationServer backend engine selectable ([GH-106290](https://github.com/godotengine/godot/pull/106290)). +- Navigation 2D: Fix sign of cross product ([GH-110815](https://github.com/godotengine/godot/pull/110815)). +- Make navmesh rasterization errors more lenient ([GH-110841](https://github.com/godotengine/godot/pull/110841)). +- Fix build error when Navigation 2D is disabled ([GH-113471](https://github.com/godotengine/godot/pull/113471)). +- Fix `AStar`s to return empty path for disabled `from` point ([GH-113988](https://github.com/godotengine/godot/pull/113988)). +- Preserve winding order for transformed tiles' navigation polygons ([GH-114742](https://github.com/godotengine/godot/pull/114742)). #### Network -- JSONRPC: Require manual method registration ([GH-104890](https://github.com/godotengine/godot/pull/104890)). -- JSONRPC: Fix notification return behavior ([GH-104939](https://github.com/godotengine/godot/pull/104939)). -- Web: Avoid extra copy when encoding string in WebSocket `_onmessage` ([GH-105571](https://github.com/godotengine/godot/pull/105571)). -- mbedTLS: Fix concurrency issues with TLS ([GH-106167](https://github.com/godotengine/godot/pull/106167)). -- Fix EditorSettings usage in TLSContext ([GH-108060](https://github.com/godotengine/godot/pull/108060)). -- mbedTLS: Update to version 3.6.4, fixes GCC 15 compatibility ([GH-108371](https://github.com/godotengine/godot/pull/108371)). +- Make HTTPRequest 301 and 302 redirects standards-compliant ([GH-91199](https://github.com/godotengine/godot/pull/91199)). +- Add unit tests for `StreamPeerTCP` ([GH-102064](https://github.com/godotengine/godot/pull/102064)). +- Add Core UNIX domain socket support ([GH-107954](https://github.com/godotengine/godot/pull/107954)). +- Unix: Don't print an error if `bind` fails ([GH-111300](https://github.com/godotengine/godot/pull/111300)). +- mbedTLS: Update to version 3.6.5 ([GH-111845](https://github.com/godotengine/godot/pull/111845)). +- Fix HTTPRequest timeout being scaled with `Engine.time_scale` ([GH-112686](https://github.com/godotengine/godot/pull/112686)). +- Normalize IP parsing, fix IPv6, tests ([GH-114827](https://github.com/godotengine/godot/pull/114827)). #### Particles -- Fix particle jitter when scene tree is paused ([GH-95912](https://github.com/godotengine/godot/pull/95912)). -- Fix `CPUParticles2D` repeatedly scaling particles with 0 velocity and Align Y ([GH-100977](https://github.com/godotengine/godot/pull/100977)). -- Add emission shape gizmos to Particles2D ([GH-102249](https://github.com/godotengine/godot/pull/102249)). -- Overhaul the cull mask internals for Lights, Decals, and Particle Colliders ([GH-102399](https://github.com/godotengine/godot/pull/102399)). -- Fix GPU particles not emitting at some configured rates when scale curve is zero ([GH-103121](https://github.com/godotengine/godot/pull/103121)). -- Fix wrongly assigned `emission_normal_texture` ([GH-106203](https://github.com/godotengine/godot/pull/106203)). -- Fix heap-use-after-free when closing a scene with 2D particle nodes selected ([GH-106739](https://github.com/godotengine/godot/pull/106739)). -- Fix floating point precision errors when setting particle trail length ([GH-107568](https://github.com/godotengine/godot/pull/107568)). -- Fix particles resetting properties when emitting is toggled ([GH-107915](https://github.com/godotengine/godot/pull/107915)). -- Move 2D and 3D particle editors to the 2D and 3D folders ([GH-108368](https://github.com/godotengine/godot/pull/108368)). +- Change curve range for particle multipliers ([GH-91556](https://github.com/godotengine/godot/pull/91556)). +- Add emission shape ring for CPUParticles2D ([GH-94929](https://github.com/godotengine/godot/pull/94929)). +- Fix NaN populating ParticleProcessMaterial Transform ([GH-97871](https://github.com/godotengine/godot/pull/97871)). +- Improve 2D Particle Emission Mask dialog ([GH-101165](https://github.com/godotengine/godot/pull/101165)). +- Push pipeline compilation of various effects to the worker thread pool ([GH-111129](https://github.com/godotengine/godot/pull/111129)). +- Fix CPUParticle3D not randomizing ([GH-112514](https://github.com/godotengine/godot/pull/112514)). #### Physics -- Add mid height property to CapsuleShape2D/3D ([GH-93836](https://github.com/godotengine/godot/pull/93836)). -- Add ability to apply forces and impulses to `SoftBody3D` ([GH-100463](https://github.com/godotengine/godot/pull/100463)). -- Place a hard limit on the `max_contacts_reported` property in 2D/3D physics ([GH-101011](https://github.com/godotengine/godot/pull/101011)). -- Refactor Jolt-related project settings to only be loaded as needed ([GH-101254](https://github.com/godotengine/godot/pull/101254)). -- Improve capsule gizmo performance ([GH-101533](https://github.com/godotengine/godot/pull/101533)). -- Fix `get_rpm()` on wheel which has steering ([GH-101664](https://github.com/godotengine/godot/pull/101664)). -- Chunk tilemap physics ([GH-102662](https://github.com/godotengine/godot/pull/102662)). -- Improve Jolt module initialization style ([GH-102975](https://github.com/godotengine/godot/pull/102975)). -- Fix interpolation in XR ([GH-103233](https://github.com/godotengine/godot/pull/103233)). -- Allow to compile templates without physics servers ([GH-103373](https://github.com/godotengine/godot/pull/103373)). -- Fix broken negative scaling when using Jolt Physics ([GH-103440](https://github.com/godotengine/godot/pull/103440)). -- Fix `ConcavePolygonShape3D` always enabling `backface_collision` when using Jolt Physics ([GH-104310](https://github.com/godotengine/godot/pull/104310)). -- Jolt: Update to 5.3.0 ([GH-104449](https://github.com/godotengine/godot/pull/104449)). -- Fix `shape` always being zero with `get_rest_info` when using Jolt Physics ([GH-104599](https://github.com/godotengine/godot/pull/104599)). -- Jolt: 32-bit MinGW g++ doesn't call the correct overload for the new operator when a type is 16 bytes aligned ([GH-105696](https://github.com/godotengine/godot/pull/105696)). -- Remove Jolt Physics project setting "Areas Detect Static Bodies" ([GH-105746](https://github.com/godotengine/godot/pull/105746)). -- Remove no-op locking in Jolt Physics module ([GH-105748](https://github.com/godotengine/godot/pull/105748)). -- Remove emitting of error in `JoltBody3D::_exit_all_areas` ([GH-106119](https://github.com/godotengine/godot/pull/106119)). -- SoftBody3D: Add a property for scaling rest lengths of edge constraints ([GH-106321](https://github.com/godotengine/godot/pull/106321)). -- Fix SCU build issues related to Jolt Physics ([GH-106346](https://github.com/godotengine/godot/pull/106346)). -- Jolt physics: Setting position instead of velocity in `JoltSoftBody3D::set_vertex_position` ([GH-106366](https://github.com/godotengine/godot/pull/106366)). -- Improve performance with non-monitoring areas when using Jolt Physics ([GH-106490](https://github.com/godotengine/godot/pull/106490)). -- Remove force enter/exit logic from `JoltArea3D` ([GH-106693](https://github.com/godotengine/godot/pull/106693)). -- Remove error for degenerate soft body faces when using Jolt Physics ([GH-106725](https://github.com/godotengine/godot/pull/106725)). -- Change `JoltShapeInstance3D` to use move semantics ([GH-106761](https://github.com/godotengine/godot/pull/106761)). -- Fix Area3D signal emissions when using Jolt Physics ([GH-106918](https://github.com/godotengine/godot/pull/106918)). -- Batch the adding of Jolt Physics bodies ([GH-107454](https://github.com/godotengine/godot/pull/107454)). -- Fix Jolt Physics soft body vertex normal calculation ([GH-107832](https://github.com/godotengine/godot/pull/107832)). -- Fix crash when disabling `SoftBody3D` while using Jolt Physics ([GH-108042](https://github.com/godotengine/godot/pull/108042)). -- Jolt physics: wake up a soft body when its transform changes ([GH-108094](https://github.com/godotengine/godot/pull/108094)). -- Improve performance for shapeless objects when using Jolt Physics ([GH-108235](https://github.com/godotengine/godot/pull/108235)). -- Fix crash in Jolt Physics when switching scenes in editor ([GH-108239](https://github.com/godotengine/godot/pull/108239)). -- Document some deadlocks in the physics server code ([GH-108495](https://github.com/godotengine/godot/pull/108495)). -- Fix performance regression when rendering collision shapes ([GH-108530](https://github.com/godotengine/godot/pull/108530)). -- Fix contacts not being reported properly when using Jolt Physics ([GH-108544](https://github.com/godotengine/godot/pull/108544)). -- Revert "SoftBody3D: Support physics Interpolation" ([GH-109265](https://github.com/godotengine/godot/pull/109265)). -- Increase SoftBody3D damping coefficient editor range ([GH-109419](https://github.com/godotengine/godot/pull/109419)). -- Pause physics command queue during physics processing ([GH-109591](https://github.com/godotengine/godot/pull/109591)). -- Fix `move_and_slide` forcing synchronization with physics thread ([GH-109607](https://github.com/godotengine/godot/pull/109607)). -- Fix one-way-collision polygons being merged despite being on different Y-origins in TileMapLayer ([GH-109820](https://github.com/godotengine/godot/pull/109820)). -- Fix crash when rendering a soft body 3d ([GH-109929](https://github.com/godotengine/godot/pull/109929)). +- Add MeshInstance3D primitive conversion options ([GH-101521](https://github.com/godotengine/godot/pull/101521)). +- Use Jolt Physics by default in newly created projects ([GH-105737](https://github.com/godotengine/godot/pull/105737)). +- Add MultiMesh physics interpolation for 2D transforms (MultiMeshInstance2D) ([GH-107666](https://github.com/godotengine/godot/pull/107666)). +- Tweak property hints for SoftBody3D mass and SkeletonModification2DJiggle ([GH-108758](https://github.com/godotengine/godot/pull/108758)). +- JoltPhysics: Fix orphan StringName ([GH-110329](https://github.com/godotengine/godot/pull/110329)). +- Fix bug in ManifoldBetweenTwoFaces ([GH-110507](https://github.com/godotengine/godot/pull/110507)). +- Fix ancestry constructors ([GH-110805](https://github.com/godotengine/godot/pull/110805)). +- Fix CCD bodies adding multiple contact manifolds when using Jolt ([GH-110914](https://github.com/godotengine/godot/pull/110914)). +- Fix crash when calling `move_and_collide` with a null `jolt_body` ([GH-110964](https://github.com/godotengine/godot/pull/110964)). +- Jolt: Update to 5.4.0 ([GH-110965](https://github.com/godotengine/godot/pull/110965)). +- JoltPhysics: Fix Generic6DOFJoint3D not respecting angular limits ([GH-111087](https://github.com/godotengine/godot/pull/111087)). +- Fix crash in Jolt when doing incremental builds ([GH-111408](https://github.com/godotengine/godot/pull/111408)). +- Fix crash when box selecting remote 3D physics nodes ([GH-111960](https://github.com/godotengine/godot/pull/111960)). +- Jolt: Add null checks to `jolt_free` and `jolt_aligned_free` ([GH-112363](https://github.com/godotengine/godot/pull/112363)). +- Fix `SoftBody3D`'s position influences its physics in Jolt ([GH-112483](https://github.com/godotengine/godot/pull/112483)). +- Jolt Physics: Remove sharing shared soft body settings from SoftBody3D ([GH-112623](https://github.com/godotengine/godot/pull/112623)). +- Remove call to `PhysicsServer3D` from Jolt Physics implementation ([GH-113622](https://github.com/godotengine/godot/pull/113622)). + +#### Platforms + +- Silence warnings about DisplayServer icons on iOS and visionOS ([GH-94542](https://github.com/godotengine/godot/pull/94542)). +- Windows: Simplify ANGLE fallback list and remove ID checks ([GH-95853](https://github.com/godotengine/godot/pull/95853)). +- Wayland: Add environment variable to disable libdecor loading ([GH-96825](https://github.com/godotengine/godot/pull/96825)). +- FileAccess: Implement support for reading and writing extended file attributes/alternate data streams ([GH-102232](https://github.com/godotengine/godot/pull/102232)). +- Wayland: Emulate frame event for old `wl_seat` versions ([GH-105587](https://github.com/godotengine/godot/pull/105587)). +- Workaround X11 crash issue ([GH-106798](https://github.com/godotengine/godot/pull/106798)). +- Wayland: Implement the xdg-toplevel-icon-v1 protocol ([GH-107096](https://github.com/godotengine/godot/pull/107096)). +- Wayland: Implement game embedding ([GH-107435](https://github.com/godotengine/godot/pull/107435)). +- Add `null` and range checks to `DisplayServerMacOSBase::clipboard_get()` ([GH-108372](https://github.com/godotengine/godot/pull/108372)). +- macOS: Fix disabling native menu items in system menus ([GH-108596](https://github.com/godotengine/godot/pull/108596)). +- Support XDG Inhibit portal ([GH-108704](https://github.com/godotengine/godot/pull/108704)). +- iOS/macOS: Improve `OS.get_memory_info` ([GH-109112](https://github.com/godotengine/godot/pull/109112)). +- macOS: Add option for renaming system menus ([GH-109138](https://github.com/godotengine/godot/pull/109138)). +- Windows: Try reading GPU driver information directly from registry ([GH-109346](https://github.com/godotengine/godot/pull/109346)). +- Add Stretch Modes for Splash Screen ([GH-109596](https://github.com/godotengine/godot/pull/109596)). +- macOS: Always use "Regular" activation policy for GUI, and headless main loop for command line only tools ([GH-109795](https://github.com/godotengine/godot/pull/109795)). +- macOS: Move system theme properties to the `DisplayServerMacOSBase` ([GH-109980](https://github.com/godotengine/godot/pull/109980)). +- macOS: Fix keyboard mapping init in embedded display server ([GH-110078](https://github.com/godotengine/godot/pull/110078)). +- iOS: Add device SOC list, update DPI list ([GH-110192](https://github.com/godotengine/godot/pull/110192)). +- Configure SDL assuming we, in fact, have a libc ([GH-110198](https://github.com/godotengine/godot/pull/110198)). +- macOS: Make embedded window focus behavior more similar to Windows/X11 ([GH-110219](https://github.com/godotengine/godot/pull/110219)). +- Windows: Try reading GPU IDs directly from registry ([GH-110268](https://github.com/godotengine/godot/pull/110268)). +- Windows: Expand full screen border in the direction with no adjacent display, or display with min refresh rate difference ([GH-110375](https://github.com/godotengine/godot/pull/110375)). +- Web: Fix clipboard text encoding in `update_clipboard_callback` ([GH-110544](https://github.com/godotengine/godot/pull/110544)). +- Wayland: Inhibit idle in `DisplayServerWayland::screen_set_keep_on` ([GH-110875](https://github.com/godotengine/godot/pull/110875)). +- Change `macos.permission.RECORD_SCREEN` version check from 10.15 to 11.0 ([GH-110936](https://github.com/godotengine/godot/pull/110936)). +- Fix permission handling for write backup files (`FileAccessUnix`) ([GH-110943](https://github.com/godotengine/godot/pull/110943)). +- Unix: Fix retrieval of PID exit code ([GH-111058](https://github.com/godotengine/godot/pull/111058)). +- Suppress SIGPIPE when writing to a pipe ([GH-111114](https://github.com/godotengine/godot/pull/111114)). +- Window: Add unfiltered input handler signal for custom decorations ([GH-111288](https://github.com/godotengine/godot/pull/111288)). +- Fix editor embedded windows partially resizing ([GH-111313](https://github.com/godotengine/godot/pull/111313)). +- Fix editor auto display scale on Windows ([GH-111326](https://github.com/godotengine/godot/pull/111326)). +- MacOS: Improve crash handler performance ([GH-111425](https://github.com/godotengine/godot/pull/111425)). +- Wayland: Defer event thread initialization to late initialization ([GH-111493](https://github.com/godotengine/godot/pull/111493)). +- X11: Fix fullscreen exit behavior ([GH-111580](https://github.com/godotengine/godot/pull/111580)). +- X11: Fix memory leak in `screen_get_refresh_rate()` ([GH-111639](https://github.com/godotengine/godot/pull/111639)). +- macOS: Fix ~500ms hang on transparent OpenGL window creation on macOS 26 ([GH-111657](https://github.com/godotengine/godot/pull/111657)). +- Wayland: Set window parent before commit ([GH-111874](https://github.com/godotengine/godot/pull/111874)). +- Increase stack size for all secondary threads on Apple platforms ([GH-112094](https://github.com/godotengine/godot/pull/112094)). +- X11: Fix minimize/maximize buttons can't be hidden ([GH-112142](https://github.com/godotengine/godot/pull/112142)). +- Fix 64-bit integers being truncated to 32-bit in JNI ([GH-112192](https://github.com/godotengine/godot/pull/112192)). +- Android: Implement Storage Access Framework (SAF) support ([GH-112215](https://github.com/godotengine/godot/pull/112215)). +- macOS/Embedded: Release/recapture mouse on window focus change and exit ([GH-112236](https://github.com/godotengine/godot/pull/112236)). +- Linux: Add SSE4.2 support runtime check ([GH-112279](https://github.com/godotengine/godot/pull/112279)). +- Windows: Fix legacy border when toggling borderless while fullscreen ([GH-112297](https://github.com/godotengine/godot/pull/112297)). +- Make `utterance_id` 64-bit ([GH-112379](https://github.com/godotengine/godot/pull/112379)). +- Fix compile error with android export plugin ([GH-112398](https://github.com/godotengine/godot/pull/112398)). +- Fix "Unexpected NUL character" errors on Wine ([GH-112496](https://github.com/godotengine/godot/pull/112496)). +- D3D12: Fall back to HWND if DComp init failed ([GH-112497](https://github.com/godotengine/godot/pull/112497)). +- Android: Fix loading sparse `.pck` from `assets://` ([GH-112507](https://github.com/godotengine/godot/pull/112507)). +- Windows: Fix `window_get_size_with_decorations` returning an invalid size when restoring from minimize ([GH-112534](https://github.com/godotengine/godot/pull/112534)). +- Android: Fix root window shrinking when keyboard appears ([GH-112585](https://github.com/godotengine/godot/pull/112585)). +- Fix Chinese characters in DBusMessage were not displayed correctly ([GH-112629](https://github.com/godotengine/godot/pull/112629)). +- Android: Make use of `activity-alias` as the primary launcher mechanism ([GH-112679](https://github.com/godotengine/godot/pull/112679)). +- Fix crash when using ANGLE OpenGL on Windows ([GH-112720](https://github.com/godotengine/godot/pull/112720)). +- Windows: Fix EnumDevices stall using IAT hooks ([GH-113013](https://github.com/godotengine/godot/pull/113013)). +- Wayland: Fix compiling with `libdecor=no` ([GH-113041](https://github.com/godotengine/godot/pull/113041)). +- Wayland: Implement compose and dead key support ([GH-113068](https://github.com/godotengine/godot/pull/113068)). +- Wayland: Fix trailing garbage error while using the embedder on Jay ([GH-113135](https://github.com/godotengine/godot/pull/113135)). +- Wayland: Fix Wayland driver in export templates ([GH-113138](https://github.com/godotengine/godot/pull/113138)). +- Android: Fix memory issues in `_variant_to_jvalue()` ([GH-113159](https://github.com/godotengine/godot/pull/113159)). +- macOS: Add missing "move" system cursor ([GH-113186](https://github.com/godotengine/godot/pull/113186)). +- Prevent deadlock on Android camera ([GH-113209](https://github.com/godotengine/godot/pull/113209)). +- Windows: Make Direct3D 12 the default RD driver for new projects ([GH-113213](https://github.com/godotengine/godot/pull/113213)). +- X11: Skip Motif function hints when borderless ([GH-113235](https://github.com/godotengine/godot/pull/113235)). +- Wayland: Misc keyboard touchups ([GH-113256](https://github.com/godotengine/godot/pull/113256)). +- macOS: Do not use `openApplicationAtURL` for headless instances ([GH-113267](https://github.com/godotengine/godot/pull/113267)). +- Add platform lifecycle callbacks to CameraServer base class ([GH-113297](https://github.com/godotengine/godot/pull/113297)). +- LinuxBSD: Fixes a formatting error when running Godot editor with Wayland prefer enabled ([GH-113302](https://github.com/godotengine/godot/pull/113302)). +- Implement XFCE `exo-open` support in Linux `OS.shell_open` ([GH-113341](https://github.com/godotengine/godot/pull/113341)). +- Wayland: Unify key handling logic ([GH-113346](https://github.com/godotengine/godot/pull/113346)). +- iOS: Fix use of `godot_path` ([GH-113455](https://github.com/godotengine/godot/pull/113455)). +- macOS: Fix profiler cleanup ([GH-113547](https://github.com/godotengine/godot/pull/113547)). +- Wayland: Work around window scale ambiguity ([GH-113656](https://github.com/godotengine/godot/pull/113656)). +- Fix laggy window resize on Wayland ([GH-113714](https://github.com/godotengine/godot/pull/113714)). +- Wayland: Bump to 1.24.0 ([GH-113733](https://github.com/godotengine/godot/pull/113733)). +- macOS: Prefer user specified file extensions over OS preferred one ([GH-113757](https://github.com/godotengine/godot/pull/113757)). +- Wayland: Implement `keyboard_get_label_from_physical` ([GH-113837](https://github.com/godotengine/godot/pull/113837)). +- Fix storage scope for the obb directory ([GH-113878](https://github.com/godotengine/godot/pull/113878)). +- wayland-protocols: Update to 1.46 ([GH-113940](https://github.com/godotengine/godot/pull/113940)). +- Wayland: Fix accidental copy during global remove ([GH-113946](https://github.com/godotengine/godot/pull/113946)). +- Wayland: Add missing destroy calls for text input and tablet ([GH-113947](https://github.com/godotengine/godot/pull/113947)). +- Wayland: Remove `GODOT_DEBUG_EMBEDDER_SINGLE_INSTANCE` debug option ([GH-113949](https://github.com/godotengine/godot/pull/113949)). +- Wayland: Ignore IME events without a valid window ([GH-113950](https://github.com/godotengine/godot/pull/113950)). +- macOS: Disable window embedding code in export templates ([GH-113966](https://github.com/godotengine/godot/pull/113966)). +- Ensure that the permission requests results are dispatched on the render thread ([GH-113969](https://github.com/godotengine/godot/pull/113969)). +- Wayland: Silence `window_get_wl_surface` on invalid window ([GH-113977](https://github.com/godotengine/godot/pull/113977)). +- Wayland: Allow non-interactive window resizing ([GH-114082](https://github.com/godotengine/godot/pull/114082)). +- Android: Fix ANRs when shutting down the engine due to the render thread ([GH-114207](https://github.com/godotengine/godot/pull/114207)). +- Fix camera module error handling and remove unnecessary transform ([GH-114400](https://github.com/godotengine/godot/pull/114400)). +- Android: Trigger save of the RD pipeline cache on application pause ([GH-114463](https://github.com/godotengine/godot/pull/114463)). +- macOS: Fix non-focusable window order ([GH-114495](https://github.com/godotengine/godot/pull/114495)). +- Windows: Fix icon leak ([GH-114525](https://github.com/godotengine/godot/pull/114525)). +- Wayland: Track popup menu mouse mask properly ([GH-114574](https://github.com/godotengine/godot/pull/114574)). +- Fix Project Manager `ProjectDialog` install dialog OK button ([GH-114705](https://github.com/godotengine/godot/pull/114705)). +- WaylandEmbedder: Fix `-Wduplicated-branches` warning ([GH-114756](https://github.com/godotengine/godot/pull/114756)). +- Do not apply "*" as preferred extension ([GH-114781](https://github.com/godotengine/godot/pull/114781)). +- X11: Allow moving a fullscreen/maximized window to another screen/display ([GH-114820](https://github.com/godotengine/godot/pull/114820)). +- Wayland: Update popup scale information on creation ([GH-115242](https://github.com/godotengine/godot/pull/115242)). +- Process events during splash on macOS only ([GH-115249](https://github.com/godotengine/godot/pull/115249)). #### Plugin -- EditorInterface: Add `get_open_scene_roots` to retrieve all opened scenes root nodes ([GH-97838](https://github.com/godotengine/godot/pull/97838)). -- Clarify API for top selected nodes in EditorSelection and make public ([GH-99897](https://github.com/godotengine/godot/pull/99897)). -- JavaClassWrapper: Improve handling of typed array arguments ([GH-102817](https://github.com/godotengine/godot/pull/102817)). -- JavaClassWrapper: Fix converting returned arrays to Godot types ([GH-103375](https://github.com/godotengine/godot/pull/103375)). -- JavaClassWrapper: Fix conversion to/from `org.godotengine.godot.Dictionary` that regressed ([GH-103733](https://github.com/godotengine/godot/pull/103733)). -- JavaClassWrapper: Fix mistake in last fix for `org.godotengine.godot.Dictionary` conversion ([GH-104156](https://github.com/godotengine/godot/pull/104156)). -- Add maven publishing configuration for Godot tools ([GH-104819](https://github.com/godotengine/godot/pull/104819)). -- Fix wrong context menu argument from FileSystem's item list ([GH-106040](https://github.com/godotengine/godot/pull/106040)). -- Update the documentation for `JavaClassWrapper` and `AndroidRuntimePlugin` ([GH-106970](https://github.com/godotengine/godot/pull/106970)). -- Always use base directory in `CONTEXT_SLOT_FILESYSTEM_CREATE` ([GH-107085](https://github.com/godotengine/godot/pull/107085)). -- Android: Fix Android plugins regression ([GH-108243](https://github.com/godotengine/godot/pull/108243)). -- Add a debug version for Godot's maven central artifact ([GH-108729](https://github.com/godotengine/godot/pull/108729)). - -#### Porting - -- Implement screen reader support using AccessKit library ([GH-76829](https://github.com/godotengine/godot/pull/76829)). -- macOS: Add support for loading shell environment from UI apps ([GH-81266](https://github.com/godotengine/godot/pull/81266)). -- FileAccess: Implement `get_size` and `get_access_time` methods ([GH-83538](https://github.com/godotengine/godot/pull/83538)). -- Windows: Fix issue where newly created window incorrectly acquired the popup property ([GH-94689](https://github.com/godotengine/godot/pull/94689)). -- Use `windowBackgroundColor` instead of `controlColor` for macOS system base color ([GH-95049](https://github.com/godotengine/godot/pull/95049)). -- Simplify the printed file paths in the Linux/*BSD crash handler ([GH-95776](https://github.com/godotengine/godot/pull/95776)). -- Add methods to decode/encode multibyte encodings ([GH-97002](https://github.com/godotengine/godot/pull/97002)). -- Wayland: Handle `fifo_v1` and clean up suspension logic ([GH-101454](https://github.com/godotengine/godot/pull/101454)). -- Wayland: Implement native sub-windows ([GH-101774](https://github.com/godotengine/godot/pull/101774)). -- Add support for using an Android Service to host the Godot engine ([GH-102866](https://github.com/godotengine/godot/pull/102866)). -- Android: Skip non-existing system font files ([GH-103384](https://github.com/godotengine/godot/pull/103384)). -- Android: Fix editor crash after changing device language ([GH-103419](https://github.com/godotengine/godot/pull/103419)). -- X11: Fix check for `is_maximized` to require both horizontal and vertical ([GH-103526](https://github.com/godotengine/godot/pull/103526)). -- [Linux/BSD] Offload RenderingDevice creation test to subprocess ([GH-103560](https://github.com/godotengine/godot/pull/103560)). -- Improve error message from `JavaClassWrapper.wrap()` ([GH-103571](https://github.com/godotengine/godot/pull/103571)). -- Windows: Fix `get_modified_time` on locked files ([GH-103622](https://github.com/godotengine/godot/pull/103622)). -- Swap Nintendo face buttons on macOS ([GH-103661](https://github.com/godotengine/godot/pull/103661)). -- Use more efficient sleep approach on Windows when low-processor mode is enabled ([GH-103773](https://github.com/godotengine/godot/pull/103773)). -- Set `unsupported` to true on error in `FreeDesktopScreenSaver` ([GH-103802](https://github.com/godotengine/godot/pull/103802)). -- X11: Fix native dialog parent selection condition ([GH-103815](https://github.com/godotengine/godot/pull/103815)). -- macOS: Enable transparency for windows with decorations ([GH-103857](https://github.com/godotengine/godot/pull/103857)). -- [macOS/iOS] Fix system font family descriptor leak ([GH-103872](https://github.com/godotengine/godot/pull/103872)). -- macOS: Fix editor loading crash on native menu click ([GH-103892](https://github.com/godotengine/godot/pull/103892)). -- DisplayServer: Implement `get_accent_color` on Linux ([GH-104106](https://github.com/godotengine/godot/pull/104106)). -- macOS: Update mouse-entered state when subwindow closes ([GH-104328](https://github.com/godotengine/godot/pull/104328)). -- macOS: Replace custom main loop with `[NSApp run]` and `CFRunLoop` observer ([GH-104397](https://github.com/godotengine/godot/pull/104397)). -- Implement `DirAccess.is_equivalent` method ([GH-104597](https://github.com/godotengine/godot/pull/104597)). -- macOS: Fix cleanup with some command line tools ([GH-104615](https://github.com/godotengine/godot/pull/104615)). -- macOS: Fix running with `DisplayServerHeadless` ([GH-104660](https://github.com/godotengine/godot/pull/104660)). -- Windows: Fix borderless maximized window mode ([GH-104686](https://github.com/godotengine/godot/pull/104686)). -- macOS: Fix missing frame_changed signal to CameraFeed ([GH-104809](https://github.com/godotengine/godot/pull/104809)). -- Android Editor: Auto create `nomedia` file to hide project files in media apps ([GH-104970](https://github.com/godotengine/godot/pull/104970)). -- Handle the case where `waitpid` returns `errno` `EINTR` ([GH-105114](https://github.com/godotengine/godot/pull/105114)). -- Wayland: Fix error spam for closed windows ([GH-105129](https://github.com/godotengine/godot/pull/105129)). -- Apple: Add pthread implementation of `Thread` class ([GH-105164](https://github.com/godotengine/godot/pull/105164)). -- Change `DisplayServerMacOS` from `GDCLASS` to `GDSOFTCLASS`. Add `GDSOFTCLASS` to other display servers ([GH-105225](https://github.com/godotengine/godot/pull/105225)). -- Accessibility: Use system timer/wait functions for frame delay when screen reader is active ([GH-105343](https://github.com/godotengine/godot/pull/105343)). -- Fix crash in release build with llvm-mingw ([GH-105430](https://github.com/godotengine/godot/pull/105430)). -- Web: Prevent unnecessary canvas resizes by flooring scaled dimensions ([GH-105585](https://github.com/godotengine/godot/pull/105585)). -- macOS: Fix close button hidden and title bar transparent in fullscreen mode ([GH-105673](https://github.com/godotengine/godot/pull/105673)). -- macOS: Fix touch bar observer crash ([GH-105804](https://github.com/godotengine/godot/pull/105804)). -- Fix Windows `OS.get_unique_id()` null termination issue ([GH-106052](https://github.com/godotengine/godot/pull/106052)). -- Wayland: Ensure pointed window's existence in `mouse_get_position` ([GH-106083](https://github.com/godotengine/godot/pull/106083)). -- Improve script backtrace print in crash handlers ([GH-106139](https://github.com/godotengine/godot/pull/106139)). -- Do not call `accessibility_set_window_rect` on Wayland, fix main windows accessibility context creation ([GH-106247](https://github.com/godotengine/godot/pull/106247)). -- Wayland: Implement the cursor-shape-v1 protocol ([GH-106251](https://github.com/godotengine/godot/pull/106251)). -- Wayland: Fix error spam when closing popup ([GH-106315](https://github.com/godotengine/godot/pull/106315)). -- X11: Fix GL init memory leak when transparency is enabled ([GH-106345](https://github.com/godotengine/godot/pull/106345)). -- macOS: Fix embedded window position when host control is moved, but not resized ([GH-106349](https://github.com/godotengine/godot/pull/106349)). -- macOS: Fix transparent window state detection for embedded process ([GH-106355](https://github.com/godotengine/godot/pull/106355)). -- macOS: Fix a crash if no input event is set for a specific window ([GH-106367](https://github.com/godotengine/godot/pull/106367)). -- Implement `get_filesystem_type` on macOS and Linux ([GH-106386](https://github.com/godotengine/godot/pull/106386)). -- Wine: Use `_SH_DENY*` flags instead of unsupported `_SH_SECURE` ([GH-106392](https://github.com/godotengine/godot/pull/106392)). -- Web: Always return `0` for `OS::get_process_id()` ([GH-106504](https://github.com/godotengine/godot/pull/106504)). -- macOS: Ensure LayerHost size is set when first embedded ([GH-106538](https://github.com/godotengine/godot/pull/106538)). -- Wayland: Fix window fitting in single-window mode ([GH-106657](https://github.com/godotengine/godot/pull/106657)). -- Fix `GodotApplicationDelegate` init ([GH-106672](https://github.com/godotengine/godot/pull/106672)). -- Fix `execute_with_pipe` / `create_process` exit code ([GH-106708](https://github.com/godotengine/godot/pull/106708)). -- Fix transparency background issue on Android ([GH-106709](https://github.com/godotengine/godot/pull/106709)). -- Wayland: Add missing return in selection logic ([GH-106836](https://github.com/godotengine/godot/pull/106836)). -- Add support for `OS.get_version_alias()` on Android ([GH-106859](https://github.com/godotengine/godot/pull/106859)). -- macOS: Fix clipboard and TTS not working in embedded game mode ([GH-107135](https://github.com/godotengine/godot/pull/107135)). -- Fix native file dialog crash with invalid filter ([GH-107197](https://github.com/godotengine/godot/pull/107197)). -- Android: Fix save issue when using native file dialog ([GH-107207](https://github.com/godotengine/godot/pull/107207)). -- Remove TTS debug print ([GH-107365](https://github.com/godotengine/godot/pull/107365)). -- Fix `Input.vibrate_handheld` on Android ([GH-107385](https://github.com/godotengine/godot/pull/107385)). -- macOS: Initialize `CVDisplayLinkRef` member field ([GH-107437](https://github.com/godotengine/godot/pull/107437)). -- Address remaining feedback on Android background transparency ([GH-107473](https://github.com/godotengine/godot/pull/107473)). -- macOS: Add `--path` argument when instance is created by project started from editor ([GH-107479](https://github.com/godotengine/godot/pull/107479)). -- Wayland: Fix division by zero when scale is less than 1 ([GH-107787](https://github.com/godotengine/godot/pull/107787)). -- Cleanup closed embedded processes on macOS ([GH-107917](https://github.com/godotengine/godot/pull/107917)). -- macOS: Move keyboard layout related code to base display server ([GH-107926](https://github.com/godotengine/godot/pull/107926)). -- Add missing JNI variant conversion for generic Array ([GH-108019](https://github.com/godotengine/godot/pull/108019)). -- X11: Fix memory leak when using window embedding ([GH-108082](https://github.com/godotengine/godot/pull/108082)). -- Android: Fix `DisplayServer.get_display_safe_area()` issues ([GH-108102](https://github.com/godotengine/godot/pull/108102)). -- Fix immersive mode and virtual keyboard height issue on Android ([GH-108287](https://github.com/godotengine/godot/pull/108287)). -- Fix Android splash theme regression ([GH-108449](https://github.com/godotengine/godot/pull/108449)). -- Windows: Add SSE4.2 support runtime check ([GH-108561](https://github.com/godotengine/godot/pull/108561)). -- Add keypad codes to the keysym unicode map ([GH-108659](https://github.com/godotengine/godot/pull/108659)). -- Linux: Fix narrowing conversion error in 32-bit builds ([GH-108661](https://github.com/godotengine/godot/pull/108661)). -- macOS: Do not use NSApplication main loop for headless mode ([GH-108696](https://github.com/godotengine/godot/pull/108696)). -- Android: Run clipboard tasks on UI thread ([GH-108796](https://github.com/godotengine/godot/pull/108796)). -- macOS: Fix `warp_mouse` in game mode ([GH-108858](https://github.com/godotengine/godot/pull/108858)). -- Web: Fix inappropriate `memfree()` use ([GH-108874](https://github.com/godotengine/godot/pull/108874)). -- Fix: Make `get_space_left` on Windows use `current_dir` instead of process CWD ([GH-108964](https://github.com/godotengine/godot/pull/108964)). -- Web: Fix the editor `{godot,emscripten}PoolSize` config values ([GH-108969](https://github.com/godotengine/godot/pull/108969)). -- macOS: Add Tahoe 26.0 to version alias ([GH-108978](https://github.com/godotengine/godot/pull/108978)). -- MacOS: Fix embedded screen_get_scale API ([GH-109064](https://github.com/godotengine/godot/pull/109064)). -- Fix Android TTS on-demand init ([GH-109162](https://github.com/godotengine/godot/pull/109162)). -- Windows: Additionally use `cpuid` instruction to detect SSE4.2 support ([GH-109169](https://github.com/godotengine/godot/pull/109169)). -- Unix: Replace symlink target, not the link itself when using backup save mode ([GH-109383](https://github.com/godotengine/godot/pull/109383)). -- Unix: Fix `execute_with_pipe` closing wrong pipe handle ([GH-109397](https://github.com/godotengine/godot/pull/109397)). -- Defer `format_changed` and `frame_changed` signal for all camera feeds ([GH-109594](https://github.com/godotengine/godot/pull/109594)). -- macOS: Process joypad input directly in the embedded process ([GH-109603](https://github.com/godotengine/godot/pull/109603)). -- macOS: Fix embedded menu/spacer relative position ([GH-109676](https://github.com/godotengine/godot/pull/109676)). -- Windows: Fix color picker on old versions of Windows 10 ([GH-109694](https://github.com/godotengine/godot/pull/109694)). -- macOS: Forward application focus events to the embedded process ([GH-109724](https://github.com/godotengine/godot/pull/109724)). -- Use `org.a11y.Status/ScreenReaderEnabled` on Linux ([GH-109739](https://github.com/godotengine/godot/pull/109739)). -- SCons: Use gnu++20 in metal driver ([GH-109786](https://github.com/godotengine/godot/pull/109786)). -- [Linux/BSD] Initialize DBus only once ([GH-109857](https://github.com/godotengine/godot/pull/109857)). -- Windows: Save and restore window rect when switching to/from maximized+borderless mode ([GH-110010](https://github.com/godotengine/godot/pull/110010)). +- Expose `set_edited` and `is_edited` on `EditorInterface` ([GH-91703](https://github.com/godotengine/godot/pull/91703)). +- EditorPlugin: Allow instance base type inheriting EditorPlugin ([GH-93296](https://github.com/godotengine/godot/pull/93296)). +- Expose 3D editor snap settings to EditorInterface ([GH-103608](https://github.com/godotengine/godot/pull/103608)). +- Android: `JavaClassWrapper` bug fixes ([GH-107075](https://github.com/godotengine/godot/pull/107075)). +- Relocate `add_root_node` method to `EditorInterface` from `EditorScript` and deprecate old method ([GH-109049](https://github.com/godotengine/godot/pull/109049)). +- Android: Minor updates to the `GodotPlugin` APIs ([GH-111135](https://github.com/godotengine/godot/pull/111135)). +- Fix potential conflicts in FileSystem context menu plugins ([GH-112048](https://github.com/godotengine/godot/pull/112048)). +- Fix editor crash attempting to generate preview for invalid BitMap ([GH-114247](https://github.com/godotengine/godot/pull/114247)). #### Rendering -- Add stencil support to spatial materials ([GH-80710](https://github.com/godotengine/godot/pull/80710)). -- Implement `LIMIT_MAX_COMPUTE_SHARED_MEMORY_SIZE` to `limit_get` in the Vulkan backend ([GH-87388](https://github.com/godotengine/godot/pull/87388)). -- Implement FXAA 3.11 to replace the current broken implementation ([GH-89582](https://github.com/godotengine/godot/pull/89582)). -- Add support for bent normal maps for specular occlusion and indirect lighting ([GH-89988](https://github.com/godotengine/godot/pull/89988)). -- Add new StandardMaterial properties to allow users to control FPS-style objects (hands, weapons, tools close to the camera) ([GH-93142](https://github.com/godotengine/godot/pull/93142)). -- Add `color_conversion_disabled` shader hint ([GH-97801](https://github.com/godotengine/godot/pull/97801)). -- Optimize shared texture creations ([GH-98760](https://github.com/godotengine/godot/pull/98760)). -- Implement Fragment density map support ([GH-99551](https://github.com/godotengine/godot/pull/99551)). -- OpenXR: Use the `XR_FB_foveation_vulkan` extension to get the density map for VRS ([GH-99768](https://github.com/godotengine/godot/pull/99768)). -- Implement motion vectors in mobile renderer ([GH-100283](https://github.com/godotengine/godot/pull/100283)). -- Expose `RenderingServer::environment_set_fog_depth` ([GH-101785](https://github.com/godotengine/godot/pull/101785)). -- Fix `Camera3D` gizmo representation to accurately reflect FOV ([GH-101884](https://github.com/godotengine/godot/pull/101884)). -- WebGL: Support native ASTC compression when available ([GH-101932](https://github.com/godotengine/godot/pull/101932)). -- Fix wrong default texture for global uniforms of type `sampler2DArray` ([GH-101941](https://github.com/godotengine/godot/pull/101941)). -- Pass angular diameter into light size constants for sky shaders ([GH-101971](https://github.com/godotengine/godot/pull/101971)). -- Optimize ProceduralSkyMaterial by removing uses of acos and simplifying logic ([GH-101973](https://github.com/godotengine/godot/pull/101973)). -- Rendering compositor identifies `is_opengl` API; minor optimization ([GH-102302](https://github.com/godotengine/godot/pull/102302)). -- Add SMAA 1x to screenspace AA options ([GH-102330](https://github.com/godotengine/godot/pull/102330)). -- Add ASTC HDR format variants ([GH-102777](https://github.com/godotengine/godot/pull/102777)). -- GLES3: Fix errors baking light map with compatibility renderer ([GH-102783](https://github.com/godotengine/godot/pull/102783)). -- Fix voxelizer normals ([GH-102893](https://github.com/godotengine/godot/pull/102893)). -- Fix render info primitive count per `TRIANGLE_STRIP` ([GH-102905](https://github.com/godotengine/godot/pull/102905)). -- Fix 2D quad primitive missing lighting data in GLES3 renderer ([GH-102908](https://github.com/godotengine/godot/pull/102908)). -- Fix uninitialized value in Tonemap ([GH-103092](https://github.com/godotengine/godot/pull/103092)). -- Add Meshes to the Video RAM Profiler ([GH-103238](https://github.com/godotengine/godot/pull/103238)). -- Disable texture array reflections on Intel GPUs on macOS due to driver bugs ([GH-103306](https://github.com/godotengine/godot/pull/103306)). -- Suppress OpenGL debug marker printing ([GH-103404](https://github.com/godotengine/godot/pull/103404)). -- RenderingDevice: Validate pre-raster (vertex) shader in `render_pipeline_create` ([GH-103480](https://github.com/godotengine/godot/pull/103480)). -- Physics Interpolation - Add editor configuration warnings ([GH-103504](https://github.com/godotengine/godot/pull/103504)). -- Use separate WorkThreadPool for shader compiler ([GH-103506](https://github.com/godotengine/godot/pull/103506)). -- Validate triviality of InstanceData struct in Mobile and Forward+ renderers ([GH-103529](https://github.com/godotengine/godot/pull/103529)). -- Fix inefficient upload in Mobile Shadows ([GH-103531](https://github.com/godotengine/godot/pull/103531)). -- Optimize `_fill_instance_data` function in Forward+ renderer ([GH-103547](https://github.com/godotengine/godot/pull/103547)). -- Metal: Use uniform set index passed by `RenderingDevice` ([GH-103613](https://github.com/godotengine/godot/pull/103613)). -- Metal: Add missing stage info to shader description ([GH-103616](https://github.com/godotengine/godot/pull/103616)). -- Fix inefficient upload in Mobile Shadows ([GH-103641](https://github.com/godotengine/godot/pull/103641)). -- Metal: Use `p_set_index` when binding uniforms, to use correct data ([GH-103645](https://github.com/godotengine/godot/pull/103645)). -- Fix incorrect parameters passed to VMA ([GH-103730](https://github.com/godotengine/godot/pull/103730)). -- MetalFX: Change fallback behavior ([GH-103792](https://github.com/godotengine/godot/pull/103792)). -- Significantly reduce per-frame memory allocations from the heap in the Mobile renderer ([GH-103794](https://github.com/godotengine/godot/pull/103794)). -- Switch occlusion culling to be based on depth instead of Euclidean distance ([GH-103798](https://github.com/godotengine/godot/pull/103798)). -- RenderingDevice: Delay expensive operations to `get_perf_report` ([GH-103814](https://github.com/godotengine/godot/pull/103814)). -- Fix GLES3 `gaussian_blur` mipmap setup ([GH-103878](https://github.com/godotengine/godot/pull/103878)). -- Fix deadlock between `PipelineHashMapRD::local_mutex` and `GDScriptCache::mutex` ([GH-103880](https://github.com/godotengine/godot/pull/103880)). -- Clean up more dynamic allocations in the RD renderers with a focus on 2D ([GH-103889](https://github.com/godotengine/godot/pull/103889)). -- Forward+: Replace the current BRDF approximation with a DFG LUT and add multiscattering energy compensation ([GH-103934](https://github.com/godotengine/godot/pull/103934)). -- Renderer: Expose and document `Features` enum for MetalFX ([GH-103941](https://github.com/godotengine/godot/pull/103941)). -- CPUParticles2D: Fix physics interpolation after entering tree with `emitting = false` ([GH-103966](https://github.com/godotengine/godot/pull/103966)). -- Fix `Invalid Task ID` error spam in `PipelineHashMapRD` ([GH-104044](https://github.com/godotengine/godot/pull/104044)). -- Metal: Use reference, so we're not copying every frame ([GH-104051](https://github.com/godotengine/godot/pull/104051)). -- Vulkan: Disable layers in editor deemed buggy by RenderDoc ([GH-104154](https://github.com/godotengine/godot/pull/104154)). -- Error when draw list is not active in `draw_list_switch_to_next_pass` ([GH-104159](https://github.com/godotengine/godot/pull/104159)). -- Physics Interpolation - Move 3D FTI to `SceneTree` ([GH-104269](https://github.com/godotengine/godot/pull/104269)). -- Add error check for reflection probe invalid atlas index ([GH-104302](https://github.com/godotengine/godot/pull/104302)). -- Fix Movie Writer behavior with Viewport Display Mode + Window Size Override ([GH-104334](https://github.com/godotengine/godot/pull/104334)). -- Renderer: Fix Metal handling of cube textures; assert equal dimensions ([GH-104341](https://github.com/godotengine/godot/pull/104341)). -- Renderer: Warn when images need to be converted due to their formats being unsupported by hardware ([GH-104480](https://github.com/godotengine/godot/pull/104480)). -- Disable broken Vulkan layers before running RenderingDevice tests ([GH-104572](https://github.com/godotengine/godot/pull/104572)). -- Vulkan: Re-enable Mesa device select layer ([GH-104592](https://github.com/godotengine/godot/pull/104592)). -- Fix uninitialized member vars in CommandQueueMT and RasterizerSceneGLES3 ([GH-104616](https://github.com/godotengine/godot/pull/104616)). -- Fix corrupted negative values for signed BC6 ([GH-104768](https://github.com/godotengine/godot/pull/104768)). -- Avoid using a global variable to store instance index in canvas items shader in RD renderer ([GH-105037](https://github.com/godotengine/godot/pull/105037)). -- Combine `TileMapLayer` debug quadrant shapes to a surface ([GH-105090](https://github.com/godotengine/godot/pull/105090)). -- Renderer: Reduce scope of mutex locks to prevent common deadlocks ([GH-105138](https://github.com/godotengine/godot/pull/105138)). -- Detect more pipeline settings at load time to avoid pipeline stutters ([GH-105175](https://github.com/godotengine/godot/pull/105175)). -- Relax the range hint for canvas layer properties ([GH-105245](https://github.com/godotengine/godot/pull/105245)). -- Pre-allocate more resources when screen textures are detected in the Mobile renderer ([GH-105267](https://github.com/godotengine/godot/pull/105267)). -- Fix `Math` constant conversion ([GH-105286](https://github.com/godotengine/godot/pull/105286)). -- Fix RendererRD crash on start on Intel Macs ([GH-105424](https://github.com/godotengine/godot/pull/105424)). -- Allow moving meshes without motion vectors ([GH-105437](https://github.com/godotengine/godot/pull/105437)). -- Properly report missing nodes in LightmapGI ([GH-105465](https://github.com/godotengine/godot/pull/105465)). -- Fix UBSAN alignment issues in the render graph ([GH-105501](https://github.com/godotengine/godot/pull/105501)). -- Scene shader: Improve and document SH diffuse evaluation for light probes ([GH-105525](https://github.com/godotengine/godot/pull/105525)). -- RenderingDevice: Pass mipmap count to `texture_create_from_extension()` ([GH-105570](https://github.com/godotengine/godot/pull/105570)). -- Fix float/int comparison in acos_approx in sky template shader ([GH-105837](https://github.com/godotengine/godot/pull/105837)). -- Avoid unnecessary `version_get_uniform()` calls ([GH-105864](https://github.com/godotengine/godot/pull/105864)). -- Fix reflection probe dark borders ([GH-105899](https://github.com/godotengine/godot/pull/105899)). -- Fix error spam to due wrong use of `reserve()` in D3D12 driver ([GH-105906](https://github.com/godotengine/godot/pull/105906)). -- FTI - Add custom interpolation for wheels ([GH-105915](https://github.com/godotengine/godot/pull/105915)). -- FTI - Fix `SceneTreeFTI` behavior on exit tree ([GH-105973](https://github.com/godotengine/godot/pull/105973)). -- Avoid crash when allocating specular and normal-roughness buffers when render buffers aren't available ([GH-106079](https://github.com/godotengine/godot/pull/106079)). -- Check for GL ES version of BPTC extension when using the OpenGL renderer ([GH-106086](https://github.com/godotengine/godot/pull/106086)). -- Add specular occlusion from ambient light ([GH-106145](https://github.com/godotengine/godot/pull/106145)). -- Compatibility: Disable environment ambient light when affected by light probes ([GH-106149](https://github.com/godotengine/godot/pull/106149)). -- SceneTreeFTI: faster access to `Node` children ([GH-106224](https://github.com/godotengine/godot/pull/106224)). -- Fix reflection probe box projection stretching ([GH-106241](https://github.com/godotengine/godot/pull/106241)). -- FTI - Optimize `SceneTree` traversal ([GH-106244](https://github.com/godotengine/godot/pull/106244)). -- Use a fragment shader copy instead of a blit copy in the final blit to screen in the Compatibility backend ([GH-106267](https://github.com/godotengine/godot/pull/106267)). -- Change Occlusion Culling Buffer debug view to use log scaling ([GH-106316](https://github.com/godotengine/godot/pull/106316)). -- Implement the `count` parameter in `RenderingServer.canvas_item_add_triangle_array` ([GH-106396](https://github.com/godotengine/godot/pull/106396)). -- Rewrite textureProjLod usage to avoid a Vulkan validation error ([GH-106399](https://github.com/godotengine/godot/pull/106399)). -- Improve platform compatibility of Windows and Direct3D 12 ([GH-106400](https://github.com/godotengine/godot/pull/106400)). -- Rework semaphores for presentation to be created per swap chain image to fix validation error ([GH-106407](https://github.com/godotengine/godot/pull/106407)). -- Fix Reflection Mask not working on Mobile ([GH-106411](https://github.com/godotengine/godot/pull/106411)). -- Reduce amount of permutations in mobile shader ([GH-106493](https://github.com/godotengine/godot/pull/106493)). -- Shader: Fix the default behavior when mat uniforms are null ([GH-106592](https://github.com/godotengine/godot/pull/106592)). -- macOS: Support vsync when embedding OpenGL processes ([GH-106614](https://github.com/godotengine/godot/pull/106614)). -- Mobile: Disable subpass post-processing when using FXAA ([GH-106631](https://github.com/godotengine/godot/pull/106631)). -- Metal: Ensure stencil-only rendering is supported ([GH-106653](https://github.com/godotengine/godot/pull/106653)). -- Fix light range in VoxelGI ([GH-106673](https://github.com/godotengine/godot/pull/106673)). -- Metal: Fix crash when clearing render buffers ([GH-106694](https://github.com/godotengine/godot/pull/106694)). -- Metal: Disable MetalFX Temporal for `mobile` rendering method ([GH-106731](https://github.com/godotengine/godot/pull/106731)). -- Renderer: Eliminate `String` allocations for all labels in the renderer ([GH-106732](https://github.com/godotengine/godot/pull/106732)). -- Ignore destination alpha when blitting to window in compatibility renderer ([GH-106737](https://github.com/godotengine/godot/pull/106737)). -- Mobile: Move `_setup_lightmaps` before `_fill_render_list` ([GH-106748](https://github.com/godotengine/godot/pull/106748)). -- D3D12: Fix inconsistent value for `DCOMP_ENABLED` in platform code ([GH-106827](https://github.com/godotengine/godot/pull/106827)). -- Fix missing ibl reconstruction from DFG multiscattering ([GH-106844](https://github.com/godotengine/godot/pull/106844)). -- Minor rendering and XR changes to allow Meta environment depth API to work entirely from GDExtension ([GH-106880](https://github.com/godotengine/godot/pull/106880)). -- Vulkan Mobile: Fix lightmap instances count ([GH-106907](https://github.com/godotengine/godot/pull/106907)). -- Correctly place viewport and use viewport relative rect for the final blit in Compatibility renderer ([GH-106924](https://github.com/godotengine/godot/pull/106924)). -- Metal: Fix multi-view support ([GH-106925](https://github.com/godotengine/godot/pull/106925)). -- Allow double precision modelview ([GH-106951](https://github.com/godotengine/godot/pull/106951)). -- Avoid `-Wmissing-declarations` warning in RenderingShaderContainer ([GH-106999](https://github.com/godotengine/godot/pull/106999)). -- SceneTreeFTI: - Fix `identity_xform` flag getting out of sync ([GH-107041](https://github.com/godotengine/godot/pull/107041)). -- Increase directional light energy in sky for fog sun scatter ([GH-107099](https://github.com/godotengine/godot/pull/107099)). -- Expose `RS.mesh_surface_update_index_region` ([GH-107116](https://github.com/godotengine/godot/pull/107116)). -- Optimize Mobile renderer by using FP16 explicitly ([GH-107119](https://github.com/godotengine/godot/pull/107119)). -- LightmapGI: Search for shadowmask light index only after sorting the lights ([GH-107145](https://github.com/godotengine/godot/pull/107145)). -- Fix SH lightmap coefficients for direct lights ([GH-107168](https://github.com/godotengine/godot/pull/107168)). -- Avoid crash when texture layers is greater than 1 and format is not an ARRAY type ([GH-107169](https://github.com/godotengine/godot/pull/107169)). -- SceneTreeFTI: - Fix `force_update` flag getting out of sync with invisible nodes ([GH-107175](https://github.com/godotengine/godot/pull/107175)). -- Make `LightmapGIData::_set_user_data` a proper setter instead of an additive operation ([GH-107192](https://github.com/godotengine/godot/pull/107192)). -- Fix crash when using `VIEW_INDEX` in shader with Vulkan mobile renderer ([GH-107210](https://github.com/godotengine/godot/pull/107210)). -- RendererRD: Fix swizzle on depth formats ([GH-107230](https://github.com/godotengine/godot/pull/107230)). -- OpenGL: Fix shader compilation failure with `shadow_to_opacity` and `unshaded` ([GH-107238](https://github.com/godotengine/godot/pull/107238)). -- Fix LightmapGI shadow leaks ([GH-107254](https://github.com/godotengine/godot/pull/107254)). -- Fix crash on custom shaders using `VIEW_INDEX` on Vulkan Clustered Forward Renderer ([GH-107270](https://github.com/godotengine/godot/pull/107270)). -- macOS: Switch Angle to Metal backend ([GH-107306](https://github.com/godotengine/godot/pull/107306)). -- Fix final blit in OpenGL when stereo rendering is used ([GH-107345](https://github.com/godotengine/godot/pull/107345)). -- Vulkan Mobile: Fix crash from shader compilation with `USE_RADIANCE_CUBEMAP_ARRAY` ([GH-107359](https://github.com/godotengine/godot/pull/107359)). -- Upgrade normal interpolators to FP32 to fix Adreno ([GH-107364](https://github.com/godotengine/godot/pull/107364)). -- Change all interpolators to FP32 in mobile renderer ([GH-107419](https://github.com/godotengine/godot/pull/107419)). -- Fix the VRS attachment being incorrectly added to `color_attachments` ([GH-107451](https://github.com/godotengine/godot/pull/107451)). -- Fix bent normal maps not working with triplanar UVs ([GH-107453](https://github.com/godotengine/godot/pull/107453)). -- Use raw buffer pointers in `RenderingDevice` allocation APIs to avoid intermediary arrays ([GH-107486](https://github.com/godotengine/godot/pull/107486)). -- Check render target validity before getting motion vector texture in mobile renderer ([GH-107515](https://github.com/godotengine/godot/pull/107515)). -- Forward+: Fix builtins in light shader ([GH-107625](https://github.com/godotengine/godot/pull/107625)). -- SCons: Enable `lightmapper` and `xatlas_unwrap` modules on Android and iOS editors ([GH-107635](https://github.com/godotengine/godot/pull/107635)). -- Fix GLES3 stereo output (sRGB + lens distortion) ([GH-107698](https://github.com/godotengine/godot/pull/107698)). -- Fix baked VoxelGI using the wrong color space ([GH-107776](https://github.com/godotengine/godot/pull/107776)). -- Always perform color correction and debanding on nonlinear sRGB values ([GH-107782](https://github.com/godotengine/godot/pull/107782)). -- macOS: Selectively bake specific shader variants for MoltenVK ([GH-107794](https://github.com/godotengine/godot/pull/107794)). -- Fix stencil preset priorities ([GH-107807](https://github.com/godotengine/godot/pull/107807)). -- Fix stencil preset `next_pass` stencil flags ([GH-107808](https://github.com/godotengine/godot/pull/107808)). -- Fix buffer size calculations in lightmapper_rd.cpp to account for element sizes ([GH-107820](https://github.com/godotengine/godot/pull/107820)). -- Ensure sky orientation is set when reflection uses sky ([GH-107858](https://github.com/godotengine/godot/pull/107858)). -- Fix a few improper memory accesses in the clustered forward vertex shader ([GH-107876](https://github.com/godotengine/godot/pull/107876)). -- Vulkan Mobile: Fix writing vertex color in spatial shader ([GH-107893](https://github.com/godotengine/godot/pull/107893)). -- Always send lights to sky shader if using sun scatter ([GH-107928](https://github.com/godotengine/godot/pull/107928)). -- Fix `RenderingServer::mesh_surface_get_lods()` ([GH-107985](https://github.com/godotengine/godot/pull/107985)). -- Fix VVL errors by changing `frag_color` to FP32 and dFdx/y ([GH-108015](https://github.com/godotengine/godot/pull/108015)). -- Metal: Use image atomic operations on supported Apple hardware ([GH-108028](https://github.com/godotengine/godot/pull/108028)). -- Fix opaque stencil rendering ([GH-108044](https://github.com/godotengine/godot/pull/108044)). -- FTI: - Fix `MultiMesh` init and stable behavior ([GH-108109](https://github.com/godotengine/godot/pull/108109)). -- FTI: - Add reset on setting `top_level` ([GH-108112](https://github.com/godotengine/godot/pull/108112)). -- Metal: Use correct environment variable to generate labels ([GH-108123](https://github.com/godotengine/godot/pull/108123)). -- FTI: - Clear `SceneTreeFTI` completely on enabling / disabling ([GH-108131](https://github.com/godotengine/godot/pull/108131)). -- Web: Restrict rendering method selection ([GH-108276](https://github.com/godotengine/godot/pull/108276)). -- Fix `surface_get_arrays` returns wrong index array when using empty vertex array ([GH-108308](https://github.com/godotengine/godot/pull/108308)). -- Fix underculling of occlusion culling ([GH-108347](https://github.com/godotengine/godot/pull/108347)). -- Fix division by zero in clearcoat specular BRDF ([GH-108378](https://github.com/godotengine/godot/pull/108378)). -- Fix crash when creating voxel GI data ([GH-108397](https://github.com/godotengine/godot/pull/108397)). -- Metal: Remove invalid assumption for image atomic operations ([GH-108452](https://github.com/godotengine/godot/pull/108452)). -- macOS: Selectively bake "no image atomics" shader variants ([GH-108510](https://github.com/godotengine/godot/pull/108510)). -- Fix crash when editing some resources and reloading scene ([GH-108555](https://github.com/godotengine/godot/pull/108555)). -- Add some multimesh null checks to avoid crash ([GH-108567](https://github.com/godotengine/godot/pull/108567)). -- RenderingDevice: Add `uniform_type` check to avoid crash ([GH-108568](https://github.com/godotengine/godot/pull/108568)). -- Never overwrite motion vectors in the transparent pass ([GH-108664](https://github.com/godotengine/godot/pull/108664)). -- Fix lightmap dynamic objects with physical lights ([GH-108728](https://github.com/godotengine/godot/pull/108728)). -- Fix debanding for Mobile rendering method with HDR 2D ([GH-108761](https://github.com/godotengine/godot/pull/108761)). -- D3D12: Fix shader model check, initialization error handling ([GH-108919](https://github.com/godotengine/godot/pull/108919)). -- Check for Vulkan Memory Model support and make it a variant ([GH-108936](https://github.com/godotengine/godot/pull/108936)). -- Compute texture alignment for transfers using the LCM instead ([GH-108940](https://github.com/godotengine/godot/pull/108940)). -- Don't use `GL_DEPTH_STENCIL_ATTACHMENT` on depth buffer from WebXR ([GH-108943](https://github.com/godotengine/godot/pull/108943)). -- Remove Adreno 3xx flip workaround ([GH-109042](https://github.com/godotengine/godot/pull/109042)). -- Fix overflowing render priority for stencil mode outline and xray ([GH-109052](https://github.com/godotengine/godot/pull/109052)). -- OpenGL: Fix crash at startup with "Thread Model" set to "Separate" ([GH-109057](https://github.com/godotengine/godot/pull/109057)). -- Windows: Add Intel Gen9.5 (Kaby Lake) GPUs to Angle blocklist ([GH-109210](https://github.com/godotengine/godot/pull/109210)). -- Metal: Ensure correct output texture format selection ([GH-109406](https://github.com/godotengine/godot/pull/109406)). -- Fix mobile renderer motion vectors ([GH-109556](https://github.com/godotengine/godot/pull/109556)). -- Fix material removal clearing all instances of shared texture arrays ([GH-109644](https://github.com/godotengine/godot/pull/109644)). -- Fix MSDF outline size clamping ([GH-109765](https://github.com/godotengine/godot/pull/109765)). -- Treat missing variants as normal cache misses during shader cache lookup ([GH-109882](https://github.com/godotengine/godot/pull/109882)). -- Metal: Read `gl_ViewIndex` in tonemapper.glsl for multi-view subpasses ([GH-109891](https://github.com/godotengine/godot/pull/109891)). -- Add debanding to SMAA and apply debanding before spatial upscalers ([GH-109970](https://github.com/godotengine/godot/pull/109970)). -- Check renderer type when setting 3D upscaling mode ([GH-109993](https://github.com/godotengine/godot/pull/109993)). -- Use vertex shader workaround for Mali GXX GPUs for glow shader ([GH-109994](https://github.com/godotengine/godot/pull/109994)). -- Handle the case where VRS is a two byte per pixel format when creating default VRS texture ([GH-109995](https://github.com/godotengine/godot/pull/109995)). -- Fix --generate-spirv-debug-info regression (alternate take) ([GH-110025](https://github.com/godotengine/godot/pull/110025)). -- Metal: Reduce baked version to MSL 3.1; validate minimum version ([GH-110063](https://github.com/godotengine/godot/pull/110063)). -- MSDF: Fix outline bleed out at small sizes ([GH-110148](https://github.com/godotengine/godot/pull/110148)). -- Avoid attempting to load from shader cache when both the user-dir and res-dir are invalid ([GH-110174](https://github.com/godotengine/godot/pull/110174)). -- Add GENERAL resource usage to the render graph and fix mutable texture initialization in D3D12 ([GH-110204](https://github.com/godotengine/godot/pull/110204)). -- Metal: Ensure baked Metal binaries can be loaded on the minimum target OS ([GH-110264](https://github.com/godotengine/godot/pull/110264)). +- Resolve depth buffer in mobile renderer when required ([GH-78598](https://github.com/godotengine/godot/pull/78598)). +- Add methods to draw ellipses ([GH-85080](https://github.com/godotengine/godot/pull/85080)). +- Don't redraw invisible CanvasItems ([GH-90401](https://github.com/godotengine/godot/pull/90401)). +- Use Viewport's 3D Scaling in the 3D editor's Half Resolution option ([GH-93436](https://github.com/godotengine/godot/pull/93436)). +- Implement motion vectors in compatibility renderer ([GH-97151](https://github.com/godotengine/godot/pull/97151)). +- Fix Sprite3D texture bleed when not wrapping ([GH-98122](https://github.com/godotengine/godot/pull/98122)). +- Image: Implement 16-bit unorm and uint formats ([GH-106200](https://github.com/godotengine/godot/pull/106200)). +- DirectX DescriptorsHeap pooling on CPU ([GH-106809](https://github.com/godotengine/godot/pull/106809)). +- Add `white`, `contrast`, and future HDR support to the AgX tonemapper ([GH-106940](https://github.com/godotengine/godot/pull/106940)). +- Implement DirectionalLight3D cull masks in Compatibility ([GH-107384](https://github.com/godotengine/godot/pull/107384)). +- Cache lightprobe generation for lightmap baking ([GH-107400](https://github.com/godotengine/godot/pull/107400)). +- Apply sun scatter from lights with shadows in compatibility ([GH-107740](https://github.com/godotengine/godot/pull/107740)). +- Add missing `vpv.push_back(pv);` in `render_target_get_sdf_texture` ([GH-107763](https://github.com/godotengine/godot/pull/107763)). +- Minor Optimization to Occlusion Culling ([GH-107839](https://github.com/godotengine/godot/pull/107839)). +- Rewrite Radiance and Reflection probes to use Octahedral maps ([GH-107902](https://github.com/godotengine/godot/pull/107902)). +- Use Mat3x4 for model and view transforms to save bandwidth and ALUs ([GH-107923](https://github.com/godotengine/godot/pull/107923)). +- FTI: - Add `multimesh_instances_reset_physics_interpolation()` ([GH-108114](https://github.com/godotengine/godot/pull/108114)). +- Disable unsupported SSR, SSS, DoF on transparent viewports ([GH-108206](https://github.com/godotengine/godot/pull/108206)). +- Metal: Fix `texture_get_data` other linear formats ([GH-108422](https://github.com/godotengine/godot/pull/108422)). +- Compatibility: Set `GL_TEXTURE_MAX_LEVEL` to the number of mipmaps ([GH-108528](https://github.com/godotengine/godot/pull/108528)). +- Add depth resolve to the mobile renderer ([GH-108636](https://github.com/godotengine/godot/pull/108636)). +- Fix clear color being incorrect in `Environment` background with HDR 2D ([GH-108682](https://github.com/godotengine/godot/pull/108682)). +- Compatibility: Explicitly use BC1's RGB variant ([GH-108826](https://github.com/godotengine/godot/pull/108826)). +- Move D3D12's automatic texture clears to RenderingDevice ([GH-108871](https://github.com/godotengine/godot/pull/108871)). +- Add material debanding for use in Mobile rendering method ([GH-109084](https://github.com/godotengine/godot/pull/109084)). +- Add and enable default textures for other samplers ([GH-109143](https://github.com/godotengine/godot/pull/109143)). +- Prompt editor restart when reflection probe size is updated ([GH-109186](https://github.com/godotengine/godot/pull/109186)). +- Compatibility: Fix cubemap faces order when setting texture data ([GH-109299](https://github.com/godotengine/godot/pull/109299)). +- Add ubershader support to material and SDF variants in Forward+ ([GH-109401](https://github.com/godotengine/godot/pull/109401)). +- Make `OpenXRCompositionLayer` and its children safe for multithreaded rendering ([GH-109431](https://github.com/godotengine/godot/pull/109431)). +- Implement a very simple SSAO in GLES3 ([GH-109447](https://github.com/godotengine/godot/pull/109447)). +- Fix spotlight's shadow peter-panning with volumetric fog ([GH-109567](https://github.com/godotengine/godot/pull/109567)). +- Compatibility: Improve ASTC extension detecting ([GH-109778](https://github.com/godotengine/godot/pull/109778)). +- Compatibility: Fix backface culling gets ignored when double-sided shadows are used ([GH-109793](https://github.com/godotengine/godot/pull/109793)). +- Use half float precision buffer for 3D when HDR2D is enabled ([GH-109971](https://github.com/godotengine/godot/pull/109971)). +- LightmapGI: Pack L1 SH coefficients before denoising ([GH-109972](https://github.com/godotengine/godot/pull/109972)). +- OpenXR: Fix ViewportTextures not displaying correct texture (OpenGL) ([GH-110002](https://github.com/godotengine/godot/pull/110002)). +- Divide screen texture by luminance multiplier in compatibility ([GH-110004](https://github.com/godotengine/godot/pull/110004)). +- Overhaul and optimize Glow in the mobile renderer ([GH-110077](https://github.com/godotengine/godot/pull/110077)). +- Fix rounding error in clustered vertex light culling ([GH-110184](https://github.com/godotengine/godot/pull/110184)). +- Clamp minimum size of 3D texture view in D3D12 ([GH-110203](https://github.com/godotengine/godot/pull/110203)). +- Fix `CompositorEffect` not setting post-transparent callback on init ([GH-110249](https://github.com/godotengine/godot/pull/110249)). +- Fix reflection probes not recreating downsampled textures when mode changes ([GH-110330](https://github.com/godotengine/godot/pull/110330)). +- Rename `RDD::MemoryBarrier` to avoid conflicts with the Windows headers ([GH-110360](https://github.com/godotengine/godot/pull/110360)). +- Increase precision of SpotLight attenuation calculation to avoid driver bug on Intel devices ([GH-110363](https://github.com/godotengine/godot/pull/110363)). +- Tweak draw command label names for consistency ([GH-110505](https://github.com/godotengine/godot/pull/110505)). +- Fix Viewport VRS Mode property listing unimplemented Depth buffer option ([GH-110520](https://github.com/godotengine/godot/pull/110520)). +- Fix `TileMapLayer` tiles displaying incorrectly with `y_sort` based on visibility layer ([GH-110550](https://github.com/godotengine/godot/pull/110550)). +- Move check for sky cubemap array back into the SkyRD initializer ([GH-110627](https://github.com/godotengine/godot/pull/110627)). +- Blend glow before tonemapping and change default to screen ([GH-110671](https://github.com/godotengine/godot/pull/110671)). +- Use correct scaling type when falling back to bilinear ([GH-110672](https://github.com/godotengine/godot/pull/110672)). +- Use correct screen-space to ndc equation in Compatibility refraction ([GH-110684](https://github.com/godotengine/godot/pull/110684)). +- Use an array instead of `TightLocalVector` in `RasterizerSceneGLES3::_render_uv2`, to avoid allocation ([GH-110781](https://github.com/godotengine/godot/pull/110781)). +- Fix glow intensity not showing in compatibility renderer ([GH-110843](https://github.com/godotengine/godot/pull/110843)). +- Ensure reflection atlas is valid before rendering ([GH-110853](https://github.com/godotengine/godot/pull/110853)). +- Fix OpenXR with D3D12 using the wrong clip space projection matrix ([GH-110865](https://github.com/godotengine/godot/pull/110865)). +- Use correct AABB for SpotLight3Ds when `spot_angle > 90` ([GH-110884](https://github.com/godotengine/godot/pull/110884)). +- Clear intermediate buffers when not in use in Compatibility ([GH-110915](https://github.com/godotengine/godot/pull/110915)). +- Show centiseconds in LightmapGI bake time printout in the editor ([GH-110937](https://github.com/godotengine/godot/pull/110937)). +- Renderer: Move `reflect_spirv` to `RenderingShaderContainer` ([GH-111013](https://github.com/godotengine/godot/pull/111013)). +- Fix d3d12 stencil buffer not clearing ([GH-111032](https://github.com/godotengine/godot/pull/111032)). +- Sort render list correctly in RD renderers ([GH-111054](https://github.com/godotengine/godot/pull/111054)). +- Always show settings to enable DOF near + far ([GH-111060](https://github.com/godotengine/godot/pull/111060)). +- Fix LightmapGI not being correctly applied to objects ([GH-111125](https://github.com/godotengine/godot/pull/111125)). +- Add Persistent Buffers utilizing UMA ([GH-111183](https://github.com/godotengine/godot/pull/111183)). +- FTI - Optimize non-interpolated 2D items ([GH-111198](https://github.com/godotengine/godot/pull/111198)). +- Overhaul screen-space reflections ([GH-111210](https://github.com/godotengine/godot/pull/111210)). +- Fix scene shader crash due to rename of view matrix and inverse view matrix ([GH-111227](https://github.com/godotengine/godot/pull/111227)). +- Fix warning spam in Compatibility when using depth texture ([GH-111234](https://github.com/godotengine/godot/pull/111234)). +- Always use RenderSceneBuffers to manage backbuffer in Compatibility 3D ([GH-111240](https://github.com/godotengine/godot/pull/111240)). +- Add null check when getting motion vector fbo ([GH-111260](https://github.com/godotengine/godot/pull/111260)). +- Use resolved depth texture for DOF with MSAA in Mobile ([GH-111303](https://github.com/godotengine/godot/pull/111303)). +- Fix D3D12 not checking for fullscreen clear region correctly ([GH-111321](https://github.com/godotengine/godot/pull/111321)). +- Add all PowerVR devices to the transform feedback shader cache ban list ([GH-111329](https://github.com/godotengine/godot/pull/111329)). +- Fix specialization constant patching on D3D12 ([GH-111356](https://github.com/godotengine/godot/pull/111356)). +- Fix incorrect transform calculation in `Camera2D` when using a custom viewport ([GH-111384](https://github.com/godotengine/godot/pull/111384)). +- Fix wrong indices used for transform & UBO matrix for double precision build ([GH-111403](https://github.com/godotengine/godot/pull/111403)). +- Use correct ndc for proximity fade in Compatibility ([GH-111437](https://github.com/godotengine/godot/pull/111437)). +- FTI - Fix `SceneTreeFTI` depth limit behavior ([GH-111444](https://github.com/godotengine/godot/pull/111444)). +- Use re-spirv in the Vulkan driver to optimize shaders ([GH-111452](https://github.com/godotengine/godot/pull/111452)). +- Ensure `uv2_attrib(_input)` is available when rendering lightmap ([GH-111466](https://github.com/godotengine/godot/pull/111466)). +- Apply luminance multiplier in `copy_cubemap_to_panorama` ([GH-111577](https://github.com/godotengine/godot/pull/111577)). +- Use correct shadow material in some cases in Mobile ([GH-111578](https://github.com/godotengine/godot/pull/111578)). +- Fix `CAMERA_VISIBLE_LAYERS` in multiview camera (VR) not aligning with the camera's cull mask ([GH-111596](https://github.com/godotengine/godot/pull/111596)). +- Organize render surface sorting key for optimizing API performance ([GH-111652](https://github.com/godotengine/godot/pull/111652)). +- Fix D3D12 rendering device driver returning pointers to internal types for `get_resource_native_handle` instead of proper D3D12 primitives ([GH-111658](https://github.com/godotengine/godot/pull/111658)). +- Do not begin a new frame during RenderingDevice's shutdown ([GH-111733](https://github.com/godotengine/godot/pull/111733)). +- Fix the LODs array returned by `mesh_get_surface` ([GH-111745](https://github.com/godotengine/godot/pull/111745)). +- Document occlusion debugging in the SDFGI debug probes draw mode in the editor ([GH-111748](https://github.com/godotengine/godot/pull/111748)). +- D3D12: Greatly reduce shader conversion time & fix spec constant bitmasking ([GH-111762](https://github.com/godotengine/godot/pull/111762)). +- Make all unsupported renderer message features consistently warnings ([GH-111806](https://github.com/godotengine/godot/pull/111806)). +- Use `GL_FRAMEBUFFER` instead of `GL_DRAW_FRAMEBUFFER` when doing final blit to the screen framebuffer to work around OBS bug ([GH-111834](https://github.com/godotengine/godot/pull/111834)). +- Round values after renormalization when generating mipmaps ([GH-111841](https://github.com/godotengine/godot/pull/111841)). +- Fix incorrect failure code in `screen_get_framebuffer_format` ([GH-111883](https://github.com/godotengine/godot/pull/111883)). +- Improve `Environment` adjustments (favor old behavior and quality) ([GH-111897](https://github.com/godotengine/godot/pull/111897)). +- Force disable SPIRV debug info on D3D12 ([GH-111912](https://github.com/godotengine/godot/pull/111912)). +- Refactor rendering driver copy APIs to fix D3D12 issues ([GH-111954](https://github.com/godotengine/godot/pull/111954)). +- Sync final frame after finalizing RD to ensure that nothing is in use on the GPU when we free the RD ([GH-111957](https://github.com/godotengine/godot/pull/111957)). +- Insert barriers between subpasses when using enhanced barriers on D3D12 ([GH-111988](https://github.com/godotengine/godot/pull/111988)). +- Revise fog blending to fix over-darkening/borders ([GH-111998](https://github.com/godotengine/godot/pull/111998)). +- 2D: Fix incorrect 2D rendering ([GH-112131](https://github.com/godotengine/godot/pull/112131)). +- Set `DONT_PREFER_SMALL_BUFFERS_COMMITTED` when initializing D3D12MA ([GH-112152](https://github.com/godotengine/godot/pull/112152)). +- Implement point size emulation in the forward shader for D3D12 ([GH-112191](https://github.com/godotengine/godot/pull/112191)). +- TAA adjustment to reduce ghosting ([GH-112196](https://github.com/godotengine/godot/pull/112196)). +- Fix Light2D none shadow filter to use nearest sampling ([GH-112212](https://github.com/godotengine/godot/pull/112212)). +- OpenXR: Fix resizing viewports used by `OpenXRCompositionLayer` ([GH-112227](https://github.com/godotengine/godot/pull/112227)). +- Use proper bitshift for tonemap srgb flag in Forward+ renderer ([GH-112272](https://github.com/godotengine/godot/pull/112272)). +- Create HWND swap chain when window transparency is disabled on D3D12 ([GH-112344](https://github.com/godotengine/godot/pull/112344)). +- Apply viewport oversampling to Polygon2D ([GH-112352](https://github.com/godotengine/godot/pull/112352)). +- Improve rendering driver fallback on Windows ([GH-112384](https://github.com/godotengine/godot/pull/112384)). +- Fix glow visual compatibility regression ([GH-112471](https://github.com/godotengine/godot/pull/112471)). +- Massively optimize canvas 2D rendering by using vertex buffers ([GH-112481](https://github.com/godotengine/godot/pull/112481)). +- Clean up Volumetric Fog blending behavior ([GH-112494](https://github.com/godotengine/godot/pull/112494)). +- CommandQueueMT: Reduce contention + Fix race conditions ([GH-112506](https://github.com/godotengine/godot/pull/112506)). +- Fix incorrect material and mesh thumbnails ([GH-112537](https://github.com/godotengine/godot/pull/112537)). +- Sanitize INF/NaN when copying last frame texture for SSIL/SSR ([GH-112732](https://github.com/godotengine/godot/pull/112732)). +- Reorganize canvas shader varyings in RD renderer ([GH-112800](https://github.com/godotengine/godot/pull/112800)). +- Implement `XR_META_foveation_eye_tracked` ([GH-112888](https://github.com/godotengine/godot/pull/112888)). +- Fix D3D12 renderer crash on Wine ([GH-112911](https://github.com/godotengine/godot/pull/112911)). +- Fix buffer creation on old D3D12 runtimes ([GH-112914](https://github.com/godotengine/godot/pull/112914)). +- Allow reflection probes to only recreate the atlas when switching to real time ([GH-112916](https://github.com/godotengine/godot/pull/112916)). +- Fix inconsistent color clamping between Mobile and Forward+ ([GH-112927](https://github.com/godotengine/godot/pull/112927)). +- 2D: Fix clip children ([GH-112930](https://github.com/godotengine/godot/pull/112930)). +- Add missing mipmaps to `RB_TEX_BACK_COLOR` ([GH-112932](https://github.com/godotengine/godot/pull/112932)). +- Check for Typed UAV Load Additional Formats capability when creating D3D12 device ([GH-112989](https://github.com/godotengine/godot/pull/112989)). +- OpenXR: Fix Vulkan validation errors and get `XR_META_foveation_eye_tracked` working on Meta Quest devices ([GH-112994](https://github.com/godotengine/godot/pull/112994)). +- Fix corruption of D3D12 CPU descriptor heap free blocks ([GH-113000](https://github.com/godotengine/godot/pull/113000)). +- Persistently map staging buffers ([GH-113010](https://github.com/godotengine/godot/pull/113010)). +- Fix all D3D12 object memory leaks ([GH-113106](https://github.com/godotengine/godot/pull/113106)). +- Ensure usage of `DATA_FORMAT_R32_SFLOAT` for depth resolve on Forward+ ([GH-113130](https://github.com/godotengine/godot/pull/113130)). +- Fix `SHADER_UNIFORM_NAMES` for error messages ([GH-113194](https://github.com/godotengine/godot/pull/113194)). +- Fix GLES3 `buffer_free_data` error ([GH-113220](https://github.com/godotengine/godot/pull/113220)). +- Check for pending clears in every RD texture function ([GH-113236](https://github.com/godotengine/godot/pull/113236)). +- Refactor descriptor heaps in D3D12 driver ([GH-113244](https://github.com/godotengine/godot/pull/113244)). +- Fix framebuffers getting cleared multiple times on D3D12 ([GH-113277](https://github.com/godotengine/godot/pull/113277)). +- Fix VoxelGI glossy reflection artifacts ([GH-113334](https://github.com/godotengine/godot/pull/113334)). +- D3D12: Convert non-critical startup warnings to verbose prints ([GH-113372](https://github.com/godotengine/godot/pull/113372)). +- Set shader path before compilation ([GH-113432](https://github.com/godotengine/godot/pull/113432)). +- Add Adreno workaround to Mobile post process shader ([GH-113467](https://github.com/godotengine/godot/pull/113467)). +- Use AABB center instead of origin for visibility fade ([GH-113486](https://github.com/godotengine/godot/pull/113486)). +- Fix radiance/reflection fallback texture types ([GH-113507](https://github.com/godotengine/godot/pull/113507)). +- Update re-spirv with bugfix for function result decorations ([GH-113582](https://github.com/godotengine/godot/pull/113582)). +- Fix bad D3D12 SRV breaking MSAA with OpenXR ([GH-113585](https://github.com/godotengine/godot/pull/113585)). +- Change `environment_get_glow_hdr_bleed_threshold` error handling ([GH-113599](https://github.com/godotengine/godot/pull/113599)). +- Check if sun scatter is enabled when using `SKY_MODE_AUTOMATIC` ([GH-113609](https://github.com/godotengine/godot/pull/113609)). +- Update Mesa NIR to 25.3.1 + Make each SPIR-V -> DXIL conversion thread allocate from its own heap ([GH-113618](https://github.com/godotengine/godot/pull/113618)). +- Check pipeline validity before freeing pipelines in PipelineDeferredRD ([GH-113660](https://github.com/godotengine/godot/pull/113660)). +- Fix re-spirv null pointer crash on invalid SPIR-V parsing ([GH-113708](https://github.com/godotengine/godot/pull/113708)). +- Fix Vulkan failing to initialize when compiling without D3D12 ([GH-113741](https://github.com/godotengine/godot/pull/113741)). +- Fix D3D12 looking blurry in the editor at fullscreen ([GH-113744](https://github.com/godotengine/godot/pull/113744)). +- Clear depth stencil textures on first use if the RDD requires it ([GH-113842](https://github.com/godotengine/godot/pull/113842)). +- Mobile: Fix clearcoat shader compilation error ([GH-113844](https://github.com/godotengine/godot/pull/113844)). +- Fix `SYNC_ALL` bit getting masked out on D3D12 ([GH-113893](https://github.com/godotengine/godot/pull/113893)). +- Fix D3D12 device not getting created with Agility SDK ([GH-114040](https://github.com/godotengine/godot/pull/114040)). +- Upgrade Agility SDK & DirectX Headers ([GH-114043](https://github.com/godotengine/godot/pull/114043)). +- RenderingDevice: Add null checks when retrieving uniform sets ([GH-114073](https://github.com/godotengine/godot/pull/114073)). +- Fix incorrect resource state when discarding MSAA textures in D3D12 ([GH-114146](https://github.com/godotengine/godot/pull/114146)). +- OpenGL: Split the ubos for motion vectors into separate uniforms ([GH-114175](https://github.com/godotengine/godot/pull/114175)). +- Skip MSAA2D when OpenXR is used ([GH-114180](https://github.com/godotengine/godot/pull/114180)). +- Pass consistent viewport and screen sizes to fix point size emulation ([GH-114194](https://github.com/godotengine/godot/pull/114194)). +- Fix OpenGL motion vector regression ([GH-114227](https://github.com/godotengine/godot/pull/114227)). +- Avoid singularity during sky filtering ([GH-114279](https://github.com/godotengine/godot/pull/114279)). +- Fix real time reflection probes being constantly recreated ([GH-114281](https://github.com/godotengine/godot/pull/114281)). +- Create new pools when they become fragmented on Vulkan ([GH-114313](https://github.com/godotengine/godot/pull/114313)). +- Fall back to octmap raster path on certain devices & fix issues with the shaders ([GH-114314](https://github.com/godotengine/godot/pull/114314)). +- Implement workaround for GPU driver crash on Adreno 5XX ([GH-114416](https://github.com/godotengine/godot/pull/114416)). +- Handle `RGB10_A2` storage format in octmap shaders ([GH-114419](https://github.com/godotengine/godot/pull/114419)). +- Create separate graphics queue instead of reusing the main queue when transfer queue family is unsupported ([GH-114476](https://github.com/godotengine/godot/pull/114476)). +- Remove amplification & mesh shader deny flags on D3D12 ([GH-114615](https://github.com/godotengine/godot/pull/114615)). +- Fix DXIL view instancing workaround not getting applied correctly ([GH-114645](https://github.com/godotengine/godot/pull/114645)). +- Always add Vulkan descriptor count for immutable samplers to descriptor pool ([GH-114657](https://github.com/godotengine/godot/pull/114657)). +- Prevent SSR from getting affected by specular occlusion ([GH-114727](https://github.com/godotengine/godot/pull/114727)). +- Workaround crash in pipeline creation on Intel Mesa devices by avoiding using half floats in derivative functions ([GH-114765](https://github.com/godotengine/godot/pull/114765)). +- Metal: Fix dynamic uniform buffer offset corruption when rebinding sets ([GH-114778](https://github.com/godotengine/godot/pull/114778)). +- Fix MSAA crashing Mali GPUs when using subpasses ([GH-114785](https://github.com/godotengine/godot/pull/114785)). +- Use luminance multiplier for sky background when using mobile renderer with HDR2D ([GH-114804](https://github.com/godotengine/godot/pull/114804)). +- Fix downsampled radiance map generation ([GH-114907](https://github.com/godotengine/godot/pull/114907)). +- Overhaul compute shader based environment roughness calculation to improve performance and quality ([GH-114908](https://github.com/godotengine/godot/pull/114908)). +- Fix buffers in D3D12 not getting cleared with the right usage ([GH-114982](https://github.com/godotengine/godot/pull/114982)). +- Do not store SPIR-V in memory unless pipeline statistics are used ([GH-115049](https://github.com/godotengine/godot/pull/115049)). +- Increase precision of ninepatch source rect to ensure pixel perfect alignment ([GH-115152](https://github.com/godotengine/godot/pull/115152)). +- Add Fossilize to the disabled Vulkan layer list for the editor ([GH-115166](https://github.com/godotengine/godot/pull/115166)). +- Fix stale reference bug in FramebufferCache ([GH-115299](https://github.com/godotengine/godot/pull/115299)). #### Shaders -- Expose built-in region information ([GH-90436](https://github.com/godotengine/godot/pull/90436)). -- Re-organize UI in the shader editor ([GH-100287](https://github.com/godotengine/godot/pull/100287)). -- Replace `VMap` used in `VisualShader` with `HashMap` and remove `VMap` ([GH-100446](https://github.com/godotengine/godot/pull/100446)). -- Allow constants and expressions in `hint_range` ([GH-102289](https://github.com/godotengine/godot/pull/102289)). -- Allow `default` case at the top of a switch scope in shaders ([GH-103177](https://github.com/godotengine/godot/pull/103177)). -- Fix 2D instance params crashing using outside of `main()` ([GH-103348](https://github.com/godotengine/godot/pull/103348)). -- Fix "unused varying" incorrect warning in shaders ([GH-103434](https://github.com/godotengine/godot/pull/103434)). -- 2D: Fix light shader accessing `TEXTURE_PIXEL_SIZE` ([GH-103617](https://github.com/godotengine/godot/pull/103617)). -- Fix missing alpha input for visual shaders ([GH-103886](https://github.com/godotengine/godot/pull/103886)). -- Limit error messages in CodeTextEditor to 2 lines length ([GH-104739](https://github.com/godotengine/godot/pull/104739)). -- Shader: Fix `bvec` to variant conversion ([GH-104880](https://github.com/godotengine/godot/pull/104880)). -- Unify Scripts Panel naming for the script and shader editors ([GH-105124](https://github.com/godotengine/godot/pull/105124)). -- Make shader editor menu position consistent with script editor ([GH-105183](https://github.com/godotengine/godot/pull/105183)). -- Web: Optimize `GL.getSource` for known-length shader sources ([GH-105833](https://github.com/godotengine/godot/pull/105833)). -- Remove duplicated entries from shader built-ins ([GH-106248](https://github.com/godotengine/godot/pull/106248)). -- Fix shader compiler crash when parsing case labels with non-existent vars ([GH-106781](https://github.com/godotengine/godot/pull/106781)). -- Vulkan Mobile: Fix reading builtins in `light()` of spatial shader ([GH-107404](https://github.com/godotengine/godot/pull/107404)). -- Fix global shader texture uniform ([GH-107475](https://github.com/godotengine/godot/pull/107475)). -- Prevent ternary expression with a sampler types in shaders ([GH-107724](https://github.com/godotengine/godot/pull/107724)). -- Add missing input transform to visual shader preview ([GH-107729](https://github.com/godotengine/godot/pull/107729)). -- Fix shader function overloads with incorrect order ([GH-108085](https://github.com/godotengine/godot/pull/108085)). -- Fix shader editor auto-opens on startup ([GH-108295](https://github.com/godotengine/godot/pull/108295)). -- Visual Shader State Persistence - Type Fixes ([GH-108620](https://github.com/godotengine/godot/pull/108620)). -- Sort bent normal output at the bottom to prevent visual shader breakage ([GH-108630](https://github.com/godotengine/godot/pull/108630)). -- Fix shader editor menu switch on hover for file button ([GH-108877](https://github.com/godotengine/godot/pull/108877)). -- Improve shader overloaded function error reporting ([GH-109548](https://github.com/godotengine/godot/pull/109548)). -- Make shader editor menu position consistent between shader languages ([GH-109973](https://github.com/godotengine/godot/pull/109973)). +- Optimize the custom doc for shaders ([GH-97616](https://github.com/godotengine/godot/pull/97616)). +- Visual Shader: Fix nodes' relative positions changed in a different display scale ([GH-97620](https://github.com/godotengine/godot/pull/97620)). +- Focus shader text editor when opened with quick open dialog ([GH-102193](https://github.com/godotengine/godot/pull/102193)). +- Tweak high-end mark in the visual shader editor's node creation dialog ([GH-103340](https://github.com/godotengine/godot/pull/103340)). +- Don't save code property of VisualShader ([GH-109021](https://github.com/godotengine/godot/pull/109021)). +- Fix VisualShader conversion failing with subresources ([GH-109375](https://github.com/godotengine/godot/pull/109375)). +- Clean up ShaderEditor shortcuts ([GH-109775](https://github.com/godotengine/godot/pull/109775)). +- Organize toggle files button logic in shader editor ([GH-109998](https://github.com/godotengine/godot/pull/109998)). +- Clean up some things in shader editor code ([GH-109999](https://github.com/godotengine/godot/pull/109999)). +- Fix invalid suggested file name when saving resource from a scene that hasn't been saved yet ([GH-110231](https://github.com/godotengine/godot/pull/110231)). +- Fix shader compilation errors in Compatibility when using `depth_texture` ([GH-110241](https://github.com/godotengine/godot/pull/110241)). +- Fix ternary expression for structs in shaders ([GH-111277](https://github.com/godotengine/godot/pull/111277)). +- Fix error when compute shaders contain Unicode comment ([GH-111703](https://github.com/godotengine/godot/pull/111703)). +- Fix ParameterRef connection through reroute in visual shaders ([GH-112058](https://github.com/godotengine/godot/pull/112058)). +- Separate visual shader code out of shader editor plugin and dialog ([GH-112100](https://github.com/godotengine/godot/pull/112100)). +- Few fixes for expression node in visual shaders ([GH-112124](https://github.com/godotengine/godot/pull/112124)). +- Add `instance_index` option to parameters in visual shaders ([GH-112538](https://github.com/godotengine/godot/pull/112538)). +- Fix false positive `discard` and `frag_only` errors in gdshaderinc files ([GH-112551](https://github.com/godotengine/godot/pull/112551)). +- Apply `PREMUL_ALPHA_FACTOR` only in non-split-specular shader variants ([GH-112801](https://github.com/godotengine/godot/pull/112801)). +- Use new dock system for Shader Editor Dock ([GH-113181](https://github.com/godotengine/godot/pull/113181)). +- Move initialization check for CanvasMaterial ([GH-113650](https://github.com/godotengine/godot/pull/113650)). +- Fix shader editor filename not updating after file rename ([GH-113703](https://github.com/godotengine/godot/pull/113703)). +- VisualShader: Fix the eta input from the refract node ([GH-113728](https://github.com/godotengine/godot/pull/113728)). +- VisualShader: Fix new node spawning position with display scaling ([GH-113974](https://github.com/godotengine/godot/pull/113974)). +- VisualShader: Fix refract node setup ([GH-114063](https://github.com/godotengine/godot/pull/114063)). +- Add compatibility handler to `RADIANCE` in sky shaders ([GH-114773](https://github.com/godotengine/godot/pull/114773)). #### Tests -- Add getter tests for dynamic fonts ([GH-81503](https://github.com/godotengine/godot/pull/81503)). -- Add check for argument name validity ([GH-94798](https://github.com/godotengine/godot/pull/94798)). -- Core: Add `constexpr` constructors/operators to math structs ([GH-98768](https://github.com/godotengine/godot/pull/98768)). -- Fix `SCRIPT ERROR/ERROR/WARNING` on test output ([GH-103663](https://github.com/godotengine/godot/pull/103663)). -- Remove `build_array()` and `build_dictionary()` from tests ([GH-104735](https://github.com/godotengine/godot/pull/104735)). -- Add `THREADS_ENABLED` check before RID thread tests ([GH-105157](https://github.com/godotengine/godot/pull/105157)). -- Test for insertion at array's size ([GH-105428](https://github.com/godotengine/godot/pull/105428)). -- Delete test cache before running it ([GH-105848](https://github.com/godotengine/godot/pull/105848)). -- Fix tests that fail when alone ([GH-106129](https://github.com/godotengine/godot/pull/106129)). -- Fix `--test` help option not showing in template builds ([GH-106130](https://github.com/godotengine/godot/pull/106130)). -- Add unit tests for Sprite2D ([GH-106574](https://github.com/godotengine/godot/pull/106574)). -- Don't hard-code test path when deleting test data ([GH-106749](https://github.com/godotengine/godot/pull/106749)). -- Fix infinite recursion on `GDScriptTests` if a script cannot be reloaded ([GH-106976](https://github.com/godotengine/godot/pull/106976)). -- Fix Resource Duplication test errors ([GH-107516](https://github.com/godotengine/godot/pull/107516)). -- Fix tests warning line break strictness project setting ([GH-107517](https://github.com/godotengine/godot/pull/107517)). -- Fix unfiltered error output in tests ([GH-109094](https://github.com/godotengine/godot/pull/109094)). +- Add unit tests for `Decal` ([GH-93463](https://github.com/godotengine/godot/pull/93463)). +- Remove stress unit tests ([GH-104793](https://github.com/godotengine/godot/pull/104793)). +- Use ProjectSettings path functions instead of hard-coded folder names in tests ([GH-108170](https://github.com/godotengine/godot/pull/108170)). +- Add more `Array` tests ([GH-110097](https://github.com/godotengine/godot/pull/110097)). +- Image: Make `fill` method also fill the mipmaps ([GH-110247](https://github.com/godotengine/godot/pull/110247)). +- Add Android instrumented tests to the `app` module ([GH-110829](https://github.com/godotengine/godot/pull/110829)). +- Core: Remove `skip_cr` argument from `String` ([GH-110867](https://github.com/godotengine/godot/pull/110867)). +- Fix compilation failure in resource test file ([GH-111345](https://github.com/godotengine/godot/pull/111345)). +- Core: Support `INF`/`NAN` in JSON from/to native ([GH-111522](https://github.com/godotengine/godot/pull/111522)). +- Add more `Dictionary` tests ([GH-112259](https://github.com/godotengine/godot/pull/112259)). +- Fix profiler cleanup with `--test` ([GH-113557](https://github.com/godotengine/godot/pull/113557)). #### Thirdparty -- embree: Update to 4.4.0 ([GH-101345](https://github.com/godotengine/godot/pull/101345)). -- libwebp: Update to 1.5.0 ([GH-101348](https://github.com/godotengine/godot/pull/101348)). -- clipper2: Update to 1.5.2 ([GH-102661](https://github.com/godotengine/godot/pull/102661)). -- Theora: Fix YUV422/444 to RGB conversion ([GH-102859](https://github.com/godotengine/godot/pull/102859)). -- tinyexr: Update to 1.0.12 ([GH-102996](https://github.com/godotengine/godot/pull/102996)). -- Update to latest version of Swappy ([GH-103409](https://github.com/godotengine/godot/pull/103409)). -- Update HarfBuzz to 10.4.0 ([GH-103491](https://github.com/godotengine/godot/pull/103491)). -- Update FreeType to 2.13.3 ([GH-103492](https://github.com/godotengine/godot/pull/103492)). -- ICU4C: Update to version 77.1 ([GH-104104](https://github.com/godotengine/godot/pull/104104)). -- libpng: Update to 1.6.47 ([GH-104255](https://github.com/godotengine/godot/pull/104255)). -- thorvg: Update to 0.15.11 ([GH-104304](https://github.com/godotengine/godot/pull/104304)). -- pcre2: Update to 10.45 ([GH-104521](https://github.com/godotengine/godot/pull/104521)). -- mbedTLS: Update to version 3.6.3 ([GH-104562](https://github.com/godotengine/godot/pull/104562)). -- thorvg: Update to 0.15.12 ([GH-105093](https://github.com/godotengine/godot/pull/105093)). -- ufbx: Update to 0.18.0 ([GH-105096](https://github.com/godotengine/godot/pull/105096)). -- Update HarfBuzz to 11.2.1 ([GH-105480](https://github.com/godotengine/godot/pull/105480)). -- basis_universal: Rediff patches, remove Windows encoding fix ([GH-105856](https://github.com/godotengine/godot/pull/105856)). -- manifold: Update to 3.1.1 ([GH-106465](https://github.com/godotengine/godot/pull/106465)). -- Correct libjpeg-turbo patches ([GH-106467](https://github.com/godotengine/godot/pull/106467)). -- Update `qoa.h` to latest git ([GH-106602](https://github.com/godotengine/godot/pull/106602)). -- certs: Sync with upstream as of Apr 8 2025 ([GH-106615](https://github.com/godotengine/godot/pull/106615)). -- Update OpenXR to 1.1.47 ([GH-106616](https://github.com/godotengine/godot/pull/106616)). -- AccessKit: Update API to 0.16.0 ([GH-106659](https://github.com/godotengine/godot/pull/106659)). -- Update meshoptimizer to v0.23 ([GH-106740](https://github.com/godotengine/godot/pull/106740)). -- ufbx: Update to 0.18.2 ([GH-106851](https://github.com/godotengine/godot/pull/106851)). -- Fix `unzSeekCurrentFile` not resetting `total_out_64` ([GH-106869](https://github.com/godotengine/godot/pull/106869)). -- thorvg: Update to 0.15.13 ([GH-106885](https://github.com/godotengine/godot/pull/106885)). -- clipper2: Update to 1.5.3 ([GH-107026](https://github.com/godotengine/godot/pull/107026)). -- libpng: Update to 1.6.48 (+ cleanup thirdparty docs) ([GH-107155](https://github.com/godotengine/godot/pull/107155)). -- doctest: Update to 2.4.12 ([GH-107158](https://github.com/godotengine/godot/pull/107158)). -- openxr: Update to 1.1.48 ([GH-107159](https://github.com/godotengine/godot/pull/107159)). -- msdfgen: Update to 1.12.1 ([GH-107160](https://github.com/godotengine/godot/pull/107160)). -- miniupnpc: Update to 2.3.3 ([GH-107161](https://github.com/godotengine/godot/pull/107161)). -- libktx: Update to 4.4.0 ([GH-107163](https://github.com/godotengine/godot/pull/107163)). -- libtheora: Update to 1.2.0 ([GH-107190](https://github.com/godotengine/godot/pull/107190)). -- clipper2: Update to 1.5.4 ([GH-107314](https://github.com/godotengine/godot/pull/107314)). -- OpenXR: Update to 1.1.49 ([GH-107386](https://github.com/godotengine/godot/pull/107386)). -- ufbx: Update to 0.20.0 ([GH-107956](https://github.com/godotengine/godot/pull/107956)). -- Sync controller mappings DB with SDL community repo ([GH-107962](https://github.com/godotengine/godot/pull/107962)). -- Fix SDL threading on macOS/Linux ([GH-107963](https://github.com/godotengine/godot/pull/107963)). -- Specify Apache license version for Grisu2 ([GH-108400](https://github.com/godotengine/godot/pull/108400)). -- Update manifold to upstream commit 76208dc ([GH-108655](https://github.com/godotengine/godot/pull/108655)). -- Fix ICU support data loading ([GH-108806](https://github.com/godotengine/godot/pull/108806)). -- harfbuzz: Update to 11.3.2 ([GH-108859](https://github.com/godotengine/godot/pull/108859)). -- Update access-kit to 0.17.0 ([GH-108924](https://github.com/godotengine/godot/pull/108924)). -- Add two missing SDL patches to the `README.md` ([GH-108927](https://github.com/godotengine/godot/pull/108927)). -- TVG: Use heap for XML parser allocs ([GH-109530](https://github.com/godotengine/godot/pull/109530)). +- access-kit: Update to 0.18.0 ([GH-113990](https://github.com/godotengine/godot/pull/113990)). +- basis_universal: Sync with latest Git to solve more warnings ([GH-111445](https://github.com/godotengine/godot/pull/111445)). +- brotli: Update to 1.2.0 ([GH-113935](https://github.com/godotengine/godot/pull/113935)). +- certs: Sync with Mozilla bundle as of Dec 4, 2025 ([GH-113936](https://github.com/godotengine/godot/pull/113936)). +- freetype: Update missing info from FreeType 2.14.1 ([GH-111572](https://github.com/godotengine/godot/pull/111572)). +- freetype: Update to 2.14.1 ([GH-112411](https://github.com/godotengine/godot/pull/112411)). +- grisu2: Rediff patch and sync with latest upstream commit ([GH-113982](https://github.com/godotengine/godot/pull/113982)). +- harfbuzz: Update to 12.2.0 ([GH-112408](https://github.com/godotengine/godot/pull/112408)). +- icu: Update to 78.1 ([GH-112410](https://github.com/godotengine/godot/pull/112410)). +- libdecor: Regenerate dynamic wrapper ([GH-114081](https://github.com/godotengine/godot/pull/114081)). +- libjpeg-turbo: Update to 3.1.3 ([GH-113945](https://github.com/godotengine/godot/pull/113945)). +- libktx: Update to 4.4.2 ([GH-113960](https://github.com/godotengine/godot/pull/113960)). +- libogg: Update to 1.3.6 ([GH-108224](https://github.com/godotengine/godot/pull/108224)). +- libpng: Update to 1.6.53 ([GH-113961](https://github.com/godotengine/godot/pull/113961)). +- libwebp: Update to 1.6.0 ([GH-113963](https://github.com/godotengine/godot/pull/113963)). +- manifold: Update to 3.3.2 ([GH-113964](https://github.com/godotengine/godot/pull/113964)). +- meshoptimizer: Update to 1.0 ([GH-113983](https://github.com/godotengine/godot/pull/113983)). +- msdfgen: Update to 1.13 ([GH-113965](https://github.com/godotengine/godot/pull/113965)). +- openxr: Update to 1.1.54 ([GH-114026](https://github.com/godotengine/godot/pull/114026)). +- pcre2: Update to 10.47 ([GH-113967](https://github.com/godotengine/godot/pull/113967)). +- sdl: Update to 3.2.28 ([GH-113968](https://github.com/godotengine/godot/pull/113968)). +- thorvg: Update to 0.15.16 ([GH-109651](https://github.com/godotengine/godot/pull/109651)). +- wayland-protocols: Update to 1.45 ([GH-107693](https://github.com/godotengine/godot/pull/107693)). +- zlib/minizip: Update to version 1.3.1.2 ([GH-113933](https://github.com/godotengine/godot/pull/113933)). #### XR -- Implement `XR_EXT_performance_settings` OpenXR extension ([GH-101597](https://github.com/godotengine/godot/pull/101597)). -- Add support for the OpenXR futures extension ([GH-101951](https://github.com/godotengine/godot/pull/101951)). -- Implement OpenXR FB swapchain update extensions ([GH-101999](https://github.com/godotengine/godot/pull/101999)). -- OpenXR: Expose more system info from `XrSystemProperties` ([GH-102869](https://github.com/godotengine/godot/pull/102869)). -- OpenXR: Add controller interaction profile for Pico 4 Ultra ([GH-103234](https://github.com/godotengine/godot/pull/103234)). -- Allow to compile the engine without XR support ([GH-103267](https://github.com/godotengine/godot/pull/103267)). -- OpenXR: Support alternative reference spaces from extensions ([GH-103643](https://github.com/godotengine/godot/pull/103643)). -- Fix build errors when building with `disable_xr=yes` ([GH-103778](https://github.com/godotengine/godot/pull/103778)). -- Add support for running hybrid apps from the XR editor ([GH-103972](https://github.com/godotengine/godot/pull/103972)). -- OpenXR: Fix OpenGL version warning when using GLES ([GH-103973](https://github.com/godotengine/godot/pull/103973)). -- OpenXR: Clean-up `OpenXRExtensionWrapper` by removing multiple inheritance and deprecating `OpenXRExtensionWrapperExtension` ([GH-104087](https://github.com/godotengine/godot/pull/104087)). -- Add support for Direct3D 12 OpenXR backend ([GH-104207](https://github.com/godotengine/godot/pull/104207)). -- Deactivate the `CameraServer` by default ([GH-104232](https://github.com/godotengine/godot/pull/104232)). -- Correct occlusion culling viewport location calculation when projection uses asymmetric FOV ([GH-104249](https://github.com/godotengine/godot/pull/104249)). -- Editor: Replace TextEdit with EditorSpinSlider for XR Action Set Priority ([GH-104461](https://github.com/godotengine/godot/pull/104461)). -- Add tooltips to OpenXR Action Map UI ([GH-104465](https://github.com/godotengine/godot/pull/104465)). -- Enable composition layer fallback in panel mode ([GH-104470](https://github.com/godotengine/godot/pull/104470)). -- Avoid doctools attempting to query the `CameraServer` to infer a default value for `camera_is_active` ([GH-104582](https://github.com/godotengine/godot/pull/104582)). -- Ensure the composition layer is registered when the layer viewport is updated ([GH-104658](https://github.com/godotengine/godot/pull/104658)). -- macOS: Allow users to select Continuity Camera ([GH-104857](https://github.com/godotengine/godot/pull/104857)). -- Automatically activate camera monitoring when using `CameraTexture` ([GH-104971](https://github.com/godotengine/godot/pull/104971)). -- Fix OpenXR Action Map GUI not scaling according to Editor Scale ([GH-105072](https://github.com/godotengine/godot/pull/105072)). -- Add singleton check before adding webxr interface ([GH-105206](https://github.com/godotengine/godot/pull/105206)). -- OpenXR: Request the `XR_KHR_loader_init` extension ([GH-105445](https://github.com/godotengine/godot/pull/105445)). -- OpenXR: Fix saving action map when UID is used in project settings ([GH-105624](https://github.com/godotengine/godot/pull/105624)). -- OpenXR: Fix building foveation extension without Vulkan ([GH-105708](https://github.com/godotengine/godot/pull/105708)). -- OpenXR: Fix building with Wayland support and `opengl3=no` ([GH-105711](https://github.com/godotengine/godot/pull/105711)). -- Fix camera feed device order on Linux ([GH-105734](https://github.com/godotengine/godot/pull/105734)). -- Enable game window close button on PicoOS ([GH-105912](https://github.com/godotengine/godot/pull/105912)). -- Enable XR play mode options in the regular editor ([GH-106077](https://github.com/godotengine/godot/pull/106077)). -- Add CameraFeed support for Android ([GH-106094](https://github.com/godotengine/godot/pull/106094)). -- Physics Interpolation - Fix XR Nodes to work with `SceneTreeFTI` ([GH-106109](https://github.com/godotengine/godot/pull/106109)). -- OpenXR Futures: Add return value support ([GH-106738](https://github.com/godotengine/godot/pull/106738)). -- Fix the `CAMERA` permission request on HorizonOS devices ([GH-107184](https://github.com/godotengine/godot/pull/107184)). -- Add new joints to `XrBodyTracker` ([GH-107220](https://github.com/godotengine/godot/pull/107220)). -- WebXR: Better errors when WebXR Layers or multiview are unavailable ([GH-107288](https://github.com/godotengine/godot/pull/107288)). -- OpenXR: Add support for render models extension ([GH-107388](https://github.com/godotengine/godot/pull/107388)). -- OpenXR: Only run xrSyncActions when application has focus ([GH-107619](https://github.com/godotengine/godot/pull/107619)). -- Rename `OpenXRInterface.OpenXrSessionState` to `OpenXRInterface.SessionState` ([GH-107710](https://github.com/godotengine/godot/pull/107710)). -- Adjust names of new `XRBodyTracker` joints ([GH-107715](https://github.com/godotengine/godot/pull/107715)). -- FTI: - Change `SceneTree` global setting to static ([GH-107886](https://github.com/godotengine/godot/pull/107886)). -- Add `CameraServer` `feeds_updated` signal, and document async behavior ([GH-108165](https://github.com/godotengine/godot/pull/108165)). -- Add missing OpenXR paths to /user/vive_tracker_htcx ([GH-108511](https://github.com/godotengine/godot/pull/108511)). -- Fix error spam when hands are not tracked ([GH-108537](https://github.com/godotengine/godot/pull/108537)). -- Fix camera removal detection after toggling monitoring on Linux ([GH-108584](https://github.com/godotengine/godot/pull/108584)). -- Misc XR editor updates ([GH-108841](https://github.com/godotengine/godot/pull/108841)). -- OpenXR: Work around bug with Meta runtime on 1.0.49 ([GH-108869](https://github.com/godotengine/godot/pull/108869)). -- Update the OpenXR Vendors plugin for the XR editor to the latest stable version ([GH-108956](https://github.com/godotengine/godot/pull/108956)). -- OpenXR: Fix required extension tooltip ([GH-109289](https://github.com/godotengine/godot/pull/109289)). -- OpenXR: Use GLTFDocument function to get supported extension names ([GH-109630](https://github.com/godotengine/godot/pull/109630)). -- Fix missing layer provider setup when setting Surface after visibility ([GH-109647](https://github.com/godotengine/godot/pull/109647)). -- OpenXR: Fix default action map entry for Vive Focus 3 ([GH-109856](https://github.com/godotengine/godot/pull/109856)). +- Expose `CameraFeed::set_ycbcr_images` ([GH-106237](https://github.com/godotengine/godot/pull/106237)). +- OpenXR: Add core support for Khronos loader ([GH-106891](https://github.com/godotengine/godot/pull/106891)). +- OpenXR: Add support for spatial entities extension ([GH-107391](https://github.com/godotengine/godot/pull/107391)). +- Use of `XrSwapchainCreateFlags` for `OpenXRCompositionLayer` ([GH-108644](https://github.com/godotengine/godot/pull/108644)). +- Add OpenXR 1.1 support ([GH-109302](https://github.com/godotengine/godot/pull/109302)). +- OpenXR: Safely set environment blend mode when rendering on a separate thread ([GH-109532](https://github.com/godotengine/godot/pull/109532)). +- OpenXR: Prevent adding/removing extension wrappers after session start ([GH-109533](https://github.com/godotengine/godot/pull/109533)). +- Add `XR_META_hand_tracking_microgestures` action paths ([GH-109611](https://github.com/godotengine/godot/pull/109611)). +- OpenXR: Add support for frame synthesis ([GH-109803](https://github.com/godotengine/godot/pull/109803)). +- OpenXR: Fix errors reported by `XrApiLayer_core_validation` ([GH-109969](https://github.com/godotengine/godot/pull/109969)). +- Add `quest3s` to the list of supported devices ([GH-110465](https://github.com/godotengine/godot/pull/110465)). +- Fix XR tracker name changing at runtime ([GH-110703](https://github.com/godotengine/godot/pull/110703)). +- Android: Handle `YUV_420_888` strides correctly in CameraFeed ([GH-110720](https://github.com/godotengine/godot/pull/110720)). +- Fix late destruction access violation with OpenXRAPIExtension object ([GH-110868](https://github.com/godotengine/godot/pull/110868)). +- Use const ref parameters in the OpenXR module ([GH-110948](https://github.com/godotengine/godot/pull/110948)). +- More XR disable for Viewport and export ([GH-111185](https://github.com/godotengine/godot/pull/111185)). +- Emit `format_changed` on CameraFeed datatype change ([GH-111206](https://github.com/godotengine/godot/pull/111206)). +- Fix small code layout issue in persistence scope initialization ([GH-111307](https://github.com/godotengine/godot/pull/111307)). +- Ensure `XrRenderModelPropertiesEXT::type` is initialized ([GH-111434](https://github.com/godotengine/godot/pull/111434)). +- Make `XRPose` only set name on creation instead of on pose update ([GH-111538](https://github.com/godotengine/godot/pull/111538)). +- Fix compilation errors when `disable_xr=yes` ([GH-111663](https://github.com/godotengine/godot/pull/111663)). +- Android: Deprecate and remove vendors specific XR APIs ([GH-111870](https://github.com/godotengine/godot/pull/111870)). +- Android: Stabilize camera lifecycle handling ([GH-111871](https://github.com/godotengine/godot/pull/111871)). +- Android editor: Add support for Android XR devices to the Godot XR Editor ([GH-112777](https://github.com/godotengine/godot/pull/112777)). +- Support reading available OpenXR runtimes from Windows registry ([GH-112884](https://github.com/godotengine/godot/pull/112884)). +- Implement `XR_KHR_android_thread_settings` ([GH-112889](https://github.com/godotengine/godot/pull/112889)). +- OpenXR: Add `OpenXRAPIExtension::update_main_swapchain_size()` ([GH-112890](https://github.com/godotengine/godot/pull/112890)). +- OpenXR: Add profiling macro for process, `xrWaitFrame()` and acquiring swapchain ([GH-112893](https://github.com/godotengine/godot/pull/112893)). +- Android editor: Ensure that the Android editor properly passes hybrid data when switching mode ([GH-112928](https://github.com/godotengine/godot/pull/112928)). +- OpenXR: Implement `play_area_changed` signal ([GH-113062](https://github.com/godotengine/godot/pull/113062)). +- Check if OpenXR is enabled with feature tags of export preset ([GH-113161](https://github.com/godotengine/godot/pull/113161)). +- Fix `OpenXRExportPlugin::_get_name() must be overridden` error ([GH-113191](https://github.com/godotengine/godot/pull/113191)). +- Update the shortcuts to play current / specific scene based on the last selected XR run mode option ([GH-113387](https://github.com/godotengine/godot/pull/113387)). +- OpenXR: Fix building with `vulkan=no` ([GH-113460](https://github.com/godotengine/godot/pull/113460)). +- Update the version of the OpenXR Vendors plugin to the latest stable version ([GH-113639](https://github.com/godotengine/godot/pull/113639)). +- Fix OpenXR build failure when glTF module is disabled ([GH-113713](https://github.com/godotengine/godot/pull/113713)). +- OpenXR: Add Valve Frame controller support ([GH-113785](https://github.com/godotengine/godot/pull/113785)). +- OpenXR: Only obtain `xrCreateSwapchainAndroidSurfaceKHR` extension if available ([GH-113788](https://github.com/godotengine/godot/pull/113788)). +- Add Steam to the description of the Steam Frame controller ([GH-113820](https://github.com/godotengine/godot/pull/113820)). +- OpenXR: Use the DPAD extension constant ([GH-113824](https://github.com/godotengine/godot/pull/113824)). +- Add XROrigin3D scale warning ([GH-113979](https://github.com/godotengine/godot/pull/113979)). +- Hide properties on XRCamera3D that are managed by XRInterface ([GH-114057](https://github.com/godotengine/godot/pull/114057)). +- OpenXR: Remove version hack to workaround Meta aim pose issue that is now fixed ([GH-114132](https://github.com/godotengine/godot/pull/114132)). +- OpenXR: Don't create a visibility mask mesh without data ([GH-114181](https://github.com/godotengine/godot/pull/114181)). +- Android editor: Restrict Android editor support for hybrid app projects to XR devices ([GH-114465](https://github.com/godotengine/godot/pull/114465)). +- Reword OpenXR initialization failure alert message ([GH-114630](https://github.com/godotengine/godot/pull/114630)). +- Fix OpenXR depth submission data dropped ([GH-114697](https://github.com/godotengine/godot/pull/114697)). +- OpenXR: Change profile name for Valve Frame Controller ([GH-114784](https://github.com/godotengine/godot/pull/114784)). +- Fix XROrigin3D scale warning ([GH-114931](https://github.com/godotengine/godot/pull/114931)). +- OpenXR: Allow setting a specific version of OpenXR to initialize ([GH-115022](https://github.com/godotengine/godot/pull/115022)). +- Android: Fix XR build regression when vendor plugin overrides the same feature ([GH-115148](https://github.com/godotengine/godot/pull/115148)). ## Past releases +- [4.5](https://github.com/godotengine/godot/blob/4.5-stable/CHANGELOG.md) - [4.4](https://github.com/godotengine/godot/blob/4.4-stable/CHANGELOG.md) - [4.3](https://github.com/godotengine/godot/blob/4.3-stable/CHANGELOG.md) - [4.2](https://github.com/godotengine/godot/blob/4.2-stable/CHANGELOG.md) diff --git a/CLAUDE.md b/CLAUDE.md new file mode 100644 index 000000000000..43c994c2d361 --- /dev/null +++ b/CLAUDE.md @@ -0,0 +1 @@ +@AGENTS.md diff --git a/DONORS.md b/DONORS.md index c78f3f6dcb9c..a21523c13fef 100644 --- a/DONORS.md +++ b/DONORS.md @@ -34,6 +34,7 @@ generous deed immortalized in the next stable release of Godot Engine. Broken Rules Chasing Carrots Copia Wealth Studios + Evil Trout Inc. Games by Malcs LoadComplete Null @@ -89,6 +90,7 @@ generous deed immortalized in the next stable release of Godot Engine. Emergo Entertainment Eric Burns Fabio Alessandrelli + Francis Nguyen Fresh Fineapple GrammAcc HP van Braam @@ -153,6 +155,7 @@ generous deed immortalized in the next stable release of Godot Engine. Carlo del Mundo Chaff Games Chamber of Light, Flower and Essence Incorporated* + Chet Faliszek Chocolate Software Chris Backas Christian Mauduit @@ -181,11 +184,11 @@ generous deed immortalized in the next stable release of Godot Engine. DullyDev Dustuu Dylan Dromard + Eamonn Irvine Edelweiss eelSkillz Ends Eric Brand - Evil Trout Inc. Fail Forward Games Faisal Al-Kubaisi (QatariGameDev) Felix Adam @@ -251,6 +254,7 @@ generous deed immortalized in the next stable release of Godot Engine. Luca Junge Luca Vazzano Luke_Username + Lyaaaaa Games m1n1ster Madison Nicole Videogames Manul Opus @@ -342,7 +346,7 @@ generous deed immortalized in the next stable release of Godot Engine. zikes Zoey Smith 嗯大爷 - And 118 anonymous donors + And 117 anonymous donors ## Silver and bronze donors diff --git a/README.md b/README.md index 21a602101df3..d008e6d21dba 100644 --- a/README.md +++ b/README.md @@ -8,13 +8,17 @@ ## 2D and 3D cross-platform game engine +> **🔧 This is a fork with automation support!** +> +> This fork adds external automation capabilities to Godot's RemoteDebugger for use with [PlayGodot](https://github.com/Randroids-Dojo/PlayGodot). See the [Automation Branch](#automation-branch) section below. + **[Godot Engine](https://godotengine.org) is a feature-packed, cross-platform game engine to create 2D and 3D games from a unified interface.** It provides a comprehensive set of [common tools](https://godotengine.org/features), so that users can focus on making games without having to reinvent the wheel. Games can be exported with one click to a number of platforms, including the major desktop platforms (Linux, macOS, Windows), mobile platforms (Android, iOS), as well as -Web-based platforms and [consoles](https://docs.godotengine.org/en/latest/tutorials/platform/consoles.html). +Web-based platforms and [consoles](https://godotengine.org/consoles). ## Free, open source and community-driven @@ -27,9 +31,8 @@ not-for-profit. Before being open sourced in [February 2014](https://github.com/godotengine/godot/commit/0b806ee0fc9097fa7bda7ac0109191c9c5e0a1ac), Godot had been developed by [Juan Linietsky](https://github.com/reduz) and -[Ariel Manzur](https://github.com/punto-) (both still maintaining the project) -for several years as an in-house engine, used to publish several work-for-hire -titles. +[Ariel Manzur](https://github.com/punto-) for several years as an in-house +engine, used to publish several work-for-hire titles. ![Screenshot of a 3D scene in the Godot Engine editor](https://raw.githubusercontent.com/godotengine/godot-design/master/screenshots/editor_tps_demo_1920x1080.jpg) @@ -76,3 +79,92 @@ for more information. [![Code Triagers Badge](https://www.codetriage.com/godotengine/godot/badges/users.svg)](https://www.codetriage.com/godotengine/godot) [![Translate on Weblate](https://hosted.weblate.org/widgets/godot-engine/-/godot/svg-badge.svg)](https://hosted.weblate.org/engage/godot-engine/?utm_source=widget) [![TODOs](https://badgen.net/https/api.tickgit.com/badgen/github.com/godotengine/godot)](https://www.tickgit.com/browse?repo=github.com/godotengine/godot) + +--- + +## Automation Branch + +This fork's `automation` branch extends Godot's `RemoteDebugger` with external automation capabilities for testing and controlling games from external scripts. + +### Features + +The automation protocol adds the following commands to `core/debugger/remote_debugger.cpp`: + +**Node Interaction** +- `get_node` - Get node info and properties by path +- `get_property` - Get a single property value +- `set_property` - Set a property value +- `call_method` - Call any method on any node + +**Scene Management** +- `scene_tree` - Get the full scene tree structure +- `query_nodes` - Find nodes matching a pattern +- `count_nodes` - Count nodes matching a pattern +- `current_scene` - Get current scene path and name +- `change_scene` - Load a different scene +- `reload_scene` - Reload the current scene + +**Game Control** +- `pause` - Get or set the pause state +- `time_scale` - Get or set the time scale +- `screenshot` - Capture a PNG screenshot + +**Input Injection** +- `inject_mouse_button` - Simulate mouse clicks +- `inject_mouse_motion` - Simulate mouse movement +- `inject_key` - Simulate keyboard input +- `inject_action` - Simulate input actions +- `inject_touch` - Simulate touch input + +### Building + +```bash +# Clone this fork +git clone https://github.com/Randroids-Dojo/godot.git +cd godot +git checkout automation + +# Build for macOS (Apple Silicon) +scons platform=macos arch=arm64 target=editor -j8 + +# Build for macOS (Intel) +scons platform=macos arch=x86_64 target=editor -j8 + +# Build for Linux +scons platform=linuxbsd target=editor -j8 + +# Build for Windows +scons platform=windows target=editor -j8 +``` + +### Usage with PlayGodot + +Use this build with [PlayGodot](https://github.com/Randroids-Dojo/PlayGodot) for Python-based game testing: + +```python +from playgodot import Godot + +async with Godot.launch("./my-game") as game: + # Get node info + node = await game.get_node("/root/Game") + + # Call methods + result = await game.call_method("/root/Game", "get_score") + + # Simulate input + await game.click(400, 300) + await game.press_key(KEY_SPACE) + + # Take screenshots + await game.screenshot("test.png") +``` + +### Modified Files + +- `core/debugger/remote_debugger.cpp` - Automation command handlers +- `core/debugger/remote_debugger.h` - Automation method declarations + +### Related Projects + +- [PlayGodot](https://github.com/Randroids-Dojo/PlayGodot) - Python client library +- [Godot-Claude-Skills](https://github.com/Randroids-Dojo/Godot-Claude-Skills) - Claude Code skill for Godot development diff --git a/core/core_bind.cpp b/core/core_bind.cpp index 9e1bd6452681..2fd854f48e83 100644 --- a/core/core_bind.cpp +++ b/core/core_bind.cpp @@ -1701,14 +1701,8 @@ TypedArray ClassDB::class_get_method_list(const StringName &p_class, ::ClassDB::get_method_list(p_class, &methods, p_no_inheritance); TypedArray ret; - for (const MethodInfo &E : methods) { -#ifdef DEBUG_ENABLED - ret.push_back(E.operator Dictionary()); -#else - Dictionary dict; - dict["name"] = E.name; - ret.push_back(dict); -#endif // DEBUG_ENABLED + for (const MethodInfo &method : methods) { + ret.push_back(method.operator Dictionary()); } return ret; diff --git a/core/debugger/remote_debugger.cpp b/core/debugger/remote_debugger.cpp index fcc974148978..005ec7c33c58 100644 --- a/core/debugger/remote_debugger.cpp +++ b/core/debugger/remote_debugger.cpp @@ -36,12 +36,27 @@ #include "core/debugger/engine_profiler.h" #include "core/debugger/script_debugger.h" #include "core/input/input.h" +#include "core/input/input_event.h" #include "core/io/resource_loader.h" #include "core/math/expression.h" +#include "core/object/callable_method_pointer.h" #include "core/object/script_language.h" #include "core/os/os.h" +#include "scene/main/node.h" +#include "scene/main/scene_tree.h" +#include "scene/main/window.h" #include "servers/display/display_server.h" +#ifndef _2D_DISABLED +#include "scene/2d/node_2d.h" +#endif +#ifndef _3D_DISABLED +#include "scene/3d/node_3d.h" +#endif +#ifndef ADVANCED_GUI_DISABLED +#include "scene/gui/control.h" +#endif + class RemoteDebugger::PerformanceProfiler : public EngineProfiler { Object *performance = nullptr; int last_perf_time = 0; @@ -749,6 +764,578 @@ Error RemoteDebugger::_profiler_capture(const String &p_cmd, const Array &p_data return OK; } +Error RemoteDebugger::_automation_capture(const String &p_cmd, const Array &p_data, bool &r_captured) { + r_captured = true; + if (p_cmd == "get_tree") { + _send_scene_tree(); + } else if (p_cmd == "get_node") { + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _send_node_info(p_data[0]); + } else if (p_cmd == "get_property") { + ERR_FAIL_COND_V(p_data.size() < 2, ERR_INVALID_DATA); + _send_property(p_data[0], p_data[1]); + } else if (p_cmd == "set_property") { + ERR_FAIL_COND_V(p_data.size() < 3, ERR_INVALID_DATA); + _set_property(p_data[0], p_data[1], p_data[2]); + } else if (p_cmd == "call_method") { + ERR_FAIL_COND_V(p_data.size() < 2, ERR_INVALID_DATA); + Array args = p_data.size() > 2 ? Array(p_data[2]) : Array(); + _call_method(p_data[0], p_data[1], args); + } else if (p_cmd == "mouse_button") { + // mouse_button: [x, y, button_index, pressed, double_click?] + ERR_FAIL_COND_V(p_data.size() < 4, ERR_INVALID_DATA); + Vector2 pos(p_data[0], p_data[1]); + bool double_click = p_data.size() > 4 ? (bool)p_data[4] : false; + _inject_mouse_button(pos, p_data[2], p_data[3], double_click); + } else if (p_cmd == "mouse_motion") { + // mouse_motion: [x, y, relative_x, relative_y] + ERR_FAIL_COND_V(p_data.size() < 4, ERR_INVALID_DATA); + Vector2 pos(p_data[0], p_data[1]); + Vector2 rel(p_data[2], p_data[3]); + _inject_mouse_motion(pos, rel); + } else if (p_cmd == "key") { + // key: [keycode, pressed, physical?] + ERR_FAIL_COND_V(p_data.size() < 2, ERR_INVALID_DATA); + bool physical = p_data.size() > 2 ? (bool)p_data[2] : false; + _inject_key(p_data[0], p_data[1], physical); + } else if (p_cmd == "touch") { + // touch: [index, x, y, pressed] + ERR_FAIL_COND_V(p_data.size() < 4, ERR_INVALID_DATA); + Vector2 pos(p_data[1], p_data[2]); + _inject_touch(p_data[0], pos, p_data[3]); + } else if (p_cmd == "action") { + // action: [action_name, pressed, strength?] + ERR_FAIL_COND_V(p_data.size() < 2, ERR_INVALID_DATA); + float strength = p_data.size() > 2 ? (float)p_data[2] : 1.0f; + _inject_action(p_data[0], p_data[1], strength); + } else if (p_cmd == "screenshot") { + // screenshot: [] or [node_path] + String node_path = p_data.size() > 0 ? String(p_data[0]) : ""; + _send_screenshot(node_path); + } else if (p_cmd == "query_nodes") { + // query_nodes: [pattern] + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _query_nodes(p_data[0]); + } else if (p_cmd == "count_nodes") { + // count_nodes: [pattern] + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _count_nodes(p_data[0]); + } else if (p_cmd == "get_current_scene") { + _send_current_scene(); + } else if (p_cmd == "change_scene") { + // change_scene: [scene_path] + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _change_scene(p_data[0]); + } else if (p_cmd == "reload_scene") { + _reload_scene(); + } else if (p_cmd == "pause") { + // pause: [paused] + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _set_pause(p_data[0]); + } else if (p_cmd == "time_scale") { + // time_scale: [scale] + ERR_FAIL_COND_V(p_data.size() < 1, ERR_INVALID_DATA); + _set_time_scale(p_data[0]); + } else { + r_captured = false; + } + return OK; +} + +void RemoteDebugger::_send_scene_tree() { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + // Guard: tree must be initialized before we can serialize nodes (which calls get_path()) + if (!root->is_inside_tree()) { + Array msg; + msg.push_back(Dictionary()); + EngineDebugger::get_singleton()->send_message("automation:tree", msg); + return; + } + + Dictionary tree_data = _serialize_node(root); + + Array msg; + msg.push_back(tree_data); + EngineDebugger::get_singleton()->send_message("automation:tree", msg); +} + +void RemoteDebugger::_send_node_info(const String &p_path) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + Array msg; + + // Guard: tree must be initialized before using absolute paths + if (!root->is_inside_tree()) { + msg.push_back(Variant()); + EngineDebugger::get_singleton()->send_message("automation:node", msg); + return; + } + + Node *node = root->get_node_or_null(NodePath(p_path)); + if (node) { + msg.push_back(_serialize_node(node)); + } else { + msg.push_back(Variant()); + } + EngineDebugger::get_singleton()->send_message("automation:node", msg); +} + +void RemoteDebugger::_send_property(const String &p_path, const String &p_property) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + Array msg; + msg.push_back(p_path); + msg.push_back(p_property); + + // Guard: tree must be initialized before using absolute paths + if (!root->is_inside_tree()) { + msg.push_back(Variant()); + EngineDebugger::get_singleton()->send_message("automation:property", msg); + return; + } + + Node *node = root->get_node_or_null(NodePath(p_path)); + if (node) { + msg.push_back(node->get(p_property)); + } else { + msg.push_back(Variant()); + } + EngineDebugger::get_singleton()->send_message("automation:property", msg); +} + +void RemoteDebugger::_set_property(const String &p_path, const String &p_property, const Variant &p_value) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + // Guard: tree must be initialized before using absolute paths + if (!root->is_inside_tree()) { + Array msg; + msg.push_back(false); + EngineDebugger::get_singleton()->send_message("automation:set_result", msg); + return; + } + + Node *node = root->get_node_or_null(NodePath(p_path)); + + bool success = false; + if (node) { + node->set(p_property, p_value); + success = true; + } + + Array msg; + msg.push_back(success); + EngineDebugger::get_singleton()->send_message("automation:set_result", msg); +} + +void RemoteDebugger::_call_method(const String &p_path, const String &p_method, const Array &p_args) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + Array msg; + msg.push_back(p_path); + msg.push_back(p_method); + + // Guard: tree must be initialized before using absolute paths + if (!root->is_inside_tree()) { + msg.push_back(Variant()); + EngineDebugger::get_singleton()->send_message("automation:call_result", msg); + return; + } + + Node *node = root->get_node_or_null(NodePath(p_path)); + if (node && node->has_method(p_method)) { + Variant result = node->callv(p_method, p_args); + msg.push_back(result); + } else { + msg.push_back(Variant()); + } + EngineDebugger::get_singleton()->send_message("automation:call_result", msg); +} + +Dictionary RemoteDebugger::_serialize_node(Node *p_node) { + Dictionary data; + data["name"] = p_node->get_name(); + data["path"] = String(p_node->get_path()); + data["class"] = p_node->get_class(); + + // Add position/visibility for common node types +#ifndef _2D_DISABLED + if (Node2D *n2d = Object::cast_to(p_node)) { + data["position"] = n2d->get_position(); + data["rotation"] = n2d->get_rotation(); + data["scale"] = n2d->get_scale(); + data["visible"] = n2d->is_visible(); + } +#endif +#ifndef ADVANCED_GUI_DISABLED + if (Control *ctrl = Object::cast_to(p_node)) { + data["position"] = ctrl->get_position(); + data["size"] = ctrl->get_size(); + data["visible"] = ctrl->is_visible(); + } +#endif +#ifndef _3D_DISABLED + if (Node3D *n3d = Object::cast_to(p_node)) { + data["position"] = n3d->get_position(); + data["rotation"] = n3d->get_rotation(); + data["scale"] = n3d->get_scale(); + data["visible"] = n3d->is_visible(); + } +#endif + + // Recurse children + Array children; + for (int i = 0; i < p_node->get_child_count(); i++) { + children.push_back(_serialize_node(p_node->get_child(i))); + } + data["children"] = children; + + return data; +} + +void RemoteDebugger::_inject_mouse_button(const Vector2 &p_position, int p_button, bool p_pressed, bool p_double_click) { + Input *input = Input::get_singleton(); + ERR_FAIL_NULL(input); + + Ref ev; + ev.instantiate(); + ev->set_device(InputEvent::DEVICE_ID_EMULATION); + ev->set_position(p_position); + ev->set_global_position(p_position); + ev->set_button_index((MouseButton)p_button); + ev->set_pressed(p_pressed); + ev->set_double_click(p_double_click); + + input->parse_input_event(ev); + DisplayServer::get_singleton()->process_events(); + + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:input_result", msg); +} + +void RemoteDebugger::_inject_mouse_motion(const Vector2 &p_position, const Vector2 &p_relative) { + Input *input = Input::get_singleton(); + ERR_FAIL_NULL(input); + + Ref ev; + ev.instantiate(); + ev->set_device(InputEvent::DEVICE_ID_EMULATION); + ev->set_position(p_position); + ev->set_global_position(p_position); + ev->set_relative(p_relative); + ev->set_button_mask(input->get_mouse_button_mask()); + + input->parse_input_event(ev); + DisplayServer::get_singleton()->process_events(); + + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:input_result", msg); +} + +void RemoteDebugger::_inject_key(int p_keycode, bool p_pressed, bool p_physical) { + Input *input = Input::get_singleton(); + ERR_FAIL_NULL(input); + + Ref ev; + ev.instantiate(); + ev->set_device(InputEvent::DEVICE_ID_EMULATION); + ev->set_pressed(p_pressed); + + if (p_physical) { + ev->set_physical_keycode((Key)p_keycode); + } else { + ev->set_keycode((Key)p_keycode); + } + + input->parse_input_event(ev); + DisplayServer::get_singleton()->process_events(); + + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:input_result", msg); +} + +void RemoteDebugger::_inject_touch(int p_index, const Vector2 &p_position, bool p_pressed) { + Input *input = Input::get_singleton(); + ERR_FAIL_NULL(input); + + Ref ev; + ev.instantiate(); + ev->set_device(InputEvent::DEVICE_ID_EMULATION); + ev->set_index(p_index); + ev->set_position(p_position); + ev->set_pressed(p_pressed); + + input->parse_input_event(ev); + DisplayServer::get_singleton()->process_events(); + + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:input_result", msg); +} + +void RemoteDebugger::_inject_action(const String &p_action, bool p_pressed, float p_strength) { + Input *input = Input::get_singleton(); + ERR_FAIL_NULL(input); + + if (p_pressed) { + input->action_press(p_action, p_strength); + } else { + input->action_release(p_action); + } + DisplayServer::get_singleton()->process_events(); + + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:input_result", msg); +} + +void RemoteDebugger::_send_screenshot(const String &p_node_path) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + // Guard: tree must be initialized for screenshots (need valid viewport) + if (!root->is_inside_tree()) { + Array msg; + msg.push_back(PackedByteArray()); + EngineDebugger::get_singleton()->send_message("automation:screenshot", msg); + return; + } + + Ref image; + + if (p_node_path.is_empty()) { + // Capture entire viewport + Viewport *viewport = Object::cast_to(root); + ERR_FAIL_NULL(viewport); + image = viewport->get_texture()->get_image(); + } else { + // Capture specific node's viewport + Node *node = root->get_node_or_null(NodePath(p_node_path)); + if (node) { + CanvasItem *ci = Object::cast_to(node); + if (ci) { + Viewport *viewport = ci->get_viewport(); + if (viewport) { + image = viewport->get_texture()->get_image(); + } + } + } + } + + Array msg; + if (image.is_valid()) { + PackedByteArray png_data = image->save_png_to_buffer(); + msg.push_back(png_data); + } else { + msg.push_back(PackedByteArray()); + } + EngineDebugger::get_singleton()->send_message("automation:screenshot", msg); +} + +void RemoteDebugger::_query_nodes_recursive(Node *p_node, const String &p_pattern, Array &r_results) { + if (!p_node) { + return; + } + + String name = p_node->get_name(); + String node_class = p_node->get_class(); + + // Match by name pattern (supports * wildcard) or class name + bool match = false; + if (p_pattern.begins_with("*") && p_pattern.ends_with("*")) { + String inner = p_pattern.substr(1, p_pattern.length() - 2); + match = name.contains(inner) || node_class.contains(inner); + } else if (p_pattern.begins_with("*")) { + String suffix = p_pattern.substr(1); + match = name.ends_with(suffix) || node_class.ends_with(suffix); + } else if (p_pattern.ends_with("*")) { + String prefix = p_pattern.substr(0, p_pattern.length() - 1); + match = name.begins_with(prefix) || node_class.begins_with(prefix); + } else { + match = name == p_pattern || node_class == p_pattern; + } + + if (match) { + r_results.push_back(_serialize_node(p_node)); + } + + for (int i = 0; i < p_node->get_child_count(); i++) { + _query_nodes_recursive(p_node->get_child(i), p_pattern, r_results); + } +} + +void RemoteDebugger::_query_nodes(const String &p_pattern) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + Array results; + + // Guard: tree must be initialized for node queries (uses _serialize_node which calls get_path()) + if (root->is_inside_tree()) { + _query_nodes_recursive(root, p_pattern, results); + } + + Array msg; + msg.push_back(results); + EngineDebugger::get_singleton()->send_message("automation:query_result", msg); +} + +void RemoteDebugger::_count_nodes(const String &p_pattern) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + Array results; + + // Guard: tree must be initialized for node queries (uses _serialize_node which calls get_path()) + if (root->is_inside_tree()) { + _query_nodes_recursive(root, p_pattern, results); + } + + Array msg; + msg.push_back(results.size()); + EngineDebugger::get_singleton()->send_message("automation:count_result", msg); +} + +void RemoteDebugger::_send_current_scene() { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Array msg; + Node *current = tree->get_current_scene(); + if (current) { + msg.push_back(current->get_scene_file_path()); + msg.push_back(current->get_name()); + } else { + msg.push_back(""); + msg.push_back(""); + } + EngineDebugger::get_singleton()->send_message("automation:current_scene", msg); +} + +// Static callback for scene_changed signal - sends automation result after scene is fully loaded +static void _on_scene_changed_send_result() { + Array msg; + msg.push_back(true); + EngineDebugger::get_singleton()->send_message("automation:scene_result", msg); +} + +void RemoteDebugger::_change_scene(const String &p_scene_path) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + // Guard: tree must be initialized before we can change scenes + if (!root->is_inside_tree()) { + Array msg; + msg.push_back(false); + EngineDebugger::get_singleton()->send_message("automation:scene_result", msg); + return; + } + + Error err = tree->change_scene_to_file(p_scene_path); + + if (err != OK) { + // Immediate failure (e.g., file not found) - send error response now + Array msg; + msg.push_back(false); + EngineDebugger::get_singleton()->send_message("automation:scene_result", msg); + return; + } + + // Scene change is deferred - connect to scene_changed signal to send response + // when the scene is actually loaded and ready + tree->connect("scene_changed", callable_mp_static(_on_scene_changed_send_result), Object::CONNECT_ONE_SHOT); +} + +void RemoteDebugger::_reload_scene() { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + Node *root = tree->get_root(); + ERR_FAIL_NULL(root); + + // Guard: tree must be initialized before we can reload scenes + if (!root->is_inside_tree()) { + Array msg; + msg.push_back(false); + EngineDebugger::get_singleton()->send_message("automation:scene_result", msg); + return; + } + + Error err = tree->reload_current_scene(); + + if (err != OK) { + // Immediate failure (e.g., no current scene) - send error response now + Array msg; + msg.push_back(false); + EngineDebugger::get_singleton()->send_message("automation:scene_result", msg); + return; + } + + // Scene reload is deferred - connect to scene_changed signal to send response + // when the scene is actually loaded and ready + tree->connect("scene_changed", callable_mp_static(_on_scene_changed_send_result), Object::CONNECT_ONE_SHOT); +} + +void RemoteDebugger::_set_pause(const Variant &p_paused) { + SceneTree *tree = SceneTree::get_singleton(); + ERR_FAIL_NULL(tree); + + // If value is Nil, it's a query for current state + if (p_paused.get_type() != Variant::NIL) { + tree->set_pause(p_paused); + } + + Array msg; + msg.push_back(tree->is_paused()); + EngineDebugger::get_singleton()->send_message("automation:pause_result", msg); +} + +void RemoteDebugger::_set_time_scale(const Variant &p_scale) { + // If value is Nil, it's a query for current state + if (p_scale.get_type() != Variant::NIL) { + Engine::get_singleton()->set_time_scale(p_scale); + } + + Array msg; + msg.push_back(Engine::get_singleton()->get_time_scale()); + EngineDebugger::get_singleton()->send_message("automation:time_scale_result", msg); +} + RemoteDebugger::RemoteDebugger(Ref p_peer) { peer = p_peer; max_chars_per_second = GLOBAL_GET("network/limits/debugger/max_chars_per_second"); @@ -775,6 +1362,13 @@ RemoteDebugger::RemoteDebugger(Ref p_peer) { }); register_message_capture("profiler", profiler_cap); + // Automation capture for external tool control (e.g., PlayGodot) + Capture automation_cap(this, + [](void *p_user, const String &p_cmd, const Array &p_data, bool &r_captured) { + return static_cast(p_user)->_automation_capture(p_cmd, p_data, r_captured); + }); + register_message_capture("automation", automation_cap); + // Error handlers phl.printfunc = _print_handler; phl.userdata = this; diff --git a/core/debugger/remote_debugger.h b/core/debugger/remote_debugger.h index cbac22577f38..f6173480411a 100644 --- a/core/debugger/remote_debugger.h +++ b/core/debugger/remote_debugger.h @@ -111,6 +111,33 @@ class RemoteDebugger : public EngineDebugger { void _bind_profiler(const String &p_name, T *p_prof); Error _try_capture(const String &p_name, const Array &p_data, bool &r_captured); + // Automation support + Error _automation_capture(const String &p_cmd, const Array &p_data, bool &r_captured); + void _send_scene_tree(); + void _send_node_info(const String &p_path); + void _send_property(const String &p_path, const String &p_property); + void _set_property(const String &p_path, const String &p_property, const Variant &p_value); + void _call_method(const String &p_path, const String &p_method, const Array &p_args); + Dictionary _serialize_node(class Node *p_node); + + // Input injection for automation (Phase 2) + void _inject_mouse_button(const Vector2 &p_position, int p_button, bool p_pressed, bool p_double_click = false); + void _inject_mouse_motion(const Vector2 &p_position, const Vector2 &p_relative); + void _inject_key(int p_keycode, bool p_pressed, bool p_physical = false); + void _inject_touch(int p_index, const Vector2 &p_position, bool p_pressed); + void _inject_action(const String &p_action, bool p_pressed, float p_strength = 1.0f); + + // Extended automation (Phase 3) + void _send_screenshot(const String &p_node_path); + void _query_nodes_recursive(class Node *p_node, const String &p_pattern, Array &r_results); + void _query_nodes(const String &p_pattern); + void _count_nodes(const String &p_pattern); + void _send_current_scene(); + void _change_scene(const String &p_scene_path); + void _reload_scene(); + void _set_pause(const Variant &p_paused); + void _set_time_scale(const Variant &p_scale); + public: // Overrides void poll_events(bool p_is_idle); diff --git a/core/extension/extension_api_dump.cpp b/core/extension/extension_api_dump.cpp index 4d7d82e118d3..06e7a990d24a 100644 --- a/core/extension/extension_api_dump.cpp +++ b/core/extension/extension_api_dump.cpp @@ -1182,6 +1182,10 @@ Dictionary GDExtensionAPIDump::generate_extension_api(bool p_include_docs) { List signal_list; ClassDB::get_signal_list(class_name, &signal_list, true); for (const MethodInfo &F : signal_list) { + if (F.name.begins_with("_")) { + continue; // Hidden signal. + } + StringName signal_name = F.name; Dictionary d2; d2["name"] = String(signal_name); diff --git a/core/math/geometry_2d.cpp b/core/math/geometry_2d.cpp index f187ad888eed..f6d0ed74ee6f 100644 --- a/core/math/geometry_2d.cpp +++ b/core/math/geometry_2d.cpp @@ -38,7 +38,6 @@ GODOT_GCC_WARNING_POP #include "thirdparty/misc/stb_rect_pack.h" const int clipper_precision = 5; // Based on CMP_EPSILON. -const double clipper_scale = Math::pow(10.0, clipper_precision); void Geometry2D::merge_many_polygons(const Vector> &p_polygons, Vector> &r_out_polygons, Vector> &r_out_holes) { using namespace Clipper2Lib; @@ -351,10 +350,7 @@ Vector> Geometry2D::_polypath_offset(const Vector &p_poly } // Inflate/deflate. - PathsD paths = InflatePaths({ polypath }, p_delta, jt, et, 2.0, clipper_precision, 0.25 * clipper_scale); - // Here the points are scaled up internally and - // the arc_tolerance is scaled accordingly - // to attain the desired precision. + PathsD paths = InflatePaths({ polypath }, p_delta, jt, et, 2.0, clipper_precision, 0.25); Vector> polypaths; polypaths.resize(paths.size()); diff --git a/core/object/object.cpp b/core/object/object.cpp index 4729eecf87df..c49962c7f020 100644 --- a/core/object/object.cpp +++ b/core/object/object.cpp @@ -1340,6 +1340,9 @@ Error Object::emit_signalp(const StringName &p_name, const Variant **p_args, int Error err = OK; + Vector append_source_mem; + Variant source = this; + for (uint32_t i = 0; i < slot_count; ++i) { const Callable &callable = slot_callables[i]; const uint32_t &flags = slot_flags[i]; @@ -1352,6 +1355,31 @@ Error Object::emit_signalp(const StringName &p_name, const Variant **p_args, int const Variant **args = p_args; int argc = p_argcount; + if (flags & CONNECT_APPEND_SOURCE_OBJECT) { + // Source is being appended regardless of unbinds. + // Implemented by inserting before the first to-be-unbinded arg. + int source_index = p_argcount - callable.get_unbound_arguments_count(); + if (source_index >= 0) { + append_source_mem.resize(p_argcount + 1); + const Variant **args_mem = append_source_mem.ptrw(); + + for (int j = 0; j < source_index; j++) { + args_mem[j] = p_args[j]; + } + args_mem[source_index] = &source; + for (int j = source_index; j < p_argcount; j++) { + args_mem[j + 1] = p_args[j]; + } + + args = args_mem; + argc = p_argcount + 1; + } else { + // More args unbound than provided, call will fail. + // Since appended source is non-unbindable, the error + // about too many unbinds should be correct as is. + } + } + if (flags & CONNECT_DEFERRED) { MessageQueue::get_singleton()->push_callablep(callable, args, argc, true); } else { diff --git a/core/object/object.h b/core/object/object.h index 60451ce43cd9..0d270759728a 100644 --- a/core/object/object.h +++ b/core/object/object.h @@ -39,7 +39,6 @@ #include "core/templates/hash_set.h" #include "core/templates/list.h" #include "core/templates/safe_refcount.h" -#include "core/variant/required_ptr.h" #include "core/variant/variant.h" template @@ -1137,3 +1136,222 @@ class ObjectDB { static void debug_objects(DebugFunc p_func, void *p_user_data); static int get_object_count(); }; + +// Using `RequiredResult` as the return type indicates that null will only be returned in the case of an error. +// This allows GDExtension language bindings to use the appropriate error handling mechanism for that language +// when null is returned (for example, throwing an exception), rather than simply returning the value. +template +class RequiredResult { + static_assert(!is_fully_defined_v || std::is_base_of_v, "T must be an Object subtype"); + +public: + using element_type = T; + using ptr_type = std::conditional_t, Ref, T *>; + +private: + ptr_type _value = ptr_type(); + +public: + _FORCE_INLINE_ RequiredResult() = default; + + RequiredResult(const RequiredResult &p_other) = default; + RequiredResult(RequiredResult &&p_other) = default; + RequiredResult &operator=(const RequiredResult &p_other) = default; + RequiredResult &operator=(RequiredResult &&p_other) = default; + + _FORCE_INLINE_ RequiredResult(std::nullptr_t) : + RequiredResult() {} + _FORCE_INLINE_ RequiredResult &operator=(std::nullptr_t) { _value = nullptr; } + + // These functions should not be called directly, they are only for internal use. + _FORCE_INLINE_ ptr_type _internal_ptr_dont_use() const { return _value; } + _FORCE_INLINE_ static RequiredResult _err_return_dont_use() { return RequiredResult(); } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(const RequiredResult &p_other) : + _value(p_other._value) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(const RequiredResult &p_other) { + _value = p_other._value; + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(T_Other *p_ptr) : + _value(p_ptr) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(T_Other *p_ptr) { + _value = p_ptr; + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(const Ref &p_ref) : + _value(p_ref) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(const Ref &p_ref) { + _value = p_ref; + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(Ref &&p_ref) : + _value(std::move(p_ref)) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(Ref &&p_ref) { + _value = std::move(p_ref); + return &this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(const Variant &p_variant) : + _value(Object::cast_to(p_variant.get_validated_object())) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(const Variant &p_variant) { + _value = Object::cast_to(p_variant.get_validated_object()); + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredResult(const Variant &p_variant) : + _value(Object::cast_to(p_variant.operator Object *())) {} + template , int> = 0> + _FORCE_INLINE_ RequiredResult &operator=(const Variant &p_variant) { + _value = Object::cast_to(p_variant.operator Object *()); + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ element_type *ptr() const { + return *_value; + } + + template , int> = 0> + _FORCE_INLINE_ element_type *ptr() const { + return _value; + } + + _FORCE_INLINE_ operator ptr_type() const { + return _value; + } + + template && std::is_base_of_v, int> = 0> + _FORCE_INLINE_ operator Ref() const { + return Ref(_value); + } + + _FORCE_INLINE_ element_type *operator*() const { + return ptr(); + } + + _FORCE_INLINE_ element_type *operator->() const { + return ptr(); + } +}; + +// Using `RequiredParam` as an argument type indicates that passing null as that parameter is an error, +// that will prevent the method from doing its intended function. +// This allows GDExtension bindings to use language-specific mechanisms to prevent users from passing null, +// because it is never valid to do so. +template +class RequiredParam { + static_assert(!is_fully_defined_v || std::is_base_of_v, "T must be an Object subtype"); + +public: + static constexpr bool is_ref = std::is_base_of_v; + + using element_type = T; + using extracted_type = std::conditional_t &, T *>; + using persistent_type = std::conditional_t, T *>; + +private: + T *_value = nullptr; + + _FORCE_INLINE_ RequiredParam() = default; + +public: + // These functions should not be called directly, they are only for internal use. + _FORCE_INLINE_ extracted_type _internal_ptr_dont_use() const { + if constexpr (is_ref) { + // Pretend _value is a Ref, for ease of use with existing `const Ref &` accepting APIs. + // This only works as long as Ref is internally T *. + // The double indirection should be optimized away by the compiler. + static_assert(sizeof(Ref) == sizeof(T *)); + return *((const Ref *)&_value); + } else { + return _value; + } + } + _FORCE_INLINE_ bool _is_null_dont_use() const { return _value == nullptr; } + _FORCE_INLINE_ static RequiredParam _err_return_dont_use() { return RequiredParam(); } + + // Prevent erroneously assigning null values by explicitly removing nullptr constructor/assignment. + RequiredParam(std::nullptr_t) = delete; + RequiredParam &operator=(std::nullptr_t) = delete; + + RequiredParam(const RequiredParam &p_other) = default; + RequiredParam(RequiredParam &&p_other) = default; + RequiredParam &operator=(const RequiredParam &p_other) = default; + RequiredParam &operator=(RequiredParam &&p_other) = default; + + template , int> = 0> + _FORCE_INLINE_ RequiredParam(const RequiredParam &p_other) : + _value(p_other._internal_ptr_dont_use()) {} + template , int> = 0> + _FORCE_INLINE_ RequiredParam &operator=(const RequiredParam &p_other) { + _value = p_other._internal_ptr_dont_use(); + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredParam(T_Other *p_ptr) : + _value(p_ptr) {} + template , int> = 0> + _FORCE_INLINE_ RequiredParam &operator=(T_Other *p_ptr) { + _value = p_ptr; + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredParam(const Ref &p_ref) : + _value(*p_ref) {} + template , int> = 0> + _FORCE_INLINE_ RequiredParam &operator=(const Ref &p_ref) { + _value = *p_ref; + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredParam(const Variant &p_variant) : + _value(Object::cast_to(p_variant.get_validated_object())) {} + template , int> = 0> + _FORCE_INLINE_ RequiredParam &operator=(const Variant &p_variant) { + _value = Object::cast_to(p_variant.get_validated_object()); + return *this; + } + + template , int> = 0> + _FORCE_INLINE_ RequiredParam(const Variant &p_variant) : + _value(Object::cast_to(p_variant.operator Object *())) {} + template , int> = 0> + _FORCE_INLINE_ RequiredParam &operator=(const Variant &p_variant) { + _value = Object::cast_to(p_variant.operator Object *()); + return *this; + } +}; + +#define TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, m_editor) \ + if (unlikely(m_param._is_null_dont_use())) { \ + _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Required object \"" _STR(m_param) "\" is null.", m_msg, m_editor); \ + return m_retval; \ + } \ + typename std::decay_t::extracted_type m_name = m_param._internal_ptr_dont_use(); \ + static_assert(true) + +// These macros are equivalent to the ERR_FAIL_NULL*() family of macros, only for RequiredParam instead of raw pointers. +#define EXTRACT_PARAM_OR_FAIL(m_name, m_param) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), "", false) +#define EXTRACT_PARAM_OR_FAIL_MSG(m_name, m_param, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), m_msg, false) +#define EXTRACT_PARAM_OR_FAIL_EDMSG(m_name, m_param, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), m_msg, true) +#define EXTRACT_PARAM_OR_FAIL_V(m_name, m_param, m_retval) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, "", false) +#define EXTRACT_PARAM_OR_FAIL_V_MSG(m_name, m_param, m_retval, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, false) +#define EXTRACT_PARAM_OR_FAIL_V_EDMSG(m_name, m_param, m_retval, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, true) diff --git a/core/templates/rid_owner.h b/core/templates/rid_owner.h index cfaaf1ecb1a8..c5e2b058686b 100644 --- a/core/templates/rid_owner.h +++ b/core/templates/rid_owner.h @@ -310,24 +310,16 @@ class RID_Alloc : public RID_AllocBase { } _FORCE_INLINE_ bool owns(const RID &p_rid) const { - if (p_rid == RID()) { - return false; - } - if constexpr (THREAD_SAFE) { - SYNC_ACQUIRE; + mutex.lock(); } uint64_t id = p_rid.get_id(); uint32_t idx = uint32_t(id & 0xFFFFFFFF); - uint32_t ma; - if constexpr (THREAD_SAFE) { - ma = ((std::atomic *)&max_alloc)->load(std::memory_order_relaxed); - } else { - ma = max_alloc; - } - - if (unlikely(idx >= ma)) { + if (unlikely(idx >= max_alloc)) { + if constexpr (THREAD_SAFE) { + mutex.unlock(); + } return false; } @@ -336,29 +328,10 @@ class RID_Alloc : public RID_AllocBase { uint32_t validator = uint32_t(id >> 32); - if constexpr (THREAD_SAFE) { -#ifdef TSAN_ENABLED - __tsan_acquire(&chunks[idx_chunk]); // We know not a race in practice. - __tsan_acquire(&chunks[idx_chunk][idx_element]); // We know not a race in practice. -#endif - } - - Chunk &c = chunks[idx_chunk][idx_element]; + bool owned = (chunks[idx_chunk][idx_element].validator & 0x7FFFFFFF) == validator; if constexpr (THREAD_SAFE) { -#ifdef TSAN_ENABLED - __tsan_release(&chunks[idx_chunk]); - __tsan_release(&chunks[idx_chunk][idx_element]); - __tsan_acquire(&c.validator); // We know not a race in practice. -#endif - } - - bool owned = (c.validator & 0x7FFFFFFF) == validator; - - if constexpr (THREAD_SAFE) { -#ifdef TSAN_ENABLED - __tsan_release(&c.validator); -#endif + mutex.unlock(); } return owned; diff --git a/core/variant/binder_common.h b/core/variant/binder_common.h index dbdb9bc7fe4e..ab488986762c 100644 --- a/core/variant/binder_common.h +++ b/core/variant/binder_common.h @@ -36,7 +36,6 @@ #include "core/templates/simple_type.h" #include "core/typedefs.h" #include "core/variant/method_ptrcall.h" -#include "core/variant/required_ptr.h" #include "core/variant/type_info.h" #include "core/variant/variant.h" #include "core/variant/variant_internal.h" diff --git a/core/variant/required_ptr.h b/core/variant/required_ptr.h deleted file mode 100644 index 6283267603c2..000000000000 --- a/core/variant/required_ptr.h +++ /dev/null @@ -1,252 +0,0 @@ -/**************************************************************************/ -/* required_ptr.h */ -/**************************************************************************/ -/* This file is part of: */ -/* GODOT ENGINE */ -/* https://godotengine.org */ -/**************************************************************************/ -/* Copyright (c) 2014-present Godot Engine contributors (see AUTHORS.md). */ -/* Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. */ -/* */ -/* Permission is hereby granted, free of charge, to any person obtaining */ -/* a copy of this software and associated documentation files (the */ -/* "Software"), to deal in the Software without restriction, including */ -/* without limitation the rights to use, copy, modify, merge, publish, */ -/* distribute, sublicense, and/or sell copies of the Software, and to */ -/* permit persons to whom the Software is furnished to do so, subject to */ -/* the following conditions: */ -/* */ -/* The above copyright notice and this permission notice shall be */ -/* included in all copies or substantial portions of the Software. */ -/* */ -/* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, */ -/* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF */ -/* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. */ -/* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY */ -/* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, */ -/* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE */ -/* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. */ -/**************************************************************************/ - -#pragma once - -#include "core/variant/variant.h" - -// Using `RequiredResult` as the return type indicates that null will only be returned in the case of an error. -// This allows GDExtension language bindings to use the appropriate error handling mechanism for that language -// when null is returned (for example, throwing an exception), rather than simply returning the value. -template -class RequiredResult { - static_assert(!is_fully_defined_v || std::is_base_of_v, "T must be an Object subtype"); - -public: - using element_type = T; - using ptr_type = std::conditional_t, Ref, T *>; - -private: - ptr_type _value = ptr_type(); - -public: - _FORCE_INLINE_ RequiredResult() = default; - - RequiredResult(const RequiredResult &p_other) = default; - RequiredResult(RequiredResult &&p_other) = default; - RequiredResult &operator=(const RequiredResult &p_other) = default; - RequiredResult &operator=(RequiredResult &&p_other) = default; - - _FORCE_INLINE_ RequiredResult(std::nullptr_t) : - RequiredResult() {} - _FORCE_INLINE_ RequiredResult &operator=(std::nullptr_t) { _value = nullptr; } - - // These functions should not be called directly, they are only for internal use. - _FORCE_INLINE_ ptr_type _internal_ptr_dont_use() const { return _value; } - _FORCE_INLINE_ static RequiredResult _err_return_dont_use() { return RequiredResult(); } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(const RequiredResult &p_other) : - _value(p_other._value) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(const RequiredResult &p_other) { - _value = p_other._value; - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(T_Other *p_ptr) : - _value(p_ptr) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(T_Other *p_ptr) { - _value = p_ptr; - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(const Ref &p_ref) : - _value(p_ref) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(const Ref &p_ref) { - _value = p_ref; - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(Ref &&p_ref) : - _value(std::move(p_ref)) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(Ref &&p_ref) { - _value = std::move(p_ref); - return &this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(const Variant &p_variant) : - _value(static_cast(p_variant.get_validated_object())) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(const Variant &p_variant) { - _value = static_cast(p_variant.get_validated_object()); - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredResult(const Variant &p_variant) : - _value(static_cast(p_variant.operator Object *())) {} - template , int> = 0> - _FORCE_INLINE_ RequiredResult &operator=(const Variant &p_variant) { - _value = static_cast(p_variant.operator Object *()); - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ element_type *ptr() const { - return *_value; - } - - template , int> = 0> - _FORCE_INLINE_ element_type *ptr() const { - return _value; - } - - _FORCE_INLINE_ operator ptr_type() const { - return _value; - } - - template && std::is_base_of_v, int> = 0> - _FORCE_INLINE_ operator Ref() const { - return Ref(_value); - } - - _FORCE_INLINE_ element_type *operator*() const { - return ptr(); - } - - _FORCE_INLINE_ element_type *operator->() const { - return ptr(); - } -}; - -// Using `RequiredParam` as an argument type indicates that passing null as that parameter is an error, -// that will prevent the method from doing its intended function. -// This allows GDExtension bindings to use language-specific mechanisms to prevent users from passing null, -// because it is never valid to do so. -template -class RequiredParam { - static_assert(!is_fully_defined_v || std::is_base_of_v, "T must be an Object subtype"); - -public: - static constexpr bool is_ref = std::is_base_of_v; - - using element_type = T; - using extracted_type = std::conditional_t &, T *>; - using persistent_type = std::conditional_t, T *>; - -private: - T *_value = nullptr; - - _FORCE_INLINE_ RequiredParam() = default; - -public: - // These functions should not be called directly, they are only for internal use. - _FORCE_INLINE_ extracted_type _internal_ptr_dont_use() const { - if constexpr (is_ref) { - // Pretend _value is a Ref, for ease of use with existing `const Ref &` accepting APIs. - // This only works as long as Ref is internally T *. - // The double indirection should be optimized away by the compiler. - static_assert(sizeof(Ref) == sizeof(T *)); - return *((const Ref *)&_value); - } else { - return _value; - } - } - _FORCE_INLINE_ bool _is_null_dont_use() const { return _value == nullptr; } - _FORCE_INLINE_ static RequiredParam _err_return_dont_use() { return RequiredParam(); } - - // Prevent erroneously assigning null values by explicitly removing nullptr constructor/assignment. - RequiredParam(std::nullptr_t) = delete; - RequiredParam &operator=(std::nullptr_t) = delete; - - RequiredParam(const RequiredParam &p_other) = default; - RequiredParam(RequiredParam &&p_other) = default; - RequiredParam &operator=(const RequiredParam &p_other) = default; - RequiredParam &operator=(RequiredParam &&p_other) = default; - - template , int> = 0> - _FORCE_INLINE_ RequiredParam(const RequiredParam &p_other) : - _value(p_other._internal_ptr_dont_use()) {} - template , int> = 0> - _FORCE_INLINE_ RequiredParam &operator=(const RequiredParam &p_other) { - _value = p_other._internal_ptr_dont_use(); - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredParam(T_Other *p_ptr) : - _value(p_ptr) {} - template , int> = 0> - _FORCE_INLINE_ RequiredParam &operator=(T_Other *p_ptr) { - _value = p_ptr; - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredParam(const Ref &p_ref) : - _value(*p_ref) {} - template , int> = 0> - _FORCE_INLINE_ RequiredParam &operator=(const Ref &p_ref) { - _value = *p_ref; - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredParam(const Variant &p_variant) : - _value(static_cast(p_variant.get_validated_object())) {} - template , int> = 0> - _FORCE_INLINE_ RequiredParam &operator=(const Variant &p_variant) { - _value = static_cast(p_variant.get_validated_object()); - return *this; - } - - template , int> = 0> - _FORCE_INLINE_ RequiredParam(const Variant &p_variant) : - _value(static_cast(p_variant.operator Object *())) {} - template , int> = 0> - _FORCE_INLINE_ RequiredParam &operator=(const Variant &p_variant) { - _value = static_cast(p_variant.operator Object *()); - return *this; - } -}; - -#define TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, m_editor) \ - if (unlikely(m_param._is_null_dont_use())) { \ - _err_print_error(FUNCTION_STR, __FILE__, __LINE__, "Required object \"" _STR(m_param) "\" is null.", m_msg, m_editor); \ - return m_retval; \ - } \ - typename std::decay_t::extracted_type m_name = m_param._internal_ptr_dont_use(); \ - static_assert(true) - -// These macros are equivalent to the ERR_FAIL_NULL*() family of macros, only for RequiredParam instead of raw pointers. -#define EXTRACT_PARAM_OR_FAIL(m_name, m_param) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), "", false) -#define EXTRACT_PARAM_OR_FAIL_MSG(m_name, m_param, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), m_msg, false) -#define EXTRACT_PARAM_OR_FAIL_EDMSG(m_name, m_param, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, void(), m_msg, true) -#define EXTRACT_PARAM_OR_FAIL_V(m_name, m_param, m_retval) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, "", false) -#define EXTRACT_PARAM_OR_FAIL_V_MSG(m_name, m_param, m_retval, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, false) -#define EXTRACT_PARAM_OR_FAIL_V_EDMSG(m_name, m_param, m_retval, m_msg) TMPL_EXTRACT_PARAM_OR_FAIL(m_name, m_param, m_retval, m_msg, true) diff --git a/doc/classes/EditorExportPlatform.xml b/doc/classes/EditorExportPlatform.xml index 4fd051cd86dc..c4f044d6e1ed 100644 --- a/doc/classes/EditorExportPlatform.xml +++ b/doc/classes/EditorExportPlatform.xml @@ -8,7 +8,6 @@ Used in scripting by [EditorExportPlugin] to configure platform-specific customization of scenes and resources. See [method EditorExportPlugin._begin_customize_scenes] and [method EditorExportPlugin._begin_customize_resources] for more details. - $DOCS_URL/tutorials/platform/consoles.html diff --git a/doc/classes/FABRIK3D.xml b/doc/classes/FABRIK3D.xml index 90cf990d9f53..2e4a15ad0f05 100644 --- a/doc/classes/FABRIK3D.xml +++ b/doc/classes/FABRIK3D.xml @@ -9,5 +9,6 @@ [b]Note:[/b] When the target is close to the root, it tends to produce zig-zag patterns, resulting in unnatural visual movement. + https://godotengine.org/article/inverse-kinematics-returns-to-godot-4-6/#ikmodifier3d-and-7-child-classes diff --git a/doc/classes/GraphEdit.xml b/doc/classes/GraphEdit.xml index e1baf9f543a5..c73b4e29037c 100644 --- a/doc/classes/GraphEdit.xml +++ b/doc/classes/GraphEdit.xml @@ -1,5 +1,5 @@ - + An editor for graph-like structures, using [GraphNode]s. diff --git a/doc/classes/GraphElement.xml b/doc/classes/GraphElement.xml index 1f810b3c2d33..7aac150bf987 100644 --- a/doc/classes/GraphElement.xml +++ b/doc/classes/GraphElement.xml @@ -1,5 +1,5 @@ - + A container that represents a basic element that can be placed inside a [GraphEdit] control. diff --git a/doc/classes/GraphFrame.xml b/doc/classes/GraphFrame.xml index 52bb451d9570..ce8d3e9703e9 100644 --- a/doc/classes/GraphFrame.xml +++ b/doc/classes/GraphFrame.xml @@ -1,5 +1,5 @@ - + GraphFrame is a special [GraphElement] that can be used to organize other [GraphElement]s inside a [GraphEdit]. diff --git a/doc/classes/GraphNode.xml b/doc/classes/GraphNode.xml index 8c3039cb130a..6ea454f3d5dd 100644 --- a/doc/classes/GraphNode.xml +++ b/doc/classes/GraphNode.xml @@ -1,5 +1,5 @@ - + A container with connection ports, representing a node in a [GraphEdit]. diff --git a/doc/classes/IKModifier3D.xml b/doc/classes/IKModifier3D.xml index 5d22fddf60bd..cf698efa949d 100644 --- a/doc/classes/IKModifier3D.xml +++ b/doc/classes/IKModifier3D.xml @@ -7,6 +7,7 @@ Base class of [SkeletonModifier3D]s that has some joint lists and applies inverse kinematics. This class has some structs, enums, and helper methods which are useful to solve inverse kinematics. + https://godotengine.org/article/inverse-kinematics-returns-to-godot-4-6/#ikmodifier3d-and-7-child-classes diff --git a/doc/classes/Object.xml b/doc/classes/Object.xml index f9fc0906cf41..c50afa39105b 100644 --- a/doc/classes/Object.xml +++ b/doc/classes/Object.xml @@ -1051,7 +1051,17 @@ Reference-counted connections can be assigned to the same [Callable] multiple times. Each disconnection decreases the internal counter. The signal fully disconnects only when the counter reaches 0. - The source object is automatically bound when a [PackedScene] is instantiated. If this flag bit is enabled, the source object will be appended right after the original arguments of the signal. + On signal emission, the source object is automatically appended after the original arguments of the signal, regardless of the connected [Callable]'s unbinds which affect only the original arguments of the signal (see [method Callable.unbind], [method Callable.get_unbound_arguments_count]). + [codeblock] + extends Object + + signal test_signal + + func test(): + print(self) # Prints e.g. <Object#35332818393> + test_signal.connect(prints.unbind(1), CONNECT_APPEND_SOURCE_OBJECT) + test_signal.emit("emit_arg_1", "emit_arg_2") # Prints emit_arg_1 <Object#35332818393> + [/codeblock] diff --git a/doc/classes/ProjectSettings.xml b/doc/classes/ProjectSettings.xml index 2bd6df9015db..05d213bbfa43 100644 --- a/doc/classes/ProjectSettings.xml +++ b/doc/classes/ProjectSettings.xml @@ -3610,6 +3610,9 @@ If [code]true[/code], OpenXR will manage the depth buffer and use the depth buffer for advanced reprojection provided this is supported by the XR runtime. Note that some rendering features in Godot can't be used with this feature. + + Optionally sets a specific API version of OpenXR to initialize in [code]major.minor.patch[/code] notation. Some XR runtimes gate old behavior behind version checks. This is non-standard OpenXR behavior. + Specify the view configuration with which to configure OpenXR setting up either Mono or Stereo rendering. diff --git a/doc/translations/de.po b/doc/translations/de.po index 1d7074d336dc..8d46f3b47bfe 100644 --- a/doc/translations/de.po +++ b/doc/translations/de.po @@ -38,7 +38,7 @@ # Jummit , 2021, 2022. # Bastian , 2021. # KuhnChris , 2021. -# Rémi Verschelde , 2021. +# Rémi Verschelde , 2021, 2026. # Antonio Noack , 2022. # ‎ , 2022, 2023. # Coxcopi70f00b67b61542fe , 2022, 2024. @@ -118,8 +118,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-09 05:27+0000\n" -"Last-Translator: asdad \n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" +"Last-Translator: Rémi Verschelde \n" "Language-Team: German \n" "Language: de\n" @@ -127,7 +127,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "Alle Klassen" @@ -481,7 +481,7 @@ msgstr "" "assert(speed >= 0) # False, das Programm wird angehalten.\n" "assert(speed >= 0 and speed < 20) # Sie können die beiden bedingten " "Anweisungen auch in einer Bedingung kombinieren.\n" -"assert(speed < 20, „die Höchstgeschwindigkeit ist 20“) # Eine Nachricht " +"assert(speed < 20, \"die Höchstgeschwindigkeit ist 20\") # Eine Nachricht " "anzeigen.\n" "[/codeblock]\n" "[b]Hinweis:[/b] [method assert] ist ein Schlüsselwort, keine Funktion. Sie " @@ -845,7 +845,7 @@ msgstr "" "indem man die Datei aus dem FileSystem-Dock in das aktuelle Skript zieht.\n" "[codeblock]\n" "# Instanz einer Szene erstellen.\n" -"var diamond = preload(„res://diamond.tscn“).instantiate()\n" +"var diamond = preload(\"res://diamond.tscn\").instantiate()\n" "[/codeblock]\n" "[b]Hinweis:[/b] [method preload] ist ein Schlüsselwort, keine Funktion. Sie " "können also nicht als [Callable] darauf zugreifen." @@ -1211,7 +1211,7 @@ msgstr "" "organisieren.\n" "Siehe auch [constant PROPERTY_USAGE_CATEGORY].\n" "[codeblock]\n" -"@export_category(„Statistics“)\n" +"@export_category(\"Statistics\")\n" "@export var hp = 30\n" "@export var speed = 1.25\n" "[/codeblock]\n" @@ -1923,8 +1923,8 @@ msgstr "" "Callable aufgerufen.\n" "Wenn [param icon] angegeben ist, wird es verwendet, um über [method " "Control.get_theme_icon] ein Symbol für die Schaltfläche aus dem Thementyp " -"[code]„EditorIcons“[/code] abzurufen. Wenn [param icon] weggelassen wird, " -"wird stattdessen das Standardsymbol [code]„Callable“[/code] verwendet.\n" +"[code]\"EditorIcons\"[/code] abzurufen. Wenn [param icon] weggelassen wird, " +"wird stattdessen das Standardsymbol [code]\"Callable\"[/code] verwendet.\n" "Erwägen sie den [EditorUndoRedoManager] zu benutzen um die Action sicher " "rückgängig machen zu können.\n" "Siehe auch [constant PROPTERTY_HINT_TOOL_BUTTON].\n" @@ -1957,7 +1957,7 @@ msgstr "" "Variablendeklaration weglassen:\n" "[codeblock]\n" "var undo_redo = " -"Engine.get_singleton(&„EditorInterface“).get_editor_undo_redo()\n" +"Engine.get_singleton(&\"EditorInterface\").get_editor_undo_redo()\n" "[/codeblock]\n" "[b]Hinweis:[/b] Vermeiden Sie es, Lambda-Callables in Member-Variablen von " "[RefCounted]-basierten Klassen (z. B. Ressourcen) zu speichern, da dies zu " @@ -8803,12 +8803,12 @@ msgstr "" "hängt es vom Typ des [AnimationNode] ab, welche Zeitinformationen Vorrang " "haben.\n" "[codeblock]\n" -"var current_length = $AnimationTree[„parameters/AnimationNodeName/" -"current_length“]\n" -"var current_position = $AnimationTree[„parameters/AnimationNodeName/" -"current_position“]\n" -"var current_delta = $AnimationTree[„parameters/AnimationNodeName/" -"current_delta“]\n" +"var current_length = $AnimationTree[\"parameters/AnimationNodeName/" +"current_length\"]\n" +"var current_position = $AnimationTree[\"parameters/AnimationNodeName/" +"current_position\"]\n" +"var current_delta = $AnimationTree[\"parameters/AnimationNodeName/" +"current_delta\"]\n" "[/codeblock]" msgid "Using AnimationTree" diff --git a/doc/translations/es.po b/doc/translations/es.po index e003cd4824b2..c66ed3322593 100644 --- a/doc/translations/es.po +++ b/doc/translations/es.po @@ -27,7 +27,7 @@ # Andres David Calderón Jimenez , 2021. # Manuel Cantón Guillén , 2021. # Rémi Verschelde , 2021. -# Rémi Verschelde , 2021, 2025. +# Rémi Verschelde , 2021, 2025, 2026. # Alfonso V , 2022, 2024. # Alejandro Pérez , 2022. # Cristhian Pineda Castro , 2022. @@ -124,8 +124,8 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-11 23:26+0000\n" -"Last-Translator: zozelfelfo \n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" +"Last-Translator: Alejandro Moctezuma \n" "Language-Team: Spanish \n" "Language: es\n" @@ -133,43 +133,43 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" -msgstr "state:>=translated«Todas las clases»" +msgstr "Todas las clases" msgid "Globals" -msgstr "state:>=translated«Globales»" +msgstr "Globales" msgid "Nodes" -msgstr "state:>=translated«Nodos»" +msgstr "Nodos" msgid "Resources" msgstr "Recursos" msgid "Editor-only" -msgstr "state:>=translated«Solo para el Editor»" +msgstr "Solo para el Editor" msgid "Other objects" -msgstr "state:>=translated«Otros objetos»" +msgstr "Otros objetos" msgid "Variant types" -msgstr "state:>=translated«Tipos de Variant»" +msgstr "Tipos de Variant" msgid "Description" -msgstr "state:>=translated«Descripción»" +msgstr "Descripción" msgid "Tutorials" -msgstr "state:>=translated«Tutoriales»" +msgstr "Tutoriales" msgid "Properties" -msgstr "state:>=translated«Propiedades»" +msgstr "Propiedades" msgid "Constructors" -msgstr "state:>=translated«Constructores»" +msgstr "Constructores" msgid "Methods" -msgstr "state:>=translated«Constantes»" +msgstr "Métodos" msgid "Operators" msgstr "Operadores" @@ -4687,7 +4687,7 @@ msgid "" "[b]Note:[/b] Only implemented on Android." msgstr "" "El singleton [JavaClassWrapper] .\n" -"[b]Nota:[/b] Sólo implementado en Android." +"[b]Nota:[/b] Solo implementado en Android." msgid "" "The [JavaScriptBridge] singleton.\n" @@ -9801,7 +9801,7 @@ msgstr "" "root_motion_track] como un [Quaternion] que se puede utilizar en otros " "lugares.\n" "Esto es necesario para aplicar correctamente la posición del movimiento raíz, " -"teniendo en cuenta la rotación. Véase también [método " +"teniendo en cuenta la rotación. Véase también [method " "get_root_motion_position].\n" "Además, esto es útil en los casos en los que se desea respetar los valores " "clave iniciales de la animación.\n" @@ -10254,12 +10254,12 @@ msgstr "" "[b]Nota:[/b] Si existen varias entradas en [AnimationNode], la información de " "tiempo que tiene prioridad depende del tipo de [AnimationNode].\n" "[codeblock]\n" -"var current_length = $AnimationTree[«parameters/AnimationNodeName/" -"current_length»]\n" -"var current_position = $AnimationTree[«parameters/AnimationNodeName/" -"current_position»]\n" -"var current_delta = $AnimationTree[«parameters/AnimationNodeName/" -"current_delta»]\n" +"var current_length = $AnimationTree[\"parameters/AnimationNodeName/" +"current_length\"]\n" +"var current_position = $AnimationTree[\"parameters/AnimationNodeName/" +"current_position\"]\n" +"var current_delta = $AnimationTree[\"parameters/AnimationNodeName/" +"current_delta\"]\n" "[/codeblock]" msgid "Using AnimationTree" @@ -10898,8 +10898,8 @@ msgid "" "disable the [member autorestart] itself. So, the [constant " "ONE_SHOT_REQUEST_FIRE] request will start auto restarting again." msgstr "" -"Si es [code]true[/code], la animación se reiniciará automáticamente una vez " -"finalizada.\n" +"Si es [code]true[/code], la subanimación se reiniciará automáticamente al " +"finalizar.\n" "En otras palabras, para iniciar el reinicio automático, la animación debe " "reproducirse una vez con la petición [constant ONE_SHOT_REQUEST_FIRE]. La " "petición [constant ONE_SHOT_REQUEST_ABORT] detendrá el reinicio automático, " @@ -17997,7 +17997,7 @@ msgid "" "tween.tween_callback(queue_free).set_delay(2)\n" "[/codeblock]" msgstr "" -"Hace que la llamada de retorno se retrase el tiempo dado en segundos.\n" +"Hace que la callback se retrase el tiempo dado en segundos.\n" "[b]Ejemplo:[/b] Llama a [method Node.queue_free] después de 2 segundos:\n" "[codeblock]\n" "var tween = get_tree().create_tween()\n" @@ -19253,7 +19253,7 @@ msgid "" "[b]Warning:[/b] The collision normal is not always the same as the surface " "normal." msgstr "" -"Devuelve la normal de colisión del suelo en el último punto de colisión. Sólo " +"Devuelve la normal de colisión del suelo en el último punto de colisión. Solo " "es válido después de llamar a [method move_and_slide] y cuando [method " "is_on_floor] devuelve [code]true[/code].\n" "[b]Advertencia:[/b] La normal de colisión no siempre es la misma que la " @@ -20743,7 +20743,7 @@ msgstr "" "asignada a un [i]propietario de la forma[/i]. Los propietarios de la forma no " "son nodos y no aparecen en el editor, pero son accesibles a través del código " "usando los métodos [code]shape_owner_*[/code].\n" -"[b]Nota:[/b] Sólo se admiten colisiones entre objetos dentro del mismo canvas " +"[b]Nota:[/b] Solo se admiten colisiones entre objetos dentro del mismo canvas " "([Viewport] o [CanvasLayer]). El comportamiento de las colisiones entre " "objetos en diferentes canvas no está definido." @@ -23094,9 +23094,9 @@ msgid "" msgstr "" "Este recurso define un efecto de renderizado personalizado que se puede " "aplicar a los [Viewport]s a través del [Environment] de los viewports. Puedes " -"implementar una retrollamada que se llama durante el renderizado en una etapa " +"implementar una callback que se llama durante el renderizado en una etapa " "dada de la pipeline de renderizado y te permite insertar pases adicionales. " -"Ten en cuenta que esta retrollamada se produce en el hilo de renderizado. " +"Ten en cuenta que esta callback se produce en el hilo de renderizado. " "CompositorEffect es una clase base abstracta y debe ser extendida para " "implementar una lógica de renderizado específica." @@ -23108,7 +23108,7 @@ msgid "" "not be stored." msgstr "" "Implementa esta función con tu código de renderizado personalizado. [param " -"effect_callback_type] siempre debe coincidir con el tipo de retrollamada de " +"effect_callback_type] siempre debe coincidir con el tipo de callback de " "efecto que has especificado en [member effect_callback_type]. [param " "render_data] proporciona acceso al estado de renderizado, sólo es válido " "durante el renderizado y no debe ser almacenado." @@ -23261,38 +23261,38 @@ msgid "" "The callback is called before our opaque rendering pass, but after depth " "prepass (if applicable)." msgstr "" -"La retrollamada se llama antes de nuestro pase de renderizado opaco, pero " -"después del pre-pase de profundidad (si corresponde)." +"La callback se llama antes de nuestro pase de renderizado opaco, pero después " +"del pre-pase de profundidad (si corresponde)." msgid "" "The callback is called after our opaque rendering pass, but before our sky is " "rendered." msgstr "" -"La retrollamada se llama después de nuestro pase de renderizado opaco, pero " -"antes de que se renderice nuestro cielo." +"La callback se llama después de nuestro pase de renderizado opaco, pero antes " +"de que se renderice nuestro cielo." msgid "" "The callback is called after our sky is rendered, but before our back buffers " "are created (and if enabled, before subsurface scattering and/or screen space " "reflections)." msgstr "" -"La retrollamada se llama después de que se renderice nuestro cielo, pero " -"antes de que se creen nuestros búferes de fondo (y, si está habilitado, antes " -"de la dispersión subsuperficial y/o los reflejos del espacio de pantalla)." +"La callback se llama después de que se renderice nuestro cielo, pero antes de " +"que se creen nuestros búferes de fondo (y, si está habilitado, antes de la " +"dispersión subsuperficial y/o los reflejos del espacio de pantalla)." msgid "" "The callback is called before our transparent rendering pass, but after our " "sky is rendered and we've created our back buffers." msgstr "" -"La retrollamada se llama antes de nuestro pase de renderizado transparente, " -"pero después de que se renderice nuestro cielo y hayamos creado nuestros " -"búferes de fondo." +"La callback se llama antes de nuestro pase de renderizado transparente, pero " +"después de que se renderice nuestro cielo y hayamos creado nuestros búferes " +"de fondo." msgid "" "The callback is called after our transparent rendering pass, but before any " "built-in post-processing effects and output to our render target." msgstr "" -"La retrollamada se llama después de nuestro pase de renderizado transparente, " +"La callback se llama después de nuestro pase de renderizado transparente, " "pero antes de cualquier efecto de post-procesamiento incorporado y de la " "salida a nuestro objetivo de renderizado." @@ -23331,13 +23331,13 @@ msgstr "" "- Comprimido en VRAM (comprimido en la GPU)\n" "- Sin comprimir en VRAM (sin comprimir en la GPU)\n" "- Basis Universal (comprimido en la GPU. Tamaños de archivo más bajos que " -"VRAM Comprimido, pero más lento para comprimir y de menor calidad que VRAM " +"VRAM Comprimida, pero más lento para comprimir y de menor calidad que VRAM " "Comprimido)\n" -"Sólo [b]VRAM Comprimido[/b] reduce realmente el uso de memoria en la GPU. Los " +"Solo [b]VRAM Comprimida[/b] reduce realmente el uso de memoria en la GPU. Los " "métodos de compresión [b]Sin pérdida[/b] y [b]Con pérdida[/b] reducirán el " "almacenamiento necesario en el disco, pero no reducirán el uso de memoria en " "la GPU, ya que la textura se envía a la GPU sin comprimir.\n" -"El uso de [b]VRAM Comprimido[/b] también mejora los tiempos de carga, ya que " +"El uso de [b]VRAM Comprimida[/b] también mejora los tiempos de carga, ya que " "las texturas comprimidas en VRAM se cargan más rápido en comparación con las " "texturas que utilizan compresión sin pérdida o con pérdida. La compresión " "VRAM puede mostrar artefactos notables y está destinada a ser utilizada para " @@ -23377,13 +23377,13 @@ msgstr "" "- Comprimido en VRAM (comprimido en la GPU)\n" "- Sin comprimir en VRAM (sin comprimir en la GPU)\n" "- Basis Universal (comprimido en la GPU. Tamaños de archivo más bajos que " -"VRAM Comprimido, pero más lento para comprimir y de menor calidad que VRAM " +"VRAM Comprimida, pero más lento para comprimir y de menor calidad que VRAM " "Comprimido)\n" -"Sólo [b]VRAM Comprimido[/b] reduce realmente el uso de memoria en la GPU. Los " +"Solo [b]VRAM Comprimida[/b] reduce realmente el uso de memoria en la GPU. Los " "métodos de compresión [b]Sin pérdida[/b] y [b]Con pérdida[/b] reducirán el " "almacenamiento necesario en el disco, pero no reducirán el uso de memoria en " "la GPU, ya que la textura se envía a la GPU sin comprimir.\n" -"El uso de [b]VRAM Comprimido[/b] también mejora los tiempos de carga, ya que " +"El uso de [b]VRAM Comprimida[/b] también mejora los tiempos de carga, ya que " "las texturas comprimidas en VRAM se cargan más rápido en comparación con las " "texturas que utilizan compresión sin pérdida o con pérdida. La compresión " "VRAM puede mostrar artefactos notables y está destinada a ser utilizada para " @@ -23420,16 +23420,16 @@ msgstr "" "métodos de compresión (incluyendo la falta de cualquier compresión):\n" "- Sin pérdida (WebP o PNG, descomprimido en la GPU)\n" "- Con pérdida (WebP, descomprimido en la GPU)\n" -"- VRAM Comprimido (comprimido en la GPU)\n" +"- VRAM Comprimida (comprimido en la GPU)\n" "- VRAM Sin comprimir (sin comprimir en la GPU)\n" "- Basis Universal (comprimido en la GPU. Tamaños de archivo más pequeños que " -"VRAM Comprimido, pero más lento para comprimir y de menor calidad que VRAM " +"VRAM Comprimida, pero más lento para comprimir y de menor calidad que VRAM " "Comprimido)\n" -"Sólo [b]VRAM Comprimido[/b] reduce realmente el uso de memoria en la GPU. Los " +"Solo [b]VRAM Comprimida[/b] reduce realmente el uso de memoria en la GPU. Los " "métodos de compresión [b]Sin pérdida[/b] y [b]Con pérdida[/b] reducirán el " "almacenamiento requerido en el disco, pero no reducirán el uso de memoria en " "la GPU, ya que la textura se envía a la GPU sin comprimir.\n" -"El uso de [b]VRAM Comprimido[/b] también mejora los tiempos de carga, ya que " +"El uso de [b]VRAM Comprimida[/b] también mejora los tiempos de carga, ya que " "las texturas comprimidas en VRAM se cargan más rápido en comparación con las " "texturas que utilizan compresión sin pérdida o con pérdida. La compresión " "VRAM puede mostrar artefactos notables y está destinada a ser utilizada para " @@ -23475,13 +23475,13 @@ msgstr "" "- Comprimido en VRAM (comprimido en la GPU)\n" "- Sin comprimir en VRAM (sin comprimir en la GPU)\n" "- Basis Universal (comprimido en la GPU. Tamaños de archivo más bajos que " -"VRAM Comprimido, pero más lento para comprimir y de menor calidad que VRAM " +"VRAM Comprimida, pero más lento para comprimir y de menor calidad que VRAM " "Comprimido)\n" -"Sólo [b]VRAM Comprimido[/b] reduce realmente el uso de memoria en la GPU. Los " +"Solo [b]VRAM Comprimida[/b] reduce realmente el uso de memoria en la GPU. Los " "métodos de compresión [b]Sin pérdida[/b] y [b]Con pérdida[/b] reducirán el " "almacenamiento necesario en el disco, pero no reducirán el uso de memoria en " "la GPU, ya que la textura se envía a la GPU sin comprimir.\n" -"El uso de [b]VRAM Comprimido[/b] también mejora los tiempos de carga, ya que " +"El uso de [b]VRAM Comprimida[/b] también mejora los tiempos de carga, ya que " "las texturas comprimidas en VRAM se cargan más rápido en comparación con las " "texturas que utilizan compresión sin pérdida o con pérdida. La compresión " "VRAM puede mostrar artefactos notables y está destinada a ser utilizada para " @@ -27371,7 +27371,7 @@ msgstr "" "tanto no son compatibles con el algoritmo CSG.\n" "[b]Nota:[/b] Cuando se usa un [ArrayMesh], todos los atributos de vértice " "excepto [constant Mesh.ARRAY_VERTEX], [constant Mesh.ARRAY_NORMAL] y " -"[constant Mesh.ARRAY_TEX_UV] se dejan sin usar. Sólo [constant " +"[constant Mesh.ARRAY_TEX_UV] se dejan sin usar. Solo [constant " "Mesh.ARRAY_VERTEX] y [constant Mesh.ARRAY_TEX_UV] se pasarán a la GPU.\n" "[constant Mesh.ARRAY_NORMAL] sólo se usa para determinar qué caras requieren " "el uso de sombreado plano. Por defecto, CSGMesh ignorará las normales de los " @@ -27622,7 +27622,7 @@ msgstr "" "elimina." msgid "Only intersecting geometry remains, the rest is removed." -msgstr "Sólo queda la geometría de intersección, el resto se elimina." +msgstr "Solo queda la geometría de intersección, el resto se elimina." msgid "" "The second shape is subtracted from the first, leaving a dent with its shape." @@ -28518,6 +28518,116 @@ msgstr "" "En otras plataformas, o si la unidad solicitada no existe, el método devuelve " "una String vacía." +msgid "" +"Returns file system type name of the current directory's disk. Returned " +"values are uppercase strings like [code]NTFS[/code], [code]FAT32[/code], " +"[code]EXFAT[/code], [code]APFS[/code], [code]EXT4[/code], [code]BTRFS[/code], " +"and so on.\n" +"[b]Note:[/b] This method is implemented on macOS, Linux, Windows and for PCK " +"virtual file system." +msgstr "" +"Devuelve el nombre del tipo de sistema de archivos del disco del directorio " +"actual. Los valores devueltos son cadenas de texto en mayúsculas como " +"[code]NTFS[/code], [code]FAT32[/code], [code]EXFAT[/code], [code]APFS[/code], " +"[code]EXT4[/code], [code]BTRFS[/code], y así sucesivamente.\n" +"[b]Nota:[/b] Este método está implementado en macOS, Linux, Windows y para el " +"sistema de archivos virtual PCK." + +msgid "" +"Returns the next element (file or directory) in the current directory.\n" +"The name of the file or directory is returned (and not its full path). Once " +"the stream has been fully processed, the method returns an empty [String] and " +"closes the stream automatically (i.e. [method list_dir_end] would not be " +"mandatory in such a case)." +msgstr "" +"Devuelve el siguiente elemento (archivo o directorio) en el directorio " +"actual.\n" +"Se devuelve el nombre del archivo o directorio (y no su ruta completa). Una " +"vez que la secuencia se ha procesado completamente, el método devuelve una " +"string vacía y cierra la secuencia automáticamente (es decir, [method " +"list_dir_end] no sería obligatorio en tal caso)." + +msgid "Returns the result of the last [method open] call in the current thread." +msgstr "" +"Devuelve el resultado de la última llamada a [method open] en el hilo actual." + +msgid "" +"Returns the available space on the current directory's disk, in bytes. " +"Returns [code]0[/code] if the platform-specific method to query the available " +"space fails." +msgstr "" +"Devuelve el espacio disponible en el disco del directorio actual, en bytes. " +"Devuelve [code]0[/code] si el método específico de la plataforma para " +"consultar el espacio disponible falla." + +msgid "" +"Returns [code]true[/code] if the directory is a macOS bundle.\n" +"[b]Note:[/b] This method is implemented on macOS." +msgstr "" +"Devuelve [code]true[/code] si el directorio es un paquete de macOS.\n" +"[b]Nota:[/b] Este método está implementado en macOS." + +msgid "" +"Returns [code]true[/code] if the file system or directory use case sensitive " +"file names.\n" +"[b]Note:[/b] This method is implemented on macOS, Linux (for EXT4 and F2FS " +"filesystems only) and Windows. On other platforms, it always returns " +"[code]true[/code]." +msgstr "" +"Devuelve [code]true[/code] si el sistema de archivos o el directorio utilizan " +"nombres de archivo que distinguen entre mayúsculas y minúsculas.\n" +"[b]Nota:[/b] Este método está implementado en macOS, Linux (solo para " +"sistemas de archivos EXT4 y F2FS) y Windows. En otras plataformas, siempre " +"devuelve [code]true[/code]." + +msgid "" +"Returns [code]true[/code] if paths [param path_a] and [param path_b] resolve " +"to the same file system object. Returns [code]false[/code] otherwise, even if " +"the files are bit-for-bit identical (e.g., identical copies of the file that " +"are not symbolic links)." +msgstr "" +"Devuelve [code]true[/code] si las rutas [param path_a] y [param path_b] se " +"resuelven en el mismo objeto del sistema de archivos. Devuelve [code]false[/" +"code] en caso contrario, incluso si los archivos son idénticos bit a bit (por " +"ejemplo, copias idénticas del archivo que no son enlaces simbólicos)." + +msgid "" +"Returns [code]true[/code] if the file or directory is a symbolic link, " +"directory junction, or other reparse point.\n" +"[b]Note:[/b] This method is implemented on macOS, Linux, and Windows." +msgstr "" +"Devuelve [code]true[/code] si el archivo o directorio es un enlace simbólico, " +"una unión de directorio u otro punto de reanálisis.\n" +"[b]Nota:[/b] Este método está implementado en macOS, Linux y Windows." + +msgid "" +"Initializes the stream used to list all files and directories using the " +"[method get_next] function, closing the currently opened stream if needed. " +"Once the stream has been processed, it should typically be closed with " +"[method list_dir_end].\n" +"Affected by [member include_hidden] and [member include_navigational].\n" +"[b]Note:[/b] The order of files and directories returned by this method is " +"not deterministic, and can vary between operating systems. If you want a list " +"of all files or folders sorted alphabetically, use [method get_files] or " +"[method get_directories]." +msgstr "" +"Inicializa el flujo usado para listar todos los archivos y directorios usando " +"la función [method get_next], cerrando el flujo abierto actual si es " +"necesario. Una vez que el flujo ha sido procesado, típicamente debería ser " +"cerrado con [method list_dir_end].\n" +"Afectado por [member include_hidden] y [member include_navigational].\n" +"[b]Nota:[/b] El orden de los archivos y directorios devueltos por este método " +"no es determinístico y puede variar entre sistemas operativos. Si quieres una " +"lista de todos los archivos o carpetas ordenados alfabéticamente, usa [method " +"get_files] o [method get_directories]." + +msgid "" +"Closes the current stream opened with [method list_dir_begin] (whether it has " +"been fully processed with [method get_next] does not matter)." +msgstr "" +"Cierra el flujo actual abierto con [method list_dir_begin] (no importa si se " +"ha procesado completamente con [method get_next] o no)." + msgid "" "Creates a directory. The argument can be relative to the current directory, " "or an absolute path. The target directory should be placed in an already " @@ -28532,6 +28642,50 @@ msgstr "" "Devuelve una de las constantes de código [enum Error] ([constant OK] en caso " "de éxito)." +msgid "Static version of [method make_dir]. Supports only absolute paths." +msgstr "Versión estática de [method make_dir]. Solo admite rutas absolutas." + +msgid "" +"Creates a target directory and all necessary intermediate directories in its " +"path, by calling [method make_dir] recursively. The argument can be relative " +"to the current directory, or an absolute path.\n" +"Returns one of the [enum Error] code constants ([constant OK] on success)." +msgstr "" +"Crea un directorio de destino y todos los directorios intermedios necesarios " +"en su ruta, llamando a [method make_dir] recursivamente. El argumento puede " +"ser relativo al directorio actual, o una ruta absoluta.\n" +"Devuelve una de las constantes de código de [enum Error] ([constant OK] en " +"caso de éxito)." + +msgid "" +"Static version of [method make_dir_recursive]. Supports only absolute paths." +msgstr "" +"Versión estática de [method make_dir_recursive]. Solo admite rutas absolutas." + +msgid "" +"Creates a new [DirAccess] object and opens an existing directory of the " +"filesystem. The [param path] argument can be within the project tree " +"([code]res://folder[/code]), the user directory ([code]user://folder[/code]) " +"or an absolute path of the user filesystem (e.g. [code]/tmp/folder[/code] or " +"[code]C:\\tmp\\folder[/code]).\n" +"Returns [code]null[/code] if opening the directory failed. You can use " +"[method get_open_error] to check the error that occurred." +msgstr "" +"Crea un nuevo objeto [DirAccess] y abre un directorio existente del sistema " +"de archivos. El argumento [param path] puede estar dentro del árbol del " +"proyecto ([code]res://folder[/code]), el directorio de usuario ([code]user://" +"folder[/code]) o una ruta absoluta del sistema de archivos de usuario (por " +"ejemplo, [code]/tmp/folder[/code] o [code]C:\\tmp\\folder[/code]).\n" +"Devuelve [code]null[/code] si falló la apertura del directorio. Puedes usar " +"[method get_open_error] para verificar el error ocurrido." + +msgid "" +"Returns target of the symbolic link.\n" +"[b]Note:[/b] This method is implemented on macOS, Linux, and Windows." +msgstr "" +"Devuelve el destino del enlace simbólico.\n" +"[b]Nota:[/b] Este método está implementado en macOS, Linux y Windows." + msgid "" "Permanently deletes the target file or an empty directory. The argument can " "be relative to the current directory, or an absolute path. If the target " @@ -28548,18 +28702,210 @@ msgstr "" "Devuelve una de las constantes de código [enum Error], ([constant OK] en caso " "de éxito)." +msgid "Static version of [method remove]. Supports only absolute paths." +msgstr "Versión estática de [method remove]. Solo admite rutas absolutas." + +msgid "" +"Renames (move) the [param from] file or directory to the [param to] " +"destination. Both arguments should be paths to files or directories, either " +"relative or absolute. If the destination file or directory exists and is not " +"access-protected, it will be overwritten.\n" +"Returns one of the [enum Error] code constants ([constant OK] on success)." +msgstr "" +"Renombra (mueve) el archivo o directorio [param from] al destino [param to]. " +"Ambos argumentos deben ser rutas a archivos o directorios, ya sean relativas " +"o absolutas. Si el archivo o directorio de destino existe y no está protegido " +"contra el acceso, será sobrescrito.\n" +"Devuelve una de las constantes del código [enum Error] ([constant OK] en caso " +"de éxito)." + +msgid "Static version of [method rename]. Supports only absolute paths." +msgstr "Versión estática de [method rename]. Solo admite rutas absolutas." + +msgid "" +"If [code]true[/code], hidden files are included when navigating the " +"directory.\n" +"Affects [method list_dir_begin], [method get_directories] and [method " +"get_files]." +msgstr "" +"Si [code]true[/code], los archivos ocultos se incluyen al navegar por el " +"directorio.\n" +"Afecta a [method list_dir_begin], [method get_directories] y [method " +"get_files]." + +msgid "" +"If [code]true[/code], [code].[/code] and [code]..[/code] are included when " +"navigating the directory.\n" +"Affects [method list_dir_begin] and [method get_directories]." +msgstr "" +"Si [code]true[/code], [code].[/code] y [code]..[/code] se incluyen al navegar " +"por el directorio.\n" +"Afecta a [method list_dir_begin] y [method get_directories]." + msgid "Directional 2D light from a distance." msgstr "Luz direccional 2D desde la distancia." +msgid "" +"A directional light is a type of [Light2D] node that models an infinite " +"number of parallel rays covering the entire scene. It is used for lights with " +"strong intensity that are located far away from the scene (for example: to " +"model sunlight or moonlight).\n" +"Light is emitted in the +Y direction of the node's global basis. For an " +"unrotated light, this means that the light is emitted downwards. The position " +"of the node is ignored; only the basis is used to determine light direction.\n" +"[b]Note:[/b] [DirectionalLight2D] does not support light cull masks (but it " +"supports shadow cull masks). It will always light up 2D nodes, regardless of " +"the 2D node's [member CanvasItem.light_mask]." +msgstr "" +"Una luz direccional es un tipo de nodo [Light2D] que modela un número " +"infinito de rayos paralelos que cubren toda la escena. Se utiliza para luces " +"de gran intensidad que se ubican lejos de la escena (por ejemplo: para " +"modelar la luz del sol o la luz de la luna).\n" +"La luz se emite en la dirección +Y de la base global del nodo. Para una luz " +"sin rotar, esto significa que la luz se emite hacia abajo. La posición del " +"nodo se ignora; solo se usa la base para determinar la dirección de la luz.\n" +"[b]Nota:[/b] [DirectionalLight2D] no soporta máscaras de exclusión de luz " +"(pero sí soporta máscaras de exclusión de sombra). Siempre iluminará los " +"nodos 2D, independientemente de la [member CanvasItem.light_mask] del nodo 2D." + +msgid "" +"The height of the light. Used with 2D normal mapping. Ranges from 0 (parallel " +"to the plane) to 1 (perpendicular to the plane)." +msgstr "" +"La altura de la luz. Se utiliza con el mapeo normal 2D. Rango de 0 (paralelo " +"al plano) a 1 (perpendicular al plano)." + +msgid "" +"The maximum distance from the camera center objects can be before their " +"shadows are culled (in pixels). Decreasing this value can prevent objects " +"located outside the camera from casting shadows (while also improving " +"performance). [member Camera2D.zoom] is not taken into account by [member " +"max_distance], which means that at higher zoom values, shadows will appear to " +"fade out sooner when zooming onto a given point." +msgstr "" +"La distancia máxima desde el centro de la cámara a la que los objetos pueden " +"estar antes de que sus sombras sean eliminadas (en píxeles). Disminuir este " +"valor puede evitar que los objetos situados fuera de la cámara proyecten " +"sombras (al mismo tiempo que mejora el rendimiento). [member Camera2D.zoom] " +"no es tomado en cuenta por [member max_distance], lo que significa que con " +"valores de zoom más altos, las sombras parecerán desvanecerse antes al hacer " +"zoom en un punto dado." + msgid "Directional light from a distance, as from the Sun." msgstr "Luz direccional desde una distancia, como desde el Sol." +msgid "" +"A directional light is a type of [Light3D] node that models an infinite " +"number of parallel rays covering the entire scene. It is used for lights with " +"strong intensity that are located far away from the scene to model sunlight " +"or moonlight.\n" +"Light is emitted in the -Z direction of the node's global basis. For an " +"unrotated light, this means that the light is emitted forwards, illuminating " +"the front side of a 3D model (see [constant Vector3.FORWARD] and [constant " +"Vector3.MODEL_FRONT]). The position of the node is ignored; only the basis is " +"used to determine light direction." +msgstr "" +"Una luz direccional es un tipo de nodo [Light3D] que modela un número " +"infinito de rayos paralelos que cubren toda la escena. Se utiliza para luces " +"de gran intensidad que se ubican lejos de la escena para modelar la luz del " +"sol o la luz de la luna.\n" +"La luz se emite en la dirección -Z de la base global del nodo. Para una luz " +"sin rotar, esto significa que la luz se emite hacia adelante, iluminando la " +"parte frontal de un modelo 3D (véase [constant Vector3.FORWARD] y [constant " +"Vector3.MODEL_FRONT]). La posición del nodo se ignora; solo se usa la base " +"para determinar la dirección de la luz." + +msgid "3D lights and shadows" +msgstr "Luces y sombras 3D" + msgid "Faking global illumination" msgstr "Falsificar la iluminación global" +msgid "" +"If [code]true[/code], shadow detail is sacrificed in exchange for smoother " +"transitions between splits. Enabling shadow blend splitting also has a " +"moderate performance cost. This is ignored when [member " +"directional_shadow_mode] is [constant SHADOW_ORTHOGONAL]." +msgstr "" +"Si es [code]true[/code], el detalle de la sombra se sacrifica a cambio de " +"transiciones más suaves entre divisiones. Habilitar la división de mezcla de " +"sombras también tiene un costo moderado en el rendimiento. Esto se ignora " +"cuando [member directional_shadow_mode] es [constant SHADOW_ORTHOGONAL]." + +msgid "" +"Proportion of [member directional_shadow_max_distance] at which point the " +"shadow starts to fade. At [member directional_shadow_max_distance], the " +"shadow will disappear. The default value is a balance between smooth fading " +"and distant shadow visibility. If the camera moves fast and the [member " +"directional_shadow_max_distance] is low, consider lowering [member " +"directional_shadow_fade_start] below [code]0.8[/code] to make shadow " +"transitions less noticeable. On the other hand, if you tuned [member " +"directional_shadow_max_distance] to cover the entire scene, you can set " +"[member directional_shadow_fade_start] to [code]1.0[/code] to prevent the " +"shadow from fading in the distance (it will suddenly cut off instead)." +msgstr "" +"Proporción de [member directional_shadow_max_distance] en la que la sombra " +"comienza a desvanecerse. En [member directional_shadow_max_distance], la " +"sombra desaparecerá. El valor predeterminado es un equilibrio entre el " +"desvanecimiento suave y la visibilidad de la sombra a distancia. Si la cámara " +"se mueve rápido y [member directional_shadow_max_distance] es baja, considera " +"reducir [member directional_shadow_fade_start] por debajo de [code]0.8[/code] " +"para hacer que las transiciones de sombra sean menos notorias. Por otro lado, " +"si ajustaste [member directional_shadow_max_distance] para cubrir toda la " +"escena, puedes establecer [member directional_shadow_fade_start] en " +"[code]1.0[/code] para evitar que la sombra se desvanezca en la distancia (en " +"su lugar, se cortará repentinamente)." + +msgid "" +"The maximum distance for shadow splits. Increasing this value will make " +"directional shadows visible from further away, at the cost of lower overall " +"shadow detail and performance (since more objects need to be included in the " +"directional shadow rendering)." +msgstr "" +"La distancia máxima para las divisiones de sombra. Aumentar este valor hará " +"que las sombras direccionales sean visibles desde más lejos, a costa de un " +"menor detalle general de la sombra y rendimiento (ya que se deben incluir más " +"objetos en la renderización de la sombra direccional)." + msgid "The light's shadow rendering algorithm." msgstr "El algoritmo de renderizado de sombras de la luz." +msgid "" +"The distance from camera to shadow split 1. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [constant SHADOW_PARALLEL_2_SPLITS] or [constant " +"SHADOW_PARALLEL_4_SPLITS]." +msgstr "" +"La distancia desde la cámara hasta la primera división de sombra. Relativo a " +"[member directional_shadow_max_distance]. Solo se usa cuando [member " +"directional_shadow_mode] es [constant SHADOW_PARALLEL_2_SPLITS] o [constant " +"SHADOW_PARALLEL_4_SPLITS]." + +msgid "" +"The distance from shadow split 1 to split 2. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS]." +msgstr "" +"La distancia desde la división de sombra 1 a la división 2. Relativo a " +"[member directional_shadow_max_distance]. Solo se usa cuando [member " +"directional_shadow_mode] es [constant SHADOW_PARALLEL_4_SPLITS]." + +msgid "" +"The distance from shadow split 2 to split 3. Relative to [member " +"directional_shadow_max_distance]. Only used when [member " +"directional_shadow_mode] is [constant SHADOW_PARALLEL_4_SPLITS]." +msgstr "" +"La distancia desde la división de sombra 2 a la división 3. Relativo a " +"[member directional_shadow_max_distance]. Solo se usa cuando [member " +"directional_shadow_mode] es [constant SHADOW_PARALLEL_4_SPLITS]." + +msgid "" +"Whether this [DirectionalLight3D] is visible in the sky, in the scene, or " +"both in the sky and in the scene." +msgstr "" +"Si esta [DirectionalLight3D] es visible en el cielo, en la escena, o en " +"ambos, en el cielo y en la escena." + msgid "" "Renders the entire scene's shadow map from an orthogonal point of view. This " "is the fastest directional shadow mode. May result in blurrier shadows on " @@ -28586,17 +28932,213 @@ msgstr "" "Divide el frustum de la vista en 4 áreas, cada una con su propio mapa de " "sombras. Este es el modo de sombra direccional más lento." +msgid "Makes the light visible in both scene lighting and sky rendering." +msgstr "" +"Hace que la luz sea visible tanto en la iluminación de la escena como en la " +"renderización del cielo." + +msgid "" +"Makes the light visible in scene lighting only (including direct lighting and " +"global illumination). When using this mode, the light will not be visible " +"from sky shaders." +msgstr "" +"Hace que la luz sea visible solo en la iluminación de la escena (incluida la " +"iluminación directa y la iluminación global). Al usar este modo, la luz no " +"será visible desde los shaders del cielo." + +msgid "" +"Makes the light visible to sky shaders only. When using this mode the light " +"will not cast light into the scene (either through direct lighting or through " +"global illumination), but can be accessed through sky shaders. This can be " +"useful, for example, when you want to control sky effects without " +"illuminating the scene (during a night cycle, for example)." +msgstr "" +"Hace que la luz sea visible solo para los shaders del cielo. Al usar este " +"modo, la luz no proyectará luz en la escena (ya sea a través de iluminación " +"directa o a través de iluminación global), pero se puede acceder a ella a " +"través de los shaders del cielo. Esto puede ser útil, por ejemplo, cuando " +"quieres controlar los efectos del cielo sin iluminar la escena (durante un " +"ciclo nocturno, por ejemplo)." + msgid "A server interface for low-level window management." msgstr "Una interfaz de servidor para la gestión de ventanas de bajo nivel." +msgid "" +"Creates a new, empty accessibility element resource.\n" +"[b]Note:[/b] An accessibility element is created and freed automatically for " +"each [Node]. In general, this function should not be called manually." +msgstr "" +"Crea un nuevo recurso de elemento de accesibilidad vacío.\n" +"[b]Nota:[/b] Se crea y libera automáticamente un elemento de accesibilidad " +"para cada [Node]. En general, esta función no debe ser llamada manualmente." + +msgid "" +"Creates a new, empty accessibility sub-element resource. Sub-elements can be " +"used to provide accessibility information for objects which are not [Node]s, " +"such as list items, table cells, or menu items. Sub-elements are freed " +"automatically when the parent element is freed, or can be freed early using " +"the [method accessibility_free_element] method." +msgstr "" +"Crea un nuevo recurso de subelemento de accesibilidad vacío. Los subelementos " +"se pueden usar para proporcionar información de accesibilidad para objetos " +"que no son [Node]s, como elementos de lista, celdas de tabla o elementos de " +"menú. Los subelementos se liberan automáticamente cuando se libera el " +"elemento padre, o se pueden liberar antes usando el método [method " +"accessibility_free_element]." + +msgid "" +"Creates a new, empty accessibility sub-element from the shaped text buffer. " +"Sub-elements are freed automatically when the parent element is freed, or can " +"be freed early using the [method accessibility_free_element] method.\n" +"If [param is_last_line] is [code]true[/code], no trailing newline is appended " +"to the text content. Set to [code]true[/code] for the last line in multi-line " +"text fields and for single-line text fields." +msgstr "" +"Crea un nuevo subelemento de accesibilidad vacío desde el búfer de texto " +"formateado. Los subelementos se liberan automáticamente cuando el elemento " +"padre se libera, o pueden liberarse antes usando el método [method " +"accessibility_free_element].\n" +"Si [param is_last_line] es [code]true[/code], no se añade un salto de línea " +"al final del contenido del texto. Establécelo en [code]true[/code] para la " +"última línea en campos de texto multilínea y para campos de texto de una sola " +"línea." + +msgid "Returns the metadata of the accessibility element [param id]." +msgstr "Devuelve los metadatos del elemento de accesibilidad [param id]." + +msgid "" +"Sets the metadata of the accessibility element [param id] to [param meta]." +msgstr "" +"Establece los metadatos del elemento de accesibilidad [param id] a [param " +"meta]." + +msgid "" +"Frees the accessibility element [param id] created by [method " +"accessibility_create_element], [method accessibility_create_sub_element], or " +"[method accessibility_create_sub_text_edit_elements]." +msgstr "" +"Libera el elemento de accesibilidad [param id] creado por [method " +"accessibility_create_element], [method accessibility_create_sub_element], o " +"[method accessibility_create_sub_text_edit_elements]." + msgid "Returns the main accessibility element of the OS native window." msgstr "" "Devuelve el elemento de accesibilidad principal de la ventana nativa del " "sistema operativo." +msgid "" +"Returns [code]true[/code] if [param id] is a valid accessibility element." +msgstr "" +"Devuelve [code]true[/code] si [param id] es un elemento de accesibilidad " +"válido." + +msgid "" +"Sets the window focused state for assistive apps.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS, and Windows.\n" +"[b]Note:[/b] Advanced users only! [Window] objects call this method " +"automatically." +msgstr "" +"Establece el estado de foco de la ventana para aplicaciones de asistencia.\n" +"[b]Nota:[/b] Este método está implementado en Linux, macOS y Windows.\n" +"[b]Nota:[/b] ¡Solo para usuarios avanzados! Los objetos [Window] llaman a " +"este método automáticamente." + +msgid "" +"Sets window outer (with decorations) and inner (without decorations) bounds " +"for assistive apps.\n" +"[b]Note:[/b] This method is implemented on Linux, macOS, and Windows.\n" +"[b]Note:[/b] Advanced users only! [Window] objects call this method " +"automatically." +msgstr "" +"Establece los límites exteriores (con decoraciones) e interiores (sin " +"decoraciones) de la ventana para aplicaciones de asistencia.\n" +"[b]Nota:[/b] Este método está implementado en Linux, macOS y Windows.\n" +"[b]Nota:[/b] ¡Solo para usuarios avanzados! Los objetos [Window] llaman a " +"este método automáticamente." + +msgid "" +"Returns [code]1[/code] if a high-contrast user interface theme should be " +"used, [code]0[/code] otherwise. Returns [code]-1[/code] if status is " +"unknown.\n" +"[b]Note:[/b] This method is implemented on Linux (X11/Wayland, GNOME), macOS, " +"and Windows." +msgstr "" +"Devuelve [code]1[/code] si se debe usar un tema de interfaz de usuario de " +"alto contraste, [code]0[/code] en caso contrario. Devuelve [code]-1[/code] si " +"el estado es desconocido.\n" +"[b]Nota:[/b] Este método está implementado en Linux (X11/Wayland, GNOME), " +"macOS y Windows." + +msgid "" +"Returns [code]1[/code] if flashing, blinking, and other moving content that " +"can cause seizures in users with photosensitive epilepsy should be disabled, " +"[code]0[/code] otherwise. Returns [code]-1[/code] if status is unknown.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Devuelve [code]1[/code] si se debe deshabilitar el contenido parpadeante, " +"intermitente y otro contenido en movimiento que pueda causar convulsiones en " +"usuarios con epilepsia fotosensible, [code]0[/code] en caso contrario. " +"Devuelve [code]-1[/code] si el estado es desconocido.\n" +"[b]Nota:[/b] Este método está implementado en macOS y Windows." + +msgid "" +"Returns [code]1[/code] if background images, transparency, and other features " +"that can reduce the contrast between the foreground and background should be " +"disabled, [code]0[/code] otherwise. Returns [code]-1[/code] if status is " +"unknown.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Devuelve [code]1[/code] si las imágenes de fondo, la transparencia y otras " +"características que pueden reducir el contraste entre el primer plano y el " +"fondo deben ser deshabilitadas, [code]0[/code] en caso contrario. Devuelve " +"[code]-1[/code] si el estado es desconocido.\n" +"[b]Nota:[/b] Este método está implementado en macOS y Windows." + +msgid "" +"Adds a callback for the accessibility action (action which can be performed " +"by using a special screen reader command or buttons on the Braille display), " +"and marks this action as supported. The action callback receives one " +"[Variant] argument, which value depends on action type." +msgstr "" +"Añade una devolución de llamada para la acción de accesibilidad (acción que " +"se puede realizar usando un comando especial del lector de pantalla o botones " +"en la pantalla Braille), y marca esta acción como compatible. La devolución " +"de llamada de la acción recibe un argumento [Variant], cuyo valor depende del " +"tipo de acción." + +msgid "" +"Adds a child accessibility element.\n" +"[b]Note:[/b] [Node] children and sub-elements are added to the child list " +"automatically." +msgstr "" +"Añade un elemento de accesibilidad hijo.\n" +"[b]Nota:[/b] Los hijos y subelementos de [Node] se añaden automáticamente a " +"la lista de hijos." + +msgid "Adds an element that is controlled by this element." +msgstr "Añade un elemento que es controlado por este elemento." + +msgid "Adds an element that describes this element." +msgstr "Añade un elemento que describe este elemento." + +msgid "Adds an element that details this element." +msgstr "Añade un elemento que detalla este elemento." + msgid "Adds an element that this element flow into." msgstr "Agrega un elemento hacia el cual fluye este elemento." +msgid "Adds an element that labels this element." +msgstr "Añade un elemento que etiqueta este elemento." + +msgid "" +"Adds an element that is part of the same radio group.\n" +"[b]Note:[/b] This method should be called on each element of the group, using " +"all other elements as [param related_id]." +msgstr "" +"Añade un elemento que forma parte del mismo grupo de radio.\n" +"[b]Nota:[/b] Este método debe ser llamado en cada elemento del grupo, usando " +"todos los demás elementos como [param related_id]." + msgid "Adds an element that is an active descendant of this element." msgstr "Agrega un elemento que es un descendiente activo de este elemento." @@ -28617,6 +29159,18 @@ msgstr "Establece el nombre de la clase del elemento." msgid "Sets element color value." msgstr "Establece el valor del color del elemento." +msgid "Sets element accessibility description." +msgstr "Establece la descripción de accesibilidad del elemento." + +msgid "Sets an element which contains an error message for this element." +msgstr "" +"Establece un elemento que contiene un mensaje de error para este elemento." + +msgid "Sets element accessibility extra information added to the element name." +msgstr "" +"Establece información extra de accesibilidad del elemento, añadida al nombre " +"del elemento." + msgid "Sets element flag." msgstr "Establece la bandera del elemento." @@ -28693,9 +29247,15 @@ msgstr "" msgid "Sets scroll bar x position." msgstr "Establece la posición x de la barra de desplazamiento." +msgid "Sets scroll bar x range." +msgstr "Establece el rango X de la barra de desplazamiento." + msgid "Sets scroll bar y position." msgstr "Establece la posición y de la barra de desplazamiento." +msgid "Sets scroll bar y range." +msgstr "Establece el rango Y de la barra de desplazamiento." + msgid "Sets the list of keyboard shortcuts used by element." msgstr "Establece la lista de atajos de teclado utilizados por elemento." @@ -31295,9 +31855,6 @@ msgstr "" "Identifica una plataforma de exportación compatible e internamente " "proporciona la funcionalidad de exportar a esa plataforma." -msgid "Console support in Godot" -msgstr "Soporte de consola en Godot" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "" @@ -33173,8 +33730,8 @@ msgstr "" "Esta implementación del método puede llamar a [method " "EditorExportPlatform.save_pack] o [method EditorExportPlatform.save_zip] para " "usar el proceso de exportación PCK/ZIP predeterminado, o llama a [method " -"EditorExportPlatform.export_project_files] e implementa una función de " -"retorno personalizada para procesar cada archivo exportado." +"EditorExportPlatform.export_project_files] e implementa una callback " +"personalizada para procesar cada archivo exportado." msgid "" "Create a ZIP archive at [param path] for the specified [param preset].\n" @@ -37092,8 +37649,8 @@ msgstr "" "Las escenas importadas pueden ser modificadas automáticamente justo después " "de la importación estableciendo su propiedad de importación [b]Custom Script[/" "b] a un script [code]tool[/code] que herede de esta clase.\n" -"La llamada de retorno [method _post_import] recibe el nodo raíz de la escena " -"importada y devuelve la versión modificada de la escena:\n" +"La callback [method _post_import] recibe el nodo raíz de la escena importada " +"y devuelve la versión modificada de la escena:\n" "[codeblocks]\n" "[gdscript]\n" "@tool # Necesario para que se ejecute en el editor.\n" @@ -37936,6 +38493,13 @@ msgstr "" "La dirección del movimiento del cursor del ratón a usar al hacer zoom " "moviendo el ratón. Esto no afecta al zoom con la rueda del ratón." +msgid "" +"The angle threshold for snapping camera rotation to 45-degree angles while " +"orbiting with [kbd]Alt[/kbd] held." +msgstr "" +"El umbral de ángulo para ajustar la rotación de la cámara a ángulos de 45 " +"grados mientras se orbita con [kbd]Alt[/kbd] presionado." + msgid "" "The inertia to use when orbiting in the 3D editor. Higher values make the " "camera start and stop slower, which looks smoother but adds latency." @@ -37996,6 +38560,13 @@ msgstr "" "en la vista del editor 3D. El canal alfa del color influye en la opacidad de " "la caja de selección." +msgid "" +"If checked, the transform gizmo remains visible during rotation in that " +"transform mode." +msgstr "" +"Si está marcado, el gizmo de transformación permanece visible durante la " +"rotación en ese modo de transformación." + msgid "" "The color to use for the AABB gizmo that displays the [GeometryInstance3D]'s " "custom [AABB]." @@ -38021,6 +38592,9 @@ msgstr "El color del gizmo del editor 3D para los nodos [FogVolume]." msgid "The 3D editor gizmo color for the [GridMap] grid." msgstr "El color del gizmo del editor 3D para la cuadrícula de [GridMap]." +msgid "The 3D editor gizmo color for the [IKModifier3D] guides." +msgstr "El color del gizmo del editor 3D para las guías de [IKModifier3D]." + msgid "" "The color override to use for 3D editor gizmos if the [Node3D] in question is " "part of an instantiated scene file (from the perspective of the current " @@ -38127,6 +38701,19 @@ msgstr "El color del gizmo del editor 3D usado para los nodos [VoxelGI]." msgid "The length of [Skeleton3D] bone gizmos in the 3D editor." msgstr "La longitud de los artilugios óseos [Skeleton3D] en el editor 3D." +msgid "" +"Size of probe gizmos displayed when editing [LightmapGI] and [LightmapProbe] " +"nodes. Setting this to [code]0.0[/code] will hide the probe spheres of " +"[LightmapGI] and wireframes of [LightmapProbe] nodes, but will keep the " +"wireframes linking probes from [LightmapGI] and billboard icons from " +"[LightmapProbe] intact." +msgstr "" +"Tamaño de los gizmos de sonda mostrados al editar nodos [LightmapGI] y " +"[LightmapProbe]. Establecer esto en [code]0.0[/code] ocultará las esferas de " +"sonda de [LightmapGI] y los wireframes de los nodos [LightmapProbe], pero " +"mantendrá intactos los wireframes que conectan las sondas de [LightmapGI] y " +"los iconos de cartelera de [LightmapProbe]." + msgid "Size of the disk gizmo displayed when editing [Path3D]'s tilt handles." msgstr "" "El tamaño del gizmo de disco que se muestra al editar las manijas de " @@ -38153,6 +38740,109 @@ msgstr "" "Si es [code]false[/code], el comportamiento se invierte, es decir, el diálogo " "solo aparecerá si se mantiene pulsado Shift." +msgid "" +"Default step used when creating a new [Animation] in the Animation bottom " +"panel. Only affects the first animation created in the [AnimationPlayer]. By " +"default, other newly created animations will use the step from the previous " +"ones.\n" +"This value is always expressed in seconds. If you want e.g. [code]10[/code] " +"FPS to be the default, you need to set the default step to [code]0.1[/code]." +msgstr "" +"Paso predeterminado utilizado al crear una nueva [Animation] en el panel " +"inferior de Animación. Sólo afecta a la primera animación creada en el " +"[AnimationPlayer]. Por defecto, otras animaciones recién creadas usarán el " +"paso de las anteriores.\n" +"Este valor siempre se expresa en segundos. Si quieres, por ejemplo, que " +"[code]10[/code] FPS sea el valor predeterminado, tienes que establecer el " +"paso predeterminado en [code]0.1[/code]." + +msgid "" +"If [code]true[/code], create a Bezier track instead of a standard track when " +"pressing the \"key\" icon next to a property. Bezier tracks provide more " +"control over animation curves, but are more difficult to adjust quickly." +msgstr "" +"Si es [code]true[/code], crea una pista Bezier en lugar de una pista estándar " +"al presionar el icono de \"llave\" junto a una propiedad. Las pistas Bezier " +"proporcionan más control sobre las curvas de animación, pero son más " +"difíciles de ajustar rápidamente." + +msgid "" +"If [code]true[/code], create a [code]RESET[/code] track when creating a new " +"animation track. This track can be used to restore the animation to a " +"\"default\" state." +msgstr "" +"Si es [code]true[/code], crea una pista [code]RESET[/code] al crear una nueva " +"pista de animación. Esta pista se puede usar para restaurar la animación a un " +"estado \"predeterminado\"." + +msgid "" +"Controls whether [AnimationPlayer] will apply snapping to nearest integer FPS " +"when snapping is in Seconds mode. The option is remembered locally for a " +"scene and this option only determines the default value when scene doesn't " +"have local state yet." +msgstr "" +"Controla si [AnimationPlayer] aplicará el ajuste a los FPS enteros más " +"cercanos cuando el ajuste está en modo Segundos. La opción se recuerda " +"localmente para una escena y esta opción sólo determina el valor " +"predeterminado cuando la escena aún no tiene estado local." + +msgid "" +"Default step mode for [AnimationPlayer] (seconds or FPS). The option is " +"remembered locally for a scene and this option only determines the default " +"value when scene doesn't have local state yet." +msgstr "" +"Modo de paso predeterminado para [AnimationPlayer] (segundos o FPS). La " +"opción se recuerda localmente para una escena y esta opción sólo determina el " +"valor predeterminado cuando la escena aún no tiene estado local." + +msgid "" +"If [code]true[/code], animation keys and markers are inserted at the current " +"time in the animation.\n" +"If [code]false[/code], they are inserted at the mouse cursor's position." +msgstr "" +"Si es [code]true[/code], las claves de animación y los marcadores se insertan " +"en el tiempo actual de la animación.\n" +"Si es [code]false[/code], se insertan en la posición del cursor del ratón." + +msgid "" +"The modulate color to use for \"future\" frames displayed in the animation " +"editor's onion skinning feature." +msgstr "" +"El color de modulación a usar para los fotogramas \"futuros\" mostrados en la " +"función de *onion skinning* del editor de animaciones." + +msgid "" +"The maximum distance at which tiles can be placed on a GridMap, relative to " +"the camera position (in 3D units)." +msgstr "" +"La distancia máxima a la que se pueden colocar los *tiles* en un GridMap, " +"relativa a la posición de la cámara (en unidades 3D)." + +msgid "Texture size of mesh previews generated for GridMap's MeshLibrary." +msgstr "" +"Tamaño de la textura de las vistas previas de malla generadas para la " +"MeshLibrary de GridMap." + +msgid "" +"The mouse cursor movement direction to use when drag-zooming in any editor " +"(except 3D scene editor) by moving the mouse. This does not affect zooming " +"with the mouse wheel." +msgstr "" +"La dirección de movimiento del cursor del ratón a utilizar al hacer zoom " +"arrastrando en cualquier editor (excepto el editor de escenas 3D) moviendo el " +"ratón. Esto no afecta al zoom con la rueda del ratón." + +msgid "" +"The radius in which points can be selected in the [Polygon2D] and " +"[CollisionPolygon2D] editors (in pixels). Higher values make it easier to " +"select points quickly, but can make it more difficult to select the expected " +"point when several points are located close to each other." +msgstr "" +"El radio en el que se pueden seleccionar puntos en los editores [Polygon2D] y " +"[CollisionPolygon2D] (en píxeles). Valores más altos facilitan la selección " +"rápida de puntos, pero pueden dificultar la selección del punto esperado " +"cuando varios puntos están ubicados cerca unos de otros." + msgid "" "If [code]true[/code], displays the polygon's previous shape in the 2D polygon " "editors with an opaque gray outline. This outline is displayed while dragging " @@ -38182,7 +38872,7 @@ msgid "" "[code]true[/code]." msgstr "" "El color a usar para la cuadrícula del editor TileMap.\n" -"[b]Nota:[/b] Sólo es efectivo si [member editors/tiles_editor/display_grid] " +"[b]Nota:[/b] Solo es efectivo si [member editors/tiles_editor/display_grid] " "es [code]true[/code]." msgid "" @@ -38401,6 +39091,48 @@ msgstr "" "\"Abrir en Programa Externo\" en el panel del Sistema de Archivos. Si no se " "especifica, el archivo se abrirá en el programa predeterminado del sistema." +msgid "" +"The terminal emulator program to use when using [b]Open in Terminal[/b] " +"context menu action in the FileSystem dock. You can enter an absolute path to " +"a program binary, or a path to a program that is present in the [code]PATH[/" +"code] environment variable.\n" +"If left empty, Godot will use the default terminal emulator for the system:\n" +"- [b]Windows:[/b] PowerShell\n" +"- [b]macOS:[/b] Terminal.app\n" +"- [b]Linux:[/b] The first terminal found on the system in this order: gnome-" +"terminal, konsole, xfce4-terminal, lxterminal, kitty, alacritty, urxvt, " +"xterm.\n" +"To use Command Prompt (cmd) instead of PowerShell on Windows, enter " +"[code]cmd[/code] in this field and the correct flags will automatically be " +"used.\n" +"On macOS, make sure to point to the actual program binary located within the " +"[code]Programs/MacOS[/code] folder of the .app bundle, rather than the .app " +"bundle directory.\n" +"If specifying a custom terminal emulator, you may need to override [member " +"filesystem/external_programs/terminal_emulator_flags] so it opens in the " +"correct folder." +msgstr "" +"El programa emulador de terminal a usar cuando se utiliza la acción del menú " +"contextual [b]Abrir en Terminal[/b] en el panel Sistema de Archivos. Puedes " +"introducir una ruta absoluta a un binario del programa, o una ruta a un " +"programa que esté presente en la variable de entorno [code]PATH[/code].\n" +"Si se deja vacío, Godot usará el emulador de terminal por defecto para el " +"sistema:\n" +"- [b]Windows:[/b] PowerShell\n" +"- [b]macOS:[/b] Terminal.app\n" +"- [b]Linux:[/b] La primera terminal encontrada en el sistema en este orden: " +"gnome-terminal, konsole, xfce4-terminal, lxterminal, kitty, alacritty, urxvt, " +"xterm.\n" +"Para usar Símbolo del sistema (cmd) en lugar de PowerShell en Windows, " +"introduce [code]cmd[/code] en este campo y las banderas correctas se usarán " +"automáticamente.\n" +"En macOS, asegúrate de apuntar al binario real del programa ubicado dentro de " +"la carpeta [code]Programs/MacOS[/code] del paquete .app, en lugar de al " +"directorio del paquete .app.\n" +"Si especificas un emulador de terminal personalizado, puede que necesites " +"sobreescribir [member filesystem/external_programs/terminal_emulator_flags] " +"para que se abra en la carpeta correcta." + msgid "" "The command-line arguments to pass to the terminal emulator that is run when " "using [b]Open in Terminal[/b] context menu action in the FileSystem dock. See " @@ -38477,6 +39209,61 @@ msgstr "" "Puerto utilizado para el servidor de archivos al exportar el proyecto con un " "sistema de archivos remoto." +msgid "" +"The path to the Blender executable used for converting the Blender 3D scene " +"files [code].blend[/code] to glTF 2.0 format during import. Blender 3.0 or " +"later is required.\n" +"To enable this feature for your specific project, use [member " +"ProjectSettings.filesystem/import/blender/enabled].\n" +"If this setting is empty, Blender's default paths will be detected and used " +"automatically if present in this order:\n" +"[b]Windows:[/b]\n" +"[codeblock]\n" +"- C:\\Program Files\\Blender Foundation\\blender.exe\n" +"- C:\\Program Files (x86)\\Blender Foundation\\blender.exe\n" +"[/codeblock]\n" +"[b]macOS:[/b]\n" +"[codeblock]\n" +"- /opt/homebrew/bin/blender\n" +"- /opt/local/bin/blender\n" +"- /usr/local/bin/blender\n" +"- /usr/local/opt/blender\n" +"- /Applications/Blender.app/Contents/MacOS/Blender\n" +"[/codeblock]\n" +"[b]Linux/*BSD:[/b]\n" +"[codeblock]\n" +"- /usr/bin/blender\n" +"- /usr/local/bin/blender\n" +"- /opt/blender/bin/blender\n" +"[/codeblock]" +msgstr "" +"La ruta al ejecutable de Blender usado para convertir los archivos de escena " +"3D de Blender [code].blend[/code] al formato glTF 2.0 durante la importación. " +"Se requiere Blender 3.0 o posterior.\n" +"Para activar esta característica para tu proyecto específico, usa [member " +"ProjectSettings.filesystem/import/blender/enabled].\n" +"Si esta configuración está vacía, las rutas por defecto de Blender serán " +"detectadas y usadas automáticamente si están presentes en este orden:\n" +"[b]Windows:[/b]\n" +"[codeblock]\n" +"- C:\\Program Files\\Blender Foundation\\blender.exe\n" +"- C:\\Program Files (x86)\\Blender Foundation\\blender.exe\n" +"[/codeblock]\n" +"[b]macOS:[/b]\n" +"[codeblock]\n" +"- /opt/homebrew/bin/blender\n" +"- /opt/local/bin/blender\n" +"- /usr/local/bin/blender\n" +"- /usr/local/opt/blender\n" +"- /Applications/Blender.app/Contents/MacOS/Blender\n" +"[/codeblock]\n" +"[b]Linux/*BSD:[/b]\n" +"[codeblock]\n" +"- /usr/bin/blender\n" +"- /usr/local/bin/blender\n" +"- /opt/blender/bin/blender\n" +"[/codeblock]" + msgid "" "The port number used for Remote Procedure Call (RPC) communication with " "Godot's created process of the blender executable.\n" @@ -38545,6 +39332,23 @@ msgstr "" "en [code]Último usado[/code], el modo de visualización siempre se abrirá de " "la forma en que lo usaste por última vez." +msgid "" +"If [code]true[/code], together with exact matches of a filename, the dialog " +"includes approximate matches.\n" +"This is useful for finding the correct files even when there are typos in the " +"search query; for example, searching \"nprmal\" will find \"normal\". " +"Additionally, it allows you to write shorter search queries; for example, " +"searching \"nml\" will also find \"normal\".\n" +"See also [member filesystem/quick_open_dialog/max_fuzzy_misses]." +msgstr "" +"Si es [code]true[/code], junto con las coincidencias exactas de un nombre de " +"archivo, el diálogo incluye las coincidencias aproximadas.\n" +"Esto es útil para encontrar los archivos correctos incluso cuando hay errores " +"tipográficos en la consulta de búsqueda; por ejemplo, buscar \"nprmal\" " +"encontrará \"normal\". Además, te permite escribir consultas de búsqueda más " +"cortas; por ejemplo, buscar \"nml\" también encontrará \"normal\".\n" +"Véase también [member filesystem/quick_open_dialog/max_fuzzy_misses]." + msgid "" "If [code]true[/code], results will include files located in the [code]addons[/" "code] folder." @@ -38552,6 +39356,13 @@ msgstr "" "Si es [code]true[/code], los resultados incluirán archivos ubicados en la " "carpeta [code]addons[/code]." +msgid "" +"If [code]true[/code], highlighting a resource will preview it quickly without " +"confirming the selection or closing the dialog." +msgstr "" +"Si es [code]true[/code], al resaltar un recurso se previsualizará rápidamente " +"sin confirmar la selección ni cerrar el diálogo." + msgid "" "The number of missed query characters allowed in a match when fuzzy matching " "is enabled. For example, with the default value of [code]2[/code], [code]" @@ -38605,6 +39416,233 @@ msgstr "" "dificultades para ejecutarse a la velocidad de fotogramas prevista del " "proyecto." +msgid "" +"If [code]true[/code], similar input events sent by the operating system are " +"accumulated. When input accumulation is enabled, all input events generated " +"during a frame will be merged and emitted when the frame is done rendering. " +"Therefore, this limits the number of input method calls per second to the " +"rendering FPS.\n" +"Input accumulation can be disabled to get slightly more precise/reactive " +"input at the cost of increased CPU usage.\n" +"[b]Note:[/b] Input accumulation is [i]enabled[/i] by default." +msgstr "" +"Si es [code]true[/code], los eventos de entrada similares enviados por el " +"sistema operativo se acumulan. Cuando la acumulación de entrada está " +"habilitada, todos los eventos de entrada generados durante un fotograma se " +"fusionarán y se emitirán cuando el fotograma termine de renderizarse. Por lo " +"tanto, esto limita el número de llamadas al método de entrada por segundo al " +"FPS de renderizado.\n" +"La acumulación de entrada puede deshabilitarse para obtener una entrada " +"ligeramente más precisa/reactiva a costa de un mayor uso de la CPU.\n" +"[b]Nota:[/b] La acumulación de entrada está [i]habilitada[/i] por defecto." + +msgid "" +"Editor accessibility support mode:\n" +"- [b]Auto[/b] ([code]0[/code]): Accessibility support is enabled, but updates " +"to the accessibility information are processed only if an assistive app (such " +"as a screen reader or a Braille display) is active (default).\n" +"- [b]Always Active[/b] ([code]1[/code]): Accessibility support is enabled, " +"and updates to the accessibility information are always processed, regardless " +"of the status of assistive apps.\n" +"- [b]Disabled[/b] ([code]2[/code]): Accessibility support is fully disabled.\n" +"[b]Note:[/b] Accessibility debugging tools, such as Accessibility Insights " +"for Windows, Accessibility Inspector (macOS), or AT-SPI Browser (Linux/BSD), " +"do not count as assistive apps. To test the editor with these tools, use " +"[b]Always Active[/b]." +msgstr "" +"Modo de soporte de accesibilidad del editor:\n" +"- [b]Automático[/b] ([code]0[/code]): El soporte de accesibilidad está " +"habilitado, pero las actualizaciones de la información de accesibilidad se " +"procesan solo si una aplicación de asistencia (como un lector de pantalla o " +"una pantalla Braille) está activa (predeterminado).\n" +"- [b]Siempre Activo[/b] ([code]1[/code]): El soporte de accesibilidad está " +"habilitado, y las actualizaciones de la información de accesibilidad se " +"procesan siempre, independientemente del estado de las aplicaciones de " +"asistencia.\n" +"- [b]Desactivado[/b] ([code]2[/code]): El soporte de accesibilidad está " +"completamente deshabilitado.\n" +"[b]Nota:[/b] Las herramientas de depuración de accesibilidad, como " +"Accessibility Insights para Windows, Accessibility Inspector (macOS) o AT-SPI " +"Browser (Linux/BSD), no cuentan como aplicaciones de asistencia. Para probar " +"el editor con estas herramientas, usa [b]Siempre Activo[/b]." + +msgid "" +"If [code]true[/code], automatically opens screenshots with the default " +"program associated to [code].png[/code] files after a screenshot is taken " +"using the [b]Editor > Take Screenshot[/b] action." +msgstr "" +"Si es [code]true[/code], abre automáticamente las capturas de pantalla con el " +"programa predeterminado asociado a los archivos [code].png[/code] después de " +"tomar una captura de pantalla usando la acción [b]Editor > Tomar captura de " +"pantalla[/b]." + +msgid "Tab style of editor docks located at the bottom." +msgstr "" +"Estilo de las pestañas de los docks del editor ubicados en la parte inferior." + +msgid "" +"The font to use for the script editor. Must be a resource of a [Font] type " +"such as a [code].ttf[/code] or [code].otf[/code] font file." +msgstr "" +"La fuente a usar para el editor de scripts. Debe ser un recurso de tipo " +"[Font] como un archivo de fuente [code].ttf[/code] o [code].otf[/code]." + +msgid "" +"The font ligatures to enable for the currently configured code font. Not all " +"fonts include support for ligatures.\n" +"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/" +"mono/]JetBrains Mono[/url]) has contextual ligatures in its font file." +msgstr "" +"Las ligaduras de fuente a habilitar para la fuente de código configurada " +"actualmente. No todas las fuentes incluyen soporte para ligaduras.\n" +"[b]Nota:[/b] La fuente de código predeterminada del editor ([url=https://" +"www.jetbrains.com/lp/mono/]JetBrains Mono[/url]) tiene ligaduras contextuales " +"en su archivo de fuente." + +msgid "" +"List of custom OpenType features to use, if supported by the currently " +"configured code font. Not all fonts include support for custom OpenType " +"features. The string should follow the OpenType specification.\n" +"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/" +"mono/]JetBrains Mono[/url]) has custom OpenType features in its font file, " +"but there is no documented list yet." +msgstr "" +"Lista de características de OpenType personalizadas a usar, si se es " +"compatible con la fuente de código configurada actualmente. No todas las " +"fuentes incluyen soporte para características de OpenType personalizadas. La " +"cadena debe seguir la especificación OpenType.\n" +"[b]Nota:[/b] La fuente de código predeterminada del editor ([url=https://" +"www.jetbrains.com/lp/mono/]JetBrains Mono[/url]) tiene características de " +"OpenType personalizadas en su archivo de fuente, pero aún no hay una lista " +"documentada." + +msgid "" +"List of alternative characters to use, if supported by the currently " +"configured code font. Not all fonts include support for custom variations. " +"The string should follow the OpenType specification.\n" +"[b]Note:[/b] The default editor code font ([url=https://www.jetbrains.com/lp/" +"mono/]JetBrains Mono[/url]) has alternate characters in its font file, but " +"there is no documented list yet." +msgstr "" +"Lista de caracteres alternativos a usar, si es compatible con la fuente de " +"código configurada actualmente. No todas las fuentes incluyen soporte para " +"variaciones personalizadas. La cadena debe seguir la especificación de " +"OpenType.\n" +"[b]Nota:[/b] La fuente de código predeterminada del editor ([url=https://" +"www.jetbrains.com/lp/mono/]JetBrains Mono[/url]) tiene caracteres " +"alternativos en su archivo de fuente, pero aún no hay una lista documentada." + +msgid "" +"The size of the font in the script editor. This setting does not impact the " +"font size of the Output panel (see [member run/output/font_size])." +msgstr "" +"El tamaño de la fuente en el editor de scripts. Esta configuración no afecta " +"el tamaño de la fuente del panel de Salida (véase [member run/output/" +"font_size])." + +msgid "" +"If [code]true[/code], the main menu collapses into a [MenuButton].\n" +"[b]Note:[/b] This setting is only applicable on macOS when [member interface/" +"editor/use_embedded_menu] is [code]true[/code].\n" +"[b]Note:[/b] Defaults to [code]true[/code] on the Android editor." +msgstr "" +"Si es [code]true[/code], el menú principal se colapsa en un [MenuButton].\n" +"[b]Nota:[/b] Esta configuración solo es aplicable en macOS cuando [member " +"interface/editor/use_embedded_menu] es [code]true[/code].\n" +"[b]Nota:[/b] Por defecto es [code]true[/code] en el editor de Android." + +msgid "" +"The custom editor scale factor to use. This can be used for displays with " +"very high DPI where a scale factor of 200% is not sufficient.\n" +"[b]Note:[/b] Only effective if [member interface/editor/display_scale] is set " +"to [b]Custom[/b]." +msgstr "" +"El factor de escala personalizado del editor a usar. Esto se puede usar para " +"pantallas con DPI muy alto donde un factor de escala del 200% no es " +"suficiente.\n" +"[b]Nota:[/b] Solo es efectivo si [member interface/editor/display_scale] está " +"establecido en [b]Custom[/b]." + +msgid "Tab style of editor docks, except bottom docks." +msgstr "" +"Estilo de las pestañas de los docks del editor, excepto los docks inferiores." + +msgid "" +"During a drag-and-drop, this is how long to wait over a UI element before it " +"triggers a reaction (e.g. a section unfolds to show nested items)." +msgstr "" +"Durante una operación de arrastrar y soltar, este es el tiempo de espera " +"sobre un elemento de la interfaz de usuario antes de que active una reacción " +"(por ejemplo, una sección se despliega para mostrar elementos anidados)." + +msgid "" +"The preferred monitor to display the editor. If [b]Auto[/b], the editor will " +"remember the last screen it was displayed on across multiple sessions." +msgstr "" +"El monitor preferido para mostrar el editor. Si es [b]Automático[/b], el " +"editor recordará la última pantalla en la que se mostró en múltiples sesiones." + +msgid "" +"Expanding main editor window content to the title, if supported by " +"[DisplayServer]. See [constant DisplayServer.WINDOW_FLAG_EXTEND_TO_TITLE].\n" +"Specific to the macOS platform." +msgstr "" +"Expande el contenido de la ventana principal del editor hasta el título, si " +"es compatible con [DisplayServer]. Véase [constant " +"DisplayServer.WINDOW_FLAG_EXTEND_TO_TITLE].\n" +"Específico para la plataforma macOS." + +msgid "" +"If set to [code]true[/code], MSDF font rendering will be used for the visual " +"shader graph editor. You may need to set this to [code]false[/code] when " +"using a custom main font, as some fonts will look broken due to the use of " +"self-intersecting outlines in their font data. Downloading the font from the " +"font maker's official website as opposed to a service like Google Fonts can " +"help resolve this issue." +msgstr "" +"Si se establece en [code]true[/code], se utilizará el renderizado de fuente " +"MSDF para el editor visual de grafos de shaders. Es posible que debas " +"establecer esto en [code]false[/code] cuando uses una fuente principal " +"personalizada, ya que algunas fuentes se verán rotas debido al uso de " +"contornos autointersecantes en sus datos de fuente. Descargar la fuente del " +"sitio web oficial del creador de la fuente en lugar de un servicio como " +"Google Fonts puede ayudar a resolver este problema." + +msgid "" +"If set to [code]true[/code], embedded font bitmap loading is disabled (bitmap-" +"only and color fonts ignore this property)." +msgstr "" +"Si se establece en [code]true[/code], la carga de mapas de bits de fuentes " +"incrustados se desactiva (las fuentes solo de mapa de bits y de color ignoran " +"esta propiedad)." + +msgid "" +"The font hinting mode to use for the editor fonts. FreeType supports the " +"following font hinting modes:\n" +"- [b]None:[/b] Don't use font hinting when rasterizing the font. This results " +"in a smooth font, but it can look blurry.\n" +"- [b]Light:[/b] Use hinting on the X axis only. This is a compromise between " +"font sharpness and smoothness.\n" +"- [b]Normal:[/b] Use hinting on both X and Y axes. This results in a sharp " +"font, but it doesn't look very smooth.\n" +"If set to [b]Auto[/b], the font hinting mode will be set to match the current " +"operating system in use. This means the [b]Light[/b] hinting mode will be " +"used on Windows and Linux, and the [b]None[/b] hinting mode will be used on " +"macOS." +msgstr "" +"El modo de hinting de fuente a usar para las fuentes del editor. FreeType " +"admite los siguientes modos de hinting de fuente:\n" +"- [b]Ninguno:[/b] No usar hinting de fuente al rasterizar la fuente. Esto " +"resulta en una fuente suave, pero puede verse borrosa.\n" +"- [b]Ligero:[/b] Usar hinting solo en el eje X. Esto es un compromiso entre " +"la nitidez y la suavidad de la fuente.\n" +"- [b]Normal:[/b] Usar hinting en los ejes X e Y. Esto resulta en una fuente " +"nítida, pero no se ve muy suave.\n" +"Si se establece en [b]Auto[/b], el modo de hinting de fuente se ajustará para " +"coincidir con el sistema operativo actual en uso. Esto significa que el modo " +"de hinting [b]Ligero[/b] se utilizará en Windows y Linux, y el modo de " +"hinting [b]Ninguno[/b] se utilizará en macOS." + msgid "" "The subpixel positioning mode to use when rendering editor font glyphs. This " "affects both the main and code fonts. [b]Disabled[/b] is the fastest to " @@ -38654,6 +39692,22 @@ msgstr "" "inactividad), por lo que el salvapantallas no toma el control. Funciona en " "plataformas de escritorio y móviles." +msgid "" +"If [code]true[/code], setting names in the editor are localized when " +"possible.\n" +"[b]Note:[/b] This setting affects most [EditorInspector]s in the editor UI, " +"primarily Project Settings and Editor Settings. To control names displayed in " +"the Inspector dock, use [member interface/inspector/" +"default_property_name_style] instead." +msgstr "" +"Si es [code]true[/code], los nombres de las configuraciones en el editor se " +"localizan cuando es posible.\n" +"[b]Nota:[/b] Esta configuración afecta a la mayoría de los [EditorInspector]s " +"en la interfaz de usuario del editor, principalmente a la Configuración del " +"Proyecto y la Configuración del Editor. Para controlar los nombres que se " +"muestran en el panel del Inspector, usa [member interface/inspector/" +"default_property_name_style] en su lugar." + msgid "" "The font to use for the editor interface. Must be a resource of a [Font] type " "such as a [code].ttf[/code] or [code].otf[/code] font file.\n" @@ -38678,6 +39732,32 @@ msgstr "" "[b]Nota:[/b] Si la fuente proporcionada es variable, se usará un peso de 700 " "(negrita)." +msgid "" +"List of custom OpenType features to use, if supported by the currently " +"configured main font. Check what OpenType features are supported by your font " +"first.\n" +"The string should follow the OpenType specification, e.g. " +"[code]ss01,tnum,calt=false[/code]. Microsoft's documentation contains a list " +"of [url=https://learn.microsoft.com/en-us/typography/opentype/spec/" +"featurelist]all registered features[/url].\n" +"[b]Note:[/b] The default editor main font ([url=https://rsms.me/inter]Inter[/" +"url]) has custom OpenType features in its font file, with [code]ss04[/code] " +"and [code]tnum[/code] enabled and [code]calt[/code] disabled by default. " +"Supported features can be found at its website." +msgstr "" +"Lista de características OpenType personalizadas a usar, si son compatibles " +"con la fuente principal configurada actualmente. Comprueba primero qué " +"características OpenType son compatibles con tu fuente.\n" +"La cadena debe seguir la especificación OpenType, por ejemplo, " +"[code]ss01,tnum,calt=false[/code]. La documentación de Microsoft contiene una " +"lista de [url=https://learn.microsoft.com/en-us/typography/opentype/spec/" +"featurelist]todas las características registradas[/url].\n" +"[b]Nota:[/b] La fuente principal predeterminada del editor ([url=https://" +"rsms.me/inter]Inter[/url]) tiene características OpenType personalizadas en " +"su archivo de fuente, con [code]ss04[/code] y [code]tnum[/code] habilitadas y " +"[code]calt[/code] deshabilitada por defecto. Las características compatibles " +"se pueden encontrar en su sitio web." + msgid "The size of the font in the editor interface." msgstr "El tamaño de la fuente en la interfaz del editor." @@ -38727,9 +39807,97 @@ msgstr "" "Si es [code]false[/code], el cambio de modo sin distracciones se comparte " "entre todas las pestañas." +msgid "" +"If enabled, displays an icon in the top-right corner of the editor that spins " +"when the editor redraws a frame. This can be used to diagnose situations " +"where the engine is constantly redrawing, which should be avoided as this " +"increases CPU and GPU utilization for no good reason. To further troubleshoot " +"these situations, start the editor with the [code]--debug-canvas-item-redraw[/" +"code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]command line " +"argument[/url].\n" +"Consider enabling this if you are developing editor plugins to ensure they " +"only make the editor redraw when required.\n" +"The default [b]Auto[/b] value will only enable this if the editor was " +"compiled with the [code]dev_build=yes[/code] SCons option (the default is " +"[code]dev_build=no[/code]).\n" +"[b]Note:[/b] If [member interface/editor/update_continuously] is [code]true[/" +"code], the spinner icon displays in red.\n" +"[b]Note:[/b] If the editor was started with the [code]--debug-canvas-item-" +"redraw[/code] [url=$DOCS_URL/tutorials/editor/" +"command_line_tutorial.html]command line argument[/url], the update spinner " +"will [i]never[/i] display regardless of this setting's value. This is to " +"avoid confusion with what would cause redrawing in real world scenarios." +msgstr "" +"Si está habilitado, muestra un icono en la esquina superior derecha del " +"editor que gira cuando el editor vuelve a dibujar un fotograma. Esto se puede " +"usar para diagnosticar situaciones en las que el motor está constantemente " +"redibujando, lo que debe evitarse ya que esto aumenta la utilización de CPU y " +"GPU sin una buena razón. Para solucionar más a fondo estas situaciones, " +"inicia el editor con el [code]--debug-canvas-item-redraw[/code] " +"[url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]argumento de línea " +"de comandos[/url].\n" +"Considera habilitar esto si estás desarrollando plugins de editor para " +"asegurarte de que solo hacen que el editor se redibuje cuando sea necesario.\n" +"El valor predeterminado [b]Automático[/b] solo lo habilitará si el editor fue " +"compilado con la opción SCons [code]dev_build=yes[/code] (el valor " +"predeterminado es [code]dev_build=no[/code]).\n" +"[b]Nota:[/b] Si [member interface/editor/update_continuously] es [code]true[/" +"code], el icono del spinner se muestra en rojo.\n" +"[b]Nota:[/b] Si el editor se inició con el [code]--debug-canvas-item-redraw[/" +"code] [url=$DOCS_URL/tutorials/editor/command_line_tutorial.html]argumento de " +"línea de comandos[/url], el spinner de actualización [i]nunca[/i] se mostrará " +"independientemente del valor de esta configuración. Esto es para evitar " +"confusiones sobre qué causaría el redibujado en escenarios del mundo real." + msgid "Overrides the tablet driver used by the editor." msgstr "Sobrescribe el controlador de tableta utilizado por el editor." +msgid "Editor UI default layout direction." +msgstr "" +"Dirección predeterminada del diseño de la interfaz de usuario del editor." + +msgid "" +"When the editor window is unfocused, the amount of sleeping between frames " +"when the low-processor usage mode is enabled (in microseconds). Higher values " +"will result in lower CPU/GPU usage, which can improve battery life on laptops " +"(in addition to improving the running project's performance if the editor has " +"to redraw continuously). However, higher values will result in a less " +"responsive editor. The default value is set to limit the editor to 10 FPS " +"when the editor window is unfocused. See also [member interface/editor/" +"low_processor_mode_sleep_usec].\n" +"[b]Note:[/b] This setting is ignored if [member interface/editor/" +"update_continuously] is [code]true[/code], as enabling that setting disables " +"low-processor mode." +msgstr "" +"Cuando la ventana del editor no está enfocada, la cantidad de tiempo de " +"espera entre fotogramas cuando el modo de bajo uso del procesador está " +"habilitado (en microsegundos). Valores más altos resultarán en un menor uso " +"de CPU/GPU, lo que puede mejorar la duración de la batería en portátiles " +"(además de mejorar el rendimiento del proyecto en ejecución si el editor " +"tiene que redibujar continuamente). Sin embargo, valores más altos resultarán " +"en un editor menos responsivo. El valor predeterminado está configurado para " +"limitar el editor a 10 FPS cuando la ventana del editor no está enfocada. " +"Véase también [member interface/editor/low_processor_mode_sleep_usec].\n" +"[b]Nota:[/b] Esta configuración se ignora si [member interface/editor/" +"update_continuously] es [code]true[/code], ya que habilitar esa configuración " +"desactiva el modo de bajo uso del procesador." + +msgid "" +"If [code]true[/code], editor main menu is using embedded [MenuBar] instead of " +"system global menu.\n" +"Specific to the macOS platform." +msgstr "" +"Si [code]true[/code], el menú principal del editor utiliza una [MenuBar] " +"incrustada en lugar del menú global del sistema.\n" +"Específico de la plataforma macOS." + +msgid "" +"If [code]true[/code], editor UI uses OS native file/directory selection " +"dialogs." +msgstr "" +"Si [code]true[/code], la interfaz de usuario del editor utiliza los diálogos " +"nativos del sistema operativo para la selección de archivos/directorios." + msgid "" "If [code]true[/code], when extending a script, the global class name of the " "script is inserted in the script creation dialog, if it exists. If " @@ -38746,6 +39914,27 @@ msgstr "" "Si es [code]true[/code], el dock de Escena mostrará botones para agregar " "rápidamente un nodo raíz a una escena recién creada." +msgid "" +"If [code]true[/code], automatically unfolds Inspector property groups " +"containing modified values when opening a scene for the first time. Only " +"affects scenes without saved folding preferences and only unfolds groups with " +"properties that have been changed from their default values.\n" +"[b]Note:[/b] This setting only works in specific scenarios: when opening a " +"scene brought in from another project, or when opening a new scene that " +"already has modified properties (e.g., from version control). Duplicated " +"scenes are not considered foreign, so this setting will not affect them." +msgstr "" +"Si [code]true[/code], despliega automáticamente los grupos de propiedades del " +"Inspector que contienen valores modificados al abrir una escena por primera " +"vez. Solo afecta a escenas sin preferencias de plegado guardadas y solo " +"despliega grupos con propiedades que han sido cambiadas de sus valores " +"predeterminados.\n" +"[b]Nota:[/b] Esta configuración solo funciona en escenarios específicos: al " +"abrir una escena traída de otro proyecto, o al abrir una nueva escena que ya " +"tiene propiedades modificadas (por ejemplo, desde control de versiones). Las " +"escenas duplicadas no se consideran ajenas, por lo que esta configuración no " +"las afectará." + msgid "" "If [code]true[/code], show the intensity slider in the [ColorPicker]s opened " "in the editor." @@ -38851,6 +40040,13 @@ msgstr "" "general, pero puede ser más difícil ver y editar valores grandes sin expandir " "el inspector horizontalmente." +msgid "" +"Base speed for increasing/decreasing integer values by dragging them in the " +"inspector." +msgstr "" +"Velocidad base para aumentar/disminuir los valores enteros arrastrándolos en " +"el inspector." + msgid "" "The number of [Array] or [Dictionary] items to display on each \"page\" in " "the inspector. Higher values allow viewing more values per page, but take " @@ -38950,6 +40146,13 @@ msgstr "" "que estaban flotando se harán flotantes en las posiciones, tamaños y " "pantallas guardados, si es posible." +msgid "" +"If [code]true[/code], the FileSystem dock will automatically navigate to the " +"currently selected scene tab." +msgstr "" +"Si es [code]true[/code], el dock del sistema de archivos navegará " +"automáticamente a la pestaña de escena seleccionada actualmente." + msgid "" "Controls when the Close (X) button is displayed on scene tabs at the top of " "the editor." @@ -38962,6 +40165,19 @@ msgstr "" "El ancho máximo de cada pestaña de escena en la parte superior del editor (en " "píxeles)." +msgid "" +"If [code]true[/code], when a project is loaded, restores scenes that were " +"opened on the last editor session.\n" +"[b]Note:[/b] With many opened scenes, the editor may take longer to become " +"usable. If starting the editor quickly is necessary, consider setting this to " +"[code]false[/code]." +msgstr "" +"Si es [code]true[/code], cuando se carga un proyecto, restaura las escenas " +"que se abrieron en la última sesión del editor.\n" +"[b]Nota:[/b] Con muchas escenas abiertas, el editor puede tardar más en ser " +"utilizable. Si es necesario iniciar el editor rápidamente, considera " +"establecer esto en [code]false[/code]." + msgid "" "If [code]true[/code], show a button next to each scene tab that opens the " "scene's \"dominant\" script when clicked. The \"dominant\" script is the one " @@ -39021,6 +40237,9 @@ msgstr "" "El tamaño del borde que se usará para los elementos de la interfaz (en " "píxeles)." +msgid "The editor color preset to use." +msgstr "El ajuste preestablecido de color del editor a utilizar." + msgid "" "The contrast factor to use when deriving the editor theme's base color (see " "[member interface/theme/base_color]). When using a positive values, the " @@ -39061,6 +40280,20 @@ msgstr "" "automáticamente cuando se utiliza el tema preestablecido [b]Negro (OLED)[/b], " "ya que este tema preestablecido utiliza un fondo completamente negro." +msgid "" +"What relationship lines to draw in the editor's [Tree]-based GUIs (such as " +"the Scene tree dock).\n" +"- [b]None[/b] will make it so that no relationship lines are drawn.\n" +"- [b]Selected Only[/b] will only draw them for selected items.\n" +"- [b]All[/b] will always draw them for all items." +msgstr "" +"Qué líneas de relación dibujar en las GUIs basadas en [Tree] del editor (como " +"el dock del árbol de escenas).\n" +"- [b]Ninguno[/b] hará que no se dibujen líneas de relación.\n" +"- [b]Solo Seleccionados[/b] solo las dibujará para los elementos " +"seleccionados.\n" +"- [b]Todos[/b] siempre las dibujará para todos los elementos." + msgid "" "If [code]true[/code], the editor theme preset will attempt to automatically " "match the system theme." @@ -39068,6 +40301,27 @@ msgstr "" "Si es [code]true[/code], el tema preestablecido del editor intentará " "coincidir automáticamente con el tema del sistema." +msgid "" +"The icon and font color scheme to use in the editor.\n" +"- [b]Auto[/b] determines the color scheme to use automatically based on " +"[member interface/theme/base_color].\n" +"- [b]Dark[/b] makes fonts and icons dark (suitable for light themes). Icon " +"colors are automatically converted by the editor following the set of rules " +"defined in [url=https://github.com/godotengine/godot/blob/master/editor/" +"themes/editor_theme_manager.cpp]this file[/url].\n" +"- [b]Light[/b] makes fonts and icons light (suitable for dark themes)." +msgstr "" +"El esquema de color de iconos y fuentes a utilizar en el editor.\n" +"- [b]Auto[/b] determina el esquema de color a utilizar automáticamente según " +"[member interface/theme/base_color].\n" +"- [b]Oscuro[/b] hace que las fuentes y los iconos sean oscuros (adecuado para " +"temas claros). Los colores de los iconos son convertidos automáticamente por " +"el editor siguiendo el conjunto de reglas definido en [url=https://github.com/" +"godotengine/godot/blob/master/editor/themes/editor_theme_manager.cpp]este " +"archivo[/url].\n" +"- [b]Claro[/b] hace que las fuentes y los iconos sean claros (adecuado para " +"temas oscuros)." + msgid "" "The saturation to use for editor icons. Higher values result in more vibrant " "colors.\n" @@ -39097,6 +40351,9 @@ msgstr "" "[member interface/theme/base_spacing] y [member interface/theme/" "additional_spacing]." +msgid "The editor theme style to use." +msgstr "El estilo del tema del editor a usar." + msgid "" "If [code]true[/code], set accent color based on system settings.\n" "[b]Note:[/b] This setting is only effective on Windows, MacOS, and Android." @@ -39124,6 +40381,19 @@ msgstr "" "[b]Nota:[/b] El valor predeterminado es [code]true[/code] en dispositivos con " "pantalla táctil." +msgid "" +"If [code]true[/code], increases the scrollbar touch area, enables a larger " +"dragger for split containers, and increases PopupMenu vertical separation to " +"improve usability on touchscreen devices.\n" +"[b]Note:[/b] Defaults to [code]true[/code] on touchscreen devices." +msgstr "" +"Si es [code]true[/code], aumenta el área táctil de la barra de " +"desplazamiento, habilita un arrastrador más grande para los contenedores " +"divididos y aumenta la separación vertical del PopupMenu para mejorar la " +"usabilidad en dispositivos con pantalla táctil.\n" +"[b]Nota:[/b] El valor predeterminado es [code]true[/code] en dispositivos con " +"pantalla táctil." + msgid "" "Specify the multiplier to apply to the scale for the editor gizmo handles to " "improve usability on touchscreen devices.\n" @@ -39175,6 +40445,23 @@ msgstr "" "Todos los modos de actualización ignorarán las compilaciones con diferentes " "versiones principales (por ejemplo, Godot 4 -> Godot 5)." +msgid "" +"Determines whether online features, such as the Asset Library or update " +"checks, are enabled in the editor. If this is a privacy concern, disabling " +"these online features prevents the editor from making HTTP requests to the " +"Godot website or third-party platforms hosting assets from the Asset " +"Library.\n" +"Editor plugins and tool scripts are recommended to follow this setting. " +"However, Godot can't prevent them from violating this rule." +msgstr "" +"Determina si las funciones en línea, como la Librería de Assets o las " +"comprobaciones de actualización, están habilitadas en el editor. Si esto es " +"una preocupación de privacidad, deshabilitar estas funciones en línea evita " +"que el editor realice solicitudes HTTP al sitio web de Godot o a plataformas " +"de terceros que alojan recursos de la Librería de Assets.\n" +"Se recomienda que los plugins del editor y los scripts de herramientas sigan " +"esta configuración. Sin embargo, Godot no puede evitar que la infrinjan." + msgid "" "The address to listen to when starting the remote debugger. This can be set " "to this device's local IP address to allow external clients to connect to the " @@ -39244,6 +40531,16 @@ msgstr "" "proyecto. Las cadenas aceptadas son \"forward_plus\", \"mobile\" o " "\"gl_compatibility\"." +msgid "" +"Directory naming convention for the project manager. Options are \"No " +"Convention\" (project name is directory name), \"kebab-case\" (default), " +"\"snake_case\", \"camelCase\", \"PascalCase\", or \"Title Case\"." +msgstr "" +"Convención de nomenclatura de directorios para el administrador de proyectos. " +"Las opciones son \"Sin convención\" (el nombre del proyecto es el nombre del " +"directorio), \"kebab-case\" (predeterminado), \"snake_case\", \"camelCase\", " +"\"PascalCase\" o \"Title Case\"." + msgid "" "The sorting order to use in the project manager. When changing the sorting " "order in the project manager, this setting is set permanently in the editor " @@ -39691,6 +40988,13 @@ msgstr "" "clic con el botón central). Si es [code]false[/code], el cursor solo se " "moverá al hacer clic izquierdo o con el botón central en algún lugar." +msgid "" +"If [code]true[/code], opens the script editor when connecting a signal to an " +"existing script method from the Signals dock." +msgstr "" +"Si es [code]true[/code], abre el editor de scripts al conectar una señal a un " +"método de script existente desde el panel de Señales." + msgid "If [code]true[/code], allows scrolling past the end of the file." msgstr "" "Si es [code]true[/code], permite desplazarse más allá del final del archivo." @@ -39744,6 +41048,13 @@ msgstr "" "apropiado para la autocompletación de código o para arrastrar y soltar " "propiedades de objetos en el editor de scripts." +msgid "" +"If [code]true[/code], uses [StringName] instead of [String] when appropriate " +"for code autocompletion." +msgstr "" +"Si es [code]true[/code], usa [StringName] en lugar de [String] cuando sea " +"apropiado para el completado automático de código." + msgid "" "If [code]true[/code], provides autocompletion suggestions for file paths in " "methods such as [code]load()[/code] and [code]preload()[/code]." @@ -41126,7 +42437,7 @@ msgid "" "The maximum layer ID to display. Only effective when using the [constant " "BG_CANVAS] background mode." msgstr "" -"El ID de la capa maxima a mostrar. Sólo es efectivo cuando se utiliza el modo " +"El ID de la capa maxima a mostrar. Solo es efectivo cuando se utiliza el modo " "de fondo [constant BG_CANVAS]." msgid "" @@ -46188,7 +47499,7 @@ msgid "" "In other words, the actual mesh will not be visible, only the shadows casted " "from the mesh will be." msgstr "" -"Sólo mostrará las sombras proyectadas por este objeto.\n" +"Solo mostrará las sombras proyectadas por este objeto.\n" "En otras palabras, la malla real no será visible, sólo las sombras " "proyectadas desde la malla lo serán." @@ -46293,7 +47604,7 @@ msgstr "" "pero puede proporcionar transiciones más suaves. El rango de desvanecimiento " "está determinado por [member visibility_range_begin_margin] y [member " "visibility_range_end_margin].\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el método de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+. Cuando se utiliza el método de renderizado Móvil o de " "Compatibilidad, este modo actúa como [constant " "VISIBILITY_RANGE_FADE_DISABLED] pero con la histéresis desactivada." @@ -50497,7 +51808,7 @@ msgid "" msgstr "" "Las capas físicas en las que se encuentra este GridMap.\n" "Los GridMaps actúan como cuerpos estáticos, lo que significa que no son " -"afectados por la gravedad u otras fuerzas. Sólo afectan a otros cuerpos " +"afectados por la gravedad u otras fuerzas. Solo afectan a otros cuerpos " "físicos que colisionan con ellos." msgid "The assigned [MeshLibrary]." @@ -50753,7 +52064,7 @@ msgid "" "The minimum rotation. Only active if [member angular_limit/enable] is " "[code]true[/code]." msgstr "" -"La rotación mínima. Sólo está activa si [member angular_limit/enable] es " +"La rotación mínima. Solo está activa si [member angular_limit/enable] es " "[code]true[/code]." msgid "The lower this value, the more the rotation gets slowed down." @@ -50770,7 +52081,7 @@ msgid "" "The maximum rotation. Only active if [member angular_limit/enable] is " "[code]true[/code]." msgstr "" -"La rotación máxima. Sólo está activa si [member angular_limit/enable] es " +"La rotación máxima. Solo está activa si [member angular_limit/enable] es " "[code]true[/code]." msgid "When activated, a motor turns the hinge." @@ -54368,7 +55679,7 @@ msgid "Icon is drawn to the left of the text." msgstr "El icono se dibuja a la izquierda del texto." msgid "Only allow selecting a single item." -msgstr "Sólo permite seleccionar un único elemento." +msgstr "Solo permite seleccionar un único elemento." msgid "" "Allows selecting multiple items by holding [kbd]Ctrl[/kbd] or [kbd]Shift[/" @@ -55009,7 +56320,7 @@ msgid "" "- [param name]: The name that clients can use to access the callback.\n" "- [param callback]: The callback which will handle the specified method." msgstr "" -"Registra una función de retorno para el nombre de método dado.\n" +"Registra una callback para el nombre de método dado.\n" "- [param name]: El nombre que los clientes pueden usar para acceder al " "callback.\n" "- [param callback]: El callback que manejará el método específico." @@ -60646,7 +61957,7 @@ msgid "" "Returns the callback of the item at index [param idx].\n" "[b]Note:[/b] This method is implemented on macOS and Windows." msgstr "" -"Devuelve la función de retorno del elemento en el índice [param idx].\n" +"Devuelve la callback del elemento en el índice [param idx].\n" "[b]Nota:[/b] Este método está implementado en macOS y Windows." msgid "" @@ -61580,6 +62891,34 @@ msgstr "Establece el radio de evitación del obstáculo." msgid "Returns the [RID] of this obstacle on the [NavigationServer3D]." msgstr "Devuelve el [RID] de este obstáculo en [NavigationServer3D]." +msgid "" +"If enabled and parsed in a navigation mesh baking process the obstacle will " +"discard source geometry inside its [member vertices] and [member height] " +"defined shape." +msgstr "" +"Si está habilitado y se procesa en un proceso de bakeo de malla de " +"navegación, el obstáculo descartará la geometría de origen dentro de su forma " +"definida por [member vertices] y [member height]." + +msgid "" +"Sets the obstacle height used in 2D avoidance. 2D avoidance using agent's " +"ignore obstacles that are below or above them." +msgstr "" +"Establece la altura del obstáculo utilizada en la evitación 2D. La evitación " +"2D, al usar agentes, ignora los obstáculos que están por debajo o por encima " +"de ellos." + +msgid "" +"If [code]true[/code] the obstacle affects 3D avoidance using agent's with " +"obstacle [member radius].\n" +"If [code]false[/code] the obstacle affects 2D avoidance using agent's with " +"both obstacle [member vertices] as well as obstacle [member radius]." +msgstr "" +"Si [code]true[/code], el obstáculo afecta la evitación 3D usando agentes con " +"[member radius] del obstáculo.\n" +"Si [code]false[/code], el obstáculo afecta la evitación 2D usando agentes con " +"[member vertices] del obstáculo, así como con [member radius] del obstáculo." + msgid "Provides parameters for 2D navigation path queries." msgstr "Proporciona parámetros para consultas de ruta de navegación 2D." @@ -61593,9 +62932,61 @@ msgstr "" msgid "Using NavigationPathQueryObjects" msgstr "Usar NavigationPathQueryObjects" +msgid "" +"The list of region [RID]s that will be excluded from the path query. Use " +"[method NavigationRegion2D.get_rid] to get the [RID] associated with a " +"[NavigationRegion2D] node.\n" +"[b]Note:[/b] The returned array is copied and any changes to it will not " +"update the original property value. To update the value you need to modify " +"the returned array, and then set it to the property again." +msgstr "" +"La lista de [RID]s de región que serán excluidos de la consulta de ruta. Usa " +"[method NavigationRegion2D.get_rid] para obtener el [RID] asociado a un nodo " +"[NavigationRegion2D].\n" +"[b]Nota:[/b] El array devuelto es copiado y cualquier cambio en él no " +"actualizará el valor de la propiedad original. Para actualizar el valor, " +"necesitas modificar el array devuelto y luego establecerlo de nuevo en la " +"propiedad." + +msgid "" +"The list of region [RID]s that will be included by the path query. Use " +"[method NavigationRegion2D.get_rid] to get the [RID] associated with a " +"[NavigationRegion2D] node. If left empty all regions are included. If a " +"region ends up being both included and excluded at the same time it will be " +"excluded.\n" +"[b]Note:[/b] The returned array is copied and any changes to it will not " +"update the original property value. To update the value you need to modify " +"the returned array, and then set it to the property again." +msgstr "" +"La lista de [RID]s de región que serán incluidos por la consulta de ruta. Usa " +"[method NavigationRegion2D.get_rid] para obtener el [RID] asociado a un nodo " +"[NavigationRegion2D]. Si se deja vacío, se incluyen todas las regiones. Si " +"una región termina siendo incluida y excluida al mismo tiempo, será " +"excluida.\n" +"[b]Nota:[/b] El array devuelto es copiado y cualquier cambio en él no " +"actualizará el valor de la propiedad original. Para actualizar el valor, " +"necesitas modificar el array devuelto y luego establecerlo de nuevo en la " +"propiedad." + msgid "The navigation map [RID] used in the path query." msgstr "El mapa de navegación [RID] utilizado en la consulta de ruta." +msgid "Additional information to include with the navigation path." +msgstr "Información adicional a incluir con la ruta de navegación." + +msgid "The navigation layers the query will use (as a bitmask)." +msgstr "" +"Las capas de navegación que usará la consulta (como una máscara de bits)." + +msgid "" +"The maximum allowed length of the returned path in world units. A path will " +"be clipped when going over this length. A value of [code]0[/code] or below " +"counts as disabled." +msgstr "" +"La longitud máxima permitida de la ruta devuelta en unidades del mundo. Una " +"ruta se cortará al exceder esta longitud. Un valor de [code]0[/code] o " +"inferior se considera deshabilitado." + msgid "The pathfinding start position in global coordinates." msgstr "La posición de inicio de la búsqueda de ruta en coordenadas globales." @@ -62389,7 +63780,7 @@ msgstr "" "objetos.\n" "Para utilizar el sistema de evitación de colisiones, puedes utilizar agentes. " "Puedes establecer la velocidad objetivo de un agente, luego los servidores " -"emitirán una retrollamada con una velocidad modificada.\n" +"emitirán una callback con una velocidad modificada.\n" "[b]Nota:[/b] El sistema de evitación de colisiones ignora las regiones. El " "uso directo de la velocidad modificada puedes mover un agente fuera del área " "transitable. Esta es una limitación del sistema de evitación de colisiones, " @@ -70067,7 +71458,7 @@ msgid "" "BaseMaterial3D.BILLBOARD_PARTICLES]." msgstr "" "Rotación inicial aplicada a cada partícula, en grados.\n" -"Sólo se aplica cuando [member particle_flag_disable_z] o [member " +"Solo se aplica cuando [member particle_flag_disable_z] o [member " "particle_flag_rotate_y] son [code]true[/code] o el [BaseMaterial3D] que se " "usa para dibujar la partícula está usando [constant " "BaseMaterial3D.BILLBOARD_PARTICLES]." @@ -72035,8 +73426,8 @@ msgid "" msgstr "" "Proporciona acceso directo a un cuerpo físico en el [PhysicsServer3D], " "permitiendo cambios seguros en las propiedades físicas. Este objeto se pasa a " -"través de la retrollamada de estado directo de [RigidBody3D], y está " -"destinado a cambiar el estado directo de ese cuerpo. Véase [method " +"través de la callback de estado directo de [RigidBody3D], y está destinado a " +"cambiar el estado directo de ese cuerpo. Véase [method " "RigidBody3D._integrate_forces]." msgid "" @@ -73512,8 +74903,8 @@ msgid "" "The value of the first parameter and area callback function receives, when an " "object enters one of its shapes." msgstr "" -"El valor del primer parámetro y la función de retrollamada de área recibe, " -"cuando un objeto entra en una de sus formas." +"El valor del primer parámetro y la función de callback de área recibe, cuando " +"un objeto entra en una de sus formas." msgid "" "The value of the first parameter and area callback function receives, when an " @@ -75833,14 +77224,14 @@ msgid "" "The minimum rotation. Only active if [member angular_limit_enabled] is " "[code]true[/code]." msgstr "" -"La rotación mínima. Sólo está activa si [member angular_limit_enabled] es " +"La rotación mínima. Solo está activa si [member angular_limit_enabled] es " "[code]true[/code]." msgid "" "The maximum rotation. Only active if [member angular_limit_enabled] is " "[code]true[/code]." msgstr "" -"La rotación máxima. Sólo está activa si [member angular_limit_enabled] es " +"La rotación máxima. Solo está activa si [member angular_limit_enabled] es " "[code]true[/code]." msgid "The higher this value, the more the bond to the pinned partner can flex." @@ -78987,8 +80378,8 @@ msgid "" "[code]{nodeName}[/code], [code]{node_name}[/code], [code]{SignalName}[/code], " "[code]{signalName}[/code], and [code]{signal_name}[/code]." msgstr "" -"El formato del nombre de la retrollamada de señal por defecto (en el Diálogo " -"de Conexión de Señal). Las siguientes sustituciones están disponibles: [code]" +"El formato del nombre de la callback de señal por defecto (en el Diálogo de " +"Conexión de Señal). Las siguientes sustituciones están disponibles: [code]" "{NodeName}[/code], [code]{nodeName}[/code], [code]{node_name}[/code], [code]" "{SignalName}[/code], [code]{signalName}[/code], y [code]{signal_name}[/code]." @@ -79425,6 +80816,46 @@ msgstr "" "Sobrescritura específica de macOS para el acceso directo para seleccionar la " "palabra que se encuentra actualmente debajo del cursor." +msgid "" +"Default [InputEventAction] to toggle [i]insert mode[/i] in a text field. " +"While in insert mode, inserting new text overrides the character after the " +"cursor, unless the next character is a new line.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"[InputEventAction] por defecto para alternar el [i]modo de inserción[/i] en " +"un campo de texto. Mientras estás en modo de inserción, al insertar texto " +"nuevo se sobrescribe el carácter después del cursor, a menos que el siguiente " +"carácter sea una nueva línea.\n" +"[b]Nota:[/b] Las acciones [code]ui_*[/code] por defecto no pueden eliminarse " +"ya que son necesarias para la lógica interna de varios [Control]s. Sin " +"embargo, los eventos asignados a la acción pueden ser modificados." + +msgid "" +"Default [InputEventAction] to undo the most recent action.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"[InputEventAction] por defecto para deshacer la acción más reciente.\n" +"[b]Nota:[/b] Las acciones [code]ui_*[/code] por defecto no pueden eliminarse " +"ya que son necesarias para la lógica interna de varios [Control]s. Sin " +"embargo, los eventos asignados a la acción pueden ser modificados." + +msgid "" +"Default [InputEventAction] to start Unicode character hexadecimal code input " +"in a text field.\n" +"[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " +"necessary for the internal logic of several [Control]s. The events assigned " +"to the action can however be modified." +msgstr "" +"[InputEventAction] por defecto para iniciar la entrada de código hexadecimal " +"de caracteres Unicode en un campo de texto.\n" +"[b]Nota:[/b] Las acciones [code]ui_*[/code] por defecto no pueden eliminarse " +"ya que son necesarias para la lógica interna de varios [Control]s. Sin " +"embargo, los eventos asignados a la acción pueden ser modificados." + msgid "" "Default [InputEventAction] to move up in the UI.\n" "[b]Note:[/b] Default [code]ui_*[/code] actions cannot be removed as they are " @@ -82623,7 +84054,7 @@ msgid "" msgstr "" "El multiplicador de [member sample_count] que determina cuántas muestras se " "realizan para cada fragmento. Debe estar entre [code]0.0[/code] y [code]1.0[/" -"code] (inclusive). Sólo es efectivo si [member enable_sample_shading] es " +"code] (inclusive). Solo es efectivo si [member enable_sample_shading] es " "[code]true[/code]. Si [member min_sample_shading] es [code]1.0[/code], la " "invocación de fragmentos sólo debe leer de la muestra del índice de " "cobertura. El acceso a la imagen de tile no debe utilizarse si [member " @@ -83014,6 +84445,9 @@ msgstr "El canal para muestrear cuando se muestrea el canal de color verde." msgid "The channel to sample when sampling the red color channel." msgstr "El canal para muestrear cuando se muestrea el canal de color rojo." +msgid "Shader uniform (used by [RenderingDevice])." +msgstr "Uniforme de shader (utilizada por [RenderingDevice])." + msgid "The uniform's binding." msgstr "El enlace del uniforme." @@ -83814,7 +85248,7 @@ msgid "" "that were matched are included. If multiple groups have the same name, that " "name would refer to the first matching one." msgstr "" -"Un diccionario de grupos nombrados y su correspondiente número de grupo. Sólo " +"Un diccionario de grupos nombrados y su correspondiente número de grupo. Solo " "se incluyen los grupos que fueron coincidentes. Si varios grupos tienen el " "mismo nombre, ese nombre se referirá al primero que coincida." @@ -87264,6 +88698,12 @@ msgstr "Tamaño máximo de un búfer de uniformes." msgid "Maximum vertex input attribute offset." msgstr "Desplazamiento máximo del atributo de entrada de vértice." +msgid "Maximum number of vertex input attributes." +msgstr "Número máximo de atributos de entrada de vértice." + +msgid "Maximum number of vertex input bindings." +msgstr "Número máximo de enlaces de entrada de vértice." + msgid "Maximum vertex input binding stride." msgstr "Paso máximo del enlace de entrada de vértice." @@ -87285,12 +88725,133 @@ msgid "Maximum number of workgroups for compute shaders on the Z axis." msgstr "" "Número máximo de grupos de trabajo para los shaders de cómputo en el eje Z." +msgid "Maximum number of workgroup invocations for compute shaders." +msgstr "" +"Número máximo de invocaciones de grupos de trabajo para los shaders de " +"cómputo." + +msgid "Maximum workgroup size for compute shaders on the X axis." +msgstr "" +"Tamaño máximo del grupo de trabajo para los shaders de cómputo en el eje X." + +msgid "Maximum workgroup size for compute shaders on the Y axis." +msgstr "" +"Tamaño máximo del grupo de trabajo para los shaders de cómputo en el eje Y." + +msgid "Maximum workgroup size for compute shaders on the Z axis." +msgstr "" +"Tamaño máximo del grupo de trabajo para los shaders de cómputo en el eje Z." + msgid "Maximum viewport width (in pixels)." msgstr "Ancho máximo del viewport (en píxeles)." +msgid "Maximum viewport height (in pixels)." +msgstr "Alto máximo del viewport (en píxeles)." + +msgid "" +"Returns the smallest value for [member ProjectSettings.rendering/scaling_3d/" +"scale] when using the MetalFX temporal upscaler.\n" +"[b]Note:[/b] The returned value is multiplied by a factor of [code]1000000[/" +"code] to preserve 6 digits of precision. It must be divided by " +"[code]1000000.0[/code] to convert the value to a floating point number." +msgstr "" +"Devuelve el valor más pequeño para [member ProjectSettings.rendering/" +"scaling_3d/scale] al usar el escalador temporal MetalFX.\n" +"[b]Nota:[/b] El valor devuelto se multiplica por un factor de [code]1000000[/" +"code] para preservar 6 dígitos de precisión. Se debe dividir por " +"[code]1000000.0[/code] para convertir el valor a un número de punto flotante." + +msgid "" +"Returns the largest value for [member ProjectSettings.rendering/scaling_3d/" +"scale] when using the MetalFX temporal upscaler.\n" +"[b]Note:[/b] The returned value is multiplied by a factor of [code]1000000[/" +"code] to preserve 6 digits of precision. It must be divided by " +"[code]1000000.0[/code] to convert the value to a floating point number." +msgstr "" +"Devuelve el valor más grande para [member ProjectSettings.rendering/" +"scaling_3d/scale] al usar el escalador temporal MetalFX.\n" +"[b]Nota:[/b] El valor devuelto se multiplica por un factor de [code]1000000[/" +"code] para preservar 6 dígitos de precisión. Debe dividirse por " +"[code]1000000.0[/code] para convertir el valor a un número de punto flotante." + msgid "Memory taken by textures." msgstr "La memoria utilizada por las texturas." +msgid "Memory taken by buffers." +msgstr "Memoria ocupada por búferes." + +msgid "" +"Total memory taken. This is greater than the sum of [constant " +"MEMORY_TEXTURES] and [constant MEMORY_BUFFERS], as it also includes " +"miscellaneous memory usage." +msgstr "" +"Memoria total ocupada. Esto es mayor que la suma de [constant " +"MEMORY_TEXTURES] y [constant MEMORY_BUFFERS], ya que también incluye el uso " +"de memoria miscelánea." + +msgid "Returned by functions that return an ID if a value is invalid." +msgstr "Devuelto por funciones que devuelven una ID si un valor es inválido." + +msgid "Returned by functions that return a format ID if a value is invalid." +msgstr "" +"Devuelto por funciones que devuelven una ID de formato si un valor es " +"inválido." + +msgid "No breadcrumb marker will be added." +msgstr "No se añadirá ningún marcador de ruta de navegación." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"REFLECTION_PROBES\"[/code] for added context as to when the crash " +"occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"REFLECTION_PROBES\"[/code] para un contexto " +"adicional sobre cuándo ocurrió el fallo." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"SKY_PASS\"[/code] for added context as to when the crash occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"SKY_PASS\"[/code] para un contexto adicional " +"sobre cuándo ocurrió el fallo." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"LIGHTMAPPER_PASS\"[/code] for added context as to when the crash " +"occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"LIGHTMAPPER_PASS\"[/code] para un contexto " +"adicional sobre cuándo ocurrió el fallo." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"SHADOW_PASS_DIRECTIONAL\"[/code] for added context as to when the " +"crash occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"SHADOW_PASS_DIRECTIONAL\"[/code] para un " +"contexto adicional sobre cuándo ocurrió el fallo." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"SHADOW_PASS_CUBE\"[/code] for added context as to when the crash " +"occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"SHADOW_PASS_CUBE\"[/code] para un contexto " +"adicional sobre cuándo ocurrió el fallo." + +msgid "" +"During a GPU crash in dev or debug mode, Godot's error message will include " +"[code]\"OPAQUE_PASS\"[/code] for added context as to when the crash occurred." +msgstr "" +"Durante un fallo de GPU en modo de desarrollo o depuración, el mensaje de " +"error de Godot incluirá [code]\"OPAQUE_PASS\"[/code] para un contexto " +"adicional sobre cuándo ocurrió el fallo." + msgid "" "During a GPU crash in dev or debug mode, Godot's error message will include " "[code]\"ALPHA_PASS\"[/code] for added context as to when the crash occurred." @@ -87505,6 +89066,44 @@ msgstr "" "durante el pase de desenfoque para ocultar artefactos a costa de verse más " "difuso." +msgid "" +"Sets the exposure values that will be used by the renderers. The " +"normalization amount is used to bake a given Exposure Value (EV) into " +"rendering calculations to reduce the dynamic range of the scene.\n" +"The normalization factor can be calculated from exposure value (EV100) as " +"follows:\n" +"[codeblock]\n" +"func get_exposure_normalization(ev100: float):\n" +"\treturn 1.0 / (pow(2.0, ev100) * 1.2)\n" +"[/codeblock]\n" +"The exposure value can be calculated from aperture (in f-stops), shutter " +"speed (in seconds), and sensitivity (in ISO) as follows:\n" +"[codeblock]\n" +"func get_exposure(aperture: float, shutter_speed: float, sensitivity: " +"float):\n" +"\treturn log((aperture * aperture) / shutter_speed * (100.0 / sensitivity)) / " +"log(2)\n" +"[/codeblock]" +msgstr "" +"Establece los valores de exposición que usarán los renderizadores. La " +"cantidad de normalización se usa para bakear un valor de exposición (EV) dado " +"en los cálculos de renderizado para reducir el rango dinámico de la escena.\n" +"El factor de normalización se puede calcular a partir del valor de exposición " +"(EV100) de la siguiente manera:\n" +"[codeblock]\n" +"func get_exposure_normalization(ev100: float):\n" +"\treturn 1.0 / (pow(2.0, ev100) * 1.2)\n" +"[/codeblock]\n" +"El valor de exposición se puede calcular a partir de la apertura (en pasos " +"f), la velocidad de obturación (en segundos) y la sensibilidad (en ISO) de la " +"siguiente manera:\n" +"[codeblock]\n" +"func get_exposure(aperture: float, shutter_speed: float, sensitivity: " +"float):\n" +"\treturn log((aperture * aperture) / shutter_speed * (100.0 / sensitivity)) / " +"log(2)\n" +"[/codeblock]" + msgid "" "Creates a 3D camera and adds it to the RenderingServer. It can be accessed " "with the RID that is returned. This RID will be used in all [code]camera_*[/" @@ -87619,6 +89218,15 @@ msgstr "" "dibujados con este elemento de canvas hasta que se vuelva a llamar con [param " "ignore] establecido en [code]false[/code]." +msgid "" +"Draws an ellipse with semi-major axis [param major] and semi-minor axis " +"[param minor] on the [CanvasItem] pointed to by the [param item] [RID]. See " +"also [method CanvasItem.draw_ellipse]." +msgstr "" +"Dibuja una elipse con el semieje mayor [param major] y el semieje menor " +"[param minor] en el [CanvasItem] apuntado por el [RID] del elemento [param " +"item]. Véase también [method CanvasItem.draw_ellipse]." + msgid "See also [method CanvasItem.draw_lcd_texture_rect_region]." msgstr "Véase también [method CanvasItem.draw_lcd_texture_rect_region]." @@ -87774,32 +89382,204 @@ msgstr "" "[b]Nota:[/b] El nodo equivalente es [CanvasItem]." msgid "" -"Returns the value of the per-instance shader uniform from the specified " -"canvas item instance. Equivalent to [method " -"CanvasItem.get_instance_shader_parameter]." +"Sets the canvas group mode used during 2D rendering for the canvas item " +"specified by the [param item] RID. For faster but more limited clipping, use " +"[method canvas_item_set_clip] instead.\n" +"[b]Note:[/b] The equivalent node functionality is found in [CanvasGroup] and " +"[member CanvasItem.clip_children]." +msgstr "" +"Establece el modo de grupo de canvas utilizado durante el renderizado 2D para " +"el elemento canvas especificado por el RID [param item]. Para un recorte más " +"rápido pero más limitado, usa [method canvas_item_set_clip] en su lugar.\n" +"[b]Nota:[/b] La funcionalidad de nodo equivalente se encuentra en " +"[CanvasGroup] y [member CanvasItem.clip_children]." + +msgid "" +"If [param clip] is [code]true[/code], makes the canvas item specified by the " +"[param item] RID not draw anything outside of its rect's coordinates. This " +"clipping is fast, but works only with axis-aligned rectangles. This means " +"that rotation is ignored by the clipping rectangle. For more advanced " +"clipping shapes, use [method canvas_item_set_canvas_group_mode] instead.\n" +"[b]Note:[/b] The equivalent node functionality is found in [member " +"Label.clip_text], [RichTextLabel] (always enabled) and more." +msgstr "" +"Si [param clip] es [code]true[/code], hace que el elemento canvas " +"especificado por el RID [param item] no dibuje nada fuera de las coordenadas " +"de su rect. Este recorte es rápido, pero solo funciona con rectángulos " +"alineados con los ejes. Esto significa que la rotación es ignorada por el " +"rectángulo de recorte. Para formas de recorte más avanzadas, usa [method " +"canvas_item_set_canvas_group_mode] en su lugar.\n" +"[b]Nota:[/b] La funcionalidad de nodo equivalente se encuentra en [member " +"Label.clip_text], [RichTextLabel] (siempre habilitado) y más." + +msgid "Sets the [CanvasItem] to copy a rect to the backbuffer." +msgstr "Establece el [CanvasItem] para copiar un rectángulo al backbuffer." + +msgid "" +"If [param use_custom_rect] is [code]true[/code], sets the custom visibility " +"rectangle (used for culling) to [param rect] for the canvas item specified by " +"[param item]. Setting a custom visibility rect can reduce CPU load when " +"drawing lots of 2D instances. If [param use_custom_rect] is [code]false[/" +"code], automatically computes a visibility rectangle based on the canvas " +"item's draw commands." msgstr "" -"Devuelve el valor del shader uniforme por instancia de la instancia de canvas " -"item especificada. Equivalente a [method " -"CanvasItem.get_instance_shader_parameter]." +"Si [param use_custom_rect] es [code]true[/code], establece el rectángulo de " +"visibilidad personalizado (utilizado para el culling) en [param rect] para el " +"elemento de canvas especificado por [param item]. Establecer un rectángulo de " +"visibilidad personalizado puede reducir la carga de la CPU al dibujar muchas " +"instancias 2D. Si [param use_custom_rect] es [code]false[/code], calcula " +"automáticamente un rectángulo de visibilidad basado en los comandos de dibujo " +"del elemento de canvas." msgid "" -"Returns the default value of the per-instance shader uniform from the " -"specified canvas item instance. Equivalent to [method " -"CanvasItem.get_instance_shader_parameter]." +"Sets the default texture filter mode for the canvas item specified by the " +"[param item] RID. Equivalent to [member CanvasItem.texture_filter]." msgstr "" -"Devuelve el valor por defecto del shader uniforme por instancia de la " -"instancia de canvas item especificada. Equivalente a [method " -"CanvasItem.get_instance_shader_parameter]." +"Establece el modo de filtro de textura predeterminado para el elemento de " +"canvas especificado por el RID [param item]. Equivalente a [member " +"CanvasItem.texture_filter]." -msgid "Sets the [CanvasItem] to copy a rect to the backbuffer." -msgstr "Establece el [CanvasItem] para copiar un rectángulo al backbuffer." +msgid "" +"Sets the default texture repeat mode for the canvas item specified by the " +"[param item] RID. Equivalent to [member CanvasItem.texture_repeat]." +msgstr "" +"Establece el modo de repetición de textura predeterminado para el elemento de " +"canvas especificado por el RID [param item]. Equivalente a [member " +"CanvasItem.texture_repeat]." + +msgid "" +"If [param enabled] is [code]true[/code], enables multichannel signed distance " +"field rendering mode for the canvas item specified by the [param item] RID. " +"This is meant to be used for font rendering, or with specially generated " +"images using [url=https://github.com/Chlumsky/msdfgen]msdfgen[/url]." +msgstr "" +"Si [param enabled] es [code]true[/code], habilita el modo de renderizado de " +"campo de distancia con signo multicanal para el elemento de canvas " +"especificado por el RID [param item]. Esto está destinado a ser utilizado " +"para el renderizado de fuentes, o con imágenes especialmente generadas usando " +"[url=https://github.com/Chlumsky/msdfgen]msdfgen[/url]." + +msgid "" +"If [param enabled] is [code]true[/code], draws the canvas item specified by " +"the [param item] RID behind its parent. Equivalent to [member " +"CanvasItem.show_behind_parent]." +msgstr "" +"Si [param enabled] es [code]true[/code], dibuja el elemento del canvas " +"especificado por el RID [param item] detrás de su padre. Equivalente a " +"[member CanvasItem.show_behind_parent]." msgid "Sets the index for the [CanvasItem]." msgstr "Establece el índice para el [CanvasItem]." +msgid "" +"Sets the per-instance shader uniform on the specified canvas item instance. " +"Equivalent to [method CanvasItem.set_instance_shader_parameter]." +msgstr "" +"Establece la variable uniforme del shader por instancia en la instancia del " +"elemento del canvas especificado. Equivalente a [method " +"CanvasItem.set_instance_shader_parameter]." + +msgid "" +"If [param interpolated] is [code]true[/code], turns on physics interpolation " +"for the canvas item." +msgstr "" +"Si [param interpolated] es [code]true[/code], activa la interpolación de " +"física para el elemento del canvas." + +msgid "" +"Sets the light [param mask] for the canvas item specified by the [param item] " +"RID. Equivalent to [member CanvasItem.light_mask]." +msgstr "" +"Establece la [param mask] de luz para el elemento del canvas especificado por " +"el [param item] RID. Equivalente a [member CanvasItem.light_mask]." + +msgid "" +"Sets a new [param material] to the canvas item specified by the [param item] " +"RID. Equivalent to [member CanvasItem.material]." +msgstr "" +"Establece un nuevo [param material] al elemento del canvas especificado por " +"el [param item] RID. Equivalente a [member CanvasItem.material]." + +msgid "" +"Multiplies the color of the canvas item specified by the [param item] RID, " +"while affecting its children. See also [method " +"canvas_item_set_self_modulate]. Equivalent to [member CanvasItem.modulate]." +msgstr "" +"Multiplica el color del item de canvas especificado por el [param item] RID, " +"afectando a sus hijos. Véase también [method canvas_item_set_self_modulate]. " +"Equivalente a [member CanvasItem.modulate]." + +msgid "" +"Sets a parent [CanvasItem] to the [CanvasItem]. The item will inherit " +"transform, modulation and visibility from its parent, like [CanvasItem] nodes " +"in the scene tree." +msgstr "" +"Establece un [CanvasItem] padre al [CanvasItem]. El elemento heredará la " +"transformación, modulación y visibilidad de su padre, como los nodos " +"[CanvasItem] en el árbol de escenas." + +msgid "" +"Multiplies the color of the canvas item specified by the [param item] RID, " +"without affecting its children. See also [method canvas_item_set_modulate]. " +"Equivalent to [member CanvasItem.self_modulate]." +msgstr "" +"Multiplica el color del elemento de canvas especificado por el [param item] " +"RID, sin afectar a sus hijos. Véase también [method " +"canvas_item_set_modulate]. Equivalente a [member CanvasItem.self_modulate]." + +msgid "" +"If [param enabled] is [code]true[/code], child nodes with the lowest Y " +"position are drawn before those with a higher Y position. Y-sorting only " +"affects children that inherit from the canvas item specified by the [param " +"item] RID, not the canvas item itself. Equivalent to [member " +"CanvasItem.y_sort_enabled]." +msgstr "" +"Si [param enabled] es [code]true[/code], los nodos hijos con la posición Y " +"más baja se dibujan antes que aquellos con una posición Y más alta. La " +"ordenación Y solo afecta a los hijos que heredan del item de canvas " +"especificado por el [param item] RID, no al item de canvas en sí mismo. " +"Equivalente a [member CanvasItem.y_sort_enabled]." + +msgid "" +"Sets the [param transform] of the canvas item specified by the [param item] " +"RID. This affects where and how the item will be drawn. Child canvas items' " +"transforms are multiplied by their parent's transform. Equivalent to [member " +"Node2D.transform]." +msgstr "" +"Establece la [param transform] del elemento de canvas especificado por el " +"[param item] RID. Esto afecta dónde y cómo se dibujará el elemento. Las " +"transformaciones de los elementos de canvas hijos se multiplican por la " +"transformación de su padre. Equivalente a [member Node2D.transform]." + msgid "Sets if the [CanvasItem] uses its parent's material." msgstr "Establece si el [CanvasItem] utiliza el material de su padre." +msgid "" +"Sets the rendering visibility layer associated with this [CanvasItem]. Only " +"[Viewport] nodes with a matching rendering mask will render this [CanvasItem]." +msgstr "" +"Establece la capa de visibilidad de renderizado asociada con este " +"[CanvasItem]. Solo los nodos [Viewport] con una máscara de renderizado " +"coincidente renderizarán este [CanvasItem]." + +msgid "" +"Sets the given [CanvasItem] as visibility notifier. [param area] defines the " +"area of detecting visibility. [param enter_callable] is called when the " +"[CanvasItem] enters the screen, [param exit_callable] is called when the " +"[CanvasItem] exits the screen. If [param enable] is [code]false[/code], the " +"item will no longer function as notifier.\n" +"This method can be used to manually mimic [VisibleOnScreenNotifier2D]." +msgstr "" +"Establece el [CanvasItem] dado como notificador de visibilidad. [param area] " +"define el área para detectar la visibilidad. [param enter_callable] se llama " +"cuando el [CanvasItem] entra en la pantalla, [param exit_callable] se llama " +"cuando el [CanvasItem] sale de la pantalla. Si [param enable] es [code]false[/" +"code], el elemento dejará de funcionar como notificador.\n" +"Este método se puede usar para imitar manualmente [VisibleOnScreenNotifier2D]." + +msgid "Sets the visibility of the [CanvasItem]." +msgstr "Establece la visibilidad del [CanvasItem]." + msgid "" "If this is enabled, the Z index of the parent will be added to the children's " "Z index." @@ -87814,14 +89594,56 @@ msgstr "" "Establece el índice Z del [CanvasItem], es decir, su orden de dibujo (los " "índices inferiores se dibujan primero)." +msgid "" +"Transforms both the current and previous stored transform for a canvas item.\n" +"This allows transforming a canvas item without creating a \"glitch\" in the " +"interpolation, which is particularly useful for large worlds utilizing a " +"shifting origin." +msgstr "" +"Transforma tanto la transformación actual como la anterior almacenada para un " +"elemento de canvas.\n" +"Esto permite transformar un elemento de canvas sin crear un \"glitch\" en la " +"interpolación, lo que es particularmente útil para mundos grandes que " +"utilizan un origen cambiante." + msgid "" "Attaches the canvas light to the canvas. Removes it from its previous canvas." msgstr "Une la luz del canvas al canvas. Lo quita de su canvas anterior." +msgid "" +"Creates a canvas light and adds it to the RenderingServer. It can be accessed " +"with the RID that is returned. This RID will be used in all " +"[code]canvas_light_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"[b]Note:[/b] The equivalent node is [Light2D]." +msgstr "" +"Crea una luz de canvas y la añade al RenderingServer. Se puede acceder a ella " +"con el RID que se devuelve. Este RID se usará en todas las funciones " +"[code]canvas_light_*[/code] del RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer.\n" +"[b]Nota:[/b] El nodo equivalente es [Light2D]." + msgid "" "Attaches a light occluder to the canvas. Removes it from its previous canvas." msgstr "Adjunta un oclusor de luz al canvas. Lo quita de su canvas anterior." +msgid "" +"Creates a light occluder and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]canvas_light_occluder_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"[b]Note:[/b] The equivalent node is [LightOccluder2D]." +msgstr "" +"Crea un oclusor de luz y lo añade al RenderingServer. Se puede acceder a él " +"con el RID que se devuelve. Este RID se usará en todas las funciones " +"[code]canvas_light_occluder_*[/code] del RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer.\n" +"[b]Nota:[/b] El nodo equivalente es [LightOccluder2D]." + msgid "" "Prevents physics interpolation for the current physics tick.\n" "This is useful when moving an occluder to a new location, to give an " @@ -87977,6 +89799,9 @@ msgstr "" "método [method free_rid] del RenderingServer.\n" "[b]Nota:[/b] El recurso equivalente es [OccluderPolygon2D]." +msgid "Sets an occluder polygon's cull mode." +msgstr "Establece el modo de descarte de un polígono oclusor." + msgid "Sets the shape of the occluder polygon." msgstr "Establece la forma del polígono oclusor." @@ -88017,6 +89842,25 @@ msgstr "" "para el renderizado de sombras de [Light2D] (en píxeles). El valor se " "redondea a la potencia de 2 más cercana." +msgid "" +"Creates a canvas texture and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]canvas_texture_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method. See also [method " +"texture_2d_create].\n" +"[b]Note:[/b] The equivalent resource is [CanvasTexture] and is only meant to " +"be used in 2D rendering, not 3D." +msgstr "" +"Crea una textura de lienzo y la añade al RenderingServer. Se puede acceder a " +"ella con el RID que se devuelve. Este RID se usará en todas las funciones " +"[code]canvas_texture_*[/code] del RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer. Véase también [method " +"texture_2d_create].\n" +"[b]Nota:[/b] El recurso equivalente es [CanvasTexture] y solo está destinado " +"a ser utilizado en el renderizado 2D, no 3D." + msgid "" "Sets the [param channel]'s [param texture] for the canvas texture specified " "by the [param canvas_texture] RID. Equivalent to [member " @@ -88038,6 +89882,42 @@ msgstr "" "[member CanvasTexture.specular_color] y [member " "CanvasTexture.specular_shininess]." +msgid "" +"Sets the texture [param filter] mode to use for the canvas texture specified " +"by the [param canvas_texture] RID." +msgstr "" +"Establece el modo de filtro de textura [param filter] para la textura de " +"canvas especificada por el RID [param canvas_texture]." + +msgid "" +"Sets the texture [param repeat] mode to use for the canvas texture specified " +"by the [param canvas_texture] RID." +msgstr "" +"Establece el modo de repetición de textura [param repeat] para la textura de " +"canvas especificada por el RID [param canvas_texture]." + +msgid "" +"Creates a new compositor and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method." +msgstr "" +"Crea un nuevo compositor y lo añade al RenderingServer. Se puede acceder a él " +"con el RID que se devuelve.\n" +"Una vez que hayas terminado con tu RID, querrás liberarlo usando el método " +"[method free_rid] del RenderingServer." + +msgid "" +"Creates a new rendering effect and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method." +msgstr "" +"Crea un nuevo efecto de renderizado y lo añade al RenderingServer. Se puede " +"acceder a él con el RID que se devuelve.\n" +"Una vez que hayas terminado con tu RID, querrás liberarlo usando el método " +"[method free_rid] del RenderingServer." + msgid "" "Sets the callback type ([param callback_type]) and callback method([param " "callback]) for this rendering effect." @@ -88045,6 +89925,9 @@ msgstr "" "Establece el tipo de callback ([param callback_type]) y el método de callback " "([param callback]) para este efecto de renderizado." +msgid "Enables/disables this rendering effect." +msgstr "Habilita/deshabilita este efecto de renderizado." + msgid "" "Sets the flag ([param flag]) for this rendering effect to [code]true[/code] " "or [code]false[/code] ([param set])." @@ -88061,6 +89944,19 @@ msgstr "" "[param effects] debe ser un array que contenga RIDs creados con [method " "compositor_effect_create]." +msgid "" +"Creates a RenderingDevice that can be used to do draw and compute operations " +"on a separate thread. Cannot draw to the screen nor share data with the " +"global RenderingDevice.\n" +"[b]Note:[/b] When using the OpenGL rendering driver or when running in " +"headless mode, this function always returns [code]null[/code]." +msgstr "" +"Crea un RenderingDevice que puede ser usado para hacer operaciones de dibujo " +"y computación en un hilo separado. No puede dibujar en la pantalla ni " +"compartir datos con el RenderingDevice global.\n" +"[b]Nota:[/b] Cuando se usa el controlador de renderizado OpenGL o cuando se " +"ejecuta en modo headless, esta función siempre devuelve [code]null[/code]." + msgid "" "Returns the bounding rectangle for a canvas item in local space, as " "calculated by the renderer. This bound is used internally for culling.\n" @@ -88117,6 +90013,76 @@ msgstr "" "Decal.distance_fade_enabled], [member Decal.distance_fade_begin] y [member " "Decal.distance_fade_length]." +msgid "" +"Sets the emission [param energy] in the decal specified by the [param decal] " +"RID. Equivalent to [member Decal.emission_energy]." +msgstr "" +"Establece la energía de emisión ([param energy]) en el decal especificado por " +"el RID [param decal]. Equivalente a [member Decal.emission_energy]." + +msgid "" +"Sets the upper fade ([param above]) and lower fade ([param below]) in the " +"decal specified by the [param decal] RID. Equivalent to [member " +"Decal.upper_fade] and [member Decal.lower_fade]." +msgstr "" +"Establece el desvanecimiento superior ([param above]) y el desvanecimiento " +"inferior ([param below]) en el decal especificado por el RID [param decal]. " +"Equivalente a [member Decal.upper_fade] y [member Decal.lower_fade]." + +msgid "" +"Sets the color multiplier in the decal specified by the [param decal] RID to " +"[param color]. Equivalent to [member Decal.modulate]." +msgstr "" +"Establece el multiplicador de color en el decal especificado por el RID " +"[param decal] a [param color]. Equivalente a [member Decal.modulate]." + +msgid "" +"Sets the normal [param fade] in the decal specified by the [param decal] RID. " +"Equivalent to [member Decal.normal_fade]." +msgstr "" +"Establece el desvanecimiento normal ([param fade]) en el decal especificado " +"por el RID [param decal]. Equivalente a [member Decal.normal_fade]." + +msgid "" +"Sets the [param size] of the decal specified by the [param decal] RID. " +"Equivalent to [member Decal.size]." +msgstr "" +"Establece el [param size] del decal especificado por el RID [param decal]. " +"Equivalente a [member Decal.size]." + +msgid "" +"Sets the [param texture] in the given texture [param type] slot for the " +"specified decal. Equivalent to [method Decal.set_texture]." +msgstr "" +"Establece la [param texture] en el slot [param type] de textura dado para el " +"decal especificado. Equivalente a [method Decal.set_texture]." + +msgid "" +"Sets the texture [param filter] mode to use when rendering decals. This " +"parameter is global and cannot be set on a per-decal basis." +msgstr "" +"Establece el modo de [param filter] de textura a usar al renderizar decals. " +"Este parámetro es global y no puede establecerse por decal individualmente." + +msgid "" +"Creates a directional light and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID can be used in most " +"[code]light_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"To place in a scene, attach this directional light to an instance using " +"[method instance_set_base] using the returned RID.\n" +"[b]Note:[/b] The equivalent node is [DirectionalLight3D]." +msgstr "" +"Crea una luz direccional y la añade al RenderingServer. Se puede acceder a " +"ella con el RID que se devuelve. Este RID puede ser usado en la mayoría de " +"las funciones de [code]light_*[/code] de RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer.\n" +"Para colocar en una escena, adjunta esta luz direccional a una instancia " +"usando [method instance_set_base] usando el RID devuelto.\n" +"[b]Nota:[/b] El nodo equivalente es [DirectionalLight3D]." + msgid "" "Sets the [param size] of the directional light shadows in 3D. See also " "[member ProjectSettings.rendering/lights_and_shadows/directional_shadow/" @@ -88138,13 +90104,232 @@ msgstr "" "directional_shadow/soft_shadow_filter_quality]. Este parámetro es global y no " "puede ser establecido por cada viewport." +msgid "" +"Generates and returns an [Image] containing the radiance map for the " +"specified [param environment] RID's sky. This supports built-in sky material " +"and custom sky shaders. If [param bake_irradiance] is [code]true[/code], the " +"irradiance map is saved instead of the radiance map. The radiance map is used " +"to render reflected light, while the irradiance map is used to render ambient " +"light. See also [method sky_bake_panorama].\n" +"[b]Note:[/b] The image is saved using linear encoding without any tonemapping " +"performed, which means it will look too dark if viewed directly in an image " +"editor.\n" +"[b]Note:[/b] [param size] should be a 2:1 aspect ratio for the generated " +"panorama to have square pixels. For radiance maps, there is no point in using " +"a height greater than [member Sky.radiance_size], as it won't increase " +"detail. Irradiance maps only contain low-frequency data, so there is usually " +"no point in going past a size of 128×64 pixels when saving an irradiance map." +msgstr "" +"Genera y devuelve una [Image] que contiene el mapa de radiancia para el cielo " +"del RID [param environment] especificado. Esto soporta material de cielo " +"incorporado y shaders de cielo personalizados. Si [param bake_irradiance] es " +"[code]true[/code], el mapa de irradiancia se guarda en lugar del mapa de " +"radiancia. El mapa de radiancia se usa para renderizar luz reflejada, " +"mientras que el mapa de irradiancia se usa para renderizar luz ambiental. " +"Véase también [method sky_bake_panorama].\n" +"[b]Nota:[/b] La imagen se guarda utilizando codificación lineal sin ningún " +"mapeo de tonos realizado, lo que significa que se verá demasiado oscura si se " +"visualiza directamente en un editor de imágenes.\n" +"[b]Nota:[/b] [param size] debe tener una relación de aspecto de 2:1 para que " +"el panorama generado tenga píxeles cuadrados. Para los mapas de radiancia, no " +"tiene sentido utilizar una altura mayor que [member Sky.radiance_size], ya " +"que no aumentará el detalle. Los mapas de irradiancia solo contienen datos de " +"baja frecuencia, por lo que normalmente no tiene sentido ir más allá de un " +"tamaño de 128×64 píxeles al guardar un mapa de irradiancia." + +msgid "" +"Creates an environment and adds it to the RenderingServer. It can be accessed " +"with the RID that is returned. This RID will be used in all " +"[code]environment_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"[b]Note:[/b] The equivalent resource is [Environment]." +msgstr "" +"Crea un entorno y lo añade al RenderingServer. Se puede acceder a él con el " +"RID que se devuelve. Este RID se usará en todas las funciones de " +"RenderingServer de [code]environment_*[/code].\n" +"Una vez terminado tu RID, querrás liberarlo usando el método [method " +"free_rid] del RenderingServer.\n" +"[b]Nota:[/b] El recurso equivalente es [Environment]." + +msgid "" +"If [param enable] is [code]true[/code], enables bicubic upscaling for glow " +"which improves quality at the cost of performance. Equivalent to [member " +"ProjectSettings.rendering/environment/glow/upscale_mode].\n" +"[b]Note:[/b] This setting is only effective when using the Forward+ or Mobile " +"rendering methods, as Compatibility uses a different glow implementation." +msgstr "" +"Si [param enable] es [code]true[/code], habilita el escalado bicúbico para el " +"brillo, lo que mejora la calidad a costa del rendimiento. Equivalente a " +"[member ProjectSettings.rendering/environment/glow/upscale_mode].\n" +"[b]Nota:[/b] Esta configuración solo es efectiva cuando se utilizan los " +"métodos de renderizado Forward+ o Mobile, ya que Compatibility usa una " +"implementación de brillo diferente." + +msgid "" +"Sets the values to be used with the \"adjustments\" post-process effect. See " +"[Environment] for more details." +msgstr "" +"Establece los valores que se utilizarán con el efecto de post-procesado de " +"\"ajustes\". Véase [Environment] para más detalles." + +msgid "" +"Sets the values to be used for ambient light rendering. See [Environment] for " +"more details." +msgstr "" +"Establece los valores que se utilizarán para el renderizado de luz ambiental. " +"Véase [Environment] para más detalles." + +msgid "" +"Sets the environment's background mode. Equivalent to [member " +"Environment.background_mode]." +msgstr "" +"Establece el modo de fondo del entorno. Equivalente a [member " +"Environment.background_mode]." + +msgid "" +"Color displayed for clear areas of the scene. Only effective if using the " +"[constant ENV_BG_COLOR] background mode." +msgstr "" +"Color que se muestra para las zonas despejadas de la escena. Solo es efectivo " +"si se utiliza el modo de fondo [constant ENV_BG_COLOR]." + msgid "Sets the intensity of the background color." msgstr "Establece la intensidad del color de fondo." +msgid "Sets the camera ID to be used as environment background." +msgstr "Establece el ID de la cámara que se usará como fondo del entorno." + msgid "Sets the maximum layer to use if using Canvas background mode." msgstr "" "Establece la capa máxima a usar si se utiliza el modo de fondo de canvas." +msgid "" +"Configures fog for the specified environment RID. See [code]fog_*[/code] " +"properties in [Environment] for more information." +msgstr "" +"Configura la niebla para el RID de entorno especificado. Véanse las " +"propiedades [code]fog_*[/code] en [Environment] para más información." + +msgid "" +"Configures fog depth for the specified environment RID. Only has an effect " +"when the fog mode of the environment is [constant ENV_FOG_MODE_DEPTH]. See " +"[code]fog_depth_*[/code] properties in [Environment] for more information." +msgstr "" +"Configura la profundidad de la niebla para el RID de entorno especificado. " +"Solo tiene efecto cuando el modo de niebla del entorno es [constant " +"ENV_FOG_MODE_DEPTH]. Véanse las propiedades [code]fog_depth_*[/code] en " +"[Environment] para más información." + +msgid "" +"Configures glow for the specified environment RID. See [code]glow_*[/code] " +"properties in [Environment] for more information." +msgstr "" +"Configura el brillo (glow) para el RID de entorno especificado. Véanse las " +"propiedades [code]glow_*[/code] en [Environment] para más información." + +msgid "" +"Configures signed distance field global illumination for the specified " +"environment RID. See [code]sdfgi_*[/code] properties in [Environment] for " +"more information." +msgstr "" +"Configura la iluminación global de campo de distancia con signo para el RID " +"de entorno especificado. Véanse las propiedades [code]sdfgi_*[/code] en " +"[Environment] para más información." + +msgid "" +"Sets the number of frames to use for converging signed distance field global " +"illumination. Equivalent to [member ProjectSettings.rendering/" +"global_illumination/sdfgi/frames_to_converge]." +msgstr "" +"Establece el número de fotogramas a usar para la convergencia de la " +"iluminación global de campo de distancia con signo. Equivalente a [member " +"ProjectSettings.rendering/global_illumination/sdfgi/frames_to_converge]." + +msgid "" +"Sets the update speed for dynamic lights' indirect lighting when computing " +"signed distance field global illumination. Equivalent to [member " +"ProjectSettings.rendering/global_illumination/sdfgi/frames_to_update_lights]." +msgstr "" +"Establece la velocidad de actualización para la iluminación indirecta de las " +"luces dinámicas al calcular la iluminación global de campo de distancia con " +"signo. Equivalente a [member ProjectSettings.rendering/global_illumination/" +"sdfgi/frames_to_update_lights]." + +msgid "" +"Sets the number of rays to throw per frame when computing signed distance " +"field global illumination. Equivalent to [member ProjectSettings.rendering/" +"global_illumination/sdfgi/probe_ray_count]." +msgstr "" +"Establece el número de rayos a lanzar por fotograma al calcular la " +"iluminación global de campo de distancia con signo. Equivalente a [member " +"ProjectSettings.rendering/global_illumination/sdfgi/probe_ray_count]." + +msgid "" +"Sets the [Sky] to be used as the environment's background when using " +"[i]BGMode[/i] sky. Equivalent to [member Environment.sky]." +msgstr "" +"Establece el [Sky] para ser usado como fondo del ambiente cuando se usa el " +"[i]BGMode[/i] cielo. Equivalente a [member Environment.sky]." + +msgid "" +"Sets a custom field of view for the background [Sky]. Equivalent to [member " +"Environment.sky_custom_fov]." +msgstr "" +"Establece un campo de visión personalizado para el fondo [Sky]. Equivalente a " +"[member Environment.sky_custom_fov]." + +msgid "" +"Sets the rotation of the background [Sky] expressed as a [Basis]. Equivalent " +"to [member Environment.sky_rotation], where the rotation vector is used to " +"construct the [Basis]." +msgstr "" +"Establece la rotación del fondo [Sky] expresada como una [Basis]. Equivalente " +"a [member Environment.sky_rotation], donde el vector de rotación se utiliza " +"para construir la [Basis]." + +msgid "" +"Sets the variables to be used with the screen-space ambient occlusion (SSAO) " +"post-process effect. See [Environment] for more details." +msgstr "" +"Establece las variables que se utilizarán con el efecto de post-procesamiento " +"\"reflejos del espacio de la pantalla\". Véase [Environment] para más " +"detalles." + +msgid "" +"Sets the quality level of the screen-space ambient occlusion (SSAO) post-" +"process effect. See [Environment] for more details." +msgstr "" +"Establece el nivel de calidad del efecto de postprocesado de oclusión " +"ambiental en espacio de pantalla (SSAO). Véase [Environment] para más " +"detalles." + +msgid "" +"Sets the quality level of the screen-space indirect lighting (SSIL) post-" +"process effect. See [Environment] for more details." +msgstr "" +"Establece el nivel de calidad del efecto de postprocesado de iluminación " +"indirecta en espacio de pantalla (SSIL). Véase [Environment] para más " +"detalles." + +msgid "" +"Sets the variables to be used with the screen-space reflections (SSR) post-" +"process effect. See [Environment] for more details." +msgstr "" +"Establece las variables a usar con el efecto de postprocesado de reflejos en " +"espacio de pantalla (SSR). Véase [Environment] para más detalles." + +msgid "" +"Sets whether screen-space reflections will be rendered at full or half size. " +"Half size is faster, but may look pixelated or cause flickering." +msgstr "" +"Establece si los reflejos en espacio de pantalla se renderizarán a tamaño " +"completo o a mitad de tamaño. La mitad de tamaño es más rápida, pero puede " +"verse pixelada o causar parpadeos." + +msgid "This option no longer does anything." +msgstr "Esta opción ya no hace nada." + msgid "" "Sets the variables to be used with the \"tonemap\" post-process effect. See " "[Environment] for more details." @@ -88152,6 +90337,215 @@ msgstr "" "Establece las variables que se utilizarán con el efecto de post-proceso " "\"tonemap\". Véase [Environment] para más detalles." +msgid "See [member Environment.tonemap_agx_contrast] for more details." +msgstr "Véase [member Environment.tonemap_agx_contrast] para más detalles." + +msgid "" +"Sets the variables to be used with the volumetric fog post-process effect. " +"See [Environment] for more details." +msgstr "" +"Establece las variables que se utilizarán con el efecto de post-procesamiento " +"de niebla volumétrica. Véase [Environment] para más detalles." + +msgid "" +"Enables filtering of the volumetric fog scattering buffer. This results in " +"much smoother volumes with very few under-sampling artifacts." +msgstr "" +"Habilita el filtrado del búfer de dispersión de niebla volumétrica. Esto da " +"como resultado volúmenes mucho más suaves con muy pocos artefactos de " +"submuestreo." + +msgid "" +"Sets the resolution of the volumetric fog's froxel buffer. [param size] is " +"modified by the screen's aspect ratio and then used to set the width and " +"height of the buffer. While [param depth] is directly used to set the depth " +"of the buffer." +msgstr "" +"Establece la resolución del búfer de froxel de la niebla volumétrica. [param " +"size] es modificado por la relación de aspecto de la pantalla y luego se usa " +"para establecer el ancho y la altura del búfer. Mientras que [param depth] se " +"usa directamente para establecer la profundidad del búfer." + +msgid "" +"Creates a new fog volume and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]fog_volume_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"[b]Note:[/b] The equivalent node is [FogVolume]." +msgstr "" +"Crea un nuevo volumen de niebla y lo añade al RenderingServer. Se puede " +"acceder a él con el RID que se devuelve. Este RID se utilizará en todas las " +"funciones [code]fog_volume_*[/code] del RenderingServer.\n" +"Una vez terminado con tu RID, querrás liberarlo usando el método [method " +"free_rid] del RenderingServer.\n" +"[b]Nota:[/b] El nodo equivalente es [FogVolume]." + +msgid "" +"Sets the [Material] of the fog volume. Can be either a [FogMaterial] or a " +"custom [ShaderMaterial]." +msgstr "" +"Establece el [Material] del volumen de niebla. Puede ser un [FogMaterial] o " +"un [ShaderMaterial] personalizado." + +msgid "" +"Sets the shape of the fog volume to either [constant " +"RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_BOX] or [constant " +"RenderingServer.FOG_VOLUME_SHAPE_WORLD]." +msgstr "" +"Establece la forma del volumen de niebla a [constant " +"RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CYLINDER], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_BOX] o [constant " +"RenderingServer.FOG_VOLUME_SHAPE_WORLD]." + +msgid "" +"Sets the size of the fog volume when shape is [constant " +"RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] or [constant " +"RenderingServer.FOG_VOLUME_SHAPE_BOX]." +msgstr "" +"Establece el tamaño del volumen de niebla cuando la forma es [constant " +"RenderingServer.FOG_VOLUME_SHAPE_ELLIPSOID], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CONE], [constant " +"RenderingServer.FOG_VOLUME_SHAPE_CYLINDER] o [constant " +"RenderingServer.FOG_VOLUME_SHAPE_BOX]." + +msgid "" +"Forces redrawing of all viewports at once. Must be called from the main " +"thread." +msgstr "" +"Fuerza el redibujado de todos los viewports a la vez. Debe ser llamado desde " +"el hilo principal." + +msgid "" +"Forces a synchronization between the CPU and GPU, which may be required in " +"certain cases. Only call this when needed, as CPU-GPU synchronization has a " +"performance cost." +msgstr "" +"Fuerza una sincronización entre la CPU y la GPU, lo cual puede ser necesario " +"en ciertos casos. Llama a esto solo cuando sea necesario, ya que la " +"sincronización CPU-GPU tiene un coste de rendimiento." + +msgid "" +"Tries to free an object in the RenderingServer. To avoid memory leaks, this " +"should be called after using an object as memory management does not occur " +"automatically when using RenderingServer directly." +msgstr "" +"Intenta liberar un objeto en el RenderingServer. Para evitar fugas de " +"memoria, esto debe ser llamado después de usar un objeto, ya que la gestión " +"de memoria no ocurre automáticamente al usar RenderingServer directamente." + +msgid "" +"Returns the name of the current rendering driver. This can be [code]vulkan[/" +"code], [code]d3d12[/code], [code]metal[/code], [code]opengl3[/code], " +"[code]opengl3_es[/code], or [code]opengl3_angle[/code]. See also [method " +"get_current_rendering_method].\n" +"When [member ProjectSettings.rendering/renderer/rendering_method] is " +"[code]forward_plus[/code] or [code]mobile[/code], the rendering driver is " +"determined by [member ProjectSettings.rendering/rendering_device/driver].\n" +"When [member ProjectSettings.rendering/renderer/rendering_method] is " +"[code]gl_compatibility[/code], the rendering driver is determined by [member " +"ProjectSettings.rendering/gl_compatibility/driver].\n" +"The rendering driver is also determined by the [code]--rendering-driver[/" +"code] command line argument that overrides this project setting, or an " +"automatic fallback that is applied depending on the hardware." +msgstr "" +"Devuelve el nombre del controlador de renderizado actual. Puede ser " +"[code]vulkan[/code], [code]d3d12[/code], [code]metal[/code], [code]opengl3[/" +"code], [code]opengl3_es[/code], o [code]opengl3_angle[/code]. Véase también " +"[method get_current_rendering_method].\n" +"Cuando [member ProjectSettings.rendering/renderer/rendering_method] es " +"[code]forward_plus[/code] o [code]mobile[/code], el controlador de " +"renderizado es determinado por [member ProjectSettings.rendering/" +"rendering_device/driver].\n" +"Cuando [member ProjectSettings.rendering/renderer/rendering_method] es " +"[code]gl_compatibility[/code], el controlador de renderizado es determinado " +"por [member ProjectSettings.rendering/gl_compatibility/driver].\n" +"El controlador de renderizado también es determinado por el argumento de " +"línea de comandos [code]--rendering-driver[/code] que anula esta " +"configuración del proyecto, o por una alternativa automática que se aplica " +"dependiendo del hardware." + +msgid "" +"Returns the name of the current rendering method. This can be " +"[code]forward_plus[/code], [code]mobile[/code], or [code]gl_compatibility[/" +"code]. See also [method get_current_rendering_driver_name].\n" +"The rendering method is determined by [member ProjectSettings.rendering/" +"renderer/rendering_method], the [code]--rendering-method[/code] command line " +"argument that overrides this project setting, or an automatic fallback that " +"is applied depending on the hardware." +msgstr "" +"Devuelve el nombre del método de renderizado actual. Puede ser " +"[code]forward_plus[/code], [code]mobile[/code], o [code]gl_compatibility[/" +"code]. Véase también [method get_current_rendering_driver_name].\n" +"El método de renderizado es determinado por [member ProjectSettings.rendering/" +"renderer/rendering_method], el argumento de línea de comandos [code]--" +"rendering-method[/code] que anula esta configuración del proyecto, o por una " +"alternativa automática que se aplica dependiendo del hardware." + +msgid "" +"Returns the default clear color which is used when a specific clear color has " +"not been selected. See also [method set_default_clear_color]." +msgstr "" +"Devuelve el color claro predeterminado que se utiliza cuando no se ha " +"seleccionado un color claro específico. Véase también [method " +"set_default_clear_color]." + +msgid "" +"Returns the time taken to setup rendering on the CPU in milliseconds. This " +"value is shared across all viewports and does [i]not[/i] require [method " +"viewport_set_measure_render_time] to be enabled on a viewport to be queried. " +"See also [method viewport_get_measured_render_time_cpu]." +msgstr "" +"Devuelve el tiempo que tarda en configurarse el renderizado en la CPU en " +"milisegundos. Este valor se comparte entre todas las viewports y [i]no[/i] " +"requiere que [method viewport_set_measure_render_time] esté habilitado en una " +"viewport para ser consultado. Véase también [method " +"viewport_get_measured_render_time_cpu]." + +msgid "" +"Returns a statistic about the rendering engine which can be used for " +"performance profiling. See also [method viewport_get_render_info], which " +"returns information specific to a viewport.\n" +"[b]Note:[/b] Only 3D rendering is currently taken into account by some of " +"these values, such as the number of draw calls.\n" +"[b]Note:[/b] Rendering information is not available until at least 2 frames " +"have been rendered by the engine. If rendering information is not available, " +"[method get_rendering_info] returns [code]0[/code]. To print rendering " +"information in [code]_ready()[/code] successfully, use the following:\n" +"[codeblock]\n" +"func _ready():\n" +"\tfor _i in 2:\n" +"\t\tawait get_tree().process_frame\n" +"\n" +"\tprint(RenderingServer.get_rendering_info(RENDERING_INFO_TOTAL_DRAW_CALLS_IN_FRAME))\n" +"[/codeblock]" +msgstr "" +"Devuelve una estadística sobre el motor de renderizado que puede utilizarse " +"para la evaluación del rendimiento. Véase también [method " +"viewport_get_render_info], que devuelve información específica de una " +"viewport.\n" +"[b]Nota:[/b] Actualmente, solo el renderizado 3D es tenido en cuenta por " +"algunos de estos valores, como el número de llamadas de dibujo.\n" +"[b]Nota:[/b] La información de renderizado no está disponible hasta que el " +"motor haya renderizado al menos 2 frames. Si la información de renderizado no " +"está disponible, [method get_rendering_info] devuelve [code]0[/code]. Para " +"imprimir información de renderizado en [code]_ready()[/code] correctamente, " +"utiliza lo siguiente:\n" +"[codeblock]\n" +"func _ready():\n" +"\tfor _i in 2:\n" +"\t\tawait get_tree().process_frame\n" +"\n" +"\tprint(RenderingServer.get_rendering_info(RENDERING_INFO_TOTAL_DRAW_CALLS_IN_FRAME))\n" +"[/codeblock]" + msgid "Returns the parameters of a shader." msgstr "Devuelve los parámetros de un shader." @@ -88256,6 +90650,120 @@ msgstr "" "[b]Nota:[/b] Cuando se ejecuta un binario headless o de servidor, esta " "función devuelve una string vacía." +msgid "" +"Returns the ID of a 4×4 white texture (in [constant Image.FORMAT_RGB8] " +"format). This texture will be created and returned on the first call to " +"[method get_white_texture], then it will be cached for subsequent calls. See " +"also [method get_test_texture].\n" +"[b]Example:[/b] Get the white texture and apply it to a [Sprite2D] node:\n" +"[codeblock]\n" +"var texture_rid = RenderingServer.get_white_texture()\n" +"var texture = " +"ImageTexture.create_from_image(RenderingServer.texture_2d_get(texture_rid))\n" +"$Sprite2D.texture = texture\n" +"[/codeblock]" +msgstr "" +"Devuelve el ID de una textura blanca de 4x4 (en formato [constant " +"Image.FORMAT_RGB8]). Esta textura se creará y se devolverá en la primera " +"llamada a [method get_white_texture], luego se almacenará en caché para " +"llamadas subsiguientes. Véase también [method get_test_texture].\n" +"[b]Ejemplo:[/b] Obtén la textura blanca y aplícala a un nodo [Sprite2D]:\n" +"[codeblock]\n" +"var texture_rid = RenderingServer.get_white_texture()\n" +"var texture = " +"ImageTexture.create_from_image(RenderingServer.texture_2d_get(texture_rid))\n" +"$Sprite2D.texture = texture\n" +"[/codeblock]" + +msgid "" +"If [param half_resolution] is [code]true[/code], renders [VoxelGI] and SDFGI " +"([member Environment.sdfgi_enabled]) buffers at halved resolution on each " +"axis (e.g. 960×540 when the viewport size is 1920×1080). This improves " +"performance significantly when VoxelGI or SDFGI is enabled, at the cost of " +"artifacts that may be visible on polygon edges. The loss in quality becomes " +"less noticeable as the viewport resolution increases. [LightmapGI] rendering " +"is not affected by this setting. Equivalent to [member " +"ProjectSettings.rendering/global_illumination/gi/use_half_resolution]." +msgstr "" +"Si [param half_resolution] es [code]true[/code], renderiza los búferes de " +"[VoxelGI] y SDFGI ([member Environment.sdfgi_enabled]) a la mitad de " +"resolución en cada eje (por ejemplo, 960x540 cuando el tamaño del viewport es " +"1920x1080). Esto mejora significativamente el rendimiento cuando VoxelGI o " +"SDFGI están habilitados, a costa de artefactos que pueden ser visibles en los " +"bordes de los polígonos. La pérdida de calidad se vuelve menos perceptible a " +"medida que aumenta la resolución del viewport. La renderización de " +"[LightmapGI] no se ve afectada por esta configuración. Equivalente a [member " +"ProjectSettings.rendering/global_illumination/gi/use_half_resolution]." + +msgid "" +"Creates a new global shader uniform.\n" +"[b]Note:[/b] Global shader parameter names are case-sensitive." +msgstr "" +"Crea una nueva variable global uniforme de shader.\n" +"[b]Nota:[/b] Los nombres de los parámetros de shader globales distinguen " +"entre mayúsculas y minúsculas." + +msgid "" +"Returns the value of the global shader uniform specified by [param name].\n" +"[b]Note:[/b] [method global_shader_parameter_get] has a large performance " +"penalty as the rendering thread needs to synchronize with the calling thread, " +"which is slow. Do not use this method during gameplay to avoid stuttering. If " +"you need to read values in a script after setting them, consider creating an " +"autoload where you store the values you need to query at the same time you're " +"setting them as global parameters." +msgstr "" +"Devuelve el valor de la variable uniforme global de shader especificada por " +"[param name].\n" +"[b]Nota:[/b] [method global_shader_parameter_get] tiene una gran penalización " +"de rendimiento ya que el hilo de renderización necesita sincronizarse con el " +"hilo que llama, lo cual es lento. No utilices este método durante el juego " +"para evitar tirones. Si necesitas leer valores en un script después de " +"configurarlos, considera crear un autoload donde almacenes los valores que " +"necesitas consultar al mismo tiempo que los estás configurando como " +"parámetros globales." + +msgid "" +"Returns the list of global shader uniform names.\n" +"[b]Note:[/b] [method global_shader_parameter_get] has a large performance " +"penalty as the rendering thread needs to synchronize with the calling thread, " +"which is slow. Do not use this method during gameplay to avoid stuttering. If " +"you need to read values in a script after setting them, consider creating an " +"autoload where you store the values you need to query at the same time you're " +"setting them as global parameters." +msgstr "" +"Devuelve la lista de nombres de uniformes de shader globales.\n" +"[b]Nota:[/b] [method global_shader_parameter_get] tiene una gran penalización " +"de rendimiento ya que el hilo de renderizado necesita sincronizarse con el " +"hilo que lo llama, lo cual es lento. No uses este método durante el juego " +"para evitar tirones. Si necesitas leer valores en un script después de " +"configurarlos, considera crear un \"autoload\" donde almacenes los valores " +"que necesitas consultar al mismo tiempo que los configuras como parámetros " +"globales." + +msgid "" +"Returns the type associated to the global shader uniform specified by [param " +"name].\n" +"[b]Note:[/b] [method global_shader_parameter_get] has a large performance " +"penalty as the rendering thread needs to synchronize with the calling thread, " +"which is slow. Do not use this method during gameplay to avoid stuttering. If " +"you need to read values in a script after setting them, consider creating an " +"autoload where you store the values you need to query at the same time you're " +"setting them as global parameters." +msgstr "" +"Devuelve el tipo asociado a la variable uniforme de shader global " +"especificado por [param name].\n" +"[b]Nota:[/b] [method global_shader_parameter_get] tiene una gran penalización " +"de rendimiento ya que el hilo de renderizado necesita sincronizarse con el " +"hilo que lo llama, lo cual es lento. No uses este método durante el juego " +"para evitar tirones. Si necesitas leer valores en un script después de " +"configurarlos, considera crear un \"autoload\" donde almacenes los valores " +"que necesitas consultar al mismo tiempo que los configuras como parámetros " +"globales." + +msgid "Removes the global shader uniform specified by [param name]." +msgstr "" +"Elimina la variable uniforme global del shader especificada por [param name]." + msgid "Sets the global shader uniform [param name] to [param value]." msgstr "" "Establece la variable uniforme global del shader [param name] a [param value]." @@ -88280,6 +90788,14 @@ msgstr "Este método no se ha utilizado desde Godot 3.0." msgid "This method does nothing and always returns [code]false[/code]." msgstr "Este método no hace nada y siempre devuelve [code]false[/code]." +msgid "" +"Returns [code]true[/code] if the OS supports a certain [param feature]. " +"Features might be [code]s3tc[/code], [code]etc[/code], and [code]etc2[/code]." +msgstr "" +"Devuelve [code]true[/code] si el sistema operativo soporta una [param " +"feature] determinada. Las características pueden ser [code]s3tc[/code], " +"[code]etc[/code] y [code]etc2[/code]." + msgid "" "Attaches a unique Object ID to instance. Object ID must be attached to " "instance for proper culling with [method instances_cull_aabb], [method " @@ -88297,6 +90813,102 @@ msgstr "" "Adjunta un esqueleto a una instancia. Elimina el esqueleto anterior de la " "instancia." +msgid "" +"Creates a visual instance and adds it to the RenderingServer. It can be " +"accessed with the RID that is returned. This RID will be used in all " +"[code]instance_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method.\n" +"An instance is a way of placing a 3D object in the scenario. Objects like " +"particles, meshes, reflection probes and decals need to be associated with an " +"instance to be visible in the scenario using [method instance_set_base].\n" +"[b]Note:[/b] The equivalent node is [VisualInstance3D]." +msgstr "" +"Crea una instancia visual y la añade al RenderingServer. Se puede acceder a " +"ella con el RID que se devuelve. Este RID se usará en todas las funciones de " +"[code]instance_*[/code] de RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer.\n" +"Una instancia es una forma de colocar un objeto 3D en el escenario. Objetos " +"como partículas, mallas, sondas de reflexión y decals necesitan ser asociados " +"a una instancia para ser visibles en el escenario usando [method " +"instance_set_base].\n" +"[b]Nota:[/b] El nodo equivalente es [VisualInstance3D]." + +msgid "" +"Creates a visual instance, adds it to the RenderingServer, and sets both base " +"and scenario. It can be accessed with the RID that is returned. This RID will " +"be used in all [code]instance_*[/code] RenderingServer functions.\n" +"Once finished with your RID, you will want to free the RID using the " +"RenderingServer's [method free_rid] method. This is a shorthand for using " +"[method instance_create] and setting the base and scenario manually." +msgstr "" +"Crea una instancia visual, la añade al RenderingServer, y establece tanto la " +"base como el escenario. Se puede acceder a ella con el RID que se devuelve. " +"Este RID se usará en todas las funciones de [code]instance_*[/code] de " +"RenderingServer.\n" +"Una vez que hayas terminado con tu RID, querrás liberar el RID usando el " +"método [method free_rid] del RenderingServer. Esto es una abreviatura para " +"usar [method instance_create] y establecer la base y el escenario manualmente." + +msgid "" +"Returns the value of the per-instance shader uniform from the specified 3D " +"geometry instance. Equivalent to [method " +"GeometryInstance3D.get_instance_shader_parameter].\n" +"[b]Note:[/b] Per-instance shader parameter names are case-sensitive." +msgstr "" +"Devuelve el valor de la variable uniforme de shader por instancia de la " +"instancia de geometría 3D especificada. Equivalente a [method " +"GeometryInstance3D.get_instance_shader_parameter].\n" +"[b]Nota:[/b] Los nombres de los parámetros de shader por instancia distinguen " +"entre mayúsculas y minúsculas." + +msgid "" +"Returns the default value of the per-instance shader uniform from the " +"specified 3D geometry instance. Equivalent to [method " +"GeometryInstance3D.get_instance_shader_parameter]." +msgstr "" +"Devuelve el valor predeterminado de la variable uniforme de shader por " +"instancia de la instancia de geometría 3D especificada. Equivalente a [method " +"GeometryInstance3D.get_instance_shader_parameter]." + +msgid "" +"Returns a dictionary of per-instance shader uniform names of the per-instance " +"shader uniform from the specified 3D geometry instance. The returned " +"dictionary is in PropertyInfo format, with the keys [code]name[/code], " +"[code]class_name[/code], [code]type[/code], [code]hint[/code], " +"[code]hint_string[/code] and [code]usage[/code]. Equivalent to [method " +"GeometryInstance3D.get_instance_shader_parameter]." +msgstr "" +"Devuelve un diccionario con los nombres de los uniformes de shader por " +"instancia de la instancia de geometría 3D especificada. El diccionario " +"devuelto está en formato PropertyInfo, con las claves [code]name[/code], " +"[code]class_name[/code], [code]type[/code], [code]hint[/code], " +"[code]hint_string[/code] y [code]usage[/code]. Equivalente a [method " +"GeometryInstance3D.get_instance_shader_parameter]." + +msgid "" +"Sets the shadow casting setting. Equivalent to [member " +"GeometryInstance3D.cast_shadow]." +msgstr "" +"Establece la configuración de proyección de sombras. Equivalente a [member " +"GeometryInstance3D.cast_shadow]." + +msgid "Sets the [param flag] for a given [param instance] to [param enabled]." +msgstr "" +"Establece la [param flag] para una [param instance] dada a [param enabled]." + +msgid "" +"Sets the lightmap GI instance to use for the specified 3D geometry instance. " +"The lightmap UV scale for the specified instance (equivalent to [member " +"GeometryInstance3D.gi_lightmap_scale]) and lightmap atlas slice must also be " +"specified." +msgstr "" +"Establece la instancia de GI de mapa de luz a usar para la instancia de " +"geometría 3D especificada. La escala UV del mapa de luz para la instancia " +"especificada (equivalente a [member GeometryInstance3D.gi_lightmap_scale]) y " +"el fragmento del atlas del mapa de luz también deben ser especificados." + msgid "" "Sets the level of detail bias to use when rendering the specified 3D geometry " "instance. Higher values result in higher detail from further away. Equivalent " @@ -88324,6 +90936,14 @@ msgstr "" "superficies de la malla asociada a esta instancia. Equivalente a [member " "GeometryInstance3D.material_override]." +msgid "" +"Sets the per-instance shader uniform on the specified 3D geometry instance. " +"Equivalent to [method GeometryInstance3D.set_instance_shader_parameter]." +msgstr "" +"Establece la variable uniforme de shader por instancia en la instancia de " +"geometría 3D especificada. Equivalente a [method " +"GeometryInstance3D.set_instance_shader_parameter]." + msgid "" "Sets the transparency for the given geometry instance. Equivalent to [member " "GeometryInstance3D.transparency].\n" @@ -88389,6 +91009,41 @@ msgstr "" "Establece una AABB personalizada para usar al descartar objetos del frustum " "de la vista. Equivalente a establecer [member GeometryInstance3D.custom_aabb]." +msgid "" +"Sets a margin to increase the size of the AABB when culling objects from the " +"view frustum. This allows you to avoid culling objects that fall outside the " +"view frustum. Equivalent to [member GeometryInstance3D.extra_cull_margin]." +msgstr "" +"Establece un margen para aumentar el tamaño del AABB cuando se seleccionan " +"objetos del frustum de la vista. Esto te permite evitar la selección de " +"objetos que caen fuera del frustum de la vista. Equivalente a [member " +"GeometryInstance3D.extra_cull_margin]." + +msgid "" +"If [code]true[/code], ignores both frustum and occlusion culling on the " +"specified 3D geometry instance. This is not the same as [member " +"GeometryInstance3D.ignore_occlusion_culling], which only ignores occlusion " +"culling and leaves frustum culling intact." +msgstr "" +"Si [code]true[/code], ignora tanto el culling de frustum como el de oclusión " +"en la instancia de geometría 3D especificada. Esto no es lo mismo que [member " +"GeometryInstance3D.ignore_occlusion_culling], que solo ignora el culling de " +"oclusión y deja el culling de frustum intacto." + +msgid "" +"Sets the render layers that this instance will be drawn to. Equivalent to " +"[member VisualInstance3D.layers]." +msgstr "" +"Establece las capas de renderizado a las que se dibujará esta instancia. " +"Equivalente a [member VisualInstance3D.layers]." + +msgid "" +"Sets the sorting offset and switches between using the bounding box or " +"instance origin for depth sorting." +msgstr "" +"Establece el desplazamiento de ordenación y conmuta entre usar la caja " +"delimitadora o el origen de la instancia para la ordenación por profundidad." + msgid "" "Sets the scenario that the instance is in. The scenario is the 3D world that " "the objects will be displayed in." @@ -88396,6 +91051,166 @@ msgstr "" "Establece el escenario en el que se encuentra la instancia. El escenario es " "el mundo tridimensional en el que se mostrarán los objetos." +msgid "" +"Sets the override material of a specific surface. Equivalent to [method " +"MeshInstance3D.set_surface_override_material]." +msgstr "" +"Establece el material de sobrescritura de una superficie específica. " +"Equivalente a [method MeshInstance3D.set_surface_override_material]." + +msgid "" +"Sets the world space transform of the instance. Equivalent to [member " +"Node3D.global_transform]." +msgstr "" +"Establece la transformación espacial del mundo de la instancia. Equivalente a " +"[member Node3D.global_transform]." + +msgid "" +"Sets the visibility parent for the given instance. Equivalent to [member " +"Node3D.visibility_parent]." +msgstr "" +"Establece el padre de visibilidad para la instancia dada. Equivalente a " +"[member Node3D.visibility_parent]." + +msgid "" +"Sets whether an instance is drawn or not. Equivalent to [member " +"Node3D.visible]." +msgstr "" +"Establece si una instancia se dibuja o no. Equivalente a [member " +"Node3D.visible]." + +msgid "" +"Resets motion vectors and other interpolated values. Use this [i]after[/i] " +"teleporting a mesh from one position to another to avoid ghosting artifacts." +msgstr "" +"Reinicia los vectores de movimiento y otros valores interpolados. Utiliza " +"esto [i]después[/i] de teletransportar una malla de una posición a otra para " +"evitar artefactos de ghosting." + +msgid "" +"Returns an array of object IDs intersecting with the provided AABB. Only 3D " +"nodes that inherit from [VisualInstance3D] are considered, such as " +"[MeshInstance3D] or [DirectionalLight3D]. Use [method " +"@GlobalScope.instance_from_id] to obtain the actual nodes. A scenario RID " +"must be provided, which is available in the [World3D] you want to query. This " +"forces an update for all resources queued to update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" +"Devuelve un array de ID de objetos que se intersecan con el AABB " +"proporcionado. Solo se consideran los nodos 3D que heredan de " +"[VisualInstance3D], como [MeshInstance3D] o [DirectionalLight3D]. Utiliza " +"[method @GlobalScope.instance_from_id] para obtener los nodos reales. Se debe " +"proporcionar un RID de escenario, que está disponible en el [World3D] que " +"deseas consultar. Esto fuerza una actualización para todos los recursos en " +"cola para actualizarse.\n" +"[b]Advertencia:[/b] Esta función está pensada principalmente para el uso del " +"editor. Para casos de uso en el juego, prefiere la colisión física." + +msgid "" +"Returns an array of object IDs intersecting with the provided convex shape. " +"Only 3D nodes that inherit from [VisualInstance3D] are considered, such as " +"[MeshInstance3D] or [DirectionalLight3D]. Use [method " +"@GlobalScope.instance_from_id] to obtain the actual nodes. A scenario RID " +"must be provided, which is available in the [World3D] you want to query. This " +"forces an update for all resources queued to update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" +"Devuelve un array de ID de objetos que se intersecan con la forma convexa " +"proporcionada. Solo se consideran los nodos 3D que heredan de " +"[VisualInstance3D], como [MeshInstance3D] o [DirectionalLight3D]. Utiliza " +"[method @GlobalScope.instance_from_id] para obtener los nodos reales. Se debe " +"proporcionar un RID de escenario, que está disponible en el [World3D] que " +"deseas consultar. Esto fuerza una actualización para todos los recursos en " +"cola para actualizarse.\n" +"[b]Advertencia:[/b] Esta función está pensada principalmente para el uso del " +"editor. Para casos de uso en el juego, prefiere la colisión física." + +msgid "" +"Returns an array of object IDs intersecting with the provided 3D ray. Only 3D " +"nodes that inherit from [VisualInstance3D] are considered, such as " +"[MeshInstance3D] or [DirectionalLight3D]. Use [method " +"@GlobalScope.instance_from_id] to obtain the actual nodes. A scenario RID " +"must be provided, which is available in the [World3D] you want to query. This " +"forces an update for all resources queued to update.\n" +"[b]Warning:[/b] This function is primarily intended for editor usage. For in-" +"game use cases, prefer physics collision." +msgstr "" +"Devuelve un array de IDs de objeto que se intersecan con el rayo 3D " +"proporcionado. Solo se consideran los nodos 3D que heredan de " +"[VisualInstance3D], como [MeshInstance3D] o [DirectionalLight3D]. Utiliza " +"[method @GlobalScope.instance_from_id] para obtener los nodos reales. Se debe " +"proporcionar un RID de escenario, que está disponible en el [World3D] que " +"deseas consultar. Esto fuerza una actualización para todos los recursos en " +"cola para actualizarse.\n" +"[b]Advertencia:[/b] Esta función está pensada principalmente para el uso del " +"editor. Para casos de uso en el juego, prefiere la colisión física." + +msgid "" +"Returns [code]true[/code] if our code is currently executing on the rendering " +"thread." +msgstr "" +"Devuelve [code]true[/code] si nuestro código se está ejecutando actualmente " +"en el hilo de renderizado." + +msgid "" +"If [code]true[/code], this directional light will blend between shadow map " +"splits resulting in a smoother transition between them. Equivalent to [member " +"DirectionalLight3D.directional_shadow_blend_splits]." +msgstr "" +"Si es [code]true[/code], esta luz direccional se mezclará entre las " +"divisiones del mapa de sombras, lo que resultará en una transición más suave " +"entre ellas. Equivalente a [member " +"DirectionalLight3D.directional_shadow_blend_splits]." + +msgid "" +"Sets the shadow mode for this directional light. Equivalent to [member " +"DirectionalLight3D.directional_shadow_mode]." +msgstr "" +"Establece el modo de sombra para esta luz direccional. Equivalente a [member " +"DirectionalLight3D.directional_shadow_mode]. Véase [enum " +"LightDirectionalShadowMode] para las opciones." + +msgid "" +"If [code]true[/code], this light will not be used for anything except sky " +"shaders. Use this for lights that impact your sky shader that you may want to " +"hide from affecting the rest of the scene. For example, you may want to " +"enable this when the sun in your sky shader falls below the horizon." +msgstr "" +"Si [code]true[/code], esta luz no se usará para nada excepto para los shaders " +"de cielo. Úsalo para las luces que afectan a tu shader de cielo y que quieras " +"ocultar para que no afecten al resto de la escena. Por ejemplo, puede que " +"quieras activar esto cuando el sol en tu shader de cielo caiga por debajo del " +"horizonte." + +msgid "" +"Sets whether to use a dual paraboloid or a cubemap for the shadow map. Dual " +"paraboloid is faster but may suffer from artifacts. Equivalent to [member " +"OmniLight3D.omni_shadow_mode]." +msgstr "" +"Establece si se debe usar un paraboloide dual o un mapa de cubos para el mapa " +"de sombras. El paraboloide dual es más rápido pero puede sufrir de " +"artefactos. Equivalente a [member OmniLight3D.omni_shadow_mode]." + +msgid "" +"Sets the texture filter mode to use when rendering light projectors. This " +"parameter is global and cannot be set on a per-light basis." +msgstr "" +"Establece el modo de filtro de textura a usar al renderizar proyectores de " +"luz. Este parámetro es global y no puede establecerse por luz." + +msgid "" +"Sets the bake mode to use for the specified 3D light. Equivalent to [member " +"Light3D.light_bake_mode]." +msgstr "" +"Establece el modo de horneado a usar para la luz 3D especificada. Equivalente " +"a [member Light3D.light_bake_mode]." + +msgid "Sets the color of the light. Equivalent to [member Light3D.light_color]." +msgstr "" +"Establece el color de la luz. Equivalente a [member Light3D.light_color]." + msgid "Returns the value of a certain material's parameter." msgstr "Devuelve el valor del parámetro de un determinado material." @@ -90111,7 +92926,7 @@ msgstr "" "que el viewport se escale utilizando MetalFX. Los valores mayores que " "[code]1.0[/code] no son compatibles y, en su lugar, se utilizará el " "submuestreo bilineal. Un valor de [code]1.0[/code] desactiva el escalado.\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el controlador de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el controlador de renderizado " "Metal, lo que limita este modo de escalado a macOS e iOS." msgid "" @@ -90131,7 +92946,7 @@ msgstr "" "[code]1.0[/code] no son compatibles y, en su lugar, se utilizará el " "submuestreo bilineal. Un valor de [code]1.0[/code] utilizará MetalFX a " "resolución nativa como una solución TAA.\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el controlador de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el controlador de renderizado " "Metal, lo que limita este modo de escalado a macOS e iOS." msgid "Represents the size of the [enum ViewportScaling3DMode] enum." @@ -90509,8 +93324,8 @@ msgid "" "[b]Note:[/b] Only supported when using the Forward+ or Mobile rendering " "methods." msgstr "" -"Dibuja el atlas de calcomanías que almacena las texturas de calcomanías de " -"los [Decal].\n" +"Dibuja el atlas de decals que almacena las texturas de decals de los " +"[Decal].\n" "[b]Nota:[/b] Solo se admite cuando se utilizan los métodos de renderizado " "Forward+ o Mobile." @@ -90574,8 +93389,8 @@ msgid "" "[b]Note:[/b] Only supported when using the Forward+ rendering method." msgstr "" "Dibuja el clúster [Decal]. La agrupación por clúster determina dónde se " -"colocan las calcomanías en el espacio de la pantalla, lo que permite al motor " -"procesar solo estas porciones de la pantalla para las calcomanías.\n" +"colocan los decals en el espacio de la pantalla, lo que permite al motor " +"procesar solo estas porciones de la pantalla para los decals.\n" "[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+." @@ -91164,7 +93979,7 @@ msgstr "" msgid "" "Only render the shadows from the object. The object itself will not be drawn." msgstr "" -"Sólo se muestran las sombras del objeto. El objeto en sí no será dibujado." +"Solo se muestran las sombras del objeto. El objeto en sí no será dibujado." msgid "Disable visibility range fading for the given instance." msgstr "" @@ -93340,7 +96155,7 @@ msgstr "" "disco, importación rápida.\n" "[b]Con pérdida:[/b] Calidad reducida, alto uso de memoria, tamaño reducido en " "el disco, importación rápida.\n" -"[b]VRAM Comprimido:[/b] Calidad reducida, bajo uso de memoria, tamaño " +"[b]VRAM Comprimida:[/b] Calidad reducida, bajo uso de memoria, tamaño " "reducido en el disco, importación más lenta. Solo usar para texturas en " "escenas 3D, no para elementos 2D.\n" "[b]VRAM Sin comprimir:[/b] Calidad original, alto uso de memoria, mayor " @@ -96599,7 +99414,7 @@ msgid "" "engine or [code]emit_signal(\"sleeping_state_changed\")[/code] is used." msgstr "" "Emitida cuando el motor físico cambia el estado de sueño del cuerpo.\n" -"[b]Nota:[/b] Cambiar el valor [member sleeping] no activará esta señal. Sólo " +"[b]Nota:[/b] Cambiar el valor [member sleeping] no activará esta señal. Solo " "se emite si el motor de física cambia el estado de sueño o si se utiliza " "[code]emit_signal(\"sleeping_state_changed\")[/code]." @@ -103996,7 +106811,7 @@ msgid "Never show the close buttons." msgstr "Nunca muestra los botones de cerrado." msgid "Only show the close button on the currently active tab." -msgstr "Sólo muestra el botón de cierre en la pestaña actualmente activa." +msgstr "Solo muestra el botón de cierre en la pestaña actualmente activa." msgid "Show the close button on all tabs." msgstr "Mostrar el botón de cerrado en todas las pestañas." @@ -116096,8 +118911,8 @@ msgid "" "The method named [param callback] should accept two arguments: the [TreeItem] " "that is drawn and its position and size as a [Rect2]." msgstr "" -"Establece la retrollamada de dibujo personalizado de la columna dada al " -"método [param callback] en [param object].\n" +"Establece la callback de dibujo personalizado de la columna dada al método " +"[param callback] en [param object].\n" "El método llamado [param callback] debe aceptar dos argumentos: el [TreeItem] " "que se dibuja y su posición y tamaño como un [Rect2]." @@ -116108,10 +118923,10 @@ msgid "" "The [param callback] should accept two arguments: the [TreeItem] that is " "drawn and its position and size as a [Rect2]." msgstr "" -"Establece la retrollamada de dibujo personalizado de la columna dada. Utiliza " -"un [Callable] vacío ([code skip-lint]Callable()[/code]) para borrar la " -"retrollamada personalizada. La celda debe estar en [constant " -"CELL_MODE_CUSTOM] para usar esta función.\n" +"Establece la callback de dibujo personalizado de la columna dada. Utiliza un " +"[Callable] vacío ([code skip-lint]Callable()[/code]) para borrar la callback " +"personalizada. La celda debe estar en [constant CELL_MODE_CUSTOM] para usar " +"esta función.\n" "El [param callback] debe aceptar dos argumentos: el [TreeItem] que se dibuja " "y su posición y tamaño como un [Rect2]." @@ -117690,7 +120505,7 @@ msgid "" "Only permanent leases are supported. Do not use the [code]duration[/code] " "parameter when adding port mappings." msgstr "" -"Sólo se admiten los arrendamientos permanentes. No utilices el parámetro " +"Solo se admiten los arrendamientos permanentes. No utilices el parámetro " "[code]duration[/code] cuando añada mapeos de puertos." msgid "Invalid gateway." @@ -121996,7 +124811,7 @@ msgstr "" "para el culling por oclusión en 3D para este viewport. Para el viewport raíz, " "en su lugar se debe establecer [member ProjectSettings.rendering/" "occlusion_culling/use_occlusion_culling] a [code]true[/code].\n" -"[b]Nota:[/b] Activar el culling por oclusión tiene un coste en la CPU. Sólo " +"[b]Nota:[/b] Activar el culling por oclusión tiene un coste en la CPU. Solo " "activa el culling por oclusión si realmente planeas usarlo, y piensa si tu " "escena puede realmente beneficiarse del culling por oclusión. Las escenas " "grandes y abiertas con pocos o ningún objeto que bloquee la vista " @@ -122216,7 +125031,7 @@ msgstr "" "[code]1.0[/code] deshabilita el escalado.\n" "Más información: [url=https://developer.apple.com/documentation/" "metalfx]MetalFX[/url].\n" -"[b]Nota:[/b] Sólo soportado cuando el controlador de renderizado Metal está " +"[b]Nota:[/b] Solo soportado cuando el controlador de renderizado Metal está " "en uso, lo que limita este modo de escalado a macOS e iOS." msgid "" @@ -122250,7 +125065,7 @@ msgstr "" "TAA.\n" "Más información: [url=https://developer.apple.com/documentation/" "metalfx]MetalFX[/url].\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el controlador de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el controlador de renderizado " "Metal, lo que limita este modo de escalado a macOS e iOS." msgid "Represents the size of the [enum Scaling3DMode] enum." @@ -122404,7 +125219,7 @@ msgstr "" "de la escena, para que pueda ver claramente cómo está afectando a los " "objetos. Para que este modo de visualización funcione, debe tener [member " "Environment.ssao_enabled] establecido en su [WorldEnvironment].\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el método de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+." msgid "" @@ -122418,7 +125233,7 @@ msgstr "" "lugar de la escena, para que pueda ver claramente cómo está afectando a los " "objetos. Para que este modo de visualización funcione, debe tener [member " "Environment.ssil_enabled] establecido en su [WorldEnvironment].\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el método de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+." msgid "" @@ -122427,9 +125242,9 @@ msgid "" "[b]Note:[/b] Only supported when using the Forward+ or Mobile rendering " "methods." msgstr "" -"Dibuja el atlas de calcomanías utilizado por los [Decal]s y las texturas del " +"Dibuja el atlas de decals utilizado por los [Decal]s y las texturas del " "proyector de luz en el cuadrante superior izquierdo del [Viewport].\n" -"[b]Nota:[/b] Sólo se admite cuando se utilizan los métodos de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utilizan los métodos de renderizado " "Forward+ o Mobile." msgid "" @@ -122443,7 +125258,7 @@ msgstr "" "campo de distancia firmado (SDFGI).\n" "No hace nada si el [member Environment.sdfgi_enabled] del entorno actual es " "[code]false[/code].\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el método de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+." msgid "" @@ -122456,7 +125271,7 @@ msgstr "" "Requiere que [VoxelGI] (al menos un nodo VoxelGI procesado visible) o SDFGI " "([member Environment.sdfgi_enabled]) estén habilitados para tener un efecto " "visible.\n" -"[b]Nota:[/b] Sólo se admite cuando se utiliza el método de renderizado " +"[b]Nota:[/b] Solo se admite cuando se utiliza el método de renderizado " "Forward+." msgid "" @@ -122489,7 +125304,7 @@ msgid "" "[b]Note:[/b] Only supported when using the Forward+ rendering method." msgstr "" "Dibuja el clúster utilizado por los nodos [Decal] para optimizar el " -"renderizado de calcomanías.\n" +"renderizado de decals.\n" "[b]Nota:[/b] Solo es compatible cuando se utiliza el método de renderizado " "Forward+." @@ -122943,8 +125758,8 @@ msgstr "" "[VisualInstance3D]s se ven afectados por una luz específica. Para " "[GPUParticles3D], esto se puede utilizar para controlar qué partículas se ven " "afectadas por un atractor específico. Para [Decal]s, esto se puede utilizar " -"para controlar qué [VisualInstance3D]s se ven afectados por una calcomanía " -"específica.\n" +"para controlar qué [VisualInstance3D]s se ven afectados por un decal " +"específico.\n" "Para ajustar [member layers] más fácilmente usando un script, utiliza [method " "get_layer_mask_value] y [method set_layer_mask_value].\n" "[b]Nota:[/b] [VoxelGI], SDFGI y [LightmapGI] siempre tendrán en cuenta todas " @@ -123320,7 +126135,7 @@ msgid "" "only be used for input ports in non-uniform nodes." msgstr "" "Tipo Sampler. Traducido a referencia del uniforme del muestras en el código " -"shader. Sólo puede utilizarse para puertos de entrada en nodos no uniformes." +"shader. Solo puede utilizarse para puertos de entrada en nodos no uniformes." msgid "Represents the size of the [enum PortType] enum." msgstr "Representa el tamaño del enum [enum PortType]." @@ -123373,7 +126188,7 @@ msgid "" "Has only one output port and no inputs.\n" "Translated to [code skip-lint]bool[/code] in the shader language." msgstr "" -"Sólo tiene un puerto de salida y no tiene entradas.\n" +"Solo tiene un puerto de salida y no tiene entradas.\n" "Traducido a [code skip-lint]bool[/code] en el lenguaje de los shaders." msgid "A boolean constant which represents a state of this node." @@ -123677,7 +126492,7 @@ msgstr "" msgid "" "Only exists for compatibility. Use [VisualShaderNodeFrame] as a replacement." msgstr "" -"Sólo existe por compatibilidad. Utiliza [VisualShaderNodeFrame] como " +"Solo existe por compatibilidad. Utiliza [VisualShaderNodeFrame] como " "reemplazo." msgid "" @@ -125678,7 +128493,8 @@ msgstr "Un tipo de fuente de entrada." msgid "Creates internal uniform and provides a way to assign it within node." msgstr "" -"Crea un uniforme interno y proporciona una forma de asignarlo dentro del nodo." +"Crea una variable uniforme interna y proporciona una forma de asignarla " +"dentro del nodo." msgid "Use the uniform texture from sampler port." msgstr "Usar la textura uniforme del puerto de muestreo." @@ -130366,7 +133182,7 @@ msgid "" msgstr "" "Devuelve [code]true[/code] si la tarea de grupo con el ID dado está " "completada.\n" -"[b]Nota:[/b] Sólo deberías llamar a este método entre la adición de la tarea " +"[b]Nota:[/b] Solo deberías llamar a este método entre la adición de la tarea " "de grupo y la espera de su finalización." msgid "" @@ -130375,7 +133191,7 @@ msgid "" "awaiting its completion." msgstr "" "Devuelve [code]true[/code] si la tarea con el ID dado está completada.\n" -"[b]Nota:[/b] Sólo deberías llamar a este método entre la adición de la tarea " +"[b]Nota:[/b] Solo deberías llamar a este método entre la adición de la tarea " "y la espera de su finalización." msgid "" diff --git a/doc/translations/fr.po b/doc/translations/fr.po index 95e80f448e98..bbbb0fce54a2 100644 --- a/doc/translations/fr.po +++ b/doc/translations/fr.po @@ -134,12 +134,13 @@ # Hedi Jouida , 2025. # MERCRED , 2026. # Posemartonis , 2026. +# Le cathogeek , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-08 18:02+0000\n" +"PO-Revision-Date: 2026-01-25 00:40+0000\n" "Last-Translator: aioshiro \n" "Language-Team: French \n" @@ -148,7 +149,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "Toutes les classes" @@ -1830,6 +1831,80 @@ msgstr "" "@export_placeholder(\"Nom en minuscule\") var friend_ids: Array[String]\n" "[/codeblock]" +msgid "" +"Export an [int], [float], [Array][lb][int][rb], [Array][lb][float][rb], " +"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], or [PackedFloat64Array] property as a range value. The " +"range must be defined by [param min] and [param max], as well as an optional " +"[param step] and a variety of extra hints. The [param step] defaults to " +"[code]1[/code] for integer properties. For floating-point numbers this value " +"depends on your [member EditorSettings.interface/inspector/" +"default_float_step] setting.\n" +"If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are " +"provided, the editor widget will not cap the value at range boundaries. The " +"[code]\"exp\"[/code] hint will make the edited values on range to change " +"exponentially. The [code]\"prefer_slider\"[/code] hint will make integer " +"values use the slider instead of arrows for editing, while [code]" +"\"hide_control\"[/code] will hide the element controlling the value of the " +"editor widget.\n" +"Hints also allow to indicate the units for the edited value. Using [code]" +"\"radians_as_degrees\"[/code] you can specify that the actual value is in " +"radians, but should be displayed in degrees in the Inspector dock (the range " +"values are also in degrees). [code]\"degrees\"[/code] allows to add a degree " +"sign as a unit suffix (the value is unchanged). Finally, a custom suffix can " +"be provided using [code]\"suffix:unit\"[/code], where \"unit\" can be any " +"string.\n" +"See also [constant PROPERTY_HINT_RANGE].\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number: float\n" +"@export_range(0, 20) var numbers: Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" +"[/codeblock]" +msgstr "" +"Exporte une propriété [int], [float], [Array][lb][int][rb], [Array][lb][float]" +"[rb], [PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], ou [PackedFloat64Array] en tant que valeur de plage. La " +"plage doit être définie par [param min] et [param max] et, facultativement, " +"par un pas [param step] et une variété d'indices supplémentaires. Le pas " +"[param step] est par défaut [code]1[/code] pour les entiers. Pour les nombres " +"à virgule flottante, cette valeur dépend de votre paramètre [member " +"EditorSettings.interface/inspector/default_float_step].\n" +"Si les indices [code]\"or_greater\"[/code] et [code]\"or_less\"[/code] sont " +"fournis, le widget de l'éditeur ne plafonnera pas la valeur aux limites de la " +"plage. L'indice [code]\"exp\"[/code] fera en sorte que les valeurs modifiées " +"sur la plage changent de manière exponentielle. L'indice [code]" +"\"hide_slider\"[/code] masquera l'élément slider du widget de l'éditeur.\n" +"Des indices permettent également d'indiquer les unités de la valeur modifiée. " +"En utilisant [code]\"radians_as_degrees\"[/code], vous pouvez spécifier que " +"la valeur réelle est en radians, mais doit être affichée en degrés dans le " +"dock Inspecteur (les valeurs de plage sont également en degrés). [code]" +"\"degrees\"[/code] permet d'ajouter un signe de degré comme suffixe d'unité " +"(la valeur est inchangée). Enfin, un suffixe personnalisé peut être fourni en " +"utilisant [code]\"suffix :unit\"[/code], où \"unit\" peut être n'importe " +"quelle chaîne.\n" +"Voir également [constant PROPERTY_HINT_RANGE].\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number : float\n" +"@export_range(0, 20) var numbers : Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix :px\") var target_offset\n" +"[/codeblock]" + msgid "" "Export a property with [constant PROPERTY_USAGE_STORAGE] flag. The property " "is not displayed in the editor, but it is serialized and stored in the scene " @@ -2899,6 +2974,60 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "" +"Returns the [Object] that corresponds to [param instance_id]. All Objects " +"have a unique instance ID. See also [method Object.get_instance_id].\n" +"[codeblocks]\n" +"[gdscript]\n" +"var drink = \"water\"\n" +"\n" +"func _ready():\n" +"\tvar id = get_instance_id()\n" +"\tvar instance = instance_from_id(id)\n" +"\tprint(instance.drink) # Prints \"water\"\n" +"[/gdscript]\n" +"[csharp]\n" +"public partial class MyNode : Node\n" +"{\n" +"\tpublic string Drink { get; set; } = \"water\";\n" +"\n" +"\tpublic override void _Ready()\n" +"\t{\n" +"\t\tulong id = GetInstanceId();\n" +"\t\tvar instance = (MyNode)InstanceFromId(Id);\n" +"\t\tGD.Print(instance.Drink); // Prints \"water\"\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Renvoie l'objet [Object] qui correspond à [param instance_id]. Tous les " +"Objects ont un identifiant d'instance unique. Voir aussi [method " +"Object.get_instance_id].\n" +"[codeblocks]\n" +"[gdscript]\n" +"var boisson= \"eau\"\n" +"\n" +"func _ready() :\n" +"\tvar id = get_instance_id()\n" +"\tvar instance = instance_from_id(id)\n" +"\tprint(instance.foo) # Affiche \"eau\"\n" +"[/gdscript]\n" +"[csharp]\n" +"public partial class MonNoeud : Node\n" +"{\n" +"\tpublic string Boisson { get ; set ; } = \"eau\" ;\n" +"\n" +"\tpublic override void _Ready()\n" +"\t{\n" +"\t\tulong id = GetInstanceId() ;\n" +"\t\tvar instance = (MonNoeud)InstanceFromId(Id) ;\n" +"\t\tGD.Print(instance.Boisson) ; // Affiche \"eau\"\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "" "Returns an interpolation or extrapolation factor considering the range " "specified in [param from] and [param to], and the interpolated value " @@ -6332,6 +6461,38 @@ msgstr "" msgid "The property has no hint for the editor." msgstr "La propriété n'a aucun indice pour l'éditeur." +msgid "" +"Hints that an [int] or [float] property should be within a range specified " +"via the hint string [code]\"min,max\"[/code] or [code]\"min,max,step\"[/" +"code]. The hint string can optionally include [code]\"or_greater\"[/code] and/" +"or [code]\"or_less\"[/code] to allow manual input going respectively above " +"the max or below the min values.\n" +"[b]Example:[/b] [code]\"-360,360,1,or_greater,or_less\"[/code].\n" +"Additionally, other keywords can be included: [code]\"exp\"[/code] for " +"exponential range editing, [code]\"radians_as_degrees\"[/code] for editing " +"radian angles in degrees (the range values are also in degrees), [code]" +"\"degrees\"[/code] to hint at an angle, [code]\"prefer_slider\"[/code] to " +"show the slider for integers, [code]\"hide_control\"[/code] to hide the " +"slider or up-down arrows, and [code]\"suffix:px/s\"[/code] to display a " +"suffix indicating the value's unit (e.g. [code]px/s[/code] for pixels per " +"second)." +msgstr "" +"Indique qu'une propriété [int] ou [float] doit être dans un intervalle " +"spécifié via la chaîne d'indice [code]\"min,max\"[/code] ou [code]" +"\"min,max,step\"[/code]. La chaîne d'indice peut en option inclure [code]" +"\"or_greater\"[/code] et/ou [code]\"or_less\"[/code] pour permettre une " +"entrée manuelle allant respectivement au-dessus ou en dessous des valeurs " +"maximales et minimales.\n" +"[b]Exemple :[/b] [code]\"-360,360,1,or_greater,or_less\"[/code].\n" +"De plus, d'autres mots-clés peuvent être inclus : [code]\"exp\"[/code] pour " +"l'édition d'un intervalle exponentiel, [code]\"radians_as_degrees\"[/code] " +"pour l'édition des angles radians en degrés (les valeurs de l'intervalle sont " +"également en degrés), [code]\"degrees\"[/code] pour indiquer un angle et " +"[code]\"hide_slider\"[/code] pour cacher le slider, [code]\"hide_control\"[/" +"code] pour cacher les feches haut et bas et [code]\"suffix:px/s\"[/code] pour " +"afficher un suffixe qui indique l'unité de la valeur (par ex. [code]px/s[/" +"code] pour les pixels par secondes)." + msgid "" "Hints that an [int], [String], or [StringName] property is an enumerated " "value to pick in a list specified via a hint string.\n" @@ -16122,6 +16283,94 @@ msgstr "" "Le résultat est dans le segment qui va de [code]y = 0[/code] à [code]y = 5[/" "code]. C'est la position la plus proche sur le segment du point donné." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D();\n" +"astar.AddPoint(1, new Vector2(0, 0));\n" +"astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector2(1, 1));\n" +"astar.AddPoint(4, new Vector2(2, 0));\n" +"\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Renvoie un tableau avec les identifiants des points qui forment le chemin " +"trouvé par AStar2D entre les points donnés. Le tableau est dans l'ordre du " +"point de départ vers celui de l'arrivée.\n" +"Si le point [param from_id] est désactivé, renvoie un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si le point [param from_id] n'est pas désactivé, et qu'il n'y a pas de chemin " +"valide vers la cible, et [param allow_partial_path] vaut[code]true[/code], " +"renvoie le point le proche de la cible qui peut être atteint.\n" +"[b]Note :[/b] Lorsque [param allow_partial_path] vaut [code]true[/code] et " +"[param to_id] est désactivé, la recherche peut prendre un temps inhabituel à " +"se terminer.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Le poids par défaut est 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Renvoie [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D() ;\n" +"astar.AddPoint(1, new Vector2(0, 0)) ;\n" +"astar.AddPoint(2, new Vector2(0, 1), 1) ; // Le poids par défaut est 1\n" +"astar.AddPoint(3, new Vector2(1, 1)) ;\n" +"astar.AddPoint(4, new Vector2(2, 0)) ;\n" +"\n" +"astar.ConnectPoints(1, 2, false) ;\n" +"astar.ConnectPoints(2, 3, false) ;\n" +"astar.ConnectPoints(4, 3, false) ;\n" +"astar.ConnectPoints(1, 4, false) ;\n" +"long[] res = astar.GetIdPath(1, 3) ; // Renvoie[1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Si vous changez le poids du deuxième point à 3, alors le résultat sera [code]" +"[1, 4, 3][/code] à la place, parce que même si la distance est plus grande, " +"c'est plus \"facile\" d'aller en passant par le point 4 que le point 2." + msgid "" "Returns the capacity of the structure backing the points, useful in " "conjunction with [method reserve_space]." @@ -16194,6 +16443,38 @@ msgstr "Renvoie le nombre de points actuellement dans le pool de points." msgid "Returns an array of all point IDs." msgstr "Renvoie un tableau de tous les identifiants des points." +msgid "" +"Returns an array with the points that are in the path found by AStar2D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Renvoie un tableau avec les points qui sont dans le chemin trouvé par AStar2D " +"entre les points donnés. Le tableau est trié du point de départ au point " +"final du chemin.\n" +"Si [param from_id] point est désactivé, retourne un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si [param from_id] point n'est pas désactivé, qu''il n'y a pas de chemin " +"valide vers la cible, et [param allow_partial_path] vaut [code]true[/code], " +"renvoie un chemin vers le point le plus proche de la cible qui peut être " +"atteinte.\n" +"[b]Note :[/b] Cette méthode n'est pas thread-safe, elle ne peut être appelée " +"que depuis un seul [Thread] à un instant donné. Envisagez d'utiliser des " +"[Mutex] pour vous assurer de l'accès exclusif à un thread pour éviter des " +"accès concurrents.\n" +"De plus, lorsque [param allow_partial_path] vaut [code]true[/code] et [param " +"to_id] est désactivé, la recherche peut prendre un temps inhabituellement " +"long pour se terminer." + msgid "Returns the position of the point associated with the given [param id]." msgstr "Renvoie la position du point associé à l'identifiant [param id] donné." @@ -16576,6 +16857,93 @@ msgstr "" "Le résultat est dans le segment qui va de [code]y = 0[/code] à [code]y = 5[/" "code]. C'est la position la plus proche dans le segment du point donné." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar3D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar3D.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Renvoie un tableau avec les identifiants des points qui forment le chemin " +"trouvé par AStar entre les points donnés. Le tableau est dans l'ordre du " +"point de départ de celui de l'arrivée.\n" +"Si [param from_id] point est désactivé, retourne un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si [param from_id] point n'est pas désactivé, qu'il n'y a pas de chemin " +"valide vers la cible, et [param allow_partial_path] vauest [code]true[/code], " +"renvoitourne un chemin vers le point le plus proche de la cible qui peut être " +"atteinte.\n" +"[b]Note :[/b] Lorsque [param allow_partial_path] vaut [code]true[/code] et " +"[param to_id] est désactivé, la recherche peut prendre un temps inhabituel à " +"se terminer.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Le poids par défaut est 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Renvoie [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Le poids par défaut est 1\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Renvoie [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Si vous changez le poids du deuxième point à 3, alors le résultat sera [code]" +"[1, 4, 3][/code] à la place, parce que même si la distance est plus grande, " +"c'est plus \"facile\" d'aller en passant par le point 4 que le point 2." + msgid "" "Returns an array with the IDs of the points that form the connection with the " "given point.\n" @@ -16633,6 +17001,38 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "" +"Returns an array with the points that are in the path found by AStar3D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Renvoie un tableau avec les points qui sont dans le chemin trouvé par AStar3D " +"entre les points donnés. Le tableau est trié du point de départ au point " +"final du chemin.\n" +"Si [param from_id] point est désactivé, retourne un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si [param from_id] point n'est pas désactivé, qu''il n'y a pas de chemin " +"valide vers la cible, et [param allow_partial_path] vaut [code]true[/code], " +"renvoie un chemin vers le point le plus proche de la cible qui peut être " +"atteinte.\n" +"[b]Note :[/b] Cette méthode n'est pas thread-safe, elle ne peut être appelée " +"que depuis un seul [Thread] à un instant donné. Envisagez d'utiliser des " +"[Mutex] pour vous assurer de l'accès exclusif à un thread pour éviter des " +"accès concurrents.\n" +"De plus, lorsque [param allow_partial_path] vaut [code]true[/code] et [param " +"to_id] est désactivé, la recherche peut prendre un temps inhabituellement " +"long pour se terminer." + msgid "" "An implementation of A* for finding the shortest path between two points on a " "partial 2D grid." @@ -16749,6 +17149,31 @@ msgstr "" "[b]Note :[/b] L'appel à [method update] n'est pas nécessaire après l'appel de " "cette fonction." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Renvoie un tableau avec les points qui sont dans le chemin trouvé par AStar2D " +"entre les points donnés. Le tableau est trié du point de départ au point " +"final du chemin.\n" +"Si le point [param from_id] est désactivé, renvoie un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si le point [param from_id] n'est pas désactivé, qu'il n'y a pas de chemin " +"valide vers la cible, et que [param allow_partial_path] vaut [code]true[/" +"code], renvoie un chemin vers le point le plus proche de la cible qui peut " +"être atteint.\n" +"[b]Note :[/b] Lorsque [param allow_partial_path] vaut [code]true[/code] et " +"que [param to_id] est solide, la recherche peut prendre un temps " +"inhabituellement long pour se terminer." + msgid "" "Returns an array of dictionaries with point data ([code]id[/code]: " "[Vector2i], [code]position[/code]: [Vector2], [code]solid[/code]: [bool], " @@ -16758,6 +17183,38 @@ msgstr "" "code] : [Vector2i], [code]position[/code] : [Vector2], [code]solid[/code] : " "[bool], [code]weight_scale[/code] : [float]) dans une [param region]." +msgid "" +"Returns an array with the points that are in the path found by [AStarGrid2D] " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Renvoie un tableau avec les points qui sont dans le chemin trouvé par " +"[AStarGrid2D] entre les points donnés. Le tableau est trié du point de départ " +"au point final du chemin.\n" +"Si [param from_id] point est désactivé, retourne un tableau vide (même si " +"[code]from_id == to_id[/code]).\n" +"Si [param from_id] point n'est pas désactivé, qu'il n'y a pas de chemin " +"valide vers la cible, et que [param allow_partial_path] vaut [code]true[/" +"code], renvoie un chemin vers le point le plus proche de la cible qui peut " +"être atteint.\n" +"[b]Note :[/b] Cette méthode n'est pas thread-safe, elle ne peut être utilisée " +"qu'à partir d'un seul [Thread] à un moment donné. Envisagez d'utiliser " +"[Mutex] pour garantir un accès exclusif à un thread pour éviter les race " +"conditions.\n" +"De plus, lorsque [param allow_partial_path] vaut [code]true[/code] et que " +"[param to_id] est solide, la recherche peut prendre un temps inhabituellement " +"long pour se terminer." + msgid "" "Indicates that the grid parameters were changed and [method update] needs to " "be called." @@ -28130,6 +28587,36 @@ msgstr "" "sur-échantillonnage du viewport sont utilisés. [param pos] est défini dans " "l'espace local." +msgid "" +"Draws a colored polygon of any number of points, convex or concave. The " +"points in the [param points] array are defined in local space. Unlike [method " +"draw_polygon], a single color must be specified for the whole polygon.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine un polygone coloré à n'importe quel nombre de points, convexe ou " +"concave. Les points dans le tableau [param points] sont définis en espace " +"local. Unlike [method draw_polygon], a single color must be specified for the " +"whole polygon.\n" +"[b]Note:[/b] Si un polygone avec un nombre considérable de sommets est " +"fréquemment redessiné, il serait conseillé de pré-calculer la triangulation " +"avec [method Geometry2D.triangulate_polygon] et utiliser la méthode [method " +"draw_mesh], [method draw_multimesh], ou [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Draws a dashed line from a 2D point to another, with a given color and width. " "The [param from] and [param to] positions are defined in local space. See " @@ -28191,6 +28678,48 @@ msgstr "" "visibles). Si ce cas d'utilisation particulier peut être négligé, " "l'utilisation de cette fonction après l'envoi des tranches n'est pas requis." +msgid "" +"Draws a textured rectangle region of the font texture with LCD subpixel anti-" +"aliasing at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space.\n" +"Texture is drawn using the following blend operation, blend mode of the " +"[CanvasItemMaterial] is ignored:\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine un rectangle texturé de la texture de la police avec anticrénelage " +"des sous-pixels LCD à une position donnée, éventuellement modulé par une " +"couleur. Le paramètre [param rect] est défini dans l'espace local.\n" +"La texture est dessinée à l'aide de l'opération de fusion suivante ; le mode " +"de fusion de [CanvasItemMaterial] est ignoré :\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les maillages stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Draws a line from a 2D point to another, with a given color and width. It can " "be optionally antialiased. The [param from] and [param to] positions are " @@ -28211,6 +28740,39 @@ msgstr "" "n'est pas souhaité, passez une largeur [param width] positive comme " "[code]1.0[/code]." +msgid "" +"Draws a textured rectangle region of the multichannel signed distance field " +"texture at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space. See [member " +"FontFile.multichannel_signed_distance_field] for more information and caveats " +"about MSDF font rendering.\n" +"If [param outline] is positive, each alpha channel value of pixel in region " +"is set to maximum value of true distance in the [param outline] radius.\n" +"Value of the [param pixel_range] should the same that was used during " +"distance field texture generation.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine une région rectangulaire texturée de la texture du champ de distance " +"signé multicanal à une position donnée, avec modulation optionnelle par une " +"couleur. Le [param rect] est défini en espace local. Voir [member " +"FontFile.multichannel_signed_distance_field] pour plus d'informations et " +"d'avertissements sur le rendu de police en CDSM.\n" +"Si la valeur [param outline] est positive, chaque valeur de canal alpha d'un " +"pixel dans la région est affectée a la valeur maximale de la distance réelle " +"dans le rayon [param outline].\n" +"La valeur de [param pixel_range] doit être la même que celle qui a été " +"utilisée pour la génération de la texture de distance signées.\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Draws multiple disconnected lines with a uniform [param width] and [param " "color]. Each line is defined by two consecutive points from [param points] " @@ -28305,6 +28867,42 @@ msgstr "" "est utilisé comme facteur de sur-échantillonnage de la police, sinon les " "paramètres de sur-échantillonnage du viewport sont utilisés." +msgid "" +"Draws a solid polygon of any number of points, convex or concave. Unlike " +"[method draw_colored_polygon], each point's color can be changed " +"individually. The [param points] array is defined in local space. See also " +"[method draw_polyline] and [method draw_polyline_colors]. If you need more " +"flexibility (such as being able to use bones), use [method " +"RenderingServer.canvas_item_add_triangle_array] instead.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine un polygone rempli avec un nombre quelconque de points, qu’il soit " +"convexe ou concave. Contrairement à [method draw_colored_polygon], la couleur " +"de chaque point peut être modifiée individuellement. Le tableau [param " +"points] est défini dans l’espace local. Voir également [method draw_polyline] " +"et [method draw_polyline_colors]. Si vous avez besoin de plus de flexibilité " +"(par exemple pour utiliser des os), utilisez plutôt [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Si un polygone avec un nombre considérable de sommets est " +"fréquemment redessiné, il serait conseillé de pré-calculer la triangulation " +"avec [method Geometry2D.triangulate_polygon] et utiliser la méthode [method " +"draw_mesh], [method draw_multimesh], ou [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Draws interconnected line segments with a uniform [param color] and [param " "width] and optional antialiasing (supported only for positive [param width]). " @@ -28363,6 +28961,31 @@ msgstr "" "fine. Si ce comportement n'est pas souhaité, passez une [param width] " "positive comme [code]1.0[/code]." +msgid "" +"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " +"for a triangle, and 4 points for a quad. If 0 points or more than 4 points " +"are specified, nothing will be drawn and an error message will be printed. " +"The [param points] array is defined in local space. See also [method " +"draw_line], [method draw_polyline], [method draw_polygon], and [method " +"draw_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine une primitive personnalisée. 1 point pour dessiner un point, 2 points " +"pour une ligne, 3 points pour un triangle, et 4 points pour un quad. Si 0 " +"points ou plus de 4 points sont spécifiés, rien ne sera dessiné et un message " +"d'erreur sera affiché. Voir aussi [method draw_line], [method draw_polyline], " +"[method draw_polygon], et [method draw_rect].\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Draws a rectangle. If [param filled] is [code]true[/code], the rectangle will " "be filled with the [param color] specified. If [param filled] is [code]false[/" @@ -28453,6 +29076,52 @@ msgstr "" "échantillonnage de la police, sinon les paramètres de sur-échantillonnage du " "viewport sont utilisés." +msgid "" +"Draws a textured rectangle at a given position, optionally modulated by a " +"color. The [param rect] is defined in local space. If [param transpose] is " +"[code]true[/code], the texture will have its X and Y coordinates swapped. See " +"also [method draw_rect] and [method draw_texture_rect_region].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine un rectangle texturé à une position donnée, possiblement modulé par " +"une couleur. Le [param rect] est défini dans l'espace local. Si [param " +"transpose] vaut [code]true[/code], la texture aura ses coordonnées X et Y " +"échangées. Voir aussi [method draw_rect] et [method " +"draw_texture_rect_region].\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + +msgid "" +"Draws a textured rectangle from a texture's region (specified by [param " +"src_rect]) at a given position in local space, optionally modulated by a " +"color. If [param transpose] is [code]true[/code], the texture will have its X " +"and Y coordinates swapped. See also [method draw_texture_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Dessine un rectangle texturé depuis une région d'une texture (précisé par " +"[param src_rect]) à une position donnée dans l'espace local, possiblement " +"modulé par une couleur. Si [param transpose] vaut [code]true[/code], la " +"texture aura ses coordonnées X et Y échangées. Voir aussi [method " +"draw_texture_rect].\n" +"[b]Note:[/b] Les boîtes de styles, les textures et les mailles stockées " +"uniquement dans les variables locales ne devraient [b]pas[/b] être utilisées " +"avec cette méthode dans GDScript, parce que l'opération de dessin ne commence " +"pas immédiatement une fois cette méthode appelée. Dans GDScript, lorsque la " +"fonction avec les variables locales se termine, les variables locales sont " +"détruites avant le rendu." + msgid "" "Forces the node's transform to update. Fails if the node is not inside the " "tree. See also [method get_transform].\n" @@ -43819,6 +44488,42 @@ msgstr "" "façon de désactiver un élément.\n" "[b]Note :[/b] Cette méthode n'est implémentée que sur macOS." +msgid "" +"Returns [code]true[/code] if the item at index [param idx] is hidden.\n" +"See [method global_menu_set_item_hidden] for more info on how to hide an " +"item.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Retourne [code]true[/code] si l'élément à l'index [param idx] est caché.\n" +"Voir [method global_menu_set_item_hidden] pour plus d'informations sur la " +"façon de cacher un élément.\n" +"[b]Note:[/b] Cette méthode n'est disponible que sur macOS." + +msgid "" +"Returns [code]true[/code] if the item at index [param idx] has radio button-" +"style checkability.\n" +"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/" +"unchecking items in radio groups.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Retourne [code]true[/code] si l'élément à l'index [param idx] a une " +"vérification de style bouton radio.\n" +"[b]Note :[/b] Ceci est purement cosmétique ; vous devez ajouter la logique " +"pour cocher/décocher les éléments dans les groupes radio.\n" +"[b]Note :[/b] Cette méthode n'est supportée que sur macOS." + +msgid "" +"Removes the item at index [param idx] from the global menu [param " +"menu_root].\n" +"[b]Note:[/b] The indices of items after the removed item will be shifted by " +"one.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Retire l'élément à l'index \"idx\" du menu global [param menu_root].\n" +"[b]Note :[/b] Les indices des éléments après l'éléments supprimé seront " +"décalés de un.\n" +"[b]Note :[/b] Cette méthode est implémentée sur macOS." + msgid "" "Sets the accelerator of the item at index [param idx]. [param keycode] can be " "a single [enum Key], or a combination of [enum KeyModifierMask]s and [enum " @@ -43832,6 +44537,30 @@ msgstr "" "KEY_A[/code] ([kbd]Ctrl + A[/kbd]).\n" "[b]Note :[/b] Cette méthode n'est implémentée que sur macOS." +msgid "" +"Sets the callback of the item at index [param idx]. Callback is emitted when " +"an item is pressed.\n" +"[b]Note:[/b] The [param callback] Callable needs to accept exactly one " +"Variant parameter, the parameter passed to the Callable will be the value " +"passed to the [code]tag[/code] parameter when the menu item was created.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Définit le rappel de l'élément à l'index [param idx]. Le rappel est émis " +"lorsqu'un article est pressé.\n" +"[b]Note:[/b] Le [param callback] Appelable doit accepter exactement un " +"paramètre Variant, le paramètre passé à la Callable sera la valeur transmise " +"au paramètre [code]tag[/code] lorsque l'élément de menu a été créé.\n" +"[b]Note:[/b] Cette méthode n'est supportée que sur macOS." + +msgid "" +"Sets whether the item at index [param idx] has a checkbox. If [code]false[/" +"code], sets the type of the item to plain text.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Définit si l'élément à l'index [param idx] a une case à cocher. Si " +"[code]false[/code], fixe le type de l'élément au texte brut.\n" +"[b]Note :[/b] Cette méthode n'est supportée que sur macOS." + msgid "" "Hides/shows the item at index [param idx]. When it is hidden, an item does " "not appear in a menu and its action cannot be invoked.\n" @@ -43856,6 +44585,16 @@ msgstr "" "paramètre [code]tag[/code] lorsque l'élément de menu sera créé.\n" "[b]Note :[/b] Cette méthode n'est implémentée que sur macOS." +msgid "" +"Replaces the [Texture2D] icon of the specified [param idx].\n" +"[b]Note:[/b] This method is implemented only on macOS.\n" +"[b]Note:[/b] This method is not supported by macOS \"_dock\" menu items." +msgstr "" +"Remplace l'icône [Texture2D] de l'index [param idx] spécifié.\n" +"[b]Note :[/b] Cette méthode n'est implémentée que sur macOS.\n" +"[b]Note :[/b] Cette méthode n'est pas supportée par les éléments de menu " +"\"_dock\" macOS." + msgid "" "Sets the horizontal offset of the item at the given [param idx].\n" "[b]Note:[/b] This method is implemented only on macOS." @@ -43878,6 +44617,19 @@ msgstr "" "paramètre [code]tag[/code] lorsque l'élément de menu sera créé.\n" "[b]Note :[/b] Cette méthode n'est implémentée que sur macOS." +msgid "" +"Sets the type of the item at the specified index [param idx] to radio button. " +"If [code]false[/code], sets the type of the item to plain text.\n" +"[b]Note:[/b] This is purely cosmetic; you must add the logic for checking/" +"unchecking items in radio groups.\n" +"[b]Note:[/b] This method is implemented only on macOS." +msgstr "" +"Définit le type de l'élément à l'index spécifié [param idx] en bouton radio. " +"Si [code]false[/code], fixe le type de l'élément au texte brut.\n" +"[b]Note :[/b] Ceci est purement cosmétique ; vous devez ajouter la logique " +"pour cocher/décocher les éléments dans les groupes radio.\n" +"[b]Note :[/b] Cette méthode n'est supportée que sur macOS." + msgid "" "Sets the [String] tooltip of the item at the specified index [param idx].\n" "[b]Note:[/b] This method is implemented only on macOS." @@ -43886,6 +44638,14 @@ msgstr "" "spécifié.\n" "[b]Note :[/b] Cette méthode n'est implémentée que sur macOS." +msgid "" +"Registers callables to emit when the menu is respectively about to show or " +"closed. Callback methods should have zero arguments." +msgstr "" +"Enregistre les appels (callables) à émettre lorsque le menu est " +"respectivement sur le point d'apparaitre ou de fermer. Les méthodes de rappel " +"ne doivent pas avoir d'arguments." + msgid "" "Returns [code]true[/code] if a hardware keyboard is connected.\n" "[b]Note:[/b] This method is implemented on Android and iOS. On other " @@ -43904,6 +44664,49 @@ msgstr "" "[b]Note :[/b] Cette méthode est implémentée sur Android, iOS, macOS, Windows " "et Linux (X11/Wayland)." +msgid "" +"Converts a physical (US QWERTY) [param keycode] to one in the active keyboard " +"layout.\n" +"[b]Note:[/b] This method is implemented on Linux (X11/Wayland), macOS and " +"Windows." +msgstr "" +"Convertit un clavier physique (US QWERTY) [param keycode] en un clavier dans " +"la mise en page du clavier actif.\n" +"[b]Note :[/b] Cette méthode est supportée sur Linux (X11/Wayland), macOS et " +"Windows." + +msgid "" +"Converts a physical (US QWERTY) [param keycode] to localized label printed on " +"the key in the active keyboard layout.\n" +"[b]Note:[/b] This method is implemented on Linux (X11/Wayland), macOS and " +"Windows." +msgstr "" +"Convertit un clavier physique (US QWERTY) [param keycode] vers l'étiquette " +"localisée imprimée sur la touche dans la disposition active du clavier.\n" +"[b]Note:[/b] Cette méthode est supportée sur Linux (X11/Wayland), macOS et " +"Windows." + +msgid "" +"Returns the ISO-639/BCP-47 language code of the keyboard layout at position " +"[param index].\n" +"[b]Note:[/b] This method is implemented on Linux (X11/Wayland), macOS and " +"Windows." +msgstr "" +"Retourne le code de langue ISO-639/BCP-47 de la disposition du clavier à la " +"position [param index].\n" +"[b]Note :[/b] Cette méthode est implémentée sur Linux (X11/Wayland, macOS et " +"Windows." + +msgid "" +"Returns the localized name of the keyboard layout at position [param index].\n" +"[b]Note:[/b] This method is implemented on Linux (X11/Wayland), macOS and " +"Windows." +msgstr "" +"Retourne le nom localisé de la disposition du clavier à la position [param " +"index].\n" +"[b]Note :[/b] Cette méthode est implémentée sur Linux(X11/Wayland), macOS et " +"Windows." + msgid "" "Sets the active keyboard layout.\n" "[b]Note:[/b] This method is implemented on Linux (X11/Wayland), macOS and " @@ -43919,6 +44722,49 @@ msgstr "Renvoie le mode de souris actuel. Voir aussi [method mouse_set_mode]." msgid "Sets the current mouse mode. See also [method mouse_get_mode]." msgstr "Définit le mode de souris actuel. Voir aussi [method mouse_get_mode]." +msgid "" +"Returns the dots per inch density of the specified screen. Returns platform " +"specific default value if [param screen] is invalid.\n" +"[b]Note:[/b] One of the following constants can be used as [param screen]: " +"[constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], [constant " +"SCREEN_WITH_MOUSE_FOCUS], or [constant SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Note:[/b] On macOS, returned value is inaccurate if fractional display " +"scaling mode is used.\n" +"[b]Note:[/b] On Android devices, the actual screen densities are grouped into " +"six generalized densities:\n" +"[codeblock lang=text]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Linux (X11/Wayland), " +"macOS, Web, and Windows. On other platforms, this method always returns " +"[code]72[/code]." +msgstr "" +"Retourne la densité en points pour pouce (\"dpi\") de l'écran spécifié. " +"Renvoie la valeur par défaut spécifique de la plateforme si [param screen] " +"est invalide.\n" +"[b]Note :[/b] Une des constantes suivantes peut être utilisée comme [param " +"screen] : [constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], " +"[constant SCREEN_WITH_MOUSE_FOCUS], ou [constant SCREEN_WITH_KEYBOARD_FOCUS]\n" +"[b]Note :[/b] Sous macOS, la valeur retournée est inexacte si la mise à " +"l'échelle n'est pas un nombre entier.\n" +"[b]Note :[/b] Pour les appareils Android, les densités des écrans sont " +"groupés en six catégories :\n" +"[codeblock]\n" +" ldpi - 120 dpi\n" +" mdpi - 160 dpi\n" +" hdpi - 240 dpi\n" +" xhdpi - 320 dpi\n" +" xxhdpi - 480 dpi\n" +"xxxhdpi - 640 dpi\n" +"[/codeblock]\n" +"[b]Note :[/b] Cette méthode est implémentée sous Android, Linux, macOS et " +"Windows. Retourne [code]72[/code] sur les plateformes non supportées." + msgid "" "Returns the greatest scale factor of all screens.\n" "[b]Note:[/b] On macOS returned value is [code]2.0[/code] if there is at least " @@ -43932,9 +44778,131 @@ msgstr "" "les autres cas.\n" "[b]Note :[/b] Cette méthode est implémentée seulement sur macOS." +msgid "" +"Returns the color of the pixel at the given screen [param position]. On multi-" +"monitor setups, the screen position is relative to the virtual desktop area.\n" +"[b]Note:[/b] This method is implemented on Linux (X11, excluding XWayland), " +"macOS, and Windows. On other platforms, this method always returns " +"[code]Color(0, 0, 0, 1)[/code].\n" +"[b]Note:[/b] On macOS, this method requires the \"Screen Recording\" " +"permission. If permission is not granted, this method returns a color from a " +"screenshot that will not include other application windows or OS elements not " +"related to the application." +msgstr "" +"Renvoie la couleur du pixel à l'écran donné [param position]. Sur les " +"configurations à moniteurs multiples, la position d'écran est relative à la " +"zone de bureau virtuel.\n" +"[b]Note :[/b] Cette méthode est mise en œuvre sur Linux (X11, excluant " +"XWayland), macOS et Windows. Sur d'autres plateformes, cette méthode renvoie " +"toujours [code]Color(0, 0, 0, 1)[/code].\n" +"[b]Note :[/b] Sur macOS, cette méthode nécessite l'autorisation d' " +"\"enregistrement d'écran\". Si la permission n'est pas accordée, cette " +"méthode renvoie une couleur d'une capture d'écran qui n'inclut pas d'autres " +"fenêtres d'application ou des éléments OS non liés à l'application." + +msgid "" +"Sets the [param screen]'s [param orientation]. See also [method " +"screen_get_orientation].\n" +"[b]Note:[/b] One of the following constants can be used as [param screen]: " +"[constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], [constant " +"SCREEN_WITH_MOUSE_FOCUS], or [constant SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Note:[/b] This method is implemented on Android and iOS.\n" +"[b]Note:[/b] On iOS, this method has no effect if [member " +"ProjectSettings.display/window/handheld/orientation] is not set to [constant " +"SCREEN_SENSOR]." +msgstr "" +"Définit la [param orientation] du [param screen]. Voir aussi [method " +"screen_get_orientation].\n" +"[b]Note :[/b] Une des constantes suivantes peut être utilisée comme [param " +"screen] : [constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], " +"[constant SCREEN_WITH_MOUSE_FOCUS], ou [constant " +"SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Note :[/b] Cette méthode est supportée sur Android et iOS.\n" +"[b]Note :[/b] Sur iOS, cette méthode n'a aucun effet si [member " +"ProjectSettings.display/window/handheld/orientation] n'est pas définie à " +"[constant SCREEN_SENSOR]." + +msgid "" +"Sets the callback that should be called when the system's theme settings are " +"changed. [param callable] should accept zero arguments.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, macOS, Windows, and " +"Linux (X11/Wayland)." +msgstr "" +"Définit la fonction de rappel qui devrait être lancé lorsque les paramètres " +"du thème système sont changés. [param callable] ne devrait pas accepter " +"d'argument.\n" +"[b]Note :[/b] Cette méthode est supportée sur Android, iOS, macOS, Windows et " +"Linux (X11/Wayland)." + +msgid "" +"Returns the rectangle for the given status indicator [param id] in screen " +"coordinates. If the status indicator is not visible, returns an empty " +"[Rect2].\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Retourne le rectangle pour l'indicateur de statut donné [param id] dans les " +"coordonnées d'écran. Si l'indicateur de statut n'est pas visible, retourne un " +"[Rect2] vide.\n" +"[b]Note :[/b] Cette méthode est supportée sur macOS et Windows." + +msgid "" +"Sets the application status indicator activation callback. [param callback] " +"should take two arguments: [int] mouse button index (one of [enum " +"MouseButton] values) and [Vector2i] click position in screen coordinates.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Définit la fonction de rappel de l'activation de l'indicateur de statut " +"d'application. [param callback] devrait prendre deux arguments : [int] index " +"du bouton de souris (une des valeurs de [enum MouseButton]) et [Vector2i] la " +"position du clic dans les coordonnées de l'écran.\n" +"[b]Note :[/b] Cette méthode est supportée sur macOS et Windows." + +msgid "" +"Sets the application status indicator icon.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Définit l'icône de l'indicateur de statut d'application.\n" +"[b]Note :[/b] Cette méthode est supportée sur macOS et Windows." + +msgid "" +"Sets the application status indicator tooltip.\n" +"[b]Note:[/b] This method is implemented on macOS and Windows." +msgstr "" +"Définit l'info-bulle d'indicateur de statut d'application.\n" +"[b]Note :[/b] Cette méthode est supportée sur macOS et Windows." + +msgid "" +"Returns [code]true[/code] if the synthesizer is in a paused state.\n" +"[b]Note:[/b] This method is implemented on Android, iOS, Web, Linux (X11/" +"Wayland), macOS, and Windows." +msgstr "" +"Retourne [code]true[/code] si le synthétiseur est dans un état de pause.\n" +"[b]Note :[/b] Cette méthode est supportée sur Android, iOS, Web, Linux (X11/" +"Wayland), macOS et Windows." + msgid "Hides the virtual keyboard if it is shown, does nothing otherwise." msgstr "Cache le clavier virtuel s’il est montré, ne fait rien autrement." +msgid "" +"Sets the mouse cursor position to the given [param position] relative to an " +"origin at the upper left corner of the currently focused game Window Manager " +"window.\n" +"[b]Note:[/b] [method warp_mouse] is only supported on Windows, macOS, and " +"Linux (X11/Wayland). It has no effect on Android, iOS, and Web." +msgstr "" +"Règle la position du curseur de la souris à la [param position] par rapport à " +"une origine au coin supérieur gauche de la fenêtre actuellement en focus par " +"le Window Manager.\n" +"[b]Note :[/b] [method warp_mouse] n'est pris en charge que sous Windows, " +"macOS et Linux (X11/Wayland). Il n'a aucun effet sur Android, iOS et Web." + +msgid "" +"Returns the [method Object.get_instance_id] of the [Window] the [param " +"window_id] is attached to." +msgstr "" +"Retourne le [method Object.get_instance_id] de la fenêtre [Window] à laquelle " +"[param window_id] est joint." + msgid "" "Display server supports changing the screen orientation. [b]Android, iOS[/b]" msgstr "" @@ -44241,6 +45209,48 @@ msgstr "Redéfinit la saturation de la texture." msgid "Helper class to implement a DTLS server." msgstr "Une classe d'aide pour implémenter un serveur DTLS." +msgid "" +"Try to initiate the DTLS handshake with the given [param udp_peer] which must " +"be already connected (see [method PacketPeerUDP.connect_to_host]).\n" +"[b]Note:[/b] You must check that the state of the return PacketPeerUDP is " +"[constant PacketPeerDTLS.STATUS_HANDSHAKING], as it is normal that 50% of the " +"new connections will be invalid due to cookie exchange." +msgstr "" +"Essaye de débuter une vérification DTLS avec le [param udp_peer] donné qui " +"doit être connecté au préalable (voir [method " +"PacketPeerUDP.connect_to_host]).\n" +"[b]Note :[/b] Vous devez vérifier que le status du retour PacketPeerUDP est " +"[constant PacketPeerDTLS.STATUS_HANDSHAKING], car il est commun que 50% des " +"nouvelles connexions deviennent invalides en raison de l'échange de cookies." + +msgid "" +"Override this method to be notified when a breakpoint is set in the editor." +msgstr "" +"Surcharger cette méthode pour être notifié quand un point d'arrêt est défini " +"dans l'éditeur." + +msgid "" +"Override this method to be notified when all breakpoints are cleared in the " +"editor." +msgstr "" +"Surcharger cette méthode pour être notifié lorsque tous les points d'arrêt " +"sont supprimés dans l'éditeur." + +msgid "" +"Override this method to be notified when a breakpoint line has been clicked " +"in the debugger breakpoint panel." +msgstr "" +"Surcharger cette méthode pour être notifié quand un point d'arrêt a été " +"cliqué dans le panneau de point d'arrêt du débogueur." + +msgid "" +"Override this method to be notified whenever a new [EditorDebuggerSession] is " +"created. Note that the session may be inactive during this stage." +msgstr "" +"Surcharger cette méthode pour être notifié chaque fois qu'un nouveau " +"[EditorDebuggerSession] est créé. Notez que la session peut être inactive à " +"ce stade." + msgid "Returns the [EditorDebuggerSession] with the given [param id]." msgstr "Renvoie l'[EditorDebuggerSession] avec l'[param id] donné." @@ -44256,8 +45266,25 @@ msgstr "Panneau du bas." msgid "Represents the size of the [enum DockSlot] enum." msgstr "Représente la taille de l’enum [enum DockSlot]." -msgid "Console support in Godot" -msgstr "Support de la console dans Godot" +msgid "Creates a PCK archive at [param path] for the specified [param preset]." +msgstr "Crée une archive PCK à [param path] pour le [param preset] spécifié." + +msgid "Creates a full project at [param path] for the specified [param preset]." +msgstr "Crée un projet complet à [param path] pour le [param preset] spécifié." + +msgid "Create a ZIP archive at [param path] for the specified [param preset]." +msgstr "Créer une archive ZIP à [param path] pour le [param preset] spécifié." + +msgid "" +"Returns the message category for the message with the given [param index]." +msgstr "" +"Retourne la catégorie de message pour le message à l'[param index] donné." + +msgid "Returns the text for the message with the given [param index]." +msgstr "Retourne le texte pour le message avec le [param index] donné." + +msgid "Returns the type for the message with the given [param index]." +msgstr "Retourne le type pour le message au [param index] donné." msgid "Exporter for Android." msgstr "Exporteur pour Android." @@ -44288,6 +45315,14 @@ msgstr "" msgid "Name of the application." msgstr "Nom de l'application." +msgid "" +"If [code]true[/code], this app will show in the device's app library.\n" +"[b]Note:[/b] This is [code]true[/code] by default." +msgstr "" +"Si [code]true[/code], cette application apparaîtra dans la bibliothèque " +"d'applications de l'appareil.\n" +"[b]Note:[/b] Ceci est [code]true[/code] par défaut." + msgid "" "Allows applications to call into AccountAuthenticators. See [url=https://" "developer.android.com/reference/android/" @@ -44346,6 +45381,19 @@ msgstr "" "developer.android.com/reference/android/" "Manifest.permission#SET_ANIMATION_SCALE]SET_ANIMATION_SCALE[/url]." +msgid "" +"If [code]true[/code], shaders will be compiled and embedded in the " +"application. This option is only supported when using the Forward+ or Mobile " +"renderers.\n" +"[b]Note:[/b] When exporting as a dedicated server, the shader baker is always " +"disabled since no rendering is performed." +msgstr "" +"Si [code]true[/code], les shaders seront compilées et intégrées dans " +"l'application. Cette option n'est prise en charge que lors de l'utilisation " +"des rendus Forward+ ou Mobile.\n" +"[b]Note :[/b] Lors de l'exportation en tant que serveur dédié, le compilateur " +"de shader est toujours désactivé car aucun rendu n'est effectué." + msgid "Exporting for iOS" msgstr "Exportation pour iOS" @@ -44360,6 +45408,9 @@ msgstr "" msgid "Returns export platform name." msgstr "Renvoie le nom de la plateforme d'export." +msgid "Returns tooltip of the one-click deploy menu button." +msgstr "Retourne l'info-bulle bouton de menu du déploiement en un clic." + msgid "Returns target OS name." msgstr "Renvoie le nom de l'OS cible." @@ -44709,6 +45760,19 @@ msgstr "Exportation pour Windows" msgid "Exporter for visionOS." msgstr "Exporteur pour visionOS." +msgid "" +"If [code]true[/code], shaders will be compiled and embedded in the " +"application. This option is only supported when using the Forward+ and Mobile " +"renderers.\n" +"[b]Note:[/b] When exporting as a dedicated server, the shader baker is always " +"disabled since no rendering is performed." +msgstr "" +"Si [code]true[/code], les shaders seront compilées et intégrées dans " +"l'application. Cette option n'est prise en charge que lors de l'utilisation " +"des rendus Forward+ et Mobile.\n" +"[b]Note:[/b] Lors de l'exportation en tant que serveur dédié, le compilateur " +"de shaders est toujours désactivé car aucun rendu n'est effectué." + msgid "Exporter for the Web." msgstr "Exporteur pour le Web." @@ -44797,6 +45861,22 @@ msgstr "" "Ceci est appelé lorsque le processus de personnalisation pour les scènes se " "termine." +msgid "" +"Virtual method to be overridden by the user. It is called when the export " +"starts and provides all information about the export. [param features] is the " +"list of features for the export, [param is_debug] is [code]true[/code] for " +"debug builds, [param path] is the target path for the exported project. " +"[param flags] is only used when running a runnable profile, e.g. when using " +"native run on Android." +msgstr "" +"Méthode virtuelle à surcharger par l'utilisateur. Elle est appelée lorsque " +"l'exportation commence et fournit toutes les informations sur l'exportation. " +"[param features] est la liste des fonctionnalité pour l'export, [param " +"is_debug] est [code]true[/code] pour les builds de débogage, [param path] est " +"le chemin cible pour le projet exporté. [param flags] n'est utilisé que lors " +"de l'exécution d'un profil exécutable, p.ex. lorsque vous utilisez native run " +"sur Android." + msgid "" "Virtual method to be overridden by the user. Called when the export is " "finished." @@ -44804,6 +45884,24 @@ msgstr "" "Une méthode virtuelle à surcharger par l'utilisateur. Elle est appelée " "lorsque l'exportation est terminée." +msgid "" +"Virtual method to be overridden by the user. Called for each exported file " +"before [method _customize_resource] and [method _customize_scene]. The " +"arguments can be used to identify the file. [param path] is the path of the " +"file, [param type] is the [Resource] represented by the file (e.g. " +"[PackedScene]), and [param features] is the list of features for the export.\n" +"Calling [method skip] inside this callback will make the file not included in " +"the export." +msgstr "" +"Une méthode virtuelle à surcharger par l'utilisateur. Elle est appelée pour " +"chaque fichier exporté avant[method _customize_resource] and [method " +"_customize_scene]. Les arguments passés peuvent permettre d'identifier le " +"fichier exporté.[param path] est le chemin du fichier, [param type] est la " +"[Resource] représentée par ce fichier (par exemple [PackedScene]) et [param " +"features] est la liste des fonctionnalités de cette exportation.\n" +"Appeler [method skip] dans cette fonction de rappel pour ne pas exporter ce " +"fichier." + msgid "" "Return [code]true[/code] if the result of [method _get_export_options] has " "changed and the export options of the preset corresponding to [param " @@ -44819,9 +45917,63 @@ msgstr "" "Renvoie [code]true[/code] si le plugin supporte la plate-forme [param " "platform] donnée." +msgid "" +"Adds an Apple embedded platform bundle file from the given [param path] to " +"the exported project." +msgstr "" +"Ajoute un fichier de paquet de plate-forme intégré d'Apple depuis [param " +"path] au projet exporté." + +msgid "" +"Adds a dynamic library (*.dylib, *.framework) to the Linking Phase in the " +"Apple embedded platform's Xcode project and embeds it into the resulting " +"binary.\n" +"[b]Note:[/b] For static libraries (*.a), this works in the same way as " +"[method add_apple_embedded_platform_framework].\n" +"[b]Note:[/b] This method should not be used for System libraries as they are " +"already present on the device." +msgstr "" +"Ajoute une bibliothèque dynamique (*.dylib, *.framework) au \"Linking Phase\" " +"dans le projet Xcode de la plateforme intégrée Apple et l'intègre au binaire " +"final.\n" +"[b]Note :[/b] Pour les bibliothèques statiques (*.a), cela fonctionne de la " +"même manière que [method add_apple_embedded_platform_framework].\n" +"[b]Note :[/b] Cette méthode ne devrait pas être utilisée pour les " +"bibliothèques système car elles sont déjà présentes sur l'appareil." + +msgid "" +"Adds a static library from the given [param path] to the Apple embedded " +"platform project." +msgstr "" +"Ajoute une bibliothèque statique depuis [param path] au projet de plateforme " +"intégré Apple." + +msgid "" +"Adds a custom file to be exported. [param path] is the virtual path that can " +"be used to load the file, [param file] is the binary data of the file.\n" +"When called inside [method _export_file] and [param remap] is [code]true[/" +"code], the current file will not be exported, but instead remapped to this " +"custom file. [param remap] is ignored when called in other places.\n" +"[param file] will not be imported, so consider using [method " +"_customize_resource] to remap imported resources." +msgstr "" +"Ajoute un fichier personnalisé à exporter. [param path] est le chemin virtuel " +"qui peut être utilisé pour charger le fichier, [param file] représente les " +"données binaires du fichier. \n" +"Quand appelée au sein de [method _export_file] et lorsque [param remap] est " +"[code]true[/code], le fichier ne sera pas exporté, mais sera remplacé par une " +"référence à ce fichier. [param remap] est ignoré quand appelé dans d'autres " +"endroits.\n" +"[param file] ne sera pas importé, alors envisagez d'utiliser [method " +"_customize_resource] pour remapper les ressources importées." + msgid "Use [method add_apple_embedded_platform_bundle_file] instead." msgstr "Utilisez [method add_apple_embedded_platform_bundle_file] à la place." +msgid "" +"Adds an iOS bundle file from the given [param path] to the exported project." +msgstr "Ajoute un fichier d'iOS depuis [param path] au projet exporté." + msgid "Use [method add_apple_embedded_platform_cpp_code] instead." msgstr "Utilisez [method add_apple_embedded_platform_cpp_code] à la place." @@ -44860,6 +46012,9 @@ msgid "Use [method add_apple_embedded_platform_project_static_lib] instead." msgstr "" "Utilisez [method add_apple_embedded_platform_project_static_lib] à la place." +msgid "Adds a static library from the given [param path] to the iOS project." +msgstr "Ajoute une bibliothèque statique depuis [param path] au projet iOS." + msgid "" "Adds file or directory matching [param path] to [code]PlugIns[/code] " "directory of macOS app bundle.\n" @@ -44869,6 +46024,21 @@ msgstr "" "dossier [code]PlugIns[/code] de l'application macOS.\n" "[b]Note :[/b] Cela n'est utile que pour les exports macOS." +msgid "" +"Adds a shared object or a directory containing only shared objects with the " +"given [param tags] and destination [param path].\n" +"[b]Note:[/b] In case of macOS exports, those shared objects will be added to " +"[code]Frameworks[/code] directory of app bundle.\n" +"In case of a directory code-sign will error if you place non code object in " +"directory." +msgstr "" +"Ajoute un objet partagé ou un dossier contenant uniquement des objets " +"partagés avec les étiquettes[param tags] et la destination [param path].\n" +"[b]Note :[/b] En cas d'exportation pour macOS, ces objets partagés seront " +"ajoutés au dossier [code]Frameworks[/code] de l'app bundle.\n" +"Pour les dossiers, \"code-sign\" affichera une erreur si vous placez dans ce " +"dossier un objet qui n'est pas du code." + msgid "Returns currently used export platform." msgstr "Renvoie la plateforme d'export actuellement utilisée." @@ -44901,6 +46071,13 @@ msgstr "Renvoie le chemin de la cible d'export." msgid "Returns this export preset's name." msgstr "Renvoie le nom de ce pré-réglage d'export." +msgid "" +"Returns the value of the setting identified by [param name] using export " +"preset feature tag overrides instead of current OS features." +msgstr "" +"Retourne la valeur du paramètre spécifié par [param name] en utilisant la " +"fonctionnalité préréglée d'exportation au lieu des fonctions OS actuelles." + msgid "" "An editor feature profile which can be used to disable specific features." msgstr "" @@ -44941,6 +46118,44 @@ msgstr "" "désactivée. Lorsqu'elle est désactivée, la classe n’apparaîtra pas dans la " "fenêtre \"Créer un nouveau nœud\"." +msgid "" +"Returns [code]true[/code] if editing for the class specified by [param " +"class_name] is disabled. When disabled, the class will still appear in the " +"Create New Node dialog but the Inspector will be read-only when selecting a " +"node that extends the class." +msgstr "" +"Retourne [code]true[/code] si l'édition pour la classe spécifiée par [param " +"class_name] est désactivée. Lorsqu'elle est désactivée, la classe apparaîtra " +"toujours dans la boite de dialogue Créer un nouveau nœud, mais l'inspecteur " +"sera en lecture seule lors de la sélection d'un nœud qui étend la classe." + +msgid "" +"Returns [code]true[/code] if [param property] is disabled in the class " +"specified by [param class_name]. When a property is disabled, it won't appear " +"in the Inspector when selecting a node that extends the class specified by " +"[param class_name]." +msgstr "" +"Retourne [code]true[/code] si [param property] est désactivé dans la classe " +"spécifiée par [param class_name]. Lorsqu'une propriété est désactivée, elle " +"n'apparaîtra pas dans l'inspecteur lors de la sélection d'un nœud qui étend " +"la classe spécifiée par [param class_name]." + +msgid "" +"Returns [code]true[/code] if the [param feature] is disabled. When a feature " +"is disabled, it will disappear from the editor entirely." +msgstr "" +"Retourne [code]true[/code] si [param feature] est désactivé. Lorsqu'une " +"fonction est désactivée, elle disparaîtra entièrement de l'éditeur." + +msgid "" +"If [param disable] is [code]true[/code], disables the class specified by " +"[param class_name]. When disabled, the class won't appear in the Create New " +"Node dialog." +msgstr "" +"Si [param disable] est [code]true[/code], désactive la classe spécifiée par " +"[param class_name]. Lorsqu'elle est désactivée, la classe n'apparaîtra pas " +"dans la boite de dialogue Créer un nouveau nœud." + msgid "" "If [param disable] is [code]true[/code], disables editing for the class " "specified by [param class_name]. When disabled, the class will still appear " @@ -45060,6 +46275,9 @@ msgstr "" msgid "Gets the root directory object." msgstr "Obtient l'objet de répertoire racine." +msgid "Returns a view into the filesystem at [param path]." +msgstr "Retourne une vue dans le système de fichiers à [param path]." + msgid "Returns the scan progress for 0 to 1 if the FS is being scanned." msgstr "" "Renvoie la progression de l'analyse de 0 à 1 si le système de fichiers est en " @@ -45095,6 +46313,13 @@ msgstr "Un répertoire pour le système de fichiers des ressources." msgid "A more generalized, low-level variation of the directory concept." msgstr "Une variation bas-niveau et plus générale du concept de dossier." +msgid "" +"Returns the index of the directory with name [param name] or [code]-1[/code] " +"if not found." +msgstr "" +"Retourne l'index du répertoire avec le nom [param name] ou [code]-1[/code] si " +"rien n'est trouvé." + msgid "" "Returns the index of the file with name [param name] or [code]-1[/code] if " "not found." @@ -45117,6 +46342,33 @@ msgstr "" msgid "Returns the path to the file at index [param idx]." msgstr "Renvoie le chemin du fichier à l'index [param idx]." +msgid "" +"Returns the base class of the script class defined in the file at index " +"[param idx]. If the file doesn't define a script class using the " +"[code]class_name[/code] syntax, this will return an empty string." +msgstr "" +"Retourne la classe de base de la classe de script définie dans le fichier à " +"index [param idx]. Si le fichier ne définit pas une classe de script en " +"utilisant la syntaxe [code]class_name[/code], retourne une chaîne vide." + +msgid "" +"Returns the name of the script class defined in the file at index [param " +"idx]. If the file doesn't define a script class using the [code]class_name[/" +"code] syntax, this will return an empty string." +msgstr "" +"Retourne le nom de la classe script définie dans le fichier à l'index [param " +"idx]. Si le fichier ne définit pas une classe de script en utilisant la " +"syntaxe [code]class_name[/code], retourne une chaîne vide." + +msgid "" +"Returns the resource type of the file at index [param idx]. This returns a " +"string such as [code]\"Resource\"[/code] or [code]\"GDScript\"[/code], " +"[i]not[/i] a file extension such as [code]\".gd\"[/code]." +msgstr "" +"Retoune le type de ressource du fichier à l'index [param idx]. Retourne une " +"chaîne telle que [code]\"Resource\"[/code] ou [code]\"GDScript\"[/code], " +"[i]pas[/i] une extension de fichier telle que [code]\".gd\"[/code]." + msgid "Returns the name of this directory." msgstr "Renvoie le nom de ce répertoire." @@ -45546,6 +46798,72 @@ msgstr "" msgid "A control used to edit properties of an object." msgstr "Un contrôle pour modifier les propriétés d'un objet." +msgid "" +"This is the control that implements property editing in the editor's Settings " +"dialogs, the Inspector dock, etc. To get the [EditorInspector] used in the " +"editor's Inspector dock, use [method EditorInterface.get_inspector].\n" +"[EditorInspector] will show properties in the same order as the array " +"returned by [method Object.get_property_list].\n" +"If a property's name is path-like (i.e. if it contains forward slashes), " +"[EditorInspector] will create nested sections for \"directories\" along the " +"path. For example, if a property is named [code]highlighting/gdscript/" +"node_path_color[/code], it will be shown as \"Node Path Color\" inside the " +"\"GDScript\" section nested inside the \"Highlighting\" section.\n" +"If a property has [constant PROPERTY_USAGE_GROUP] usage, it will group " +"subsequent properties whose name starts with the property's hint string. The " +"group ends when a property does not start with that hint string or when a new " +"group starts. An empty group name effectively ends the current group. " +"[EditorInspector] will create a top-level section for each group. For " +"example, if a property with group usage is named [code]Collide With[/code] " +"and its hint string is [code]collide_with_[/code], a subsequent " +"[code]collide_with_area[/code] property will be shown as \"Area\" inside the " +"\"Collide With\" section. There is also a special case: when the hint string " +"contains the name of a property, that property is grouped too. This is mainly " +"to help grouping properties like [code]font[/code], [code]font_color[/code] " +"and [code]font_size[/code] (using the hint string [code]font_[/code]).\n" +"If a property has [constant PROPERTY_USAGE_SUBGROUP] usage, a subgroup will " +"be created in the same way as a group, and a second-level section will be " +"created for each subgroup.\n" +"[b]Note:[/b] Unlike sections created from path-like property names, " +"[EditorInspector] won't capitalize the name for sections created from groups. " +"So properties with group usage usually use capitalized names instead of " +"snake_cased names." +msgstr "" +"Il s'agit du contrôle qui permet l'édition des propriétés dans les dialogues " +"des Paramètres de l'éditeur, le dock Inspecteur, etc. Pour obtenir le " +"[EditorInspector] utilisé dans le fichier d'inspecteur de l'éditeur, utilisez " +"[method EditorInterface.get_inspector]\n" +"[EditorInspector] affichera les propriétés dans le même ordre que le tableau " +"retourné par [method Object.get_property_list]\n" +"Si le nom d'un propriété établie est semblable à celui d'un chemin (c'est-à-" +"dire s'il commence par des barres obliques), [EditorInspector] créera des " +"sections imbriquées pour les « dossier » suivant le chemin. Par exemple, si " +"une propriété est nommée [code]highlighting/gdscript/node_path_color[/code], " +"elle sera affichée comme \"Node Path Color\" dans la section \"GDScript\" " +"imbriquée dans la section \"Highlighting\".\n" +"Si une propriété a l'usage [constant @GlobalScope.PROPERTY_USAGE_GROUP], elle " +"regroupera les propriétés dont le nom commence par la chaîne d'indice de la " +"propriété. Le groupe se termine quand une propriété ne commence pas avec " +"cette chaîne d'indice ou quand un nouveau groupe commence. Un nom de groupe " +"vide termine le groupe actuel. [EditorInspector] créera une section tout en " +"haut pour chaque groupe. Par exemple, si une propriété avec l'utilisation de " +"groupe est nommée [code]Collide With[/code] et que sa chaîne d'indice est " +"[code]collide_with[/code], une propriété [code]collide_with_area[/code] " +"suivante sera affichée comme \"Area\" dans la section \"Collide With\". Il y " +"a aussi un cas spécial : lorsque la chaîne hint contient le nom d'une " +"propriété, cette propriété est regroupée aussi. C'est principalement pour " +"aider à grouper des propriétés comme [code]font[/code], [code]font_color[/" +"code] et [code]font_size[/code] (en utilisant la chaîne hint [code]font_[/" +"code]).\n" +"Si une propriété a [constant PROPERTY_USAGE_SUBGROUP] usage, un sous-groupe " +"sera créé de la même manière qu'un groupe, et une section de deuxième niveau " +"sera créée pour chaque sous-groupe.\n" +"[b]Note :[/b] Contrairement aux sections créées à partir de noms de propriété " +"selon des chemins, [EditorInspector] a obtenu le nom de sections créées à " +"partir de groupes. Ainsi, les propriétés avec l'utilisation de groupe " +"utilisent généralement des noms capitalisés au lieu des noms en " +"\"snake_case\"." + msgid "Returns the object currently selected in this inspector." msgstr "Renvoie l'objet actuellement sélectionné dans cet inspecteur." @@ -45593,6 +46911,13 @@ msgstr "" "Ajoute un contrôle personnalisé, qui n'est pas nécessairement un éditeur de " "propriété." +msgid "" +"Adds an editor that allows modifying multiple properties. The [param editor] " +"control must extend [EditorProperty]." +msgstr "" +"Ajoute un éditeur qui permet de modifier plusieurs propriétés. Le contrôle " +"[param editor] doit étendre [EditorProperty]." + msgid "Godot editor's interface." msgstr "Interface de l'éditeur Godot." @@ -45685,6 +47010,26 @@ msgstr "Renvoie l'actuel chemin en train d'être vu dans le [FileSystemDock]." msgid "Returns the edited (current) scene's root [Node]." msgstr "Renvoie le [Node] racine de la scène (actuellement) éditée." +msgid "" +"Returns the editor control responsible for main screen plugins and tools. Use " +"it with plugins that implement [method EditorPlugin._has_main_screen].\n" +"[b]Note:[/b] This node is a [VBoxContainer], which means that if you add a " +"[Control] child to it, you need to set the child's [member " +"Control.size_flags_vertical] to [constant Control.SIZE_EXPAND_FILL] to make " +"it use the full available space.\n" +"[b]Warning:[/b] Removing and freeing this node will render a part of the " +"editor useless and may cause a crash." +msgstr "" +"Retourne le contrôle de l'éditeur responsable des plugins et outils d'écran " +"principal. Utilisez-le avec des plugins qui implémentent [method " +"EditorPlugin._has_main_screen].\n" +"[b]Note :[/b] Ce nœud est un [VBoxContainer], ce qui signifie que si vous lui " +"ajoutez un [Control] fils, vous devez définir le [member " +"Control.size_flags_vertical] du fils à [constant Control.SIZE_EXPAND_FILL] " +"pour le faire utiliser tout l'espace disponible.\n" +"[b]Avertissement :[/b] La suppression et la libération de ce nœud rend une " +"partie de l'éditeur inutile et peut causer un crash." + msgid "Returns the [EditorPaths] singleton." msgstr "Renvoie le singleton [EditorPaths]." @@ -45757,6 +47102,22 @@ msgstr "" msgid "Returns the editor's [EditorSelection] instance." msgstr "Renvoie l'instance [EditorSelection] de l'éditeur." +msgid "" +"Shows the given property on the given [param object] in the editor's " +"Inspector dock. If [param inspector_only] is [code]true[/code], plugins will " +"not attempt to edit [param object]." +msgstr "" +"Affiche la propriété donnée du [param object] donné dans le dock d'inspecteur " +"de l'éditeur. Si [param inspector_only] vaut [code]true[/code], les plugins " +"ne tenteront pas de modifier [param object]." + +msgid "" +"Returns [code]true[/code] if the specified [param plugin] is enabled. The " +"plugin name is the same as its directory name." +msgstr "" +"Retourne [code]true[/code] si le [param plugin] spécifié est activé. Le nom " +"du plugin est le même que son nom de répertoire." + msgid "Marks the current scene tab as unsaved." msgstr "Marque l'onglet de la scène actuelle comme non sauvegardée." @@ -45779,6 +47140,37 @@ msgstr "Joue la scène principale." msgid "Reloads the scene at the given path." msgstr "Recharge la scène à l'emplacement spécifié." +msgid "" +"Saves the currently active scene. Returns either [constant OK] or [constant " +"ERR_CANT_CREATE]." +msgstr "" +"Enregistre la scène actuellement active. Retourne soit [constant OK] ou " +"[constant ERR_CANT_CREATE]." + +msgid "Saves the currently active scene as a file at [param path]." +msgstr "" +"Enregistre la scène actuellement active en tant que fichier localisé sur " +"[param path]." + +msgid "" +"Selects the file, with the path provided by [param file], in the FileSystem " +"dock." +msgstr "" +"Sélectionne le fichier, avec le chemin spécifié dans [param file], dans la " +"barre d'outils « FileSystem »." + +msgid "" +"Sets the editor's current main screen to the one specified in [param name]. " +"[param name] must match the title of the tab in question exactly (e.g. " +"[code]2D[/code], [code]3D[/code], [code skip-lint]Script[/code], [code]Game[/" +"code], or [code]AssetLib[/code] for default tabs)." +msgstr "" +"Définit l'écran principal courant de l'éditeur à celui spécifié dans [param " +"name]. [param name] doit correspondre exactement au titre de l'onglet en " +"question (par exemple [code]2D[/code], [code]3D[/code], [code skip-" +"lint]Script[/code], [code]Game[/code], ou [code]AssetLib[/code] pour les " +"onglets par défaut)." + msgid "" "Sets the enabled status of a plugin. The plugin name is the same as its " "directory name." @@ -45799,6 +47191,27 @@ msgstr "" msgid "Gizmo for editing [Node3D] objects." msgstr "Manipulateur pour éditer des objets [Node3D]." +msgid "" +"Override this method to return the name of an edited handle (handles must " +"have been previously added by [method add_handles]). Handles can be named for " +"reference to the user when editing.\n" +"The [param secondary] argument is [code]true[/code] when the requested handle " +"is secondary (see [method add_handles] for more information)." +msgstr "" +"Surcharger cette méthode pour retourner le nom d'un gestionnaire édité (les " +"gestionnaires doivent avoir été ajoutés précédemment par [method " +"add_handles]). Les gestionnaires peuvent être nommés pour référence à " +"l'utilisateur lors de l'édition.\n" +"L'argument [param secondary] vaut [code]true[/code] lorsque le gestionnaire " +"demandé est secondaire (voir [method add_handles] pour plus d'informations)." + +msgid "" +"Adds the specified [param segments] to the gizmo's collision shape for " +"picking. Call this method during [method _redraw]." +msgstr "" +"Ajoute les [param segments] spécifiés à la forme de collision du manipulateur " +"pour le ramassage. Appelez cette méthode pendant [method _redraw]." + msgid "" "Adds collision triangles to the gizmo for picking. A [TriangleMesh] can be " "generated from a regular [Mesh] too. Call this method during [method _redraw]." @@ -45820,6 +47233,13 @@ msgstr "" "Définit le mode caché du manipulateur. Si [code]true[/code], le manipulateur " "sera caché. Si [code]false[/code], il sera affiché." +msgid "" +"Sets the reference [Node3D] node for the gizmo. [param node] must inherit " +"from [Node3D]." +msgstr "" +"Définit le nœud de référence [Node3D] pour le manipulateur. [param node] doit " +"hériter de [Node3D]." + msgid "Node3D gizmo plugins" msgstr "Plugins de manipulateurs Node3D" @@ -45830,6 +47250,13 @@ msgstr "" "Redéfinissez cette méthode pour fournir le nom qui apparaîtra dans le menu de " "visibilité du manipulateur." +msgid "" +"Override this method to define whether Node3D with this gizmo should be " +"selectable even when the gizmo is hidden." +msgstr "" +"Surcharger cette méthode pour définir si Node3D devrait être sélectionnable " +"avec ce manipulateur même lorsque le manipulateur est caché." + msgid "" "Adds a new material to the internal material list for the plugin. It can then " "be accessed with [method get_material]. Should not be overridden." @@ -45841,9 +47268,39 @@ msgstr "" msgid "File paths in Godot projects" msgstr "Les chemins de fichiers dans les projets Godot" +msgid "" +"Returns the relative path to the editor settings for this project. This is " +"usually [code]\"res://.godot/editor\"[/code]. Projects all have a unique " +"subdirectory inside the settings path where project-specific editor settings " +"are saved." +msgstr "" +"Retourne le chemin relatif aux paramètres de l'éditeur pour ce projet. C'est " +"habituellement [code]\"res://.godot/editor\"[/code]. Les projets ont tous un " +"sous-répertoire unique dans le chemin de réglage où les paramètres de " +"l'éditeur de projet sont sauvegardés." + msgid "Used by the editor to extend its functionality." msgstr "Utiliser par l'éditeur pour augmenter ses fonctionnalités." +msgid "" +"Plugins are used by the editor to extend functionality. The most common types " +"of plugins are those which edit a given node or resource type, import plugins " +"and export plugins. See also [EditorScript] to add functions to the editor.\n" +"[b]Note:[/b] Some names in this class contain \"left\" or \"right\" (e.g. " +"[constant DOCK_SLOT_LEFT_UL]). These APIs assume left-to-right layout, and " +"would be backwards when using right-to-left layout. These names are kept for " +"compatibility reasons." +msgstr "" +"Les plugins sont utilisés par l'éditeur pour étendre la fonctionnalité. Les " +"types les plus courants de plugins sont ceux qui modifient un nœud donné ou " +"un type de ressource, les plugins d'importation et les plugins d'exportation. " +"Voir aussi [EditorScript] pour ajouter des fonctions à l'éditeur.\n" +"[b]Note :[/b] Certains noms de cette classe contiennent « left» ou « right» " +"(par exemple [constant DOCK_SLOT_LEFT_UL]). Ces API supposent une mise en " +"page de gauche à droite, et seraient à l'envers lors de l'utilisation de la " +"mise en page de droite à gauche. Ces noms sont conservés pour des raisons de " +"compatibilité." + msgid "Editor plugins documentation index" msgstr "Index de la documentation sur les plugins éditeur" @@ -45884,6 +47341,328 @@ msgstr "" "Appelé par le moteur lorsque l'utilisateur active le [EditorPlugin] dans " "l'onglet Greffon de la fenêtre des paramètres du projet." +msgid "" +"Called by the engine when the 3D editor's viewport is updated. [param " +"viewport_control] is an overlay on top of the viewport and it can be used for " +"drawing. You can update the viewport manually by calling [method " +"update_overlays].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _forward_3d_draw_over_viewport(overlay):\n" +"\t# Draw a circle at the cursor's position.\n" +"\toverlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)\n" +"\n" +"func _forward_3d_gui_input(camera, event):\n" +"\tif event is InputEventMouseMotion:\n" +"\t\t# Redraw the viewport when the cursor is moved.\n" +"\t\tupdate_overlays()\n" +"\t\treturn EditorPlugin.AFTER_GUI_INPUT_STOP\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_PASS\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Forward3DDrawOverViewport(Control viewportControl)\n" +"{\n" +"\t// Draw a circle at the cursor's position.\n" +"\tviewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, " +"Colors.White);\n" +"}\n" +"\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"viewportCamera, InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\t// Redraw the viewport when the cursor is moved.\n" +"\t\tUpdateOverlays();\n" +"\t\treturn EditorPlugin.AfterGuiInput.Stop;\n" +"\t}\n" +"\treturn EditorPlugin.AfterGuiInput.Pass;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Appelé par le moteur quand la fenêtre d'affiche 3D de l'éditeur est mise à " +"jour. [param viewport_control] est un overlay au dessus de la fenêtre " +"d'affichage et peut être utilisé pour le dessin. Vous pouvez mettre à jour la " +"fenêtre d'affichage manuellement en appelant [method update_overlays].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _forward_3d_draw_over_viewport(overlay):\n" +"\t# Dessine un cercle sur la position du curseur.\n" +"\toverlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)\n" +"\n" +"func _forward_3d_gui_input(camera, event):\n" +"\tif event is InputEventMouseMotion:\n" +"\t\t# Redessine la fenêtre d'affichage lorsque le curseur est déplacé.\n" +"\t\tupdate_overlays()\n" +"\t\treturn EditorPlugin.AFTER_GUI_INPUT_STOP\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_PASS\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Forward3DDrawOverViewport(Control viewportControl)\n" +"{\n" +"\t// Dessine un cercle sur la position du curseur.\n" +"\tviewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, " +"Colors.White);\n" +"}\n" +"\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"viewportCamera, InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\t// Redessine la fenêtre d'affichage lorsque le curseur est déplacé.\n" +"\t\tUpdateOverlays();\n" +"\t\treturn EditorPlugin.AfterGuiInput.Stop;\n" +"\t}\n" +"\treturn EditorPlugin.AfterGuiInput.Pass;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Called when there is a root node in the current edited scene, [method " +"_handles] is implemented, and an [InputEvent] happens in the 3D viewport. The " +"return value decides whether the [InputEvent] is consumed or forwarded to " +"other [EditorPlugin]s. See [enum AfterGUIInput] for options.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Prevents the InputEvent from reaching other Editor classes.\n" +"func _forward_3d_gui_input(camera, event):\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_STOP\n" +"[/gdscript]\n" +"[csharp]\n" +"// Prevents the InputEvent from reaching other Editor classes.\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"camera, InputEvent @event)\n" +"{\n" +"\treturn EditorPlugin.AfterGuiInput.Stop;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"This method must return [constant AFTER_GUI_INPUT_PASS] in order to forward " +"the [InputEvent] to other Editor classes.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Consumes InputEventMouseMotion and forwards other InputEvent types.\n" +"func _forward_3d_gui_input(camera, event):\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_STOP if event is InputEventMouseMotion " +"else EditorPlugin.AFTER_GUI_INPUT_PASS\n" +"[/gdscript]\n" +"[csharp]\n" +"// Consumes InputEventMouseMotion and forwards other InputEvent types.\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"camera, InputEvent @event)\n" +"{\n" +"\treturn @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput.Stop : " +"EditorPlugin.AfterGuiInput.Pass;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Appelé lorsqu'il y a un nœud racine dans la scène modifiée actuelle, [method " +"_handles] est mis en œuvre, et un [InputEvent] se produit dans la fenêtre " +"d'affichage 3D. La valeur retournée décide si le [InputEvent] est consommé ou " +"transmis à d'autres [EditorPlugin]. Voir [enum AfterGUIInput] pour les " +"options.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Empêche l'InputEvent d'atteindre d'autres classes d'Éditeur.\n" +"func _forward_3d_gui_input(camera, event):\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_STOP\n" +"[/gdscript]\n" +"[csharp]\n" +"// Empêche l'InputEvent d'atteindre d'autres classes d'Éditeur.\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"camera, InputEvent @event)\n" +"{\n" +"\treturn EditorPlugin.AfterGuiInput.Stop;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Cette méthode doit retourner [constant AFTER_GUI_INPUT_PASS] afin de " +"transmettre le [InputEvent] aux autres classes d'éditeur.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Utilise InputEventMouseMotion et transmets les autres types d'InputEvent.\n" +"func _forward_3d_gui_input(camera, event):\n" +"\treturn EditorPlugin.AFTER_GUI_INPUT_STOP if event is InputEventMouseMotion " +"else EditorPlugin.AFTER_GUI_INPUT_PASS\n" +"[/gdscript]\n" +"[csharp]\n" +"// Utilise InputEventMouseMotion et transmets les autres types " +"d'InputEvent..\n" +"public override EditorPlugin.AfterGuiInput _Forward3DGuiInput(Camera3D " +"camera, InputEvent @event)\n" +"{\n" +"\treturn @event is InputEventMouseMotion ? EditorPlugin.AfterGuiInput.Stop : " +"EditorPlugin.AfterGuiInput.Pass;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Called by the engine when the 2D editor's viewport is updated. [param " +"viewport_control] is an overlay on top of the viewport and it can be used for " +"drawing. You can update the viewport manually by calling [method " +"update_overlays].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _forward_canvas_draw_over_viewport(overlay):\n" +"\t# Draw a circle at the cursor's position.\n" +"\toverlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)\n" +"\n" +"func _forward_canvas_gui_input(event):\n" +"\tif event is InputEventMouseMotion:\n" +"\t\t# Redraw the viewport when the cursor is moved.\n" +"\t\tupdate_overlays()\n" +"\t\treturn true\n" +"\treturn false\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _ForwardCanvasDrawOverViewport(Control viewportControl)\n" +"{\n" +"\t// Draw a circle at the cursor's position.\n" +"\tviewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, " +"Colors.White);\n" +"}\n" +"\n" +"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\t// Redraw the viewport when the cursor is moved.\n" +"\t\tUpdateOverlays();\n" +"\t\treturn true;\n" +"\t}\n" +"\treturn false;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Appelé par le moteur quand la fenêtre d'affiche 2D de l'éditeur est mise à " +"jour. [param viewport_control] est un overlay sur la fenêtre d'afichage et " +"peut être utilisé pour le dessin. Vous pouvez mettre à jour la fenêtre " +"d'affichage manuellement en appelant [method update_overlays].\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _forward_canvas_draw_over_viewport(overlay):\n" +"\t# Dessine un cercle sur la position du curseur.\n" +"\toverlay.draw_circle(overlay.get_local_mouse_position(), 64, Color.WHITE)\n" +"\n" +"func _forward_canvas_gui_input(event):\n" +"\tif event is InputEventMouseMotion:\n" +"\t\t# Redessine la fenêtre d'affichage lorsque le curseur est déplacé.\n" +"\t\tupdate_overlays()\n" +"\t\treturn true\n" +"\treturn false\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _ForwardCanvasDrawOverViewport(Control viewportControl)\n" +"{\n" +"\t// Dessine un cercle sur la position du curseur.\n" +"\tviewportControl.DrawCircle(viewportControl.GetLocalMousePosition(), 64, " +"Colors.White);\n" +"}\n" +"\n" +"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\t// Redessine la fenêtre d'affichage lorsque le curseur est déplacé.\n" +"\t\tUpdateOverlays();\n" +"\t\treturn true;\n" +"\t}\n" +"\treturn false;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + +msgid "" +"Called when there is a root node in the current edited scene, [method " +"_handles] is implemented, and an [InputEvent] happens in the 2D viewport. If " +"this method returns [code]true[/code], [param event] is intercepted by this " +"[EditorPlugin], otherwise [param event] is forwarded to other Editor " +"classes.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Prevents the InputEvent from reaching other Editor classes.\n" +"func _forward_canvas_gui_input(event):\n" +"\treturn true\n" +"[/gdscript]\n" +"[csharp]\n" +"// Prevents the InputEvent from reaching other Editor classes.\n" +"public override bool ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\treturn true;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"This method must return [code]false[/code] in order to forward the " +"[InputEvent] to other Editor classes.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Consumes InputEventMouseMotion and forwards other InputEvent types.\n" +"func _forward_canvas_gui_input(event):\n" +"\tif (event is InputEventMouseMotion):\n" +"\t\treturn true\n" +"\treturn false\n" +"[/gdscript]\n" +"[csharp]\n" +"// Consumes InputEventMouseMotion and forwards other InputEvent types.\n" +"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\treturn true;\n" +"\t}\n" +"\treturn false;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Appelé quand il y a un nœud racine dans la scène en cours d’édition, que " +"[method _handles] est implémenté et qu'un [InputEvent] est déclenché dans la " +"fenêtre d'affichage 2D. Si cette méthode retourne [code]true[/code], [param " +"event]est intercepté par cet [EditorPlugin], sinon [param event] est transmis " +"aux autres classes d'éditeur.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Empêche le InputEvent d’atteindre d'autres classes d'éditeur.\n" +"func _forward_canvas_gui_input(event):\n" +"\treturn true\n" +"[/gdscript]\n" +"[csharp]\n" +"// Empêche le InputEvent d’atteindre d'autres classes d'éditeur.\n" +"public override bool ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\treturn true;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Cette métode doit retourner [code]false [/code] afin de transmettre le " +"[InputEvent] à d'autres classes d'éditeur.\n" +"[codeblocks]\n" +"[gdscript]\n" +"# Consomme le EventMouseMotion et transmet les autres types d'InputEvent.\n" +"func _forward_canvas_gui_input(event):\n" +"\tif (event is InputEventMouseMotion):\n" +"\t\treturn true\n" +"\treturn false\n" +"[/gdscript]\n" +"[csharp]\n" +"// Consomme le EventMouseMotion et transmet les autres types d'InputEvent.\n" +"public override bool _ForwardCanvasGuiInput(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventMouseMotion)\n" +"\t{\n" +"\t\treturn true;\n" +"\t}\n" +"\treturn false;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "" "This is for editors that edit script-based objects. You can return a list of " "breakpoints in the format ([code]script:line[/code]), for example: " @@ -45933,6 +47712,27 @@ msgstr "" "\treturn etat\n" "[/codeblock]" +msgid "" +"Implement this function if your plugin edits a specific type of object " +"(Resource or Node). If you return [code]true[/code], then you will get the " +"functions [method _edit] and [method _make_visible] called when the editor " +"requests them. If you have declared the methods [method " +"_forward_canvas_gui_input] and [method _forward_3d_gui_input] these will be " +"called too.\n" +"[b]Note:[/b] Each plugin should handle only one type of objects at a time. If " +"a plugin handles more types of objects and they are edited at the same time, " +"it will result in errors." +msgstr "" +"Implémentez cette fonction si votre plugin modifie un type spécifique d'objet " +"(Ressource ou Nœud). Si vous retournez [code]true[/code], alors vous " +"obtiendrez les fonctions [method _edit] et [method _make_visible] appelées " +"lorsque l'éditeur les demande. Si vous avez déclaré les méthodes [method " +"_forward_canvas_gui_input] et [method _forward_3d_gui_input] elles seront " +"également appelées.\n" +"[b]Note :[/b] Chaque plugin ne doit manipuler qu'un seul type d'objet à la " +"fois. Si un plugin gère plus de types d'objets et qu'ils sont modifiés en " +"même temps, cela entraînera des erreurs." + msgid "" "This function will be called when the editor is requested to become visible. " "It is used for plugins that edit a specific object type.\n" @@ -45974,6 +47774,92 @@ msgstr "" "\tcouleur_preferee= data.get(\"ma_couleur\", Color.WHITE)\n" "[/codeblock]" +msgid "" +"Restore the plugin GUI layout and data saved by [method _get_window_layout]. " +"This method is called for every plugin on editor startup. Use the provided " +"[param configuration] file to read your saved data.\n" +"[codeblock]\n" +"func _set_window_layout(configuration):\n" +"\t$Window.position = configuration.get_value(\"MyPlugin\", " +"\"window_position\", Vector2())\n" +"\t$Icon.modulate = configuration.get_value(\"MyPlugin\", \"icon_color\", " +"Color.WHITE)\n" +"[/codeblock]" +msgstr "" +"Restaurer l'interface graphique du plugin et les données enregistrées par " +"[method _get_window_layout]. Cette méthode est appelée pour chaque plugin au " +"démarrage de l'éditeur. Utilisez le fichier [param configuration] fourni pour " +"lire vos données sauvegardées.\n" +"[codeblock]\n" +"func _set_window_layout(configuration):\n" +"\t$Window.position = configuration.get_value(\"MyPlugin\", " +"\"window_position\", Vector2())\n" +"\t$Icon.modulate = configuration.get_value(\"MyPlugin\", \"icon_color\", " +"Couleur. WHITE)\n" +"[/codeblock]" + +msgid "Adds a script at [param path] to the Autoload list as [param name]." +msgstr "" +"Ajoute un script à [param path] à la liste des scripts chargés " +"automatiquement sous le nom [param name]." + +msgid "" +"Adds a control to the bottom panel (together with Output, Debug, Animation, " +"etc.). Returns a reference to a button that is outside the scene tree. It's " +"up to you to hide/show the button when needed. When your plugin is " +"deactivated, make sure to remove your custom control with [method " +"remove_control_from_bottom_panel] and free it with [method Node.queue_free].\n" +"[param shortcut] is a shortcut that, when activated, will toggle the bottom " +"panel's visibility. The shortcut object is only set when this control is " +"added to the bottom panel.\n" +"[b]Note[/b] See the default editor bottom panel shortcuts in the Editor " +"Settings for inspiration. By convention, they all use [kbd]Alt[/kbd] modifier." +msgstr "" +"Ajoute un contrôle au panneau inférieur (avec Sortie, Debug, Animation, " +"etc.). Retourne une référence à un bouton qui est en dehors de l'arborescence " +"de scène. Vous décidez de cacher / afficher le bouton au besoin. Lorsque " +"votre plugin est désactivé, assurez-vous de supprimer votre commande " +"personnalisée avec [method remove_control_from_bottom_panel] et de le libérer " +"avec [method Node.queue_free].\n" +"[param shortcut] est un raccourci qui, lorsqu'il est activé, va définir la " +"visibilité du panneau inférieur. L'objet raccourci n'est défini que lorsque " +"ce contrôle est ajouté au panneau inférieur.\n" +"[b]Note[/b] Voir les raccourcis par défaut du panneau de bas de l'éditeur " +"dans l'éditeur Paramètres pour inspiration. Par convention, ils utilisent " +"tous le modificateur [kbd]Alt[/kbd]." + +msgid "" +"Adds a custom type, which will appear in the list of nodes or resources.\n" +"When a given node or resource is selected, the base type will be instantiated " +"(e.g. \"Node3D\", \"Control\", \"Resource\"), then the script will be loaded " +"and set to this object.\n" +"[b]Note:[/b] The base type is the base engine class which this type's class " +"hierarchy inherits, not any custom type parent classes.\n" +"You can use the virtual method [method _handles] to check if your custom " +"object is being edited by checking the script or using the [code]is[/code] " +"keyword.\n" +"During run-time, this will be a simple object with a script so this function " +"does not need to be called then.\n" +"[b]Note:[/b] Custom types added this way are not true classes. They are just " +"a helper to create a node with specific script." +msgstr "" +"Ajoute un type personnalisé, qui apparaîtra dans la liste des nœuds ou des " +"ressources.\n" +"Lorsqu'un nœud ou une ressource donné est sélectionné, le type de base sera " +"instancié (par exemple \"Node3D\", \"Control\", \"Ressource\"), puis le " +"script sera chargé et défini sur cet objet.\n" +"[b]Note :[/b] Le type de base est la classe moteur de base qui hérite de la " +"hiérarchie de classe de ce type, pas de classes parentes de type " +"personnalisé.\n" +"Vous pouvez utiliser la méthode virtuelle [method _handles] pour vérifier si " +"votre objet personnalisé est modifié en vérifiant le script ou en utilisant " +"le mot-clé [code]is[/code].\n" +"Pendant l'exécution, ce sera un objet simple avec un script de sorte que " +"cette fonction n'a pas besoin d'être appelée à ce moment.\n" +"[b]Note :[/b] Les types personnalisés ajoutés de cette façon ne sont pas de " +"vraies classes. Ce ne sont que des assistants pour créer un nœud avec des " +"scripts spécifiques." + msgid "" "Registers a new [EditorExportPlugin]. Export plugins are used to perform " "tasks when the project is being exported.\n" @@ -45984,6 +47870,26 @@ msgstr "" "Voir [method add_inspector_plugin] pour un exemple sur comment enregistrer un " "greffon." +msgid "" +"Registers a new [EditorImportPlugin]. Import plugins are used to import " +"custom and unsupported assets as a custom [Resource] type.\n" +"If [param first_priority] is [code]true[/code], the new import plugin is " +"inserted first in the list and takes precedence over pre-existing plugins.\n" +"[b]Note:[/b] If you want to import custom 3D asset formats use [method " +"add_scene_format_importer_plugin] instead.\n" +"See [method add_inspector_plugin] for an example of how to register a plugin." +msgstr "" +"Enregistre un nouveau [EditorImportPlugin]. Les plugins d'importation sont " +"utilisés pour importer des éléments personnalisés et non reconnus comme un " +"type personnalisé [Resource].\n" +"Si [param first_priority] vaut [code]true[/code], le nouveau plugin " +"d'importation est inséré en premier dans la liste et a priorité sur les " +"plugins préexistants.\n" +"[b]Note :[/b] Si vous voulez importer des formats d'éléments 3D " +"personnalisés, utilisez plutôt [method add_scene_format_importer_plugin].\n" +"Voir [method add_inspector_plugin] pour un exemple sur comment enregistrer un " +"plugin." + msgid "" "Gets the Editor's dialog used for making scripts.\n" "[b]Note:[/b] Users can configure it before use.\n" @@ -46013,9 +47919,16 @@ msgid "Queue save the project's editor layout." msgstr "" "Met en file d'attente la sauvegarde de la disposition de l'éditeur du projet." +msgid "Removes an Autoload [param name] from the list." +msgstr "" +"Supprime un chargement automatique (Autoload) nommé [param name] de la liste." + msgid "Removes the specified context menu plugin." msgstr "Supprime le plugin de menu contextuel spécifié." +msgid "Use [method remove_dock] instead." +msgstr "Utilisez [method remove_dock] à la place." + msgid "" "Removes the control from the bottom panel. You have to manually [method " "Node.queue_free] the control." @@ -46081,6 +47994,9 @@ msgstr "" "Supprime l'[EditorScenePostImportPlugin], ajouté avec [method " "add_scene_post_import_plugin]." +msgid "Removes a menu [param name] from [b]Project > Tools[/b]." +msgstr "Retire un menu [param name] de [b]Projet > Outils[/b]." + msgid "" "Removes a custom translation parser plugin registered by [method " "add_translation_parser_plugin]." @@ -46088,6 +48004,15 @@ msgstr "" "Supprime un plugin de parsing de traduction personnalisé enregistré par " "[method add_translation_parser_plugin]." +msgid "" +"Emitted when user changes the workspace ([b]2D[/b], [b]3D[/b], [b]Script[/b], " +"[b]Game[/b], [b]AssetLib[/b]). Also works with custom screens defined by " +"plugins." +msgstr "" +"Émis quand l'utilisateur change d'espace de travail ([b]2D[/b], [b]3D[/b], " +"[b]Script[/b], [b]Jeu[/b], [b]AssetLib[/b]). Fonctionne aussi avec les écrans " +"personnalisés définis par des plugins." + msgid "Use [signal ProjectSettings.settings_changed] instead." msgstr "Utilisez [signal ProjectSettings.settings_changed] à la place." @@ -46148,6 +48073,13 @@ msgstr "" "l'éditeur de demander que cette propriété soit rafraîchie (laissez-le à " "[code]false[/code] en cas de doute)." +msgid "" +"Puts the [param editor] control below the property label. The control must be " +"previously added using [method Node.add_child]." +msgstr "" +"Place le contrôle [param editor] sous le label de la propriété. Le contrôle " +"doit d'abord être ajouté avec [method Node.add_child]." + msgid "" "Used by the inspector, set to [code]true[/code] when the property is " "checkable." @@ -46247,6 +48179,21 @@ msgstr "" "[b]Note :[/b] Ce [Control] n'inclut aucun éditeur de la ressource, car " "l'édition est contrôlée par l'inspecteur lui-même ou les sous-inspecteurs." +msgid "" +"This virtual method is called when updating the context menu of " +"[EditorResourcePicker]. Implement this method to override the \"New ...\" " +"items with your own options. [param menu_node] is a reference to the " +"[PopupMenu] node.\n" +"[b]Note:[/b] Implement [method _handle_menu_selected] to handle these custom " +"items." +msgstr "" +"Cette méthode virtuelle est appelée lors de la mise à jour du menu contextuel " +"de [EditorResourcePicker]. Implémenter cette méthode pour remplacer les " +"éléments dans « Nouveau... » par vos propres options. [param menu_node] est " +"une référence au nœud [PopupMenu].\n" +"[b]Note :[/b] Implémentez [method _handle_menu_selected] pour traiter ces " +"éléments personnalisés." + msgid "" "Returns a list of all allowed types and subtypes corresponding to the [member " "base_type]. If the [member base_type] is empty, an empty list is returned." @@ -46286,6 +48233,16 @@ msgstr "" msgid "Emitted when the value of the edited resource was changed." msgstr "Émis quand le valeur d'une ressource modifiée a été changée." +msgid "" +"Emitted when the resource value was set and user clicked to edit it. When " +"[param inspect] is [code]true[/code], the signal was caused by the context " +"menu \"Edit\" or \"Inspect\" option." +msgstr "" +"Émis lorsque la valeur de ressource a été définie et que l'utilisateur a " +"cliqué pour la modifier. Lorsque [param inspect] vaut [code]true[/code], le " +"signal a été causé par le menu contextuel \"Édition\" ou par l'option " +"\"Inspecter\"." + msgid "Create an own, custom preview generator." msgstr "Créez un générateur d’aperçu personnalisé." @@ -46296,6 +48253,52 @@ msgstr "" "Vérifiez si la ressource a changé, si oui, elle sera invalidée et le signal " "correspondant émis." +msgid "" +"Queue the [param resource] being edited for preview. Once the preview is " +"ready, the [param receiver]'s [param receiver_func] will be called. The " +"[param receiver_func] must take the following four arguments: [String] path, " +"[Texture2D] preview, [Texture2D] thumbnail_preview, [Variant] userdata. " +"[param userdata] can be anything, and will be returned when [param " +"receiver_func] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the [param " +"receiver_func] will still be called, but the preview will be [code]null[/" +"code]." +msgstr "" +"Met la [param resource] modifiée en attente pour être prévisualisée. Une fois " +"la prévisualisation prête, la méthode [param receiver_func] du [param " +"receiver] sera appelée. Le [param receiver_func] doit prendre les quatre " +"arguments suivants : le chemin (\"path\") [String], la [Texture] de l'aperçu " +"(\"preview\"), la [Texture] de la vignette (\"thumbnail_preview\") et les " +"données personnées (\"userdata\") sous forme de [Variant]. [param userdata] " +"peut contenir n'importe quel type de données, et sera retourné quand [param " +"receiver_func] sera appelé.\n" +"[b]Note :[/b] S'il n'était pas possible de créer la prévisualisation, [param " +"receiver_func] sera toujours appelé, mais la prévisualisation sera " +"[code]null[/code]." + +msgid "" +"Queue a resource file located at [param path] for preview. Once the preview " +"is ready, the [param receiver]'s [param receiver_func] will be called. The " +"[param receiver_func] must take the following four arguments: [String] path, " +"[Texture2D] preview, [Texture2D] thumbnail_preview, [Variant] userdata. " +"[param userdata] can be anything, and will be returned when [param " +"receiver_func] is called.\n" +"[b]Note:[/b] If it was not possible to create the preview the [param " +"receiver_func] will still be called, but the preview will be [code]null[/" +"code]." +msgstr "" +"Met le fichier de ressource situé à [param path] en attente pour être " +"prévisualisé. Une fois la prévisualisation prête, la méthode [param " +"receiver_func] du [param receiver] sera appelée. Le [param receiver_func] " +"doit prendre les quatre arguments suivants : le chemin (\"path\") [String], " +"la [Texture] de l'aperçu (\"preview\"), la [Texture] de la vignette " +"(\"thumbnail_preview\") et les données personnées (\"userdata\") sous forme " +"de [Variant]. [param userdata] peut contenir n'importe quel type de données, " +"et sera retourné quand[param receiver_func] sera appelé.\n" +"[b]Note :[/b] S'il n'était pas possible de créer la prévisualisation, [param " +"receiver_func] sera toujours appelé, mais la prévisualisation sera " +"[code]null[/code]." + msgid "Removes a custom preview generator." msgstr "Supprime un générateur d’aperçu personnalisé." @@ -46317,9 +48320,70 @@ msgstr "" "EditorSettings.filesystem/file_dialog/thumbnail_size] pour trouver une taille " "correcte à laquelle générer des aperçus." +msgid "" +"Generate a preview from a given resource with the specified size. This must " +"always be implemented.\n" +"Returning [code]null[/code] is an OK way to fail and let another generator " +"take care.\n" +"Care must be taken because this function is always called from a thread (not " +"the main thread).\n" +"[param metadata] dictionary can be modified to store file-specific metadata " +"that can be used in [method " +"EditorResourceTooltipPlugin._make_tooltip_for_path] (like image size, sample " +"length etc.)." +msgstr "" +"Génère un aperçu d'une ressource donnée avec la taille spécifiée. Cette " +"méthode doit toujours être implémenté.\n" +"Retourner [code]null[/code] est une bonne façon de signaler un échec et " +"laisser un autre générateur s'occuper de l'aperçu.\n" +"Cette opération nécessite de prendre des précautions car cette fonction est " +"toujours appelée à partir d'un fil d'exécution qui n'est pas le principal.\n" +"Le dictionnaire [param metadata] peut être modifié pour stocker des méta-data " +"spécifiques au fichier, qui peuvent être utilisées dans [method " +"EditorResourceTooltipPlugin._make_tooltip_for_path] (comme la taille des " +"images la longueur d'échantillonnage, etc.)." + +msgid "" +"Generate a preview directly from a path with the specified size. Implementing " +"this is optional, as default code will load and call [method _generate].\n" +"Returning [code]null[/code] is an OK way to fail and let another generator " +"take care.\n" +"Care must be taken because this function is always called from a thread (not " +"the main thread).\n" +"[param metadata] dictionary can be modified to store file-specific metadata " +"that can be used in [method " +"EditorResourceTooltipPlugin._make_tooltip_for_path] (like image size, sample " +"length etc.)." +msgstr "" +"Génère un aperçu directement à partir d'un chemin avec la taille spécifiée. " +"L'implémentation est facultative, car le code par défaut va charger et " +"appeler [method _generate].\n" +"Retourner [code]null[/code] est une bonne façon de signaler un échec et " +"laisser un autre générateur s'occuper de l'aperçu.\n" +"Cette méthode nécessite de prendre des précautions car cette fonction est " +"toujours appelée à partir d'un fil d'exécution qui n'est pas le principal.\n" +"Le dictionnaire [param metadata] peut être modifié pour stocker des méta-" +"datas spécifiques au fichier, pouvant être utilisées dans [method " +"EditorResourceTooltipPlugin._make_tooltip_for_path] (comme la taille de " +"l'image, la longueur d'échantillonnage etc.)." + +msgid "" +"Returns [code]true[/code] if your generator supports the resource of type " +"[param type]." +msgstr "" +"Retourne [code]true[/code] si votre générateur supporte les ressources du " +"type [param type]." + msgid "Imports scenes from third-parties' 3D files." msgstr "Importe des scènes à partir de fichiers 3D de tiers." +msgid "" +"Should return [code]true[/code] to show the given option, [code]false[/code] " +"to hide the given option, or [code]null[/code] to ignore." +msgstr "" +"Doit renvoyer [code]true[/code] pour afficher l'option donnée, [code]false[/" +"code] pour cacher l'option donnée, ou [code]null[/code] pour ignorer." + msgid "Importer for Blender's [code].blend[/code] scene file format." msgstr "" "Importeur pour le format de fichier de scène [code].blend[/code] de Blender." @@ -46391,6 +48455,79 @@ msgstr "" msgid "Base script that can be used to add extension functions to the editor." msgstr "Script de base qui permet d'étendre les fonctionnalités de l'éditeur." +msgid "" +"Scripts extending this class and implementing its [method _run] method can be " +"executed from the Script Editor's [b]File > Run[/b] menu option (or by " +"pressing [kbd]Ctrl + Shift + X[/kbd]) while the editor is running. This is " +"useful for adding custom in-editor functionality to Godot. For more complex " +"additions, consider using [EditorPlugin]s instead.\n" +"If a script extending this class also has a global class name, it will be " +"included in the editor's command palette.\n" +"[b]Note:[/b] Extending scripts need to have [code]tool[/code] mode enabled.\n" +"[b]Example:[/b] Running the following script prints \"Hello from the Godot " +"Editor!\":\n" +"[codeblocks]\n" +"[gdscript]\n" +"@tool\n" +"extends EditorScript\n" +"\n" +"func _run():\n" +"\tprint(\"Hello from the Godot Editor!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"using Godot;\n" +"\n" +"[Tool]\n" +"public partial class HelloEditor : EditorScript\n" +"{\n" +"\tpublic override void _Run()\n" +"\t{\n" +"\t\tGD.Print(\"Hello from the Godot Editor!\");\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] EditorScript is [RefCounted], meaning it is destroyed when " +"nothing references it. This can cause errors during asynchronous operations " +"if there are no references to the script." +msgstr "" +"Les scripts héritant de cette classe et implémentant la méthode [method _run] " +"peuvent être exécutés depuis l'éditeur de script avec l'option de menu " +"[b]Fichier > Lancer[/b] (ou avec [kbd]Ctrl + Shift + X[/kbd]) quand l'éditeur " +"est lancé. C'est utilise pour ajouter des fonctionnalités personnalisées dans " +"l'éditeur de Godot. Pour des additions plus complexes, préférez plutôt " +"utiliser [EditorPlugin].\n" +"Si un script élargissant cette classe a également un nom de classe mondial, " +"il sera inclus dans la palette de commandes de l'éditeur.\n" +"[b]Note :[/b] Les scripts doivent activer le mode [code]tool[/code] pour " +"cela.\n" +"[b]Exemple :[/b]Lancer le script suivant affiche\"Bonjour de l'Éditeur Godot!" +"\":\n" +"[codeblocks]\n" +"[gdscript]\n" +"@tool\n" +"extends EditorScript\n" +"\n" +"func _run():\n" +"\tprint(\"Hello from the Godot Editor!\")\n" +"[/gdscript]\n" +"[csharp]\n" +"using Godot;\n" +"\n" +"[Tool]\n" +"public partial class HelloEditor : EditorScript\n" +"{\n" +"\tpublic override void _Run()\n" +"\t{\n" +"\t\tGD.Print(\"Hello from the Godot Editor!\");\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note :[/b] EditorScript est [RefCounted], ce qui signifie qu'il est " +"détruit quand rien ne le mentionne. Cela peut causer des erreurs lors " +"d'opérations asynchrones s'il n'y a aucune référence au script." + msgid "This method is executed by the Editor when [b]File > Run[/b] is used." msgstr "" "Cette méthode est exécutée par l'éditeur quand [b]Ficher > Exécuter[/b] est " @@ -46537,9 +48674,21 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "Erases the setting whose name is specified by [param property]." +msgstr "Efface le réglage dont le nom est spécifié par [param property]." + msgid "Returns the list of favorite files and directories for this project." msgstr "Renvoie la liste des fichiers et répertoires favoris pour ce projet." +msgid "" +"Returns project-specific metadata for the [param section] and [param key] " +"specified. If the metadata doesn't exist, [param default] will be returned " +"instead. See also [method set_project_metadata]." +msgstr "" +"Retourne les métadonnées spécifiques au projet pour la [param section] " +"et[param key] spécifiées. Si les métadonnées n'existent pas, [param default] " +"sera retourné à la place. Voir aussi [method set_project_metadata]." + msgid "" "Returns the list of recently visited folders in the file dialog for this " "project." @@ -46547,9 +48696,52 @@ msgstr "" "Renvoie la liste des dossiers récemment visités dans le dialogue des fichiers " "de ce projet." +msgid "" +"Returns the value of the setting specified by [param name]. This is " +"equivalent to using [method Object.get] on the EditorSettings instance." +msgstr "" +"Retourne la valeur du paramètre spécifié par [param name]. Ceci est " +"équivalent à l'utiliser [method Object.get] sur l'instance EditorSettings." + +msgid "" +"Returns [code]true[/code] if the setting specified by [param name] exists, " +"[code]false[/code] otherwise." +msgstr "" +"Retourne [code]true[/code] si le paramètre spécifié par [param name] existe, " +"[code]false[/code] autrement." + +msgid "" +"Returns [code]true[/code] if the shortcut specified by [param path] exists, " +"[code]false[/code] otherwise." +msgstr "" +"Retourne [code]true[/code] si le paramètre spécifié par [param path] existe, " +"[code]false[/code] autrement." + +msgid "" +"Returns [code]true[/code] if the shortcut specified by [param path] matches " +"the event specified by [param event], [code]false[/code] otherwise." +msgstr "" +"Retourne [code]true[/code] si le paramètre spécifié par [param path] " +"correspond à l'événement spécifié par [param event], [code]false[/code] " +"autrement." + +msgid "Removes the shortcut specified by [param path]." +msgstr "Enlève le raccourci spécifié par [param path]." + msgid "Sets the list of favorite files and directories for this project." msgstr "Définit la liste des fichiers et dossiers favoris pour ce projet." +msgid "" +"Sets the initial value of the setting specified by [param name] to [param " +"value]. This is used to provide a value for the Revert button in the Editor " +"Settings. If [param update_current] is [code]true[/code], the setting is " +"reset to [param value] as well." +msgstr "" +"Définit la valeur initiale du réglage spécifié par [param name] à [param " +"value]. C'est utilisé pour définir une valeur pour le bouton Annuler dans les " +"préférences de l'éditeur. Siparam update_current] vaut[code]true[/code], le " +"paramètre est également réinitialisé à [param value]." + msgid "" "Sets project-specific metadata with the [param section], [param key] and " "[param data] specified. This metadata is stored outside the project folder " @@ -46568,6 +48760,20 @@ msgstr "" "Définit une liste des dossiers récemment visités dans le dialogue de fichiers " "de ce projet." +msgid "" +"Sets the [param value] of the setting specified by [param name]. This is " +"equivalent to using [method Object.set] on the EditorSettings instance." +msgstr "" +"Définit la [param value] du réglage spécifié par [param name]. Ceci équivaut " +"à l'utilisation de [method Object.set] sur l'instance EditeurSettings." + +msgid "" +"If [code]true[/code], automatically switches to the [b]Stack Trace[/b] panel " +"when the debugger hits a breakpoint or steps." +msgstr "" +"Si [code]true[/code], passe automatiquement au panneau [b]Stack Trace[/b] " +"lorsque le débogueur atteint un point d'arrêt ou des étapes." + msgid "" "The 3D editor gizmo color used for [CPUParticles3D] and [GPUParticles3D] " "nodes." @@ -46575,6 +48781,13 @@ msgstr "" "La couleur du manipulateur de l'éditeur 3D utilisée pour les nœuds " "[CPUParticles3D] et [GPUParticles3D]." +msgid "" +"If [code]true[/code], reopens shader files that were open in the shader " +"editor when the project was last closed." +msgstr "" +"Si [code]true[/code], ré-ouvre les fichiers de shader qui étaient ouverts " +"dans l'éditeur de shader lorsque le projet a été fermé pour la dernière fois." + msgid "The color of a port/connection of Vector2 type." msgstr "La couleur d'un port/connection de type Vector2." @@ -46584,6 +48797,47 @@ msgstr "La couleur d'un port/connection de type Vector3." msgid "The color of a port/connection of Vector4 type." msgstr "La couleur d'un port/connection de type Vector4." +msgid "" +"How to position the Cancel and OK buttons in the editor's [AcceptDialog] " +"windows. Different platforms have different conventions for this, which can " +"be overridden through this setting to avoid accidental clicks when using " +"Godot on multiple platforms.\n" +"- [b]Auto[/b] follows the platform convention: OK first on Windows, KDE, and " +"LXQt; Cancel first on macOS and other Linux desktop environments.\n" +"- [b]Cancel First[/b] forces the Cancel/OK ordering.\n" +"- [b]OK First[/b] forces the OK/Cancel ordering.\n" +"To check if these buttons are swapped at runtime, use [method " +"DisplayServer.get_swap_cancel_ok]." +msgstr "" +"Comment positionner les boutons Annuler et OK dans les fenêtres " +"[AcceptDialog] du projet. Différentes plates-formes ont différents " +"comportements standards pour cela, qui peuvent être redéfinis en utilisant ce " +"réglage pour éviter les clics accidentels lors de l'utilisation de Godot sur " +"plusieurs plateformes..\n" +"- [b]Auto[/b] suit la convention de la plateforme : OK d'abord sur Windows, " +"KDE et LXQt, Annuler d'abord sur macOS et les autres environnements de bureau " +"Linux.\n" +"- [b]Cancel First[/b] force l'ordre Annuler/OK.\n" +"- [b]OK First[/b] force l'ordre OK/Annuler.\n" +"Pour vérifier si ces boutons sont échangés lors de l'exécution, utilisez " +"[method DisplayServer.get_swap_cancel_ok]." + +msgid "" +"The language to use for the editor interface. If set to [b]Auto[/b], the " +"language is automatically determined based on the system locale. See also " +"[method EditorInterface.get_editor_language].\n" +"Translations are provided by the community. If you spot a mistake, " +"[url=https://contributing.godotengine.org/en/latest/documentation/translation/" +"index.html]contribute to editor translations on Weblate![/url]" +msgstr "" +"La langue à utiliser pour l'interface de l'éditeur. Si la langue est définie " +"sur [b]Auto[/b], la langue est automatiquement déterminée en fonction de la " +"langue du système. Voir aussi [method EditorInterface.get_editor_language].\n" +"Les traductions sont fournies par la communauté. Si vous constatez une " +"erreur, [url=https://contributing.godotengine.org/en/latest/documentation/" +"translation/index.html]contribuez aux traductions de éditeurs sur Weblate ![/" +"url]" + msgid "" "If [code]true[/code], keeps the screen on (even in case of inactivity), so " "the screensaver does not take over. Works on desktop and mobile platforms." @@ -46613,6 +48867,53 @@ msgstr "" "intrusif que [member text_editor/behavior/files/autosave_interval_secs] ou de " "se souvenir d'enregistrer manuellement." +msgid "Overrides the tablet driver used by the editor." +msgstr "Surcharge le pilote de tablette utilisé par l'éditeur." + +msgid "" +"If [code]true[/code], long press on touchscreen is treated as right click.\n" +"[b]Note:[/b] Defaults to [code]true[/code] on touchscreen devices." +msgstr "" +"Si [code]true[/code], une pression longue sur écran tactile est traitée comme " +"un clic droit.\n" +"[b]Note :[/b] Vaut par défaut [code]true[/code] sur des appareils à écran " +"tactile." + +msgid "" +"If [code]true[/code], increases the scrollbar touch area, enables a larger " +"dragger for split containers, and increases PopupMenu vertical separation to " +"improve usability on touchscreen devices.\n" +"[b]Note:[/b] Defaults to [code]true[/code] on touchscreen devices." +msgstr "" +"Si [code]true[/code], augmente la zone de contact de la barre de défilement, " +"permet un plus grand séparateur de conteneurs partagés, et augmente la " +"séparation verticale du PopupMenu pour améliorer l'utilisabilité des " +"dispositifs à écran tactile.\n" +"[b]Note :[/b] Vaut par défaut [code]true[/code] sur les dispositifs à écran " +"tactile." + +msgid "" +"Specify the multiplier to apply to the scale for the editor gizmo handles to " +"improve usability on touchscreen devices.\n" +"[b]Note:[/b] Defaults to [code]1[/code] on non-touchscreen devices." +msgstr "" +"Spécifie le multiplicateur à appliquer à l'échelle pour les gestionnaires " +"d'éditeur des manipulateurs pour améliorer la prise en main sur les appareils " +"tactiles.\n" +"[b]Note :[/b] Vaut par défaut [code]1[/code] sur les dispositifs à écran non " +"tactile." + +msgid "" +"The TLS certificate bundle to use for HTTP requests made within the editor " +"(e.g. from the AssetLib tab). If left empty, the [url=https://github.com/" +"godotengine/godot/blob/master/thirdparty/certs/ca-bundle.crt]included Mozilla " +"certificate bundle[/url] will be used." +msgstr "" +"Le paquet de certificats TLS à utiliser pour les requêtes HTTP faites au sein " +"de l'éditeur (p. ex. dans l'onglet AssetLib). Si vide, [url=https://" +"github.com/godotengine/godot/blob/master/thirdparty/certs/ca-bundle.crt] le " +"paquet de certificat de Mozilla inclus[/url] sera utilisé." + msgid "" "If [code]true[/code], enable TLSv1.3 negotiation.\n" "[b]Note:[/b] Only supported when using Mbed TLS 3.0 or later (Linux " @@ -46629,6 +48930,14 @@ msgid "If [code]true[/code], draws tab characters as chevrons." msgstr "" "Si [code]true[/code], dessine les caractères de tabulation comme des chevrons." +msgid "" +"If [code]true[/code], provides autocompletion suggestions for file paths in " +"methods such as [code]load()[/code] and [code]preload()[/code]." +msgstr "" +"Si [code]true[/code], fournit des suggestions d'autocomplétion pour les " +"chemins de fichiers dans des méthodes telles que [code]load()[/code] et " +"[code]preload()[/code]." + msgid "The script editor's caret color." msgstr "La couleur du curseur de l'éditeur de script." @@ -46678,6 +48987,52 @@ msgstr "" "\"annuler\" est perdue. Ceci est utile surtout pour les nœuds retirés avec " "l'appel \"faire\" (et non pas l'appel \"annuler\" !)." +msgid "" +"Commits the action. If [param execute] is [code]true[/code] (default), all " +"\"do\" methods/properties are called/set when this function is called." +msgstr "" +"Exécute l'action. Si [param execute] vaut [code]true[/code] (valeur par " +"défaut), toutes les méthodes/propriétés \"do\" sont appelées/définies lorsque " +"cette fonction est appelée." + +msgid "" +"Create a new action. After this is called, do all your calls to [method " +"add_do_method], [method add_undo_method], [method add_do_property], and " +"[method add_undo_property], then commit the action with [method " +"commit_action].\n" +"The way actions are merged is dictated by the [param merge_mode] argument.\n" +"If [param custom_context] object is provided, it will be used for deducing " +"target history (instead of using the first operation).\n" +"The way undo operation are ordered in actions is dictated by [param " +"backward_undo_ops]. When [param backward_undo_ops] is [code]false[/code] undo " +"option are ordered in the same order they were added. Which means the first " +"operation to be added will be the first to be undone.\n" +"If [param mark_unsaved] is [code]false[/code], the action will not mark the " +"history as unsaved. This is useful for example for actions that change a " +"selection, or a setting that will be saved automatically. Otherwise, this " +"should be left to [code]true[/code] if the action requires saving by the user " +"or if it can cause data loss when left unsaved." +msgstr "" +"Crée une nouvelle action. Après cet appel, faites tous vos appels à [method " +"add_do_method], [method add_undo_method], [method add_do_property], et " +"[method add_undo_property], puis engagez l'action avec [method " +"commit_action].\n" +"La façon dont les actions sont fusionnées est dictée par l'argument [param " +"merge_mode].\n" +"Si l'objet [param custom_context] est fourni, il sera utilisé pour déduire " +"l'historique cible (au lieu d'utiliser la première opération).\n" +"La façon dont les opération \"undo\" sont ordonnées dans les actions est " +"dictée par [param backward_undo_ops]. Lorsque [param backward_undo_ops] vaut " +"[code]false[/code]les options \"undo\" sont ordonnées dans le même ordre " +"qu'elles ont été ajoutées. Ce qui signifie que la première opération à être " +"ajoutée sera la première à être défaite.\n" +"Si [param mark_unsaved] vaut[code]false[/code], l'action ne marquera pas " +"l'historique comme non sauvegardée. Ceci est utile par exemple pour les " +"actions qui modifient une sélection, ou un réglage qui sera sauvegardé " +"automatiquement. Sinon, cela devrait être laissé à [code]true[/code] si " +"l'action nécessite une sauvegarde par l'utilisateur ou si elle peut causer " +"une perte de données lorsqu'elle est laissée non sauvegardée." + msgid "" "Emitted when the version of any history has changed as a result of undo or " "redo call." @@ -46688,6 +49043,11 @@ msgstr "" msgid "Version control systems" msgstr "Systèmes de contrôle de version" +msgid "Discards the changes made in a file present at [param file_path]." +msgstr "" +"Ignore les modifications faites dans le fichier à l'emplacement [param " +"file_path]." + msgid "Gets the current branch name defined in the VCS." msgstr "" "Obtient le nom de branche actuel défini dans le système de contrôle de " @@ -46719,6 +49079,40 @@ msgstr "" msgid "Remove a remote from the local VCS." msgstr "Supprimer un dépôt distant du VCS local." +msgid "" +"Helper function to add an array of [param diff_hunks] into a [param " +"diff_file]." +msgstr "" +"Assistant de fonction pour ajouter un tableau de [param diff_hunks] dans un " +"[param diff_file]." + +msgid "" +"Helper function to add an array of [param line_diffs] into a [param " +"diff_hunk]." +msgstr "" +"Fonction d'aide pour ajouter un tableau de [param line_diffs] dans un [param " +"diff_hunk]." + +msgid "" +"Helper function to create a commit [Dictionary] item. [param msg] is the " +"commit message of the commit. [param author] is a single human-readable " +"string containing all the author's details, e.g. the email and name " +"configured in the VCS. [param id] is the identifier of the commit, in " +"whichever format your VCS may provide an identifier to commits. [param " +"unix_timestamp] is the UTC Unix timestamp of when the commit was created. " +"[param offset_minutes] is the timezone offset in minutes, recorded from the " +"system timezone where the commit was created." +msgstr "" +"Une fonction d'aide pour créer un [Dictionary] des données d'un commit. " +"[param msg] est le message de commit. [param author] est une simple chaîne " +"intelligible contenant tous les détails de l'auteur, par exemple son e-mail " +"et le nom comme configurés dans le VCS. [param id] est le code de hachage du " +"commit, dans le format préféré de votre VCS pour fournir un identifiant " +"unique pour chaque commit. [param unix_timestamp] est l'horodatage Unix basé " +"sur UTC de la date de création de la commit. [param offset_minutes] est le " +"décalage horaire par rapport à UTC, en minutes, enregistré depuis la zone " +"horaire du système lors de la création du commit." + msgid "A new file has been added." msgstr "Un nouveau fichier a été ajouté." @@ -47114,6 +49508,41 @@ msgstr "" "également le port donné, cela est utile pour certaines techniques de " "traversée NAT." +msgid "" +"Create server that listens to connections via [param port]. The port needs to " +"be an available, unused port between 0 and 65535. Note that ports below 1024 " +"are privileged and may require elevated permissions depending on the " +"platform. To change the interface the server listens on, use [method " +"set_bind_ip]. The default IP is the wildcard [code]\"*\"[/code], which " +"listens on all available interfaces. [param max_clients] is the maximum " +"number of clients that are allowed at once, any number up to 4095 may be " +"used, although the achievable number of simultaneous clients may be far lower " +"and depends on the application. For additional details on the bandwidth " +"parameters, see [method create_client]. Returns [constant OK] if a server was " +"created, [constant ERR_ALREADY_IN_USE] if this ENetMultiplayerPeer instance " +"already has an open connection (in which case you need to call [method " +"MultiplayerPeer.close] first) or [constant ERR_CANT_CREATE] if the server " +"could not be created." +msgstr "" +"Créer un serveur qui écoute les connexions via [param port]. Le port doit " +"être un port disponible et inutilisé entre 0 et 65535. Notez que les ports " +"inférieurs à 1024 sont réservés et peuvent nécessiter des autorisations " +"élevées en fonction de la plateforme. Pour modifier l'interface que le " +"serveur écoute, utilisez [method set_bind_ip]. L'IP par défaut est le joker " +"[code]\"*\"[/code], qui écoute toutes les interfaces disponibles. [param " +"max_clients] est le nombre maximum de clients autorisés en même temps, tout " +"nombre jusqu'à 4095 peut être utilisé, même si le nombre possible de clients " +"simultanés peut être beaucoup plus faible et dépend de l'application. Pour " +"plus de détails sur les paramètres de bande passante, voir [method " +"create_client]. Retourne [constant OK] si un serveur a été créé, [constant " +"ERR_ALREADY_IN_USE] si cette instance de ENetMultiplayerPeer a déjà une " +"connexion ouverte (dans cecas vous devez appeler [method " +"MultiplayerPeer.close] d'abord) ou [constant ERR_CANT_CREATE] si le serveur " +"ne peut pas être créé." + +msgid "Returns the [ENetPacketPeer] associated to the given [param id]." +msgstr "Retourne le [ENetPacketPeer] associé au [param id] donné." + msgid "" "The IP used when creating a server. This is set to the wildcard [code]\"*\"[/" "code] by default, which binds to all available interfaces. The given IP needs " @@ -47232,6 +49661,29 @@ msgstr "" "pas averti de la déconnexion et fera un timeout sur sa connexion à l'hôte " "local." +msgid "" +"Sets the timeout parameters for a peer. The timeout parameters control how " +"and when a peer will timeout from a failure to acknowledge reliable traffic. " +"Timeout values are expressed in milliseconds.\n" +"The [param timeout] is a factor that, multiplied by a value based on the " +"average round trip time, will determine the timeout limit for a reliable " +"packet. When that limit is reached, the timeout will be doubled, and the peer " +"will be disconnected if that limit has reached [param timeout_min]. The " +"[param timeout_max] parameter, on the other hand, defines a fixed timeout for " +"which any packet must be acknowledged or the peer will be dropped." +msgstr "" +"Définit les paramètres de limite de temps pour un pair. Les paramètres de " +"limite de temps contrôlent comment et quand un pair estimera que le trafic " +"n'est pas assez fiable. Les valeurs de limite de temps sont exprimées en " +"millisecondes.\n" +"Le[param timeout] est un facteur qui, multiplié par une valeur basée sur le " +"temps d'envoi moyen, déterminera la limite de temps pour un paquet fiable. " +"Lorsque cette limite est atteinte, la limite de temps sera doublée, et le " +"pair sera déconnecté si cette limite atteint [param timeout_min]. Le " +"paramètre [param timeout_max] , d'autre part, définit une limite de temps " +"fixe pour lequel tout paquet doit estimé comme fiable, ou alors le pair sera " +"supprimé." + msgid "The peer is disconnected." msgstr "Le pair est déconnecté." @@ -47557,6 +50009,118 @@ msgstr "" "n'est [i]pas[/i] libéré. Fonctionne seulement avec des singletons définis par " "l'utilisateur et enregistrés avec [method register_singleton]." +msgid "" +"The maximum number of frames that can be rendered every second (FPS). A value " +"of [code]0[/code] means the framerate is uncapped.\n" +"Limiting the FPS can be useful to reduce the host machine's power " +"consumption, which reduces heat, noise emissions, and improves battery life.\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/b] " +"or [b]Adaptive[/b], the setting takes precedence and the max FPS number " +"cannot exceed the monitor's refresh rate. See also [method " +"DisplayServer.screen_get_refresh_rate].\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/" +"b], on monitors with variable refresh rate enabled (G-Sync/FreeSync), using " +"an FPS limit a few frames lower than the monitor's refresh rate will " +"[url=https://blurbusters.com/howto-low-lag-vsync-on/]reduce input lag while " +"avoiding tearing[/url]. At higher refresh rates, the difference between the " +"FPS limit and the monitor refresh rate should be increased to ensure frames " +"to account for timing inaccuracies. The optimal formula for the FPS limit " +"value in this scenario is [code]r - (r * r) / 3600.0[/code], where [code]r[/" +"code] is the monitor's refresh rate.\n" +"[b]Note:[/b] The actual number of frames per second may still be below this " +"value if the CPU or GPU cannot keep up with the project's logic and " +"rendering.\n" +"[b]Note:[/b] If [member ProjectSettings.display/window/vsync/vsync_mode] is " +"[b]Disabled[/b], limiting the FPS to a high value that can be consistently " +"reached on the system can reduce input lag compared to an uncapped framerate. " +"Since this works by ensuring the GPU load is lower than 100%, this latency " +"reduction is only effective in GPU-bottlenecked scenarios, not CPU-" +"bottlenecked scenarios." +msgstr "" +"Le nombre maximal d'images qui peuvent être rendues chaque seconde (FPS). Une " +"valeur de [code]0[/code] signifie que le framerate n'est pas limité.\n" +"Limiter les FPS peut être utile pour réduire la consommation d'énergie de la " +"machine hôte, ce qui réduit la chaleur, les émissions sonores et améliore la " +"durée de vie de la batterie.\n" +"Si [member ProjectSettings.display/window/vsync/vsync_mode] vaut [b]Enabled[/" +"b] ou [b]Adaptive[/b], le paramètre a priorité et le nombre max de FPS ne " +"peut dépasser le taux de rafraîchissement du moniteur. Voir aussi [method " +"DisplayServer.screen_get_refresh_rate].\n" +"Si [member ProjectSettings.display/window/vsync/vsync_mode] vaut [b]Enabled[/" +"b], sur les moniteurs à taux de rafraîchissement variable (G-Sync/FreeSync), " +"en utilisant une limite de FPS inférieure de quelques images à la vitesse de " +"rafraîchissement du moniteur [url=https://blurbusters.com/howto-low-lag-vsync-" +"on/]réduit l'imput lag tout en évitant les déchirures[/url]. Sur des taux de " +"rafraîchissement plus élevés, il faudrait accroître la différence entre la " +"limite de FPS et le taux de rafraîchissement du moniteur afin de tenir compte " +"des inexactitudes temporelles. La formule optimale pour la valeur limite des " +"FPS dans ce scénario est [code]r - (r * r) / 3600.0[/code], où [code]r[/code] " +"est le taux de rafraîchissement du moniteur.\n" +"[b]Note :[/b] Le nombre réel d'images par seconde peut encore être inférieur " +"à cette valeur si le CPU ou le GPU ne peut pas respecter la logique et le " +"rendu du projet.\n" +"[b]Note :[/b] Si [member ProjectSettings.display/window/vsync/vsync_mode] " +"vaut [b]Disabled[/b], limiter les FPS à une valeur élevée qui peut être " +"constamment atteinte sur le système peut réduire l'imput lag par rapport à un " +"framerate non plafonné. Comme cela fonctionne en veillant à ce que la charge " +"GPU soit inférieure à 100%, cette réduction de latence n'est efficace que " +"dans les scénarios limités par le GPU, et non dans les scénarios limités par " +"le CPU." + +msgid "" +"The number of fixed iterations per second. This controls how often physics " +"simulation and the [method Node._physics_process] method are run.\n" +"CPU usage scales approximately with the physics tick rate. However, at very " +"low tick rates (usually below 30), physics behavior can break down. Input can " +"also become less responsive at low tick rates as there can be a gap between " +"input being registered, and the response on the next physics tick. High tick " +"rates give more accurate physics simulation, particularly for fast moving " +"objects. For example, racing games may benefit from increasing the tick rate " +"above the default 60.\n" +"See also [member max_fps] and [member ProjectSettings.physics/common/" +"physics_ticks_per_second].\n" +"[b]Note:[/b] Only [member max_physics_steps_per_frame] physics ticks may be " +"simulated per rendered frame at most. If more physics ticks have to be " +"simulated per rendered frame to keep up with rendering, the project will " +"appear to slow down (even if [code]delta[/code] is used consistently in " +"physics calculations). Therefore, it is recommended to also increase [member " +"max_physics_steps_per_frame] if increasing [member physics_ticks_per_second] " +"significantly above its default value.\n" +"[b]Note:[/b] Consider enabling [url=$DOCS_URL/tutorials/physics/interpolation/" +"index.html]physics interpolation[/url] if you change [member " +"physics_ticks_per_second] to a value that is not a multiple of [code]60[/" +"code]. Using physics interpolation will avoid jittering when the monitor " +"refresh rate and physics update rate don't exactly match." +msgstr "" +"Le nombre d'itérations fixes par seconde. Cela contrôle combien de fois la " +"simulation physique et la méthode [method Node._physics_process] sont " +"exécutées. \n" +"L'utilisation du processeur augmente linéairement avec le taux de tic " +"physique. Cependant, à des taux de tic très faibles (généralement inférieurs " +"à 30), le comportement physique peut se décomposer. L'entrée peut également " +"devenir moins sensible à des taux de tic faibles car il peut y avoir un écart " +"entre l'entrée étant enregistrée, et la réponse sur la prochaine tic de " +"physique. Des taux de tic élevés donnent une simulation physique plus " +"précise, en particulier pour les objets en mouvement rapide. Par exemple, les " +"jeux de course peuvent bénéficier d'augmenter le taux de tics au-dessus du " +"taux par défaut de 60.\n" +"Voir aussi [member max_fps] et [member ProjectSettings.physics/common/" +"physics_ticks_per_second].\n" +"[b]Note :[/b] Seul les tics physiques [member max_physics_steps_per_frame] " +"peuvent être simulées par trame visuelle rendue au maximum. Si des tics " +"physiques suplémentaires doivent être simulées pour maintenir le rendu, le " +"projet semblera ralentir (même si [code]delta[/code] est utilisé " +"systématiquement dans les calculs de physique). Par conséquent, il est " +"recommandé d'augmenter [member max_physics_steps_per_frame] si vous augmentez " +"[member physics_ticks_per_second] significativement au-dessus de sa valeur " +"par défaut.\n" +"[b]Note:[/b] Envisager d'activer l'[url=$DOCS_URL/tutorials/physics/" +"interpolation/index.html]interpolation de la physique[/url] si vous changez " +"[member physics_ticks_per_second] à une valeur qui n'est pas multiple de " +"[code]60[/code]. L'utilisation de l'interpolation de la physique évitera les " +"déchirements lorsque le taux de rafraîchissement du moniteur et le taux de " +"mise à jour de la physique ne correspondent pas exactement." + msgid "Exposes the internal debugger." msgstr "Expose le débogueur interne." @@ -47591,6 +50155,11 @@ msgstr "" "Renvoie [code]true[/code] si le débogueur saute les points d'arrêt, sinon " "[code]false[/code]." +msgid "Removes a breakpoint with the given [param source] and [param line]." +msgstr "" +"Enlève un point d'arrêt en lien avec la [param source] et la ligne [param " +"line] données." + msgid "Sends a message with given [param message] and [param data] array." msgstr "" "Envoie un message avec le [param message] et le tableau [param data] donnés." @@ -49230,6 +51799,136 @@ msgstr "" "appelés nœuds d'aide à la géométrie. Ces nœuds aident à préserver les pivots " "et les transformations du modèle 3D original lors de l'import." +msgid "" +"This class can be used to permanently store data in the user device's file " +"system and to read from it. This is useful for storing game save data or " +"player configuration files.\n" +"[b]Example:[/b] How to write and read from a file. The file named [code]" +"\"save_game.dat\"[/code] will be stored in the user data folder, as specified " +"in the [url=$DOCS_URL/tutorials/io/data_paths.html]Data paths[/url] " +"documentation:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func save_to_file(content):\n" +"\tvar file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n" +"\tfile.store_string(content)\n" +"\n" +"func load_from_file():\n" +"\tvar file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n" +"\tvar content = file.get_as_text()\n" +"\treturn content\n" +"[/gdscript]\n" +"[csharp]\n" +"public void SaveToFile(string content)\n" +"{\n" +"\tusing var file = FileAccess.Open(\"user://save_game.dat\", " +"FileAccess.ModeFlags.Write);\n" +"\tfile.StoreString(content);\n" +"}\n" +"\n" +"public string LoadFromFile()\n" +"{\n" +"\tusing var file = FileAccess.Open(\"user://save_game.dat\", " +"FileAccess.ModeFlags.Read);\n" +"\tstring content = file.GetAsText();\n" +"\treturn content;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"A [FileAccess] instance has its own file cursor, which is the position in " +"bytes in the file where the next read/write operation will occur. Functions " +"such as [method get_8], [method get_16], [method store_8], and [method " +"store_16] will move the file cursor forward by the number of bytes read/" +"written. The file cursor can be moved to a specific position using [method " +"seek] or [method seek_end], and its position can be retrieved using [method " +"get_position].\n" +"A [FileAccess] instance will close its file when the instance is freed. Since " +"it inherits [RefCounted], this happens automatically when it is no longer in " +"use. [method close] can be called to close it earlier. In C#, the reference " +"must be disposed manually, which can be done with the [code]using[/code] " +"statement or by calling the [code]Dispose[/code] method directly.\n" +"[b]Note:[/b] To access project resources once exported, it is recommended to " +"use [ResourceLoader] instead of [FileAccess], as some files are converted to " +"engine-specific formats and their original source files might not be present " +"in the exported PCK package. If using [FileAccess], make sure the file is " +"included in the export by changing its import mode to [b]Keep File (exported " +"as is)[/b] in the Import dock, or, for files where this option is not " +"available, change the non-resource export filter in the Export dialog to " +"include the file's extension (e.g. [code]*.txt[/code]).\n" +"[b]Note:[/b] Files are automatically closed only if the process exits " +"\"normally\" (such as by clicking the window manager's close button or " +"pressing [kbd]Alt + F4[/kbd]). If you stop the project execution by pressing " +"[kbd]F8[/kbd] while the project is running, the file won't be closed as the " +"game process will be killed. You can work around this by calling [method " +"flush] at regular intervals." +msgstr "" +"Cette classe peut être implémentée pour stocker de manière permanente des " +"données dans le système de fichier de l'appareil de l'utilisateur, et pour en " +"lire. C'est utile pour stocker des données de sauvegardes ou des fichiers de " +"configuration de jeux.\n" +"[b]Example:[/b] Comment écrire et lire dans un fichier. Le fichier nommé " +"[code]\"save_game.dat\"[/code] sera stocké dans le dossier \"data\" de " +"l'utilisateur, comme indiqué dans la [url=$DOCS_URL/tutorials/io/" +"data_paths.html]Data paths[/url] documentation :\n" +"[codeblocks]\n" +"[gdscript]\n" +"func save_to_file(content):\n" +"\tvar file = FileAccess.open(\"user://save_game.dat\", FileAccess.WRITE)\n" +"\tfile.store_string(content)\n" +"\n" +"func load_from_file():\n" +"\tvar file = FileAccess.open(\"user://save_game.dat\", FileAccess.READ)\n" +"\tvar content = file.get_as_text()\n" +"\treturn content\n" +"[/gdscript]\n" +"[csharp]\n" +"public void SaveToFile(string content)\n" +"{\n" +"\tusing var file = FileAccess.Open(\"user://save_game.dat\", " +"FileAccess.ModeFlags.Write);\n" +"\tfile.StoreString(content);\n" +"}\n" +"\n" +"public string LoadFromFile()\n" +"{\n" +"\tusing var file = FileAccess.Open(\"user://save_game.dat\", " +"FileAccess.ModeFlags.Read);\n" +"\tstring content = file.GetAsText();\n" +"\treturn content;\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Une instance de [FileAccess] a son propre curseur de fichier, qui est la " +"position en bytes dans le fichier ou la prochaine opération de lecture/" +"écriture aura lieu. Les fonctions telles que [method get_8], [method get_16], " +"[method store_8], et[method store_16] déplaceront le curseur de fichier en " +"avant du nombre de bytes lus/écrits. Le curseur de fichier peut être déplacé " +"à une position spécifiée en utilisant la [method seek] ou[method seek_end], " +"et sa position peut être récupérée en utilisant [method get_position].\n" +"Une instance de [FileAccess] est fermée lorsque sont instance est libérée. " +"Étant donné qu'elle hérite de [RefCounted], cette opération est réalisée " +"automatiquement lorsqu'elle n'est plus utilisée. [method close] peut être " +"appelée pour la fermer plus tôt. En C#, la référence peut être supprimée " +"manuellement, ce qui peut être réalisé avec l'instruction [code]using[/code] " +"ou en appelant la méthode [code]Dispose[/code] directement.\n" +"[b]Note:[/b] Pour accéder aux ressources du projet une fois exporté, il est " +"recommandé d'utiliser [ResourceLoader] au lieu de [FileAccess], car certains " +"fichiers sont convertis en formats spécifiques au moteur et leurs fichiers " +"sources originaux pourraient ne pas être présents dans le paquet PCK exporté. " +"Si vous utilisez [FileAccess], assurez-vous que le fichier est inclus dans " +"l'exportation en changeant son mode d'importation à [b]Keep File (exported as " +"is)[/b] dans le dock d'importation, ou, pour les fichiers où cette option " +"n'est pas disponible, modifiez le filtre d'exportation non-ressource dans le " +"dialogue Exporter pour inclure l'extension du fichier (e.g. [code]*.txt[/" +"code]).\n" +"[b]Note : [/b] Les fichiers sont automatiquement fermés seulement si le " +"processus termine « normalement » (comme en cliquant sur le bouton de " +"fermeture du gestionnaire de fenêtre ou en appuyant sur [kbd]Alt + F4[/kbd]). " +"Si vous arrêtez l'exécution du projet en appuyant sur [kbd]F8[/kbd] pendant " +"que le projet est en cours d'exécution, le fichier ne sera pas fermé car le " +"processus de jeu sera arrêté. Vous pouvez contourner cela en appelant [method " +"flush] à intervalles réguliers." + msgid "" "Returns the last error that happened when trying to perform operations. " "Compare with the [code]ERR_FILE_*[/code] constants from [enum Error]." @@ -49238,6 +51937,15 @@ msgstr "" "opération. Comparez-la avec les constantes [code]ERR_FILE_*[/code] de [enum " "Error]." +msgid "" +"Returns [code]true[/code] if the [b]hidden[/b] attribute is set on the file " +"at the given path.\n" +"[b]Note:[/b] This method is implemented on iOS, BSD, macOS, and Windows." +msgstr "" +"Retourne [code]true[/code] si l'attribut [b]hidden[/b] est défini sur le " +"fichier du chemin donné.\n" +"[b]Note :[/b] Cette méthode est disponible sur iOS, BSD, macOS et Windows." + msgid "" "Returns an MD5 String representing the file at the given path or an empty " "[String] on failure." @@ -49252,9 +51960,150 @@ msgid "Returns the absolute path as a [String] for the current open file." msgstr "" "Renvoie le chemin absolu en tant que [String] du fichier actuellement ouvert." +msgid "" +"Returns [code]true[/code] if the [b]read only[/b] attribute is set on the " +"file at the given path.\n" +"[b]Note:[/b] This method is implemented on iOS, BSD, macOS, and Windows." +msgstr "" +"Retourne [code]true[/code] si l'attribut [b]read only[/b] est défini sur le " +"fichier sur le chemin donné.\n" +"[b]Note:[/b] Cette méthode est implémentée sur iOS, BSD, macOS et Windows." + +msgid "" +"Returns the size of the file at the given path, in bytes, or [code]-1[/code] " +"on error." +msgstr "" +"Renvoie la taille du fichier sur le chemin donné, en bytes, ou [code]-1[/" +"code] en cas d'erreur." + msgid "Returns [code]true[/code] if the file is currently opened." msgstr "Renvoie [code]true[/code] si le fichier est actuellement ouvert." +msgid "" +"Sets file [b]hidden[/b] attribute.\n" +"[b]Note:[/b] This method is implemented on iOS, BSD, macOS, and Windows." +msgstr "" +"Ajoute l'attribut [b]hidden[/b] au fichier.\n" +"[b]Note :[/b] Cette méthode est implémentée sur OS, BSD, macOS, et Windows." + +msgid "" +"Sets file [b]read only[/b] attribute.\n" +"[b]Note:[/b] This method is implemented on iOS, BSD, macOS, and Windows." +msgstr "" +"Ajoute l'attribut [b]read only[/b] au fichier\n" +"[b]Note :[/b] Cette méthode est implémentée sur iOS, BSD, macOS, et Windows." + +msgid "" +"Stores an integer as 8 bits in the file. This advances the file cursor by 1 " +"byte. Returns [code]true[/code] if the operation is successful.\n" +"[b]Note:[/b] The [param value] should lie in the interval [code][0, 255][/" +"code]. Any other value will overflow and wrap around.\n" +"[b]Note:[/b] If an error occurs, the resulting value of the file position " +"indicator is indeterminate.\n" +"To store a signed integer, use [method store_64], or convert it manually (see " +"[method store_16] for an example)." +msgstr "" +"Enregistre un entier sur 8 bits dans le fichier. Cela avance le curseur de " +"fichier de 8 bytes. Retourne [code]true[/code] si l'opération est réussie.\n" +"[b]Note :[/b] La [param value] doit se situer dans l'intervalle [code][0, 255]" +"[/code]. Toute autre valeur va déborder et boucler.\n" +"[b]Note :[/b] Si une erreur survient, la valeur résultante de l'indicateur de " +"position du fichier est indéterminée.\n" +"Pour stocker un entier signé, utilisez [method store_64] ou convertissez-le " +"manuellement (voir [method store_16] pour un exemple)." + +msgid "" +"Stores an integer as 16 bits in the file. This advances the file cursor by 2 " +"bytes. Returns [code]true[/code] if the operation is successful.\n" +"[b]Note:[/b] The [param value] should lie in the interval [code][0, 2^16 - 1]" +"[/code]. Any other value will overflow and wrap around.\n" +"[b]Note:[/b] If an error occurs, the resulting value of the file position " +"indicator is indeterminate.\n" +"To store a signed integer, use [method store_64] or store a signed integer " +"from the interval [code][-2^15, 2^15 - 1][/code] (i.e. keeping one bit for " +"the signedness) and compute its sign manually when reading. For example:\n" +"[codeblocks]\n" +"[gdscript]\n" +"const MAX_15B = 1 << 15\n" +"const MAX_16B = 1 << 16\n" +"\n" +"func unsigned16_to_signed(unsigned):\n" +"\treturn (unsigned + MAX_15B) % MAX_16B - MAX_15B\n" +"\n" +"func _ready():\n" +"\tvar f = FileAccess.open(\"user://file.dat\", FileAccess.WRITE_READ)\n" +"\tf.store_16(-42) # This wraps around and stores 65494 (2^16 - 42).\n" +"\tf.store_16(121) # In bounds, will store 121.\n" +"\tf.seek(0) # Go back to start to read the stored value.\n" +"\tvar read1 = f.get_16() # 65494\n" +"\tvar read2 = f.get_16() # 121\n" +"\tvar converted1 = unsigned16_to_signed(read1) # -42\n" +"\tvar converted2 = unsigned16_to_signed(read2) # 121\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +"\tusing var f = FileAccess.Open(\"user://file.dat\", " +"FileAccess.ModeFlags.WriteRead);\n" +"\tf.Store16(unchecked((ushort)-42)); // This wraps around and stores 65494 " +"(2^16 - 42).\n" +"\tf.Store16(121); // In bounds, will store 121.\n" +"\tf.Seek(0); // Go back to start to read the stored value.\n" +"\tushort read1 = f.Get16(); // 65494\n" +"\tushort read2 = f.Get16(); // 121\n" +"\tshort converted1 = (short)read1; // -42\n" +"\tshort converted2 = (short)read2; // 121\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Enregistre un entier au format 16 bits dans le fichier. Cette opération " +"avance le curseur de fichier de 2 bytes. Retourne [code]true[/code] si " +"l'opération est réussie.\n" +"[b]Note :[/b] La [param value] doit entre dans l'intervalle [code][0, 2^16 - " +"1][/code]. Toute autre valeur dépassera et sera alors réduite à cet " +"intervalle.\n" +"[b]Note:[/b] Si une erreur se produit, la valeur résultante de l'indicateur " +"de position du fichier est indéterminée.\n" +"Pour stocker un entier signé, utilisez [method store_64] ou stockez un entier " +"signé à partir de l'intervalle [code][-2^15, 2^15 - 1][/code] (c.-à-d. garder " +"un bit pour la signature) et calculer son signe manuellement lors de la " +"lecture. Par exemple :\n" +"[codeblocks]\n" +"[gdscript]\n" +"const MAX_15B = 1 << 15\n" +"const MAX_16B = 1 << 16\n" +"\n" +"func unsigned16_to_signed(unsigned):\n" +"\treturn (unsigned + MAX_15B) % MAX_16B - MAX_15B\n" +"\n" +"func _ready():\n" +"\tvar f = FileAccess.open(\"user://file.dat\", FileAccess.WRITE_READ)\n" +"\tf.store_16(-42) # This wraps around and stores 65494 (2^16 - 42).\n" +"\tf.store_16(121) # In bounds, will store 121.\n" +"\tf.seek(0) # Go back to start to read the stored value.\n" +"\tvar read1 = f.get_16() # 65494\n" +"\tvar read2 = f.get_16() # 121\n" +"\tvar converted1 = unsigned16_to_signed(read1) # -42\n" +"\tvar converted2 = unsigned16_to_signed(read2) # 121\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Ready()\n" +"{\n" +"\tusing var f = FileAccess.Open(\"user://file.dat\", " +"FileAccess.ModeFlags.WriteRead);\n" +"\tf.Store16(unchecked((ushort)-42)); // This wraps around and stores 65494 " +"(2^16 - 42).\n" +"\tf.Store16(121); // In bounds, will store 121.\n" +"\tf.Seek(0); // Go back to start to read the stored value.\n" +"\tushort read1 = f.Get16(); // 65494\n" +"\tushort read2 = f.Get16(); // 121\n" +"\tshort converted1 = (short)read1; // -42\n" +"\tshort converted2 = (short)read2; // 121\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "Uses the [url=https://fastlz.org/]FastLZ[/url] compression method." msgstr "Utilise la méthode de compression [url=http://fastlz.org/]FastLZ[/url]." @@ -55498,6 +58347,19 @@ msgstr "" "Un conteneur avec des ports de connexion, représentant un nœud dans un " "[GraphEdit]." +msgid "Returns the [Color] of the input port with the given [param port_idx]." +msgstr "Retourne la [Color] de la connexion d'entrée au [param port_idx] donné." + +msgid "Returns the position of the input port with the given [param port_idx]." +msgstr "Retourne la position du port d'entrée avec le [param port_idx] donné." + +msgid "" +"Returns the corresponding slot index of the input port with the given [param " +"port_idx]." +msgstr "" +"Retourne l'index correspondant du port d'entrée avec le [param port_idx] " +"donné." + msgid "" "Sets the right (output) type of the slot with the given [param slot_index] to " "[param type]. If the value is negative, all connections will be disallowed to " @@ -62801,6 +65663,130 @@ msgstr "" "Essaie de parser le [param json_string] fourni et renvoie les données " "parsées. Renvoie [code]null[/code] si le parsing a échoué." +msgid "" +"Converts a [Variant] var to JSON text and returns the result. Useful for " +"serializing data to store or send over the network.\n" +"[b]Note:[/b] The JSON specification does not define integer or float types, " +"but only a [i]number[/i] type. Therefore, converting a Variant to JSON text " +"will convert all numerical values to [float] types.\n" +"[b]Note:[/b] If [param full_precision] is [code]true[/code], when " +"stringifying floats, the unreliable digits are stringified in addition to the " +"reliable digits to guarantee exact decoding.\n" +"The [param indent] parameter controls if and how something is indented; its " +"contents will be used where there should be an indent in the output. Even " +"spaces like [code]\" \"[/code] will work. [code]\\t[/code] and [code]\\n[/" +"code] can also be used for a tab indent, or to make a newline for each indent " +"respectively.\n" +"[b]Warning:[/b] Non-finite numbers are not supported in JSON. Any occurrences " +"of [constant @GDScript.INF] will be replaced with [code]1e99999[/code], and " +"negative [constant @GDScript.INF] will be replaced with [code]-1e99999[/" +"code], but they will be interpreted correctly as infinity by most JSON " +"parsers. [constant @GDScript.NAN] will be replaced with [code]null[/code], " +"and it will not be interpreted as NaN in JSON parsers. If you expect non-" +"finite numbers, consider passing your data through [method from_native] " +"first.\n" +"[b]Example output:[/b]\n" +"[codeblock]\n" +"## JSON.stringify(my_dictionary)\n" +"{\"name\":\"my_dictionary\",\"version\":\"1.0.0\",\"entities\":[{\"name\":" +"\"entity_0\",\"value\":\"value_0\"},{\"name\":\"entity_1\",\"value\":" +"\"value_1\"}]}\n" +"\n" +"## JSON.stringify(my_dictionary, \"\\t\")\n" +"{\n" +"\t\"name\": \"my_dictionary\",\n" +"\t\"version\": \"1.0.0\",\n" +"\t\"entities\": [\n" +"\t\t{\n" +"\t\t\t\"name\": \"entity_0\",\n" +"\t\t\t\"value\": \"value_0\"\n" +"\t\t},\n" +"\t\t{\n" +"\t\t\t\"name\": \"entity_1\",\n" +"\t\t\t\"value\": \"value_1\"\n" +"\t\t}\n" +"\t]\n" +"}\n" +"\n" +"## JSON.stringify(my_dictionary, \"...\")\n" +"{\n" +"...\"name\": \"my_dictionary\",\n" +"...\"version\": \"1.0.0\",\n" +"...\"entities\": [\n" +"......{\n" +".........\"name\": \"entity_0\",\n" +".........\"value\": \"value_0\"\n" +"......},\n" +"......{\n" +".........\"name\": \"entity_1\",\n" +".........\"value\": \"value_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" +msgstr "" +"Convertit une variable [Variant] en texte JSON et renvoie le résultat. Utile " +"pour sérialiser les données pour les enregistrer ou les envoyer à travers le " +"réseau.\n" +"[b]Note :[/b] Les spécifications du JSON ne définissent pas de types entier " +"ou flottant, et ne définissent que le type commun [i]number[/i]. Donc, " +"convertir un Variant en JSON transformera tous les nombres en type [float].\n" +"[b]Note :[/b] Si [param full_precision] vaut [code]true[/code], lors de la " +"conversion des flottants, les chiffres non fiables sont convertis avec les " +"chiffres fiables pour garantir un décodage exact.\n" +"La paramètre [param indent] contrôle si et comment le JSON doit être indenté, " +"la chaine de caractères utilisé pour ce paramètre sera utilisé pour " +"l'indentation de la sortie, et même les espaces [code]\" \"[/code] " +"fonctionneront. [code]\\t[/code] et [code]\\n[/code] peuvent aussi être " +"utilisé pour la tabulation, ou pour le retour à la ligne, respectivement.\n" +"[b]Avertissement :[/b] Les nombres non-finis ne sont pas gérés par JSON. " +"Toute occurrences de [constant @GDScript.INF] sera remplacée par " +"[code]1e99999[/code], et négatif [constant @GDScript.INF] sera remplacé par " +"[code]-1e99999[/code], mais ils pourront être interprétés correctement par la " +"plupart des analyseurs JSON. [constant @GDScript.NAN] sera remplacé par " +"[code]null[/code], et ne sera pas interprété en NaN par les analyseurs JSON. " +"Si vous attendez des nombres non-finis, considérez de passer vos données par " +"[method from_native] avant toute opération.\n" +"[b]Exemples de sortie :[/b]\n" +"[codeblock]\n" +"## JSON.print(my_dictionary)\n" +"{\"name\" :\"mon_dictionnaire\",\"version\" :\"1.0.0\",\"entities\" :" +"[{\"name\" :\"élément_0\",\"value\" :\"valeur_0\"},{\"name\" :\"élément_1\"," +"\"value\" :\"valeur_1\"}]}\n" +"\n" +"## JSON.print(my_dictionary, \"\\t\")\n" +"{\n" +"\t\"name\" : \"mon_dictionnaire\",\n" +"\t\"version\" : \"1.0.0\",\n" +"\t\"entities\" : [\n" +"\t\t{\n" +"\t\t\t\"name\" : \"élément_0\",\n" +"\t\t\t\"value\" : \"valeur_0\"\n" +"\t\t},\n" +"\t\t{\n" +"\t\t\t\"name\" : \"élément_1\",\n" +"\t\t\t\"value\" : \"valeur_1\"\n" +"\t\t}\n" +"\t]\n" +"}\n" +"\n" +"## JSON.print(my_dictionary, \"...\")\n" +"{\n" +"...\"name\" : \"mon_dictionnaire\",\n" +"...\"version\" : \"1.0.0\",\n" +"...\"entities\" : [\n" +"......{\n" +".........\"name\" : \"élément_0\",\n" +".........\"value\" : \"valeur_0\"\n" +"......},\n" +"......{\n" +".........\"name\" : \"élément_1\",\n" +".........\"value\" : \"valeur_1\"\n" +"......}\n" +"...]\n" +"}\n" +"[/codeblock]" + msgid "" "Converts a JSON-compliant value that was created with [method from_native] " "back to native engine types.\n" @@ -77120,15 +80106,6 @@ msgstr "" "[Callable] plusieurs fois. Chaque déconnexion diminue le compteur interne. Le " "signal se déconnecte entièrement seulement lorsque le compteur atteint 0." -msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." -msgstr "" -"L'objet source est automatiquement lié lorsqu'une [PackedScene] est " -"instanciée. Si ce bit de drapeau est activé, l'objet source sera ajouté juste " -"après les arguments originaux du signal." - msgid "" "Occluder shape resource for use with occlusion culling in " "[OccluderInstance3D]." @@ -111517,6 +114494,59 @@ msgstr "" "plutôt l’opérateur [code]=[/code]. Voir aussi [method filecasecmp_to], " "[method naturalnocasecmp_to], et [method nocasecmp_to]." +msgid "" +"Returns the index of the [b]first[/b] occurrence of [param what] in this " +"string, or [code]-1[/code] if there are none. The search's start can be " +"specified with [param from], continuing to the end of the string.\n" +"[codeblocks]\n" +"[gdscript]\n" +"print(\"Team\".find(\"I\")) # Prints -1\n" +"\n" +"print(\"Potato\".find(\"t\")) # Prints 2\n" +"print(\"Potato\".find(\"t\", 3)) # Prints 4\n" +"print(\"Potato\".find(\"t\", 5)) # Prints -1\n" +"[/gdscript]\n" +"[csharp]\n" +"GD.Print(\"Team\".Find(\"I\")); // Prints -1\n" +"\n" +"GD.Print(\"Potato\".Find(\"t\")); // Prints 2\n" +"GD.Print(\"Potato\".Find(\"t\", 3)); // Prints 4\n" +"GD.Print(\"Potato\".Find(\"t\", 5)); // Prints -1\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note:[/b] If you just want to know whether the string contains [param " +"what], use [method contains]. In GDScript, you may also use the [code]in[/" +"code] operator.\n" +"[b]Note:[/b] A negative value of [param from] is converted to a starting " +"index by counting back from the last possible index with enough space to find " +"[param what]." +msgstr "" +"Renvoie l’index de la [b]première[/b] occurrence de [param what] dans cette " +"chaîne, ou [code]-1[/code] s’il n’y en a pas. Le début de la recherche peut " +"être spécifié avec [param from], continuant jusqu’à la fin de la chaîne.\n" +"[codeblocks]\n" +"[gdscript]\n" +"print(\"équipe\".find(\"je\") # Affiche -1\n" +"\n" +"print(\"Patate\".find(\"t\") # Affiche 2\n" +"print(\"Patate\".find(\"t\", 3)) # Affiche 4\n" +"print(\"Patate\".find(\"t\", 5) # Affiche -1\n" +"[/gdscript]\n" +"[csharp]\n" +"GD.Print(\"équipe\".Find(\"je\")) ; // Affiche -1\n" +"\n" +"GD.Print(\"Patate\".Find(\"t\")) ; // Affiche 2\n" +"GD.Print(\"Patate\".Find(\"t\", 3)) ; // Affiche 4\n" +"GD.Print(\"Patate\",Find(\"t\", 5)) ; // Affiche -1\n" +"[/csharp]\n" +"[/codeblocks]\n" +"[b]Note :[/b] Si vous voulez simplement savoir si la chaîne contient [param " +"what], utilisez [method contains]. En GDScript, vous pouvez également " +"utiliser l'opérateur [code]in[/code].\n" +"[b]Note :[/b] Une valeur négative de [param from] est convertie en un index " +"de départ en comptant à partir du dernier index possible avec suffisamment " +"d'espace pour trouver [param what]." + msgid "" "Returns the index of the [b]first[/b] [b]case-insensitive[/b] occurrence of " "[param what] in this string, or [code]-1[/code] if there are none. The " diff --git a/doc/translations/ga.po b/doc/translations/ga.po index 774a56ba3a37..7c282b81cdbe 100644 --- a/doc/translations/ga.po +++ b/doc/translations/ga.po @@ -33593,9 +33593,6 @@ msgstr "" "EditorExportPlugin._begin_customize_scenes] agus [method " "EditorExportPlugin._begin_customize_resources] le haghaidh tuilleadh sonraí." -msgid "Console support in Godot" -msgstr "Tacaíocht console i Godot" - msgid "" "Returns the name of the export operating system handled by this " "[EditorExportPlatform] class, as a friendly string. Possible return values " diff --git a/doc/translations/it.po b/doc/translations/it.po index da5e38e5ead7..28abe57fcfa9 100644 --- a/doc/translations/it.po +++ b/doc/translations/it.po @@ -44,12 +44,13 @@ # Adriano Inghingolo , 2025. # Daniel Colciaghi , 2025. # Rémi Verschelde , 2026. +# Alex B , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-01 14:56+0000\n" -"Last-Translator: Rémi Verschelde \n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" +"Last-Translator: Alex B \n" "Language-Team: Italian \n" "Language: it\n" @@ -57,7 +58,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "All classes" msgstr "Tutte le classi" @@ -49197,9 +49198,6 @@ msgstr "" "Consulta [method EditorExportPlugin._begin_customize_scenes] e [method " "EditorExportPlugin._begin_customize_resources] per ulteriori dettagli." -msgid "Console support in Godot" -msgstr "Supporto per le console in Godot" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "" @@ -107724,15 +107722,6 @@ msgstr "" "interno. Il segnale si disconnette completamente solo quando il contatore " "raggiunge 0." -msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." -msgstr "" -"L'oggetto sorgente è automaticamente associato quando viene istanziato un " -"[PackedScene]. Se questo bit di flag è abilitato, l'oggetto sorgente sarà " -"aggiunto subito dopo gli argomenti originali del segnale." - msgid "" "Occluder shape resource for use with occlusion culling in " "[OccluderInstance3D]." @@ -135483,6 +135472,24 @@ msgstr "" "un'acne delle ombre, ma possono migliorare le prestazioni su alcuni " "dispositivi." +msgid "" +"The subdivision amount of the first quadrant on the shadow atlas. See the " +"[url=$DOCS_URL/tutorials/3d/lights_and_shadows.html#shadow-" +"atlas]documentation[/url] for more information." +msgstr "" +"La quantità di suddivisione del primo quadrante sull'atlante delle ombre. Per " +"ulteriori informazioni, consultare la [url=$DOCS_URL/tutorials/3d/" +"lights_and_shadows.html#shadow-atlas]documentazione[/url]." + +msgid "" +"The subdivision amount of the second quadrant on the shadow atlas. See the " +"[url=$DOCS_URL/tutorials/3d/lights_and_shadows.html#shadow-" +"atlas]documentation[/url] for more information." +msgstr "" +"La quantità di suddivisione del secondo quadrante sull'atlante delle ombre. " +"Per ulteriori informazioni, consultare la [url=$DOCS_URL/tutorials/3d/" +"lights_and_shadows.html#shadow-atlas]documentazione[/url]." + msgid "" "Lower-end override for [member rendering/lights_and_shadows/positional_shadow/" "atlas_size] on mobile devices, due to performance concerns or driver support." diff --git a/doc/translations/ko.po b/doc/translations/ko.po index ef693cc1f435..8b4a809e55a4 100644 --- a/doc/translations/ko.po +++ b/doc/translations/ko.po @@ -6,7 +6,7 @@ # Doyun Kwon , 2020. # Pierre Stempin , 2020. # Yungjoong Song , 2020. -# Myeongjin Lee , 2021, 2022, 2023, 2025. +# Myeongjin Lee , 2021, 2022, 2023, 2025, 2026. # H-S Kim , 2021. # moolow , 2021. # Jaemin Park , 2021. @@ -44,12 +44,13 @@ # samidare20 , 2025. # vitalcoffee12 , 2025. # "영하십도Ent." , 2025. +# yoohyeon , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-12-31 16:58+0000\n" -"Last-Translator: Myeongjin \n" +"PO-Revision-Date: 2026-01-24 03:31+0000\n" +"Last-Translator: yoohyeon \n" "Language-Team: Korean \n" "Language: ko\n" @@ -57,7 +58,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "모든 클래스" @@ -1283,14 +1284,14 @@ msgstr "" "[String], [Array][lb][String][rb], 또는 [PackedStringArray] 속성을 파일 경로" "로 내보냅니다. 이 경로는 프로젝트 폴더와 그 하위 폴더로 제한됩니다. 전체 파일" "시스템에서 선택을 허용하려면 [annotation @export_global_file]을 참조하세요.\n" -"[param filter]가 제공되면, 해당 패턴에 맞는 파일만 선택할 수 있습니다.\n" +"[param filter]가 제공되면, 해당 패턴에 맞는 파일만 선택이 사용 가능합니다.\n" "[constant PROPERTY_HINT_FILE]도 참조하세요.\n" "[codeblock]\n" "@export_file var sound_effect_path: String\n" "@export_file(\"*.txt\") var notes_path: String\n" "@export_file var level_paths: Array[String]\n" "[/codeblock]\n" -"[b]참고:[/b] 만약 가능하다면, 파일은 저장되고 UID를 참조할 것입니다. 이것은 파" +"[b]참고:[/b] 사용 가능하다면, 파일은 저장되고 UID를 참조할 것입니다. 이것은 파" "일이 이동되었을 때에도 참조가 올바르다는 것을 확실히 합니다. 여러분은 그것을 " "경로로 변환하기 위해 [ResourceUID] 메서드를 사용할 수 있습니다." @@ -1300,7 +1301,7 @@ msgid "" "are exporting a [Resource] path, consider using [annotation @export_file] " "instead." msgstr "" -"[annotation @export_file]와 마찬가지로 해당 파일 이외에는 모두 원본 경로에 저" +"[annotation @export_file]와 마찬가지로 해당 파일 이외에는 모두 원형 경로에 저" "장됩니다. 따라서 파일이 이동한다면 잘못될 수 있습니다. [Resource] 경로를 내보" "낸다면, 대신 [annotation @export_file]을 사용하는 것을 고려하세요." @@ -1615,6 +1616,29 @@ msgstr "" "@export var ungrouped_number = 3\n" "[/codeblock]" +msgid "" +"Export a [String], [Array][lb][String][rb], [PackedStringArray], [Dictionary] " +"or [Array][lb][Dictionary][rb] property with a large [TextEdit] widget " +"instead of a [LineEdit]. This adds support for multiline content and makes it " +"easier to edit large amount of text stored in the property.\n" +"See also [constant PROPERTY_HINT_MULTILINE_TEXT].\n" +"[codeblock]\n" +"@export_multiline var character_biography\n" +"@export_multiline var npc_dialogs: Array[String]\n" +"@export_multiline(\"monospace\", \"no_wrap\") var favorite_ascii_art: String\n" +"[/codeblock]" +msgstr "" +"[String], [Array][lb][String][rb], [PackedStringArray], [Dictionary] 또는 " +"[Array][lb][Dictionary][rb] 속성을 [LineEdit] 대신 큰 [TextEdit] 위젯으로 내보" +"냅니다. 이는 다중 행 콘텐츠를 지원하고 속성에 저장된 대량의 텍스트를 더 쉽게 " +"편집할 수 있게 합니다.\n" +"[상수 PROPERTY_HINT_MULTILINE_TEXT]도 참조하십시오.\n" +"[codeblock]\n" +"@export_multiline var character_biography\n" +"@export_multiline var npc_dialogs: Array[String]\n" +"@export_multiline(“monospace”, “no_wrap”) var favorite_ascii_art: String\n" +"[/codeblock]" + msgid "" "Export a [NodePath] or [Array][lb][NodePath][rb] property with a filter for " "allowed node types.\n" @@ -1656,6 +1680,76 @@ msgstr "" "@export_placeholder(\"Name in lowercase\") var friend_ids: Array[String]\n" "[/codeblock]" +msgid "" +"Export an [int], [float], [Array][lb][int][rb], [Array][lb][float][rb], " +"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], or [PackedFloat64Array] property as a range value. The " +"range must be defined by [param min] and [param max], as well as an optional " +"[param step] and a variety of extra hints. The [param step] defaults to " +"[code]1[/code] for integer properties. For floating-point numbers this value " +"depends on your [member EditorSettings.interface/inspector/" +"default_float_step] setting.\n" +"If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are " +"provided, the editor widget will not cap the value at range boundaries. The " +"[code]\"exp\"[/code] hint will make the edited values on range to change " +"exponentially. The [code]\"prefer_slider\"[/code] hint will make integer " +"values use the slider instead of arrows for editing, while [code]" +"\"hide_control\"[/code] will hide the element controlling the value of the " +"editor widget.\n" +"Hints also allow to indicate the units for the edited value. Using [code]" +"\"radians_as_degrees\"[/code] you can specify that the actual value is in " +"radians, but should be displayed in degrees in the Inspector dock (the range " +"values are also in degrees). [code]\"degrees\"[/code] allows to add a degree " +"sign as a unit suffix (the value is unchanged). Finally, a custom suffix can " +"be provided using [code]\"suffix:unit\"[/code], where \"unit\" can be any " +"string.\n" +"See also [constant PROPERTY_HINT_RANGE].\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number: float\n" +"@export_range(0, 20) var numbers: Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" +"[/codeblock]" +msgstr "" +"[int], [float], [Array][lb][int][rb], [Array][lb][float][rb], " +"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], 또는 [PackedFloat64Array] 속성을 범위 내 값으로 내보냅니" +"다. 범위는 반드시 [param min]과 [param max]에 의해 정의되어야 하며, 선택적으" +"로 [param step]과 다양한 추가 힌트를 줄 수 있습니다. [param step]은 정수 속성" +"에 대해 디폴트로 [code]1[/code]입니다. 실수에 대해 이 값은 여러분의 [member " +"EditorSettings.interface/inspector/default_float_step] 설정에 따라 변합니다.\n" +"만약 힌트 [code]\"or_greater\"[/code]와 [code]\"or_less\"[/code]가 주어지면, " +"편집기 위젯은 값을 범위 영역 내로 한정 짓지 않을 것입니다. [code]\"exp\"[/" +"code] 힌트는 편집된 값이 범위 내에서 지수함수적으로 변하도록 만듭니다. [code]" +"\"hide_slider\"[/code] 힌트는 편집기 위젯의 슬라이더 요소를 숨깁니다.\n" +"힌트는 편집된 값의 단위를 지정하게 합니다. [code]\"radians_as_degrees\"[/code]" +"를 쓰면 당신은 인스펙터 독에서는 각도(°)로 표시되지만(범위 또한 360° 단위로 설" +"정됨), 실제 값이 라디안(호도법) 형식이 되도록 특정할 수 있습니다. [code]" +"\"degrees\"[/code]는 단위 접미사로서 각도 기호(°)를 추가하도록 합니다.(실제 값" +"은 변하지 않습니다) 마지막으로, [code]\"suffix:unit\"[/code]를 사용하여 커스" +"텀 접미사를 넣을 수 있고, \"unit\"은 아무 문자열이나 될 수 있습니다.\n" +"[constant PROPERTY_HINT_RANGE]도 참조하세요.\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number: float\n" +"@export_range(0, 20) var numbers: Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" +"[/codeblock]" + msgid "" "Export a property with [constant PROPERTY_USAGE_STORAGE] flag. The property " "is not displayed in the editor, but it is serialized and stored in the scene " @@ -4302,7 +4396,7 @@ msgid "" "[b]Note:[/b] Only available in editor builds." msgstr "" "[EditorInterface] 싱글톤.\n" -"[b]참고:[/b] 편집기 빌드에서만 사용할 수 있습니다." +"[b]참고:[/b] 편집기 빌드에서만 사용 가능합니다." msgid "The [Engine] singleton." msgstr "[Engine] 싱글톤." @@ -5802,8 +5896,8 @@ msgid "" "Printer on fire error (This is an easter egg, no built-in methods return this " "error code)." msgstr "" -"불타는 프린터 오류 (이것은 이스터 에그이며, 내장 메서드는 이 오류 코드를 반환" -"하지 않습니다)." +"프린터에 불이 붙음 오류 (이것은 이스터 에그이며, 내장 메서드는 이 오류 코드를 " +"반환하지 않습니다)." msgid "The property has no hint for the editor." msgstr "속성이 편집기에 어떠한 힌트도 주지 않습니다." @@ -7370,7 +7464,7 @@ msgid "The panel that fills the background of the window." msgstr "창의 배경을 채우는 패널입니다." msgid "Provides access to AES encryption/decryption of raw data." -msgstr "비가공(RAW) 데이터의 AES 암호화/해독에의 접근을 제공합니다." +msgstr "원형 데이터의 AES 암호화/해독에의 접근을 제공합니다." msgid "" "This class holds the context information required for encryption and " @@ -10083,21 +10177,21 @@ msgid "" "The degree to which this area applies reverb to its associated audio. Ranges " "from [code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." msgstr "" -"이 영역이 관련된 오디오에 리버브를 적용하는 정도입니다. [code]0[/code]부터 " +"이 영역이 관련된 오디오에 반향을 적용하는 정도입니다. [code]0[/code]부터 " "[code]0.1[/code]까지이며 [code]0.1[/code]의 정밀도를 가집니다." msgid "If [code]true[/code], the area applies reverb to its associated audio." -msgstr "[code]true[/code]이면 영역은 이와 연관된 오디오에 리버브를 적용합니다." +msgstr "[code]true[/code]이면 영역은 이와 연관된 오디오에 반향을 적용합니다." msgid "The name of the reverb bus to use for this area's associated audio." -msgstr "이 영역의 관련 오디오에 사용할 리버브 버스의 이름." +msgstr "이 영역의 관련 오디오에 사용할 반향 버스의 이름." msgid "" "The degree to which this area's reverb is a uniform effect. Ranges from " "[code]0[/code] to [code]1[/code] with [code]0.1[/code] precision." msgstr "" -"이 영역의 리버브가 균일한 효과인 정도입니다. [code]0[/code]부터 [code]1[/code]" -"까지이며, [code]0.1[/code]의 정밀도를 가집니다." +"이 영역의 반향이 균일한 효과인 정도입니다. [code]0[/code]부터 [code]1[/code]까" +"지이며, [code]0.1[/code]의 정밀도를 가집니다." msgid "A built-in data structure that holds a sequence of elements." msgstr "요소들의 순서를 담고 있는 내장 데이터의 구조입니다." @@ -10654,32 +10748,32 @@ msgid "" "Adds a chorus audio effect. The effect applies a filter with voices to " "duplicate the audio source and manipulate it through the filter." msgstr "" -"코러스 오디오 효과를 추가합니다. 이 효과는 음성을 복제하여 필터를 통해 조작하" -"는 필터를 적용합니다." +"코러스 오디오 효과를 추가합니다. 이 효과는 보이스를 복제하여 필터를 통해 조작" +"하는 필터를 적용합니다." msgid "The effect's raw signal." -msgstr "효과의 가공되지 않은 시그널." +msgstr "효과의 원형 시그널." msgid "The voice's cutoff frequency." -msgstr "목소리의 컷오프 주파수." +msgstr "보이스의 컷오프 주파수." msgid "The voice's signal delay." -msgstr "목소리의 시그널 지연." +msgstr "보이스의 시그널 지연." msgid "The voice filter's depth." -msgstr "목소리 필터의 깊이." +msgstr "보이스 필터의 깊이." msgid "The voice's volume." -msgstr "목소리의 음량." +msgstr "보이스의 음량." msgid "The voice's pan level." -msgstr "목소리의 패닝 레벨." +msgstr "보이스의 패닝 레벨." msgid "The voice's filter rate." -msgstr "목소리의 필터 비율." +msgstr "보이스의 필터 비율." msgid "The number of voices in the effect." -msgstr "효과가 적용된 목소리의 수." +msgstr "효과가 적용된 보이스의 수." msgid "The effect's processed signal." msgstr "효과의 처리된 시그널." @@ -10726,7 +10820,7 @@ msgstr "" "초). 값의 범위는 20부터 2000까지일 수 있습니다." msgid "Reduce the sound level using another audio bus for threshold detection." -msgstr "역치값 감지를 위해서 다른 오디오를 사용해 사운드 레벨을 줄입니다." +msgstr "역치값 감지를 위해서 다른 오디오를 사용해 소리 레벨을 줄입니다." msgid "" "The level above which compression is applied to the audio. Value can range " @@ -10757,7 +10851,7 @@ msgid "Feedback delay time in milliseconds." msgstr "피드백 지연 시간 (밀리초)." msgid "Sound level for feedback." -msgstr "피드백에 대한 사운드 레벨." +msgstr "피드백에 대한 소리 레벨." msgid "" "Low-pass filter for feedback, in Hz. Frequencies below this value are " @@ -10773,7 +10867,7 @@ msgid "First tap delay time in milliseconds." msgstr "첫번째 탭 지연 시간 (밀리초)." msgid "Sound level for the first tap." -msgstr "첫번째 탭에 대한 사운드 레벨." +msgstr "첫번째 탭에 대한 소리 레벨." msgid "" "Pan position for the first tap. Value can range from -1 (fully left) to 1 " @@ -10789,7 +10883,7 @@ msgid "Second tap delay time in milliseconds." msgstr "두번째 탭 지연 시간 (밀리초)." msgid "Sound level for the second tap." -msgstr "두번째 탭에 대한 사운드 레벨." +msgstr "두번째 탭에 대한 소리 레벨." msgid "" "Pan position for the second tap. Value can range from -1 (fully left) to 1 " @@ -11269,10 +11363,10 @@ msgstr "" "뜻합니다." msgid "The index of the attached bone." -msgstr "첨부된 본의 인덱스." +msgstr "붙여진 본의 인덱스." msgid "The name of the attached bone." -msgstr "첨부된 본의 이름." +msgstr "붙여진 본의 이름." msgid "The [NodePath] to the external [Skeleton3D] node." msgstr "외부 [Skeleton3D] 노드로의 [NodePath]." @@ -12025,8 +12119,8 @@ msgid "" "Base64 encoded RSA public key for your publisher account, available from the " "profile page on the \"Google Play Console\"." msgstr "" -"\"Google Play 콘솔\"의 프로필 계정에서 사용할 수 있는 게시자 계정에 대한 " -"Base64 인코딩된 RSA 공개 키." +"\"Google Play 콘솔\"의 프로필 계정에서 사용 가능한 게시자 계정에 대한 Base64 " +"인코딩된 RSA 공개 키." msgid "" "If [code]true[/code], [code]arm64[/code] binaries are included into exported " @@ -12092,7 +12186,7 @@ msgid "" "url]." msgstr "" "애플리케이션이 사용자가 권한 메시지 사진 선택 도구를 통해 선택한 외부 저장소에" -"서 이미지나 동영상 파일을 읽을 수 있도록 허용합니다. [url=https://" +"서 이미지나 비디오 파일을 읽을 수 있도록 허용합니다. [url=https://" "developer.android.com/reference/android/" "Manifest.permission#READ_MEDIA_VISUAL_USER_SELECTED]READ_MEDIA_VISUAL_USER_SELECTED[/" "url]를 참조하세요." @@ -12193,13 +12287,61 @@ msgstr "대신 [signal ProjectSettings.settings_changed]를 사용하세요." msgid "If [code]true[/code], the value can be selected and edited." msgstr "[code]true[/code]이면 값은 선택되고 수정될 수 있습니다." +msgid "A plugin that advanced tooltip for its handled resource type." +msgstr "처리된 리소스 유형을 위한 고급 툴팁이 있는 플러그인." + +msgid "" +"Return [code]true[/code] if the plugin is going to handle the given " +"[Resource] [param type]." +msgstr "" +"플러그인이 주어진 [Resource] [param type]을 처리할 예정이라면 [code]true[/" +"code]를 반환합니다." + +msgid "Imports scenes from third-parties' 3D files." +msgstr "서드 파티의 3D 파일로부터 씬을 가져옵니다." + +msgid "Return supported file extensions for this scene importer." +msgstr "이 씬 임포터를 위해 지원되는 파일 확장자를 반환합니다." + +msgid "" +"Should return [code]true[/code] to show the given option, [code]false[/code] " +"to hide the given option, or [code]null[/code] to ignore." +msgstr "" +"주어진 옵션을 보여주려면 [code]true[/code]를, 주어진 옵션을 숨기려면 " +"[code]false[/code]를, 또는 무시하려면 [code]null[/code]을 반환해야 합니다." + +msgid "Importer for Blender's [code].blend[/code] scene file format." +msgstr "Blender의 [code].blend[/code] 씬 파일 형식을 위한 임포터." + +msgid "Post-processes scenes after import." +msgstr "씬으로 가져오고 나서 후처리합니다." + msgid "" "Should return [code]true[/code] if the 3D view of the import dialog needs to " "update when changing the given option." msgstr "" -"주어진 옵션을 바꿀 때 가져오기 대화 상자의 3D 보기를 업데이트해야 하는 경우 " +"주어진 옵션을 바꿀 때 가져오기 대화 상자의 3D 뷰를 업데이트해야 한다면 " "[code]true[/code]를 반환해야 합니다." +msgid "Base script that can be used to add extension functions to the editor." +msgstr "확장 기능을 편집기에 추가하는 데 사용될 수 있는 기본 스크립트." + +msgid "This method is executed by the Editor when [b]File > Run[/b] is used." +msgstr "이 메서드는 [b]파일 > 실행[/b]이 사용될 때 편집기에 의해 실행됩니다." + +msgid "Use [method EditorInterface.add_root_node] instead." +msgstr "대신 [method EditorInterface.add_root_node]를 사용하세요." + +msgid "Use [method EditorInterface.get_edited_scene_root] instead." +msgstr "대신 [method EditorInterface.get_edited_scene_root]를 사용하세요." + +msgid "" +"Returns the edited (current) scene's root [Node]. Equivalent of [method " +"EditorInterface.get_edited_scene_root]." +msgstr "" +"편집된 (현재) 씬의 루트 [Node]를 반환합니다. [method " +"EditorInterface.get_edited_scene_root]와 동일합니다." + msgid "" "Godot editor's control for selecting the [code]script[/code] property of a " "[Node]." @@ -12212,6 +12354,15 @@ msgstr "편집된 리소스를 보유하는 스크립트 속성의 소유자 [No msgid "Manages the SceneTree selection in the editor." msgstr "편집기에서 씬트리 선택 항목을 관리합니다." +msgid "" +"Adds a node to the selection.\n" +"[b]Note:[/b] The newly selected node will not be automatically edited in the " +"inspector. If you want to edit a node, use [method EditorInterface.edit_node]." +msgstr "" +"노드를 선택 항목에 추가합니다.\n" +"[b]참고:[/b] 새로 선택된 노드는 인스펙터에서 자동으로 편집되지 않습니다. 노드" +"를 편집하려면 [method EditorInterface.edit_node]를 사용하세요." + msgid "Clear the selection." msgstr "선택 항목을 비웁니다." @@ -12227,6 +12378,12 @@ msgstr "선택 항목에서 노드를 제거합니다." msgid "Emitted when the selection changes." msgstr "선택 항목이 변경될 때 방출됩니다." +msgid "Object that holds the project-independent editor settings." +msgstr "프로젝트와는 독립적으로 편집기 설정을 저장하는 오브젝트." + +msgid "Erases the setting whose name is specified by [param property]." +msgstr "이름이 [param property]로 지정된 설정을 지웁니다." + msgid "" "The color to use for inverse kinematics-enabled bones in the 2D skeleton " "editor." @@ -12235,6 +12392,21 @@ msgstr "2D 스켈레톤 편집기에서 역운동학이 활성화된 본에 사 msgid "Maximum number of matches to show in dialog." msgstr "대화 상자에 보여줄 최대 일치 수." +msgid "" +"The language to use for the editor interface. If set to [b]Auto[/b], the " +"language is automatically determined based on the system locale. See also " +"[method EditorInterface.get_editor_language].\n" +"Translations are provided by the community. If you spot a mistake, " +"[url=https://contributing.godotengine.org/en/latest/documentation/translation/" +"index.html]contribute to editor translations on Weblate![/url]" +msgstr "" +"편집기 인터페이스에 사용할 언어. [b]Auto[/b]로 설정되면 언어는 시스템 로케일" +"에 따라 자동으로 결정됩니다. [method EditorInterface.get_editor_language]도 참" +"조하세요.\n" +"번역은 커뮤니티에 의해 제공됩니다. 실수를 찾았다면 [url=https://" +"contributing.godotengine.org/en/latest/documentation/translation/" +"index.html]Weblate에서 편집기 번역에 기여하세요![/url]" + msgid "" "If [code]true[/code], editor UI uses OS native file/directory selection " "dialogs." @@ -12300,7 +12472,7 @@ msgid "" "methods such as [code]load()[/code] and [code]preload()[/code]." msgstr "" "[code]true[/code]이면 [code]load()[/code]와 [code]preload()[/code]와 같은 메서" -"드에서 파일 경로에 대한 자동 완성 제안을 제공합니다." +"드에서 파일 경로에 대한 자동완성 제안을 제공합니다." msgid "" "The GDScript syntax highlighter text color for global functions, such as the " @@ -12316,8 +12488,25 @@ msgid "" "Plugin for adding custom parsers to extract strings that are to be translated " "from custom files (.csv, .json etc.)." msgstr "" -"커스텀 파일(.csv, .json 등)에서 번역할 문자열을 추출하기 위한 사용자 지정 파서" -"를 추가하는 플러그인." +"커스텀 파일(.csv, .json 등)에서 번역될 문자열을 추출하는 커스텀 파서를 추가하" +"기 위한 플러그인." + +msgid "" +"Gets the list of file extensions to associate with this parser, e.g. [code]" +"[\"csv\"][/code]." +msgstr "" +"이 파서와 연관지을 파일 확장자의 목록을 가져옵니다. 예: [code][\"csv\"][/" +"code]." + +msgid "" +"Override this method to define a custom parsing logic to extract the " +"translatable strings." +msgstr "" +"커스텀 구문 분석 로직을 정의하여 번역 가능한 문자열을 추출하는 데 이 메서드를 " +"오버라이드합니다." + +msgid "Manages undo history of scenes opened in the editor." +msgstr "편집기에서 열린 씬의 실행 취소 이력을 관리합니다." msgid "Returns and resets host statistics." msgstr "호스트 통계를 반환하고 재설정합니다." @@ -12674,7 +12863,7 @@ msgid "" "The dialog displays files as a grid of thumbnails. Use [theme_item " "thumbnail_size] to adjust their size." msgstr "" -"대화 상자에서 파일을 썸네일의 격자로 표시합니다. 크기를 조정하려면 " +"대화 상자에서 파일을 썸네일의 격자로 표시합니다. 크기를 조절하려면 " "[theme_item thumbnail_size]를 사용하세요." msgid "The dialog displays files as a list of filenames." @@ -12790,7 +12979,7 @@ msgid "Custom icon for the parent folder arrow." msgstr "상위 폴더 화살표에 대한 커스텀 아이콘." msgid "Custom icon for the reload button." -msgstr "다시 불러옴 버튼에 대한 커스텀 아이콘." +msgstr "다시 불러오기 버튼에 대한 커스텀 아이콘." msgid "Custom icon for the sorting options menu." msgstr "정렬 옵션 메뉴에 대한 커스텀 아이콘." @@ -12885,7 +13074,7 @@ msgstr "" "[b]참고:[/b] 이 시그널은 편집기 빌드에서만 방출합니다." msgid "Emitted after the editor has finished reloading one or more extensions." -msgstr "편집기가 하나 이상의 확장 기능을 다시 불러옴을 마친 후에 방출됩니다." +msgstr "편집기가 하나 이상의 확장 기능을 다시 불러오기를 마친 후에 방출됩니다." msgid "The extension has loaded successfully." msgstr "확장 기능을 성공적으로 불러왔습니다." @@ -13144,7 +13333,7 @@ msgid "" "the frame when [member autoshrink_enabled] is [code]true[/code]." msgstr "" "[member autoshrink_enabled]이 [code]true[/code]일 때 프레임의 크기를 계산하는 " -"데 사용되는 첨부된 노드 주변의 여백." +"데 사용되는 붙여진 노드 주변의 여백." msgid "If [code]true[/code], the tint color will be used to tint the frame." msgstr "[code]true[/code]이면 틴트 색상은 프레임에 틴트를 입히는 데 사용됩니다." @@ -13351,7 +13540,7 @@ msgstr "" "대로 호출해야 합니다." msgid "If [code]true[/code], this [HTTPClient] has a response available." -msgstr "[code]true[/code]이면 이 [HTTPClient]는 응답을 사용할 수 있습니다." +msgstr "[code]true[/code]이면 이 [HTTPClient]는 응답에 사용 가능합니다." msgid "If [code]true[/code], this [HTTPClient] has a response that is chunked." msgstr "[code]true[/code]이면 이 [HTTPClient]는 청크화된 응답이 있습니다." @@ -13635,16 +13824,16 @@ msgstr "" "을 렌더합니다. [member VisualInstance3D.layers]도 참조하세요." msgid "Lowest level of subdivision (fastest bake times, smallest file sizes)." -msgstr "세분의 가장 낮은 수준 (가장 빠른 굽기 시간, 가장 작은 파일 크기)." +msgstr "분할의 가장 낮은 수준 (가장 빠른 굽기 시간, 가장 작은 파일 크기)." msgid "Low level of subdivision (fast bake times, small file sizes)." -msgstr "세분의 낮은 수준 (빠른 굽기 시간, 작은 파일 크기)." +msgstr "분할의 낮은 수준 (빠른 굽기 시간, 작은 파일 크기)." msgid "High level of subdivision (slow bake times, large file sizes)." -msgstr "세분의 높은 수준 (느린 굽기 시간, 큰 파일 크기)." +msgstr "분할의 높은 수준 (느린 굽기 시간, 큰 파일 크기)." msgid "Highest level of subdivision (slowest bake times, largest file sizes)." -msgstr "세분의 가장 높은 수준 (가장 느린 굽기 시간, 가장 큰 파일 크기)." +msgstr "분할의 가장 높은 수준 (가장 느린 굽기 시간, 가장 큰 파일 크기)." msgid "" "Represents a single manually placed probe for dynamic object lighting with " @@ -14282,8 +14471,8 @@ msgid "" "Notification received when the object finishes hot reloading. This " "notification is only sent for extensions classes and derived." msgstr "" -"오브젝트가 핫 다시 불러옴을 완료할 때 받는 알림입니다. 이 알림은 확장 클래스" -"와 파생 클래스에만 보냅니다." +"오브젝트가 핫 리로드를 완료할 때 받는 알림입니다. 이 알림은 확장 클래스와 파" +"생 클래스에만 보냅니다." msgid "" "Occluder shape resource for use with occlusion culling in " @@ -14820,10 +15009,10 @@ msgid "Placeholder class for a 3-dimensional texture." msgstr "3차원 텍스처에 대한 자리표시자 클래스." msgid "Number of subdivision along the Z axis." -msgstr "Z축을 따라 세분의 수." +msgstr "Z축을 따라 분할의 수." msgid "Number of subdivision along the X axis." -msgstr "X축을 따라 세분의 수." +msgstr "X축을 따라 분할의 수." msgid "" "Casts light in a 2D environment. This light's shape is defined by a (usually " @@ -14977,7 +15166,7 @@ msgid "" msgstr "" "주요 창 모드. 가능한 값과 각 모드의 동작 방식에 대해서는 [enum " "DisplayServer.WindowMode]를 참고하세요.\n" -"[b]참고:[/b] 게임 임베딩은 \"창\" 모드에서만 사용할 수 있습니다." +"[b]참고:[/b] 게임 임베딩은 \"창\" 모드에서만 사용 가능합니다." msgid "" "The maximum width to use when importing textures as an atlas. The value will " @@ -16309,6 +16498,13 @@ msgstr "물리 콜리전에 사용되는 3D 구체 모양." msgid "An input field for numbers." msgstr "숫자를 위한 입력 필드." +msgid "" +"A container that arranges child controls horizontally or vertically and " +"provides grabbers for adjusting the split ratios between them." +msgstr "" +"자식 컨트롤을 가로 또는 세로로 배열하고 컨트롤 사이에 분할 비율을 조정하기 위" +"한 그래버를 제공하는 컨테이너." + msgid "" "A 3D raycast that dynamically moves its children near the collision point." msgstr "콜리전 점 근처에서 자식을 동적으로 이동시키는 3D 레이캐스트." @@ -17045,11 +17241,14 @@ msgstr "이 변형의 기울이기를 반환합니다 (반경 단위)." msgid "" "A language translation that maps a collection of strings to their individual " "translations." -msgstr "문자열의 모음을 개별 번역에 매핑하는 언어 번역입니다." +msgstr "문자열의 모음을 개별 번역에 매핑하는 언어 번역." msgid "Internationalizing games" msgstr "게임 국제화하기" +msgid "Localization using gettext" +msgstr "gettext를 사용한 현지화" + msgid "Locales" msgstr "로케일" @@ -17064,8 +17263,17 @@ msgid "" "An additional context could be used to specify the translation context or " "differentiate polysemic words." msgstr "" -"존재하지 않는 경우 메시지를 추가하고, 그 뒤에 번역문을 붙입니다.\n" -"추가 맥락을 번역 맥락을 명시하거나 다의어를 구분하기 위해 사용할 수 있습니다." +"존재하지 않으면 메시지와 그 뒤에 번역문을 추가합니다.\n" +"추가 맥락이 번역 맥락을 명확히 하거나 다의어를 구분하는 데 사용될 수 있습니다." + +msgid "" +"Adds a message involving plural translation if nonexistent, followed by its " +"translation.\n" +"An additional context could be used to specify the translation context or " +"differentiate polysemic words." +msgstr "" +"존재하지 않으면 복수형 번역과 관련된 메시지와 그 뒤에 번역문을 추가합니다.\n" +"추가 맥락이 번역 맥락을 명확히 하거나 다의어를 구분하는 데 사용될 수 있습니다." msgid "Erases a message." msgstr "메시지를 지웁니다." @@ -17076,9 +17284,41 @@ msgstr "메시지의 번역을 반환합니다." msgid "Returns the number of existing messages." msgstr "기존 메시지의 수를 반환합니다." +msgid "" +"Returns a message's translation involving plurals.\n" +"The number [param n] is the number or quantity of the plural object. It will " +"be used to guide the translation system to fetch the correct plural form for " +"the selected language.\n" +"[b]Note:[/b] Plurals are only supported in [url=$DOCS_URL/tutorials/i18n/" +"localization_using_gettext.html]gettext-based translations (PO)[/url], not " +"CSV." +msgstr "" +"복수형과 관련된 메시지의 번역을 반환합니다.\n" +"숫자 [param n]은 복수형 오브젝트의 수 또는 개수입니다. 이는 번역 시스템이 선택" +"된 언어를 위한 올바른 복수형을 받도록 안내하는 데 사용됩니다.\n" +"[b]참고:[/b] 복수형은 CSV가 아닌 [url=$DOCS_URL/tutorials/i18n/" +"localization_using_gettext.html]gettext 기반 번역(PO)[/url]에서만 지원됩니다." + +msgid "Returns all the translated strings." +msgstr "모든 번역된 문자열을 반환합니다." + msgid "The locale of the translation." msgstr "번역의 로케일입니다." +msgid "" +"The plural rules string to enforce. See [url=https://www.gnu.org/software/" +"gettext/manual/html_node/Plural-forms.html]GNU gettext[/url] for examples and " +"more info.\n" +"If empty or invalid, default plural rules from [method " +"TranslationServer.get_plural_rules] are used. The English plural rules are " +"used as a fallback." +msgstr "" +"강제할 복수형 규칙 문자열. 예제와 자세한 정보는 [url=https://www.gnu.org/" +"software/gettext/manual/html_node/Plural-forms.html]GNU gettext[/url]를 참조하" +"세요.\n" +"비어 있거나 잘못되어 있으면 [method TranslationServer.get_plural_rules]에서 디" +"폴트 복수형 규칙이 사용됩니다. 영어 복수형 규칙이 폴백으로 사용됩니다." + msgid "A self-contained collection of [Translation] resources." msgstr "[Translation] 리소스의 독립형 모음입니다." @@ -17641,7 +17881,7 @@ msgid "Audio bus to use for sound playback." msgstr "소리 재생에 사용되는 오디오 버스." msgid "If [code]true[/code], the video is paused." -msgstr "[code]true[/code]이면 동영상은 일시 정지됩니다." +msgstr "[code]true[/code]이면 비디오는 일시 정지됩니다." msgid "The current position of the stream, in seconds." msgstr "초 단위로 스트림의 현재 위치." @@ -17656,7 +17896,7 @@ msgid "Emitted when playback is finished." msgstr "재생이 마쳐질 때 방출됩니다." msgid "[VideoStream] resource for Ogg Theora videos." -msgstr "Ogg Theora 동영상을 위한 [VideoStream] 리소스." +msgstr "Ogg Theora 비디오를 위한 [VideoStream] 리소스." msgid "" "Abstract base class for viewports. Encapsulates drawing and interaction with " @@ -17667,7 +17907,7 @@ msgstr "" msgid "" "Returns the positional shadow atlas quadrant subdivision of the specified " "quadrant." -msgstr "지정된 사분면의 위치 그림자 아틀라스 사분면 세분을 반환합니다." +msgstr "지정된 사분면의 위치 그림자 아틀라스 사분면 분할을 반환합니다." msgid "Returns [code]true[/code] if the drag operation is successful." msgstr "드래그 작업이 성공적이면 [code]true[/code]를 반환합니다." @@ -17993,20 +18233,20 @@ msgid "" "Use 64 subdivisions. This is the lowest quality setting, but the fastest. Use " "it if you can, but especially use it on lower-end hardware." msgstr "" -"64 세분을 사용합니다. 가장 낮은 품질 설정이지만 가장 빠릅니다. 가능하다면 사용" +"64 분할을 사용합니다. 가장 낮은 품질 설정이지만 가장 빠릅니다. 가능하다면 사용" "할 수 있지만, 특히 저사양 하드웨어에서 사용합니다." msgid "Use 128 subdivisions. This is the default quality setting." -msgstr "128 세분을 사용합니다. 디폴트 품질 설정입니다." +msgstr "128 분할을 사용합니다. 디폴트 품질 설정입니다." msgid "Use 256 subdivisions." -msgstr "256 세분을 사용합니다." +msgstr "256 분할을 사용합니다." msgid "" "Use 512 subdivisions. This is the highest quality setting, but the slowest. " "On lower-end hardware, this could cause the GPU to stall." msgstr "" -"512 세분을 사용합니다. 가장 높은 품질 설정이지만 가장 느립니다. 저사양 하드웨" +"512 분할을 사용합니다. 가장 높은 품질 설정이지만 가장 느립니다. 저사양 하드웨" "어에서는 이로 인해 GPU가 멈출 수 있습니다." msgid "Represents the size of the [enum Subdiv] enum." diff --git a/doc/translations/ru.po b/doc/translations/ru.po index 3c6d388136ff..f3b1d04fc7eb 100644 --- a/doc/translations/ru.po +++ b/doc/translations/ru.po @@ -144,7 +144,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-07 17:02+0000\n" +"PO-Revision-Date: 2026-01-19 09:52+0000\n" "Last-Translator: JekSun97 \n" "Language-Team: Russian \n" @@ -154,7 +154,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "Все классы" @@ -2108,6 +2108,99 @@ msgstr "" "@onready var character_name: Label = $Label\n" "[/codeblock]" +msgid "" +"Mark the following method for remote procedure calls. See [url=$DOCS_URL/" +"tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/" +"url].\n" +"If [param mode] is set as [code]\"any_peer\"[/code], allows any peer to call " +"this RPC function. Otherwise, only the authority peer is allowed to call it " +"and [param mode] should be kept as [code]\"authority\"[/code]. When " +"configuring functions as RPCs with [method Node.rpc_config], each of these " +"modes respectively corresponds to the [constant " +"MultiplayerAPI.RPC_MODE_AUTHORITY] and [constant " +"MultiplayerAPI.RPC_MODE_ANY_PEER] RPC modes. See [enum " +"MultiplayerAPI.RPCMode]. If a peer that is not the authority tries to call a " +"function that is only allowed for the authority, the function will not be " +"executed. If the error can be detected locally (when the RPC configuration is " +"consistent between the local and the remote peer), an error message will be " +"displayed on the sender peer. Otherwise, the remote peer will detect the " +"error and print an error there.\n" +"If [param sync] is set as [code]\"call_remote\"[/code], the function will " +"only be executed on the remote peer, but not locally. To run this function " +"locally too, set [param sync] to [code]\"call_local\"[/code]. When " +"configuring functions as RPCs with [method Node.rpc_config], this is " +"equivalent to setting [code]call_local[/code] to [code]true[/code].\n" +"The [param transfer_mode] accepted values are [code]\"unreliable\"[/code], " +"[code]\"unreliable_ordered\"[/code], or [code]\"reliable\"[/code]. It sets " +"the transfer mode of the underlying [MultiplayerPeer]. See [member " +"MultiplayerPeer.transfer_mode].\n" +"The [param transfer_channel] defines the channel of the underlying " +"[MultiplayerPeer]. See [member MultiplayerPeer.transfer_channel].\n" +"The order of [param mode], [param sync] and [param transfer_mode] does not " +"matter, but values related to the same argument must not be used more than " +"once. [param transfer_channel] always has to be the 4th argument (you must " +"specify 3 preceding arguments).\n" +"[codeblock]\n" +"@rpc\n" +"func fn(): pass\n" +"\n" +"@rpc(\"any_peer\", \"unreliable_ordered\")\n" +"func fn_update_pos(): pass\n" +"\n" +"@rpc(\"authority\", \"call_remote\", \"reliable\", 0) # Equivalent to @rpc\n" +"func fn_default(): pass\n" +"[/codeblock]\n" +"[b]Note:[/b] Methods annotated with [annotation @rpc] cannot receive objects " +"which define required parameters in [method Object._init]. See [method " +"Object._init] for more details." +msgstr "" +"Отметьте следующий метод для удаленных процедурных вызовов. См. " +"[url=$DOCS_URL/tutorials/networking/" +"high_level_multiplayer.html]Высокоуровневый многопользовательский режим[/" +"url].\n" +"Если [param mode] установлено как [code]\"any_peer\"[/code], это разрешает " +"любому узлу вызывать эту функцию RPC. В противном случае, вызывать ее может " +"только уполномоченный узел, и [param mode] следует оставить как [code]" +"\"authority\"[/code]. При настройке функций как RPC с помощью [method " +"Node.rpc_config] каждый из этих режимов соответствует режимам RPC [constant " +"MultiplayerAPI.RPC_MODE_AUTHORITY] и [constant " +"MultiplayerAPI.RPC_MODE_ANY_PEER]. См. [enum MultiplayerAPI.RPCMode]. Если " +"узел, не являющийся уполномоченным узлом, попытается вызвать функцию, " +"разрешенную только уполномоченному узлу, функция не будет выполнена. Если " +"ошибка обнаруживается локально (когда конфигурация RPC согласована между " +"локальным и удаленным узлом), сообщение об ошибке будет отображено на узле-" +"отправителе. В противном случае, удаленный узел обнаружит ошибку и выведет " +"сообщение об ошибке на свой узел.\n" +"Если [param sync] установлено как [code]\"call_remote\"[/code], функция будет " +"выполняться только на удаленном узле, но не локально. Чтобы запустить эту " +"функцию локально, установите [param sync] в [code]\"call_local\"[/code]. При " +"настройке функций как RPC с помощью [method Node.rpc_config] это эквивалентно " +"установке [code]call_local[/code] в [code]true[/code].\n" +"Принимаемые значения [param transfer_mode]: [code]\"unreliable\"[/code], " +"[code]\"unreliable_ordered\"[/code] или [code]\"reliable\"[/code]. Этот " +"параметр задает режим передачи данных для базового объекта [MultiplayerPeer]. " +"См. [member MultiplayerPeer.transfer_mode].\n" +"Параметр [param transfer_channel] определяет канал базового объекта " +"[MultiplayerPeer]. См. [member MultiplayerPeer.transfer_channel].\n" +"Порядок параметров [param mode], [param sync] и [param transfer_mode] не " +"имеет значения, но значения, относящиеся к одному и тому же аргументу, не " +"должны использоваться более одного раза. Параметр [param transfer_channel] " +"всегда должен быть 4-м аргументом (необходимо указать 3 предшествующих " +"аргумента).\n" +"[codeblock]\n" +"@rpc\n" +"func fn(): pass\n" +"\n" +"@rpc(\"any_peer\", \"unreliable_ordered\")\n" +"func fn_update_pos(): pass\n" +"\n" +"@rpc(\"authority\", \"call_remote\", \"reliable\", 0) # Эквивалентно @rpc\n" +"func fn_default(): pass\n" +"[/codeblock]\n" +"[b]Примечание:[/b] Методы, аннотированные [annotation @rpc], не могут " +"принимать объекты, которые определяют обязательные параметры в [method " +"Object._init]. Дополнительные сведения см. в [method Object._init]." + msgid "" "Make a script with static variables to not persist after all references are " "lost. If the script is loaded again the static variables will revert to their " @@ -11129,6 +11222,15 @@ msgstr "" "цикл на [member loop_mode], анимация будет циклично повторяться в [member " "timeline_length]." +msgid "" +"The length of the custom timeline.\n" +"If [member stretch_time_scale] is [code]true[/code], scales the animation to " +"this length." +msgstr "" +"Длительность пользовательской временной шкалы.\n" +"Если [member stretch_time_scale] имеет значение [code]true[/code], анимация " +"масштабируется до этой длительности." + msgid "" "If [code]true[/code], [AnimationNode] provides an animation based on the " "[Animation] resource with some parameters adjusted." @@ -16198,6 +16300,93 @@ msgstr "" "Результат находится в сегменте, который идет от [code]y = 0[/code] до [code]y " "= 5[/code]. Это ближайшая позиция в сегменте к заданной точке." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D();\n" +"astar.AddPoint(1, new Vector2(0, 0));\n" +"astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector2(1, 1));\n" +"astar.AddPoint(4, new Vector2(2, 0));\n" +"\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Возвращает массив с идентификаторами точек, образующих путь, найденный " +"AStar2D между заданными точками. Массив упорядочен от начальной точки до " +"конечной точки пути.\n" +"Если параметр [param from_id] point отключен, возвращает пустой массив (даже " +"если [code]from_id == to_id[/code]).\n" +"Если параметр [param from_id] point не отключен, то нет допустимого пути к " +"цели, и параметр [param allow_partial_path] равен [code]true[/code], " +"возвращает путь к ближайшей к цели точке, до которой можно добраться.\n" +"[b]Примечание:[/b] Когда [param allow_partial_path] равен [code]true[/code] и " +"параметр [param to_id] отключен, поиск может занять необычно много времени.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Вес по умолчанию равен 1.\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Возвращает [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D();\n" +"astar.AddPoint(1, new Vector2(0, 0));\n" +"astar.AddPoint(2, new Vector2(0, 1), 1); // Вес по умолчанию равен 1.\n" +"astar.AddPoint(3, new Vector2(1, 1));\n" +"astar.AddPoint(4, new Vector2(2, 0));\n" +"\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Возвращает [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Если изменить вес второй точки на 3, то результатом будет [code][1, 4, 3][/" +"code], потому что теперь, несмотря на большую длину пути, пройти через точку " +"4 «легче», чем через точку 2." + msgid "" "Returns the capacity of the structure backing the points, useful in " "conjunction with [method reserve_space]." @@ -16270,6 +16459,36 @@ msgstr "Возвращает текущее количество баллов в msgid "Returns an array of all point IDs." msgstr "Возвращает массив всех идентификаторов точек." +msgid "" +"Returns an array with the points that are in the path found by AStar2D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Возвращает массив точек, находящихся на пути, найденном AStar2D между " +"заданными точками. Массив упорядочен от начальной точки до конечной точки " +"пути.\n" +"Если параметр [param from_id] point отключен, возвращает пустой массив (даже " +"если [code]from_id == to_id[/code]).\n" +"Если параметр [param from_id] point не отключен, то нет допустимого пути к " +"цели, и параметр [param allow_partial_path] равен [code]true[/code], " +"возвращает путь к точке, ближайшей к цели, до которой можно добраться.\n" +"[b]Примечание:[/b] Этот метод не является потокобезопасным; его можно " +"использовать только из одного потока одновременно. Рекомендуется использовать " +"[Mutex] для обеспечения эксклюзивного доступа к одному потоку во избежание " +"состояний гонки.\n" +"Кроме того, когда [param allow_partial_path] равен [code]true[/code] и " +"параметр [param to_id] отключен, поиск может занять необычно много времени." + msgid "Returns the position of the point associated with the given [param id]." msgstr "Возвращает положение точки, связанной с указанным [param id]." @@ -16644,6 +16863,91 @@ msgstr "" "Результат находится в сегменте, который идет от [code]y = 0[/code] до [code]y " "= 5[/code]. Это ближайшая позиция в сегменте к заданной точке." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar3D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar3D.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Возвращает массив с идентификаторами точек, образующих путь, найденный " +"AStar3D между заданными точками. Массив упорядочен от начальной точки до " +"конечной точки пути.\n" +"Если параметр [param from_id] point отключен, возвращает пустой массив (даже " +"если [code]from_id == to_id[/code]).\n" +"Если параметр [param from_id] point не отключен, то нет допустимого пути к " +"цели, и параметр [param allow_partial_path] равен [code]true[/code], " +"возвращает путь к ближайшей к цели точке, до которой можно добраться.\n" +"[b]Примечание:[/b] Когда [param allow_partial_path] равен [code]true[/code] и " +"параметр [param to_id] отключен, поиск может занять необычно много времени.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar3D.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Вес по умолчанию равен 1.\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Возвращает [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Вес по умолчанию равен 1.\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Возвращает [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Если изменить вес второй точки на 3, то результатом будет [code][1, 4, 3][/" +"code], потому что теперь, несмотря на большую длину пути, пройти через точку " +"4 «легче», чем через точку 2." + msgid "" "Returns an array with the IDs of the points that form the connection with the " "given point.\n" @@ -16701,6 +17005,36 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "" +"Returns an array with the points that are in the path found by AStar3D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Возвращает массив точек, находящихся на пути, найденном AStar3D между " +"заданными точками. Массив упорядочен от начальной точки до конечной точки " +"пути.\n" +"Если параметр [param from_id] point отключен, возвращает пустой массив (даже " +"если [code]from_id == to_id[/code]).\n" +"Если параметр [param from_id] point не отключен, то нет допустимого пути к " +"цели, и параметр [param allow_partial_path] равен [code]true[/code], " +"возвращает путь к точке, ближайшей к цели, до которой можно добраться.\n" +"[b]Примечание:[/b] Этот метод не является потокобезопасным; его можно " +"использовать только из одного потока одновременно. Рекомендуется использовать " +"[Mutex] для обеспечения эксклюзивного доступа к одному потоку во избежание " +"состояний гонки.\n" +"Кроме того, когда [param allow_partial_path] равен [code]true[/code] и " +"параметр [param to_id] отключен, поиск может занять необычно много времени." + msgid "" "An implementation of A* for finding the shortest path between two points on a " "partial 2D grid." @@ -16818,6 +17152,30 @@ msgstr "" "[b]Примечание:[/b] Вызов [method update] не требуется после вызова этой " "функции." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Возвращает массив с идентификаторами точек, образующих путь, найденный " +"AStar2D между заданными точками. Массив упорядочен от начальной точки до " +"конечной точки пути.\n" +"Если параметр [param from_id] point отключен, возвращает пустой массив (даже " +"если [code]from_id == to_id[/code]).\n" +"Если параметр [param from_id] point не отключен, то нет допустимого пути к " +"цели, и [param allow_partial_path] имеет значение [code]true[/code], " +"возвращает путь к ближайшей к цели точке, до которой можно добраться.\n" +"[b]Примечание:[/b] Когда [param allow_partial_path] имеет значение " +"[code]true[/code] и [param to_id] имеет значение solid, поиск может занять " +"необычно много времени." + msgid "" "Returns an array of dictionaries with point data ([code]id[/code]: " "[Vector2i], [code]position[/code]: [Vector2], [code]solid[/code]: [bool], " @@ -16827,6 +17185,36 @@ msgstr "" "[code]position[/code]: [Vector2], [code]solid[/code]: [bool], " "[code]weight_scale[/code]: [float]) в области [param]." +msgid "" +"Returns an array with the points that are in the path found by [AStarGrid2D] " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Возвращает массив точек, находящихся на пути, найденном с помощью " +"[AStarGrid2D] между заданными точками. Массив упорядочен от начальной точки " +"до конечной точки пути.\n" +"Если [param from_id] point отключено, возвращает пустой массив (даже если " +"[code]from_id == to_id[/code]).\n" +"Если [param from_id] point не отключено, то нет допустимого пути к цели, и " +"[param allow_partial_path] равно [code]true[/code], возвращает путь к точке, " +"ближайшей к цели, до которой можно добраться.\n" +"[b]Примечание:[/b] Этот метод не является потокобезопасным; его можно " +"использовать только из одного потока одновременно. Рекомендуется использовать " +"[Mutex] для обеспечения эксклюзивного доступа к одному потоку во избежание " +"состояний гонки.\n" +"Кроме того, когда [param allow_partial_path] равно [code]true[/code] и [param " +"to_id] равно solid, поиск может занять необычно много времени." + msgid "" "Indicates that the grid parameters were changed and [method update] needs to " "be called." @@ -26644,6 +27032,15 @@ msgstr "" msgid "2D Isometric Demo" msgstr "Изометрическая 2D-демо" +msgid "" +"Aligns the camera to the tracked node.\n" +"[b]Note:[/b] Calling [method force_update_scroll] after this method is not " +"required." +msgstr "" +"Выравнивает камеру по отслеживаемому узлу.\n" +"[b]Примечание:[/b] Вызов [method force_update_scroll] после этого метода не " +"требуется." + msgid "Forces the camera to update scroll immediately." msgstr "Заставляет камеру немедленно обновить прокрутку." @@ -28443,6 +28840,35 @@ msgstr "" "[b]Примечание:[/b] Параметр [param width] эффективен только в том случае, " "если [param filled] равен [code]false[/code]." +msgid "" +"Draws a colored polygon of any number of points, convex or concave. The " +"points in the [param points] array are defined in local space. Unlike [method " +"draw_polygon], a single color must be specified for the whole polygon.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует цветной многоугольник с любым количеством точек, выпуклый или " +"вогнутый. Точки в массиве [param points] определены в локальном пространстве. " +"В отличие от [method draw_polygon], для всего многоугольника необходимо " +"указать один цвет.\n" +"[b]Примечание:[/b] Если вы часто перерисовываете один и тот же многоугольник " +"с большим количеством вершин, рассмотрите возможность предварительного " +"вычисления триангуляции с помощью [method Geometry2D.triangulate_polygon] и " +"использования [method draw_mesh], [method draw_multimesh] или [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Draws a dashed line from a 2D point to another, with a given color and width. " "The [param from] and [param to] positions are defined in local space. See " @@ -28568,6 +28994,47 @@ msgstr "" "интересует этот конкретный вариант использования, использование этой функции " "после отправки фрагментов не требуется." +msgid "" +"Draws a textured rectangle region of the font texture with LCD subpixel anti-" +"aliasing at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space.\n" +"Texture is drawn using the following blend operation, blend mode of the " +"[CanvasItemMaterial] is ignored:\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует текстурированную прямоугольную область шрифтовой текстуры с " +"субпиксельным сглаживанием LCD в заданной позиции, опционально модулированную " +"цветом. Параметр [param rect] определяется в локальном пространстве.\n" +"Текстура рисуется с использованием следующей операции смешивания, режим " +"смешивания [CanvasItemMaterial] игнорируется:\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция отрисовки не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Draws a line from a 2D point to another, with a given color and width. It can " "be optionally antialiased. The [param from] and [param to] positions are " @@ -28587,6 +29054,58 @@ msgstr "" "линия останется тонкой. Если такое поведение нежелательно, передайте " "положительное значение [param width], например, [code]1.0[/code]." +msgid "" +"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for " +"related documentation. The [param transform] is defined in local space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует [Mesh] в 2D, используя предоставленную текстуру. См. [MeshInstance2D] " +"для получения соответствующей документации. [param transform] определяется в " +"локальном пространстве.\n" +"\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + +msgid "" +"Draws a textured rectangle region of the multichannel signed distance field " +"texture at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space. See [member " +"FontFile.multichannel_signed_distance_field] for more information and caveats " +"about MSDF font rendering.\n" +"If [param outline] is positive, each alpha channel value of pixel in region " +"is set to maximum value of true distance in the [param outline] radius.\n" +"Value of the [param pixel_range] should the same that was used during " +"distance field texture generation.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует текстурированную прямоугольную область многоканальной текстуры " +"знакового поля расстояний в заданной позиции, опционально модулированную " +"цветом. Параметр [param rect] определяется в локальном пространстве. См. " +"[member FontFile.multichannel_signed_distance_field] для получения " +"дополнительной информации и предостережений относительно рендеринга шрифтов " +"MSDF.\n" +"Если [param outline] положительное значение, значение альфа-канала каждого " +"пикселя в области устанавливается равным максимальному значению истинного " +"расстояния в радиусе [param outline].\n" +"Значение [param pixel_range] должно совпадать со значением, использованным " +"при генерации текстуры поля расстояний.\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Draws multiple disconnected lines with a uniform [param width] and [param " "color]. Each line is defined by two consecutive points from [param points] " @@ -28678,6 +29197,58 @@ msgstr "" "передискретизации шрифта, в противном случае используются настройки " "передискретизации области просмотра." +msgid "" +"Draws a [MultiMesh] in 2D with the provided texture. See " +"[MultiMeshInstance2D] for related documentation.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует [MultiMesh] в 2D с использованием предоставленной текстуры. См. " +"[MultiMeshInstance2D] для получения соответствующей документации.\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + +msgid "" +"Draws a solid polygon of any number of points, convex or concave. Unlike " +"[method draw_colored_polygon], each point's color can be changed " +"individually. The [param points] array is defined in local space. See also " +"[method draw_polyline] and [method draw_polyline_colors]. If you need more " +"flexibility (such as being able to use bones), use [method " +"RenderingServer.canvas_item_add_triangle_array] instead.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует сплошной многоугольник с любым количеством точек, выпуклый или " +"вогнутый. В отличие от [method draw_colored_polygon], цвет каждой точки можно " +"изменять индивидуально. Массив [param points] определяется в локальном " +"пространстве. См. также [method draw_polyline] и [method " +"draw_polyline_colors]. Если вам нужна большая гибкость (например, возможность " +"использования костей), используйте [method " +"RenderingServer.canvas_item_add_triangle_array] вместо этого.\n" +"[b]Примечание:[/b] Если вы часто перерисовываете один и тот же многоугольник " +"с большим количеством вершин, рассмотрите возможность предварительного " +"вычисления триангуляции с помощью [method Geometry2D.triangulate_polygon] и " +"использования [method draw_mesh], [method draw_multimesh] или [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция отрисовки не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Draws interconnected line segments with a uniform [param color] and [param " "width] and optional antialiasing (supported only for positive [param width]). " @@ -28733,6 +29304,31 @@ msgstr "" "тонкой. Если такое поведение нежелательно, передайте положительное значение " "[param width], например, [code]1.0[/code]." +msgid "" +"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " +"for a triangle, and 4 points for a quad. If 0 points or more than 4 points " +"are specified, nothing will be drawn and an error message will be printed. " +"The [param points] array is defined in local space. See also [method " +"draw_line], [method draw_polyline], [method draw_polygon], and [method " +"draw_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует пользовательский примитив. 1 точка для точки, 2 точки для линии, 3 " +"точки для треугольника и 4 точки для четырехугольника. Если указано 0 точек " +"или более 4 точек, ничего не будет нарисовано, и будет выведено сообщение об " +"ошибке. Массив [param points] определен в локальном пространстве. См. также " +"[method draw_line], [method draw_polyline], [method draw_polygon] и [method " +"draw_rect].\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Draws a rectangle. If [param filled] is [code]true[/code], the rectangle will " "be filled with the [param color] specified. If [param filled] is [code]false[/" @@ -28804,6 +29400,46 @@ msgstr "" "Задаёт локальное преобразование для рисования через матрицу. Всё, что будет " "отрисовано после этого, будет преобразовано этим преобразованием." +msgid "" +"Draws [param text] using the specified [param font] at the [param pos] in " +"local space (bottom-left corner using the baseline of the font). The text " +"will have its color multiplied by [param modulate]. If [param width] is " +"greater than or equal to 0, the text will be clipped if it exceeds the " +"specified width. If [param oversampling] is greater than zero, it is used as " +"font oversampling factor, otherwise viewport oversampling settings are used.\n" +"[b]Example:[/b] Draw \"Hello world\", using the project's default font:\n" +"[codeblocks]\n" +"[gdscript]\n" +"draw_string(ThemeDB.fallback_font, Vector2(64, 64), \"Hello world\", " +"HORIZONTAL_ALIGNMENT_LEFT, -1, ThemeDB.fallback_font_size)\n" +"[/gdscript]\n" +"[csharp]\n" +"DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), \"Hello world\", " +"HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"See also [method Font.draw_string]." +msgstr "" +"Рисует [param text] с использованием указанного [param font] в [param pos] " +"локального пространства (нижний левый угол, используя базовую линию шрифта). " +"Цвет текста будет умножен на [param modulate]. Если [param width] больше или " +"равен 0, текст будет обрезан, если он превышает указанную ширину. Если [param " +"oversampling] больше нуля, он используется в качестве коэффициента " +"передискретизации шрифта, в противном случае используются настройки " +"передискретизации области просмотра.\n" +"[b]Пример:[/b] Рисует «Hello world», используя шрифт по умолчанию проекта:\n" +"[codeblocks]\n" +"[gdscript]\n" +"draw_string(ThemeDB.fallback_font, Vector2(64, 64), \"Hello world\", " +"HORIZONTAL_ALIGNMENT_LEFT, -1, ThemeDB.fallback_font_size)\n" +"[/gdscript]\n" +"[csharp]\n" +"DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), \"Hello world\", " +"HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"См. также [method Font.draw_string]." + msgid "" "Draws [param text] outline using the specified [param font] at the [param " "pos] in local space (bottom-left corner using the baseline of the font). The " @@ -28820,6 +29456,83 @@ msgstr "" "шрифта, в противном случае используются настройки передискретизации области " "просмотра." +msgid "" +"Draws a styled rectangle. The [param rect] is defined in local space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует стилизованный прямоугольник. Параметр [param rect] определяется в " +"локальном пространстве.\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + +msgid "" +"Draws a texture at a given position. The [param position] is defined in local " +"space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует текстуру в заданной позиции. Параметр [param position] определяется в " +"локальном пространстве.\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция отрисовки не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + +msgid "" +"Draws a textured rectangle at a given position, optionally modulated by a " +"color. The [param rect] is defined in local space. If [param transpose] is " +"[code]true[/code], the texture will have its X and Y coordinates swapped. See " +"also [method draw_rect] and [method draw_texture_rect_region].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует текстурированный прямоугольник в заданной позиции, при необходимости " +"модулированный цветом. Параметр [param rect] определяется в локальном " +"пространстве. Если [param transpose] имеет значение [code]true[/code], " +"координаты X и Y текстуры будут поменяны местами. См. также [method " +"draw_rect] и [method draw_texture_rect_region].\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + +msgid "" +"Draws a textured rectangle from a texture's region (specified by [param " +"src_rect]) at a given position in local space, optionally modulated by a " +"color. If [param transpose] is [code]true[/code], the texture will have its X " +"and Y coordinates swapped. See also [method draw_texture_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Рисует текстурированный прямоугольник из области текстуры (указанной " +"параметром [param src_rect]) в заданной позиции в локальном пространстве, " +"опционально модулированный цветом. Если [param transpose] имеет значение " +"[code]true[/code], координаты X и Y текстуры будут поменяны местами. См. " +"также [method draw_texture_rect].\n" +"[b]Примечание:[/b] Stylebox'ы, текстуры и сетки, хранящиеся только в " +"локальных переменных, [b]не[/b] следует использовать с этим методом в " +"GDScript, поскольку операция рисования не начинается сразу после вызова этого " +"метода. В GDScript, когда функция с локальными переменными завершается, " +"локальные переменные уничтожаются до начала рендеринга." + msgid "" "Forces the node's transform to update. Fails if the node is not inside the " "tree. See also [method get_transform].\n" @@ -29211,6 +29924,35 @@ msgstr "" "Если [code]true[/code], то в качестве материала этого узла используется " "[member material] родительского [CanvasItem]." +msgid "" +"The rendering layer in which this [CanvasItem] is rendered by [Viewport] " +"nodes. A [Viewport] will render a [CanvasItem] if it and all its parents " +"share a layer with the [Viewport]'s canvas cull mask.\n" +"[b]Note:[/b] A [CanvasItem] does not inherit its parents' visibility layers. " +"This means that if a parent [CanvasItem] does not have all the same layers as " +"its child, the child may not be visible even if both the parent and child " +"have [member visible] set to [code]true[/code]. For example, if a parent has " +"layer 1 and a child has layer 2, the child will not be visible in a " +"[Viewport] with the canvas cull mask set to layer 1 or 2 (see [member " +"Viewport.canvas_cull_mask]). To ensure that both the parent and child are " +"visible, the parent must have both layers 1 and 2, or the child must have " +"[member top_level] set to [code]true[/code]." +msgstr "" +"Слой рендеринга, в котором этот [CanvasItem] отображается узлами [Viewport]. " +"[Viewport] будет отображать [CanvasItem], если он и все его родительские " +"элементы используют общий слой с маской отсечения холста [Viewport].\n" +"[b]Примечание:[/b] [CanvasItem] не наследует слои видимости своих родителей. " +"Это означает, что если родительский [CanvasItem] не имеет всех тех же слоев, " +"что и его дочерний элемент, дочерний элемент может быть невидим, даже если и " +"родительский, и дочерний элементы имеют параметр [member visible] со " +"значением [code]true[/code]. Например, если родительский элемент имеет слой " +"1, а дочерний элемент — слой 2, дочерний элемент не будет виден в [Viewport] " +"с маской отсечения холста, установленной на слой 1 или 2 (см. [member " +"Viewport.canvas_cull_mask]). Чтобы обеспечить видимость как родительского, " +"так и дочернего элемента, родительский элемент должен иметь слои 1 и 2, или " +"же у дочернего элемента должен быть параметр [member top_level] со значением " +"[code]true[/code]." + msgid "" "If [code]true[/code], this [CanvasItem] may be drawn. Whether this " "[CanvasItem] is actually drawn depends on the visibility of all of its " @@ -46047,6 +46789,30 @@ msgstr "" "Возвращает форму курсора мыши по умолчанию, установленную [method " "cursor_set_shape]." +msgid "" +"Sets a custom mouse cursor image for the given [param shape]. This means the " +"user's operating system and mouse cursor theme will no longer influence the " +"mouse cursor's appearance.\n" +"[param cursor] can be either a [Texture2D] or an [Image], and it should not " +"be larger than 256×256 to display correctly. Optionally, [param hotspot] can " +"be set to offset the image's position relative to the click point. By " +"default, [param hotspot] is set to the top-left corner of the image. See also " +"[method cursor_set_shape].\n" +"[b]Note:[/b] On Web, calling this method every frame can cause the cursor to " +"flicker." +msgstr "" +"Устанавливает пользовательское изображение курсора мыши для заданного " +"параметра [param shape]. Это означает, что операционная система пользователя " +"и тема курсора мыши больше не будут влиять на его внешний вид.\n" +"Параметр [param cursor] может быть либо [Texture2D], либо [Image], и его " +"размер не должен превышать 256×256 для корректного отображения. При желании " +"параметр [param hotspot] может быть установлен для смещения положения " +"изображения относительно точки щелчка. По умолчанию [param hotspot] " +"устанавливается в верхний левый угол изображения. См. также [method " +"cursor_set_shape].\n" +"[b]Примечание:[/b] В веб-среде вызов этого метода каждый кадр может привести " +"к мерцанию курсора." + msgid "" "Sets the default mouse cursor shape. The cursor's appearance will vary " "depending on the user's operating system and mouse cursor theme. See also " @@ -47665,6 +48431,44 @@ msgstr "" "SCREEN_PRIMARY], [constant SCREEN_WITH_MOUSE_FOCUS] или [constant " "SCREEN_WITH_KEYBOARD_FOCUS]." +msgid "" +"Returns the current refresh rate of the specified screen. When V-Sync is " +"enabled, this returns the maximum framerate the project can effectively " +"reach. Returns [code]-1.0[/code] if [param screen] is invalid or the " +"[DisplayServer] fails to find the refresh rate for the specified screen.\n" +"To fallback to a default refresh rate if the method fails, try:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +"\trefresh_rate = 60.0\n" +"[/codeblock]\n" +"[b]Note:[/b] One of the following constants can be used as [param screen]: " +"[constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], [constant " +"SCREEN_WITH_MOUSE_FOCUS], or [constant SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Note:[/b] This method is implemented on Android, iOS, macOS, Linux (X11 " +"and Wayland), and Windows. On other platforms, this method always returns " +"[code]-1.0[/code]." +msgstr "" +"Возвращает текущую частоту обновления указанного экрана. При включенной V-" +"Sync возвращает максимальную частоту кадров, которую проект может эффективно " +"достичь. Возвращает [code]-1.0[/code], если [param screen] недействителен или " +"[DisplayServer] не может определить частоту обновления для указанного " +"экрана.\n" +"Чтобы вернуться к частоте обновления по умолчанию в случае сбоя метода, " +"попробуйте:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +"\trefresh_rate = 60.0\n" +"[/codeblock]\n" +"[b]Примечание:[/b] В качестве [param screen] можно использовать одну из " +"следующих констант: [constant SCREEN_OF_MAIN_WINDOW], [constant " +"SCREEN_PRIMARY], [constant SCREEN_WITH_MOUSE_FOCUS] или [constant " +"SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Примечание:[/b] Этот метод реализован на Android, iOS, macOS, Linux (X11 и " +"Wayland) и Windows. На других платформах этот метод всегда возвращает " +"[code]-1.0[/code]." + msgid "" "Returns the scale factor of the specified screen by index. Returns [code]1.0[/" "code] if [param screen] is invalid.\n" @@ -51194,6 +51998,68 @@ msgstr "" msgid "Dockable container for the editor." msgstr "Встраиваемый контейнер для редактора." +msgid "" +"EditorDock is a [Container] node that can be docked in one of the editor's " +"dock slots. Docks are added by plugins to provide space for controls related " +"to an [EditorPlugin]. The editor comes with a few built-in docks, such as the " +"Scene dock, FileSystem dock, etc.\n" +"You can add a dock by using [method EditorPlugin.add_dock]. The dock can be " +"customized by changing its properties.\n" +"[codeblock]\n" +"@tool\n" +"extends EditorPlugin\n" +"\n" +"# Dock reference.\n" +"var dock\n" +"\n" +"# Plugin initialization.\n" +"func _enter_tree():\n" +"\tdock = EditorDock.new()\n" +"\tdock.title = \"My Dock\"\n" +"\tdock.dock_icon = preload(\"./dock_icon.png\")\n" +"\tdock.default_slot = EditorDock.DOCK_SLOT_RIGHT_UL\n" +"\tvar dock_content = preload(\"./dock_content.tscn\").instantiate()\n" +"\tdock.add_child(dock_content)\n" +"\tadd_dock(dock)\n" +"\n" +"# Plugin clean-up.\n" +"func _exit_tree():\n" +"\tremove_dock(dock)\n" +"\tdock.queue_free()\n" +"\tdock = null\n" +"[/codeblock]" +msgstr "" +"EditorDock — это узел [Container], который можно закрепить в одном из слотов " +"док-панели редактора. Док-панели добавляются плагинами, чтобы предоставить " +"место для элементов управления, связанных с [EditorPlugin]. Редактор " +"поставляется с несколькими встроенными док-панелями, такими как док-панель " +"сцены, док-панель файловой системы и т. д.\n" +"Вы можете добавить док-панель, используя [method EditorPlugin.add_dock]. Док-" +"панель можно настроить, изменив её свойства.\n" +"[codeblock]\n" +"@tool\n" +"extends EditorPlugin\n" +"\n" +"# Ссылка на док\n" +"var dock\n" +"\n" +"# Инициализация плагина.\n" +"func _enter_tree():\n" +"\tdock = EditorDock.new()\n" +"\tdock.title = \"My Dock\"\n" +"\tdock.dock_icon = preload(\"./dock_icon.png\")\n" +"\tdock.default_slot = EditorDock.DOCK_SLOT_RIGHT_UL\n" +"\tvar dock_content = preload(\"./dock_content.tscn\").instantiate()\n" +"\tdock.add_child(dock_content)\n" +"\tadd_dock(dock)\n" +"\n" +"# Очистка плагинов.\n" +"func _exit_tree():\n" +"\tremove_dock(dock)\n" +"\tdock.queue_free()\n" +"\tdock = null\n" +"[/codeblock]" + msgid "Making plugins" msgstr "Создание плагинов" @@ -51400,6 +52266,20 @@ msgstr "" "Слот док-станции, левая сторона, вверху справа (в макете по умолчанию " "включены док-станции «Сцена» и «Импорт»)." +msgid "" +"Dock slot, left side, bottom-right (in default layout includes FileSystem and " +"History docks)." +msgstr "" +"Док-слот, слева, внизу справа (в стандартной конфигурации включает док-" +"станции файловой системы и истории)." + +msgid "" +"Dock slot, right side, upper-left (in default layout includes Inspector, " +"Signal, and Group docks)." +msgstr "" +"Док-слот, справа, в верхнем левом углу (в стандартной компоновке включает в " +"себя док-станции «Инспектор», «Сигнал» и «Группа»)." + msgid "Dock slot, right side, bottom-left (empty in default layout)." msgstr "" "Слот для док-станции, правая сторона, левый нижний угол (в макете по " @@ -51448,9 +52328,6 @@ msgstr "" "EditorExportPlugin._begin_customize_scenes] и [method " "EditorExportPlugin._begin_customize_resources]." -msgid "Console support in Godot" -msgstr "Поддержка консоли в Godot" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "" @@ -63687,6 +64564,10 @@ msgstr "" "разделы будут свернуты до тех пор, пока пользователь не начнет поиск (который " "автоматически развернет разделы по мере необходимости)." +msgid "Delay time for automatic resampling in the 2D editor (in seconds)." +msgstr "" +"Задержка для автоматической передискретизации в 2D-редакторе (в секундах)." + msgid "" "The \"start\" stop of the color gradient to use for bones in the 2D skeleton " "editor." @@ -64274,6 +65155,13 @@ msgstr "" "просмотра 3D-редактора. Альфа-канал цвета влияет на непрозрачность рамки " "выбора." +msgid "" +"If checked, the transform gizmo remains visible during rotation in that " +"transform mode." +msgstr "" +"Если этот флажок установлен, инструмент преобразования остается видимым во " +"время вращения в данном режиме преобразования." + msgid "" "The color to use for the AABB gizmo that displays the [GeometryInstance3D]'s " "custom [AABB]." @@ -66480,6 +67368,15 @@ msgstr "" "проекта. Принимаются строки \"forward_plus\", \"mobile\" или " "\"gl_compatibility\"." +msgid "" +"Directory naming convention for the project manager. Options are \"No " +"Convention\" (project name is directory name), \"kebab-case\" (default), " +"\"snake_case\", \"camelCase\", \"PascalCase\", or \"Title Case\"." +msgstr "" +"Правила именования каталогов для Менеджера проектов. Доступные варианты: " +"\"Без правил\" (имя проекта совпадает с именем каталога), \"kebab-case\" (по " +"умолчанию), \"snake_case\", \"camelCase\", \"PascalCase\" или \"Title Case\"." + msgid "" "The sorting order to use in the project manager. When changing the sorting " "order in the project manager, this setting is set permanently in the editor " @@ -68077,6 +68974,36 @@ msgstr "" "\"отмены\" будет утеряна. Это полезно в основном для узлов, удаленных с " "помощью вызова \"do\" (а не вызова \"undo\"!)." +msgid "" +"Clears the given undo history. You can clear history for a specific scene, " +"global history, or for all histories at once (except [constant " +"REMOTE_HISTORY]) if [param id] is [constant INVALID_HISTORY].\n" +"If [param increase_version] is [code]true[/code], the undo history version " +"will be increased, marking it as unsaved. Useful for operations that modify " +"the scene, but don't support undo.\n" +"[codeblock]\n" +"var scene_root = EditorInterface.get_edited_scene_root()\n" +"var undo_redo = EditorInterface.get_editor_undo_redo()\n" +"undo_redo.clear_history(undo_redo.get_object_history_id(scene_root))\n" +"[/codeblock]\n" +"[b]Note:[/b] If you want to mark an edited scene as unsaved without clearing " +"its history, use [method EditorInterface.mark_scene_as_unsaved] instead." +msgstr "" +"Очищает указанную историю отмены. Вы можете очистить историю для конкретной " +"сцены, глобальную историю или для всех историй одновременно (кроме [constant " +"REMOTE_HISTORY]), если [param id] равно [constant INVALID_HISTORY].\n" +"Если [param increase_version] равно [code]true[/code], версия истории отмены " +"будет увеличена, помечая её как несохранённую. Полезно для операций, " +"изменяющих сцену, но не поддерживающих отмену.\n" +"[codeblock]\n" +"var scene_root = EditorInterface.get_edited_scene_root()\n" +"var undo_redo = EditorInterface.get_editor_undo_redo()\n" +"undo_redo.clear_history(undo_redo.get_object_history_id(scene_root))\n" +"[/codeblock]\n" +"[b]Примечание:[/b] Если вы хотите пометить отредактированную сцену как " +"несохраненную, не очищая ее историю, используйте вместо этого [method " +"EditorInterface.mark_scene_as_unsaved]." + msgid "" "Commits the action. If [param execute] is [code]true[/code] (default), all " "\"do\" methods/properties are called/set when this function is called." @@ -69969,6 +70896,65 @@ msgstr "" "i] освобожден. Работает только с определенными пользователем синглтонами, " "зарегистрированными с помощью [method register_singleton]." +msgid "" +"The maximum number of frames that can be rendered every second (FPS). A value " +"of [code]0[/code] means the framerate is uncapped.\n" +"Limiting the FPS can be useful to reduce the host machine's power " +"consumption, which reduces heat, noise emissions, and improves battery life.\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/b] " +"or [b]Adaptive[/b], the setting takes precedence and the max FPS number " +"cannot exceed the monitor's refresh rate. See also [method " +"DisplayServer.screen_get_refresh_rate].\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/" +"b], on monitors with variable refresh rate enabled (G-Sync/FreeSync), using " +"an FPS limit a few frames lower than the monitor's refresh rate will " +"[url=https://blurbusters.com/howto-low-lag-vsync-on/]reduce input lag while " +"avoiding tearing[/url]. At higher refresh rates, the difference between the " +"FPS limit and the monitor refresh rate should be increased to ensure frames " +"to account for timing inaccuracies. The optimal formula for the FPS limit " +"value in this scenario is [code]r - (r * r) / 3600.0[/code], where [code]r[/" +"code] is the monitor's refresh rate.\n" +"[b]Note:[/b] The actual number of frames per second may still be below this " +"value if the CPU or GPU cannot keep up with the project's logic and " +"rendering.\n" +"[b]Note:[/b] If [member ProjectSettings.display/window/vsync/vsync_mode] is " +"[b]Disabled[/b], limiting the FPS to a high value that can be consistently " +"reached on the system can reduce input lag compared to an uncapped framerate. " +"Since this works by ensuring the GPU load is lower than 100%, this latency " +"reduction is only effective in GPU-bottlenecked scenarios, not CPU-" +"bottlenecked scenarios." +msgstr "" +"Максимальное количество кадров, которые могут быть отрисованы в секунду " +"(FPS). Значение [code]0[/code] означает, что частота кадров не ограничена.\n" +"Ограничение FPS может быть полезно для снижения энергопотребления хост-" +"машины, что уменьшает нагрев, уровень шума и продлевает срок службы батареи.\n" +"Если [member ProjectSettings.display/window/vsync/vsync_mode] имеет значение " +"[b]Enabled[/b] или [b]Adaptive[/b], то этот параметр имеет приоритет, и " +"максимальное количество FPS не может превышать частоту обновления монитора. " +"См. также [method DisplayServer.screen_get_refresh_rate].\n" +"Если параметр [member ProjectSettings.display/window/vsync/vsync_mode] " +"включен, то на мониторах с включенной переменной частотой обновления (G-Sync/" +"FreeSync) использование ограничения FPS на несколько кадров ниже частоты " +"обновления монитора [url=https://blurbusters.com/howto-low-lag-vsync-" +"on/]уменьшит задержку ввода, избегая при этом разрывов изображения[/url]. При " +"более высоких частотах обновления разницу между ограничением FPS и частотой " +"обновления монитора следует увеличить, чтобы обеспечить учет кадров при " +"неточностях синхронизации. Оптимальная формула для значения ограничения FPS в " +"этом сценарии: [code]r - (r * r) / 3600.0[/code], где [code]r[/code] — " +"частота обновления монитора.\n" +"[b]Примечание:[/b] Фактическое количество кадров в секунду может быть ниже " +"этого значения, если ЦП или ГП не справляются с логикой и рендерингом " +"проекта.\n" +"[b]Примечание:[/b] Фактическое количество кадров в секунду может быть ниже " +"этого значения, если ЦП или ГП не успевают за логикой и рендерингом проекта.\n" +"[b]Примечание:[/b] Если параметр [member ProjectSettings.display/window/vsync/" +"vsync_mode] отключен, ограничение частоты кадров до высокого значения, " +"которое может стабильно достигаться системой, может уменьшить задержку ввода " +"по сравнению с неограниченной частотой кадров. Поскольку это работает за счет " +"обеспечения загрузки графического процессора ниже 100%, это снижение задержки " +"эффективно только в сценариях, где узким местом является графический " +"процессор, а не центральный процессор." + msgid "" "The maximum number of physics steps that can be simulated each rendered " "frame.\n" @@ -74954,6 +75940,29 @@ msgstr "" msgid "A container that can be expanded/collapsed." msgstr "Контейнер, который можно развернуть/свернуть." +msgid "" +"A container that can be expanded/collapsed, with a title that can be filled " +"with controls, such as buttons. This is also called an accordion.\n" +"The title can be positioned at the top or bottom of the container. The " +"container can be expanded or collapsed by clicking the title or by pressing " +"[code]ui_accept[/code] when focused. Child control nodes are hidden when the " +"container is collapsed. Ignores non-control children.\n" +"A FoldableContainer can be grouped with other FoldableContainers so that only " +"one of them can be opened at a time; see [member foldable_group] and " +"[FoldableGroup]." +msgstr "" +"Контейнер, который можно разворачивать/сворачивать, с заголовком, который " +"может быть заполнен элементами управления, такими как кнопки. Такой контейнер " +"также называется аккордеоном.\n" +"Заголовок может располагаться вверху или внизу контейнера. Контейнер можно " +"развернуть или свернуть, щелкнув по заголовку или нажав [code]ui_accept[/" +"code] в состоянии фокуса. Дочерние элементы управления скрываются, когда " +"контейнер свернут. Игнорирует дочерние элементы, не являющиеся элементами " +"управления.\n" +"FoldableContainer можно сгруппировать с другими FoldableContainers таким " +"образом, чтобы одновременно можно было открыть только один из них; см. " +"[member foldable_group] и [FoldableGroup]." + msgid "" "Adds a [Control] that will be placed next to the container's title, obscuring " "the clickable area. Prime usage is adding [Button] nodes, but it can be any " @@ -76268,6 +77277,18 @@ msgid "Framebuffer cache manager for Rendering Device based renderers." msgstr "" "Менеджер кэша кадрового буфера для рендереров на базе устройств рендеринга." +msgid "" +"Framebuffer cache manager for [RenderingDevice]-based renderers. Provides a " +"way to create a framebuffer and reuse it in subsequent calls for as long as " +"the used textures exists. Framebuffers will automatically be cleaned up when " +"dependent objects are freed." +msgstr "" +"Менеджер кэша кадрового буфера для рендереров на основе [RenderingDevice]. " +"Предоставляет способ создания кадрового буфера (framebuffer) и его повторного " +"использования в последующих вызовах до тех пор, пока существуют используемые " +"текстуры. Кадровые буферы будут автоматически очищаться при освобождении " +"зависимых объектов." + msgid "" "Creates, or obtains a cached, framebuffer. [param textures] lists textures " "accessed. [param passes] defines the subpasses and texture allocation, if " @@ -89465,6 +90486,19 @@ msgstr "" "[b]Примечание:[/b] Это значение может быть немедленно перезаписано значением " "аппаратного датчика на Android и iOS." +msgid "" +"Sets the joypad's LED light, if available, to the specified color. See also " +"[method has_joy_light].\n" +"[b]Note:[/b] There is no way to get the color of the light from a joypad. If " +"you need to know the assigned color, store it separately.\n" +"[b]Note:[/b] This feature is only supported on Windows, Linux, and macOS." +msgstr "" +"Устанавливает цвет светодиода джойстика (если он есть). См. также [method " +"has_joy_light].\n" +"[b]Примечание:[/b] Получить цвет подсветки джойстика невозможно. Если вам " +"необходимо знать назначенный цвет, сохраните его отдельно.\n" +"[b]Примечание:[/b] Эта функция поддерживается только в Windows, Linux и macOS." + msgid "" "Sets the value of the magnetic field of the magnetometer sensor. Can be used " "for debugging on devices without a hardware sensor, for example in an editor " @@ -90237,6 +91271,67 @@ msgstr "" "пользователя есть определенная конфигурация повтора клавиши в поведении " "вашего проекта." +msgid "" +"Represents the localized label printed on the key in the current keyboard " +"layout, which corresponds to one of the [enum Key] constants or any valid " +"Unicode character. Key labels are meant for key prompts.\n" +"For keyboard layouts with a single label on the key, it is equivalent to " +"[member keycode].\n" +"To get a human-readable representation of the [InputEventKey], use " +"[code]OS.get_keycode_string(event.key_label)[/code] where [code]event[/code] " +"is the [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" +msgstr "" +"Представляет локализованную метку, напечатанную на клавише в текущей " +"раскладке клавиатуры, которая соответствует одной из констант [enum Key] или " +"любому допустимому символу Unicode. Метки клавиш предназначены для подсказок " +"при нажатии клавиш.\n" +"Для раскладок клавиатуры с одной меткой на клавише это эквивалентно [member " +"keycode].\n" +"Чтобы получить удобочитаемое представление [InputEventKey], используйте " +"[code]OS.get_keycode_string(event.key_label)[/code], где [code]event[/code] — " +"это [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" + +msgid "" +"Latin label printed on the key in the current keyboard layout, which " +"corresponds to one of the [enum Key] constants. Key codes are meant for " +"shortcuts expressed with a standard Latin keyboard, such as [kbd]Ctrl + S[/" +"kbd] for a \"Save\" shortcut.\n" +"To get a human-readable representation of the [InputEventKey], use " +"[code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is " +"the [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" +msgstr "" +"Латинская метка, напечатанная на клавише в текущей раскладке клавиатуры, " +"соответствует одной из констант [enum Key]. Коды клавиш предназначены для " +"сочетаний клавиш, выражаемых с помощью стандартной латинской клавиатуры, " +"например, [kbd]Ctrl + S[/kbd] для сочетания клавиш «Сохранить».\n" +"Чтобы получить удобочитаемое представление [InputEventKey], используйте " +"[code]OS.get_keycode_string(event.keycode)[/code], где [code]event[/code] — " +"это [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" + msgid "" "Represents the location of a key which has both left and right versions, such " "as [kbd]Shift[/kbd] or [kbd]Alt[/kbd]." @@ -90244,6 +91339,77 @@ msgstr "" "Обозначает расположение клавиши, которая имеет как левую, так и правую " "версии, например [kbd]Shift[/kbd] или [kbd]Alt[/kbd]." +msgid "" +"Represents the physical location of a key on the 101/102-key US QWERTY " +"keyboard, which corresponds to one of the [enum Key] constants. Physical key " +"codes meant for game input, such as WASD movement, where only the location of " +"the keys is important.\n" +"To get a human-readable representation of the [InputEventKey], use [method " +"OS.get_keycode_string] in combination with [method " +"DisplayServer.keyboard_get_keycode_from_physical] or [method " +"DisplayServer.keyboard_get_label_from_physical]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _input(event):\n" +"\tif event is InputEventKey:\n" +"\t\tvar keycode = " +"DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)\n" +"\t\tvar label = " +"DisplayServer.keyboard_get_label_from_physical(event.physical_keycode)\n" +"\t\tprint(OS.get_keycode_string(keycode))\n" +"\t\tprint(OS.get_keycode_string(label))\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Input(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventKey inputEventKey)\n" +"\t{\n" +"\t\tvar keycode = " +"DisplayServer.KeyboardGetKeycodeFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tvar label = " +"DisplayServer.KeyboardGetLabelFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tGD.Print(OS.GetKeycodeString(keycode));\n" +"\t\tGD.Print(OS.GetKeycodeString(label));\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Представляет физическое местоположение клавиши на 101/102-клавишной " +"американской клавиатуре QWERTY, соответствующее одной из констант [enum Key]. " +"Физические коды клавиш, предназначенные для игрового ввода, например, для " +"перемещения с помощью WASD, где важно только местоположение клавиш.\n" +"Для получения удобочитаемого представления [InputEventKey] используйте " +"[method OS.get_keycode_string] в сочетании с [method " +"DisplayServer.keyboard_get_keycode_from_physical] или [method " +"DisplayServer.keyboard_get_label_from_physical]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _input(event):\n" +"\tif event is InputEventKey:\n" +"\t\tvar keycode = " +"DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)\n" +"\t\tvar label = " +"DisplayServer.keyboard_get_label_from_physical(event.physical_keycode)\n" +"\t\tprint(OS.get_keycode_string(keycode))\n" +"\t\tprint(OS.get_keycode_string(label))\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Input(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventKey inputEventKey)\n" +"\t{\n" +"\t\tvar keycode = " +"DisplayServer.KeyboardGetKeycodeFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tvar label = " +"DisplayServer.KeyboardGetLabelFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tGD.Print(OS.GetKeycodeString(keycode));\n" +"\t\tGD.Print(OS.GetKeycodeString(label));\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "" "If [code]true[/code], the key's state is pressed. If [code]false[/code], the " "key's state is released." @@ -90251,6 +91417,25 @@ msgstr "" "Если [code]true[/code], состояние клавиши нажато. Если [code]false[/code], " "состояние клавиши отпущено." +msgid "" +"The key Unicode character code (when relevant), shifted by modifier keys. " +"Unicode character codes for composite characters and complex scripts may not " +"be available unless IME input mode is active. See [method " +"Window.set_ime_active] for more information. Unicode character codes are " +"meant for text input.\n" +"[b]Note:[/b] This property is set by the engine only for a pressed event. If " +"the event is sent by an IME or a virtual keyboard, no corresponding key " +"released event is sent." +msgstr "" +"Основной код символа Unicode (если применимо), сдвинутый клавишами-" +"модификаторами. Коды символов Unicode для составных символов и сложных " +"шрифтов могут быть недоступны, если не активен режим ввода IME. См. [method " +"Window.set_ime_active] для получения дополнительной информации. Коды символов " +"Unicode предназначены для ввода текста.\n" +"[b]Примечание:[/b] Это свойство устанавливается движком только для события " +"нажатия. Если событие отправляется IME или виртуальной клавиатурой, " +"соответствующее событие отпускания клавиши не отправляется." + msgid "Represents a magnifying touch gesture." msgstr "Представляет собой увеличительный жест." @@ -92331,6 +93516,9 @@ msgstr "" "[Color] направляющей линии. Направляющая линия — это линия, проведенная между " "каждым рядом элементов." +msgid "[Color] used to modulate the [theme_item scroll_hint] texture." +msgstr "[Color] используется для модуляции текстуры [theme_item scroll_hint]." + msgid "The horizontal spacing between items." msgstr "Горизонтальное расстояние между элементами." @@ -93187,6 +94375,16 @@ msgstr "" msgid "A cone shape limitation that interacts with [ChainIK3D]." msgstr "Ограничение формы конуса, взаимодействующее с [ChainIK3D]." +msgid "" +"The radius range of the hole made by the cone.\n" +"[code]0[/code] degrees makes a sphere without hole, [code]180[/code] degrees " +"makes a hemisphere, and [code]360[/code] degrees become empty (no limitation)." +msgstr "" +"Диапазон радиуса отверстия, образованного конусом.\n" +"[code]0[/code] градусов — сфера без отверстия, [code]180[/code] градусов — " +"полусфера, а [code]360[/code] градусов — пустое пространство (без " +"ограничений)." + msgid "Helper class for creating and parsing JSON data." msgstr "Вспомогательный класс для создания и анализа данных JSON." @@ -93813,6 +95011,29 @@ msgstr "" msgid "A control for displaying plain text." msgstr "Элемент управления для отображения простого текста." +msgid "" +"A control for displaying plain text. It gives you control over the horizontal " +"and vertical alignment and can wrap the text inside the node's bounding " +"rectangle. It doesn't support bold, italics, or other rich text formatting. " +"For that, use [RichTextLabel] instead.\n" +"[b]Note:[/b] A single Label node is not designed to display huge amounts of " +"text. To display large amounts of text in a single node, consider using " +"[RichTextLabel] instead as it supports features like an integrated scroll bar " +"and threading. [RichTextLabel] generally performs better when displaying " +"large amounts of text (several pages or more)." +msgstr "" +"Элемент управления для отображения обычного текста. Он позволяет управлять " +"горизонтальным и вертикальным выравниванием и может переносить текст внутри " +"ограничивающего прямоугольника узла. Он не поддерживает жирный шрифт, курсив " +"или другие форматированные текстовые элементы. Для этого используйте " +"[RichTextLabel].\n" +"[b]Примечание:[/b] Один узел Label не предназначен для отображения больших " +"объемов текста. Для отображения больших объемов текста в одном узле " +"рассмотрите возможность использования [RichTextLabel], поскольку он " +"поддерживает такие функции, как встроенная полоса прокрутки и " +"многопоточность. [RichTextLabel] обычно работает лучше при отображении " +"больших объемов текста (несколько страниц или более)." + msgid "" "Returns the bounding rectangle of the character at position [param pos] in " "the label's local coordinate system. If the character is a non-visual " @@ -95830,6 +97051,32 @@ msgstr "" "Встроенный модуль отображения освещения на базе графического процессора для " "использования с [LightmapGI]." +msgid "" +"LightmapperRD (\"RD\" stands for [RenderingDevice]) is the built-in GPU-based " +"lightmapper for use with [LightmapGI]. On most dedicated GPUs, it can bake " +"lightmaps much faster than most CPU-based lightmappers. LightmapperRD uses " +"compute shaders to bake lightmaps, so it does not require CUDA or OpenCL " +"libraries to be installed to be usable.\n" +"[b]Note:[/b] This lightmapper requires the GPU to support the " +"[RenderingDevice] backend (Forward+ and Mobile renderers). When using the " +"Compatibility renderer, baking will use a temporary [RenderingDevice]. " +"Support for [RenderingDevice] is not required to [i]render[/i] lightmaps that " +"were already baked beforehand." +msgstr "" +"LightmapperRD (где RD означает [RenderingDevice]) — это встроенный " +"графический процессор для создания карт освещения, используемый с " +"[LightmapGI]. На большинстве выделенных графических процессоров он может " +"создавать карты освещения намного быстрее, чем большинство процессоров. " +"LightmapperRD использует вычислительные шейдеры для создания карт освещения, " +"поэтому для его использования не требуется установка библиотек CUDA или " +"OpenCL.\n" +"[b]Примечание:[/b] Для работы этого графического процессора требуется " +"поддержка бэкенда [RenderingDevice] (рендереры Forward+ и Mobile). При " +"использовании рендерера Compatibility для создания карт освещения будет " +"использоваться временный [RenderingDevice]. Поддержка [RenderingDevice] не " +"требуется для [i]рендеринга[/i] карт освещения, которые уже были созданы " +"ранее." + msgid "" "Represents a single manually placed probe for dynamic object lighting with " "[LightmapGI]." @@ -97446,18 +98693,39 @@ msgstr "" "Если [code]1.0[/code], демпфирование не выполняется. Если [code]0.0[/code], " "демпфирование выполняется всегда." +msgid "" +"The limit angle of the primary rotation when [member symmetry_limitation] is " +"[code]true[/code], in radians." +msgstr "" +"Предельный угол основного вращения, когда [member symmetry_limitation] равно " +"[code]true[/code], в радианах." + msgid "" "The threshold to start damping for [member primary_negative_limit_angle]." msgstr "" "Пороговое значение для начала демпфирования для [member " "primary_negative_limit_angle]." +msgid "" +"The limit angle of negative side of the primary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Предельный угол отрицательной стороны основного вращения, когда [member " +"symmetry_limitation] равно [code]false[/code], в радианах." + msgid "" "The threshold to start damping for [member primary_positive_limit_angle]." msgstr "" "Пороговое значение для начала демпфирования для [member " "primary_positive_limit_angle]." +msgid "" +"The limit angle of positive side of the primary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Предельный угол положительной стороны основного вращения, когда [member " +"symmetry_limitation] равно [code]false[/code], в радианах." + msgid "" "The axis of the first rotation. This [SkeletonModifier3D] works by " "compositing the rotation by Euler angles to prevent to rotate the [member " @@ -97481,18 +98749,39 @@ msgid "The threshold to start damping for [member secondary_limit_angle]." msgstr "" "Пороговое значение для начала демпфирования [member secondary_limit_angle]." +msgid "" +"The limit angle of the secondary rotation when [member symmetry_limitation] " +"is [code]true[/code], in radians." +msgstr "" +"Предельный угол вторичного вращения, когда [member symmetry_limitation] равно " +"[code]true[/code], в радианах." + msgid "" "The threshold to start damping for [member secondary_negative_limit_angle]." msgstr "" "Пороговое значение для начала демпфирования [member " "secondary_negative_limit_angle]." +msgid "" +"The limit angle of negative side of the secondary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Предельный угол отрицательной стороны вторичного вращения, когда [member " +"symmetry_limitation] равно [code]false[/code], в радианах." + msgid "" "The threshold to start damping for [member secondary_positive_limit_angle]." msgstr "" "Пороговое значение для начала демпфирования для [member " "secondary_positive_limit_angle]." +msgid "" +"The limit angle of positive side of the secondary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Предельный угол положительной стороны вторичного вращения, когда [member " +"symmetry_limitation] равно [code]false[/code], в радианах." + msgid "" "If [code]true[/code], the limitations are spread from the bone " "symmetrically.\n" @@ -99377,6 +100666,34 @@ msgstr "Устанавливает вес костей заданной верш msgid "Node used for displaying a [Mesh] in 2D." msgstr "Узел, используемый для отображения [Mesh] в 2D." +msgid "" +"Node used for displaying a [Mesh] in 2D. This can be faster to render " +"compared to displaying a [Sprite2D] node with large transparent areas, " +"especially if the node takes up a lot of space on screen at high viewport " +"resolutions. This is because using a mesh designed to fit the sprite's opaque " +"areas will reduce GPU fill rate utilization (at the cost of increased vertex " +"processing utilization).\n" +"When a [Mesh] has to be instantiated more than thousands of times close to " +"each other, consider using a [MultiMesh] in a [MultiMeshInstance2D] instead.\n" +"A [MeshInstance2D] can be created from an existing [Sprite2D] via a tool in " +"the editor toolbar. Select the [Sprite2D] node, then choose [b]Sprite2D > " +"Convert to MeshInstance2D[/b] at the top of the 2D editor viewport." +msgstr "" +"Узел, используемый для отображения [Mesh] в 2D. Это может быть быстрее при " +"рендеринге по сравнению с отображением узла [Sprite2D] с большими прозрачными " +"областями, особенно если узел занимает много места на экране при высоком " +"разрешении области просмотра. Это связано с тем, что использование сетки, " +"разработанной для соответствия непрозрачным областям спрайта, снизит " +"коэффициент заполнения графического процессора (за счет увеличения " +"использования вершинной обработки).\n" +"Если [Mesh] необходимо создать более тысячи раз близко друг к другу, " +"рассмотрите возможность использования [MultiMesh] в [MultiMeshInstance2D].\n" +"\n" +"[MeshInstance2D] можно создать из существующего [Sprite2D] с помощью " +"инструмента на панели инструментов редактора. Выберите узел [Sprite2D], затем " +"выберите [b]Sprite2D > Преобразовать в MeshInstance2D[/b] в верхней части " +"области просмотра 2D-редактора." + msgid "2D meshes" msgstr "2D-сетки" @@ -114060,15 +115377,6 @@ msgstr "" "несколько раз. Каждое отключение уменьшает внутренний счетчик. Сигнал " "полностью отключается только тогда, когда счетчик достигает 0." -msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." -msgstr "" -"Исходный объект автоматически привязывается при создании экземпляра " -"[PackedScene]. Если этот флаговый бит включен, исходный объект будет добавлен " -"сразу после исходных аргументов сигнала." - msgid "" "Occluder shape resource for use with occlusion culling in " "[OccluderInstance3D]." diff --git a/doc/translations/ta.po b/doc/translations/ta.po index c105f209e0d9..e93d2a7bc372 100644 --- a/doc/translations/ta.po +++ b/doc/translations/ta.po @@ -45708,9 +45708,6 @@ msgstr "" "[method etigmetorexportplugin._begin_customize_scenes] மற்றும் [முறை " "EDITIOREXPORTPLUGIN._BEGIN_CUSTOMIZE_RESOURCES] ஐப் பார்க்கவும்." -msgid "Console support in Godot" -msgstr "கோடோட்டில் கன்சோல் உதவி" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "" @@ -100867,14 +100864,6 @@ msgstr "" "துண்டிப்பும் உள் கவுண்டரைக் குறைக்கிறது. கவுண்டர் 0 ஐ அடையும் போது மட்டுமே சமிக்ஞை " "முழுமையாக துண்டிக்கப்படுகிறது." -msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." -msgstr "" -"ஒரு [பேக்ச்கீன்] உடனடுடன் இருக்கும்போது மூல பொருள் தானாகவே பிணைக்கப்படும். இந்த கொடி பிட் " -"இயக்கப்பட்டிருந்தால், சமிக்ஞையின் அசல் வாதங்களுக்குப் பிறகு மூல பொருள் சேர்க்கப்படும்." - msgid "" "Occluder shape resource for use with occlusion culling in " "[OccluderInstance3D]." diff --git a/doc/translations/uk.po b/doc/translations/uk.po index 222b360e51af..bedd04cbf6e7 100644 --- a/doc/translations/uk.po +++ b/doc/translations/uk.po @@ -31,13 +31,13 @@ # Максим Горпиніч , 2025. # Hotripak , 2025. # Максим Горпиніч , 2025. -# Максим Горпиніч , 2025. +# Максим Горпиніч , 2025, 2026. # Rémi Verschelde , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-12-24 20:43+0000\n" +"PO-Revision-Date: 2026-01-25 00:40+0000\n" "Last-Translator: Максим Горпиніч \n" "Language-Team: Ukrainian \n" @@ -47,7 +47,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "Усі класи" @@ -1986,6 +1986,96 @@ msgstr "" "@onready var character_name = $Label \n" "[/codeblock]" +msgid "" +"Mark the following method for remote procedure calls. See [url=$DOCS_URL/" +"tutorials/networking/high_level_multiplayer.html]High-level multiplayer[/" +"url].\n" +"If [param mode] is set as [code]\"any_peer\"[/code], allows any peer to call " +"this RPC function. Otherwise, only the authority peer is allowed to call it " +"and [param mode] should be kept as [code]\"authority\"[/code]. When " +"configuring functions as RPCs with [method Node.rpc_config], each of these " +"modes respectively corresponds to the [constant " +"MultiplayerAPI.RPC_MODE_AUTHORITY] and [constant " +"MultiplayerAPI.RPC_MODE_ANY_PEER] RPC modes. See [enum " +"MultiplayerAPI.RPCMode]. If a peer that is not the authority tries to call a " +"function that is only allowed for the authority, the function will not be " +"executed. If the error can be detected locally (when the RPC configuration is " +"consistent between the local and the remote peer), an error message will be " +"displayed on the sender peer. Otherwise, the remote peer will detect the " +"error and print an error there.\n" +"If [param sync] is set as [code]\"call_remote\"[/code], the function will " +"only be executed on the remote peer, but not locally. To run this function " +"locally too, set [param sync] to [code]\"call_local\"[/code]. When " +"configuring functions as RPCs with [method Node.rpc_config], this is " +"equivalent to setting [code]call_local[/code] to [code]true[/code].\n" +"The [param transfer_mode] accepted values are [code]\"unreliable\"[/code], " +"[code]\"unreliable_ordered\"[/code], or [code]\"reliable\"[/code]. It sets " +"the transfer mode of the underlying [MultiplayerPeer]. See [member " +"MultiplayerPeer.transfer_mode].\n" +"The [param transfer_channel] defines the channel of the underlying " +"[MultiplayerPeer]. See [member MultiplayerPeer.transfer_channel].\n" +"The order of [param mode], [param sync] and [param transfer_mode] does not " +"matter, but values related to the same argument must not be used more than " +"once. [param transfer_channel] always has to be the 4th argument (you must " +"specify 3 preceding arguments).\n" +"[codeblock]\n" +"@rpc\n" +"func fn(): pass\n" +"\n" +"@rpc(\"any_peer\", \"unreliable_ordered\")\n" +"func fn_update_pos(): pass\n" +"\n" +"@rpc(\"authority\", \"call_remote\", \"reliable\", 0) # Equivalent to @rpc\n" +"func fn_default(): pass\n" +"[/codeblock]\n" +"[b]Note:[/b] Methods annotated with [annotation @rpc] cannot receive objects " +"which define required parameters in [method Object._init]. See [method " +"Object._init] for more details." +msgstr "" +"Позначте наступний метод для віддалених викликів процедури. Дивіться " +"[url=$DOCS_URL/tutorials/networking/high_level_multiplayer.html]Високий " +"рівень багатокористувацької гри[/url].\n" +"Якщо [param mode] встановлено як [code]\"any_peer\"[/code], це дозволяє будь-" +"якому аналогу викликати цю функцію RPC. В іншому випадку лише колега з владою " +"має право викликати його, а [param mode] слід зберігати як [code]" +"\"авторитет\"[/code]. Під час налаштування функцій як RPC за допомогою " +"[method Node.rpc_config] кожен із цих режимів відповідно відповідає [constant " +"MultiplayerAPI.RPC_MODE_AUTHORITY] і [constant Multiplayer " +"API.RPS_MODe_ANY_PEER] режимам RPC. Див. [enum MultiplayerAPI.RPCMode]. Якщо " +"колега, який не є авторитетом, спробує викликати функцію, яка дозволена лише " +"для авторитету, функція не буде виконана. Якщо помилку можна виявити локально " +"(коли конфігурація RPC узгоджується між локальним і віддаленим аналогом), " +"повідомлення про помилку буде відображено на аналізі відправника. В іншому " +"випадку віддалений аналог виявить помилку та надрукує там помилку.\n" +"Якщо [param sync] встановлено як [code]\"call_remote\"[/code], функція буде " +"виконуватися лише на віддаленому рівні, але не локально. Щоб запустити цю " +"функцію локально, встановіть [param sync] на [code]\"call_local\"[/code]. Під " +"час налаштування функцій як RPC за допомогою [method Node.rpc_config] це " +"еквівалентно встановленню [code]call_local[/code]на [code]true[/code]\n" +"Прийняті значення [param transfer_mode]: [code]\"ненадійний\"[/code], [code]" +"\"unreliable_ordered\"[/code] або [code]\"надійні\"[/code]. Він встановлює " +"режим передачі базового [MultiplayerPeer]. Дивіться [member " +"MultiplayerPeer.transfer_mode].\n" +"[param transfer_channel] визначає канал базового [MultiplayerPeer]. Дивіться " +"[member MultiplayerPeer.transfer_channel].\n" +"Порядок [param mode], [param sync] та [param transfer_mode] не має значення, " +"але значення, пов\"язані з одним і тим же аргументом, не повинні " +"використовуватися більше одного разу. [param transfer_channel] завжди має " +"бути четвертим аргументом (ви повинні вказати 3 попередні аргументи).\n" +"[codeblock]\n" +"func fn(): pass\n" +"\n" +"@rpc(\"any_peer\", \"unreliable_ordered\")\n" +"func fn_update_pos(): pass\n" +"\n" +"@rpc(\"authority\", \"call_remote\", \"reliable\", 0) # Equivalent to @rpc\n" +"\n" +"func fn_default(): pass\n" +"[/codeblock]\n" +"[b]Примітка:[/b] Методи, анотовані за допомогою [annotation @rpc], не можуть " +"отримувати об\"єкти, які визначають необхідні параметри в [method " +"Object._init]. Див. [method Object._init] для отримання додаткової інформації." + msgid "" "Make a script with static variables to not persist after all references are " "lost. If the script is loaded again the static variables will revert to their " @@ -10962,6 +11052,15 @@ msgstr "" "ви встановите для циклу [member loop_mode], анімація буде повторюватися в " "[member timeline_length]." +msgid "" +"The length of the custom timeline.\n" +"If [member stretch_time_scale] is [code]true[/code], scales the animation to " +"this length." +msgstr "" +"Тривалість користувацької часової шкали.\n" +"Якщо [member stretch_time_scale] має значення [code]true[/code], масштабує " +"анімацію до цієї довжини." + msgid "" "If [code]true[/code], [AnimationNode] provides an animation based on the " "[Animation] resource with some parameters adjusted." @@ -15988,6 +16087,93 @@ msgstr "" " Результат знаходиться в сегменті, який проходить від [code]y = 0[/code] до " "[code]y = 5[/code]. Це найближча позиція на відрізку до даної точки." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Default weight is 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D();\n" +"astar.AddPoint(1, new Vector2(0, 0));\n" +"astar.AddPoint(2, new Vector2(0, 1), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector2(1, 1));\n" +"astar.AddPoint(4, new Vector2(2, 0));\n" +"\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Повертає масив з ідентифікаторами точок, які утворюють шлях, знайдений " +"AStar2D між заданими точками. Масив упорядковується від початкової до " +"кінцевої точки шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка.[/b] Якщо [param allow_partial_path] має значення [code]true[/" +"code] і [param to_id] вимкнено, пошук може тривати надзвичайно довго.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar2D.new()\n" +"astar.add_point(1, Vector2(0, 0))\n" +"astar.add_point(2, Vector2(0, 1), 1) # Вага за замовчуванням — 1\n" +"astar.add_point(3, Vector2(1, 1))\n" +"astar.add_point(4, Vector2(2, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Повертає [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar2D();\n" +"astar.AddPoint(1, new Vector2(0, 0));\n" +"astar.AddPoint(2, new Vector2(0, 1), 1); // Вага за замовчуванням — 1\n" +"astar.AddPoint(3, new Vector2(1, 1));\n" +"astar.AddPoint(4, new Vector2(2, 0));\n" +"\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Повертає [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Якщо ви зміните вагу другої точки на 3, тоді результатом буде [code][1, 4, 3]" +"[/code], тому що тепер, навіть якщо відстань більша, «легше» пройти через " +"точку 4, ніж через точку 2." + msgid "" "Returns the capacity of the structure backing the points, useful in " "conjunction with [method reserve_space]." @@ -16060,6 +16246,36 @@ msgstr "Повертає поточну кількість балів у пул msgid "Returns an array of all point IDs." msgstr "Повертає масив усіх ідентифікаторів точок." +msgid "" +"Returns an array with the points that are in the path found by AStar2D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Повертає масив із точками, які знаходяться на шляху, знайденому AStar2D між " +"заданими точками. Масив упорядковується від початкової до кінцевої точки " +"шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка:[/b] Цей метод не є безпечним для потоків; його можна " +"використовувати лише з одного [Thread] за певний час. Розгляньте можливість " +"використання [Mutex], щоб забезпечити ексклюзивний доступ до однієї теми та " +"уникнути перегонів.\n" +"Крім того, коли [param allow_partial_path] має значення [code]true[/code] і " +"[param to_id] вимкнено, пошук може тривати надзвичайно довго." + msgid "Returns the position of the point associated with the given [param id]." msgstr "Повертає положення точки, пов’язаної з заданим [param id]." @@ -16435,6 +16651,91 @@ msgstr "" " Результат знаходиться в сегменті, який проходить від [code]y = 0[/code] до " "[code]y = 5[/code]. Це найближча позиція на відрізку до даної точки." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar3D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar3D.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Default weight is 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Returns [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Default weight is 1\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Returns [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"If you change the 2nd point's weight to 3, then the result will be [code][1, " +"4, 3][/code] instead, because now even though the distance is longer, it's " +"\"easier\" to get through point 4 than through point 2." +msgstr "" +"Повертає масив з ідентифікаторами точок, які утворюють шлях, знайдений " +"AStar3D між заданими точками. Масив упорядковується від початкової до " +"кінцевої точки шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка.[/b] Якщо [param allow_partial_path] має значення [code]true[/" +"code] і [param to_id] вимкнено, пошук може тривати надзвичайно довго.\n" +"[codeblocks]\n" +"[gdscript]\n" +"var astar = AStar3D.new()\n" +"astar.add_point(1, Vector3(0, 0, 0))\n" +"astar.add_point(2, Vector3(0, 1, 0), 1) # Вага за замовчуванням — 1\n" +"astar.add_point(3, Vector3(1, 1, 0))\n" +"astar.add_point(4, Vector3(2, 0, 0))\n" +"\n" +"astar.connect_points(1, 2, false)\n" +"astar.connect_points(2, 3, false)\n" +"astar.connect_points(4, 3, false)\n" +"astar.connect_points(1, 4, false)\n" +"\n" +"var res = astar.get_id_path(1, 3) # Повертає [1, 2, 3]\n" +"[/gdscript]\n" +"[csharp]\n" +"var astar = new AStar3D();\n" +"astar.AddPoint(1, new Vector3(0, 0, 0));\n" +"astar.AddPoint(2, new Vector3(0, 1, 0), 1); // Вага за замовчуванням — 1\n" +"astar.AddPoint(3, new Vector3(1, 1, 0));\n" +"astar.AddPoint(4, new Vector3(2, 0, 0));\n" +"astar.ConnectPoints(1, 2, false);\n" +"astar.ConnectPoints(2, 3, false);\n" +"astar.ConnectPoints(4, 3, false);\n" +"astar.ConnectPoints(1, 4, false);\n" +"long[] res = astar.GetIdPath(1, 3); // Повертає [1, 2, 3]\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Якщо ви зміните вагу другої точки на 3, тоді результатом буде [code][1, 4, 3]" +"[/code], тому що тепер, навіть якщо відстань більша, «легше» пройти через " +"точку 4, ніж через точку 2." + msgid "" "Returns an array with the IDs of the points that form the connection with the " "given point.\n" @@ -16492,6 +16793,36 @@ msgstr "" "[/csharp]\n" "[/codeblocks]" +msgid "" +"Returns an array with the points that are in the path found by AStar3D " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is disabled the search may take an unusually long time to finish." +msgstr "" +"Повертає масив із точками, які знаходяться на шляху, знайденому AStar3D між " +"заданими точками. Масив упорядковується від початкової до кінцевої точки " +"шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка:[/b] Цей метод не є безпечним для потоків; його можна " +"використовувати лише з одного [Thread] за певний час. Розгляньте можливість " +"використання [Mutex], щоб забезпечити ексклюзивний доступ до однієї теми та " +"уникнути перегонів.\n" +"Крім того, коли [param allow_partial_path] має значення [code]true[/code] і " +"[param to_id] вимкнено, пошук може тривати надзвичайно довго." + msgid "" "An implementation of A* for finding the shortest path between two points on a " "partial 2D grid." @@ -16609,6 +16940,29 @@ msgstr "" "[b]Примітка:[/b] Виклик [method update] не потрібен після виклику цієї " "функції." +msgid "" +"Returns an array with the IDs of the points that form the path found by " +"AStar2D between the given points. The array is ordered from the starting " +"point to the ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] When [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Повертає масив з ідентифікаторами точок, які утворюють шлях, знайдений " +"AStar2D між заданими точками. Масив упорядковується від початкової до " +"кінцевої точки шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка.[/b] Якщо [param allow_partial_path] має значення [code]true[/" +"code] і [param to_id] твердо, пошук може тривати надзвичайно довго." + msgid "" "Returns an array of dictionaries with point data ([code]id[/code]: " "[Vector2i], [code]position[/code]: [Vector2], [code]solid[/code]: [bool], " @@ -16618,6 +16972,36 @@ msgstr "" "[code]position[/code]: [Vector2], [code]solid[/code]: [bool], " "[code]weight_scale[/code]: [float]) у [області param]." +msgid "" +"Returns an array with the points that are in the path found by [AStarGrid2D] " +"between the given points. The array is ordered from the starting point to the " +"ending point of the path.\n" +"If [param from_id] point is disabled, returns an empty array (even if " +"[code]from_id == to_id[/code]).\n" +"If [param from_id] point is not disabled, there is no valid path to the " +"target, and [param allow_partial_path] is [code]true[/code], returns a path " +"to the point closest to the target that can be reached.\n" +"[b]Note:[/b] This method is not thread-safe; it can only be used from a " +"single [Thread] at a given time. Consider using [Mutex] to ensure exclusive " +"access to one thread to avoid race conditions.\n" +"Additionally, when [param allow_partial_path] is [code]true[/code] and [param " +"to_id] is solid the search may take an unusually long time to finish." +msgstr "" +"Повертає масив із точками, які знаходяться на шляху, знайденому [AStarGrid2D] " +"між заданими точками. Масив упорядковується від початкової до кінцевої точки " +"шляху.\n" +"Якщо точка [param from_id] вимкнена, повертає порожній масив (навіть якщо " +"[code]from_id == to_id[/code]).\n" +"Якщо точка [param from_id] не вимкнена, то немає дійсного шляху до цілі, а " +"[parum allow_partial_path] є [code]true[/code], повертає шлях до точки, " +"найближчої до цільового значення, яку можна досягти.\n" +"[b]Примітка:[/b] Цей метод не є безпечним для потоків; його можна " +"використовувати лише з одного [Thread] за певний час. Розгляньте можливість " +"використання [Mutex], щоб забезпечити ексклюзивний доступ до однієї теми та " +"уникнути перегонів.\n" +"Крім того, коли [param allow_partial_path] має значення [code]true[/code] і " +"[param to_id] твердо, пошук може тривати надзвичайно довго." + msgid "" "Indicates that the grid parameters were changed and [method update] needs to " "be called." @@ -26363,6 +26747,15 @@ msgstr "" msgid "2D Isometric Demo" msgstr "2D ізометрична демонстрація" +msgid "" +"Aligns the camera to the tracked node.\n" +"[b]Note:[/b] Calling [method force_update_scroll] after this method is not " +"required." +msgstr "" +"Вирівнює камеру відносно відстежуваного вузла.\n" +"[b]Примітка:[/b] Виклик [method force_update_scroll] після цього методу не є " +"обов'язковим." + msgid "Forces the camera to update scroll immediately." msgstr "Змушує камеру негайно оновити прокручування." @@ -28142,6 +28535,35 @@ msgstr "" "[b]Примітка:[/b] [param width] ефективний лише тоді, коли [param filled] має " "значення [code]false[/code]." +msgid "" +"Draws a colored polygon of any number of points, convex or concave. The " +"points in the [param points] array are defined in local space. Unlike [method " +"draw_polygon], a single color must be specified for the whole polygon.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Намалює кольоровий багатокутник будь-якої кількості точок, опуклі або " +"увігнуті. Точки в масиві [param points] визначені в локальному просторі. На " +"відміну від [method draw_polygon], для всього полігону необхідно вказати один " +"колір.\n" +"[b]Note:[/b] Якщо ви часто перемальовуєте один і той самий полігон з великою " +"кількістю вершин, подумайте про попереднє обчислення тріангуляції за " +"допомогою [method Geometry2D.triangulate_polygon] та використовуючи [method " +"draw_mesh], [method draw_multimesh] або [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Draws a dashed line from a 2D point to another, with a given color and width. " "The [param from] and [param to] positions are defined in local space. See " @@ -28268,6 +28690,47 @@ msgstr "" "конкретний варіант використання, використання цієї функції після надсилання " "фрагментів не потрібне." +msgid "" +"Draws a textured rectangle region of the font texture with LCD subpixel anti-" +"aliasing at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space.\n" +"Texture is drawn using the following blend operation, blend mode of the " +"[CanvasItemMaterial] is ignored:\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює текстуровану прямокутну область текстури шрифту з антиаліазом " +"субпікселя LCD у заданому положенні, додатково модульованого кольором. [param " +"rect] визначається в локальному просторі.\n" +"Текстура малюється за допомогою такої операції зведення, режим змішування " +"[CanvasItemMaterial] ігнорується:\n" +"[codeblock]\n" +"dst.r = texture.r * modulate.r * modulate.a + dst.r * (1.0 - texture.r * " +"modulate.a);\n" +"dst.g = texture.g * modulate.g * modulate.a + dst.g * (1.0 - texture.g * " +"modulate.a);\n" +"dst.b = texture.b * modulate.b * modulate.a + dst.b * (1.0 - texture.b * " +"modulate.a);\n" +"dst.a = modulate.a + dst.a * (1.0 - modulate.a);\n" +"[/codeblock]\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Draws a line from a 2D point to another, with a given color and width. It can " "be optionally antialiased. The [param from] and [param to] positions are " @@ -28287,6 +28750,56 @@ msgstr "" "залишиться тонкою. Якщо така поведінка не є бажаною, то передайте додатне " "значення [param width], наприклад [code]1.0[/code]." +msgid "" +"Draws a [Mesh] in 2D, using the provided texture. See [MeshInstance2D] for " +"related documentation. The [param transform] is defined in local space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Намалює [Mesh] у 2D, використовуючи надану текстуру. Дивіться " +"[MeshInstance2D] для відповідної документації. [param transform] визначається " +"в локальному просторі.\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + +msgid "" +"Draws a textured rectangle region of the multichannel signed distance field " +"texture at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space. See [member " +"FontFile.multichannel_signed_distance_field] for more information and caveats " +"about MSDF font rendering.\n" +"If [param outline] is positive, each alpha channel value of pixel in region " +"is set to maximum value of true distance in the [param outline] radius.\n" +"Value of the [param pixel_range] should the same that was used during " +"distance field texture generation.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Draws a textured rectangle region of the multichannel signed distance field " +"texture at a given position, optionally modulated by a color. The [param " +"rect] is defined in local space. See [member " +"FontFile.multichannel_signed_distance_field] for more information and caveats " +"about MSDF font rendering.\n" +"Якщо [param outline] позитивний, кожне значення альфа-каналу пікселя в " +"області встановлюється на максимальне значення справжньої відстані в радіусі " +"[param outline].\n" +"Значення [param pixel_range] має бути таким самим, яке використовувалося під " +"час генерації текстури поля відстані.\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Draws multiple disconnected lines with a uniform [param width] and [param " "color]. Each line is defined by two consecutive points from [param points] " @@ -28379,6 +28892,58 @@ msgstr "" "передискретизації шрифту, в іншому випадку використовуються налаштування " "передискретизації вікна перегляду." +msgid "" +"Draws a [MultiMesh] in 2D with the provided texture. See " +"[MultiMeshInstance2D] for related documentation.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює [MultiMesh] у 2D із наданою текстурою. Див. [MultiMeshInstance2D] для " +"відповідної документації.\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + +msgid "" +"Draws a solid polygon of any number of points, convex or concave. Unlike " +"[method draw_colored_polygon], each point's color can be changed " +"individually. The [param points] array is defined in local space. See also " +"[method draw_polyline] and [method draw_polyline_colors]. If you need more " +"flexibility (such as being able to use bones), use [method " +"RenderingServer.canvas_item_add_triangle_array] instead.\n" +"[b]Note:[/b] If you frequently redraw the same polygon with a large number of " +"vertices, consider pre-calculating the triangulation with [method " +"Geometry2D.triangulate_polygon] and using [method draw_mesh], [method " +"draw_multimesh], or [method RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює суцільний многокутник з будь-якою кількістю точок, опуклих або " +"увігнутих. На відміну від [method draw_colored_polygon], колір кожної точки " +"можна змінювати окремо. Масив [param points] визначено в локальному просторі. " +"Див. також [method draw_polyline] та [method draw_polyline_colors]. Якщо вам " +"потрібна більша гнучкість (наприклад, можливість використання кісток), " +"використовуйте замість цього [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Примітка:[/b] Якщо ви часто перемальовуєте один і той самий полігон з " +"великою кількістю вершин, подумайте про попереднє обчислення тріангуляції за " +"допомогою [method Geometry2D.triangulate_polygon] та використовуючи [method " +"draw_mesh], [method draw_multimesh] або [method " +"RenderingServer.canvas_item_add_triangle_array].\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Draws interconnected line segments with a uniform [param color] and [param " "width] and optional antialiasing (supported only for positive [param width]). " @@ -28434,6 +28999,30 @@ msgstr "" "така поведінка не є бажаною, передайте позитивне значення [param width], " "наприклад [code]1.0[/code]." +msgid "" +"Draws a custom primitive. 1 point for a point, 2 points for a line, 3 points " +"for a triangle, and 4 points for a quad. If 0 points or more than 4 points " +"are specified, nothing will be drawn and an error message will be printed. " +"The [param points] array is defined in local space. See also [method " +"draw_line], [method draw_polyline], [method draw_polygon], and [method " +"draw_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює звичайний примітив. 1 бал за очко, 2 бали за лінію, 3 очки за трикутник " +"і 4 бали за квадроцикл. Якщо вказано 0 балів або більше ніж 4 бали, нічого не " +"буде намальовано та буде надруковано повідомлення про помилку. Масив [param " +"points] визначено в локальному просторі. Див. також [method draw_line], " +"[method draw_polyline],\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Draws a rectangle. If [param filled] is [code]true[/code], the rectangle will " "be filled with the [param color] specified. If [param filled] is [code]false[/" @@ -28505,6 +29094,47 @@ msgstr "" "Встановлює власне локальне перетворення для малювання за допомогою матриці. " "Все, що буде намальовано після цього, буде перетворено цим перетворенням." +msgid "" +"Draws [param text] using the specified [param font] at the [param pos] in " +"local space (bottom-left corner using the baseline of the font). The text " +"will have its color multiplied by [param modulate]. If [param width] is " +"greater than or equal to 0, the text will be clipped if it exceeds the " +"specified width. If [param oversampling] is greater than zero, it is used as " +"font oversampling factor, otherwise viewport oversampling settings are used.\n" +"[b]Example:[/b] Draw \"Hello world\", using the project's default font:\n" +"[codeblocks]\n" +"[gdscript]\n" +"draw_string(ThemeDB.fallback_font, Vector2(64, 64), \"Hello world\", " +"HORIZONTAL_ALIGNMENT_LEFT, -1, ThemeDB.fallback_font_size)\n" +"[/gdscript]\n" +"[csharp]\n" +"DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), \"Hello world\", " +"HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"See also [method Font.draw_string]." +msgstr "" +"Малює [param text], використовуючи вказаний [param font] у [param pos] " +"локального простору (нижній лівий кут за допомогою базової лінії шрифту). " +"Колір тексту буде помножено на [param modulate]. Якщо [param width] більша " +"або дорівнює 0, текст буде нарізані, якщо він перевищує вказану ширину. Якщо " +"[param oversampling] перевищує нуль, він використовується як коефіцієнт " +"надмірного відбору шрифту, інакше використовуються налаштування перевищення " +"семпли вікна.\n" +"[b]Приклад:[/b] Намалюйте \"Hello world\", використовуючи шрифт за " +"замовчуванням проекту:\n" +"[codeblocks]\n" +"[gdscript]\n" +"draw_string(ThemeDB.fallback_font, Vector2(64, 64), \"Hello world\", " +"HORIZONTAL_ALIGNMENT_LEFT, -1, ThemeDB.fallback_font_size)\n" +"[/gdscript]\n" +"[csharp]\n" +"DrawString(ThemeDB.FallbackFont, new Vector2(64, 64), \"Hello world\", " +"HorizontalAlignment.Left, -1, ThemeDB.FallbackFontSize);\n" +"[/csharp]\n" +"[/codeblocks]\n" +"Див. також [method Font.draw_string]." + msgid "" "Draws [param text] outline using the specified [param font] at the [param " "pos] in local space (bottom-left corner using the baseline of the font). The " @@ -28521,6 +29151,81 @@ msgstr "" "передискретизації шрифту, в іншому випадку використовуються налаштування " "передискретизації вікна перегляду." +msgid "" +"Draws a styled rectangle. The [param rect] is defined in local space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює стилізований прямокутник. [param rect] визначається в локальному " +"просторі.\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + +msgid "" +"Draws a texture at a given position. The [param position] is defined in local " +"space.\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює текстуру в певному положенні. [Положення параметра] визначено в " +"локальному просторі.\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + +msgid "" +"Draws a textured rectangle at a given position, optionally modulated by a " +"color. The [param rect] is defined in local space. If [param transpose] is " +"[code]true[/code], the texture will have its X and Y coordinates swapped. See " +"also [method draw_rect] and [method draw_texture_rect_region].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює текстурований прямокутник у певній позиції, необов\"язково модульований " +"кольором. [param rect] визначається в локальному просторі. Якщо [param " +"transpose] є [code]true[/code], текстура матиме свої координати X і Y. Див. " +"також [method draw_rect] і [method draw_texture_rect_region].\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + +msgid "" +"Draws a textured rectangle from a texture's region (specified by [param " +"src_rect]) at a given position in local space, optionally modulated by a " +"color. If [param transpose] is [code]true[/code], the texture will have its X " +"and Y coordinates swapped. See also [method draw_texture_rect].\n" +"[b]Note:[/b] Styleboxes, textures, and meshes stored only inside local " +"variables should [b]not[/b] be used with this method in GDScript, because the " +"drawing operation doesn't begin immediately once this method is called. In " +"GDScript, when the function with the local variables ends, the local " +"variables get destroyed before the rendering takes place." +msgstr "" +"Малює текстурований прямокутник із області текстури (вказано [param " +"src_rect]) у заданій позиції в локальному просторі, необов\"язково " +"модульованому кольором. Якщо [param transpose] є [code]true[/code], текстура " +"матиме свої координати X і Y. Дивіться також [method draw_texture_rect].\n" +"[b]Примітка:[/b] Стайлбокси, текстури та сітки, що зберігаються лише " +"всередині локальних змінних, [b]не[/b] повинні використовуватися з цим " +"методом у GDScript, оскільки операція малювання не починається одразу після " +"виклику цього методу. У GDScript, коли функція з локальними змінними " +"закінчується, локальні змінні знищуються до того, як відбудеться рендеринг." + msgid "" "Forces the node's transform to update. Fails if the node is not inside the " "tree. See also [method get_transform].\n" @@ -28910,6 +29615,33 @@ msgstr "" "Якщо значення [code]true[/code], матеріал [member material] батьківського " "елемента [CanvasItem] використовується як матеріал цього вузла." +msgid "" +"The rendering layer in which this [CanvasItem] is rendered by [Viewport] " +"nodes. A [Viewport] will render a [CanvasItem] if it and all its parents " +"share a layer with the [Viewport]'s canvas cull mask.\n" +"[b]Note:[/b] A [CanvasItem] does not inherit its parents' visibility layers. " +"This means that if a parent [CanvasItem] does not have all the same layers as " +"its child, the child may not be visible even if both the parent and child " +"have [member visible] set to [code]true[/code]. For example, if a parent has " +"layer 1 and a child has layer 2, the child will not be visible in a " +"[Viewport] with the canvas cull mask set to layer 1 or 2 (see [member " +"Viewport.canvas_cull_mask]). To ensure that both the parent and child are " +"visible, the parent must have both layers 1 and 2, or the child must have " +"[member top_level] set to [code]true[/code]." +msgstr "" +"Рендерний шар, у якому цей [CanvasItem] рендерирується вузлами [Viewport]. " +"[Viewport] відображатиме [CanvasItem], якщо він і всі його батьки мають " +"спільний шар із маскою canvas cull від [Viewport].\n" +"[b]Примітка:[/b] A [CanvasItem] не успадковує рівні видимості своїх батьків. " +"Це означає, що якщо батько [CanvasItem] не має всіх тих самих шарів, що й " +"його дитина, дитина може бути невидимою, навіть якщо і батьки, і дитина мають " +"[member visible] встановлено на [code]true[/code]. Наприклад, якщо у батька є " +"шар 1, а у дитини шар 2, дитина не буде видно в [Viewport] з маскою canvas " +"cull, налаштованою на рівень 1 або 2 (див. [member " +"Viewport.canvas_cull_mask]). Щоб переконатися, що батьки та дитина видимі, " +"батько повинен мати обидва шари 1 і 2, або дитина повинна встановити [member " +"top_level] на [code]true[/code]." + msgid "" "If [code]true[/code], this [CanvasItem] may be drawn. Whether this " "[CanvasItem] is actually drawn depends on the visibility of all of its " @@ -45501,6 +46233,29 @@ msgstr "" "Повертає форму курсора за замовчуванням, встановлену [method " "курсор_set_shape]." +msgid "" +"Sets a custom mouse cursor image for the given [param shape]. This means the " +"user's operating system and mouse cursor theme will no longer influence the " +"mouse cursor's appearance.\n" +"[param cursor] can be either a [Texture2D] or an [Image], and it should not " +"be larger than 256×256 to display correctly. Optionally, [param hotspot] can " +"be set to offset the image's position relative to the click point. By " +"default, [param hotspot] is set to the top-left corner of the image. See also " +"[method cursor_set_shape].\n" +"[b]Note:[/b] On Web, calling this method every frame can cause the cursor to " +"flicker." +msgstr "" +"Встановлює власне зображення курсора миші для заданого [param shape]. Це " +"означає, що операційна система користувача та тема курсора миші більше не " +"впливатимуть на зовнішній вигляд курсора миші.\n" +"[param cursor] може бути або [Texture2D], або [Image], і він не повинен " +"перевищувати розмір 256×256 для правильного відображення. За бажанням [param " +"hotspot] можна налаштувати на зміщення положення зображення відносно точки " +"клацання. За замовчуванням [param hotspot] встановлено у верхньому лівому " +"куті зображення. Дивіться також [method cusor_set_shape].\n" +"[b]Примітка:[/b] У веб-сайті виклик цього методу кожного кадру може призвести " +"до мерехтіння курсора." + msgid "" "Sets the default mouse cursor shape. The cursor's appearance will vary " "depending on the user's operating system and mouse cursor theme. See also " @@ -47103,6 +47858,44 @@ msgstr "" "констант: [constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], " "[constant SCREEN_WITH_MOUSE_FOCUS] або [constant SCREEN_WITH_KEYBOARD_FOCUS]." +msgid "" +"Returns the current refresh rate of the specified screen. When V-Sync is " +"enabled, this returns the maximum framerate the project can effectively " +"reach. Returns [code]-1.0[/code] if [param screen] is invalid or the " +"[DisplayServer] fails to find the refresh rate for the specified screen.\n" +"To fallback to a default refresh rate if the method fails, try:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +"\trefresh_rate = 60.0\n" +"[/codeblock]\n" +"[b]Note:[/b] One of the following constants can be used as [param screen]: " +"[constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], [constant " +"SCREEN_WITH_MOUSE_FOCUS], or [constant SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Note:[/b] This method is implemented on Android, iOS, macOS, Linux (X11 " +"and Wayland), and Windows. On other platforms, this method always returns " +"[code]-1.0[/code]." +msgstr "" +"Повертає поточну частоту оновлення вказаного екрана. Коли ввімкнено " +"вертикальну синхронізацію, це повертає максимальну частоту кадрів, яку проект " +"може ефективно досягти. Повертає [code]-1.0[/code], якщо [param screen] " +"недійсний або [DisplayServer] не може знайти частоту оновлення для вказаного " +"екрана.\n" +"Щоб повернутися до частоти оновлення за замовчуванням, якщо метод не спрацює, " +"спробуйте:\n" +"[codeblock]\n" +"var refresh_rate = DisplayServer.screen_get_refresh_rate()\n" +"if refresh_rate < 0:\n" +"\trefresh_rate = 60.0\n" +"[/codeblock]\n" +"[b]Примітка:[/b] Як [param screen] можна використовувати одну з наступних " +"констант: [constant SCREEN_OF_MAIN_WINDOW], [constant SCREEN_PRIMARY], " +"[constant SCREEN_WITH_MOUSE_FOCUS] або [constant " +"SCREEN_WITH_KEYBOARD_FOCUS].\n" +"[b]Примітка:[/b] Цей метод реалізовано на Android, iOS, macOS, Linux (X11 та " +"Wayland) та Windows. На інших платформах цей метод завжди повертає " +"[code]-1.0[/code]." + msgid "" "Returns the scale factor of the specified screen by index. Returns [code]1.0[/" "code] if [param screen] is invalid.\n" @@ -50606,6 +51399,69 @@ msgstr "" msgid "Dockable container for the editor." msgstr "Закріплюваний контейнер для редактора." +msgid "" +"EditorDock is a [Container] node that can be docked in one of the editor's " +"dock slots. Docks are added by plugins to provide space for controls related " +"to an [EditorPlugin]. The editor comes with a few built-in docks, such as the " +"Scene dock, FileSystem dock, etc.\n" +"You can add a dock by using [method EditorPlugin.add_dock]. The dock can be " +"customized by changing its properties.\n" +"[codeblock]\n" +"@tool\n" +"extends EditorPlugin\n" +"\n" +"# Dock reference.\n" +"var dock\n" +"\n" +"# Plugin initialization.\n" +"func _enter_tree():\n" +"\tdock = EditorDock.new()\n" +"\tdock.title = \"My Dock\"\n" +"\tdock.dock_icon = preload(\"./dock_icon.png\")\n" +"\tdock.default_slot = EditorDock.DOCK_SLOT_RIGHT_UL\n" +"\tvar dock_content = preload(\"./dock_content.tscn\").instantiate()\n" +"\tdock.add_child(dock_content)\n" +"\tadd_dock(dock)\n" +"\n" +"# Plugin clean-up.\n" +"func _exit_tree():\n" +"\tremove_dock(dock)\n" +"\tdock.queue_free()\n" +"\tdock = null\n" +"[/codeblock]" +msgstr "" +"EditorDock — це вузол [Container], який можна закріпити в одному зі слотів " +"док-станції редактора. Доки додаються плагінами, щоб забезпечити місце для " +"елементів керування, пов'язаних з [EditorPlugin]. Редактор постачається з " +"кількома вбудованими доками, такими як док-станція Scene, док-станція " +"FileSystem тощо.\n" +"Ви можете додати док-станцію за допомогою методу [method " +"EditorPlugin.add_dock]. Док-станцію можна налаштувати, змінивши її " +"властивості.\n" +"[codeblock]\n" +"@tool\n" +"extends EditorPlugin\n" +"\n" +"# Посилання на док-станцію.\n" +"var dock\n" +"\n" +"# Ініціалізація плагіна.\n" +" func _enter_tree():\n" +"dock = EditorDock.new()\n" +"dock.title = \"Мій Док\"\n" +"dock.dock_icon = preload(\"./dock_icon.png\")\n" +"dock.default_slot = EditorDock.DOCK_SLOT_RIGHT_UL\n" +"var dock_content = preload(\"./dock_content.tscn\").instantiate()\n" +"dock.add_child(dock_content)\n" +"add_dock(dock)\n" +"\n" +"# Очищення плагіна.\n" +"func _exit_tree():\n" +"remove_dock(dock)\n" +"dock.queue_free()\n" +"dock = null\n" +"[/codeblock]" + msgid "Making plugins" msgstr "Створення плагінів" @@ -50803,6 +51659,20 @@ msgstr "" "Дак слот, ліва сторона, верхній правий (в розкладі за замовчуванням включає " "сцену і імпорт доки)." +msgid "" +"Dock slot, left side, bottom-right (in default layout includes FileSystem and " +"History docks)." +msgstr "" +"Слот для док-станції, ліворуч, внизу праворуч (у стандартній розкладці " +"включає доки файлової системи та історії)." + +msgid "" +"Dock slot, right side, upper-left (in default layout includes Inspector, " +"Signal, and Group docks)." +msgstr "" +"Слот для застикання, справа, угорі ліворуч (у стандартній розкладці включає " +"застикання Інспектора, Сигнала та Групи)." + msgid "Dock slot, right side, bottom-left (empty in default layout)." msgstr "Дак слот, права сторона, низ-ліва (порожня в макеті за замовчуванням)." @@ -50848,9 +51718,6 @@ msgstr "" "та [method редакторExportPlugin._begin_customize_resources] для отримання " "більш детальної інформації." -msgid "Console support in Godot" -msgstr "Консольний супровід в Godot" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "" @@ -62828,6 +63695,10 @@ msgstr "" "розділи будуть згортатися до тих пір, поки користувач починає шукати (що буде " "автоматично розширювати розділи, як це потрібно)." +msgid "Delay time for automatic resampling in the 2D editor (in seconds)." +msgstr "" +"Час затримки для автоматичного передискретизації в 2D-редакторі (у секундах)." + msgid "" "The \"start\" stop of the color gradient to use for bones in the 2D skeleton " "editor." @@ -63396,6 +64267,13 @@ msgstr "" "Колір, який оточує вибрані вершини в портах 3D редактора. Альфа-канал кольору " "впливає на непрозорість вибору коробки." +msgid "" +"If checked, the transform gizmo remains visible during rotation in that " +"transform mode." +msgstr "" +"Якщо позначено, гізмо перетворення залишається видимим під час обертання в " +"цьому режимі перетворення." + msgid "" "The color to use for the AABB gizmo that displays the [GeometryInstance3D]'s " "custom [AABB]." @@ -65570,6 +66448,15 @@ msgstr "" "Тип рендерера, який буде зареєстрований за замовчуванням при створенні нового " "проекту. Прийняті рядки \"forward_plus\", \"мобіль\" або \"gl_compatibility\"." +msgid "" +"Directory naming convention for the project manager. Options are \"No " +"Convention\" (project name is directory name), \"kebab-case\" (default), " +"\"snake_case\", \"camelCase\", \"PascalCase\", or \"Title Case\"." +msgstr "" +"Правило найменування каталогів для керівника проекту. Варіанти: «Без правила» " +"(назва проекту — це назва каталогу), «kebab-case» (за замовчуванням), " +"«snake_case», «camelCase», «PascalCase» або «Title Case»." + msgid "" "The sorting order to use in the project manager. When changing the sorting " "order in the project manager, this setting is set permanently in the editor " @@ -67384,6 +68271,36 @@ msgstr "" "\"undo\". Це корисно в основному для вузлів, видалених за допомогою виклику " "«до» (не виклику «undo»)." +msgid "" +"Clears the given undo history. You can clear history for a specific scene, " +"global history, or for all histories at once (except [constant " +"REMOTE_HISTORY]) if [param id] is [constant INVALID_HISTORY].\n" +"If [param increase_version] is [code]true[/code], the undo history version " +"will be increased, marking it as unsaved. Useful for operations that modify " +"the scene, but don't support undo.\n" +"[codeblock]\n" +"var scene_root = EditorInterface.get_edited_scene_root()\n" +"var undo_redo = EditorInterface.get_editor_undo_redo()\n" +"undo_redo.clear_history(undo_redo.get_object_history_id(scene_root))\n" +"[/codeblock]\n" +"[b]Note:[/b] If you want to mark an edited scene as unsaved without clearing " +"its history, use [method EditorInterface.mark_scene_as_unsaved] instead." +msgstr "" +"Очищає задану історію скасування. Ви можете очистити історію для певної " +"сцени, глобальної історії або для всіх історій одночасно (крім [constant " +"REMOTE_HISTORY]), якщо [param id] має значення [constant INVALID_HISTORY].\n" +"Якщо [param increase_version] має значення [code]true[/code], версія історії " +"скасування буде збільшена, що позначить її як незбережену. Корисно для " +"операцій, які змінюють сцену, але не підтримують скасування.\n" +" [codeblock]\n" +"var scene_root = EditorInterface.get_edited_scene_root()\n" +"var undo_redo = EditorInterface.get_editor_undo_redo()\n" +"undo_redo.clear_history(undo_redo.get_object_history_id(scene_root))\n" +"[/codeblock]\n" +"[b]Примітка:[/b] Якщо ви хочете позначити відредаговану сцену як незбережену, " +"не очищуючи її історію, використовуйте замість цього [method " +"EditorInterface.mark_scene_as_unsaved]." + msgid "" "Commits the action. If [param execute] is [code]true[/code] (default), all " "\"do\" methods/properties are called/set when this function is called." @@ -69227,6 +70144,63 @@ msgstr "" "[i]не[/i] звільнено. Працює лише з визначеними користувачем синглтонами, " "зареєстрованими за допомогою методу [method register_singleton]." +msgid "" +"The maximum number of frames that can be rendered every second (FPS). A value " +"of [code]0[/code] means the framerate is uncapped.\n" +"Limiting the FPS can be useful to reduce the host machine's power " +"consumption, which reduces heat, noise emissions, and improves battery life.\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/b] " +"or [b]Adaptive[/b], the setting takes precedence and the max FPS number " +"cannot exceed the monitor's refresh rate. See also [method " +"DisplayServer.screen_get_refresh_rate].\n" +"If [member ProjectSettings.display/window/vsync/vsync_mode] is [b]Enabled[/" +"b], on monitors with variable refresh rate enabled (G-Sync/FreeSync), using " +"an FPS limit a few frames lower than the monitor's refresh rate will " +"[url=https://blurbusters.com/howto-low-lag-vsync-on/]reduce input lag while " +"avoiding tearing[/url]. At higher refresh rates, the difference between the " +"FPS limit and the monitor refresh rate should be increased to ensure frames " +"to account for timing inaccuracies. The optimal formula for the FPS limit " +"value in this scenario is [code]r - (r * r) / 3600.0[/code], where [code]r[/" +"code] is the monitor's refresh rate.\n" +"[b]Note:[/b] The actual number of frames per second may still be below this " +"value if the CPU or GPU cannot keep up with the project's logic and " +"rendering.\n" +"[b]Note:[/b] If [member ProjectSettings.display/window/vsync/vsync_mode] is " +"[b]Disabled[/b], limiting the FPS to a high value that can be consistently " +"reached on the system can reduce input lag compared to an uncapped framerate. " +"Since this works by ensuring the GPU load is lower than 100%, this latency " +"reduction is only effective in GPU-bottlenecked scenarios, not CPU-" +"bottlenecked scenarios." +msgstr "" +"Максимальна кількість кадрів, які можна відобразити щосекунди (FPS). Значення " +"[code]0[/code] означає, що частота кадрів не обмежена.\n" +"Обмеження FPS може бути корисним для зменшення споживання енергії хост-" +"машиною, що зменшує нагрівання, шумові викиди та подовжує термін служби " +"батареї.\n" +"Якщо [member ProjectSettings.display/window/vsync/vsync_mode] має значення " +"[b]Увімкнено[/b] або [b]Адаптивно[/b], цей параметр має пріоритет, і " +"максимальне число FPS не може перевищувати частоту оновлення монітора. Див. " +"також [method DisplayServer.screen_get_refresh_rate].\n" +"Якщо [member ProjectSettings.display/window/vsync/vsync_mode] має значення " +"[b]Увімкнено[/b], на моніторах із увімкненою змінною частотою оновлення (G-" +"Sync/FreeSync), використання обмеження FPS на кілька кадрів нижче частоти " +"оновлення монітора [url=https://blurbusters.com/howto-low-lag-vsync-" +"on/]зменшить затримку введення, уникаючи розривів[/url]. За вищих частот " +"оновлення різницю між обмеженням FPS та частотою оновлення монітора слід " +"збільшити, щоб забезпечити кадри з урахуванням неточностей синхронізації. " +"Оптимальна формула для визначення обмеження FPS у цьому сценарії: [code]r - " +"(r * r) / 3600.0[/code], де [code]r[/code] – це частота оновлення монітора.\n" +"[b]Примітка:[/b] Фактична кількість кадрів за секунду може бути нижчою за це " +"значення, якщо процесор або графічний процесор не можуть встигати за логікою " +"та рендерингом проекту.\n" +"[b]Примітка:[/b] Якщо [member ProjectSettings.display/window/vsync/" +"vsync_mode] має значення [b]Вимкнено[/b], обмеження FPS високим значенням, " +"яке можна послідовно досягти в системі, може зменшити затримку введення " +"порівняно з необмеженою частотою кадрів. Оскільки це працює, забезпечуючи " +"навантаження графічного процесора нижче 100%, це зменшення затримки ефективне " +"лише у сценаріях з обмеженим графічним процесором, а не у сценаріях з " +"обмеженим графічним процесором." + msgid "" "The maximum number of physics steps that can be simulated each rendered " "frame.\n" @@ -69273,6 +70247,57 @@ msgstr "" "або в рамках мережевої гри, рекомендується вимкнути фізичну фіксацію " "Джіттера, встановлюючи цю властивість [code]0[/code]." +msgid "" +"The number of fixed iterations per second. This controls how often physics " +"simulation and the [method Node._physics_process] method are run.\n" +"CPU usage scales approximately with the physics tick rate. However, at very " +"low tick rates (usually below 30), physics behavior can break down. Input can " +"also become less responsive at low tick rates as there can be a gap between " +"input being registered, and the response on the next physics tick. High tick " +"rates give more accurate physics simulation, particularly for fast moving " +"objects. For example, racing games may benefit from increasing the tick rate " +"above the default 60.\n" +"See also [member max_fps] and [member ProjectSettings.physics/common/" +"physics_ticks_per_second].\n" +"[b]Note:[/b] Only [member max_physics_steps_per_frame] physics ticks may be " +"simulated per rendered frame at most. If more physics ticks have to be " +"simulated per rendered frame to keep up with rendering, the project will " +"appear to slow down (even if [code]delta[/code] is used consistently in " +"physics calculations). Therefore, it is recommended to also increase [member " +"max_physics_steps_per_frame] if increasing [member physics_ticks_per_second] " +"significantly above its default value.\n" +"[b]Note:[/b] Consider enabling [url=$DOCS_URL/tutorials/physics/interpolation/" +"index.html]physics interpolation[/url] if you change [member " +"physics_ticks_per_second] to a value that is not a multiple of [code]60[/" +"code]. Using physics interpolation will avoid jittering when the monitor " +"refresh rate and physics update rate don't exactly match." +msgstr "" +"Кількість фіксованих ітерацій за секунду. Це визначає частоту запуску " +"фізичного моделювання та методу [method Node._physics_process].\n" +"Використання процесора масштабується приблизно пропорційно до частоти тактів " +"фізики. Однак, при дуже низькій частоті тактів (зазвичай нижче 30), фізична " +"поведінка може порушуватися. Вхідні дані також можуть стати менш чутливими " +"при низькій частоті тактів, оскільки може виникнути розрив між реєстрацією " +"вхідних даних та відповіддю на наступному фізичному такті. Висока частота " +"тактів забезпечує точнішу фізичну симуляцію, особливо для швидко рухомих " +"об'єктів. Наприклад, гоночні ігри можуть отримати користь від збільшення " +"частоти тактів вище стандартної 60.\n" +"Див. також [member max_fps] та [member ProjectSettings.physics/common/" +"physics_ticks_per_second].\n" +"[b]Примітка:[/b] Тільки [member max_physics_steps_per_frame] фізичних тактів " +"можна моделювати на один кадр рендерингу. Якщо для рендерингу потрібно " +"моделювати більше фізичних тактів на один кадр рендерингу, щоб встигати за " +"рендерингом, проект виглядатиме сповільненим (навіть якщо [code]delta[/code] " +"використовується послідовно у фізичних розрахунках). Тому рекомендується " +"також збільшити [member max_physics_steps_per_frame], якщо [member " +"physics_ticks_per_second] значно збільшується вище значення за " +"замовчуванням.\n" +"[b]Примітка:[/b] Розгляньте можливість увімкнення [url=$DOCS_URL/tutorials/" +"physics/interpolation/index.html]фізичної інтерполяції[/url], якщо ви " +"змінюєте [member physics_ticks_per_second] на значення, не кратне [code]60[/" +"code]. Використання фізичної інтерполяції дозволить уникнути тремтіння, коли " +"частота оновлення монітора та частота оновлення фізики не зовсім збігаються." + msgid "" "If [code]false[/code], stops printing error and warning messages to the " "console and editor Output log. This can be used to hide error and warning " @@ -74103,6 +75128,29 @@ msgstr "" msgid "A container that can be expanded/collapsed." msgstr "Контейнер, який можна розгортати/згортати." +msgid "" +"A container that can be expanded/collapsed, with a title that can be filled " +"with controls, such as buttons. This is also called an accordion.\n" +"The title can be positioned at the top or bottom of the container. The " +"container can be expanded or collapsed by clicking the title or by pressing " +"[code]ui_accept[/code] when focused. Child control nodes are hidden when the " +"container is collapsed. Ignores non-control children.\n" +"A FoldableContainer can be grouped with other FoldableContainers so that only " +"one of them can be opened at a time; see [member foldable_group] and " +"[FoldableGroup]." +msgstr "" +"Контейнер, який можна розгортати/згортати, із заголовком, який можна " +"заповнювати елементами керування, такими як кнопки. Це також називається " +"акордеоном.\n" +"Заголовок можна розташувати у верхній або нижній частині контейнера. " +"Контейнер можна розгортати або згортати, клацнувши на заголовку або " +"натиснувши [code]ui_accept[/code], коли він у фокусі. Дочірні вузли керування " +"приховані, коли контейнер згорнуто. Ігнорує дочірні елементи, які не є " +"елементами керування.\n" +"FoldableContainer можна групувати з іншими FoldableContainer, щоб одночасно " +"можна було відкрити лише один з них; див. [member foldable_group] та " +"[FoldableGroup]." + msgid "" "Adds a [Control] that will be placed next to the container's title, obscuring " "the clickable area. Prime usage is adding [Button] nodes, but it can be any " @@ -75404,6 +76452,17 @@ msgstr "" msgid "Framebuffer cache manager for Rendering Device based renderers." msgstr "Рендерингових пристроїв на основі рендерингових пристроїв." +msgid "" +"Framebuffer cache manager for [RenderingDevice]-based renderers. Provides a " +"way to create a framebuffer and reuse it in subsequent calls for as long as " +"the used textures exists. Framebuffers will automatically be cleaned up when " +"dependent objects are freed." +msgstr "" +"Менеджер кешу фреймбуфера для рендерерів на основі [RenderingDevice]. Надає " +"спосіб створення фреймбуфера та його повторного використання в наступних " +"викликах, поки існують використані текстури. Фреймбуфери автоматично " +"очищаються після звільнення залежних об'єктів." + msgid "" "Creates, or obtains a cached, framebuffer. [param textures] lists textures " "accessed. [param passes] defines the subpasses and texture allocation, if " @@ -88395,6 +89454,19 @@ msgstr "" "[b]Примітка:[/b] Це значення може бути негайно переписано значенням датчика " "обладнання на Android та iOS." +msgid "" +"Sets the joypad's LED light, if available, to the specified color. See also " +"[method has_joy_light].\n" +"[b]Note:[/b] There is no way to get the color of the light from a joypad. If " +"you need to know the assigned color, store it separately.\n" +"[b]Note:[/b] This feature is only supported on Windows, Linux, and macOS." +msgstr "" +"Встановлює для світлодіода джойстика, якщо він доступний, заданий колір. Див. " +"також [method has_joy_light].\n" +"[b]Примітка:[/b] Немає способу отримати колір світла з джойстика. Якщо вам " +"потрібно знати призначений колір, збережіть його окремо.\n" +"[b]Примітка:[/b] Ця функція підтримується лише у Windows, Linux та macOS." + msgid "" "Sets the value of the magnetic field of the magnetometer sensor. Can be used " "for debugging on devices without a hardware sensor, for example in an editor " @@ -89146,6 +90218,66 @@ msgstr "" "ваш проект працює правильно на всіх конфігураціях, не припустимо, користувач " "має конкретну функцію повторення ключів у своїй поведінки проекту." +msgid "" +"Represents the localized label printed on the key in the current keyboard " +"layout, which corresponds to one of the [enum Key] constants or any valid " +"Unicode character. Key labels are meant for key prompts.\n" +"For keyboard layouts with a single label on the key, it is equivalent to " +"[member keycode].\n" +"To get a human-readable representation of the [InputEventKey], use " +"[code]OS.get_keycode_string(event.key_label)[/code] where [code]event[/code] " +"is the [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" +msgstr "" +"Представляє локалізовану мітку, надруковану на клавіші в поточній розкладці " +"клавіатури, яка відповідає одній з констант [enum Key] або будь-якому " +"дійсному символу Unicode. Мітки клавіш призначені для підказок клавіш.\n" +"Для розкладок клавіатури з однією міткою на клавіші це еквівалентно [member " +"keycode].\n" +"Щоб отримати зрозуміле для людини представлення [InputEventKey], " +"використовуйте [code]OS.get_keycode_string(event.key_label)[/code], де " +"[code]event[/code] – це [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" + +msgid "" +"Latin label printed on the key in the current keyboard layout, which " +"corresponds to one of the [enum Key] constants. Key codes are meant for " +"shortcuts expressed with a standard Latin keyboard, such as [kbd]Ctrl + S[/" +"kbd] for a \"Save\" shortcut.\n" +"To get a human-readable representation of the [InputEventKey], use " +"[code]OS.get_keycode_string(event.keycode)[/code] where [code]event[/code] is " +"the [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" +msgstr "" +"Латинська мітка, надрукована на клавіші в поточній розкладці клавіатури, яка " +"відповідає одній з констант [enum Key]. Коди клавіш призначені для комбінацій " +"клавіш, що виражаються стандартною латинською клавіатурою, наприклад, " +"[kbd]Ctrl + S[/kbd] для комбінації клавіш «Зберегти».\n" +"Щоб отримати зрозуміле для людини представлення [InputEventKey], " +"використовуйте [code]OS.get_keycode_string(event.keycode)[/code], де " +"[code]event[/code] – це [InputEventKey].\n" +"[codeblock lang=text]\n" +"+-----+ +-----+\n" +"| Q | | Q | - \"Q\" - keycode\n" +"| Й | | ض | - \"Й\" and \"ض\" - key_label\n" +"+-----+ +-----+\n" +"[/codeblock]" + msgid "" "Represents the location of a key which has both left and right versions, such " "as [kbd]Shift[/kbd] or [kbd]Alt[/kbd]." @@ -89153,6 +90285,77 @@ msgstr "" "Представляє розташування ключа, який має як ліві, так і праві версії, такі як " "[kbd]Shift[/kbd] або [kbd]Alt[/kbd]." +msgid "" +"Represents the physical location of a key on the 101/102-key US QWERTY " +"keyboard, which corresponds to one of the [enum Key] constants. Physical key " +"codes meant for game input, such as WASD movement, where only the location of " +"the keys is important.\n" +"To get a human-readable representation of the [InputEventKey], use [method " +"OS.get_keycode_string] in combination with [method " +"DisplayServer.keyboard_get_keycode_from_physical] or [method " +"DisplayServer.keyboard_get_label_from_physical]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _input(event):\n" +"\tif event is InputEventKey:\n" +"\t\tvar keycode = " +"DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)\n" +"\t\tvar label = " +"DisplayServer.keyboard_get_label_from_physical(event.physical_keycode)\n" +"\t\tprint(OS.get_keycode_string(keycode))\n" +"\t\tprint(OS.get_keycode_string(label))\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Input(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventKey inputEventKey)\n" +"\t{\n" +"\t\tvar keycode = " +"DisplayServer.KeyboardGetKeycodeFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tvar label = " +"DisplayServer.KeyboardGetLabelFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tGD.Print(OS.GetKeycodeString(keycode));\n" +"\t\tGD.Print(OS.GetKeycodeString(label));\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" +msgstr "" +"Представляє фізичне розташування клавіші на 101/102-клавішній клавіатурі US " +"QWERTY, яка відповідає одній з констант [enum Key]. Коди фізичних клавіш " +"призначені для введення в гру, наприклад, для руху WASD, де важливе лише " +"розташування клавіш.\n" +"Щоб отримати зрозуміле для людини представлення [InputEventKey], " +"використовуйте [method OS.get_keycode_string] у поєднанні з [method " +"DisplayServer.keyboard_get_keycode_from_physical] або [method " +"DisplayServer.keyboard_get_label_from_physical]:\n" +"[codeblocks]\n" +"[gdscript]\n" +"func _input(event):\n" +"\tif event is InputEventKey:\n" +"\t\tvar keycode = " +"DisplayServer.keyboard_get_keycode_from_physical(event.physical_keycode)\n" +"\t\tvar label = " +"DisplayServer.keyboard_get_label_from_physical(event.physical_keycode)\n" +"\t\tprint(OS.get_keycode_string(keycode))\n" +"\t\tprint(OS.get_keycode_string(label))\n" +"[/gdscript]\n" +"[csharp]\n" +"public override void _Input(InputEvent @event)\n" +"{\n" +"\tif (@event is InputEventKey inputEventKey)\n" +"\t{\n" +"\t\tvar keycode = " +"DisplayServer.KeyboardGetKeycodeFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tvar label = " +"DisplayServer.KeyboardGetLabelFromPhysical(inputEventKey.PhysicalKeycode);\n" +"\t\tGD.Print(OS.GetKeycodeString(keycode));\n" +"\t\tGD.Print(OS.GetKeycodeString(label));\n" +"\t}\n" +"}\n" +"[/csharp]\n" +"[/codeblocks]" + msgid "" "If [code]true[/code], the key's state is pressed. If [code]false[/code], the " "key's state is released." @@ -89160,6 +90363,25 @@ msgstr "" "Якщо [code]true[/code], натискається ключовий стан. Якщо [code]false[/code], " "випущена ключова держава." +msgid "" +"The key Unicode character code (when relevant), shifted by modifier keys. " +"Unicode character codes for composite characters and complex scripts may not " +"be available unless IME input mode is active. See [method " +"Window.set_ime_active] for more information. Unicode character codes are " +"meant for text input.\n" +"[b]Note:[/b] This property is set by the engine only for a pressed event. If " +"the event is sent by an IME or a virtual keyboard, no corresponding key " +"released event is sent." +msgstr "" +"Код символу Unicode клавіші (якщо це доречно), зміщений за допомогою клавіш-" +"модифікаторів. Коди символів Unicode для складених символів та складних " +"письмен можуть бути недоступні, якщо не активовано режим введення IME. Див. " +"[method Window.set_ime_active] для отримання додаткової інформації. Коди " +"символів Unicode призначені для введення тексту.\n" +"[b]Примітка:[/b] Ця властивість встановлюється механізмом лише для події " +"натискання. Якщо подію надсилає IME або віртуальна клавіатура, відповідна " +"подія відпускання клавіші не надсилається." + msgid "Represents a magnifying touch gesture." msgstr "Представляє собою лугуючий жест." @@ -91204,6 +92426,10 @@ msgid "" msgstr "" "[Колор] дирекції. Дирекція - лінія, що складається між кожним рядом предметів." +msgid "[Color] used to modulate the [theme_item scroll_hint] texture." +msgstr "" +"[Color] використовується для модуляції текстури [theme_item scroll_hint]." + msgid "The horizontal spacing between items." msgstr "Горизонтальна чистка між предметами." @@ -92046,6 +93272,15 @@ msgstr "Обмеження прикріплене до кожного сугло msgid "A cone shape limitation that interacts with [ChainIK3D]." msgstr "Обмеження форми конуса, яке взаємодіє з [ChainIK3D]." +msgid "" +"The radius range of the hole made by the cone.\n" +"[code]0[/code] degrees makes a sphere without hole, [code]180[/code] degrees " +"makes a hemisphere, and [code]360[/code] degrees become empty (no limitation)." +msgstr "" +"Діапазон радіусів отвору, утвореного конусом.\n" +"[code]0[/code] градусів утворює сферу без отвору, [code]180[/code] градусів " +"утворює півсферу, а [code]360[/code] градусів стають порожніми (без обмежень)." + msgid "Helper class for creating and parsing JSON data." msgstr "Помічник класу створення та оформлення даних JSON." @@ -92660,6 +93895,28 @@ msgstr "" msgid "A control for displaying plain text." msgstr "Контроль для відображення простого тексту." +msgid "" +"A control for displaying plain text. It gives you control over the horizontal " +"and vertical alignment and can wrap the text inside the node's bounding " +"rectangle. It doesn't support bold, italics, or other rich text formatting. " +"For that, use [RichTextLabel] instead.\n" +"[b]Note:[/b] A single Label node is not designed to display huge amounts of " +"text. To display large amounts of text in a single node, consider using " +"[RichTextLabel] instead as it supports features like an integrated scroll bar " +"and threading. [RichTextLabel] generally performs better when displaying " +"large amounts of text (several pages or more)." +msgstr "" +"Елемент керування для відображення звичайного тексту. Він надає вам контроль " +"над горизонтальним та вертикальним вирівнюванням і може обносити текст " +"всередині прямокутника, що обмежує вузол. Він не підтримує жирний шрифт, " +"курсив або інше форматування RTF. Для цього використовуйте [RichTextLabel].\n" +"[b]Примітка:[/b] Один вузол Label не призначений для відображення величезної " +"кількості тексту. Щоб відобразити велику кількість тексту в одному вузлі, " +"розгляньте можливість використання [RichTextLabel], оскільки він підтримує " +"такі функції, як інтегрована смуга прокручування та потоки. [RichTextLabel] " +"зазвичай краще працює під час відображення великої кількості тексту (кілька " +"сторінок або більше)." + msgid "" "Returns the bounding rectangle of the character at position [param pos] in " "the label's local coordinate system. If the character is a non-visual " @@ -94630,6 +95887,32 @@ msgid "The built-in GPU-based lightmapper for use with [LightmapGI]." msgstr "" "Вбудований графічний процесор на основі GPU для використання з [LightmapGI]." +msgid "" +"LightmapperRD (\"RD\" stands for [RenderingDevice]) is the built-in GPU-based " +"lightmapper for use with [LightmapGI]. On most dedicated GPUs, it can bake " +"lightmaps much faster than most CPU-based lightmappers. LightmapperRD uses " +"compute shaders to bake lightmaps, so it does not require CUDA or OpenCL " +"libraries to be installed to be usable.\n" +"[b]Note:[/b] This lightmapper requires the GPU to support the " +"[RenderingDevice] backend (Forward+ and Mobile renderers). When using the " +"Compatibility renderer, baking will use a temporary [RenderingDevice]. " +"Support for [RenderingDevice] is not required to [i]render[/i] lightmaps that " +"were already baked beforehand." +msgstr "" +"LightmapperRD («RD» розшифровується як [RenderingDevice]) — це вбудований " +"графічний процесор для створення карт світла, що використовується з " +"[LightmapGI]. На більшості спеціалізованих графічних процесорів він може " +"створювати карти світла набагато швидше, ніж більшість графічних процесорів " +"на базі процесора. LightmapperRD використовує обчислювальні шейдери для " +"створення карт світла, тому для використання не потрібно встановлювати " +"бібліотеки CUDA або OpenCL.\n" +"[b]Примітка:[/b] Цей графічний процесор повинен підтримувати серверну частину " +"[RenderingDevice] (рендерери Forward+ та мобільні рендерери). Під час " +"використання рендерера сумісності для створення карт світла " +"використовуватиметься тимчасовий [RenderingDevice]. Підтримка " +"[RenderingDevice] не потрібна для [i]рендерингу[/i] карт світла, які вже були " +"запечені раніше." + msgid "" "Represents a single manually placed probe for dynamic object lighting with " "[LightmapGI]." @@ -96228,16 +97511,37 @@ msgstr "" "Якщо [code]1.0[/code], демпфування не виконується. Якщо [code]0.0[/code], " "демпфування виконується завжди." +msgid "" +"The limit angle of the primary rotation when [member symmetry_limitation] is " +"[code]true[/code], in radians." +msgstr "" +"Граничний кут основного обертання, коли [member symmetry_limition] має " +"значення [code]true[/code], у радіанах." + msgid "" "The threshold to start damping for [member primary_negative_limit_angle]." msgstr "" "Поріг для початку демпфування для [member primary_negative_limit_angle]." +msgid "" +"The limit angle of negative side of the primary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Граничний кут від'ємної сторони основного обертання, коли [member " +"symmetry_limition] дорівнює [code]false[/code], у радіанах." + msgid "" "The threshold to start damping for [member primary_positive_limit_angle]." msgstr "" "Поріг для початку демпфування для [member primary_positive_limit_angle]." +msgid "" +"The limit angle of positive side of the primary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Граничний кут позитивної сторони первинного обертання, коли [member " +"symmetry_limition] дорівнює [code]false[/code], у радіанах." + msgid "" "The axis of the first rotation. This [SkeletonModifier3D] works by " "compositing the rotation by Euler angles to prevent to rotate the [member " @@ -96260,18 +97564,39 @@ msgid "The threshold to start damping for [member secondary_limit_angle]." msgstr "" "Порогове значення для початку демпфування для [member secondary_limit_angle]." +msgid "" +"The limit angle of the secondary rotation when [member symmetry_limitation] " +"is [code]true[/code], in radians." +msgstr "" +"Граничний кут вторинного обертання, коли [member symmetry_limition] має " +"значення [code]true[/code], у радіанах." + msgid "" "The threshold to start damping for [member secondary_negative_limit_angle]." msgstr "" "Порогове значення для початку демпфування для [member " "secondary_negative_limit_angle]." +msgid "" +"The limit angle of negative side of the secondary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Граничний кут від'ємної сторони вторинного обертання, коли [member " +"symmetry_limition] дорівнює [code]false[/code], у радіанах." + msgid "" "The threshold to start damping for [member secondary_positive_limit_angle]." msgstr "" "Порогове значення для початку демпфування для [member " "secondary_positive_limit_angle]." +msgid "" +"The limit angle of positive side of the secondary rotation when [member " +"symmetry_limitation] is [code]false[/code], in radians." +msgstr "" +"Граничний кут позитивної сторони вторинного обертання, коли [member " +"symmetry_limition] дорівнює [code]false[/code], у радіанах." + msgid "" "If [code]true[/code], the limitations are spread from the bone " "symmetrically.\n" @@ -98116,6 +99441,34 @@ msgstr "Встановлює кісткові маси даної вершини msgid "Node used for displaying a [Mesh] in 2D." msgstr "Node використовується для відображення [Mesh] в 2D." +msgid "" +"Node used for displaying a [Mesh] in 2D. This can be faster to render " +"compared to displaying a [Sprite2D] node with large transparent areas, " +"especially if the node takes up a lot of space on screen at high viewport " +"resolutions. This is because using a mesh designed to fit the sprite's opaque " +"areas will reduce GPU fill rate utilization (at the cost of increased vertex " +"processing utilization).\n" +"When a [Mesh] has to be instantiated more than thousands of times close to " +"each other, consider using a [MultiMesh] in a [MultiMeshInstance2D] instead.\n" +"A [MeshInstance2D] can be created from an existing [Sprite2D] via a tool in " +"the editor toolbar. Select the [Sprite2D] node, then choose [b]Sprite2D > " +"Convert to MeshInstance2D[/b] at the top of the 2D editor viewport." +msgstr "" +"Вузол, що використовується для відображення [Mesh] у 2D. Це може бути швидшим " +"для рендерингу порівняно з відображенням вузла [Sprite2D] з великими " +"прозорими областями, особливо якщо вузол займає багато місця на екрані з " +"високою роздільною здатністю області перегляду. Це пояснюється тим, що " +"використання сітки, розробленої для розміщення в непрозорих областях спрайта, " +"зменшить використання швидкості заповнення GPU (ціною збільшення використання " +"обробки вершин).\n" +"Коли [Mesh] потрібно створювати екземпляри більше тисячі разів близько один " +"до одного, розгляньте можливість використання [MultiMesh] в " +"[MultiMeshInstance2D].\n" +"[MeshInstance2D] можна створити з існуючого [Sprite2D] за допомогою " +"інструмента на панелі інструментів редактора. Виберіть вузол [Sprite2D], " +"потім виберіть [b]Sprite2D > Конвертувати в MeshInstance2D[/b] у верхній " +"частині області перегляду 2D-редактора." + msgid "2D meshes" msgstr "2D сітки" @@ -99299,6 +100652,25 @@ msgstr "" msgid "Node that instances a [MultiMesh] in 2D." msgstr "Вузол, що створює екземпляр [MultiMesh] у 2D." +msgid "" +"[MultiMeshInstance2D] is a specialized node to instance a [MultiMesh] " +"resource in 2D. This can be faster to render compared to displaying many " +"[Sprite2D] nodes with large transparent areas, especially if the nodes take " +"up a lot of space on screen at high viewport resolutions. This is because " +"using a mesh designed to fit the sprites' opaque areas will reduce GPU fill " +"rate utilization (at the cost of increased vertex processing utilization).\n" +"Usage is the same as [MultiMeshInstance3D]." +msgstr "" +"[MultiMeshInstance2D] – це спеціалізований вузол для створення екземпляра " +"ресурсу [MultiMesh] у 2D. Його рендеринг може бути швидшим порівняно з " +"відображенням багатьох вузлів [Sprite2D] з великими прозорими областями, " +"особливо якщо вузли займають багато місця на екрані з високою роздільною " +"здатністю області перегляду. Це пояснюється тим, що використання сітки, " +"розробленої для розміщення в непрозорих областях спрайтів, зменшить швидкість " +"заповнення графічного процесора (ціною збільшення використання обробки " +"вершин).\n" +"Використання таке ж, як і у [MultiMeshInstance3D]." + msgid "The [MultiMesh] that will be drawn by the [MultiMeshInstance2D]." msgstr "[MultiMesh], який буде намальовано за допомогою [MultiMeshInstance2D]." @@ -108045,6 +109417,28 @@ msgstr "" "code]). [code][/code] символ зарезервований для автоматично сформованих імен. " "Дивись також [method string.validate_node_name]." +msgid "" +"The owner of this node. The owner must be an ancestor of this node. When " +"packing the owner node in a [PackedScene], all the nodes it owns are also " +"saved with it. See also [member unique_name_in_owner].\n" +"[b]Note:[/b] In the editor, nodes not owned by the scene root are usually not " +"displayed in the Scene dock, and will [b]not[/b] be saved. To prevent this, " +"remember to set the owner after calling [method add_child].\n" +"[b]Note:[/b] The owner needs to be the current scene root. See [url=$DOCS_URL/" +"tutorials/plugins/running_code_in_the_editor.html#instancing-" +"scenes]Instancing scenes[/url] in the documentation for more information." +msgstr "" +"Власник цього вузла. Власник має бути предком цього вузла. Під час пакування " +"вузла власника в [PackedScene] усі вузли, якими він володіє, також " +"зберігаються разом з ним. Див. також [member unique_name_in_owner].\n" +"[b]Примітка:[/b] У редакторі вузли, що не належать кореню сцени, зазвичай не " +"відображаються в доці сцени та [b]не[/b] зберігаються. Щоб запобігти цьому, " +"не забудьте встановити власника після виклику [method add_child].\n" +"[b]Примітка:[/b] Власник має бути поточним коренем сцени. Див. [url=$DOCS_URL/" +"tutorials/plugins/running_code_in_the_editor.html#instancing-" +"scenes]Інстанцювання сцен[/url] в документації для отримання додаткової " +"інформації." + msgid "" "The physics interpolation mode to use for this node. Only effective if " "[member ProjectSettings.physics/common/physics_interpolation] or [member " @@ -112799,13 +114193,37 @@ msgstr "" "Повністю відключається сигнал, коли лічильник досягає 0." msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." +"On signal emission, the source object is automatically appended after the " +"original arguments of the signal, regardless of the connected [Callable]'s " +"unbinds which affect only the original arguments of the signal (see [method " +"Callable.unbind], [method Callable.get_unbound_arguments_count]).\n" +"[codeblock]\n" +"extends Object\n" +"\n" +"signal test_signal\n" +"\n" +"func test():\n" +"\tprint(self) # Prints e.g. \n" +"\ttest_signal.connect(prints.unbind(1), CONNECT_APPEND_SOURCE_OBJECT)\n" +"\ttest_signal.emit(\"emit_arg_1\", \"emit_arg_2\") # Prints emit_arg_1 " +"\n" +"[/codeblock]" msgstr "" -"Вихідний об'єкт автоматично прив'язується, коли створюється екземпляр " -"[PackedScene]. Якщо цей біт прапорця увімкнено, вихідний об'єкт буде додано " -"одразу після початкових аргументів сигналу." +"Під час випромінювання сигналу, вихідний об'єкт автоматично додається після " +"оригінальних аргументів сигналу, незалежно від відв'язок підключеного методу " +"[Callable], які впливають лише на оригінальні аргументи сигналу (див. [метод " +"Callable.unbind], [метод Callable.get_unbound_arguments_count]).\n" +"[codeblock]\n" +"extends Object\n" +"\n" +"signal test_signal\n" +"\n" +"func test():\n" +"\tprint(self) # Друкує, наприклад. \n" +"\ttest_signal.connect(prints.unbind(1), CONNECT_APPEND_SOURCE_OBJECT)\n" +"\ttest_signal.emit(\"emit_arg_1\", \"emit_arg_2\") # Prints emit_arg_1 " +"\n" +"[/codeblock]" msgid "" "Occluder shape resource for use with occlusion culling in " @@ -133680,6 +135098,18 @@ msgstr "" "інший [PopupMenu] пункт, він може використовувати рідне меню незалежно від " "цього майна, використовувати [method is_native_menu] для його перевірки." +msgid "" +"If [code]true[/code], shrinks [PopupMenu] to minimum height when it's shown." +msgstr "" +"Якщо [code]true[/code], [PopupMenu] зменшується до мінімальної висоти під час " +"відображення." + +msgid "" +"If [code]true[/code], shrinks [PopupMenu] to minimum width when it's shown." +msgstr "" +"Якщо [code]true[/code], [PopupMenu] зменшується до мінімальної ширини під час " +"відображення." + msgid "" "Sets the delay time in seconds for the submenu item to popup on mouse " "hovering. If the popup menu is added as a child of another (acting as a " @@ -135633,6 +137063,75 @@ msgid "Path to the main scene file that will be loaded when the project runs." msgstr "" "Шлях до основного файлу сцени, який буде завантажений, коли проект працює." +msgid "" +"Maximum number of frames per second allowed. A value of [code]0[/code] means " +"\"no limit\". The actual number of frames per second may still be below this " +"value if the CPU or GPU cannot keep up with the project logic and rendering.\n" +"Limiting the FPS can be useful to reduce system power consumption, which " +"reduces heat and noise emissions (and improves battery life on mobile " +"devices).\n" +"If [member display/window/vsync/vsync_mode] is set to [code]Enabled[/code] or " +"[code]Adaptive[/code], it takes precedence and the forced FPS number cannot " +"exceed the monitor's refresh rate. See also [method " +"DisplayServer.screen_get_refresh_rate].\n" +"If [member display/window/vsync/vsync_mode] is [code]Enabled[/code], on " +"monitors with variable refresh rate enabled (G-Sync/FreeSync), using an FPS " +"limit slightly lower than the monitor's refresh rate will [url=https://" +"blurbusters.com/howto-low-lag-vsync-on/]reduce input lag while avoiding " +"tearing[/url]. At higher refresh rates, the difference between the FPS limit " +"and the monitor refresh rate should be increased to ensure frames to account " +"for timing inaccuracies. The optimal formula for the FPS limit value in this " +"scenario is [code]r - (r * r) / 3600.0[/code], where [code]r[/code] is the " +"monitor's refresh rate.\n" +"If [member display/window/vsync/vsync_mode] is [code]Disabled[/code], " +"limiting the FPS to a high value that can be consistently reached on the " +"system can reduce input lag compared to an uncapped framerate. Since this " +"works by ensuring the GPU load is lower than 100%, this latency reduction is " +"only effective in GPU-bottlenecked scenarios, not CPU-bottlenecked " +"scenarios.\n" +"See also [member physics/common/physics_ticks_per_second].\n" +"This setting can be overridden using the [code]--max-fps [/code] command " +"line argument (including with a value of [code]0[/code] for unlimited " +"framerate).\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the rendering FPS cap at runtime, set [member Engine.max_fps] instead." +msgstr "" +"Максимально дозволена кількість кадрів за секунду. Значення [code]0[/code] " +"означає «без обмежень». Фактична кількість кадрів за секунду може бути нижчою " +"за це значення, якщо процесор або графічний процесор не можуть встигати за " +"логікою проекту та рендерингом.\n" +"Обмеження FPS може бути корисним для зменшення енергоспоживання системи, що " +"зменшує виділення тепла та шуму (і покращує час роботи акумулятора на " +"мобільних пристроях).\n" +"Якщо для [member display/window/vsync/vsync_mode] встановлено значення " +"[code]Увімкнено[/code] або [code]Адаптивно[/code], це має пріоритет, і " +"примусове число FPS не може перевищувати частоту оновлення монітора. Див. " +"також [method DisplayServer.screen_get_refresh_rate].\n" +" Якщо для параметра [member display/window/vsync/vsync_mode] встановлено " +"значення [code]Увімкнено[/code], на моніторах із увімкненою змінною частотою " +"оновлення (G-Sync/FreeSync) використання обмеження FPS, трохи нижчого за " +"частоту оновлення монітора, [url=https://blurbusters.com/howto-low-lag-vsync-" +"on/]зменшить затримку введення, уникаючи розривів[/url]. При вищих частотах " +"оновлення різницю між обмеженням FPS та частотою оновлення монітора слід " +"збільшити, щоб забезпечити врахування неточностей синхронізації кадрів. " +"Оптимальна формула для визначення граничного значення FPS у цьому сценарії: " +"[code]r - (r * r) / 3600.0[/code], де [code]r[/code] – частота оновлення " +"монітора.\n" +"Якщо для параметра [member display/window/vsync/vsync_mode] встановлено " +"значення [code]Вимкнено[/code], обмеження FPS високим значенням, яке можна " +"послідовно досягати в системі, може зменшити затримку введення порівняно з " +"необмеженою частотою кадрів. Оскільки це працює, забезпечуючи навантаження на " +"графічний процесор нижче 100%, це зменшення затримки ефективне лише у " +"сценаріях з обмеженим доступом до графічного процесора, а не до обмеженого " +"доступу до центрального процесора.\n" +"Див. також [member physics/common/physics_ticks_per_second].\n" +"Цей параметр можна змінити за допомогою аргумента командного рядка [code]--" +"max-fps [/code] (включно зі значенням [code]0[/code] для необмеженої " +"частоти кадрів).\n" +"[b]Примітка:[/b] Ця властивість зчитується лише під час запуску проекту. Щоб " +"змінити обмеження FPS під час рендерингу, встановіть замість цього [member " +"Engine.max_fps]." + msgid "" "If [code]true[/code], the engine header is printed in the console on startup. " "This header describes the current version of the engine, as well as the " @@ -138119,6 +139618,27 @@ msgstr "" "[b]Імпорт[/b] (див. [member " "ResourceImporterDynamicFont.subpixel_positioning])." +msgid "" +"The default scale factor for [Control]s, when not overridden by a [Theme].\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the default theme scale at runtime, set [member ThemeDB.fallback_base_scale] " +"instead. However, to adjust the scale of all 2D elements at runtime, it's " +"preferable to use [member Window.content_scale_factor] on the root [Window] " +"node instead (as this also affects overridden [Theme]s). See [url=$DOCS_URL/" +"tutorials/rendering/multiple_resolutions.html]Multiple resolutions[/url] in " +"the documentation for details." +msgstr "" +"Коефіцієнт масштабування за замовчуванням для [Control], якщо він не " +"перевизначений [Theme].\n" +"[b]Примітка:[/b] Ця властивість зчитується лише під час запуску проекту. Щоб " +"змінити масштаб теми за замовчуванням під час виконання, встановіть замість " +"цього [member ThemeDB.fallback_base_scale]. Однак, щоб налаштувати масштаб " +"усіх 2D-елементів під час виконання, краще використовувати [member " +"Window.content_scale_factor] на кореневому вузлі [Window] (оскільки це також " +"впливає на перевизначені [Theme]). Див. [url=$DOCS_URL/tutorials/rendering/" +"multiple_resolutions.html]Кілька роздільних здатностей[/url] у документації " +"для отримання детальної інформації." + msgid "" "LCD subpixel layout used for font anti-aliasing. See [enum " "TextServer.FontLCDSubpixelLayout]." @@ -141924,6 +143444,63 @@ msgstr "" "змінити фізичне виправлення тремтіння під час виконання, замість цього " "встановіть [member Engine.physics_jitter_fix]." +msgid "" +"The number of fixed iterations per second. This controls how often physics " +"simulation and the [method Node._physics_process] method are run.\n" +"CPU usage scales approximately with the physics tick rate. However, at very " +"low tick rates (usually below 30), physics behavior can break down. Input can " +"also become less responsive at low tick rates as there can be a gap between " +"input being registered, and the response on the next physics tick. High tick " +"rates give more accurate physics simulation, particularly for fast moving " +"objects. For example, racing games may benefit from increasing the tick rate " +"above the default 60.\n" +"See also [member application/run/max_fps].\n" +"[b]Note:[/b] This property is only read when the project starts. To change " +"the physics FPS at runtime, set [member Engine.physics_ticks_per_second] " +"instead.\n" +"[b]Note:[/b] Only [member physics/common/max_physics_steps_per_frame] physics " +"ticks may be simulated per rendered frame at most. If more physics ticks have " +"to be simulated per rendered frame to keep up with rendering, the project " +"will appear to slow down (even if [code]delta[/code] is used consistently in " +"physics calculations). Therefore, it is recommended to also increase [member " +"physics/common/max_physics_steps_per_frame] if increasing [member physics/" +"common/physics_ticks_per_second] significantly above its default value.\n" +"[b]Note:[/b] Consider enabling [url=$DOCS_URL/tutorials/physics/interpolation/" +"index.html]physics interpolation[/url] if you change [member physics/common/" +"physics_ticks_per_second] to a value that is not a multiple of [code]60[/" +"code]. Using physics interpolation will avoid jittering when the monitor " +"refresh rate and physics update rate don't exactly match." +msgstr "" +"Кількість фіксованих ітерацій за секунду. Це визначає частоту запуску " +"фізичного моделювання та методу [method Node._physics_process].\n" +"Використання процесора масштабується приблизно пропорційно частоті тактів " +"фізики. Однак, при дуже низькій частоті тактів (зазвичай нижче 30), поведінка " +"фізики може бути порушена. Вхідні дані також можуть стати менш чутливими при " +"низькій частоті тактів, оскільки може виникнути розрив між реєстрацією " +"вхідних даних та відповіддю на наступному фізичному такті. Високі частоти " +"тактів забезпечують точнішу фізичну симуляцію, особливо для швидко рухомих " +"об'єктів. Наприклад, гоночні ігри можуть отримати користь від збільшення " +"частоти тактів вище стандартної 60.\n" +"Див. також [member application/run/max_fps].\n" +"[b]Примітка:[/b] Ця властивість зчитується лише під час запуску проекту. Щоб " +"змінити FPS фізики під час виконання, встановіть замість цього [member " +"Engine.physics_ticks_per_second].\n" +"[b]Примітка:[/b] Тільки [member physics/common/max_physics_steps_per_frame] " +"фізичних тактів можуть бути імітовані максимум на один кадр рендерингу. Якщо " +"для відрендерення потрібно змоделювати більше фізичних тактів на кожен кадр, " +"щоб встигати за рендерингом, проєкт виглядатиме сповільненим (навіть якщо " +"[code]delta[/code] послідовно використовується у фізичних розрахунках). Тому " +"рекомендується також збільшити [member physics/common/" +"max_physics_steps_per_frame], якщо [member physics/common/" +"physics_ticks_per_second] значно збільшується вище значення за " +"замовчуванням.\n" +"[b]Примітка:[/b] Розгляньте можливість увімкнення [url=$DOCS_URL/tutorials/" +"physics/interpolation/index.html]фізичної інтерполяції[/url], якщо ви " +"змінюєте [member physics/common/physics_ticks_per_second] на значення, не " +"кратне [code]60[/code]. Використання фізичної інтерполяції дозволить уникнути " +"тремтіння, коли частота оновлення монітора та частота оновлення фізики не " +"зовсім збігаються." + msgid "" "The maximum angle, in radians, between two adjacent triangles in a " "[ConcavePolygonShape3D] or [HeightMapShape3D] for which the edge between " @@ -145401,6 +146978,15 @@ msgstr "" "забезпечується XR час. Зверніть увагу, що деякі функції рендерингу в Godot не " "можна використовувати з цією функцією." +msgid "" +"Optionally sets a specific API version of OpenXR to initialize in " +"[code]major.minor.patch[/code] notation. Some XR runtimes gate old behavior " +"behind version checks. This is non-standard OpenXR behavior." +msgstr "" +"За потреби встановлює певну версію API OpenXR для ініціалізації в нотації " +"[code]major.minor.patch[/code]. Деякі середовища виконання XR ігнорують стару " +"поведінку за перевірками версій. Це нестандартна поведінка OpenXR." + msgid "" "Specify the view configuration with which to configure OpenXR setting up " "either Mono or Stereo rendering." @@ -149081,6 +150667,150 @@ msgstr "" msgid "Class for searching text for patterns using regular expressions." msgstr "Клас пошуку тексту для шаблонів з використанням формальних виразів." +msgid "" +"A regular expression (or regex) is a compact language that can be used to " +"recognize strings that follow a specific pattern, such as URLs, email " +"addresses, complete sentences, etc. For example, a regex of [code]ab[0-9][/" +"code] would find any string that is [code]ab[/code] followed by any number " +"from [code]0[/code] to [code]9[/code]. For a more in-depth look, you can " +"easily find various tutorials and detailed explanations on the Internet.\n" +"To begin, the RegEx object needs to be compiled with the search pattern using " +"[method compile] before it can be used. Alternatively, the static method " +"[method create_from_string] can be used to create and compile a RegEx object " +"in a single method call.\n" +"[codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"\\\\w-(\\\\d+)\")\n" +"# Shorthand to create and compile a regex (used in the examples below):\n" +"var regex2 = RegEx.create_from_string(\"\\\\w-(\\\\d+)\")\n" +"[/codeblock]\n" +"The search pattern must be escaped first for GDScript before it is escaped " +"for the expression. For example, [code]compile(\"\\\\d+\")[/code] would be " +"read by RegEx as [code]\\d+[/code]. Similarly, [code]compile(\"\\\"(?:\\\\\\" +"\\.|[^\\\"])*\\\"\")[/code] would be read as [code]\"(?:\\\\.|[^\"])*\"[/" +"code]. In GDScript, you can also use raw string literals (r-strings). For " +"example, [code]compile(r'\"(?:\\\\.|[^\"])*\"')[/code] would be read the " +"same.\n" +"Using [method search], you can find the pattern within the given text. If a " +"pattern is found, [RegExMatch] is returned and you can retrieve details of " +"the results using methods such as [method RegExMatch.get_string] and [method " +"RegExMatch.get_start].\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"\\\\w-(\\\\d+)\")\n" +"var result = regex.search(\"abc n-0123\")\n" +"if result:\n" +"\tprint(result.get_string()) # Prints \"n-0123\"\n" +"[/codeblock]\n" +"The results of capturing groups [code]()[/code] can be retrieved by passing " +"the group number to the various methods in [RegExMatch]. Group 0 is the " +"default and will always refer to the entire pattern. In the above example, " +"calling [code]result.get_string(1)[/code] would give you [code]0123[/code].\n" +"This version of RegEx also supports named capturing groups, and the names can " +"be used to retrieve the results. If two or more groups have the same name, " +"the name would only refer to the first one with a match.\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"d(?[0-9]+)|x(?[0-9a-f]+)" +"\")\n" +"var result = regex.search(\"the number is x2f\")\n" +"if result:\n" +"\tprint(result.get_string(\"digit\")) # Prints \"2f\"\n" +"[/codeblock]\n" +"If you need to process multiple results, [method search_all] generates a list " +"of all non-overlapping results. This can be combined with a [code]for[/code] " +"loop for convenience.\n" +"[codeblock]\n" +"# Prints \"01 03 0 3f 42\"\n" +"for result in regex.search_all(\"d01, d03, d0c, x3f and x42\"):\n" +"\tprint(result.get_string(\"digit\"))\n" +"[/codeblock]\n" +"[b]Example:[/b] Split a string using a RegEx:\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"\\\\S+\") # Negated whitespace " +"character class.\n" +"var results = []\n" +"for result in regex.search_all(\"One Two \\n\\tThree\"):\n" +"\tresults.push_back(result.get_string())\n" +"print(results) # Prints [\"One\", \"Two\", \"Three\"]\n" +"[/codeblock]\n" +"[b]Note:[/b] Godot's regex implementation is based on the [url=https://" +"www.pcre.org/]PCRE2[/url] library. You can view the full pattern reference " +"[url=https://www.pcre.org/current/doc/html/pcre2pattern.html]here[/url].\n" +"[b]Tip:[/b] You can use [url=https://regexr.com/]Regexr[/url] to test regular " +"expressions online." +msgstr "" +"Регулярний вираз (або regex) – це компактна мова, яку можна використовувати " +"для розпізнавання рядків, що відповідають певному шаблону, такому як URL-" +"адреси, адреси електронної пошти, повні речення тощо. Наприклад, регулярний " +"вираз [code]ab[0-9][/code] знайде будь-який рядок, який складається з " +"[code]ab[/code], за яким йде будь-яке число від [code]0[/code] до [code]9[/" +"code]. Для більш детального ознайомлення ви можете легко знайти різні " +"навчальні посібники та детальні пояснення в Інтернеті.\n" +"Для початку об'єкт RegEx потрібно скомпілювати з використанням шаблону пошуку " +"за допомогою методу [compile], перш ніж його можна буде використовувати. Крім " +"того, статичний метод [method create_from_string] можна використовувати для " +"створення та компіляції об'єкта RegEx за один виклик методу.\n" +" [codeblock]\n" +"var regex = RegEx.new()\n" +"regex.compile(\"\\\\w-(\\\\d+)\")\n" +"# Скорочений запис для створення та компіляції регулярного виразу " +"(використовується в прикладах нижче):\n" +"var regex2 = RegEx.create_from_string(\"\\\\w-(\\\\d+)\")\n" +"[/codeblock]\n" +"Шаблон пошуку має бути екранований для GDScript, перш ніж він буде " +"екранований для виразу. Наприклад, [code]compile(\"\\\\d+\")[/code] буде " +"прочитано RegEx як [code]\\d+[/code]. Аналогічно, [code]compile(\"\\\"(?:\\\\" +"\\\\.|[^\\\"])*\\\"\")[/code] буде прочитано як [code]\"(?:\\\\.|[^\"])*\"[/" +"code]. У GDScript також можна використовувати необроблені рядкові літерали (r-" +"рядки). Наприклад, [code]compile(r'\"(?:\\\\.|[^\"])*\"')[/code] буде " +"прочитано так само.\n" +"Використовуючи [method search], ви можете знайти шаблон у заданому тексті. " +"Якщо шаблон знайдено, повертається [RegExMatch], і ви можете отримати " +"детальну інформацію про результати за допомогою таких методів, як [method " +"RegExMatch.get_string] та [method RegExMatch.get_start].\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"\\\\w-(\\\\d+)\")\n" +"var result = regex.search(\"abc n-0123\")\n" +"if result:\n" +"print(result.get_string()) # Виводить \"n-0123\"\n" +"[/codeblock]\n" +"Результати захоплення груп [code]()[/code] можна отримати, передавши номер " +"групи різним методам у [RegExMatch]. Група 0 є групою за замовчуванням і " +"завжди посилатиметься на весь шаблон. У наведеному вище прикладі виклик " +"[code]result.get_string(1)[/code] видасть вам [code]0123[/code].\n" +"Ця версія RegEx також підтримує іменовані групи захоплення, імена яких можна " +"використовувати для отримання результатів. Якщо дві або більше груп мають " +"однакову назву, назва посилатиметься лише на першу з них, яка відповідає.\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"d(?[0-9]+)|x(?[0-9a-f]+)" +"\")\n" +"var result = regex.search(\"число дорівнює x2f\")\n" +"if result:\n" +"print(result.get_string(\"digit\")) # Виводить \"2f\"\n" +"[/codeblock]\n" +"Якщо вам потрібно обробити кілька результатів, [method search_all] генерує " +"список усіх результатів, що не перекриваються. Для зручності це можна " +"поєднати з циклом [code]for[/code].\n" +"[codeblock]\n" +"# Виводить \"01 03 0 3f 42\"\n" +"for result in regex.search_all(\"d01, d03, d0c, x3f та x42\"):\n" +"print(result.get_string(\"digit\"))\n" +"[/codeblock]\n" +"[b]Приклад:[/b] Розділити рядок за допомогою RegEx:\n" +"[codeblock]\n" +"var regex = RegEx.create_from_string(\"\\\\S+\") # Клас символів пробілу з " +"запереченням.\n" +"var results = []\n" +"for result in regex.search_all(\"Один Два \\n\\tТри\"):\n" +"results.push_back(result.get_string())\n" +"print(results) # Виводить [\"Один\", \"Два\", \"Три\"]\n" +"[/codeblock]\n" +"[b]Примітка:[/b] Реалізація регулярних виразів Godot базується на бібліотеці " +"[url=https://www.pcre.org/]PCRE2[/url]. Ви можете переглянути повний довідник " +"зі шаблоном [url=https://www.pcre.org/current/doc/html/pcre2pattern.html]тут[/" +"url].\n" +"[b]Порада:[/b] Ви можете використовувати [url=https://regexr.com/]Regexr[/" +"url] для перевірки регулярних виразів онлайн." + msgid "" "This method resets the state of the object, as if it was freshly created. " "Namely, it unassigns the regular expression of this object." @@ -149347,6 +151077,19 @@ msgstr "" "Абстрактний об'єкт даних, що містить дані кадру, пов'язані з наданням єдиного " "кадру дивного порту." +msgid "" +"Abstract render data object, exists for the duration of rendering a single " +"viewport. See also [RenderDataRD], [RenderSceneData], and " +"[RenderSceneDataRD].\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Абстрактний об'єкт даних рендерингу існує протягом усього часу рендерингу " +"одного вікна перегляду. Див. також [RenderDataRD], [RenderSceneData] та " +"[RenderSceneDataRD].\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "" "Returns the [RID] of the camera attributes object in the [RenderingServer] " "being used to render this viewport." @@ -149403,6 +151146,22 @@ msgstr "" "Впровадити це в GDExtension для повернення об'єкта реалізації " "[RenderSceneDataExtension]." +msgid "Render data implementation for the RenderingDevice based renderers." +msgstr "Реалізація даних рендерингу для рендерерів на основі RenderingDevice." + +msgid "" +"This object manages all render data for the [RenderingDevice]-based " +"renderers. See also [RenderData], [RenderSceneData], and " +"[RenderSceneDataRD].\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Цей об'єкт керує всіма даними рендерингу для рендерерів на основі " +"[RenderingDevice]. Див. також [RenderData], [RenderSceneData] та " +"[RenderSceneDataRD].\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "Abstraction for working with modern low-level graphics APIs." msgstr "Анотація для роботи з сучасними низькорівневими графічними API." @@ -151255,7 +153014,7 @@ msgid "" "- Vulkan: [code]VkImage[/code].\n" "- D3D12: [code]ID3D12Resource[/code]." msgstr "" -"- Vulkan: [code]VkImage[/code].\n" +"-- Vulkan: [code]VkImage[/code].\n" "- D3D12: [code]ID3D12Resource[/code]." msgid "" @@ -161085,6 +162844,25 @@ msgstr "" "[b]Примітка:[/b] Підтримується лише при використанні методу рендерингу " "Forward+." +msgid "" +"Draws SDFGI probe data. This is the data structure that is used to give " +"indirect lighting dynamic objects moving within the scene.\n" +"When in the editor, left-clicking a probe will display additional bright dots " +"that show its occlusion information. A white dot means the light is not " +"occluded at all at the dot's position, while a red dot means the light is " +"fully occluded. Intermediate values are possible.\n" +"[b]Note:[/b] Only supported when using the Forward+ rendering method." +msgstr "" +"Малює дані зонда SDFGI. Це структура даних, яка використовується для " +"забезпечення динамічного освітлення об'єктів, що рухаються в сцені, з " +"непрямим освітленням.\n" +"У редакторі клацання лівою кнопкою миші на зонді відобразить додаткові " +"яскраві точки, які показують інформацію про його оклюзію. Біла точка означає, " +"що світло взагалі не перекривається в положенні точки, тоді як червона точка " +"означає, що світло повністю перекривається. Можливі проміжні значення.\n" +"[b]Примітка:[/b] Підтримується лише при використанні методу рендерингу " +"Forward+." + msgid "" "Draws the global illumination buffer from [VoxelGI] or SDFGI. Requires " "[VoxelGI] (at least one visible baked VoxelGI node) or SDFGI ([member " @@ -162241,6 +164019,21 @@ msgstr "" "Абстрактна сцена об'єкта буферів, створена для кожного видупорту, для якого " "проводиться 3D рендеринг." +msgid "" +"Abstract scene buffers object, created for each viewport for which 3D " +"rendering is done. It manages any additional buffers used during rendering " +"and will discard buffers when the viewport is resized. See also " +"[RenderSceneBuffersRD].\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Абстрактний об'єкт буферів сцени, створений для кожного вікна перегляду, для " +"якого виконується 3D-рендеринг. Він керує будь-якими додатковими буферами, що " +"використовуються під час рендерингу, і відкидає буфери під час зміни розміру " +"вікна перегляду. Див. також [RenderSceneBuffersRD].\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "" "This method is called by the rendering server when the associated viewport's " "configuration is changed. It will discard the old buffers and recreate the " @@ -162323,6 +164116,29 @@ msgid "" msgstr "" "Рендерна сцена буферна реалізація для рендерингуDevice на основі рендерингу." +msgid "" +"This object manages all 3D rendering buffers for the rendering device based " +"renderers. An instance of this object is created for every viewport that has " +"3D rendering enabled. See also [RenderSceneBuffers].\n" +"All buffers are organized in [b]contexts[/b]. The default context is called " +"[b]render_buffers[/b] and can contain amongst others the color buffer, depth " +"buffer, velocity buffers, VRS density map and MSAA variants of these " +"buffers.\n" +"Buffers are only guaranteed to exist during rendering of the viewport.\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Цей об'єкт керує всіма буферами 3D-рендерингу для рендерерів на основі " +"пристроїв рендерингу. Екземпляр цього об'єкта створюється для кожного вікна " +"перегляду, в якому ввімкнено 3D-рендеринг. Див. також [RenderSceneBuffers].\n" +"Усі буфери організовані в [b]контексти[/b]. Контекст за замовчуванням " +"називається [b]render_buffers[/b] і може містити, серед іншого, буфер " +"кольору, буфер глибини, буфери швидкості, карту щільності VRS та варіанти " +"MSAA цих буферів.\n" +"Буфери гарантовано існують лише під час рендерингу вікна перегляду.\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "Frees all buffers related to this context." msgstr "Всі баффери, пов'язані з цим контекстом." @@ -162477,6 +164293,18 @@ msgstr "" "Абстрактний об’єкт даних, що містить дані сцени, пов’язані з наданням єдиного " "кадру перегляду." +msgid "" +"Abstract scene data object, exists for the duration of rendering a single " +"viewport. See also [RenderSceneDataRD], [RenderData], and [RenderDataRD].\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Абстрактний об'єкт даних сцени існує протягом усього часу рендерингу одного " +"вікна перегляду. Див. також [RenderSceneDataRD], [RenderData] та " +"[RenderDataRD].\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "" "Returns the camera projection used to render this frame.\n" "[b]Note:[/b] If more than one view is rendered, this will return a combined " @@ -162558,6 +164386,17 @@ msgid "" "Render scene data implementation for the RenderingDevice based renderers." msgstr "Впровадження даних RenderingDevice на основі рендерингу." +msgid "" +"Object holds scene data related to rendering a single frame of a viewport. " +"See also [RenderSceneData], [RenderData], and [RenderDataRD].\n" +"[b]Note:[/b] This is an internal rendering server object. Do not instantiate " +"this class from a script." +msgstr "" +"Об'єкт містить дані сцени, пов'язані з рендерингом одного кадру області " +"перегляду. Див. також [RenderSceneData], [RenderData] та [RenderDataRD].\n" +"[b]Примітка:[/b] Це внутрішній об'єкт сервера рендерингу. Не створюйте " +"екземпляр цього класу зі скрипта." + msgid "Base class for serializable objects." msgstr "Базовий клас для серійних об'єктів." @@ -170974,6 +172813,17 @@ msgstr "" "Підказки прокручування будуть відображатися внизу (якщо горизонтальне " "розташування) або праворуч (якщо горизонтальне розташування)." +msgid "" +"[Color] used to modulate the [theme_item scroll_hint_horizontal] texture." +msgstr "" +"[Color] використовується для модуляції текстури [theme_item " +"scroll_hint_horizontal]." + +msgid "[Color] used to modulate the [theme_item scroll_hint_vertical] texture." +msgstr "" +"[Color] використовується для модуляції текстури [theme_item " +"scroll_hint_vertical]." + msgid "" "The space between the ScrollContainer's vertical scroll bar and its content, " "in pixels. No space will be added when the content's minimum size is larger " @@ -171409,6 +173259,32 @@ msgid "" "Returns the current value set for this material of a uniform in the shader." msgstr "Повертає поточний набір значення для цього матеріалу уніформи в тіні." +msgid "" +"Changes the value set for this material of a uniform in the shader.\n" +"[b]Note:[/b] [param param] is case-sensitive and must match the name of the " +"uniform in the code exactly (not the capitalized name in the inspector).\n" +"[b]Note:[/b] Changes to the shader uniform will be effective on all instances " +"using this [ShaderMaterial]. To prevent this, use per-instance uniforms with " +"[method CanvasItem.set_instance_shader_parameter], [method " +"GeometryInstance3D.set_instance_shader_parameter] or duplicate the " +"[ShaderMaterial] resource using [method Resource.duplicate]. Per-instance " +"uniforms allow for better shader reuse and are therefore faster, so they " +"should be preferred over duplicating the [ShaderMaterial] when possible." +msgstr "" +"Змінює значення, встановлене для цього матеріалу уніформи в шейдері.\n" +"[b]Примітка:[/b] [param param] чутливий до регістру та має точно збігатися з " +"назвою уніформи в коді (не з назвою, написаною з великої літери в " +"інспекторі).\n" +"[b]Примітка:[/b] Зміни до уніформи шейдера будуть чинними для всіх " +"екземплярів, що використовують цей [ShaderMaterial]. Щоб запобігти цьому, " +"використовуйте уніформи для кожного екземпляра з [method " +"CanvasItem.set_instance_shader_parameter], [method " +"GeometryInstance3D.set_instance_shader_parameter] або дублюйте ресурс " +"[ShaderMaterial] за допомогою [method Resource.duplicate]. Уніформи для " +"кожного екземпляра дозволяють краще повторно використовувати шейдери і, отже, " +"швидші, тому їм слід надавати перевагу над дублюванням [ShaderMaterial], коли " +"це можливо." + msgid "The [Shader] program used to render this material." msgstr "Програма [Shader] використовується для рендерингу цього матеріалу." @@ -174267,6 +176143,33 @@ msgstr "" "поз кісток, оскільки [Skeleton3D] автоматично застосовує вплив до всіх поз " "кісток, встановлених модифікатором." +msgid "" +"Override this virtual method to implement a custom skeleton modifier. You " +"should do things like get the [Skeleton3D]'s current pose and apply the pose " +"here.\n" +"[method _process_modification_with_delta] must not apply [member influence] " +"to bone poses because the [Skeleton3D] automatically applies influence to all " +"bone poses set by the modifier.\n" +"[param delta] is passed from parent [Skeleton3D]. See also [method " +"Skeleton3D.advance].\n" +"[b]Note:[/b] This method may be called outside [method Node._process] and " +"[method Node._physics_process] with [param delta] is [code]0.0[/code], since " +"the modification should be processed immediately after initialization of the " +"[Skeleton3D]." +msgstr "" +"Перевизначте цей віртуальний метод, щоб реалізувати власний модифікатор " +"скелета. Вам слід виконати такі дії, як отримання поточної пози [Skeleton3D] " +"та застосування цієї пози тут.\n" +"[method _process_modification_with_delta] не повинен застосовувати [member " +"influence] до поз кісток, оскільки [Skeleton3D] автоматично застосовує вплив " +"до всіх поз кісток, встановлених модифікатором.\n" +"[param delta] передається з батьківського [Skeleton3D]. Див. також [method " +"Skeleton3D.advance].\n" +"[b]Примітка:[/b] Цей метод може бути викликаний поза [method Node._process] " +"та [method Node._physics_process] з [param delta], що дорівнює [code]0.0[/" +"code], оскільки модифікація повинна бути оброблена негайно після " +"ініціалізації [Skeleton3D]." + msgid "Called when the skeleton is changed." msgstr "Викликається, коли змінюється скелет." @@ -186060,6 +187963,13 @@ msgstr "" msgid "Returns [code]true[/code] if locale is right-to-left." msgstr "Повертаємо [code]true[/code], якщо локальне право вліво." +msgid "" +"Returns [code]true[/code] if the locale requires text server support data for " +"line/word breaking." +msgstr "" +"Повертає [code]true[/code], якщо локаль вимагає даних підтримки текстового " +"сервера для розриву рядків/слів." + msgid "" "Returns [code]true[/code] if [param string] is a valid identifier.\n" "If the text server supports the [constant FEATURE_UNICODE_IDENTIFIERS] " @@ -187856,11 +189766,38 @@ msgid "" msgstr "" "Текстура Array для 2D, що відповідає текстурі, створеній на [RenderingDevice]." +msgid "" +"This texture array class allows you to use a 2D array texture created " +"directly on the [RenderingDevice] as a texture for materials, meshes, etc.\n" +"[b]Note:[/b] [Texture2DArrayRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [Texture2DArray] instead." +msgstr "" +"Цей клас масиву текстур дозволяє використовувати 2D-текстуру масиву, створену " +"безпосередньо на [RenderingDevice], як текстуру для матеріалів, сіток тощо.\n" +"[b]Примітка:[/b] [Texture2DArrayRD] призначений для низькорівневого " +"використання з [RenderingDevice]. Для більшості випадків використання " +"використовуйте замість нього [Texture2DArray]." + +msgid "Compute Texture demo" +msgstr "Демонстрація обчислення текстури" + msgid "" "Texture for 2D that is bound to a texture created on the [RenderingDevice]." msgstr "" "Текстура для 2D, що відповідає текстурі, створеній на [RenderingDevice]." +msgid "" +"This texture class allows you to use a 2D texture created directly on the " +"[RenderingDevice] as a texture for materials, meshes, etc.\n" +"[b]Note:[/b] [Texture2DRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [Texture2D] instead." +msgstr "" +"Цей клас текстур дозволяє використовувати 2D-текстуру, створену безпосередньо " +"на [RenderingDevice], як текстуру для матеріалів, сіток тощо.\n" +"[b]Примітка:[/b] [Texture2DRD] призначений для низькорівневого використання з " +"[RenderingDevice]. Для більшості випадків використання використовуйте замість " +"нього [Texture2D]." + msgid "The RID of the texture object created on the [RenderingDevice]." msgstr "RID текстурного об'єкта, створеного на [RenderingDevice]." @@ -187945,6 +189882,18 @@ msgid "" msgstr "" "Текстура для 3D, що відповідає текстурі, створеній на [RenderingDevice]." +msgid "" +"This texture class allows you to use a 3D texture created directly on the " +"[RenderingDevice] as a texture for materials, meshes, etc.\n" +"[b]Note:[/b] [Texture3DRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [Texture3D] instead." +msgstr "" +"Цей клас текстур дозволяє використовувати 3D-текстуру, створену безпосередньо " +"на [RenderingDevice], як текстуру для матеріалів, сіток тощо.\n" +"[b]Примітка:[/b] [Texture3DRD] призначений для низькорівневого використання з " +"[RenderingDevice]. Для більшості випадків використання використовуйте замість " +"нього [Texture3D]." + msgid "" "Texture-based button. Supports Pressed, Hover, Disabled and Focused states." msgstr "" @@ -188107,12 +190056,37 @@ msgstr "" "Текстурний масив для кубічнихкарт, що межує з текстурою, створеною на " "[RenderingDevice]." +msgid "" +"This texture class allows you to use a cubemap array texture created directly " +"on the [RenderingDevice] as a texture for materials, meshes, etc.\n" +"[b]Note:[/b] [TextureCubemapArrayRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [CubemapArray] instead." +msgstr "" +"Цей клас текстур дозволяє використовувати текстуру масиву кубічної карти, " +"створену безпосередньо на [RenderingDevice], як текстуру для матеріалів, " +"сіток тощо.\n" +"[b]Примітка:[/b] [TextureCubemapArrayRD] призначений для низькорівневого " +"використання з [RenderingDevice]. Для більшості випадків використання " +"використовуйте замість нього [CubemapArray]." + msgid "" "Texture for Cubemap that is bound to a texture created on the " "[RenderingDevice]." msgstr "" "Текстура для Cubemap, яка відповідає текстурі, створеній на [RenderingDevice]." +msgid "" +"This texture class allows you to use a cubemap texture created directly on " +"the [RenderingDevice] as a texture for materials, meshes, etc.\n" +"[b]Note:[/b] [TextureCubemapRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [Cubemap] instead." +msgstr "" +"Цей клас текстур дозволяє використовувати текстуру кубічної карти, створену " +"безпосередньо на [RenderingDevice], як текстуру для матеріалів, сіток тощо.\n" +"[b]Примітка:[/b] [TextureCubemapRD] призначений для низькорівневого " +"використання з [RenderingDevice]. Для більшості випадків використання " +"використовуйте замість неї [Cubemap]." + msgid "" "Base class for texture types which contain the data of multiple [Image]s. " "Each image is of the same size and format." @@ -188206,6 +190180,20 @@ msgstr "Текстура — [CubemapArray], з кожним кубиком, щ msgid "Abstract base class for layered texture RD types." msgstr "Абстрактний базовий клас для шарованої текстури типу РД." +msgid "" +"Base class for [Texture2DArrayRD], [TextureCubemapRD] and " +"[TextureCubemapArrayRD]. Cannot be used directly, but contains all the " +"functions necessary for accessing the derived resource types.\n" +"[b]Note:[/b] [TextureLayeredRD] is intended for low-level usage with " +"[RenderingDevice]. For most use cases, use [TextureLayered] instead." +msgstr "" +"Базовий клас для [Texture2DArrayRD], [TextureCubemapRD] та " +"[TextureCubemapArrayRD]. Не може використовуватися безпосередньо, але містить " +"усі функції, необхідні для доступу до похідних типів ресурсів.\n" +"[b]Примітка:[/b] [TextureLayeredRD] призначений для низькорівневого " +"використання з [RenderingDevice]. Для більшості випадків використання " +"використовуйте замість нього [TextureLayered]." + msgid "" "Texture-based progress bar. Useful for loading screens and life or stamina " "bars." @@ -190814,6 +192802,24 @@ msgstr "" "\t\treturn 0\n" "[/codeblock]" +msgid "" +"Returns the coordinates of the physics quadrant (see [member " +"physics_quadrant_size]) for given physics body [RID]. Such an [RID] can be " +"retrieved from [method KinematicCollision2D.get_collider_rid], when colliding " +"with a tile.\n" +"[b]Note:[/b] Higher values of [member physics_quadrant_size] will make this " +"function less precise. To get the exact cell coordinates, you need to set " +"[member physics_quadrant_size] to [code]1[/code], which disables physics " +"chunking." +msgstr "" +"Повертає координати фізичного квадранта (див. [member physics_quadrant_size]) " +"для заданого фізичного тіла [RID]. Такий [RID] можна отримати з [method " +"KinematicCollision2D.get_collider_rid] при зіткненні з плиткою.\n" +"[b]Примітка:[/b] Вищі значення [member physics_quadrant_size] зроблять цю " +"функцію менш точною. Щоб отримати точні координати комірки, потрібно " +"встановити [member physics_quadrant_size] на [code]1[/code], що вимикає " +"фрагментацію фізики." + msgid "" "Returns the [RID] of the [NavigationServer2D] navigation used by this " "[TileMapLayer].\n" @@ -191111,6 +193117,33 @@ msgstr "" msgid "Enable or disable light occlusion." msgstr "Увімкнути або вимкнути блокування світла." +msgid "" +"The [TileMapLayer]'s physics quadrant size. Within a physics quadrant, cells " +"with similar physics properties are grouped together and their collision " +"shapes get merged. [member physics_quadrant_size] defines the length of a " +"square's side, in the map's coordinate system, that forms the quadrant. Thus, " +"the default quadrant size groups together [code]16 * 16 = 256[/code] tiles.\n" +"[b]Note:[/b] As quadrants are created according to the map's coordinate " +"system, the quadrant's \"square shape\" might not look like square in the " +"[TileMapLayer]'s local coordinate system.\n" +"[b]Note:[/b] This impacts the value returned by [method " +"get_coords_for_body_rid]. Higher values will make that function less precise. " +"To get the exact cell coordinates, you need to set [member " +"physics_quadrant_size] to [code]1[/code], which disables physics chunking." +msgstr "" +"Розмір фізичного квадранта [TileMapLayer]. У фізичному квадранті клітинки з " +"подібними фізичними властивостями групуються разом, а їхні форми зіткнень " +"об'єднуються. [member physics_quadrant_size] визначає довжину сторони " +"квадрата в системі координат карти, що утворює квадрант. Таким чином, розмір " +"квадранта за замовчуванням групує разом [code]16 * 16 = 256[/code] плиток.\n" +"[b]Примітка:[/b] Оскільки квадранти створюються відповідно до системи " +"координат карти, «квадратна форма» квадранта може не виглядати як квадрат у " +"локальній системі координат [TileMapLayer].\n" +"[b]Примітка:[/b] Це впливає на значення, що повертається методом [method " +"get_coords_for_body_rid]. Вищі значення зроблять цю функцію менш точною. Щоб " +"отримати точні координати клітинок, потрібно встановити [member " +"physics_quadrant_size] на [code]1[/code], що вимикає фрагментацію фізики." + msgid "" "The [TileMapLayer]'s rendering quadrant size. A quadrant is a group of tiles " "to be drawn together on a single canvas item, for optimization purposes. " @@ -195608,6 +197641,13 @@ msgstr "Текст за замовчуванням [Color] кнопки заго msgid "The horizontal space between each button in a cell." msgstr "Горизонтальний простір між кожним гудзиком в комірці." +msgid "" +"The horizontal space between the checkbox and the text in a [constant " +"TreeItem.CELL_MODE_CHECK] mode cell." +msgstr "" +"Горизонтальний проміжок між прапорцем і текстом у комірці режиму [constant " +"TreeItem.CELL_MODE_CHECK]." + msgid "" "The width of the relationship lines between the selected [TreeItem] and its " "children." @@ -195641,6 +197681,9 @@ msgstr "" "Горизонтальний простір між клітинами. Це також використовується як запас при " "старті елемента при складанні вимкнено." +msgid "The horizontal space between the icon and the text in item's cells." +msgstr "Горизонтальний проміжок між значком і текстом у клітинках елемента." + msgid "" "The maximum allowed width of the icon in item's cells. This limit is applied " "on top of the default size of the icon, but before the value set with [method " @@ -199015,6 +201058,17 @@ msgstr "" "Уніформа встановити кеш-менеджер для рендерингових пристроїв на основі " "рендерингу." +msgid "" +"Uniform set cache manager for [RenderingDevice]-based renderers. Provides a " +"way to create a uniform set and reuse it in subsequent calls for as long as " +"the uniform set exists. Uniform set will automatically be cleaned up when " +"dependent objects are freed." +msgstr "" +"Менеджер кешу уніфікованого набору для рендерів на основі [RenderingDevice]. " +"Надає спосіб створення уніфікованого набору та його повторного використання в " +"наступних викликах, поки існує уніфікований набір. Уніфікований набір буде " +"автоматично очищено після звільнення залежних об'єктів." + msgid "" "Creates/returns a cached uniform set based on the provided uniforms for a " "given shader." @@ -203419,6 +205473,16 @@ msgstr "Якщо [code]true[/code], пошук буде обробляти 2D а msgid "If [code]true[/code], the viewport will process 3D audio streams." msgstr "Якщо [code]true[/code], пошук буде обробляти 3D аудіо потоків." +msgid "" +"The rendering layers in which this [Viewport] renders [CanvasItem] nodes.\n" +"[b]Note:[/b] A [CanvasItem] does not inherit its parents' visibility layers. " +"See [member CanvasItem.visibility_layer]'s description for details." +msgstr "" +"Шари рендерингу, в яких цей [Viewport] рендерить вузли [CanvasItem].\n" +"[b]Примітка:[/b] [CanvasItem] не успадковує шари видимості своїх батьків. " +"Див. опис [member CanvasItem.visibility_layer] для отримання детальної " +"інформації." + msgid "The default filter mode used by [CanvasItem] nodes in this viewport." msgstr "" "Режим фільтра за замовчуванням, який використовується вузлами [CanvasItem] у " @@ -204371,6 +206435,27 @@ msgstr "" "[b]Примітка:[/b] Підтримується лише під час використання методу рендерингу " "Forward+." +msgid "" +"Draws the probes used for signed distance field global illumination (SDFGI).\n" +"When in the editor, left-clicking a probe will display additional bright dots " +"that show its occlusion information. A white dot means the light is not " +"occluded at all at the dot's position, while a red dot means the light is " +"fully occluded. Intermediate values are possible.\n" +"Does nothing if the current environment's [member Environment.sdfgi_enabled] " +"is [code]false[/code].\n" +"[b]Note:[/b] Only supported when using the Forward+ rendering method." +msgstr "" +"Малює зонди, що використовуються для глобального освітлення поля знакової " +"відстані (SDFGI).\n" +"У редакторі клацання лівою кнопкою миші на зонді відобразить додаткові " +"яскраві точки, які показують інформацію про його оклюзію. Біла точка означає, " +"що світло взагалі не перекривається в положенні точки, тоді як червона точка " +"означає, що світло повністю перекривається. Можливі проміжні значення.\n" +"Нічого не робить, якщо поточний елемент середовища [член " +"Environment.sdfgi_enabled] має значення [code]false[/code].\n" +"[b]Примітка:[/b] Підтримується лише під час використання методу рендерингу " +"Forward+." + msgid "" "Draws the buffer used for global illumination from [VoxelGI] or SDFGI. " "Requires [VoxelGI] (at least one visible baked VoxelGI node) or SDFGI " @@ -211306,6 +213391,45 @@ msgstr "" msgid "Specifies how the content is scaled when the [Window] is resized." msgstr "Вкажіть, як вміст масштабується при перерахуванні [Window]." +msgid "" +"The content's base size in \"virtual\" pixels. Not to be confused with " +"[member size], which sets the actual window's physical size in pixels. If set " +"to a value greater than [code]0[/code] and [member content_scale_mode] is set " +"to a value other than [constant CONTENT_SCALE_MODE_DISABLED], the [Window]'s " +"content will be scaled when the window is resized to a different size. Higher " +"values will make the content appear [i]smaller[/i], as it will be able to fit " +"more of the project in view. On the root [Window], this is set to match " +"[member ProjectSettings.display/window/size/viewport_width] and [member " +"ProjectSettings.display/window/size/viewport_height] by default.\n" +"For example, when using [constant CONTENT_SCALE_MODE_CANVAS_ITEMS] and " +"[member content_scale_size] set to [code]Vector2i(1280, 720)[/code], using a " +"window size of [code]2560×1440[/code] will make 2D elements appear at double " +"their original size, as the content is scaled by a factor of [code]2.0[/code] " +"([code]2560.0 / 1280.0 = 2.0[/code], [code]1440.0 / 720.0 = 2.0[/code]).\n" +"See [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html#base-" +"size]the Base size section of the Multiple resolutions documentation[/url] " +"for details." +msgstr "" +"Базовий розмір вмісту у «віртуальних» пікселях. Не плутати з [member size], " +"який встановлює фактичний фізичний розмір вікна в пікселях. Якщо встановлено " +"значення більше за [code]0[/code], а [member content_scale_mode] встановлено " +"значення, відмінне від [constant CONTENT_SCALE_MODE_DISABLED], вміст [Window] " +"буде масштабовано, коли розмір вікна буде змінено. Вищі значення зроблять " +"вміст [i]меншим[/i], оскільки він зможе вмістити більшу частину проекту в " +"поле зору.\n" +"У кореневому [Window] це значення встановлено так, щоб воно відповідало " +"[member ProjectSettings.display/window/size/viewport_width] та [member " +"ProjectSettings.display/window/size/viewport_height] за замовчуванням. " +"Наприклад, якщо використовувати [constant CONTENT_SCALE_MODE_CANVAS_ITEMS] та " +"[member content_scale_size], встановлений на [code]Vector2i(1280, 720)[/" +"code], використання розміру вікна [code]2560×1440[/code] призведе до того, що " +"2D-елементи відображатимуться вдвічі більшими за початковий розмір, оскільки " +"вміст масштабується з коефіцієнтом [code]2.0[/code] ([code]2560.0 / 1280.0 = " +"2.0[/code], [code]1440.0 / 720.0 = 2.0[/code]).\n" +"Див. розділ [url=$DOCS_URL/tutorials/rendering/multiple_resolutions.html#base-" +"size]Базовий розмір документації з кількох роздільних здатностей[/url] для " +"отримання детальної інформації." + msgid "" "The policy to use to determine the final scale factor for 2D elements. This " "affects how [member content_scale_factor] is applied, in addition to the " @@ -211575,6 +213699,15 @@ msgstr "" "[b]Примітка:[/b] Ця властивість реалізована лише у Windows (11). \n" "[b]Примітка:[/b] Ця властивість працює лише з рідними вікнами." +msgid "" +"The window's size in pixels. See also [member content_scale_size], which " +"doesn't set the window's physical size but affects how scaling works relative " +"to the current [member content_scale_mode]." +msgstr "" +"Розмір вікна в пікселях. Див. також [member content_scale_size], який не " +"встановлює фізичний розмір вікна, але впливає на те, як працює масштабування " +"відносно поточного [member content_scale_mode]." + msgid "" "The name of a theme type variation used by this [Window] to look up its own " "theme items. See [member Control.theme_type_variation] for more details." @@ -211974,6 +214107,13 @@ msgstr "" msgid "Max value of the [enum Flags]." msgstr "Макс. значення [enum Flags]." +msgid "" +"The content will not be scaled to match the [Window]'s size ([member " +"content_scale_size] is ignored)." +msgstr "" +"Вміст не буде масштабовано відповідно до розміру [Window] ([member " +"content_scale_size] ігнорується)." + msgid "" "The content will be rendered at the target size. This is more performance-" "expensive than [constant CONTENT_SCALE_MODE_VIEWPORT], but provides better " diff --git a/doc/translations/zh_Hans.po b/doc/translations/zh_Hans.po index 89b33b096e8c..de45fe7f95b1 100644 --- a/doc/translations/zh_Hans.po +++ b/doc/translations/zh_Hans.po @@ -117,12 +117,13 @@ # Jason Xue <1120090920@qq.com>, 2025. # KarasumaChitos3 <460084657@qq.com>, 2025. # Zhen Luo <461652354@qq.com>, 2025, 2026. +# Aaron , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-13 06:39+0000\n" -"Last-Translator: 风青山 \n" +"PO-Revision-Date: 2026-01-25 09:00+0000\n" +"Last-Translator: Aaron \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh_Hans\n" @@ -130,7 +131,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "所有类" @@ -1668,6 +1669,76 @@ msgstr "" "@export_placeholder(\"Name in lowercase\") var friend_ids: Array[String]\n" "[/codeblock]" +msgid "" +"Export an [int], [float], [Array][lb][int][rb], [Array][lb][float][rb], " +"[PackedByteArray], [PackedInt32Array], [PackedInt64Array], " +"[PackedFloat32Array], or [PackedFloat64Array] property as a range value. The " +"range must be defined by [param min] and [param max], as well as an optional " +"[param step] and a variety of extra hints. The [param step] defaults to " +"[code]1[/code] for integer properties. For floating-point numbers this value " +"depends on your [member EditorSettings.interface/inspector/" +"default_float_step] setting.\n" +"If hints [code]\"or_greater\"[/code] and [code]\"or_less\"[/code] are " +"provided, the editor widget will not cap the value at range boundaries. The " +"[code]\"exp\"[/code] hint will make the edited values on range to change " +"exponentially. The [code]\"prefer_slider\"[/code] hint will make integer " +"values use the slider instead of arrows for editing, while [code]" +"\"hide_control\"[/code] will hide the element controlling the value of the " +"editor widget.\n" +"Hints also allow to indicate the units for the edited value. Using [code]" +"\"radians_as_degrees\"[/code] you can specify that the actual value is in " +"radians, but should be displayed in degrees in the Inspector dock (the range " +"values are also in degrees). [code]\"degrees\"[/code] allows to add a degree " +"sign as a unit suffix (the value is unchanged). Finally, a custom suffix can " +"be provided using [code]\"suffix:unit\"[/code], where \"unit\" can be any " +"string.\n" +"See also [constant PROPERTY_HINT_RANGE].\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number: float\n" +"@export_range(0, 20) var numbers: Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" +"[/codeblock]" +msgstr "" +"导出 [int]、[float]、[Array][lb][int][rb]、[Array][lb][float][rb]、" +"[PackedByteArray]、[PackedInt32Array]、[PackedInt64Array]、" +"[PackedFloat32Array] 或 [PackedFloat64Array] 属性,能够指定取值范围。范围必须" +"由最小值提示 [param min] 和最大值提示 [param max] 定义,还有一个可选的步长提" +"示 [param step] 和各种额外的提示。对于整数属性,[param step] 的默认值是 " +"[code]1[/code] 。对于浮点数,这个值取决于你的 [member " +"EditorSettings.interface/inspector/default_float_step] 所设置的值。\n" +"如果提供了 [code]\"or_greater\"[/code] 和 [code]\"or_less\"[/code] 提示,则编" +"辑器部件将不会在其范围边界处对数值进行限制。[code]\"exp\"[/code] 提示将使范围" +"内的编辑值以指数形式变化。[code]\"prefer_slider\"[/code] 提示使整数值通过滑块" +"而非箭头进行编辑,而 [code]\"hide_control\"[/code] 提示会隐藏编辑器部件中用于" +"控制值的元素。\n" +"提示还允许指示编辑的值的单位。通过使用 [code]\"radians_as_degrees\"[/code] 提" +"示,你可以指定实际值以弧度为单位,在检查器中以角度为单位显示的值(其范围值也使" +"用角度)。[code]\"degrees\"[/code] 提示允许添加一个角度符号作为单位后缀。最" +"后,还可以使用 [code]\"suffix:单位\"[/code] 这种提示来提供一个自定义后缀,其中" +"“单位”可以是任意字符串。\n" +"另见 [constant PROPERTY_HINT_RANGE]。\n" +"[codeblock]\n" +"@export_range(0, 20) var number\n" +"@export_range(-10, 20) var number\n" +"@export_range(-10, 20, 0.2) var number: float\n" +"@export_range(0, 20) var numbers: Array[float]\n" +"\n" +"@export_range(0, 100, 1, \"or_greater\") var power_percent\n" +"@export_range(0, 100, 1, \"or_greater\", \"or_less\") var health_delta\n" +"\n" +"@export_range(-180, 180, 0.001, \"radians_as_degrees\") var angle_radians\n" +"@export_range(0, 360, 1, \"degrees\") var angle_degrees\n" +"@export_range(-8, 8, 2, \"suffix:px\") var target_offset\n" +"[/codeblock]" + msgid "" "Export a property with [constant PROPERTY_USAGE_STORAGE] flag. The property " "is not displayed in the editor, but it is serialized and stored in the scene " @@ -44582,9 +44653,6 @@ msgstr "" "信息,请参阅 [method EditorExportPlugin._begin_customize_scenes] 和 [method " "EditorExportPlugin._begin_customize_resources]。" -msgid "Console support in Godot" -msgstr "Godot 中的控制台支持" - msgid "" "Adds a message to the export log that will be displayed when exporting ends." msgstr "在导出日志中添加一条消息,会在导出结束时显示。" @@ -96544,14 +96612,6 @@ msgstr "" "引用计数连接可以多次分配给同一个 [Callable]。每断开一次连接会让内部计数器减" "一。信号会在计数器变为 0 时完全断开连接。" -msgid "" -"The source object is automatically bound when a [PackedScene] is " -"instantiated. If this flag bit is enabled, the source object will be appended " -"right after the original arguments of the signal." -msgstr "" -"实例化 [PackedScene] 时会自动绑定来源对象。如果启用该标志位,则来源对象会追加" -"至信号原参数的右侧。" - msgid "" "Occluder shape resource for use with occlusion culling in " "[OccluderInstance3D]." diff --git a/doc/translations/zh_Hant.po b/doc/translations/zh_Hant.po index c75356f3c995..98c2a2d01a5b 100644 --- a/doc/translations/zh_Hant.po +++ b/doc/translations/zh_Hant.po @@ -36,12 +36,13 @@ # sashimi , 2025. # 源来是小白 , 2025. # RogerFang , 2025. +# Wei-Fu Chen <410477jimmy@gmail.com>, 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine class reference\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-12-08 20:00+0000\n" -"Last-Translator: RogerFang \n" +"PO-Revision-Date: 2026-01-25 00:39+0000\n" +"Last-Translator: Wei-Fu Chen <410477jimmy@gmail.com>\n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" @@ -49,7 +50,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "All classes" msgstr "所有類別" @@ -369,6 +370,25 @@ msgstr "" "[b]注意:[/b] [method assert] 是關鍵字,不是函式,無法作為 [Callable] 呼叫,也" "不能用於運算式中。" +msgid "" +"Returns a single character (as a [String] of length 1) of the given Unicode " +"code point [param code].\n" +"[codeblock]\n" +"print(char(65)) # Prints \"A\"\n" +"print(char(129302)) # Prints \"🤖\" (robot face emoji)\n" +"[/codeblock]\n" +"This is the inverse of [method ord]. See also [method String.chr] and [method " +"String.unicode_at]." +msgstr "" +"回傳指定 Unicode 碼位 [param code] 對應的單一字元(以長度為 1 的 [String] 表" +"示)。\n" +"[codeblock]\n" +"print(char(65)) # 印出「A」\n" +"print(char(129302)) # 印出 \"🤖\"(機器人臉表情符號)\n" +"[/codeblock]\n" +"這是 [method ord] 的反向操作。另請參閱 [method String.chr] 與 [method " +"String.unicode_at]。" + msgid "Use [method @GlobalScope.type_convert] instead." msgstr "請改用 [method @GlobalScope.type_convert]。" @@ -579,6 +599,25 @@ msgstr "" "@GDScript.load] 將無法於匯出後專案讀取已轉換的檔案。如需在執行時載入 PCK 內的" "檔案,請將該設定設為 [code]false[/code]。" +msgid "" +"Returns an integer representing the Unicode code point of the given character " +"[param char], which should be a string of length 1.\n" +"[codeblock]\n" +"print(ord(\"A\")) # Prints 65\n" +"print(ord(\"🤖\")) # Prints 129302\n" +"[/codeblock]\n" +"This is the inverse of [method char]. See also [method String.chr] and " +"[method String.unicode_at]." +msgstr "" +"回傳一個整數,表示指定字元 [param char] 的 Unicode 碼位。該字元應為長度為 1 的" +"字串。\n" +"[codeblock]\n" +"print(ord(\"A\")) # 印出 65\n" +"print(ord(\"🤖\")) # 印出 129302\n" +"[/codeblock]\n" +"這是 [method char] 的反向操作。另請參閱 [method String.chr] 與 [method " +"String.unicode_at]。" + msgid "" "Returns a [Resource] from the filesystem located at [param path]. During run-" "time, the resource is loaded when the script is being parsed. This function " @@ -606,6 +645,29 @@ msgstr "" "[/codeblock]\n" "[b]注意:[/b] [method preload] 是關鍵字,非函式,無法作為 [Callable] 使用。" +msgid "" +"Prints a stack trace at the current code location.\n" +"The output in the console may look like the following:\n" +"[codeblock lang=text]\n" +"Frame 0 - res://test.gd:16 in function '_process'\n" +"[/codeblock]\n" +"See also [method print_debug], [method get_stack], and [method " +"Engine.capture_script_backtraces].\n" +"[b]Note:[/b] By default, backtraces are only available in editor builds and " +"debug builds. To enable them for release builds as well, you need to enable " +"[member ProjectSettings.debug/settings/gdscript/always_track_call_stacks]." +msgstr "" +"在目前的程式碼位置列印堆疊追蹤。\n" +"主控台中的輸出可能如下所示:\n" +"[codeblock lang=text]\n" +"Frame 0 - res://test.gd:16 in function '_process'\n" +"[/codeblock]\n" +"另請參閱 [method print_debug]、[method get_stack] 與 [method " +"Engine.capture_script_backtraces]。\n" +"[b]注意:[/b] 預設情況下,堆疊追蹤僅在編輯器建置與除錯建置中可用。若要在發佈建" +"置中也啟用,您需要啟用 [member ProjectSettings.debug/settings/gdscript/" +"always_track_call_stacks]。" + msgid "" "Returns an array with the given range. [method range] can be called in three " "ways:\n" @@ -1806,9 +1868,9 @@ msgid "" "returns [code]-PI[/code] if [param from] is smaller than [param to], or " "[code]PI[/code] otherwise." msgstr "" -"回傳兩角度(弧度制)的差值,範圍為 [code][-PI, +PI][/code]。\n" -"若 [param from] 與 [param to] 方向相反,且 [param from] 小於 [param to] 時回" -"傳 [code]-PI[/code],否則回傳 [code]PI[/code]。" +"回傳兩角度(弧度制)的差值,範圍為 [code][-PI, +PI][/code]。若 [param from] " +"與 [param to] 方向相反,且 [param from] 小於 [param to] 時回傳 [code]-PI[/" +"code],否則回傳 [code]PI[/code]。" msgid "" "Returns the arc sine of [param x] in radians. Use to get the angle of sine " diff --git a/drivers/vulkan/rendering_device_driver_vulkan.cpp b/drivers/vulkan/rendering_device_driver_vulkan.cpp index c30e9c6b719a..2b368aa2216e 100644 --- a/drivers/vulkan/rendering_device_driver_vulkan.cpp +++ b/drivers/vulkan/rendering_device_driver_vulkan.cpp @@ -3891,9 +3891,12 @@ RDD::ShaderID RenderingDeviceDriverVulkan::shader_create_from_container(const Re const bool store_respv = use_respv && !shader_refl.specialization_constants.is_empty(); const int64_t stage_count = shader_refl.stages_vector.size(); shader_info.vk_stages_create_info.reserve(stage_count); - shader_info.spirv_stage_bytes.reserve(stage_count); shader_info.original_stage_size.reserve(stage_count); +#if RECORD_PIPELINE_STATISTICS + shader_info.spirv_stage_bytes.reserve(stage_count); +#endif + if (store_respv) { shader_info.respv_stage_shaders.reserve(stage_count); } @@ -3958,7 +3961,9 @@ RDD::ShaderID RenderingDeviceDriverVulkan::shader_create_from_container(const Re } } +#if RECORD_PIPELINE_STATISTICS shader_info.spirv_stage_bytes.push_back(decoded_spirv); +#endif VkShaderModuleCreateInfo shader_module_create_info = {}; shader_module_create_info.sType = VK_STRUCTURE_TYPE_SHADER_MODULE_CREATE_INFO; @@ -5676,7 +5681,7 @@ RDD::PipelineID RenderingDeviceDriverVulkan::render_pipeline_create( } } - print_line(vformat("re-spirv transformed the shader from %d bytes to %d bytes with constants %s (%d).", shader_info->spirv_stage_bytes[i].size(), respv_optimized_data.size(), spec_constants, p_shader.id)); + print_line(vformat("re-spirv transformed the shader from %d bytes to %d bytes with constants %s (%d).", shader_info->respv_stage_shaders[i].inlinedSpirvWords.size() * sizeof(uint32_t), respv_optimized_data.size(), spec_constants, p_shader.id)); #endif // Create the shader module with the optimized output. diff --git a/editor/animation/animation_track_editor.cpp b/editor/animation/animation_track_editor.cpp index b20108abde40..669363ec1ffd 100644 --- a/editor/animation/animation_track_editor.cpp +++ b/editor/animation/animation_track_editor.cpp @@ -1897,12 +1897,12 @@ void AnimationTimelineEdit::_play_position_draw() { } float scale = get_zoom_scale(); - int h = editor->box_selection_container->get_global_position().y - get_global_position().y; - int px = (-get_value() + play_position_pos) * scale + get_name_limit(); if (px >= get_name_limit() && px < (play_position->get_size().width - get_buttons_width())) { + int h = editor->box_selection_container->get_global_position().y - get_global_position().y; Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor)); + play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE)); play_position->draw_texture( get_editor_theme_icon(SNAME("TimelineIndicator")), @@ -8109,9 +8109,10 @@ AnimationTrackEditor::AnimationTrackEditor() { marker_edit = memnew(AnimationMarkerEdit); timeline->get_child(0)->add_child(marker_edit); + // Prevents the play position from being drawn at the wrong place in specific cases. + timeline->get_child(0)->connect(SceneStringName(resized), callable_mp(marker_edit, &AnimationMarkerEdit::update_play_position)); marker_edit->set_editor(this); marker_edit->set_timeline(timeline); - marker_edit->set_h_size_flags(SIZE_EXPAND_FILL); marker_edit->set_anchors_and_offsets_preset(Control::LayoutPreset::PRESET_FULL_RECT); marker_edit->set_z_index(1); // Ensure marker appears over the animation track editor. marker_edit->connect(SceneStringName(draw), callable_mp(this, &AnimationTrackEditor::_redraw_groups)); @@ -8759,13 +8760,11 @@ void AnimationMarkerEdit::_play_position_draw() { } float scale = timeline->get_zoom_scale(); - int h = get_size().height; - int px = (play_position_pos - timeline->get_value()) * scale + timeline->get_name_limit(); if (px >= timeline->get_name_limit() && px < (get_size().width - timeline->get_buttons_width())) { Color color = get_theme_color(SNAME("accent_color"), EditorStringName(Editor)); - play_position->draw_line(Point2(px, 0), Point2(px, h), color, Math::round(2 * EDSCALE)); + play_position->draw_line(Point2(px, 0), Point2(px, get_size().height), color, Math::round(2 * EDSCALE)); } } diff --git a/editor/debugger/editor_debugger_node.cpp b/editor/debugger/editor_debugger_node.cpp index 1cee4074be6d..cf50ad94fa7e 100644 --- a/editor/debugger/editor_debugger_node.cpp +++ b/editor/debugger/editor_debugger_node.cpp @@ -322,7 +322,9 @@ void EditorDebuggerNode::stop(bool p_force) { // Also close all debugging sessions. _for_all(tabs, [&](ScriptEditorDebugger *dbg) { - dbg->_stop_and_notify(); + if (dbg->is_session_active()) { + dbg->_stop_and_notify(); + } }); _break_state_changed(); breakpoints.clear(); diff --git a/editor/docks/editor_dock.h b/editor/docks/editor_dock.h index fb1f3c29f242..2571af3946b7 100644 --- a/editor/docks/editor_dock.h +++ b/editor/docks/editor_dock.h @@ -79,6 +79,7 @@ class EditorDock : public MarginContainer { bool transient = false; bool closable = false; + DockLayout current_layout; BitField available_layouts = DOCK_LAYOUT_VERTICAL | DOCK_LAYOUT_FLOATING; bool is_open = false; @@ -144,6 +145,8 @@ class EditorDock : public MarginContainer { String get_effective_layout_key() const; virtual void update_layout(DockLayout p_layout) { GDVIRTUAL_CALL(_update_layout, p_layout); } + DockLayout get_current_layout() const { return current_layout; } + virtual void save_layout_to_config(Ref &p_layout, const String &p_section) const { GDVIRTUAL_CALL(_save_layout_to_config, p_layout, p_section); } virtual void load_layout_from_config(const Ref &p_layout, const String &p_section) { GDVIRTUAL_CALL(_load_layout_from_config, p_layout, p_section); } }; diff --git a/editor/docks/editor_dock_manager.cpp b/editor/docks/editor_dock_manager.cpp index 079470916484..adfa5291e555 100644 --- a/editor/docks/editor_dock_manager.cpp +++ b/editor/docks/editor_dock_manager.cpp @@ -413,6 +413,7 @@ void EditorDockManager::_open_dock_in_window(EditorDock *p_dock, bool p_show_win _move_dock(p_dock, nullptr); p_dock->update_layout(EditorDock::DOCK_LAYOUT_FLOATING); + p_dock->current_layout = EditorDock::DOCK_LAYOUT_FLOATING; wrapper->set_wrapped_control(p_dock); p_dock->dock_window = wrapper; @@ -499,7 +500,11 @@ void EditorDockManager::_move_dock(EditorDock *p_dock, Control *p_target, int p_ } if (p_target != closed_dock_parent) { - p_dock->update_layout(p_target->get_meta("dock_layout")); + EditorDock::DockLayout layout = p_target->get_meta("dock_layout"); + if (layout != p_dock->current_layout) { + p_dock->update_layout(layout); + p_dock->current_layout = layout; + } p_dock->dock_slot_index = p_target->get_meta("dock_slot"); } @@ -846,16 +851,7 @@ void EditorDockManager::open_dock(EditorDock *p_dock, bool p_set_current) { if (p_dock->is_open) { // Show the dock if it is already open. if (p_set_current) { - if (p_dock->dock_window) { - p_dock->get_window()->grab_focus(); - return; - } - - TabContainer *dock_tab_container = get_dock_tab_container(p_dock); - if (dock_tab_container) { - int tab_index = dock_tab_container->get_tab_idx_from_control(p_dock); - dock_tab_container->set_current_tab(tab_index); - } + _make_dock_visible(p_dock, false); } return; } @@ -891,20 +887,11 @@ TabContainer *EditorDockManager::get_dock_tab_container(Control *p_dock) const { return Object::cast_to(p_dock->get_parent()); } -void EditorDockManager::focus_dock(EditorDock *p_dock) { - ERR_FAIL_NULL(p_dock); - ERR_FAIL_COND_MSG(!all_docks.has(p_dock), vformat("Cannot focus unknown dock '%s'.", p_dock->get_display_title())); - - if (!p_dock->enabled) { - return; - } - - if (!p_dock->is_open) { - open_dock(p_dock, false); - } - +void EditorDockManager::_make_dock_visible(EditorDock *p_dock, bool p_grab_focus) { if (p_dock->dock_window) { - p_dock->get_window()->grab_focus(); + if (p_grab_focus) { + p_dock->get_window()->grab_focus(); + } return; } @@ -917,12 +904,29 @@ void EditorDockManager::focus_dock(EditorDock *p_dock) { } TabContainer *tab_container = get_dock_tab_container(p_dock); - if (!tab_container) { + if (tab_container) { + if (p_grab_focus) { + tab_container->get_tab_bar()->grab_focus(); + } + + int tab_index = tab_container->get_tab_idx_from_control(p_dock); + tab_container->set_current_tab(tab_index); + } +} + +void EditorDockManager::focus_dock(EditorDock *p_dock) { + ERR_FAIL_NULL(p_dock); + ERR_FAIL_COND_MSG(!all_docks.has(p_dock), vformat("Cannot focus unknown dock '%s'.", p_dock->get_display_title())); + + if (!p_dock->enabled) { return; } - int tab_index = tab_container->get_tab_idx_from_control(p_dock); - tab_container->get_tab_bar()->grab_focus(); - tab_container->set_current_tab(tab_index); + + if (!p_dock->is_open) { + open_dock(p_dock, false); + } + + _make_dock_visible(p_dock, true); } void EditorDockManager::add_dock(EditorDock *p_dock) { diff --git a/editor/docks/editor_dock_manager.h b/editor/docks/editor_dock_manager.h index 0cf4571ae6f7..7e10be201efd 100644 --- a/editor/docks/editor_dock_manager.h +++ b/editor/docks/editor_dock_manager.h @@ -121,6 +121,7 @@ class EditorDockManager : public Object { void _open_dock_in_window(EditorDock *p_dock, bool p_show_window = true, bool p_reset_size = false); void _restore_dock_to_saved_window(EditorDock *p_dock, const Dictionary &p_window_dump); + void _make_dock_visible(EditorDock *p_dock, bool p_grab_focus); void _move_dock_tab_index(EditorDock *p_dock, int p_tab_index, bool p_set_current); void _move_dock(EditorDock *p_dock, Control *p_target, int p_tab_index = -1, bool p_set_current = true); diff --git a/editor/docks/filesystem_dock.cpp b/editor/docks/filesystem_dock.cpp index 674ef7f222bf..694fa38b2873 100644 --- a/editor/docks/filesystem_dock.cpp +++ b/editor/docks/filesystem_dock.cpp @@ -409,6 +409,8 @@ void FileSystemDock::_update_tree(const Vector &p_uncollapsed_paths, boo } if (fav_changed) { EditorSettings::get_singleton()->set_favorites(favorite_paths); + // Setting favorites causes the tree to update, so continuing is redundant. + return; } Ref folder_icon = get_editor_theme_icon(SNAME("Folder")); @@ -2479,7 +2481,6 @@ void FileSystemDock::_file_option(int p_option, const Vector &p_selected } } EditorSettings::get_singleton()->set_favorites(favorites_list); - _update_tree(get_uncollapsed_paths()); } break; case FILE_MENU_REMOVE_FAVORITE: { @@ -2489,10 +2490,6 @@ void FileSystemDock::_file_option(int p_option, const Vector &p_selected favorites_list.erase(p_selected[i]); } EditorSettings::get_singleton()->set_favorites(favorites_list); - _update_tree(get_uncollapsed_paths()); - if (current_path == "Favorites") { - _update_file_list(true); - } } break; case FILE_MENU_SHOW_IN_FILESYSTEM: { @@ -4553,6 +4550,7 @@ FileSystemDock::FileSystemDock() { file_list_display_mode = FILE_LIST_DISPLAY_THUMBNAILS; ProjectSettings::get_singleton()->connect("settings_changed", callable_mp(this, &FileSystemDock::_project_settings_changed)); + EditorSettings::get_singleton()->connect("_favorites_changed", callable_mp(this, &FileSystemDock::update_all)); main_scene_path = ResourceUID::ensure_path(GLOBAL_GET("application/run/main_scene")); add_resource_tooltip_plugin(memnew(EditorTextureTooltipPlugin)); diff --git a/editor/docks/filesystem_dock.h b/editor/docks/filesystem_dock.h index 36b48c115e98..a7a3d643777f 100644 --- a/editor/docks/filesystem_dock.h +++ b/editor/docks/filesystem_dock.h @@ -275,6 +275,7 @@ class FileSystemDock : public EditorDock { void _update_tree(const Vector &p_uncollapsed_paths = Vector(), bool p_uncollapse_root = false, bool p_scroll_to_selected = true); void _navigate_to_path(const String &p_path, bool p_select_in_favorites = false, bool p_grab_focus = false); bool _update_filtered_items(TreeItem *p_tree_item = nullptr); + void _append_favorite_items(); void _file_list_gui_input(Ref p_event); void _tree_gui_input(Ref p_event); diff --git a/editor/gui/editor_file_dialog.cpp b/editor/gui/editor_file_dialog.cpp index d035f17563e2..74409ae9bebd 100644 --- a/editor/gui/editor_file_dialog.cpp +++ b/editor/gui/editor_file_dialog.cpp @@ -32,8 +32,10 @@ #include "core/config/project_settings.h" #include "editor/docks/filesystem_dock.h" +#include "editor/editor_string_names.h" #include "editor/file_system/dependency_editor.h" #include "editor/settings/editor_settings.h" +#include "editor/themes/editor_scale.h" void EditorFileDialog::_item_menu_id_pressed(int p_option) { // Use dependency dialog to delete the entry in the editor, but only for project files. @@ -82,6 +84,10 @@ Color EditorFileDialog::_get_folder_color(const String &p_path) const { return FileSystemDock::get_dir_icon_color(p_path, FileDialog::_get_folder_color(p_path)); } +Vector2i EditorFileDialog::_get_list_mode_icon_size() const { + return Vector2i(); +} + void EditorFileDialog::_bind_methods() { #ifndef DISABLE_DEPRECATED ClassDB::bind_method(D_METHOD("add_side_menu", "menu", "title"), &EditorFileDialog::add_side_menu, DEFVAL("")); @@ -126,9 +132,33 @@ void EditorFileDialog::_notification(int p_what) { switch (p_what) { case NOTIFICATION_VISIBILITY_CHANGED: { if (!is_visible()) { - // Synchronize back favorites and recent directories, in case they have changed. - EditorSettings::get_singleton()->set_favorites(get_favorite_list(), false); - EditorSettings::get_singleton()->set_recent_dirs(get_recent_list(), false); + // Synchronize back favorites and recent directories if they have changed. + if (favorites_changed) { + Vector settings_favorites = EditorSettings::get_singleton()->get_favorites(); + Vector current_favorites = get_favorite_list(); + LocalVector to_erase; + + // The favorite list in EditorSettings may have files in between. They need to be handled properly to preserve order. + for (const String &fav : settings_favorites) { + if (!fav.ends_with("/")) { + continue; + } + int64_t idx = current_favorites.find(fav); + if (idx == -1) { + to_erase.push_back(fav); + } else { + current_favorites.remove_at(idx); + } + } + for (const String &fav : to_erase) { + settings_favorites.erase(fav); + } + settings_favorites.append_array(current_favorites); + EditorSettings::get_singleton()->set_favorites(settings_favorites, false); + } + if (recents_changed) { + EditorSettings::get_singleton()->set_recent_dirs(get_recent_list(), false); + } } } break; diff --git a/editor/gui/editor_file_dialog.h b/editor/gui/editor_file_dialog.h index 12c2129d63ae..8e04405e9926 100644 --- a/editor/gui/editor_file_dialog.h +++ b/editor/gui/editor_file_dialog.h @@ -46,6 +46,7 @@ class EditorFileDialog : public FileDialog { virtual bool _should_use_native_popup() const override; virtual bool _should_hide_file(const String &p_file) const override; virtual Color _get_folder_color(const String &p_path) const override; + virtual Vector2i _get_list_mode_icon_size() const override; static void _bind_methods(); void _validate_property(PropertyInfo &p_property) const; diff --git a/editor/gui/editor_quick_open_dialog.cpp b/editor/gui/editor_quick_open_dialog.cpp index 52daad2a2c52..76371d220ef4 100644 --- a/editor/gui/editor_quick_open_dialog.cpp +++ b/editor/gui/editor_quick_open_dialog.cpp @@ -189,6 +189,8 @@ void EditorQuickOpenDialog::_finish_dialog_setup(const Vector &p_bas } void EditorQuickOpenDialog::ok_pressed() { + container->save_selected_item(); + update_property(); container->cleanup(); search_box->clear(); @@ -216,7 +218,6 @@ void EditorQuickOpenDialog::selection_changed() { void EditorQuickOpenDialog::item_pressed(bool p_double_click) { // A double-click should always be taken as a "confirm" action. if (p_double_click) { - container->save_selected_item(); ok_pressed(); return; } @@ -224,7 +225,6 @@ void EditorQuickOpenDialog::item_pressed(bool p_double_click) { // Single-clicks should be taken as a "confirm" action only if Instant Preview // isn't currently enabled, or the property object is null for some reason. if (!_is_instant_preview_active()) { - container->save_selected_item(); ok_pressed(); } } diff --git a/editor/inspector/editor_inspector.cpp b/editor/inspector/editor_inspector.cpp index 87c901d60d8b..434c850c6076 100644 --- a/editor/inspector/editor_inspector.cpp +++ b/editor/inspector/editor_inspector.cpp @@ -468,7 +468,7 @@ void EditorProperty::_notification(int p_what) { // Only draw the label if it's not empty. if (label.is_empty()) { size.height = 0; - } else if (sub_inspector_color_level >= 0) { + } else if (sub_inspector_color_level >= 0 && theme_cache.sub_inspector_background[sub_inspector_color_level].is_valid()) { draw_style_box(theme_cache.sub_inspector_background[sub_inspector_color_level], Rect2(Vector2(), size)); } else { draw_style_box(selected ? theme_cache.background_selected : theme_cache.background, Rect2(Vector2(), size)); @@ -3727,15 +3727,15 @@ String EditorInspector::get_selected_path() const { return property_selected; } -void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, EditorInspectorSection *p_section, Ref ped) { - for (const EditorInspectorPlugin::AddedEditor &F : ped->added_editors) { +void EditorInspector::_parse_added_editors(VBoxContainer *p_current_vbox, EditorInspectorSection *p_section, Ref p_plugin) { + for (const EditorInspectorPlugin::AddedEditor &F : p_plugin->added_editors) { EditorProperty *ep = Object::cast_to(F.property_editor); if (ep && !F.properties.is_empty() && current_favorites.has(F.properties[0])) { ep->favorited = true; favorites_vbox->add_child(F.property_editor); } else { - current_vbox->add_child(F.property_editor); + p_current_vbox->add_child(F.property_editor); } if (ep) { @@ -3795,7 +3795,7 @@ void EditorInspector::_parse_added_editors(VBoxContainer *current_vbox, EditorIn ep->update_cache(); } } - ped->added_editors.clear(); + p_plugin->added_editors.clear(); } bool EditorInspector::_is_property_disabled_by_feature_profile(const StringName &p_property) { @@ -3937,14 +3937,17 @@ void EditorInspector::update_tree() { bool sub_inspectors_enabled = EDITOR_GET("interface/inspector/open_resources_in_current_inspector"); if (!valid_plugins.is_empty()) { + // Show early to avoid sizing problems. + begin_vbox->show(); + for (Ref &ped : valid_plugins) { ped->parse_begin(object); _parse_added_editors(begin_vbox, nullptr, ped); } - // Show if any of the editors were added to the beginning. - if (begin_vbox->get_child_count() > 0) { - begin_vbox->show(); + // Hide it again if no editors were added to the beginning. + if (begin_vbox->get_child_count() == 0) { + begin_vbox->hide(); } } diff --git a/editor/inspector/editor_inspector.h b/editor/inspector/editor_inspector.h index b6a9a6eba32b..5e9df77e58f6 100644 --- a/editor/inspector/editor_inspector.h +++ b/editor/inspector/editor_inspector.h @@ -811,7 +811,7 @@ class EditorInspector : public ScrollContainer { void _keying_changed(); - void _parse_added_editors(VBoxContainer *current_vbox, EditorInspectorSection *p_section, Ref ped); + void _parse_added_editors(VBoxContainer *p_current_vbox, EditorInspectorSection *p_section, Ref p_plugin); void _vscroll_changed(double); diff --git a/editor/run/embedded_process.cpp b/editor/run/embedded_process.cpp index af3883f23f94..ea20155ff5a5 100644 --- a/editor/run/embedded_process.cpp +++ b/editor/run/embedded_process.cpp @@ -220,13 +220,17 @@ void EmbeddedProcess::reset() { embedding_completed = false; start_embedding_time = 0; embedding_grab_focus = false; - timer_embedding->stop(); - timer_update_embedded_process->stop(); + reset_timers(); set_process(false); set_notify_transform(false); queue_redraw(); } +void EmbeddedProcess::reset_timers() { + timer_embedding->stop(); + timer_update_embedded_process->stop(); +} + void EmbeddedProcess::request_close() { if (current_process_id != 0 && embedding_completed) { DisplayServer::get_singleton()->request_close_embedded_process(current_process_id); diff --git a/editor/run/embedded_process.h b/editor/run/embedded_process.h index 00d0b1c60149..f7d04be99011 100644 --- a/editor/run/embedded_process.h +++ b/editor/run/embedded_process.h @@ -66,6 +66,7 @@ class EmbeddedProcessBase : public Control { virtual void embed_process(OS::ProcessID p_pid) = 0; virtual int get_embedded_pid() const = 0; virtual void reset() = 0; + virtual void reset_timers() = 0; virtual void request_close() = 0; virtual void queue_update_embedded_process() = 0; @@ -119,6 +120,7 @@ class EmbeddedProcess : public EmbeddedProcessBase { void embed_process(OS::ProcessID p_pid) override; int get_embedded_pid() const override; void reset() override; + void reset_timers() override; void request_close() override; void queue_update_embedded_process() override; diff --git a/editor/run/game_view_plugin.cpp b/editor/run/game_view_plugin.cpp index 46edffc76297..77a8ca80f9ae 100644 --- a/editor/run/game_view_plugin.cpp +++ b/editor/run/game_view_plugin.cpp @@ -1163,7 +1163,7 @@ void GameView::_window_close_request() { if (window_wrapper->get_window_enabled()) { // Stop the embedded process timer before closing the window wrapper, // so the signal to focus EDITOR_GAME isn't sent when the window is not enabled. - embedded_process->reset(); + embedded_process->reset_timers(); window_wrapper->set_window_enabled(false); } @@ -1175,6 +1175,7 @@ void GameView::_window_close_request() { if (paused || embedded_process->is_embedding_in_progress()) { // Call deferred to prevent the _stop_pressed callback to be executed before the wrapper window // actually closes. + embedded_process->reset(); callable_mp(EditorRunBar::get_singleton(), &EditorRunBar::stop_playing).call_deferred(); } else { // Try to gracefully close the window. That way, the NOTIFICATION_WM_CLOSE_REQUEST diff --git a/editor/scene/2d/tiles/tile_map_layer_editor.cpp b/editor/scene/2d/tiles/tile_map_layer_editor.cpp index e938cf5b279f..9d8bd5b9c513 100644 --- a/editor/scene/2d/tiles/tile_map_layer_editor.cpp +++ b/editor/scene/2d/tiles/tile_map_layer_editor.cpp @@ -2154,6 +2154,10 @@ void TileMapLayerEditorTilesPlugin::update_layout(EditorDock::DockLayout p_layou tools_settings_vsep->set_vertical(is_vertical); transform_separator->set_vertical(is_vertical); + wide_toolbar->set_visible(is_vertical); + bucket_contiguous_checkbox->reparent(is_vertical ? wide_toolbar : tools_settings); + scatter_controls_container->reparent(is_vertical ? wide_toolbar : tools_settings); + if (p_layout == EditorDock::DockLayout::DOCK_LAYOUT_FLOATING) { patterns_mc->set_theme_type_variation("NoBorderHorizontalBottom"); patterns_item_list->set_scroll_hint_mode(ItemList::SCROLL_HINT_MODE_TOP); @@ -2308,7 +2312,7 @@ TileMapLayerEditorTilesPlugin::TileMapLayerEditorTilesPlugin() { bucket_contiguous_checkbox->set_text(TTR("Contiguous")); bucket_contiguous_checkbox->set_pressed(true); bucket_contiguous_checkbox->hide(); - wide_toolbar->add_child(bucket_contiguous_checkbox); + tools_settings->add_child(bucket_contiguous_checkbox); // Random tile checkbox. random_tile_toggle = memnew(Button); @@ -2336,7 +2340,7 @@ TileMapLayerEditorTilesPlugin::TileMapLayerEditorTilesPlugin() { scatter_spinbox->connect(SceneStringName(value_changed), callable_mp(this, &TileMapLayerEditorTilesPlugin::_on_scattering_spinbox_changed)); scatter_spinbox->set_accessibility_name(TTRC("Scattering:")); scatter_controls_container->add_child(scatter_spinbox); - wide_toolbar->add_child(scatter_controls_container); + tools_settings->add_child(scatter_controls_container); _on_random_tile_checkbox_toggled(false); @@ -3483,6 +3487,9 @@ void TileMapLayerEditorTerrainsPlugin::update_layout(EditorDock::DockLayout p_la tilemap_tiles_tools_buttons->set_vertical(is_vertical); tools_settings->set_vertical(is_vertical); tools_settings_vsep->set_vertical(is_vertical); + + wide_toolbar->set_visible(is_vertical); + bucket_contiguous_checkbox->reparent(is_vertical ? wide_toolbar : tools_settings); } TileMapLayerEditorTerrainsPlugin::TileMapLayerEditorTerrainsPlugin() { @@ -3601,7 +3608,7 @@ TileMapLayerEditorTerrainsPlugin::TileMapLayerEditorTerrainsPlugin() { bucket_contiguous_checkbox->set_text(TTR("Contiguous")); bucket_contiguous_checkbox->set_pressed(true); bucket_contiguous_checkbox->hide(); - wide_toolbar->add_child(bucket_contiguous_checkbox); + tools_settings->add_child(bucket_contiguous_checkbox); } TileMapLayer *TileMapLayerEditor::_get_edited_layer() const { @@ -3806,6 +3813,8 @@ void TileMapLayerEditor::_update_layers_selector() { select_next_layer->set_disabled(true); select_previous_layer->set_disabled(true); } + + _update_layer_selector_layout(get_current_layout() == EditorDock::DockLayout::DOCK_LAYOUT_VERTICAL); } void TileMapLayerEditor::_clear_all_layers_highlighting() { @@ -4421,12 +4430,22 @@ void TileMapLayerEditor::set_show_layer_selector(bool p_show_layer_selector) { _update_layers_selector(); } +void TileMapLayerEditor::_update_layer_selector_layout(bool p_is_vertical) { + if (p_is_vertical && show_layers_selector) { + layer_selection_hbox->reparent(tile_map_wide_toolbar); + tile_map_wide_toolbar->move_child(layer_selection_hbox, 1); + layer_selection_hbox->set_vertical(false); + } else { + layer_selection_hbox->reparent(tile_map_toolbar); + tile_map_toolbar->move_child(layer_selection_hbox, -5); + layer_selection_hbox->set_vertical(p_is_vertical); + } +} + void TileMapLayerEditor::update_layout(DockLayout p_layout) { bool is_vertical = (p_layout == EditorDock::DockLayout::DOCK_LAYOUT_VERTICAL); - tabs_panel->get_parent()->remove_child(tabs_panel); tile_map_toolbar->set_vertical(is_vertical); layer_selector_separator->set_vertical(is_vertical); - layer_selection_hbox->set_vertical(is_vertical); tile_map_toolbar->set_h_size_flags(is_vertical ? SIZE_SHRINK_BEGIN : SIZE_EXPAND_FILL); tile_map_toolbar->set_v_size_flags(is_vertical ? SIZE_EXPAND_FILL : SIZE_SHRINK_BEGIN); @@ -4438,20 +4457,14 @@ void TileMapLayerEditor::update_layout(DockLayout p_layout) { } if (is_vertical) { - tile_map_wide_toolbar->add_child(tabs_panel); + tabs_panel->reparent(tile_map_wide_toolbar); + tile_map_wide_toolbar->move_child(tabs_panel, 0); } else { - tile_map_toolbar->add_child(tabs_panel); + tabs_panel->reparent(tile_map_toolbar); tile_map_toolbar->move_child(tabs_panel, 0); } - for (TileMapLayerSubEditorPlugin::TabData &tab_data : tabs_data) { - tab_data.wide_toolbar->get_parent()->remove_child(tab_data.wide_toolbar); - if (is_vertical) { - tile_map_wide_toolbar->add_child(tab_data.wide_toolbar); - } else { - tile_map_toolbar->add_child(tab_data.wide_toolbar); - } - } + _update_layer_selector_layout(is_vertical); // Propagate layout change to sub plugins for (TileMapLayerSubEditorPlugin *tab_plugin : tabs_plugins) { @@ -4523,7 +4536,7 @@ TileMapLayerEditor::TileMapLayerEditor() { tab_data.wide_toolbar->hide(); if (!tab_data.wide_toolbar->get_parent()) { - tile_map_toolbar->add_child(tab_data.wide_toolbar); + tile_map_wide_toolbar->add_child(tab_data.wide_toolbar); } } diff --git a/editor/scene/2d/tiles/tile_map_layer_editor.h b/editor/scene/2d/tiles/tile_map_layer_editor.h index 35e8f0a48feb..f4df2dff7bbe 100644 --- a/editor/scene/2d/tiles/tile_map_layer_editor.h +++ b/editor/scene/2d/tiles/tile_map_layer_editor.h @@ -405,6 +405,7 @@ class TileMapLayerEditor : public EditorDock { void _clear_all_layers_highlighting(); void _update_all_layers_highlighting(); void _highlight_selected_layer_button_toggled(bool p_pressed); + void _update_layer_selector_layout(bool p_is_vertical); Button *toggle_grid_button = nullptr; void _on_grid_toggled(bool p_pressed); diff --git a/editor/scene/2d/tiles/tiles_editor_plugin.cpp b/editor/scene/2d/tiles/tiles_editor_plugin.cpp index be62e8275f88..14c474775e5a 100644 --- a/editor/scene/2d/tiles/tiles_editor_plugin.cpp +++ b/editor/scene/2d/tiles/tiles_editor_plugin.cpp @@ -411,7 +411,7 @@ void TileMapEditorPlugin::_edit_tile_map_layer(TileMapLayer *p_tile_map_layer, b Ref tile_set = p_tile_map_layer->get_tile_set(); if (tile_set.is_valid()) { tile_set_plugin_singleton->edit(tile_set.ptr()); - tile_set_plugin_singleton->make_visible(true); + tile_set_plugin_singleton->open_editor(); tile_set_id = tile_set->get_instance_id(); } else { tile_set_plugin_singleton->edit(nullptr); @@ -540,6 +540,10 @@ void TileSetEditorPlugin::make_visible(bool p_visible) { } } +void TileSetEditorPlugin::open_editor() { + editor->open(); +} + ObjectID TileSetEditorPlugin::get_edited_tileset() const { return edited_tileset; } diff --git a/editor/scene/2d/tiles/tiles_editor_plugin.h b/editor/scene/2d/tiles/tiles_editor_plugin.h index b5c33253e882..ebd438b0905b 100644 --- a/editor/scene/2d/tiles/tiles_editor_plugin.h +++ b/editor/scene/2d/tiles/tiles_editor_plugin.h @@ -164,6 +164,7 @@ class TileSetEditorPlugin : public EditorPlugin { virtual void edit(Object *p_object) override; virtual bool handles(Object *p_object) const override; virtual void make_visible(bool p_visible) override; + void open_editor(); ObjectID get_edited_tileset() const; diff --git a/editor/scene/3d/node_3d_editor_plugin.cpp b/editor/scene/3d/node_3d_editor_plugin.cpp index 29c91368d59d..512c0f54dc4b 100644 --- a/editor/scene/3d/node_3d_editor_plugin.cpp +++ b/editor/scene/3d/node_3d_editor_plugin.cpp @@ -346,7 +346,7 @@ void ViewportRotationControl::_draw() { void ViewportRotationControl::_draw_axis(const Axis2D &p_axis) { const bool focused = focused_axis == p_axis.axis; - const bool positive = p_axis.axis < 3; + const bool positive = p_axis.is_positive; const int direction = p_axis.axis % 3; const Color axis_color = axis_colors[direction]; @@ -404,24 +404,28 @@ void ViewportRotationControl::_get_sorted_axis(Vector &r_axis) { Vector3 axis_3d = camera_basis.get_column(i); Vector2 axis_vector = Vector2(axis_3d.x, -axis_3d.y) * radius; - if (Math::abs(axis_3d.z) <= 1.0) { + if (Math::abs(axis_3d.z) < 1.0) { Axis2D pos_axis; pos_axis.axis = i; pos_axis.screen_point = center + axis_vector; pos_axis.z_axis = axis_3d.z; + pos_axis.is_positive = true; r_axis.push_back(pos_axis); Axis2D neg_axis; neg_axis.axis = i + 3; neg_axis.screen_point = center - axis_vector; neg_axis.z_axis = -axis_3d.z; + neg_axis.is_positive = false; r_axis.push_back(neg_axis); } else { - // Special case when the camera is aligned with one axis + // Special case when the camera is aligned with one axis. Axis2D axis; axis.axis = i + (axis_3d.z <= 0 ? 0 : 3); axis.screen_point = center; axis.z_axis = 1.0; + // Invert display style to fix aligned axis rendering. + axis.is_positive = (axis_3d.z > 0); r_axis.push_back(axis); } } diff --git a/editor/scene/3d/node_3d_editor_plugin.h b/editor/scene/3d/node_3d_editor_plugin.h index de5f2a98427d..641cc4f15fe2 100644 --- a/editor/scene/3d/node_3d_editor_plugin.h +++ b/editor/scene/3d/node_3d_editor_plugin.h @@ -71,6 +71,7 @@ class ViewportRotationControl : public Control { Vector2 screen_point; float z_axis = -99.0; int axis = -1; + bool is_positive = true; }; struct Axis2DCompare { diff --git a/editor/scene/connections_dialog.cpp b/editor/scene/connections_dialog.cpp index 44a355c695ce..d0083bbe119d 100644 --- a/editor/scene/connections_dialog.cpp +++ b/editor/scene/connections_dialog.cpp @@ -1668,12 +1668,13 @@ void ConnectionsDock::update_tree() { if (cd.flags & CONNECT_ONE_SHOT) { path += " (one-shot)"; } - if (cd.flags & CONNECT_APPEND_SOURCE_OBJECT) { - path += " (source)"; - } if (cd.unbinds > 0) { path += " unbinds(" + itos(cd.unbinds) + ")"; } + // CONNECT_APPEND_SOURCE_OBJECT is not affected by unbinds, list it between unbinds/binds to better indicate the final order. + if (cd.flags & CONNECT_APPEND_SOURCE_OBJECT) { + path += " (source)"; + } if (!cd.binds.is_empty()) { path += " binds("; for (int i = 0; i < cd.binds.size(); i++) { diff --git a/editor/scene/connections_dialog.h b/editor/scene/connections_dialog.h index 0523743ef3ba..bbab591edcf5 100644 --- a/editor/scene/connections_dialog.h +++ b/editor/scene/connections_dialog.h @@ -84,11 +84,6 @@ class ConnectDialog : public ConfirmationDialog { unbinds = ccu->get_unbinds(); base_callable = ccu->get_callable(); } - - // The source object may already be bound, ignore it to prevent display of the source object. - if ((flags & CONNECT_APPEND_SOURCE_OBJECT) && (source == binds[0])) { - binds.remove_at(0); - } } else { base_callable = p_connection.callable; } diff --git a/editor/scene/gui/theme_editor_plugin.cpp b/editor/scene/gui/theme_editor_plugin.cpp index 8baaca6822b6..557845f42559 100644 --- a/editor/scene/gui/theme_editor_plugin.cpp +++ b/editor/scene/gui/theme_editor_plugin.cpp @@ -2130,6 +2130,7 @@ ThemeItemEditorDialog::ThemeItemEditorDialog(ThemeTypeEditor *p_theme_type_edito // Import Items tab. TabContainer *import_tc = memnew(TabContainer); + import_tc->set_theme_type_variation("TabContainerInner"); import_tc->set_tab_alignment(TabBar::ALIGNMENT_CENTER); tc->add_child(import_tc); tc->set_tab_title(1, TTR("Import Items")); @@ -3071,7 +3072,7 @@ void ThemeTypeEditor::_item_add_lineedit_cbk(String p_value, int p_data_type, Co void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) { // Avoid errors if the action is triggered multiple times. - if (edited_theme->has_theme_item((Theme::DataType)p_data_type, p_item_name, edited_type)) { + if (edited_theme->has_theme_item_nocheck((Theme::DataType)p_data_type, p_item_name, edited_type)) { return; } @@ -3115,7 +3116,7 @@ void ThemeTypeEditor::_item_override_cbk(int p_data_type, String p_item_name) { void ThemeTypeEditor::_item_remove_cbk(int p_data_type, String p_item_name) { // Avoid errors if the action is triggered multiple times. - if (!edited_theme->has_theme_item((Theme::DataType)p_data_type, p_item_name, edited_type)) { + if (!edited_theme->has_theme_item_nocheck((Theme::DataType)p_data_type, p_item_name, edited_type)) { return; } diff --git a/editor/scene/scene_create_dialog.cpp b/editor/scene/scene_create_dialog.cpp index c472e4508559..242ff5141cf6 100644 --- a/editor/scene/scene_create_dialog.cpp +++ b/editor/scene/scene_create_dialog.cpp @@ -212,6 +212,7 @@ SceneCreateDialog::SceneCreateDialog() { node_type_2d = memnew(CheckBox); vb->add_child(node_type_2d); node_type_2d->set_text(TTR("2D Scene")); + node_type_2d->set_theme_type_variation("CheckBoxNoIconTint"); node_type_2d->set_button_group(node_type_group); node_type_2d->set_meta(type_meta, ROOT_2D_SCENE); node_type_2d->set_pressed(true); @@ -219,12 +220,14 @@ SceneCreateDialog::SceneCreateDialog() { node_type_3d = memnew(CheckBox); vb->add_child(node_type_3d); node_type_3d->set_text(TTR("3D Scene")); + node_type_3d->set_theme_type_variation("CheckBoxNoIconTint"); node_type_3d->set_button_group(node_type_group); node_type_3d->set_meta(type_meta, ROOT_3D_SCENE); node_type_gui = memnew(CheckBox); vb->add_child(node_type_gui); node_type_gui->set_text(TTR("User Interface")); + node_type_gui->set_theme_type_variation("CheckBoxNoIconTint"); node_type_gui->set_button_group(node_type_group); node_type_gui->set_meta(type_meta, ROOT_USER_INTERFACE); @@ -234,6 +237,7 @@ SceneCreateDialog::SceneCreateDialog() { node_type_other = memnew(CheckBox); hb->add_child(node_type_other); node_type_other->set_accessibility_name(TTRC("Other Type")); + node_type_other->set_theme_type_variation("CheckBoxNoIconTint"); node_type_other->set_button_group(node_type_group); node_type_other->set_meta(type_meta, ROOT_OTHER); diff --git a/editor/script/script_editor_plugin.cpp b/editor/script/script_editor_plugin.cpp index 902f76a039bb..7ea67402a40f 100644 --- a/editor/script/script_editor_plugin.cpp +++ b/editor/script/script_editor_plugin.cpp @@ -1918,8 +1918,10 @@ void ScriptEditor::_notification(int p_what) { } break; case NOTIFICATION_APPLICATION_FOCUS_IN: { - _test_script_times_on_disk(); - _update_modified_scripts_for_external_editor(); + if (is_inside_tree()) { + _test_script_times_on_disk(); + _update_modified_scripts_for_external_editor(); + } } break; } } diff --git a/editor/settings/editor_settings.cpp b/editor/settings/editor_settings.cpp index 5ddf60ab8b11..0f381c0ff385 100644 --- a/editor/settings/editor_settings.cpp +++ b/editor/settings/editor_settings.cpp @@ -1595,13 +1595,11 @@ void EditorSettings::save_project_metadata() { } void EditorSettings::set_favorites(const Vector &p_favorites, bool p_update_file_dialog) { + set_favorites_bind(p_favorites); if (p_update_file_dialog) { - FileDialog::set_favorite_list(p_favorites); - } else if (p_favorites == favorites) { - // If the list came from EditorFileDialog, it may be the same as before. - return; + FileDialog::set_favorite_list(get_favorite_folders()); } - set_favorites_bind(p_favorites); + emit_signal(SNAME("_favorites_changed")); } void EditorSettings::set_favorites_bind(const Vector &p_favorites) { @@ -1636,6 +1634,22 @@ Vector EditorSettings::get_favorites() const { return favorites; } +Vector EditorSettings::get_favorite_folders() const { + Vector folder_favorites; + folder_favorites.resize(favorites.size()); + String *folder_write = folder_favorites.ptrw(); + + int i = 0; + for (const String &fav : favorites) { + if (fav.ends_with("/")) { + folder_write[i] = fav; + i++; + } + } + folder_favorites.resize(i); + return folder_favorites; +} + HashMap EditorSettings::get_favorite_properties() const { return favorite_properties; } @@ -1643,9 +1657,6 @@ HashMap EditorSettings::get_favorite_properties() con void EditorSettings::set_recent_dirs(const Vector &p_recent_dirs, bool p_update_file_dialog) { if (p_update_file_dialog) { FileDialog::set_recent_list(p_recent_dirs); - } else if (p_recent_dirs == recent_dirs) { - // If the list came from EditorFileDialog, it may be the same as before. - return; } set_recent_dirs_bind(p_recent_dirs); } @@ -1694,7 +1705,7 @@ void EditorSettings::load_favorites_and_recent_dirs() { line = f->get_line().strip_edges(); } } - FileDialog::set_favorite_list(favorites); + FileDialog::set_favorite_list(get_favorite_folders()); /// Inspector Favorites @@ -2282,6 +2293,7 @@ void EditorSettings::_bind_methods() { ClassDB::bind_method(D_METHOD("mark_setting_changed", "setting"), &EditorSettings::mark_setting_changed); ADD_SIGNAL(MethodInfo("settings_changed")); + ADD_SIGNAL(MethodInfo("_favorites_changed")); BIND_CONSTANT(NOTIFICATION_EDITOR_SETTINGS_CHANGED); } diff --git a/editor/settings/editor_settings.h b/editor/settings/editor_settings.h index b36cb478f13c..dcb604630461 100644 --- a/editor/settings/editor_settings.h +++ b/editor/settings/editor_settings.h @@ -180,6 +180,7 @@ class EditorSettings : public Resource { void set_favorites(const Vector &p_favorites, bool p_update_file_dialog = true); void set_favorites_bind(const Vector &p_favorites); Vector get_favorites() const; + Vector get_favorite_folders() const; void set_favorite_properties(const HashMap &p_favorite_properties); HashMap get_favorite_properties() const; void set_recent_dirs(const Vector &p_recent_dirs, bool p_update_file_dialog = true); diff --git a/editor/themes/editor_theme_manager.cpp b/editor/themes/editor_theme_manager.cpp index c44527475bd4..2f035d6b1abc 100644 --- a/editor/themes/editor_theme_manager.cpp +++ b/editor/themes/editor_theme_manager.cpp @@ -509,8 +509,8 @@ void EditorThemeManager::_populate_text_editor_styles(const Ref &p_ colors["text_editor/theme/highlighting/string_placeholder_color"] = p_config.dark_icon_and_font ? Color(1, 0.75, 0.4) : Color(0.93, 0.6, 0.33); // Use the brightest background color on a light theme (which generally uses a negative contrast rate). - colors["text_editor/theme/highlighting/background_color"] = p_config.dark_icon_and_font ? p_config.dark_color_2 : p_config.dark_color_3; - colors["text_editor/theme/highlighting/completion_background_color"] = p_config.dark_icon_and_font ? p_config.base_color : p_config.dark_color_2; + colors["text_editor/theme/highlighting/background_color"] = p_config.base_color.lerp(Color(0, 0, 0), p_config.contrast * (p_config.dark_icon_and_font ? 1.2 : 1.8)).clamp(); + colors["text_editor/theme/highlighting/completion_background_color"] = p_config.base_color.lerp(Color(0, 0, 0), p_config.contrast * 0.3).clamp(); colors["text_editor/theme/highlighting/completion_selected_color"] = alpha1; colors["text_editor/theme/highlighting/completion_existing_color"] = alpha2; // Same opacity as the scroll grabber editor icon. diff --git a/editor/themes/theme_classic.cpp b/editor/themes/theme_classic.cpp index 83d5b4321e81..9d584524b10f 100644 --- a/editor/themes/theme_classic.cpp +++ b/editor/themes/theme_classic.cpp @@ -1508,6 +1508,9 @@ void ThemeClassic::populate_standard_styles(const Ref &p_theme, Edi p_theme->set_stylebox("picker_focus_circle", "ColorPicker", circle_style_focus); p_theme->set_color("focused_not_editing_cursor_color", "ColorPicker", p_config.highlight_color); + p_theme->set_icon("menu_option", "ColorPicker", p_theme->get_icon(SNAME("GuiTabMenuHl"), EditorStringName(EditorIcons))); + p_theme->set_icon("expanded_arrow", "ColorPicker", p_theme->get_icon(SNAME("GuiTreeArrowDown"), EditorStringName(EditorIcons))); + p_theme->set_icon("folded_arrow", "ColorPicker", p_theme->get_icon(SNAME("GuiTreeArrowRight"), EditorStringName(EditorIcons))); p_theme->set_icon("screen_picker", "ColorPicker", p_theme->get_icon(SNAME("ColorPick"), EditorStringName(EditorIcons))); p_theme->set_icon("shape_circle", "ColorPicker", p_theme->get_icon(SNAME("PickerShapeCircle"), EditorStringName(EditorIcons))); p_theme->set_icon("shape_rect", "ColorPicker", p_theme->get_icon(SNAME("PickerShapeRectangle"), EditorStringName(EditorIcons))); @@ -1892,6 +1895,14 @@ void ThemeClassic::populate_editor_styles(const Ref &p_theme, Edito p_theme->set_stylebox(SceneStringName(pressed), "EditorLogFilterButton", editor_log_button_pressed); } + // Checkbox. + { + p_theme->set_type_variation("CheckBoxNoIconTint", "CheckBox"); + p_theme->set_color("icon_pressed_color", "CheckBoxNoIconTint", p_config.icon_normal_color); + p_theme->set_color("icon_hover_color", "CheckBoxNoIconTint", p_config.mono_color); + p_theme->set_color("icon_hover_pressed_color", "CheckBoxNoIconTint", p_config.mono_color); + } + // Buttons styles that stand out against the panel background (e.g. AssetLib). { p_theme->set_type_variation("PanelBackgroundButton", "Button"); diff --git a/editor/themes/theme_modern.cpp b/editor/themes/theme_modern.cpp index 77a0a830ca52..20a9f8c8a2db 100644 --- a/editor/themes/theme_modern.cpp +++ b/editor/themes/theme_modern.cpp @@ -44,7 +44,8 @@ // Helper. static Color _get_base_color(EditorThemeManager::ThemeConfiguration &p_config, float p_dimness_ofs = 0.0, float p_saturation_mult = 1.0) { Color color = p_config.base_color; - color.set_v(CLAMP(Math::lerp(color.get_v(), 0, p_config.contrast * p_dimness_ofs), 0, 1)); + const float final_contrast = (p_dimness_ofs < 0) ? CLAMP(p_config.contrast, -0.1, 0.5) : p_config.contrast; + color.set_v(CLAMP(Math::lerp(color.get_v(), 0, final_contrast * p_dimness_ofs), 0, 1)); color.set_s(color.get_s() * p_saturation_mult); return color; } @@ -1547,6 +1548,9 @@ void ThemeModern::populate_standard_styles(const Ref &p_theme, Edit p_theme->set_stylebox("picker_focus_circle", "ColorPicker", circle_style_focus); p_theme->set_color("focused_not_editing_cursor_color", "ColorPicker", p_config.highlight_color); + p_theme->set_icon("menu_option", "ColorPicker", p_theme->get_icon(SNAME("GuiTabMenuHl"), EditorStringName(EditorIcons))); + p_theme->set_icon("expanded_arrow", "ColorPicker", p_theme->get_icon(SNAME("GuiTreeArrowDown"), EditorStringName(EditorIcons))); + p_theme->set_icon("folded_arrow", "ColorPicker", p_theme->get_icon(SNAME("GuiTreeArrowRight"), EditorStringName(EditorIcons))); p_theme->set_icon("screen_picker", "ColorPicker", p_theme->get_icon(SNAME("ColorPick"), EditorStringName(EditorIcons))); p_theme->set_icon("shape_circle", "ColorPicker", p_theme->get_icon(SNAME("PickerShapeCircle"), EditorStringName(EditorIcons))); p_theme->set_icon("shape_rect", "ColorPicker", p_theme->get_icon(SNAME("PickerShapeRectangle"), EditorStringName(EditorIcons))); @@ -1947,6 +1951,14 @@ void ThemeModern::populate_editor_styles(const Ref &p_theme, Editor p_theme->set_stylebox("hover_pressed", "EditorLogFilterButton", p_config.flat_button_hover_pressed); } + // Checkbox. + { + p_theme->set_type_variation("CheckBoxNoIconTint", "CheckBox"); + p_theme->set_color("icon_pressed_color", "CheckBoxNoIconTint", p_config.icon_normal_color); + p_theme->set_color("icon_hover_color", "CheckBoxNoIconTint", p_config.mono_color); + p_theme->set_color("icon_hover_pressed_color", "CheckBoxNoIconTint", p_config.mono_color); + } + // Buttons styles that stand out against the panel background (e.g. AssetLib). { p_theme->set_type_variation("PanelBackgroundButton", "Button"); diff --git a/editor/translations/editor/ar.po b/editor/translations/editor/ar.po index 9f23ed6c471c..8510ee52da5d 100644 --- a/editor/translations/editor/ar.po +++ b/editor/translations/editor/ar.po @@ -106,13 +106,15 @@ # Ihab Shoully , 2025. # "A Thousand Ships (she/her)" , 2025. # ahmad aaaz , 2025. +# kyan , 2026. +# Khaled Aboud , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-31 16:58+0000\n" -"Last-Translator: ahmad aaaz \n" +"PO-Revision-Date: 2026-01-23 01:57+0000\n" +"Last-Translator: Khaled Aboud \n" "Language-Team: Arabic \n" "Language: ar\n" @@ -121,14 +123,104 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 && " "n%100<=10 ? 3 : n%100>=11 ? 4 : 5;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "حسنا" +msgid "Failed" +msgstr "فشل" + +msgid "Unavailable" +msgstr "غير متاح" + +msgid "Unconfigured" +msgstr "غير مهيأ" + +msgid "Unauthorized" +msgstr "غير مصرح به" + +msgid "Parameter out of range" +msgstr "المعامل خارج النطاق:%s" + +msgid "Out of memory" +msgstr "الذاكره غير كافيه" + +msgid "File not found" +msgstr "الملف غير موجود" + +msgid "File: Bad drive" +msgstr "الملف: محرك أقراص تالف" + +msgid "File: Bad path" +msgstr "الملف: مسار غير صالح" + +msgid "File: Permission denied" +msgstr "الملف: تم رفض الإذن" + +msgid "File already in use" +msgstr "الملف قيد الاستخدام بالفعل" + +msgid "Can't open file" +msgstr "تعذر فتح الملف" + +msgid "Can't write file" +msgstr "لا يمكن كتابة الملف" + +msgid "Can't read file" +msgstr "لا يمكن قراءة الملف" + +msgid "File unrecognized" +msgstr "الملف غير معروف" + +msgid "File corrupt" +msgstr "ملف تالف" + +msgid "Missing dependencies for file" +msgstr "التبعيات المفقودة للملف" + +msgid "End of file" +msgstr "نهاية الملف" + +msgid "Can't open" +msgstr "لا يمكن الفتح" + +msgid "Can't create" +msgstr "لا يمكن الإنشاء" + +msgid "Query failed" +msgstr "فشل الطلب" + +msgid "Already in use" +msgstr "قيد الاستخدام بالفعل" + msgid "Locked" msgstr "مُقفل" +msgid "Timeout" +msgstr "انتهت المهلة" + +msgid "Can't connect" +msgstr "لا يمكن الاتصال" + +msgid "Can't resolve" +msgstr "لا يمكن الحل" + +msgid "Connection error" +msgstr "خطأ في الاتصال" + +msgid "Can't acquire resource" +msgstr "لا يمكن الحل" + +msgid "Can't fork" +msgstr "لا يمكن الحل" + +msgid "Invalid data" +msgstr "بيانات غير صالح" + +msgid "Invalid parameter" +msgstr "مسار غير صالح" + msgid "Help" msgstr "المساعدة" @@ -1251,6 +1343,9 @@ msgstr "تحريك العُقدة" msgid "Transition exists!" msgstr "الانتقال موجود سلفاً!" +msgid "Cannot transition to self!" +msgstr "لا يمكن الانتقال(transition ) إلى الذات!" + msgid "Play/Travel to %s" msgstr "تشغيل/انتقل إلى %s" @@ -15910,14 +16005,6 @@ msgstr "" "وضعه على \"تجاهل\". لحل هذه المشكلة ، اضبط تصفية الفأره على \"إيقاف\" أو " "\"تمرير\"." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"يرجى العلم أن GraphEdit وGraphNode سيخضعان لعملية إعادة بناء واسعة النطاق في " -"إصدار 4.x مستقبلي يتضمن تغييرات في واجهة برمجة التطبيقات (API) تنتهك التوافق." - msgid "" "ScrollContainer is intended to work with a single child control.\n" "Use a container as child (VBox, HBox, etc.), or a Control and set the custom " diff --git a/editor/translations/editor/bg.po b/editor/translations/editor/bg.po index 6958f74bc687..c2a38032ab53 100644 --- a/editor/translations/editor/bg.po +++ b/editor/translations/editor/bg.po @@ -27,13 +27,14 @@ # Jivko Chterev , 2025. # "A Thousand Ships (she/her)" , 2025. # Stanislav Yuliyanov , 2025, 2026. +# Vladimir Kirov , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-06 02:02+0000\n" -"Last-Translator: Stanislav Yuliyanov \n" +"PO-Revision-Date: 2026-01-21 18:58+0000\n" +"Last-Translator: Vladimir Kirov \n" "Language-Team: Bulgarian \n" "Language: bg\n" @@ -41,14 +42,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "Добре" +msgid "Failed" +msgstr "Неуспешно" + +msgid "Unavailable" +msgstr "Неналично" + +msgid "Unconfigured" +msgstr "Ненастроено" + +msgid "Unauthorized" +msgstr "Неоторизирано" + +msgid "Parameter out of range" +msgstr "Параметър извън граници" + +msgid "Out of memory" +msgstr "Липса на свободна памет" + +msgid "File not found" +msgstr "Не е намерен файл" + +msgid "File: Bad drive" +msgstr "Файл: Неизправно устройство" + +msgid "File: Bad path" +msgstr "Файл: Неправилен път" + +msgid "File: Permission denied" +msgstr "Файл: Достъп отказан" + +msgid "File already in use" +msgstr "Файлът вече се използва" + +msgid "Can't open file" +msgstr "Файлът не може да бъде отворен" + +msgid "Can't write file" +msgstr "Файлът не може да бъде записан" + +msgid "Can't read file" +msgstr "Файлът не може да бъде прочетен" + +msgid "File unrecognized" +msgstr "Файлът не може да бъде разпознат" + +msgid "File corrupt" +msgstr "Файлът е повреден" + +msgid "Missing dependencies for file" +msgstr "Липсват зависимости за файл" + +msgid "End of file" +msgstr "Край на файл" + +msgid "Can't open" +msgstr "Не може да се отвори" + +msgid "Can't create" +msgstr "Не може да се създаде" + +msgid "Query failed" +msgstr "Заявката беше неуспешна" + +msgid "Already in use" +msgstr "Вече се използва" + msgid "Locked" msgstr "Заключено" +msgid "Timeout" +msgstr "Срок" + +msgid "Can't connect" +msgstr "Не може да се осъществи връзка" + +msgid "Can't resolve" +msgstr "Действието не може да се извърши" + +msgid "Connection error" +msgstr "Грешка при свързване" + +msgid "Can't acquire resource" +msgstr "Ресурсът не може да бъде достъпен" + +msgid "Can't fork" +msgstr "Не може да се пусне отделен процес" + +msgid "Invalid data" +msgstr "Неправилни данни" + +msgid "Invalid parameter" +msgstr "Неправилен параметър" + +msgid "Already exists" +msgstr "Вече съществува" + +msgid "Does not exist" +msgstr "Не съществува" + +msgid "Can't read database" +msgstr "Базата не може да бъде прочетена" + +msgid "Can't write database" +msgstr "Базата не може да бъде записана" + +msgid "Compilation failed" +msgstr "Компилирането е неуспешно" + +msgid "Method not found" +msgstr "Методът не е намерен" + +msgid "Link failed" +msgstr "Свързването неуспешно" + +msgid "Script failed" +msgstr "Изпълнението на скрипта е неуспешно" + +msgid "Cyclic link detected" +msgstr "Засечена е циклична връзка" + +msgid "Invalid declaration" +msgstr "Неправилно деклариране" + +msgid "Duplicate symbol" +msgstr "Дублиран символ" + +msgid "Parse error" +msgstr "Грешка при обработка" + +msgid "Busy" +msgstr "Зает" + +msgid "Skip" +msgstr "Пропусни" + +msgid "Help" +msgstr "Помощ" + +msgid "Bug" +msgstr "Бъг" + +msgid "Printer on fire" +msgstr "Принтера гори" + msgid "unset" msgstr "незададен" @@ -930,7 +1072,6 @@ msgid "" msgstr "" "Избраният файл е импортирана сцена от 3D модел като glTF или FBX. \n" "\n" -"\n" "В Godot 3D моделите могат да се импортират като сцени или библиотеки с " "анимации, затова се показват тук. \n" "\n" diff --git a/editor/translations/editor/ca.po b/editor/translations/editor/ca.po index b8dcadc51e56..427c73a0cc2f 100644 --- a/editor/translations/editor/ca.po +++ b/editor/translations/editor/ca.po @@ -36,13 +36,14 @@ # Santiago Peralta , 2025. # "A Thousand Ships (she/her)" , 2025. # marc-marcos , 2026. +# "Drussentis@gmail.com" , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-08 18:01+0000\n" -"Last-Translator: marc-marcos \n" +"PO-Revision-Date: 2026-01-25 00:39+0000\n" +"Last-Translator: \"Drussentis@gmail.com\" \n" "Language-Team: Catalan \n" "Language: ca\n" @@ -50,14 +51,101 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "D'acord" +msgid "Unconfigured" +msgstr "Desconfigurat" + +msgid "File not found" +msgstr "Fitxer no trobat" + +msgid "File: Permission denied" +msgstr "Fitxer: Permís denegat" + +msgid "Can't open file" +msgstr "No s'ha pogut obrir el fitxer:" + +msgid "Can't write file" +msgstr "No es pot escriure al fitxer" + +msgid "Can't read file" +msgstr "No es pot llegir el fitxer" + +msgid "File unrecognized" +msgstr "Fitxer no reconegut" + +msgid "Missing dependencies for file" +msgstr "Manquen dependències per al fitxer" + +msgid "End of file" +msgstr "Fi del fitxer" + +msgid "Can't open" +msgstr "No es pot obrir" + +msgid "Can't create" +msgstr "No es pot crear" + +msgid "Query failed" +msgstr "Ha fallat la consulta" + +msgid "Locked" +msgstr "Bloquejat" + +msgid "Timeout" +msgstr "Temps d'espera" + +msgid "Can't connect" +msgstr "No es pot connectar" + +msgid "Can't resolve" +msgstr "No es pot resoldre" + +msgid "Connection error" +msgstr "Error de connexió" + +msgid "Invalid data" +msgstr "Dades invàlides" + +msgid "Invalid parameter" +msgstr "Paràmetre no vàlid" + +msgid "Already exists" +msgstr "Ja existeix" + +msgid "Does not exist" +msgstr "No existeix" + +msgid "Can't read database" +msgstr "No es pot llegir la base de dades" + +msgid "Compilation failed" +msgstr "Compilació fallada" + +msgid "Method not found" +msgstr "Mètode no trobat" + +msgid "Cyclic link detected" +msgstr "Enllaç cíclic detectat" + +msgid "Invalid declaration" +msgstr "Declaració invàlida" + +msgid "Busy" +msgstr "Ocupat" + msgid "Help" msgstr "Ajuda" +msgid "Bug" +msgstr "Error" + +msgid "Printer on fire" +msgstr "Impressora en flames" + msgid "unset" msgstr "Sense establir" diff --git a/editor/translations/editor/cs.po b/editor/translations/editor/cs.po index c4cdeff80441..67ae9e1e1a2e 100644 --- a/editor/translations/editor/cs.po +++ b/editor/translations/editor/cs.po @@ -18306,14 +18306,6 @@ msgstr "" "Chcete-li tento problém vyřešit, nastavte filtr myši na \"Stop\" nebo " "\"Pass\"." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Mějte prosím na mysli, že GraphEdit a GraphNode projdou v budoucí verzi 4.x " -"rozsáhlým refaktoringem, který zahrnuje změny API narušující kompatibilitu." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/de.po b/editor/translations/editor/de.po index b4c0ffb1dae9..ca89a9774f4c 100644 --- a/editor/translations/editor/de.po +++ b/editor/translations/editor/de.po @@ -101,7 +101,7 @@ # Janosch Lion , 2023. # aligator , 2023. # Benedikt Wicklein , 2023. -# Wuzzy , 2023, 2024, 2025. +# Wuzzy , 2023, 2024, 2025, 2026. # marv1nb , 2023. # Joshiy13 , 2023. # Emil Krebs , 2023. @@ -136,8 +136,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-01 16:11+0000\n" -"Last-Translator: Marek J \n" +"PO-Revision-Date: 2026-01-14 10:15+0000\n" +"Last-Translator: Wuzzy \n" "Language-Team: German \n" "Language: de\n" @@ -145,17 +145,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2-dev\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Fehlgeschlagen" + +msgid "Unavailable" +msgstr "Nicht verfügbar" + +msgid "Unconfigured" +msgstr "Nicht konfiguriert" + +msgid "Unauthorized" +msgstr "Nicht authorisiert" + +msgid "Parameter out of range" +msgstr "Parameter außerhalb des Wertebereichs" + +msgid "Out of memory" +msgstr "Kein Speicher mehr" + +msgid "File not found" +msgstr "Datei nicht gefunden" + +msgid "File: Bad drive" +msgstr "Datei: Schlechtes Laufwerk" + +msgid "File: Bad path" +msgstr "Datei: Schlechter Pfad" + +msgid "File: Permission denied" +msgstr "Datei: Erlaubnis verweigert" + +msgid "File already in use" +msgstr "Datei wird bereits benutzt" + +msgid "Can't open file" +msgstr "Datei kann nicht geöffnet werden" + +msgid "Can't write file" +msgstr "Datei kann nicht geschrieben werden" + +msgid "Can't read file" +msgstr "Datei kann nicht gelesen werden" + +msgid "File unrecognized" +msgstr "Datei nicht erkannt" + +msgid "File corrupt" +msgstr "Datei kaputt" + +msgid "Missing dependencies for file" +msgstr "Fehlende Abhängigkeiten für Datei" + +msgid "End of file" +msgstr "Ende der Datei" + +msgid "Can't open" +msgstr "Kann nicht öffnen" + +msgid "Can't create" +msgstr "Kann nicht erstellen" + +msgid "Query failed" +msgstr "Anfrage fehlgeschlagen" + +msgid "Already in use" +msgstr "Bereits in Benutzung" + msgid "Locked" msgstr "Gesperrt" +msgid "Timeout" +msgstr "Zeitüberschreitung" + +msgid "Can't connect" +msgstr "Kann nicht verbinden" + +msgid "Can't resolve" +msgstr "Kann nicht auflösen" + +msgid "Connection error" +msgstr "Verbindungsfehler" + +msgid "Can't acquire resource" +msgstr "Ressource kann nicht beschafft werden" + +msgid "Can't fork" +msgstr "Kann nicht forken" + +msgid "Invalid data" +msgstr "Ungültige Daten" + +msgid "Invalid parameter" +msgstr "Ungültiger Parameter" + +msgid "Already exists" +msgstr "Existiert bereits" + +msgid "Does not exist" +msgstr "Existiert nicht" + +msgid "Can't read database" +msgstr "Kann Datenbank nicht lesen" + +msgid "Can't write database" +msgstr "Kann Datenbank nicht schreiben" + +msgid "Compilation failed" +msgstr "Kompilierung fehlgeschlagen" + +msgid "Method not found" +msgstr "Methode nicht gefunden" + +msgid "Link failed" +msgstr "Verbindung fehlgeschlagen" + +msgid "Script failed" +msgstr "Skript fehlgeschlagen" + +msgid "Cyclic link detected" +msgstr "Zyklische Verbindung erkannt" + +msgid "Invalid declaration" +msgstr "Ungültige Deklaration" + +msgid "Duplicate symbol" +msgstr "Dupliziertes Symbol" + +msgid "Parse error" +msgstr "Parse-Fehler" + +msgid "Busy" +msgstr "Beschäftigt" + +msgid "Skip" +msgstr "Überspringen" + msgid "Help" msgstr "Hilfe" +msgid "Bug" +msgstr "Fehler" + +msgid "Printer on fire" +msgstr "Drucker brennt" + msgid "unset" msgstr "nicht gesetzt" @@ -1619,6 +1757,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Gespiegelt" +msgid "Handle mode: %s" +msgstr "Griffmodus: %s" + msgid "Stream:" msgstr "Stream:" @@ -6767,6 +6908,12 @@ msgstr "Abhängigkeiteneditor" msgid "Owners of: %s (Total: %d)" msgstr "Besitzer von: %s (Insgesamt: %d)" +msgid "No owners found for: %s" +msgstr "Keine Eigentümer gefunden für: %s" + +msgid "Owners List" +msgstr "Eigentümerliste" + msgid "Localization remap" msgstr "Lokalisierungs-Neuzuweisung" @@ -7172,6 +7319,9 @@ msgstr "Ressource auswählen" msgid "Select Scene" msgstr "Szene auswählen" +msgid "Recursion detected, Instant Preview failed." +msgstr "Rekursion erkannt, Sofortvorschau fehlgeschlagen." + msgid "Instant Preview" msgstr "Sofortvorschau" @@ -11776,6 +11926,24 @@ msgstr "" "Dieser Debug-Zeichenmodus wird nur unterstützt, wenn der Forward+-Renderer " "benutzt wird." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Größe: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Objekte: %d" + +msgid "Primitives: %d" +msgstr "Primitiven: %d" + msgid "Draw Calls: %d" msgstr "Zeichenaufrufe: %d" @@ -11950,6 +12118,16 @@ msgstr "" msgid "SDFGI Probes" msgstr "SDFGI-Probes" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Ein SDFGI-Probe linksklicken, um seine Occlusion-Information anzuzeigen (weiß " +"= nicht verdeckt, rot = vollständig verdeckt).\n" +"Erfordert, dass SDFGI in der Environment aktiviert wurde, um einen sichtbaren " +"Effekt zu haben." + msgid "Scene Luminance" msgstr "Szenenluminanz" @@ -13231,6 +13409,9 @@ msgstr "Auswahl zentrieren" msgid "Frame Selection" msgstr "Frame-Auswahl" +msgid "Auto Resample CanvasItems" +msgstr "CanvasItems automatisch samplen" + msgid "Preview Canvas Scale" msgstr "Vorschau Canvas-Skalierung" @@ -14300,7 +14481,7 @@ msgid "Check Item" msgstr "Checkbox Element" msgid "Checked Item" -msgstr "Markiertes Checkbox Element" +msgstr "Abgehaktes Element" msgid "Radio Item" msgstr "Auswahlelement" @@ -19102,6 +19283,18 @@ msgstr "ObjectDB-Referenzen + native Referenzen" msgid "Cycles detected in the ObjectDB" msgstr "Erkannte Zyklen in der ObjectDB" +msgid "Native References: %d" +msgstr "Native Referenzen: %d" + +msgid "ObjectDB References: %d" +msgstr "ObjectDB-Referenzen: %d" + +msgid "Total References: %d" +msgstr "Referenzen gesamt: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "ObjectDB-Zyklen: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]ObjectDB-Referenzen[center]" @@ -19168,6 +19361,27 @@ msgstr "Objekte gesamt:" msgid "Total Nodes:" msgstr "Nodes gesamt:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Mehrere Root-Nodes ([i](möglicher Aufruf von ‚remove_child‘ ohne ‚queue_free‘)" +"[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"RefCounted-Objekte, die nur in Zyklen referenziert werden [i](Zyklen weisen " +"oft auf Memory-Leaks hin)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Geskriptete Objekte, die von keinen anderen Objekten referenziert werden [i]" +"(unreferenzierte Objekte können auf ein Memory-Leak hinweisen)[/i]" + msgid "Generating Snapshot" msgstr "Snapshot erzeugen" @@ -19350,7 +19564,9 @@ msgid "Edit binding modifiers" msgstr "Zuweisungsmodifizierer bearbeiten" msgid "Note: This interaction profile requires extension %s support." -msgstr "Hinweis: Dieses Interaktionsprofil benötigt die Erweiterung %s." +msgstr "" +"Hinweis: Dieses Interaktionsprofil benötigt Unterstützung für die Erweiterung " +"%s." msgid "Add binding" msgstr "Zuweisung hinzufügen" @@ -21447,6 +21663,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D benötigt ein XRCamera3D-Child-Node." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Die Skalierung des XROrigin3D-Nodes wird nicht unterstützt. Stattdessen " +"sollte die Weltskalierung geändert werden." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21549,15 +21772,6 @@ msgstr "%s kann hier abgelegt werden. %s zum Ablegen, %s zum Abbrechen." msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s kann hier nicht abgelegt werden. %s zum Abbrechen." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Bitte beachten, dass GraphEdit und GraphNode starker Restrukturierung in " -"einer zukünftigen Version 4.x unterzogen werden, was kompatibilitätsbrechende " -"Änderungen der API mit sich bringen kann." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21607,6 +21821,9 @@ msgstr "" "Verwenden Sie einen Container als Child-Element (VBox, HBox, etc.) oder ein " "Control und legen Sie die benutzerdefinierte Mindestgröße manuell fest." +msgid "Drag to resize" +msgstr "Ziehen, um Größe anzupassen" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21994,6 +22211,26 @@ msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "" "Varying ‚%s‘ darf in diesem Kontext nicht als Parameter ‚%s‘ übergeben werden." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Ein Multiview-Textur-Sampler kann nicht als Parameter an eine " +"benutzerdefinierte Funktion übergeben werden. Es wird empfohlen, in der Main-" +"Funktion zu samplen und anschließend das Vektor-Ergebnis an die " +"benutzerdefinierte Funktion zu übergeben." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Ein RADIANCE-Textur-Sampler kann nicht als Parameter an eine " +"benutzerdefinierte Funktion übergeben werden. Es wird empfohlen, in der Main-" +"Funktion zu samplen und anschließend das Vektorergebnis an die " +"benutzerdefinierte Funktion zu übergeben." + msgid "Unknown identifier in expression: '%s'." msgstr "Unbekannter Bezeichner in Ausdruck: ‚%s‘." diff --git a/editor/translations/editor/el.po b/editor/translations/editor/el.po index e09e9a0727f3..78f00cb1cc00 100644 --- a/editor/translations/editor/el.po +++ b/editor/translations/editor/el.po @@ -33,13 +33,14 @@ # Giannis Krommydas , 2025. # Dimitris Kapsacheilis , 2025. # "A Thousand Ships (she/her)" , 2025. +# Durondal , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-10-13 10:07+0000\n" -"Last-Translator: \"A Thousand Ships (she/her)\" \n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" +"Last-Translator: Durondal \n" "Language-Team: Greek \n" "Language: el\n" @@ -47,14 +48,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.14-dev\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Εντάξει" +msgid "Failed" +msgstr "Απέτυχε" + +msgid "Unavailable" +msgstr "Μη διαθέσιμο" + +msgid "Unconfigured" +msgstr "Μη διαμορφωμένο" + +msgid "Unauthorized" +msgstr "Μη εξουσιοδοτημένο" + +msgid "Parameter out of range" +msgstr "Παράμετρος εκτός εύρους" + +msgid "Out of memory" +msgstr "Εξαντλημένη μνήμη" + +msgid "File not found" +msgstr "Το αρχείο δεν βρέθηκε" + +msgid "File: Bad drive" +msgstr "Αρχείο: Μη έγκυρη μονάδα δίσκου" + +msgid "File: Bad path" +msgstr "Αρχείο: Μη έγκυρη διαδρομή" + +msgid "File: Permission denied" +msgstr "Αρχείο: Δεν επιτρέπεται η πρόσβαση" + +msgid "File already in use" +msgstr "Το αρχείο χρησιμοποιείται ήδη" + +msgid "Can't open file" +msgstr "Δεν είναι δυνατό το άνοιγμα του αρχείου" + +msgid "Can't write file" +msgstr "Δεν είναι δυνατή η εγγραφή στο αρχείο" + +msgid "Can't read file" +msgstr "Δεν είναι δυνατή η ανάγνωση του αρχείου" + +msgid "File unrecognized" +msgstr "Το αρχείο δεν αναγνωρίζεται" + +msgid "File corrupt" +msgstr "Το αρχείο είναι κατεστραμμένο" + +msgid "Missing dependencies for file" +msgstr "Λείπουν εξαρτήσεις για το αρχείο" + +msgid "End of file" +msgstr "Τέλος αρχείου" + +msgid "Can't open" +msgstr "Δεν είναι δυνατό το άνοιγμα" + +msgid "Can't create" +msgstr "Δεν είναι δυνατή η δημιουργία" + +msgid "Query failed" +msgstr "Το ερώτημα απέτυχε" + +msgid "Already in use" +msgstr "Ήδη σε χρήση" + +msgid "Locked" +msgstr "Κλειδωμένο" + +msgid "Timeout" +msgstr "Λήξη χρονικού ορίου" + +msgid "Can't connect" +msgstr "Δεν είναι δυνατή η σύνδεση" + +msgid "Can't resolve" +msgstr "Δεν είναι δυνατή η επίλυση" + +msgid "Connection error" +msgstr "Σφάλμα σύνδεσης" + +msgid "Can't acquire resource" +msgstr "Δεν είναι δυνατή η απόκτηση πόρου" + +msgid "Can't fork" +msgstr "Δεν είναι δυνατή η δημιουργία διεργασίας" + +msgid "Invalid data" +msgstr "Μη έγκυρα δεδομένα" + +msgid "Invalid parameter" +msgstr "Μη έγκυρη παράμετρος" + +msgid "Already exists" +msgstr "Υπάρχει ήδη" + +msgid "Does not exist" +msgstr "Δεν υπάρχει" + +msgid "Can't read database" +msgstr "Δεν είναι δυνατή η ανάγνωση της βάσης δεδομένων" + +msgid "Can't write database" +msgstr "Δεν είναι δυνατή η εγγραφή στη βάση δεδομένων" + +msgid "Compilation failed" +msgstr "Αποτυχία μεταγλώττισης" + +msgid "Method not found" +msgstr "Δεν βρέθηκε η μέθοδος" + +msgid "Link failed" +msgstr "Αποτυχία σύνδεσης" + +msgid "Script failed" +msgstr "Αποτυχία εκτέλεσης σεναρίου" + +msgid "Cyclic link detected" +msgstr "Εντοπίστηκε κυκλική σύνδεση" + +msgid "Invalid declaration" +msgstr "Μη έγκυρη δήλωση" + +msgid "Duplicate symbol" +msgstr "Διπλό σύμβολο" + +msgid "Parse error" +msgstr "Σφάλμα ανάλυσης" + +msgid "Busy" +msgstr "Απασχολημένο" + +msgid "Skip" +msgstr "Παράλειψη" + msgid "Help" msgstr "Βοήθεια" +msgid "Bug" +msgstr "Σφάλμα" + +msgid "Printer on fire" +msgstr "Ο εκτυπωτής έχει πάρει φωτιά" + msgid "Physical" msgstr "Φυσικό" diff --git a/editor/translations/editor/eo.po b/editor/translations/editor/eo.po index dae85e1bef2d..047d053ded3a 100644 --- a/editor/translations/editor/eo.po +++ b/editor/translations/editor/eo.po @@ -29,7 +29,7 @@ msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2026-01-12 20:12+0000\n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" "Last-Translator: Julián Lacomba \n" "Language-Team: Esperanto \n" @@ -37,7 +37,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Bone" @@ -612,10 +612,10 @@ msgid "Set the blending position within the space." msgstr "Agordi pozicion de transiro en la spacon." msgid "Erase points." -msgstr "Forigi punktojn." +msgstr "Forigi la punktojn." msgid "Enable snap and show grid." -msgstr "Ŝalti kradokapton kaj vidi kradon." +msgstr "Ŝalti kradokapton kaj malkaŝi la kradon." msgid "Blend:" msgstr "Mikso:" @@ -638,6 +638,9 @@ msgstr "Triangulo jam ekzistas." msgid "Add Triangle" msgstr "Aldoni triangulon" +msgid "Change BlendSpace2D Config" +msgstr "Ŝanĝi agordojn de BlendSpace2D" + msgid "Change BlendSpace2D Labels" msgstr "Ŝanĝi etikedojn de BlendSpace2D" @@ -1905,28 +1908,40 @@ msgid "Errors" msgstr "Eraroj" msgid "Main Thread" -msgstr "Ĉefa Fadeno" +msgstr "Ĉefa fadeno" msgid "Bytes:" -msgstr "Bitokoj:" +msgstr "Bajtoj:" + +msgid "Warning:" +msgstr "Averto:" msgid "Stack Trace" msgstr "Stakspuro" +msgid "Delete Breakpoint" +msgstr "Forigi la kontrolpunkton" + +msgid "Delete All Breakpoints in:" +msgstr "Forigi ĉiujn kontrolpunktojn en:" + +msgid "Delete All Breakpoints" +msgstr "Forigi ĉiujn kontrolpunktojn" + msgid "Copy Error" -msgstr "Kopii eraro" +msgstr "Kopii la problemon" msgid "C++ Source" msgstr "C++ Fonto" msgid "Skip Breakpoints" -msgstr "Pasi preter paŭzpunktojn" +msgstr "Pasi preter kontrolpunktoj" msgid "Stack Frames" msgstr "Stakaj Framoj" msgid "Breakpoints" -msgstr "Paŭzpunktoj" +msgstr "Kontrolpunktoj" msgid "Expand All" msgstr "Etendi tuton" @@ -2946,16 +2961,40 @@ msgid "Save before closing?" msgstr "Ĉu konservi ĝin antaŭ ol fermi ĝin?" msgid "%d more files or folders" -msgstr "%d plu dosiero(j) aŭ dosierujo(j)" +msgstr "%d pliaj dosier(uj)oj" msgid "%d more folders" -msgstr "%d plu dosierujo(j)" +msgstr "%d pliaj dosierujoj" msgid "%d more files" -msgstr "%d plu dosiero(j)" +msgstr "%d pliaj dosieroj" msgid "Save & Restart" -msgstr "Konservi kaj rekomenci" +msgstr "Konservi kaj relanĉi" + +msgid "" +"Changing the renderer requires restarting the editor.\n" +"\n" +"Choosing Save & Restart will change the renderer to:\n" +"- Desktop platforms: %s\n" +"- Mobile platforms: %s\n" +"- Web platform: %s" +msgstr "" +"Ŝanĝi la bildigilon postulus restartigi la redaktilon.\n" +"\n" +"Elekti «Konservi kaj relanĉi» ŝanĝos la bildigilon al:\n" +"- Komputilaj platformoj: %s\n" +"- Poŝtelefonaj platformoj: %s\n" +"- Enreta platformo: %s" + +msgid "Forward+" +msgstr "Forward+" + +msgid "Mobile" +msgstr "Poŝtelefonoj" + +msgid "Compatibility" +msgstr "Kongrua plien" msgid "Open Recent" msgstr "Lastaj malfermoj" @@ -2964,7 +3003,13 @@ msgid "Export As..." msgstr "Eksporti kiel..." msgid "Version Control" -msgstr "Versikontrolo" +msgstr "Versi-teno" + +msgid "Create/Override Version Control Metadata..." +msgstr "Krei/anstataŭigi versitenajn metadatenojn..." + +msgid "Version Control Settings..." +msgstr "Versitenaj agordoj..." msgid "Install Android Build Template..." msgstr "Instali Androidan muntadan ŝablonon..." @@ -2975,14 +3020,17 @@ msgstr "Iloj" msgid "Editor Layout" msgstr "Aranĝo de la redaktilo" +msgid "Screenshots are stored in the user data folder (\"user://\")." +msgstr "Ekrankopioj konserviĝas en la uzulan daten-dosierujon (\"user://\")." + msgid "Open Editor Data/Settings Folder" -msgstr "Malfermi datumajn/agordajn dosierujon de la redaktilo" +msgstr "Malfermi la redaktilan agord- kaj daten-dosierujon" msgid "Open Editor Data Folder" -msgstr "Malfermi datumajn dosierujon de la redaktilo" +msgstr "Malfermi la redaktilan daten-dosierujon" msgid "Open Editor Settings Folder" -msgstr "Malfermi agordajn dosierujon de la redaktilo" +msgstr "Malfermi la redaktilan agordo-dosierujon" msgid "Manage Editor Features..." msgstr "Mastrumi eblecojn de la redaktilo..." @@ -2990,6 +3038,21 @@ msgstr "Mastrumi eblecojn de la redaktilo..." msgid "Manage Export Templates..." msgstr "Mastrumi eksportaj ŝablonoj..." +msgid "Main Menu" +msgstr "Ĉefmenuo" + +msgid "Lock Selected Node(s)" +msgstr "Fiksi elektita(j)n nodo(j)n" + +msgid "Unlock Selected Node(s)" +msgstr "Malfiksi elektita(j)n nodo(j)n" + +msgid "Group Selected Node(s)" +msgstr "Grupigi elektita(j)n nodo(j)n" + +msgid "Ungroup Selected Node(s)" +msgstr "Malgrupigi elektita(j)n nodo(j)n" + msgid "Pan View" msgstr "Panoramada vido" @@ -3240,9 +3303,9 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved to " "the system trash or deleted permanently." msgstr "" -"Forigi la elektitajn dosierojn el la projekto? (ne malfareblas)\n" -"Depende de la agordo de via dosiersistemo, la dosierojn aŭ movos al rubujo de " -"la sistemo aŭ forigos ĉiame." +"Ĉu forigi la elektitajn dosierojn el la projekto? (Ne malfareble!)\n" +"Depende de la agordo de via dosiersistemo, la dosieroj aŭ iros al la rubujo " +"de la sistemo aŭ foriĝos por ĉiam." msgid "" "The files being removed are required by other resources in order for them to " @@ -3251,11 +3314,10 @@ msgid "" "Depending on your filesystem configuration, the files will either be moved to " "the system trash or deleted permanently." msgstr "" -"La forigotaj dosieroj estas bezoni de aliaj risurcoj por ke ili eblas " -"funkciadi.\n" -"Forigi ilin iel? (ne malfareblas)\n" -"Depende de la agordo de via dosiersistemo, la dosierojn aŭ movos al rubujo de " -"la sistemo aŭ forigos ĉiame." +"Iuj rimedoj dependas de la forigotaj dosieroj por funkciadi.\n" +"Ĉu egale forigi ilin? (Ne malfareble!)\n" +"Depende de la agordo de via dosiersistemo, la dosieroj aŭ iros al la rubujo " +"de la sistemo aŭ foriĝos por ĉiam." msgid "Cannot remove:" msgstr "Ne eblas forigi ĉi tion:" @@ -3267,7 +3329,7 @@ msgid "Error loading: %s" msgstr "Eraro dum la ŝargo de: %s" msgid "Fix Dependencies" -msgstr "Ripari dependojn" +msgstr "Ripari la dependaĵojn" msgid "Load failed due to missing dependencies:" msgstr "La ŝargo malsukcesis pro manko de dependaĵoj:" diff --git a/editor/translations/editor/es.po b/editor/translations/editor/es.po index 62eea98b6cd5..0d3c274600d1 100644 --- a/editor/translations/editor/es.po +++ b/editor/translations/editor/es.po @@ -14,7 +14,7 @@ # Diego López , 2017. # eon-s , 2018, 2019, 2020. # Gustavo Leon , 2017-2018. -# Javier Ocampos , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. +# Javier Ocampos , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. # Jose Maria Martinez , 2018. # Juan Quiroga , 2017. # Kiji Pixel , 2017. @@ -162,8 +162,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-05 13:02+0000\n" -"Last-Translator: Julián Lacomba \n" +"PO-Revision-Date: 2026-01-15 02:11+0000\n" +"Last-Translator: Javier \n" "Language-Team: Spanish \n" "Language: es\n" @@ -171,19 +171,157 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Aceptar" +msgid "Failed" +msgstr "Error" + +msgid "Unavailable" +msgstr "No disponible" + +msgid "Unconfigured" +msgstr "Sin configurar" + +msgid "Unauthorized" +msgstr "No autorizado" + +msgid "Parameter out of range" +msgstr "Parámetro fuera de rango" + +msgid "Out of memory" +msgstr "Memoria agotada" + +msgid "File not found" +msgstr "Archivo no encontrado" + +msgid "File: Bad drive" +msgstr "Archivo: Unidad defectuosa" + +msgid "File: Bad path" +msgstr "Archivo: Ruta inválida" + +msgid "File: Permission denied" +msgstr "Archivo: Permiso denegado" + +msgid "File already in use" +msgstr "Archivo ya en uso" + +msgid "Can't open file" +msgstr "No se puede abrir el archivo" + +msgid "Can't write file" +msgstr "No se puede escribir el archivo" + +msgid "Can't read file" +msgstr "No se puede leer el archivo" + +msgid "File unrecognized" +msgstr "Archivo no reconocido" + +msgid "File corrupt" +msgstr "Archivo corrupto" + +msgid "Missing dependencies for file" +msgstr "Faltan dependencias para el archivo" + +msgid "End of file" +msgstr "Fin de archivo" + +msgid "Can't open" +msgstr "No se puede abrir" + +msgid "Can't create" +msgstr "No se puede crear" + +msgid "Query failed" +msgstr "Consulta fallida" + +msgid "Already in use" +msgstr "Ya está en uso" + msgid "Locked" msgstr "Bloqueado" +msgid "Timeout" +msgstr "Tiempo de espera agotado" + +msgid "Can't connect" +msgstr "No se puede conectar" + +msgid "Can't resolve" +msgstr "No se puede resolver" + +msgid "Connection error" +msgstr "Error de conexión" + +msgid "Can't acquire resource" +msgstr "No se puede adquirir el recurso" + +msgid "Can't fork" +msgstr "No se puede bifurcar (fork)" + +msgid "Invalid data" +msgstr "Datos no válidos" + +msgid "Invalid parameter" +msgstr "Parámetro no válido" + +msgid "Already exists" +msgstr "Ya existe" + +msgid "Does not exist" +msgstr "No existe" + +msgid "Can't read database" +msgstr "No se puede leer la base de datos" + +msgid "Can't write database" +msgstr "No se puede escribir en la base de datos" + +msgid "Compilation failed" +msgstr "Error de compilación" + +msgid "Method not found" +msgstr "Método no encontrado" + +msgid "Link failed" +msgstr "Fallo al vincular" + +msgid "Script failed" +msgstr "Error en el script" + +msgid "Cyclic link detected" +msgstr "Vínculo cíclico detectado" + +msgid "Invalid declaration" +msgstr "Declaración inválida" + +msgid "Duplicate symbol" +msgstr "Símbolo duplicado" + +msgid "Parse error" +msgstr "Error de análisis" + +msgid "Busy" +msgstr "Ocupado" + +msgid "Skip" +msgstr "Omitir" + msgid "Help" msgstr "Ayuda" +msgid "Bug" +msgstr "Bug" + +msgid "Printer on fire" +msgstr "Impresora en llamas" + msgid "unset" -msgstr "sin establecer" +msgstr "Sin Establecer" msgid "Physical" msgstr "Físico" @@ -417,7 +555,7 @@ msgid "Paste" msgstr "Pegar" msgid "Toggle Tab Focus Mode" -msgstr "Alternar modo foco de pestaña" +msgstr "Act./Desact. Modo de Foco de Pestaña" msgid "Undo" msgstr "Deshacer" @@ -525,7 +663,7 @@ msgid "Clear Carets and Selection" msgstr "Borrar Cursores y Selección" msgid "Toggle Insert Mode" -msgstr "Alternar modo insertar" +msgstr "Act./Desact. Modo de Inserción" msgid "Submit Text" msgstr "Enviar Texto" @@ -624,7 +762,7 @@ msgid "Value:" msgstr "Valor:" msgid "Update Selected Key Handles" -msgstr "Actualizar Manipuladores Clave Elegidos" +msgstr "Actualizar los Manipuladores de Claves Seleccionados" msgid "Insert Key Here" msgstr "Insertar Clave Aquí" @@ -645,22 +783,22 @@ msgid "Delete Selected Key(s)" msgstr "Eliminar Clave(s) Seleccionada(s)" msgid "Make Handles Free" -msgstr "Hacer Manipuladores Libres" +msgstr "Liberar Manipuladores" msgid "Make Handles Linear" -msgstr "Hacer Manipuladores Lineales" +msgstr "Linealizar Manipuladores" msgid "Make Handles Balanced" -msgstr "Hacer Manipuladores Equilibrados" +msgstr "Equilibrar Manipuladores" msgid "Make Handles Mirrored" -msgstr "Hacer Manipuladores Simétricos" +msgstr "Reflejar Manipuladores" msgid "Make Handles Balanced (Auto Tangent)" -msgstr "Hacer Manipuladores balanceados (Tangentes Automáticas)" +msgstr "Equilibrar Manipuladores (Tangente Automática)" msgid "Make Handles Mirrored (Auto Tangent)" -msgstr "Hacer Manipuladores simétricos (Tangentes Automáticas)" +msgstr "Reflejar Manipuladores (Tangente Automática)" msgid "Add Bezier Point" msgstr "Añadir Punto Bezier" @@ -739,6 +877,16 @@ msgstr "Discreto" msgid "Capture" msgstr "Captura" +msgid "" +"Select and move points.\n" +"RMB: Create point at position clicked.\n" +"Shift+LMB+Drag: Set the blending position within the space." +msgstr "" +"Selecciona y mueve puntos.\n" +"Botón Derecho: Crear un punto en la posición seleccionada.\n" +"Shift+Botón Izquierdo+Arrastrar: Establecer la posición de mezcla en el " +"espacio." + msgid "Create points." msgstr "Crear puntos." @@ -884,7 +1032,7 @@ msgid "Delete Node(s)" msgstr "Eliminar Nodo(s)" msgid "Toggle Filter On/Off" -msgstr "Act./Desact. Filtro On/Off" +msgstr "Act./Desact. Filtro" msgid "Change Filter" msgstr "Cambiar Filtro" @@ -1043,6 +1191,31 @@ msgstr "Guardar librería de Animación en Archivo: %s" msgid "Save Animation to File: %s" msgstr "Guardar Animación en Archivo: %s" +msgid "" +"The file you selected is an imported scene from a 3D model such as glTF or " +"FBX.\n" +"\n" +"In Godot, 3D models can be imported as either scenes or animation libraries, " +"which is why they show up here.\n" +"\n" +"If you want to use animations from this 3D model, open the Advanced Import " +"Settings\n" +"dialog and save the animations using Actions... → Set Animation Save Paths,\n" +"or import the whole scene as a single AnimationLibrary in the Import dock." +msgstr "" +"El archivo seleccionado es una escena importada desde un modelo 3D, como glTF " +"o FBX.\n" +"\n" +"En Godot, los modelos 3D se pueden importar como escenas o como bibliotecas " +"de animación, razón por la cual aparecen aquí.\n" +"\n" +"Si quieres usar las animaciones de este modelo 3D, abre el cuadro de diálogo " +"Ajustes de Importación Avanzados\n" +"y guarda las animaciones usando Acciones... → Establecer Rutas de Guardado de " +"Animación,\n" +"o importa la escena completa como una única AnimationLibrary en el Panel de " +"Importación." + msgid "" "The file you selected is not a valid AnimationLibrary.\n" "\n" @@ -1589,10 +1762,10 @@ msgid "Easing:" msgstr "Atenuación:" msgid "In-Handle:" -msgstr "In-Handle:" +msgstr "Manipulador de Entrada:" msgid "Out-Handle:" -msgstr "Mango de Salida:" +msgstr "Manipulador de Salida:" msgctxt "Bezier Handle Mode" msgid "Free" @@ -1608,7 +1781,10 @@ msgstr "Balanceado" msgctxt "Bezier Handle Mode" msgid "Mirrored" -msgstr "Espejo" +msgstr "Reflejados" + +msgid "Handle mode: %s" +msgstr "Modo de Manipulador: %s" msgid "Stream:" msgstr "Transmisión:" @@ -1727,6 +1903,10 @@ msgstr "FPS más cercano: %d" msgid "Bezier Default Mode" msgstr "Modo predeterminado de Bézier" +msgid "Set the default handle mode of new bezier keys." +msgstr "" +"Establece el modo de manipulador por defecto de las nuevas claves Bézier." + msgid "Change Animation Step" msgstr "Cambiar Paso de Animación" @@ -2098,62 +2278,70 @@ msgstr "Tipo de Transición:" msgctxt "Transition Type" msgid "Linear" -msgstr "Lineal" +msgstr "Linear" msgctxt "Transition Type" msgid "Sine" -msgstr "Seno" +msgstr "Sine" msgctxt "Transition Type" msgid "Quint" -msgstr "Quíntica" +msgstr "Quint" msgctxt "Transition Type" msgid "Quart" -msgstr "Cuártica" +msgstr "Quart" msgctxt "Transition Type" msgid "Quad" -msgstr "Cuadrática" +msgstr "Quad" msgctxt "Transition Type" msgid "Expo" -msgstr "Exponencial" +msgstr "Expo" msgctxt "Transition Type" msgid "Elastic" -msgstr "Elástico" +msgstr "Elastic" msgctxt "Transition Type" msgid "Cubic" -msgstr "Cúbica" +msgstr "Cubic" msgctxt "Transition Type" msgid "Circ" -msgstr "Circular" +msgstr "Circ" msgctxt "Transition Type" msgid "Bounce" -msgstr "Rebote" +msgstr "Bounce" msgctxt "Transition Type" msgid "Back" -msgstr "Regreso" +msgstr "Back" msgctxt "Transition Type" msgid "Spring" -msgstr "Resorte" +msgstr "Spring" msgid "Ease Type:" -msgstr "Tipo de Interpolación:" +msgstr "Tipo de Suavizado:" msgctxt "Ease Type" msgid "Ease In" -msgstr "Entrada Suave" +msgstr "Ease In" msgctxt "Ease Type" msgid "Ease Out" -msgstr "Salida Suave" +msgstr "Ease Out" + +msgctxt "Ease Type" +msgid "Ease In-Out" +msgstr "Ease In-Out" + +msgctxt "Ease Type" +msgid "Ease Out-In" +msgstr "Ease Out-In" msgid "FPS:" msgstr "FPS:" @@ -2179,6 +2367,9 @@ msgstr "Seleccionar Todo/Ninguno" msgid "Copy Selection" msgstr "Copiar Selección" +msgid "Key Insertion Error" +msgstr "Error de Inserción de Clave" + msgid "Imported Animation cannot be edited!" msgstr "¡La animación importada no se puede editar!" @@ -2263,6 +2454,9 @@ msgstr "Raíz" msgid "AnimationTree" msgstr "AnimationTree" +msgid "Toggle AnimationTree Dock" +msgstr "Act./Desact. Panel de AnimationTree" + msgid "Path:" msgstr "Ruta:" @@ -2694,6 +2888,9 @@ msgstr "Abrir Layout de Bus de Audio" msgid "Error saving file: %s" msgstr "Error guardando el archivo: %s" +msgid "Toggle Audio Dock" +msgstr "Act./Desact. Panel de Audio" + msgid "Layout:" msgstr "Layout:" @@ -2725,10 +2922,13 @@ msgid "Audio Bus Layout" msgstr "Layout del Bus de Audio" msgid "Step Into" -msgstr "Entrar" +msgstr "Step Into" msgid "Step Over" -msgstr "Saltar Paso" +msgstr "Step Over" + +msgid "Step Out" +msgstr "Step Out" msgid "Break" msgstr "Detener" @@ -2883,6 +3083,9 @@ msgstr "%s Remoto (%d Seleccionado)" msgid "Debugger" msgstr "Depurador" +msgid "Toggle Debugger Dock" +msgstr "Act./Desact. Panel del Depurador" + msgid "Session %d" msgstr "Sesión %d" @@ -2929,6 +3132,9 @@ msgstr "" "Guardar la rama como una escena requiere seleccionar sólo un nodo, pero has " "seleccionado %d nodos." +msgid "Expression to evaluate (Up/Down: Navigate history)" +msgstr "Expresión a evaluar (Arriba/Abajo: Navegar por el historial)" + msgid "Expression to evaluate" msgstr "Expresión para evaluar" @@ -3665,6 +3871,9 @@ msgstr "Cerrar este dock." msgid "This dock can't be closed." msgstr "Este panel no se puede cerrar." +msgid "This dock does not support floating." +msgstr "Este panel no se puede desanclar." + msgid "Make this dock floating." msgstr "Hacer flotante este dock." @@ -4022,6 +4231,9 @@ msgstr "Convertir" msgid "Groups" msgstr "Grupos" +msgid "Open Groups Dock" +msgstr "Abrir Panel de Grupos" + msgid "Scene Groups" msgstr "Grupos Locales" @@ -4399,6 +4611,13 @@ msgstr "" msgid "Save New Scene As..." msgstr "Guardar Nueva Escena Como..." +msgid "" +"Disabling \"Editable Children\" will cause all properties of this subscene's " +"descendant nodes to be reverted to their default." +msgstr "" +"Desactivar \"Hijos Editables\" hará que todas las propiedades de los nodos " +"descendientes de esta subescena se restablezcan a sus valores predeterminados." + msgid "" "Enabling \"Load as Placeholder\" will disable \"Editable Children\" and cause " "all properties of the node to be reverted to their default." @@ -4569,9 +4788,25 @@ msgstr "" msgid "Filter by Type" msgstr "Filtrar por Tipo" +msgid "" +"Selects all Nodes of the given type.\n" +"Inserts \"type:\". You can also use the shorthand \"t:\"." +msgstr "" +"Selecciona todos los nodos del tipo especificado.\n" +"Inserta \"type:\". También puedes usar el atajo \"t:\"." + msgid "Filter by Group" msgstr "Filtrar por Grupo" +msgid "" +"Selects all Nodes belonging to the given group.\n" +"If empty, selects any Node belonging to any group.\n" +"Inserts \"group:\". You can also use the shorthand \"g:\"." +msgstr "" +"Selecciona todos los Nodos que pertenecen al grupo dado.\n" +"Si está vacío, selecciona cualquier Nodo que pertenezca a cualquier grupo.\n" +"Inserta \"group:\". También puedes usar el atajo \"g:\"." + msgid "" "Cannot attach a script: there are no languages registered.\n" "This is probably because this editor was built with all language modules " @@ -4729,6 +4964,9 @@ msgstr "Crear Nuevo %s" msgid "Output" msgstr "Salida" +msgid "Toggle Output Dock" +msgstr "Act./Desact. Panel de Salida" + msgid "Filter Messages" msgstr "Filtrar Mensajes" @@ -4787,11 +5025,11 @@ msgid "" "Note that in order to make gradle builds instead of using pre-built APKs, the " "\"Use Gradle Build\" option should be enabled in the Android export preset." msgstr "" -"Esto configurará tu proyecto para construcciones de Android con Gradle " -"instalando la plantilla de origen en \"%s\".\n" -"Ten en cuenta que para realizar construcciones con Gradle en lugar de usar " -"APKs preconstruidos, la opción \"Usar Construcción de Gradle\" debe estar " -"activada en la preconfiguración de exportación de Android." +"Esto configurará tu proyecto para compilaciones de Android con Gradle " +"mediante la instalación de la plantilla de código fuente en \"%s\".\n" +"Ten en cuenta que para realizar compilaciones con Gradle en lugar de usar " +"APKs precompilados, la opción \"Usar Gradle Build\" debe estar habilitada en " +"el ajuste preestablecido de exportación de Android." msgid "Unnamed Project" msgstr "Proyecto Sin Nombre" @@ -4822,6 +5060,23 @@ msgstr "Los recursos importados no se pueden guardar." msgid "Error saving resource!" msgstr "¡Error al guardar el recurso!" +msgid "" +"The text-based resource at path \"%s\" is large on disk (%s), likely because " +"it has embedded binary data.\n" +"This slows down resource saving and loading.\n" +"Consider saving its binary subresource(s) to a binary `.res` file or saving " +"the resource as a binary `.res` file.\n" +"This warning can be disabled in the Editor Settings (FileSystem > On Save > " +"Warn on Saving Large Text Resources)." +msgstr "" +"El recurso de texto en la ruta \"%s\" es grande en disco (%s), probablemente " +"porque tiene datos binarios incrustados.\n" +"Esto ralentiza el guardado y la carga de recursos.\n" +"Considera guardar sus subrecursos binarios en un archivo binario `.res` o " +"guardar el recurso como un archivo binario `.res`.\n" +"Esta advertencia se puede desactivar en los Ajustes del Editor (Sistema de " +"Archivos > Al Guardar > Advertir al Guardar Recursos de Texto Grandes)." + msgid "" "This resource can't be saved because it was imported from another file. Make " "it unique first." @@ -4897,6 +5152,23 @@ msgstr "" "No se pudo guardar la nueva escena. Las posibles dependencias (instancias) no " "pudieron ser resueltas." +msgid "" +"The text-based scene at path \"%s\" is large on disk (%s), likely because it " +"has embedded binary data.\n" +"This slows down scene saving and loading.\n" +"Consider saving its binary subresource(s) to a binary `.res` file or saving " +"the scene as a binary `.scn` file.\n" +"This warning can be disabled in the Editor Settings (FileSystem > On Save > " +"Warn on Saving Large Text Resources)." +msgstr "" +"La escena de texto en la ruta \"%s\" es grande en disco (%s), probablemente " +"porque tiene datos binarios incrustados.\n" +"Esto ralentiza el guardado y la carga de la escena.\n" +"Considera guardar sus subrecursos binarios en un archivo binario `.res` o " +"guardar la escena como un archivo binario `.scn`.\n" +"Esta advertencia se puede desactivar en los Ajustes del Editor (Sistema de " +"Archivos > Al Guardar > Advertir al Guardar Recursos de Texto Grandes)." + msgid "Save scene before running..." msgstr "Guarda escena antes de ejecutar..." @@ -5583,6 +5855,12 @@ msgstr "Sobre Godot..." msgid "Support Godot Development" msgstr "Apoyar el desarrollo de Godot" +msgid "Open 2D Workspace" +msgstr "Abrir Espacio de Trabajo 2D" + +msgid "Open 3D Workspace" +msgstr "Abrir Espacio de Trabajo 3D" + msgid "Open Script Editor" msgstr "Abrir Editor de Script" @@ -5601,6 +5879,21 @@ msgstr "Abrir Editor anterior" msgid "Project" msgstr "Proyecto" +msgid "" +"Choose a renderer.\n" +"\n" +"Notes:\n" +"- On mobile platforms, the Mobile renderer is used if Forward+ is selected " +"here.\n" +"- On the web platform, the Compatibility renderer is always used." +msgstr "" +"Elige un renderizador.\n" +"\n" +"Notas:\n" +"- En plataformas móviles, se utilizará el renderizador Móvil si se selecciona " +"Forward+ aquí.\n" +"- En la plataforma web, se utilizará siempre el renderizador Compatibilidad." + msgid "Renderer" msgstr "Renderizador" @@ -6431,6 +6724,38 @@ msgstr "" "Filtros para excluir archivos/carpetas del proyecto\n" "(separados por comas, por ejemplo: *.json, *.txt, docs/*)" +msgid "Patching" +msgstr "Parcheo" + +msgid "Enable Delta Encoding" +msgstr "Activar Codificación Delta" + +msgid "Delta Encoding Compression Level" +msgstr "Nivel de Compresión de Codificación Delta" + +msgid "Delta Encoding Minimum Size Reduction" +msgstr "Reducción Mínima de Tamaño de Codificación Delta" + +msgid "Delta Encoding Include Filters" +msgstr "Filtros de Inclusión de Codificación Delta" + +msgid "" +"Filters to include files/folders from being delta-encoded\n" +"(comma-separated, e.g: *.gdc, scripts/*)" +msgstr "" +"Filtros para incluir archivos/carpetas en la codificación delta\n" +"(separados por comas, ej: *.gdc, scripts/*)" + +msgid "Delta Encoding Exclude Filters" +msgstr "Filtros de Exclusión de Codificación Delta" + +msgid "" +"Filters to exclude files/folders from being delta-encoded\n" +"(comma-separated, e.g: *.ctex, textures/*)" +msgstr "" +"Filtros para excluir archivos/carpetas de la codificación delta\n" +"(separados por comas, ej: *.ctex, textures/*)" + msgid "Base Packs:" msgstr "Paquetes Bases:" @@ -6503,6 +6828,13 @@ msgstr "Tokens binarios (carga más rápida)" msgid "Compressed binary tokens (smaller files)" msgstr "Tokens binarios comprimidos (archivos más pequeños)" +msgid "" +"No presets found.\n" +"Create one so that its parameters can be edited here." +msgstr "" +"No se encontraron ajustes predefinidos.\n" +"Crea uno para que sus parámetros puedan editarse aquí." + msgid "Export PCK/ZIP..." msgstr "Exportar PCK/ZIP..." @@ -6553,6 +6885,13 @@ msgstr "Buscar Reemplazo Para: %s" msgid "Dependencies For:" msgstr "Dependencias Para:" +msgid "" +"Scene \"%s\" is currently being edited. Changes will only take effect when " +"reloaded." +msgstr "" +"La Escena \"%s\" se está editando actualmente. Los cambios solo tendrán " +"efecto cuando se recargue." + msgid "Resource \"%s\" is in use. Changes will only take effect when reloaded." msgstr "" "El recurso \"%s\" está en uso. Los cambios no tendrán efecto hasta que " @@ -6573,6 +6912,12 @@ msgstr "Editor de Dependencias" msgid "Owners of: %s (Total: %d)" msgstr "Propietarios de: %s (Total: %d)" +msgid "No owners found for: %s" +msgstr "No se encontraron propietarios para: %s" + +msgid "Owners List" +msgstr "Lista de Propietarios" + msgid "Localization remap" msgstr "Redirección de Localización" @@ -6908,6 +7253,9 @@ msgstr "Contribuidores de Godot" msgid "Double-click to open in browser." msgstr "Haz doble clic para abrir en el navegador." +msgid "No distractions for this, close that game first." +msgstr "Sin distracciones para esto, cierra ese juego primero." + msgid "Thanks from the Godot community!" msgstr "¡Muchas gracias de parte de la comunidad de Godot!" @@ -6975,9 +7323,16 @@ msgstr "Seleccionar Recurso" msgid "Select Scene" msgstr "Seleccionar Escena" +msgid "Recursion detected, Instant Preview failed." +msgstr "Recursión detectada, la Vista Previa Instantánea falló." + msgid "Instant Preview" msgstr "Vista Previa Instantánea" +msgid "Selected resource will be previewed in the editor before accepting." +msgstr "" +"El recurso seleccionado se previsualizará en el editor antes de aceptar." + msgid "Fuzzy Search" msgstr "Búsqueda Flexible" @@ -7104,6 +7459,9 @@ msgstr "" msgid "Error opening scene" msgstr "Error al abrir la escena" +msgid "Advanced Import Settings for %s '%s'" +msgstr "Ajustes de Importación Avanzados para %s '%s'" + msgid "Select folder to extract material resources" msgstr "Selecciona una carpeta para extraer los recursos de material" @@ -7902,6 +8260,24 @@ msgstr[1] "Este %s se usa en %d lugares." msgid "This %s is external to scene." msgstr "Este %s es exterior a la escena." +msgid "" +"The %s cannot be edited in the inspector and can't be made unique directly." +msgstr "" +"El %s no se puede editar en el inspector y no se puede hacer único " +"directamente." + +msgid "Left-click to make it unique." +msgstr "Clic-izquierdo para hacerlo único." + +msgid "It is possible to make its subresources unique." +msgstr "Es posible hacer únicos sus subrecursos." + +msgid "Right-click to make them unique." +msgstr "Haz clic derecho para hacerlos únicos." + +msgid "In order to duplicate it, make its parent Resource unique." +msgstr "Para poder duplicarlo, haz único su Recurso padre." + msgid "" "The selected resource (%s) does not match any type expected for this property " "(%s)." @@ -7920,9 +8296,26 @@ msgstr "" msgid "Inspect" msgstr "Inspeccionar" +msgid "" +"Hold %s while drag-and-dropping from the FileSystem dock or another resource " +"picker to automatically make a dropped resource unique." +msgstr "" +"Mantén %s mientras arrastras y sueltas desde el panel del Sistema de Archivos " +"u otro selector de recursos para hacer único automáticamente un recurso " +"soltado." + +msgid "This Resource is already unique." +msgstr "Este Recurso ya es único." + msgid "Make Unique (Recursive)" msgstr "Hacer Único (Recursivo)" +msgid "In order to duplicate recursively, make its parent Resource unique." +msgstr "Para poder duplicar recursivamente, haz único su Recurso padre." + +msgid "Subresources have already been made unique." +msgstr "Los subrecursos ya se han hecho únicos." + msgid "Paste as Unique" msgstr "Pegar como Único" @@ -7938,6 +8331,9 @@ msgstr "Duplicar recursos" msgid "New" msgstr "Nuevo" +msgid "Number of Linked Resources." +msgstr "Número de Recursos Vinculados." + msgid "Assign Resource" msgstr "Asignar Recurso" @@ -7992,6 +8388,11 @@ msgstr "Seleccionar Método Virtual" msgid "Select Method" msgstr "Seleccionar Método" +msgid "The assigned tool button callback can't be used with multiple nodes." +msgstr "" +"El callback del botón de herramienta asignado no se puede usar con múltiples " +"nodos." + msgid "" "Name: %s\n" "Path: %s\n" @@ -8041,6 +8442,14 @@ msgstr "" "La extensión del script debe coincidir con la extensión del idioma elegido (." "%s)." +msgid "" +"Consider enabling GDScript warnings for this plugin by adding an entry for it " +"to the project setting Debug > GDScript > Warnings > Directory Rules." +msgstr "" +"Considera activar las advertencias de GDScript para este plugin añadiendo una " +"entrada para él en el ajuste del proyecto Depuración > GDScript > " +"Advertencias > Reglas de Directorio." + msgid "Edit a Plugin" msgstr "Editar Plugin" @@ -8218,6 +8627,9 @@ msgstr "" "La ruta seleccionada no está vacía. Lo más recomendable es elegir una carpeta " "vacía." +msgid "Cannot duplicate a project into itself." +msgstr "No se puede duplicar un proyecto dentro de sí mismo." + msgid "New Game Project" msgstr "Nuevo Proyecto de Juego" @@ -8397,6 +8809,9 @@ msgstr "Escaneando proyectos…" msgid "Missing Project" msgstr "Proyecto Faltante" +msgid "Open in Editor (Verbose Mode)" +msgstr "Abrir en el Editor (Modo Detallado)" + msgid "Open in Editor (Recovery Mode)" msgstr "Abrir en Editor (Modo de Recuperación)" @@ -8685,6 +9100,11 @@ msgid "Tag name can't begin or end with underscore." msgstr "" "El nombre de la etiqueta no puede comenzar ni terminar con un guión bajo." +msgid "Tag name can't contain consecutive underscores or spaces." +msgstr "" +"El nombre de la etiqueta no puede contener espacios o guiones bajos " +"consecutivos." + msgid "These characters are not allowed in tags: %s." msgstr "Estos caracteres no están permitidos en las etiquetas: %s." @@ -8839,6 +9259,9 @@ msgstr "Las etiquetas se capitalizan automáticamente cuando se muestran." msgid "New Tag Name" msgstr "Nuevo Nombre de Etiqueta" +msgid "example_tag (will display as Example Tag)" +msgstr "example_tag (se mostrará como Etiqueta de Ejemplo)" + msgid "Create Tag" msgstr "Crear Etiqueta" @@ -8875,6 +9298,9 @@ msgstr "Buscar Actualizaciones" msgid "Directory Naming Convention" msgstr "Convención de Nomenclatura de Directorios" +msgid "Edit All Settings" +msgstr "Editar Todos los Ajustes" + msgid "" "Settings changed! The project manager must be restarted for changes to take " "effect." @@ -8925,9 +9351,24 @@ msgstr "Actualizando Recursos del Proyecto" msgid "Re-saving resource:" msgstr "Guardando recurso de nuevo:" +msgid "Run the project's main scene." +msgstr "Ejecutar la escena principal del proyecto." + +msgid "Play the currently edited scene." +msgstr "Reproducir la escena editada actualmente." + msgid "Play a custom scene." msgstr "Reproducir escena personalizada." +msgid "Reload the played scene that was being edited." +msgstr "Recargar la escena reproducida que se estaba editando." + +msgid "Reload the played custom scene." +msgstr "Recargar la escena personalizada reproducida." + +msgid "Reload the played main scene." +msgstr "Recargar la escena principal reproducida." + msgid "" "Movie Maker mode is enabled, but no movie file path has been specified.\n" "A default movie file path can be specified in the project settings under the " @@ -9154,6 +9595,11 @@ msgid "Game embedding not available in single window mode." msgstr "" "La incrustación de juegos no está disponible en el modo de ventana única." +msgid "Game embedding not available when the game starts in headless mode." +msgstr "" +"La incrustación del juego no está disponible cuando el juego se inicia en " +"modo headless." + msgid "Unmute game audio." msgstr "Activar audio del juego." @@ -9168,9 +9614,22 @@ msgstr "" msgid "Suspend" msgstr "Suspender" +msgid "" +"Force pause at SceneTree level. Stops all processing, but you can still " +"interact with the project." +msgstr "" +"Forzar pausa al nivel de SceneTree. Detiene todo el procesamiento, pero aún " +"puedes interactuar con el proyecto." + +msgid "Change the game speed." +msgstr "Cambiar la velocidad del juego." + msgid "Speed State" msgstr "Estado de Velocidad" +msgid "Reset the game speed." +msgstr "Restablecer la velocidad del juego." + msgid "Reset Speed" msgstr "Restablecer Velocidad" @@ -9202,6 +9661,12 @@ msgstr "Act./Desact. Visibilidad de la Selección" msgid "Selection Options" msgstr "Opciones de Selección" +msgid "Don't Select Locked Nodes" +msgstr "No Seleccionar Nodos Bloqueados" + +msgid "Select Group Over Children" +msgstr "Seleccionar Grupo Sobre Hijos" + msgid "Override the in-game camera." msgstr "Anular la cámara del juego." @@ -9230,6 +9695,9 @@ msgid "Make Game Workspace Floating on Next Play" msgstr "" "Hacer que el Espacio de Trabajo del Juego Flote en la Próxima Reproducción" +msgid "Embedded Window Sizing" +msgstr "Tamaño de Ventana Incrustada" + msgid "Fixed Size" msgstr "Tamaño Fijo" @@ -9242,9 +9710,15 @@ msgstr "" "El modo \"Mantener aspecto\" se utiliza cuando el espacio de trabajo del " "juego es más pequeño que el tamaño deseado." +msgid "Keep Aspect Ratio" +msgstr "Mantener Relación de Aspecto" + msgid "Keep the aspect ratio of the embedded game." msgstr "Mantén la relación de aspecto del juego integrado." +msgid "Stretch to Fit" +msgstr "Estirar para Ajustar" + msgid "Embedded game size stretches to fit the Game Workspace." msgstr "" "El tamaño del juego incrustado se estira para ajustarse al Espacio de Trabajo " @@ -9388,6 +9862,9 @@ msgstr "Textura de Dirección" msgid "Centered" msgstr "Centrado" +msgid "Copy Color from Mask Texture" +msgstr "Copiar Color de la Textura de Máscara" + msgid "Generating Visibility Rect (Waiting for Particle Simulation)" msgstr "" "Generando Rectángulo de Visibilidad (Esperando la Simulación de Partículas)" @@ -9398,6 +9875,28 @@ msgstr "Generando..." msgid "Loading emission mask requires ParticleProcessMaterial." msgstr "Cargar máscara de emisión requiere ParticleProcessMaterial." +msgid "Failed to load mask texture." +msgstr "Fallo al cargar la textura de máscara." + +msgid "Failed to convert mask texture to RGBA8." +msgstr "Fallo al convertir la textura de máscara a RGBA8." + +msgid "Mask texture has an invalid size." +msgstr "La textura de máscara tiene un tamaño no válido." + +msgid "Failed to load direction texture." +msgstr "Fallo al cargar la textura de dirección." + +msgid "Failed to convert direction texture to RGBA8." +msgstr "Fallo al convertir la textura de dirección a RGBA8." + +msgid "" +"Direction texture has an invalid size. It must have the same size as the mask " +"texture." +msgstr "" +"La textura de dirección tiene un tamaño no válido. Debe tener el mismo tamaño " +"que la textura de máscara." + msgid "GPUParticles2D" msgstr "GPUParticles2D" @@ -9486,10 +9985,10 @@ msgid "Remove all curve points?" msgstr "¿Eliminar Todos los Puntos de Ruptura?" msgid "Mirror Handle Angles" -msgstr "Manipulador de Ángulos de Espejo" +msgstr "Reflejar Ángulos de los Manipuladores" msgid "Mirror Handle Lengths" -msgstr "Manipulador de Tamaño de Espejo" +msgstr "Reflejar Longitudes de los Manipuladores" msgid "Create Curve" msgstr "Crear Curva" @@ -9498,7 +9997,7 @@ msgid "Set Target Position" msgstr "Establecer Posición del Objetivo" msgid "Set Handle" -msgstr "Establecer Manipulador" +msgstr "Definir Manipulador" msgid "" "The skeleton property of the Polygon2D does not point to a Skeleton2D node" @@ -9547,6 +10046,9 @@ msgstr "Pintar Peso de Huesos" msgid "Polygon" msgstr "Polígono" +msgid "Toggle Polygon Dock" +msgstr "Act./Desact. Panel de Polígono" + msgid "Points" msgstr "Puntos" @@ -10087,6 +10589,9 @@ msgstr "" msgid "TileMap" msgstr "TileMap" +msgid "Open TileMap Dock" +msgstr "Abrir Panel de TileMap" + msgid "Select Next Tile Map Layer" msgstr "Seleccionar Siguiente Capa del Mapa de Tiles" @@ -10565,6 +11070,9 @@ msgstr "Añadir fuente de atlas" msgid "TileSet" msgstr "TileSet" +msgid "Open TileSet Dock" +msgstr "Abrir Panel de TileSet" + msgid "Tile Sources" msgstr "Fuentes de Tile" @@ -10657,6 +11165,13 @@ msgstr "Herramienta de Borrador" msgid "Picker Tool" msgstr "Herramienta de Selección" +msgid "" +"Source ID: %d\n" +"Texture path: %s" +msgstr "" +"ID de origen: %d\n" +"Ruta de la textura: %s" + msgid "Source ID: %d" msgstr "IDF de Origen: %d" @@ -10881,6 +11396,27 @@ msgstr "No se pudo crear una forma de colisión simplificada." msgid "Couldn't create any collision shapes." msgstr "No pudo crear ninguna forma de colisión." +msgid "Couldn't create a bounding box shape." +msgstr "No se pudo crear una forma de caja delimitadora." + +msgid "Couldn't create a capsule shape." +msgstr "No se pudo crear una forma de cápsula." + +msgid "Couldn't create a cylinder shape." +msgstr "No se pudo crear una forma de cilindro." + +msgid "Couldn't create a sphere shape." +msgstr "No se pudo crear una forma de esfera." + +msgid "Couldn't create a primitive collision shape." +msgstr "No se pudo crear una forma de colisión primitiva." + +msgid "Create %s Collision Shape Sibling" +msgstr "Crear Hermano de Collision Shape %s" + +msgid "Create %s Static Body Child" +msgstr "Crear Nodo Hijo Static Body %s" + msgid "Trimesh" msgstr "Trimesh" @@ -10890,9 +11426,18 @@ msgstr "Convexo Único" msgid "Simplified Convex" msgstr "Convexo Simplificado" +msgid "Create %s Collision Shape Siblings" +msgstr "Crear Nodos Hermanos Collision Shape %s" + +msgid "Create %s Static Body Children" +msgstr "Crear Nodos Hijos Static Body %s" + msgid "Multiple Convex" msgstr "Múltiples Convexos" +msgid "Bounding Box" +msgstr "Caja Delimitadora" + msgid "Capsule" msgstr "Cápsula" @@ -11044,6 +11589,15 @@ msgstr "" "Crea una forma de colisión basada en polígonos.\n" "Es la opción más precisa (pero la más lenta) para la detección de colisiones." +msgid "" +"Creates a single convex collision shape.\n" +"This is the faster than the trimesh or multiple convex option, but is less " +"accurate for collision detection." +msgstr "" +"Crea una única forma de colisión convexa.\n" +"Esta es la opción más rápida que la de trimesh o de múltiples convexos, pero " +"es menos precisa para la detección de colisiones." + msgid "" "Creates a simplified convex collision shape.\n" "This is similar to single collision shape, but can result in a simpler " @@ -11053,21 +11607,98 @@ msgstr "" "Esto es similar a la forma de colisión simple, pero puede resultar en una " "geometría más simple en algunos casos, a costa de la precisión." +msgid "" +"Creates multiple convex collision shapes. These are decomposed from the " +"original mesh.\n" +"This is a performance and accuracy middle-ground between a single convex " +"collision and a polygon-based trimesh collision." +msgstr "" +"Crea múltiples formas de colisión convexas. Estas se descomponen a partir de " +"la malla original.\n" +"Este es un punto medio de rendimiento y precisión entre una única colisión " +"convexa y una colisión trimesh basada en polígonos." + +msgid "" +"Creates an bounding box collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in BoxMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Crea una forma de colisión de caja delimitadora.\n" +"Esto usará el AABB de la malla si la forma no es un BoxMesh integrado.\n" +"Esto es más rápido que la opción de forma de colisión convexa para la " +"detección de colisiones." + +msgid "" +"Creates a capsule collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in CapsuleMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Crea una forma de colisión de cápsula.\n" +"Esto usará el AABB de la malla si la forma no es un CapsuleMesh integrado.\n" +"Esto es más rápido que la opción de forma de colisión convexa para la " +"detección de colisiones." + +msgid "" +"Creates a cylinder collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in CylinderMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Crea una forma de colisión de cilindro.\n" +"Esto usará el AABB de la malla si la forma no es un CylinderMesh integrado.\n" +"Esto es más rápido que la opción de forma de colisión convexa para la " +"detección de colisiones." + +msgid "" +"Creates a sphere collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in SphereMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Crea una forma de colisión de esfera.\n" +"Esto usará el AABB de la malla si la forma no es un SphereMesh integrado.\n" +"Esto es más rápido que la opción de forma de colisión convexa para la " +"detección de colisiones." + +msgid "" +"Creates a box, capsule, cylinder, or sphere primitive collision shape if the " +"mesh is a primitive.\n" +"The mesh must use the built-in BoxMesh, CapsuleMesh, CylinderMesh, or " +"SphereMesh primitive.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Crea una forma de colisión primitiva de caja, cápsula, cilindro o esfera si " +"la malla es una primitiva.\n" +"La malla debe usar las primitivas integradas BoxMesh, CapsuleMesh, " +"CylinderMesh o SphereMesh.\n" +"Esto es más rápido que la opción de forma de colisión convexa para la " +"detección de colisiones." + msgid "Alignment Axis" msgstr "Eje de Alineamiento" msgid "Longest Axis" msgstr "Eje Más Largo" +msgid "Create the shape along the longest axis of the mesh's AABB." +msgstr "Crea la forma a lo largo del eje más largo del AABB de la malla." + msgid "X-Axis" msgstr "Eje-X" +msgid "Create the shape along the local X-Axis." +msgstr "Crea la forma a lo largo del eje X local." + msgid "Y-Axis" msgstr "Eje-Y" +msgid "Create the shape along the local Y-Axis." +msgstr "Crea la forma a lo largo del eje Y local." + msgid "Z-Axis" msgstr "Eje-Z" +msgid "Create the shape along the local Z-Axis." +msgstr "Crea la forma a lo largo del eje Z local." + msgid "UV Channel Debug" msgstr "Depuración del Canal UV" @@ -11280,6 +11911,36 @@ msgstr "" "Arrastra y suelte para anular el material de cualquier nodo de geometría.\n" "Mantén presionada la tecla %s al soltar para anular una superficie específica." +msgid "" +"This debug draw mode is only supported when using the Forward+ or Mobile " +"renderer." +msgstr "" +"Este modo de dibujo de depuración solo es compatible cuando se utiliza el " +"renderizador Forward+ o Móvil." + +msgid "This debug draw mode is only supported when using the Forward+ renderer." +msgstr "" +"Este modo de dibujo de depuración solo es compatible cuando se utiliza el " +"renderizador Forward+." + +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Tamaño: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Objetos: %d" + +msgid "Primitives: %d" +msgstr "Primitivas: %d" + msgid "Draw Calls: %d" msgstr "Llamadas de Dibujado: %d" @@ -11452,6 +12113,15 @@ msgstr "" msgid "SDFGI Probes" msgstr "Sondas SDFGI" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Haz clic izquierdo en una sonda SDFGI para mostrar su información de oclusión " +"(blanco = no ocluido, rojo = totalmente ocluido).\n" +"Requiere que SDFGI esté activado en Environment para tener un efecto visible." + msgid "Scene Luminance" msgstr "Iluminación de Escena" @@ -11600,6 +12270,12 @@ msgstr "Modificador de Órbita del Viewport 1" msgid "Viewport Orbit Modifier 2" msgstr "Modificador de Órbita del Viewport 2" +msgid "Viewport Orbit Snap Modifier 1" +msgstr "Modificador 1 de Ajuste de Órbita del Viewport" + +msgid "Viewport Orbit Snap Modifier 2" +msgstr "Modificador 2 de Ajuste de Órbita del Viewport" + msgid "Viewport Pan Modifier 1" msgstr "Modificador de Desplazamiento del Viewport 1" @@ -11675,6 +12351,12 @@ msgstr "Act./Desact. Vista Previa de la Cámara" msgid "View Rotation Locked" msgstr "Bloquear Rotación de Vista" +msgid "" +"To zoom further, change the camera's clipping planes (View → Settings...)" +msgstr "" +"Para hacer más zoom, cambia los planos de recorte de la cámara (Vista → " +"Ajustes...)" + msgid "Overriding material..." msgstr "Material de anulación..." @@ -11983,8 +12665,20 @@ msgstr "Configuración..." msgid "Snap Settings" msgstr "Configuración de Ajuste" +msgid "Translate Snap" +msgstr "Ajuste de Traslación" + msgid "Translate Snap:" -msgstr "Ajustar Traslación:" +msgstr "Ajuste de Traslación:" + +msgid "Rotate Snap" +msgstr "Ajuste de Rotación" + +msgid "Rotate Snap:" +msgstr "Ajuste de Rotación:" + +msgid "Scale Snap" +msgstr "Ajuste de Escala" msgid "Scale Snap:" msgstr "Ajuste de Escala:" @@ -12197,13 +12891,13 @@ msgid "Curve Point #" msgstr "Punto de Curva #" msgid "Handle In #" -msgstr "Manejar en #" +msgstr "Manipulador de Entrada #" msgid "Handle Out #" -msgstr "Manipular afuera #" +msgstr "Manipulador de Salida #" msgid "Handle Tilt #" -msgstr "Manejar Inclinación #" +msgstr "Inclinación de Manipulador #" msgid "Set Curve Point Position" msgstr "Establecer Posición de Punto de Curva" @@ -12245,7 +12939,7 @@ msgid "Shift+Click: Drag out Control Points" msgstr "Shift + Arrastrar: Extender Puntos de Control" msgid "Select Tilt Handles" -msgstr "Seleccionar Controles de Inclinación" +msgstr "Seleccionar Manipuladores de Inclinación" msgid "Split Segment (in curve)" msgstr "Dividir Segmento (en curva)" @@ -12367,6 +13061,15 @@ msgstr "Insertar clave (basada en la máscara) para todos los huesos." msgid "Insert Key (All Bones)" msgstr "Insertar Clave (Todos los Huesos)" +msgid "Insert key (based on mask) for modified bones with an existing track." +msgstr "" +"Insertar clave (basada en máscara) para huesos modificados con una pista " +"existente." + +msgid "Insert new key (based on mask) for all modified bones." +msgstr "" +"Insertar nueva clave (basada en máscara) para todos los huesos modificados." + msgid "Bone Transform" msgstr "Transformación de Hueso" @@ -12688,6 +13391,9 @@ msgstr "Centrar Selección" msgid "Frame Selection" msgstr "Ajustar Vista a la Selección" +msgid "Auto Resample CanvasItems" +msgstr "Remuestreo Automático de CanvasItems" + msgid "Preview Canvas Scale" msgstr "Previsualizar Escala de Canvas" @@ -12927,6 +13633,9 @@ msgstr "Editar..." msgid "Go to Method" msgstr "Ir al Método" +msgid "Select a single node or resource to edit its signals." +msgstr "Selecciona un solo nodo o recurso para editar sus señales." + msgid "Load Curve Preset" msgstr "Cargar Ajuste de Curva" @@ -12987,6 +13696,9 @@ msgstr "Cerrar Todas las Pestañas" msgid "Add a new scene." msgstr "Añadir nueva escena." +msgid "Show Opened Scenes List" +msgstr "Mostrar Lista de Escenas Abiertas" + msgid "Add Gradient Point" msgstr "Añadir punto de Gradiante" @@ -13708,12 +14420,18 @@ msgstr "" msgid "Theme" msgstr "Tema" +msgid "Toggle Theme Dock" +msgstr "Act./Desact. Panel de Theme" + msgid "Theme:" msgstr "Tema:" msgid "Manage Items..." msgstr "Administrar Ítems..." +msgid "Add, remove, organize, and import Theme items." +msgstr "Añadir, eliminar, organizar e importar elementos de Theme." + msgid "Add Preview" msgstr "Añadir Vista Previa" @@ -13952,7 +14670,10 @@ msgid "Paste Resource" msgstr "Pegar Recurso" msgid "ResourcePreloader" -msgstr "ResourcePreloader" +msgstr "Precargador de Recursos" + +msgid "Toggle ResourcePreloader Dock" +msgstr "Act./Desact. Panel de Precargador de Recursos" msgid "Load Resource" msgstr "Cargar Recurso" @@ -14200,7 +14921,10 @@ msgid "Set Frame Duration" msgstr "Establecer Duración del Fotograma" msgid "SpriteFrames" -msgstr "SpriteFrames" +msgstr "Fotogramas de Sprite" + +msgid "Open SpriteFrames Dock" +msgstr "Abrir Panel de Fotogramas de Sprite" msgid "Animations:" msgstr "Animaciones:" @@ -14241,6 +14965,12 @@ msgstr "Duración de Fotograma:" msgid "Zoom Reset" msgstr "Restablecer Zoom" +msgid "Add Frame from File" +msgstr "Añadir Fotograma desde Archivo" + +msgid "Add Frames from Sprite Sheet" +msgstr "Añadir Fotogramas desde Hoja de Sprites" + msgid "Copy Frame(s)" msgstr "Copiar Fotograma(s)" @@ -14301,6 +15031,9 @@ msgstr "No Seleccionar" msgid "Toggle Settings Panel" msgstr "Act./Desact. Panel de Ajustes" +msgid "Zoom to Fit" +msgstr "Zoom para Ajustar" + msgid "Horizontal" msgstr "Horizontal" @@ -14448,6 +15181,14 @@ msgstr "Reemplazar..." msgid "Replace in Files" msgstr "Reemplazar en Archivos" +msgid "Keep Results" +msgstr "Mantener Resultados" + +msgid "Keep these results and show subsequent results in a new window" +msgstr "" +"Mantener estos resultados y mostrar los resultados subsiguientes en una nueva " +"ventana" + msgid "Replace all (no undo)" msgstr "Reemplazar todo (no se puede deshacer)" @@ -15368,6 +16109,9 @@ msgstr "3D Editor" msgid "Scene Tree Editing" msgstr "Edición del Árbol de Escena" +msgid "Node Dock (deprecated)" +msgstr "Panel de Nodo (obsoleto)" + msgid "FileSystem Dock" msgstr "Dock de Sistema de Archivos" @@ -15380,6 +16124,12 @@ msgstr "Dock de Historial" msgid "Game View" msgstr "Vista del Juego" +msgid "Signals Dock" +msgstr "Panel de Señales" + +msgid "Groups Dock" +msgstr "Panel de Grupos" + msgid "Allows to view and edit 3D scenes." msgstr "Permite ver y editar escenas 3D." @@ -15419,6 +16169,14 @@ msgstr "" "Proporciona herramientas para seleccionar y depurar nodos en tiempo de " "ejecución." +msgid "Allows to work with signals of the node selected in the Scene dock." +msgstr "" +"Permite trabajar con las señales del nodo seleccionado en el Panel de Escena." + +msgid "Allows to manage groups of the node selected in the Scene dock." +msgstr "" +"Permite gestionar los grupos del nodo seleccionado en el Panel de Escena." + msgid "(current)" msgstr "(actual)" @@ -15502,6 +16260,12 @@ msgstr "Importar Perfil(es)" msgid "Manage Editor Feature Profiles" msgstr "Administrar Perfiles de Características del Editor" +msgid "Select Existing Layout:" +msgstr "Seleccionar Layout Existente:" + +msgid "Or enter new layout name." +msgstr "O introduce un nuevo nombre de Layout." + msgid "New layout name" msgstr "Nuevo nombre de layout" @@ -15532,6 +16296,11 @@ msgstr "Configuración de Filtro" msgid "Advanced Settings" msgstr "Configuraciones Avanzadas" +msgid "The Project Manager must be restarted for changes to take effect." +msgstr "" +"El Administrador de Proyectos debe reiniciarse para que los cambios surtan " +"efecto." + msgid "The editor must be restarted for changes to take effect." msgstr "Debe reiniciarse el editor para que los cambios surtan efecto." @@ -15788,9 +16557,15 @@ msgstr "N/D" msgid "Open Shader / Choose Location" msgstr "Abrir Shader / Seleccionar Ubicación" +msgid "Invalid shader type selected." +msgstr "Tipo de shader inválido seleccionado." + msgid "Invalid base path." msgstr "Ruta base incorrecta." +msgid "Invalid extension for selected shader type." +msgstr "Extensión inválida para el tipo de shader seleccionado." + msgid "Note: Built-in shaders can't be edited using an external editor." msgstr "Nota: Los shaders integrados no pueden editarse con un editor externo." @@ -15839,9 +16614,15 @@ msgstr "Abrir Archivo en el Inspector" msgid "Inspect Native Shader Code..." msgstr "Inspeccionar el código de sombreado nativo..." +msgid "Copy Shader Path" +msgstr "Copiar Ruta del Shader" + msgid "Shader Editor" msgstr "Editor de Shader" +msgid "Toggle Shader Editor Dock" +msgstr "Act./Desact. Panel del Editor de Shader" + msgid "No valid shader stages found." msgstr "No se encontraron etapas de shader válidas." @@ -15856,7 +16637,10 @@ msgstr "" "\n" msgid "ShaderFile" -msgstr "ShaderFile" +msgstr "Archivos de Shader" + +msgid "Toggle ShaderFile Dock" +msgstr "Act./Desact. Panel de Archivos de Shader" msgid "Set Shader Global Variable" msgstr "Establecer Variable Global en el Shader" @@ -16191,7 +16975,14 @@ msgid "Paste Parameters To Material" msgstr "Pegar Parámetros al Material" msgid "Forward+/Mobile" -msgstr "Forward+/Mobile" +msgstr "Forward+/Móvil" + +msgid "" +"Only supported in the Forward+ and Mobile rendering methods, not " +"Compatibility." +msgstr "" +"Solo es compatible con los métodos de renderizado Forward+ y Móvil, no con " +"Compatibilidad." msgid "Create Shader Node" msgstr "Crear Nodo de Shader" @@ -17217,6 +18008,22 @@ msgstr "Editar Propiedad Visual: %s" msgid "Visual Shader Mode Changed" msgstr "Modo de Shader Visual Cambiado" +msgid "" +"Cannot convert VisualShader to GDShader because VisualShader has embedded " +"subresources." +msgstr "" +"No se puede convertir VisualShader a GDShader porque el VisualShader tiene " +"subrecursos incrustados." + +msgid "" +"Visual Shader conversion cannot convert external dependencies. Resource " +"references from Nodes will have to be rebound as ShaderParameters on a " +"Material." +msgstr "" +"La conversión de Visual Shader no puede convertir dependencias externas. Las " +"referencias a recursos de los nodos deberán volver a vincularse como " +"ShaderParameters en un Material." + msgctxt "Locale" msgid "Script:" msgstr "Script:" @@ -17270,6 +18077,12 @@ msgstr "Desactivar Vista Previa de Traducción" msgid "Previewing translation. Click to disable." msgstr "Previsualizando traducción. Haz clic para deshabilitar." +msgid "No Translations Configured" +msgstr "Sin Traducciones Configuradas" + +msgid "You can add translations in the Project Settings." +msgstr "Puedes añadir traducciones en los Ajustes del Proyecto." + msgid "Add %d Translation" msgid_plural "Add %d Translations" msgstr[0] "Añadir %d Traducción" @@ -17294,6 +18107,17 @@ msgstr "Eliminar Remapeo de Recursos" msgid "Remove Resource Remap Option" msgstr "Eliminar Opción de Remapeo de Recursos" +msgid "Add %d file for template generation" +msgid_plural "Add %d files for template generation" +msgstr[0] "Añadir %d archivo para la generación de plantillas" +msgstr[1] "Añadir %d archivos para la generación de plantillas" + +msgid "Remove file from template generation" +msgstr "Eliminar archivo de la generación de plantillas" + +msgid "Rearrange Localization Items" +msgstr "Reordenar Elementos de Localización" + msgid "Removed" msgstr "Eliminado" @@ -17315,13 +18139,22 @@ msgstr "Recursos:" msgid "Remaps by Locale:" msgstr "Remapeos por idioma:" +msgid "Template Generation" +msgstr "Generación de Plantillas" + msgid "Files with translation strings:" msgstr "Archivos con strings de traducción:" +msgid "Add Built-in Strings" +msgstr "Añadir Cadenas Integradas" + msgid "Add strings from built-in components such as certain Control nodes." msgstr "" "Agregar strings de componentes integrados como ciertos nodos de Control." +msgid "No translatable strings found." +msgstr "No se encontraron cadenas traducibles." + msgid "" "No VCS plugins are available in the project. Install a VCS plugin to use VCS " "integration features." @@ -17732,6 +18565,9 @@ msgstr "Eliminar Selección de GridMap" msgid "GridMap Fill Selection" msgstr "Rellenar Selección en GridMap" +msgid "GridMap Move Selection" +msgstr "Mover Selección de GridMap" + msgid "GridMap Paste Selection" msgstr "Pegar Selección en GridMap" @@ -17843,6 +18679,9 @@ msgstr "Usando cualquier clip -> %s." msgid "Using %s → Any clip." msgstr "Usando %s -> Cualquier clip." +msgid "Using all clips → Any clip." +msgstr "Usando todos los clips → Cualquier clip." + msgid "No transition available." msgstr "Transición no disponible." @@ -18284,6 +19123,12 @@ msgstr "Clases" msgid "Filter Classes" msgstr "Filtrar Clases" +msgid "A Count" +msgstr "Conteo A" + +msgid "B Count" +msgstr "Conteo B" + msgid "Delta" msgstr "Delta" @@ -18305,15 +19150,36 @@ msgstr "Objetos B" msgid "Nodes" msgstr "Nodos" +msgid "A Nodes" +msgstr "Nodos A" + +msgid "Combine Diff" +msgstr "Combinar Diff" + +msgid "B Nodes" +msgstr "Nodos B" + msgid "Orphan Nodes" msgstr "Nodos Huérfanos" +msgid "Snapshot A" +msgstr "Snapshot A" + +msgid "Snapshot B" +msgstr "Snapshot B" + msgid "Filter Objects" msgstr "Filtrar Objetos" msgid "Snapshot" msgstr "Snapshot" +msgid "Inbound References" +msgstr "Referencias Entrantes" + +msgid "Outbound References" +msgstr "Referencias de Salida" + msgid "Object's class" msgstr "Clase del objeto" @@ -18323,12 +19189,86 @@ msgstr "Objeto" msgid "Object's name" msgstr "Nombre del objeto" +msgid "In" +msgstr "Entrada" + +msgid "Number of inbound references" +msgstr "Número de referencias entrantes" + +msgid "Out" +msgstr "Salida" + +msgid "Number of outbound references" +msgstr "Número de referencias salientes" + msgid "A" msgstr "A" +msgid "Other object referencing this object" +msgstr "Otros objetos referenciando este objeto" + +msgid "Property of other object referencing this object" +msgstr "Propiedad de otro objeto referenciando este objeto" + +msgid "Property of this object referencing other object" +msgstr "Propiedad de este objeto referenciando otro objeto" + +msgid "Other object being referenced" +msgstr "Otro objeto siendo referenciado" + +msgid "RefCounted" +msgstr "RefCounted" + +msgid "Filter RefCounteds" +msgstr "Filtrar RefCounteds" + +msgid "Native Refs" +msgstr "Referencias Nativas" + +msgid "ObjectDB Refs" +msgstr "Referencias de ObjectDB" + +msgid "Total Refs" +msgstr "Total de Referencias" + +msgid "ObjectDB Cycles" +msgstr "Ciclos de ObjectDB" + +msgid "References not owned by the ObjectDB" +msgstr "Referencias no pertenecientes a ObjectDB" + +msgid "References owned by the ObjectDB" +msgstr "Referencias pertenecientes a ObjectDB" + +msgid "ObjectDB References + Native References" +msgstr "Referencias de ObjectDB + Referencias Nativas" + +msgid "Cycles detected in the ObjectDB" +msgstr "Ciclos detectados en ObjectDB" + +msgid "Native References: %d" +msgstr "Referencias Nativas: %d" + +msgid "ObjectDB References: %d" +msgstr "Referencias de ObjectDB: %d" + +msgid "Total References: %d" +msgstr "Total de Referencias: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "Ciclos de ObjectDB: %d" + +msgid "[center]ObjectDB References[center]" +msgstr "[center]Referencias de ObjectDB[center]" + msgid "Duplicate?" msgstr "¿Duplicar?" +msgid "" +"Was the same reference returned by multiple getters on the source object?" +msgstr "" +"¿Múltiples getters en el objeto de origen devolvieron la misma referencia?" + msgid "Sort By %s (Ascending)" msgstr "Ordenar por %s (Ascendente)" @@ -18338,9 +19278,33 @@ msgstr "Ordenar por %s (Descendente)" msgid "Summary" msgstr "Resumen" +msgid "ObjectDB Snapshot Summary" +msgstr "Resumen de Instantánea de ObjectDB" + +msgid "Press 'Take ObjectDB Snapshot' to snapshot the ObjectDB." +msgstr "" +"Presiona 'Tomar Snapshot de ObjectDB' para tomar un Snapshot de ObjectDB." + +msgid "" +"Memory in Godot is either owned natively by the engine or owned by the " +"ObjectDB." +msgstr "" +"La memoria en Godot es o bien propiedad nativa del motor o bien propiedad de " +"ObjectDB." + +msgid "ObjectDB Snapshots capture only memory owned by the ObjectDB." +msgstr "" +"Los Snapshots de ObjectDB capturan solo la memoria propiedad de ObjectDB." + msgid "Overview" msgstr "Vista general" +msgid "RefCounteds" +msgstr "RefCounteds" + +msgid "Timestamp:" +msgstr "Marca de tiempo:" + msgid "Game Version:" msgstr "Versión del Juego:" @@ -18359,15 +19323,54 @@ msgstr "Objetos totales:" msgid "Total Nodes:" msgstr "Total de Nodos:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Múltiples nodos raíz [i](posible llamada a 'remove_child' sin 'queue_free')[/" +"i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"Objetos RefCounted solo referenciados en ciclos [i](los ciclos a menudo " +"indican fugas de memoria)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Objetos de script no referenciados por ningún otro objeto [i](los objetos no " +"referenciados pueden indicar una fuga de memoria)[/i]" + msgid "Generating Snapshot" msgstr "Generando Snapshot" +msgid "Receiving Snapshot (0/%s MiB)" +msgstr "Recibiendo Snapshot (0/%s MiB)" + +msgid "Receiving Snapshot (%s/%s MiB)" +msgstr "Recibiendo Snapshot (%s/%s MiB)" + msgid "Visualizing Snapshot" msgstr "Visualizando Snapshot" +msgid "Take ObjectDB Snapshot" +msgstr "Tomar Snapshot de ObjectDB" + +msgid "Invalid snapshot name." +msgstr "Nombre de snapshot no válido." + +msgid "Snapshot rename failed" +msgstr "Fallo al renombrar el Snapshot" + msgid "ObjectDB Profiler" msgstr "Perfilador de ObjectDB" +msgid "Diff Against:" +msgstr "Diferencia con:" + msgid "Rename Action" msgstr "Renombrar Acción" @@ -18428,6 +19431,9 @@ msgstr "Eliminar perfil de interacción" msgid "OpenXR Action Map" msgstr "Mapa de Acción OpenXR" +msgid "Toggle OpenXR Action Map Dock" +msgstr "Act./Desact. Panel de Action Map de OpenXR" + msgid "Add Action Set" msgstr "Añadir Conjunto de Acciones" @@ -18594,9 +19600,21 @@ msgstr "" msgid "Building Android Project (gradle)" msgstr "Construyendo Proyecto de Android (gradle)" +msgid "> Connecting to Gradle Build Environment..." +msgstr "> Conectando con Gradle Build Environment..." + +msgid "Unable to connect to Gradle Build Environment service" +msgstr "No se pudo conectar con el servicio Gradle Build Environment" + +msgid "> Starting Gradle build..." +msgstr "> Iniciando Gradle build..." + msgid "Failed to execute Gradle command" msgstr "Fallo al ejecutar el comando de Gradle" +msgid "> Copying Gradle artifacts..." +msgstr "> Copiando artefactos de Gradle..." + msgid "Package name is missing." msgstr "Falta el nombre del paquete." @@ -18629,29 +19647,30 @@ msgstr "Nombre de paquete inválido:" msgid "\"Use Gradle Build\" is required to enable \"Swipe to dismiss\"." msgstr "" -"\"Usar Construcción de Gradle\" es requerido para activar \"Deslizar para " -"descartar\"." +"\"Usar Gradle Build\" es requerido para activar \"Deslizar para descartar\"." msgid "\"Use Gradle Build\" must be enabled to use the plugins." +msgstr "\"Usar Gradle Build\" debe estar activado para usar los complementos." + +msgid "Support for \"Use Gradle Build\" on Android is currently experimental." msgstr "" -"\"Usar Construcción de Gradle\" debe estar activado para usar los plugins." +"El soporte para \"Usar Gradle Build\" en Android es actualmente experimental." msgid "" "\"Compress Native Libraries\" is only valid when \"Use Gradle Build\" is " "enabled." msgstr "" -"\"Comprimir Librerías Nativas\" solo es válido cuando \"Usar compilación de " -"Gradle\" está habilitado." +"\"Comprimir Librerías Nativas\" solo es válido cuando \"Usar Gradle Build\" " +"está activado." msgid "\"Export AAB\" is only valid when \"Use Gradle Build\" is enabled." msgstr "" -"\"Exportar AAB\" solo es válido cuando \"Usar Construcción de Gradle\" está " -"activado." +"\"Exportar AAB\" solo es válido cuando \"Usar Gradle Build\" está activado." msgid "\"Min SDK\" can only be overridden when \"Use Gradle Build\" is enabled." msgstr "" -"\"SDK Mínimo\" solo puede ser anulado cuando \"Usar Construcción de Gradle\" " -"está activado." +"\"SDK Mínimo\" solo puede ser sobrescrito cuando \"Usar Gradle Build\" está " +"activado." msgid "\"Min SDK\" should be a valid integer, but got \"%s\" which is invalid." msgstr "" @@ -18667,8 +19686,8 @@ msgstr "" msgid "" "\"Target SDK\" can only be overridden when \"Use Gradle Build\" is enabled." msgstr "" -"\"SDK Objetivo\" solo puede ser anulado cuando \"Usar Construcción de " -"Gradle\" está activado." +"\"SDK Objetivo\" solo puede ser sobrescrito cuando \"Usar Gradle Build\" está " +"activado." msgid "" "\"Target SDK\" should be a valid integer, but got \"%s\" which is invalid." @@ -18681,23 +19700,34 @@ msgstr "" msgid "\"Use Gradle Build\" is required to add custom theme attributes." msgstr "" -"\"Usar Construcción de Gradle\" es requerido para añadir atributos de tema " +"\"Usar Gradle Build\" es requerido para añadir atributos de tema " "personalizados." msgid "\"Use Gradle Build\" must be enabled to enable \"Show In Android Tv\"." msgstr "" -"\"Usar Construcción de Gradle\" debe estar activado para activar \"Mostrar en " -"Android TV\"." +"\"Usar Gradle Build\" debe estar activado para activar \"Mostrar en Android " +"TV\"." msgid "\"Use Gradle Build\" must be enabled to enable \"Show As Launcher App\"." msgstr "" -"\"Usar Construcción de Gradle\" debe estar activado para activar \"Mostrar " -"como Aplicación de Lanzador\"." +"\"Usar Gradle Build\" debe estar activado para activar \"Mostrar como " +"Aplicación de Inicio\"." msgid "\"Use Gradle Build\" must be enabled to disable \"Show In App Library\"." msgstr "" -"\"Usar Construcción de Gradle\" debe estar activado para desactivar \"Mostrar " -"en Biblioteca de Aplicaciones\"." +"\"Usar Gradle Build\" debe estar activado para desactivar \"Mostrar en la " +"Biblioteca de Aplicaciones\"." + +msgid "Mirror Android devices" +msgstr "Reflejar dispositivos Android" + +msgid "" +"If enabled, \"scrcpy\" is used to start the project and automatically stream " +"device display (or virtual display) content." +msgstr "" +"Si se activa, se usa \"scrcpy\" para iniciar el proyecto y transmitir " +"automáticamente el contenido de la pantalla del dispositivo (o pantalla " +"virtual)." msgid "Exporting APK..." msgstr "Exportar APK..." @@ -18714,6 +19744,13 @@ msgstr "No se pudo instalar en el dispositivo: %s" msgid "Running on device..." msgstr "Ejecutando en el dispositivo..." +msgid "" +"Could not start scrcpy executable. Configure scrcpy path in the Editor " +"Settings (Export > Android > scrcpy > Path)." +msgstr "" +"No se pudo iniciar el ejecutable de scrcpy. Configura la ruta de scrcpy en " +"los Ajustes del Editor (Exportar > Android > scrcpy > Ruta)." + msgid "Could not execute on device." msgstr "No se ha podido ejecutar en el dispositivo." @@ -18727,16 +19764,17 @@ msgid "" "template only supports '%s'. Make sure the project targets '%s' or consider " "using gradle builds instead." msgstr "" -"No se pudo determinar el TFM del proyecto C#, podría ser incompatible. La " -"plantilla de exportación solo soporta '%s'. Asegúrate de que el proyecto " -"apunte a '%s' o considera usar construcciones de Gradle en su lugar." +"No se pudo determinar el TFM del proyecto de C#, es posible que sea " +"incompatible. La plantilla de exportación solo soporta '%s'. Asegúrate de que " +"el proyecto tenga como objetivo '%s' o considera usar compilaciones de gradle " +"en su lugar." msgid "" "C# project targets '%s' but the export template only supports '%s'. Consider " "using gradle builds instead." msgstr "" -"El proyecto C# apunta a '%s' pero la plantilla de exportación solo soporta " -"'%s'. Considera usar construcciones de Gradle en su lugar." +"El proyecto de C# tiene como objetivo '%s', pero la plantilla de exportación " +"solo soporta '%s'. Considera usar compilaciones de gradle en su lugar." msgid "Exporting to Android when using C#/.NET is experimental." msgstr "Exportar a Android al usar C#/.NET es experimental." @@ -18823,9 +19861,7 @@ msgstr "" "del SDK de Android." msgid "\"Use Gradle Build\" is required for transparent background on Android" -msgstr "" -"\"Usar Construcción de Gradle\" es requerido para tener un fondo transparente " -"en Android" +msgstr "\"Usar Gradle Build\" es requerido para fondo transparente en Android" msgid "" "\"Target SDK\" %d is higher than the default version %d. This may work, but " @@ -18934,8 +19970,8 @@ msgid "" "Trying to build from a gradle built template, but no version info for it " "exists. Please reinstall from the 'Project' menu." msgstr "" -"Intentando construir desde una plantilla construida con Gradle, pero no " -"existe información de versión para ella. Por favor, reinstala desde el menú " +"Intentando compilar desde una plantilla construida con gradle, pero no existe " +"información de versión para ella. Por favor, reinstálala desde el menú " "'Proyecto'." msgid "" @@ -19200,12 +20236,22 @@ msgstr "" "El acceso a la librería de fotos está habilitado, pero no se ha especificado " "una descripción de uso." +msgid "Liquid Glass Icons" +msgstr "Iconos de Liquid Glass" + msgid "Could not start 'actool' executable." msgstr "No se pudo iniciar el ejecutable \"actool\"." msgid "Could not read 'actool' version." msgstr "No se pudo leer la versión de \"actool\"." +msgid "At least version 26.0 of 'actool' is required (version %f found)." +msgstr "" +"Se requiere al menos la versión 26.0 de 'actool' (se encontró la versión %f)." + +msgid "Could not export liquid glass icon:" +msgstr "No se pudo exportar el icono de liquid glass:" + msgid "Notarization" msgstr "Notarización" @@ -19615,8 +20661,8 @@ msgid "" "A SpriteFrames resource must be created or set in the \"Sprite Frames\" " "property in order for AnimatedSprite2D to display frames." msgstr "" -"Se debe crear o establecer un recurso SpriteFrames en la propiedad \"Sprite " -"Frames\" para que AnimatedSprite2D muestre los fotogramas." +"Se debe crear o establecer un recurso de Fotogramas de Sprite en la propiedad " +"\"Fotogramas de Sprite\" para que AnimatedSprite2D pueda mostrar fotogramas." msgid "" "Ancestor \"%s\" clips its children, so this CanvasGroup will not function " @@ -19662,6 +20708,12 @@ msgstr "" "La animación Particles2D requiere el uso de un CanvasItemMaterial con " "\"Particles Animation\" activado." +msgid "" +"Particle trails are only available when using the Forward+ or Mobile renderer." +msgstr "" +"El rastro de partículas solo está disponible cuando se utiliza el " +"renderizador Forward+ o Móvil." + msgid "" "Particle sub-emitters are not available when using the Compatibility renderer." msgstr "" @@ -19962,6 +21014,11 @@ msgstr "" "La animación de CPUParticles3D requiere el uso de un StandardMaterial3D cuyo " "modo Billboard esté configurado en \"Particle Billboard\"." +msgid "Decals are only available when using the Forward+ or Mobile renderer." +msgstr "" +"Los Decals solo están disponibles cuando se utiliza el renderizador Forward+ " +"o Móvil." + msgid "" "The decal has no textures loaded into any of its texture properties, and will " "therefore not be visible." @@ -20037,6 +21094,13 @@ msgstr "" "Trails activadas, pero faltan uno o más materiales de malla o no están " "configurados para el renderizado de rutas." +msgid "" +"Particle sub-emitters are only available when using the Forward+ or Mobile " +"renderer." +msgstr "" +"Los sub-emisores de partículas solo están disponibles cuando se utiliza el " +"renderizador Forward+ o Móvil." + msgid "" "The Bake Mask has no bits enabled, which means baking will not produce any " "collision for this GPUParticlesCollisionSDF3D.\n" @@ -20048,6 +21112,12 @@ msgstr "" "Para resolver esto, activa al menos un bit en la propiedad Máscara de " "Procesamiento." +msgid "" +"Detecting settings with no target set! IterateIK3D must have a target to work." +msgstr "" +"¡Detectando ajustes sin objetivo establecido! IterateIK3D debe tener un " +"objetivo para funcionar." + msgid "A light's scale does not affect the visual size of the light." msgstr "La escala de una luz no afecta a su tamaño visual." @@ -20405,6 +21475,12 @@ msgstr "" "¡Nodo Skeleton3D no establecido! SkeletonModifier3D debe ser hijo de " "Skeleton3D." +msgid "" +"Detecting settings with no Path3D set! SplineIK3D must have a Path3D to work." +msgstr "" +"¡Detectando ajustes sin Path3D establecido! SplineIK3D debe tener un Path3D " +"para funcionar." + msgid "Parent node should be a SpringBoneSimulator3D node." msgstr "El nodo padre debe ser un nodo SpringBoneSimulator3D." @@ -20412,8 +21488,21 @@ msgid "" "A SpriteFrames resource must be created or set in the \"Sprite Frames\" " "property in order for AnimatedSprite3D to display frames." msgstr "" -"Se debe crear o establecer un recurso SpriteFrames en la propiedad \"Sprite " -"Frames\" para que AnimatedSprite3D muestre los fotogramas." +"Se debe crear o establecer un recurso de Fotogramas de Sprite en la propiedad " +"\"Fotogramas de Sprite\" para que AnimatedSprite3D pueda mostrar fotogramas." + +msgid "" +"Detecting settings with no target set! TwoBoneIK3D must have a target to work." +msgstr "" +"¡Detectando ajustes sin objetivo establecido! TwoBoneIK3D debe tener un " +"objetivo para funcionar." + +msgid "" +"Detecting settings with no pole target set! TwoBoneIK3D must have a pole " +"target to work." +msgstr "" +"¡Detectando ajustes sin objetivo de polo establecido! TwoBoneIK3D debe tener " +"un objetivo de polo para funcionar." msgid "" "The GeometryInstance3D visibility range's End distance is set to a non-zero " @@ -20451,6 +21540,20 @@ msgstr "" "Para solucionarlo, aumente el margen final del rango de visibilidad por " "encima de 0." +msgid "" +"GeometryInstance3D transparency is only available when using the Forward+ " +"renderer." +msgstr "" +"La transparencia de GeometryInstance3D solo está disponible cuando se utiliza " +"el renderizador Forward+." + +msgid "" +"GeometryInstance3D visibility range transparency fade is only available when " +"using the Forward+ renderer." +msgstr "" +"La atenuación de transparencia del rango de visibilidad de GeometryInstance3D " +"solo está disponible cuando se utiliza el renderizador Forward+." + msgid "Plotting Meshes" msgstr "Trazando Mallas" @@ -20531,6 +21634,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D requiere un nodo hijo XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"No se admite cambiar la escala en el nodo XROrigin3D. En su lugar, cambia la " +"Escala del Mundo." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -20555,6 +21665,24 @@ msgstr "Nada conectado a la entrada '%s' del nodo '%s'." msgid "No root AnimationNode for the graph is set." msgstr "No se ha establecido ningún nodo AnimationNode raíz para el gráfico." +msgid "" +"The AnimationTree is inactive.\n" +"Activate it in the inspector to enable playback; check node warnings if " +"activation fails." +msgstr "" +"El AnimationTree está inactivo.\n" +"Actívalo en el inspector para habilitar la reproducción; comprueba las " +"advertencias de los nodos si la activación falla." + +msgid "" +"The AnimationTree node (or one of its parents) has its process mode set to " +"Disabled.\n" +"Change the process mode in the inspector to allow playback." +msgstr "" +"El nodo AnimationTree (o uno de sus padres) tiene su modo de procesamiento " +"establecido en Desactivado.\n" +"Cambia el modo de procesamiento en el inspector para permitir la reproducción." + msgid "" "ButtonGroup is intended to be used only with buttons that have toggle_mode " "set to true." @@ -20614,15 +21742,6 @@ msgstr "%s puede soltarse aquí. Usa %s para soltar, usa %s para cancelar." msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s no puede soltarse aquí. Usa %s para cancelar." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Ten en cuenta que GraphEdit y GraphNode sufrirán una amplia refactorización " -"en una futura versión 4.x que implicará cambios en la API que romperán la " -"compatibilidad." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -20638,6 +21757,14 @@ msgstr "" "La fuente actual no admite la representación de uno o más caracteres " "utilizados en el texto de esta etiqueta." +msgid "" +"MSDF font pixel range is too small, some outlines/shadows will not render. " +"Set MSDF pixel range to be at least %d to render all outlines/shadows." +msgstr "" +"El rango de píxeles de la fuente MSDF es demasiado pequeño, algunos contornos " +"o sombras no se renderizarán. Establece el rango de píxeles MSDF en al menos " +"%d para renderizar todos los contornos y sombras." + msgid "" "The current theme style has shadows and/or rounded corners for popups, but " "those won't display correctly if \"display/window/per_pixel_transparency/" @@ -20664,6 +21791,9 @@ msgstr "" "Usa un contenedor como hijo (VBox, HBox, etc.), o un Control y establece el " "tamaño mínimo personalizado manualmente." +msgid "Drag to resize" +msgstr "Arrastra para cambiar el tamaño" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21053,6 +22183,24 @@ msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "" "El varying '%s' no puede pasarse para el parámetro '%s' en ese contexto." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"No se puede pasar un sampler de textura multiview como parámetro a una " +"función personalizada. Considera realizar el muestreo en la función principal " +"y luego pasar el resultado vectorial a la función personalizada." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"No se puede pasar un sampler de textura RADIANCE como parámetro a una función " +"personalizada. Considera realizar el muestreo en la función principal y luego " +"pasar el resultado vectorial a la función personalizada." + msgid "Unknown identifier in expression: '%s'." msgstr "Identificador desconocido en la expresión: '%s'." diff --git a/editor/translations/editor/es_AR.po b/editor/translations/editor/es_AR.po index 85617ad366ca..669f53a4984b 100644 --- a/editor/translations/editor/es_AR.po +++ b/editor/translations/editor/es_AR.po @@ -43,13 +43,16 @@ # Rosas Francisco , 2025. # agus , 2025. # Nacho Roby , 2026. +# rus , 2026. +# leandro jimenez saientz , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-07 17:02+0000\n" -"Last-Translator: Nacho Roby \n" +"PO-Revision-Date: 2026-01-18 16:01+0000\n" +"Last-Translator: leandro jimenez saientz " +"\n" "Language-Team: Spanish (Argentina) \n" "Language: es_AR\n" @@ -57,17 +60,116 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Fallido:" + +msgid "Unavailable" +msgstr "No disponible" + +msgid "Unconfigured" +msgstr "Sin configurar" + +msgid "Unauthorized" +msgstr "sin permiso" + +msgid "Parameter out of range" +msgstr "Parámetro fuera de gama" + +msgid "Out of memory" +msgstr "sin memoria" + +msgid "File not found" +msgstr "archivo no encontrado" + +msgid "File: Bad drive" +msgstr "archivo: mal manejo" + +msgid "File: Bad path" +msgstr "archivo: ruta incorrecta" + +msgid "File: Permission denied" +msgstr "archivo: permiso denegado" + +msgid "File already in use" +msgstr "el archivo ya existe" + +msgid "Can't open file" +msgstr "No se puede abrir el archivo" + +msgid "Can't write file" +msgstr "no se puede escribir este archivo" + +msgid "Can't read file" +msgstr "no se puede leer el archivo" + +msgid "File unrecognized" +msgstr "Archivo no reconocido" + +msgid "File corrupt" +msgstr "archivo corrompido" + +msgid "Missing dependencies for file" +msgstr "Falta de dependencias para el archivo" + +msgid "End of file" +msgstr "fin del archivo" + +msgid "Can't open" +msgstr "No se ha podido abrir" + +msgid "Can't create" +msgstr "No puedo crear" + +msgid "Query failed" +msgstr "Solicitud fallida." + msgid "Locked" msgstr "Bloqueado" +msgid "Timeout" +msgstr "Tiempo de espera agotado" + +msgid "Can't connect" +msgstr "No se puede conectar." + +msgid "Can't resolve" +msgstr "No se ha podido resolver." + +msgid "Does not exist" +msgstr "no existe" + +msgid "Can't write database" +msgstr "no se pude escribir la base de datos" + +msgid "Script failed" +msgstr "script fallido" + +msgid "Cyclic link detected" +msgstr "Enlace cíclico detectado" + +msgid "Duplicate symbol" +msgstr "Duplicar simbolo" + +msgid "Busy" +msgstr "Ocupado" + +msgid "Skip" +msgstr "omitir" + msgid "Help" msgstr "Ayuda" +msgid "Bug" +msgstr "error" + +msgid "unset" +msgstr "Sin establecer" + msgid "Physical" msgstr "Físico" diff --git a/editor/translations/editor/fa.po b/editor/translations/editor/fa.po index 8932ecc9e4a4..e9899158b09e 100644 --- a/editor/translations/editor/fa.po +++ b/editor/translations/editor/fa.po @@ -17644,14 +17644,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "«%s» را نمی‌توان اینجا رها کرد. برای لغو از «%s» استفاده کنید." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"لطفاً توجه داشته باشید که GraphEdit و GraphNode در نسخه‌های آینده ۴.x دستخوش " -"بازنگری گسترده‌ای خواهند شد که شامل تغییرات API ناسازگار خواهد بود." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/fr.po b/editor/translations/editor/fr.po index 7ed5f6873cd7..25677d74c961 100644 --- a/editor/translations/editor/fr.po +++ b/editor/translations/editor/fr.po @@ -214,8 +214,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-11 11:01+0000\n" -"Last-Translator: Axel Rousseau \n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" +"Last-Translator: Posemartonis \n" "Language-Team: French \n" "Language: fr\n" @@ -223,17 +223,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "A échoué" + +msgid "Unavailable" +msgstr "Non disponible" + +msgid "Unconfigured" +msgstr "Non configuré" + +msgid "Unauthorized" +msgstr "Non-autorisé" + +msgid "Parameter out of range" +msgstr "Paramètre hors plage" + +msgid "Out of memory" +msgstr "Pénurie de mémoire" + +msgid "File not found" +msgstr "Fichier non trouvé" + +msgid "File: Bad drive" +msgstr "Fichier : mauvais disque" + +msgid "File: Bad path" +msgstr "Fichier : mauvais chemin" + +msgid "File: Permission denied" +msgstr "Fichier : Permission refusée" + +msgid "File already in use" +msgstr "Fichier déjà utilisé" + +msgid "Can't open file" +msgstr "Impossible d’ouvrir le fichier" + +msgid "Can't write file" +msgstr "Impossible d'écrire le fichier" + +msgid "Can't read file" +msgstr "Impossible de lire le fichier" + +msgid "File unrecognized" +msgstr "Fichier non reconnu" + +msgid "File corrupt" +msgstr "Fichier corrompu" + +msgid "Missing dependencies for file" +msgstr "Dépendances manquantes pour le fichier" + +msgid "End of file" +msgstr "Fin du fichier" + +msgid "Can't open" +msgstr "Impossible d'ouvrir" + +msgid "Can't create" +msgstr "Impossible de créer" + +msgid "Query failed" +msgstr "La requête a échoué" + +msgid "Already in use" +msgstr "Déjà utilisé" + msgid "Locked" msgstr "Verrouillé" +msgid "Timeout" +msgstr "Délai dépassé" + +msgid "Can't connect" +msgstr "Connexion impossible" + +msgid "Can't resolve" +msgstr "Impossible de résoudre" + +msgid "Connection error" +msgstr "Erreur de connexion" + +msgid "Can't acquire resource" +msgstr "Impossible d'acquérir les ressources" + +msgid "Can't fork" +msgstr "Impossible de créer une branche" + +msgid "Invalid data" +msgstr "Données non valides" + +msgid "Invalid parameter" +msgstr "Paramètres invalides" + +msgid "Already exists" +msgstr "Existe déjà" + +msgid "Does not exist" +msgstr "N'existe pas" + +msgid "Can't read database" +msgstr "Impossible de lire la base de données" + +msgid "Can't write database" +msgstr "Impossible de lire la base de données" + +msgid "Compilation failed" +msgstr "Échec de la compilation" + +msgid "Method not found" +msgstr "Méthode non trouvée" + +msgid "Link failed" +msgstr "Échec du lien" + +msgid "Script failed" +msgstr "Le Script a échoué" + +msgid "Cyclic link detected" +msgstr "Lien cyclique détecté" + +msgid "Invalid declaration" +msgstr "Déclaration non valide" + +msgid "Duplicate symbol" +msgstr "Symbole dupliqué" + +msgid "Parse error" +msgstr "Erreur d’analyse" + +msgid "Busy" +msgstr "Occupé" + +msgid "Skip" +msgstr "Passer" + msgid "Help" msgstr "Aide" +msgid "Bug" +msgstr "bogue" + +msgid "Printer on fire" +msgstr "Imprimante en feu" + msgid "unset" msgstr "non défini" @@ -1693,6 +1831,13 @@ msgctxt "Bezier Handle Mode" msgid "Balanced" msgstr "Équilibré" +msgctxt "Bezier Handle Mode" +msgid "Mirrored" +msgstr "Symétrique" + +msgid "Handle mode: %s" +msgstr "Mode de manipulation : %s" + msgid "Stream:" msgstr "Flux :" @@ -4220,6 +4365,9 @@ msgstr "Ajouter un nouveau groupe." msgid "Filter Groups" msgstr "Filtrer les groupes" +msgid "Select one or more nodes to edit their groups." +msgstr "Sélectionnez un ou plusieurs nœud pour éditer leurs groupes." + msgid "The Beginning" msgstr "Le commencement" @@ -4305,6 +4453,9 @@ msgstr "" "Les ressources suivantes seront dupliquées et incorporées au sein de cette " "ressource/objet." +msgid "This object has no resources to duplicate." +msgstr "Cet objet n'a pas de ressources à dupliquer." + msgid "Failed to load resource." msgstr "Impossible de charger la ressource." @@ -4530,6 +4681,13 @@ msgstr "" msgid "Save New Scene As..." msgstr "Enregistrer la nouvelle scène sous…" +msgid "" +"Disabling \"Editable Children\" will cause all properties of this subscene's " +"descendant nodes to be reverted to their default." +msgstr "" +"Désactiver \"Editable Children\" permettra de rétablir à leur valeur par " +"défaut toutes les propriétés des nœuds descendants de cette sous-scène." + msgid "" "Enabling \"Load as Placeholder\" will disable \"Editable Children\" and cause " "all properties of the node to be reverted to their default." @@ -4970,6 +5128,24 @@ msgstr "Les ressources importées ne peuvent pas être sauvegardées." msgid "Error saving resource!" msgstr "Erreur dans l’enregistrement des ressources !" +msgid "" +"The text-based resource at path \"%s\" is large on disk (%s), likely because " +"it has embedded binary data.\n" +"This slows down resource saving and loading.\n" +"Consider saving its binary subresource(s) to a binary `.res` file or saving " +"the resource as a binary `.res` file.\n" +"This warning can be disabled in the Editor Settings (FileSystem > On Save > " +"Warn on Saving Large Text Resources)." +msgstr "" +"La ressource textuelle trouvée par le chemin \"%s\" est volumineuse sur le " +"disque (%s), sans doute parce qu'elle a des données binaires intégrées.\n" +"Cela ralentit la sauvegarde et le chargement de ressource.\n" +"Pensez à sauvegarder sa sous-ressource binaire dans un fichier binaire `.res` " +"ou à sauvegarder la ressource en tant qu'un fichier binaire `.res`.\n" +"Cet avertissement peut être désactivé dans les Paramètres de l'Éditeur " +"(Système de fichiers > À l'Enregistrement > Avertir lors de la Sauvegarde de " +"Ressources Textuelles Volumineuses)." + msgid "" "This resource can't be saved because it was imported from another file. Make " "it unique first." @@ -5680,6 +5856,9 @@ msgstr "Recharger la scène sauvegardée" msgid "Close Scene" msgstr "Fermer la scène" +msgid "Close All Scenes" +msgstr "Fermer toute les scènes" + msgid "Editor Settings..." msgstr "Paramètres de l’éditeur…" @@ -5752,6 +5931,12 @@ msgstr "À propos de Godot…" msgid "Support Godot Development" msgstr "Soutenir le développement de Godot" +msgid "Open 2D Workspace" +msgstr "Ouvrir 2D Workspace" + +msgid "Open 3D Workspace" +msgstr "Ouvrir le 3D Workspace" + msgid "Open Script Editor" msgstr "Ouvrir l’éditeur de script" @@ -6611,6 +6796,26 @@ msgstr "Niveau de Compression de l'Encodage Delta" msgid "Delta Encoding Minimum Size Reduction" msgstr "Réduction de Taille Minimum" +msgid "Delta Encoding Include Filters" +msgstr "L'encodage Delta contient des filtres" + +msgid "" +"Filters to include files/folders from being delta-encoded\n" +"(comma-separated, e.g: *.gdc, scripts/*)" +msgstr "" +"Filtres pour inclure les fichiers/dossiers qui seront delta-encodés\n" +"(séparateur virgule, par ex : *.gdc, scripts/*)" + +msgid "Delta Encoding Exclude Filters" +msgstr "Filtres pour exclure de l'encodage Delta" + +msgid "" +"Filters to exclude files/folders from being delta-encoded\n" +"(comma-separated, e.g: *.ctex, textures/*)" +msgstr "" +"Filtres pour exclure les fichiers/dossiers d'être delta-encodés\n" +"(séparateurs virgules, par ex : *.ctex, textures/*)" + msgid "Base Packs:" msgstr "Packs de base :" @@ -6768,6 +6973,12 @@ msgstr "Éditeur de dépendances" msgid "Owners of: %s (Total: %d)" msgstr "Possesseur de : %s (Total : %d)" +msgid "No owners found for: %s" +msgstr "Aucun propriétaire trouvé pour : %s" + +msgid "Owners List" +msgstr "Liste des propriétaires" + msgid "Localization remap" msgstr "Réaffectation des traductions" @@ -6952,6 +7163,13 @@ msgstr "Tabulations" msgid "Zoom Factor" msgstr "Facteur du zoom" +msgid "" +"%s+Mouse Wheel, %s/%s: Finetune\n" +"%s: Reset" +msgstr "" +"%s+Molette de souris, %s/%s : Ajuster précisément\n" +"%s : Réinitialiser" + msgid "Zoom In" msgstr "Zoomer" @@ -7167,6 +7385,16 @@ msgstr "Sélectionner une ressource" msgid "Select Scene" msgstr "Sélectionner une scène" +msgid "Recursion detected, Instant Preview failed." +msgstr "Récursion détectée, échec de l'aperçu instantané." + +msgid "Instant Preview" +msgstr "Aperçu instantané" + +msgid "Selected resource will be previewed in the editor before accepting." +msgstr "" +"La ressource sélectionnée sera prévisualisée dans l'éditeur avant acceptation." + msgid "Fuzzy Search" msgstr "Recherche approximative" @@ -7956,6 +8184,10 @@ msgstr "Couches" msgid "" msgstr "" +msgctxt "Ease Type" +msgid "Linear" +msgstr "Linéaire" + msgctxt "Ease Type" msgid "Zero" msgstr "Zéro" @@ -8101,6 +8333,9 @@ msgstr "Click droit pour rendre unique." msgid "It is possible to make its subresources unique." msgstr "Il est possible de rendre cette sous-ressource unique." +msgid "Right-click to make them unique." +msgstr "Clic-droit pour les rendre uniques." + msgid "In order to duplicate it, make its parent Resource unique." msgstr "Pour le dupliquer, rendre unique sa ressource parente." @@ -8130,6 +8365,9 @@ msgstr "" "du dock ou un autre récupérateur de ressources pour rendre automatiquement " "une ressource déposée unique." +msgid "This Resource is already unique." +msgstr "Cette ressource est déjà unique." + msgid "Make Unique (Recursive)" msgstr "Rendre unique (récursivement)" @@ -8451,6 +8689,9 @@ msgstr "" "Le chemin sélectionné n'est pas vide. Il est fortement recommandé de choisir " "un répertoire vide." +msgid "Cannot duplicate a project into itself." +msgstr "Impossible de dupliquer un projet dans lui-même." + msgid "New Game Project" msgstr "Nouveau projet de jeu" @@ -8565,6 +8806,9 @@ msgstr "Chemin d'installation du projet :" msgid "Renderer:" msgstr "Moteur de rendu :" +msgid "More information" +msgstr "Plus d'information" + msgid "" "RenderingDevice-based methods not available on this GPU:\n" "%s\n" @@ -8627,12 +8871,21 @@ msgstr "Analyse des projets…" msgid "Missing Project" msgstr "Projet manquant" +msgid "Open in Editor (Verbose Mode)" +msgstr "Ouvrir dans l’éditeur (Mode verbeux)" + +msgid "Open in Editor (Recovery Mode)" +msgstr "Ouvrir dans l'éditeur (mode de récupération)" + msgid "Run Project" msgstr "Lancer le projet" msgid "Manage Tags" msgstr "Gérer les étiquettes" +msgid "Remove from Project List" +msgstr "Supprimer de la liste des projets" + msgid "New Window" msgstr "Nouvelle fenêtre" @@ -8914,12 +9167,20 @@ msgid "Tag name can't begin or end with underscore." msgstr "" "Le nom de l'étiquette ne peut pas commencer ou finir avec un tiret du bas." +msgid "Tag name can't contain consecutive underscores or spaces." +msgstr "" +"Le nom de l'étiquette ne peut pas contenir de tirets du bas consécutifs ou " +"des espaces." + msgid "These characters are not allowed in tags: %s." msgstr "Ces caractères ne sont pas autorisés dans les étiquettes : %s." msgid "About Godot" msgstr "À propos de Godot" +msgid "Window" +msgstr "Fenêtre" + msgid "Settings" msgstr "Paramètres" @@ -9086,6 +9347,9 @@ msgstr "Langage" msgid "Style" msgstr "Style" +msgid "Color Preset" +msgstr "Préréglage de couleur" + msgid "Custom preset can be further configured in the editor." msgstr "" "Un préréglage personnalisé peut être configuré davantage dans l'éditeur." @@ -9102,6 +9366,9 @@ msgstr "Vérifier les mises à jour" msgid "Directory Naming Convention" msgstr "Convention de nommage des répertoires" +msgid "Edit All Settings" +msgstr "Éditer tous les réglages" + msgid "" "Settings changed! The project manager must be restarted for changes to take " "effect." @@ -9154,9 +9421,24 @@ msgstr "Mise à jour des ressources du projet" msgid "Re-saving resource:" msgstr "Ré-enregistre la ressource :" +msgid "Run the project's main scene." +msgstr "Exécuter la scène principale du projet." + +msgid "Play the currently edited scene." +msgstr "Exécuter la scène en cours d’édition." + msgid "Play a custom scene." msgstr "Lancer une scène personnalisée." +msgid "Reload the played scene that was being edited." +msgstr "Recharger la scène jouée qui était en cours d'édition." + +msgid "Reload the played custom scene." +msgstr "Recharger la scène jouée personnalisée." + +msgid "Reload the played main scene." +msgstr "Recharger la scène principale jouée." + msgid "" "Movie Maker mode is enabled, but no movie file path has been specified.\n" "A default movie file path can be specified in the project settings under the " @@ -9400,9 +9682,18 @@ msgstr "" "Pause forcée au niveau de la SceneTree. Arrête tout traitement, mais vous " "pouvez toujours interagir avec le projet." +msgid "Change the game speed." +msgstr "Changer la vitesse du jeu." + msgid "Speed State" msgstr "État de la vitesse" +msgid "Reset the game speed." +msgstr "Rétablir la vitesse du jeu." + +msgid "Reset Speed" +msgstr "Rétablir l'échelle" + msgid "Input" msgstr "Entrées" @@ -9428,6 +9719,15 @@ msgstr "Dévoiler la liste de nœuds sélectionnables à la position cliquée." msgid "Toggle Selection Visibility" msgstr "Basculer la visibilité de la sélection" +msgid "Selection Options" +msgstr "Options de sélection" + +msgid "Don't Select Locked Nodes" +msgstr "Ne pas sélectionner les nœuds verrouillés" + +msgid "Select Group Over Children" +msgstr "Sélectionner les groupes plutôt que les enfants" + msgid "Override the in-game camera." msgstr "Redéfinir la caméra en jeu." @@ -9470,6 +9770,9 @@ msgstr "" "Le mode « Conserver les proportions » est utilisé quand l’espace de travail " "du jeu est plus petit que la taille désirée." +msgid "Keep Aspect Ratio" +msgstr "Garder le ratio d'aspect" + msgid "Keep the aspect ratio of the embedded game." msgstr "Conserver les proportions du jeu en mode intégré." @@ -9592,12 +9895,18 @@ msgstr "Générer Rect de Visibilité" msgid "Load Emission Mask" msgstr "Charger Masque d'Émission" +msgid "Mask Texture" +msgstr "Texture du masque" + msgid "Solid Pixels" msgstr "Pixels pleins" msgid "Border Pixels" msgstr "Pixels de bordure" +msgid "Mask Mode" +msgstr "Mode masque" + msgid "Centered" msgstr "Centré" @@ -11129,6 +11438,12 @@ msgstr "N’a pas pu créer une forme de collision simplifiée." msgid "Couldn't create any collision shapes." msgstr "Impossible de créer des formes de collision." +msgid "Couldn't create a sphere shape." +msgstr "Impossible de créer une forme de sphère." + +msgid "Couldn't create a primitive collision shape." +msgstr "Impossible de créer une forme de collision primitive." + msgid "Create %s Collision Shape Sibling" msgstr "Crée des %s familles de formes de collision" @@ -11306,6 +11621,15 @@ msgstr "" "Il s’agit de l’option la plus précise (mais la plus lente) pour la détection " "des collisions." +msgid "" +"Creates a single convex collision shape.\n" +"This is the faster than the trimesh or multiple convex option, but is less " +"accurate for collision detection." +msgstr "" +"Crée une forme de collision convexe .\n" +"Il s'agit d'une option plus rapide que l'option trimesh ou convex multiple " +"mais elle est moins précise pour la détection des collisions." + msgid "" "Creates a simplified convex collision shape.\n" "This is similar to single collision shape, but can result in a simpler " @@ -11315,6 +11639,17 @@ msgstr "" "Le résultat est similaire à une forme de collision, rendant la géométrie " "simplifiée, au prix de sa précision." +msgid "" +"Creates multiple convex collision shapes. These are decomposed from the " +"original mesh.\n" +"This is a performance and accuracy middle-ground between a single convex " +"collision and a polygon-based trimesh collision." +msgstr "" +"Crée plusieurs formes de collision convexe. Elles sont décomposées du " +"maillage original.\n" +"Il s'agit d'un compromis entre performance et précision entre une collision " +"unique en convexe et une collision en parois à base de polygone." + msgid "" "Creates an bounding box collision shape.\n" "This will use the mesh's AABB if the shape is not a built-in BoxMesh.\n" @@ -11578,6 +11913,9 @@ msgstr "Perspective arrière" msgid "[auto]" msgstr "[auto]" +msgid "Reset Transform" +msgstr "Réinitialiser la transformation" + msgid "Grouped" msgstr "Groupé" @@ -11607,6 +11945,36 @@ msgstr "" "géométrie.\n" "Maintenir %s en déposant pour redéfinir une surface spécifique." +msgid "" +"This debug draw mode is only supported when using the Forward+ or Mobile " +"renderer." +msgstr "" +"Ce mode de dessin de débogage est uniquement pris en charge lors de " +"l'utilisation des rendus Forward+ ou Mobile." + +msgid "This debug draw mode is only supported when using the Forward+ renderer." +msgstr "" +"Ce mode de dessin de débogage est uniquement pris en charge lors de " +"l'utilisation du rendu Forward+." + +msgid "X: %s" +msgstr "X : %s" + +msgid "Y: %s" +msgstr "Y : %s" + +msgid "Z: %s" +msgstr "Z : %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Taille : %s (%.1f MP)" + +msgid "Objects: %d" +msgstr "Objets : %d" + +msgid "Primitives: %d" +msgstr "Primitifs : %d" + msgid "Draw Calls: %d" msgstr "Appels de dessin : %d" @@ -11780,6 +12148,15 @@ msgstr "" msgid "SDFGI Probes" msgstr "Sondes SDFGI" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Faites un clic gauche sur une sonde SDFGI pour afficher ses informations " +"d'occlusion (blanc = sans occlusion, rouge = occlusion complète).\n" +"Exige que SDFGI soit activé dans Environnement pour avoir un effet visible." + msgid "Scene Luminance" msgstr "Luminance de la scène" @@ -12128,6 +12505,9 @@ msgstr "Définir la tonemap de l'environnement de prévisualisation" msgid "Set Preview Environment Global Illumination" msgstr "Définir l'illumination globale de l'environnement de prévisualisation" +msgid "Transform Mode" +msgstr "Mode de transformation" + msgid "Move Mode" msgstr "Mode déplacement" @@ -12710,6 +13090,15 @@ msgstr "Insérer une clé (basé sur le masque) pour tous les os." msgid "Insert Key (All Bones)" msgstr "Insérer une clé (Tous les os)" +msgid "Insert key (based on mask) for modified bones with an existing track." +msgstr "" +"Insérer une clé (basée sur le masque) pour les os modifiés avec une piste " +"existante." + +msgid "Insert new key (based on mask) for all modified bones." +msgstr "" +"Insérer une nouvelle clé (basée sur le masque) pour tous les os modifiés." + msgid "Bone Transform" msgstr "Transformation d'Os" @@ -13031,6 +13420,9 @@ msgstr "Centrer sur la sélection" msgid "Frame Selection" msgstr "Encadrer la sélection" +msgid "Auto Resample CanvasItems" +msgstr "Ré-échantillonne automatiquement CanvasItems" + msgid "Preview Canvas Scale" msgstr "Prévisualiser l’échelle du Canvas" @@ -13267,6 +13659,9 @@ msgstr "Édition…" msgid "Go to Method" msgstr "Aller à la méthode" +msgid "Select a single node or resource to edit its signals." +msgstr "Sélectionnez un seul nœud ou une ressource pour modifier ses signaux." + msgid "Load Curve Preset" msgstr "Charger un préréglage de courbe" @@ -13327,6 +13722,9 @@ msgstr "Fermer tous les onglets" msgid "Add a new scene." msgstr "Ajouter une nouvelle scène." +msgid "Show Opened Scenes List" +msgstr "Afficher la liste des scènes ouvertes" + msgid "Add Gradient Point" msgstr "Ajouter un point gradient" @@ -14051,6 +14449,9 @@ msgstr "" msgid "Theme" msgstr "Thème" +msgid "Toggle Theme Dock" +msgstr "Modifier le thème de la barre d'outils" + msgid "Theme:" msgstr "Thème :" @@ -14530,6 +14931,9 @@ msgstr "Ajouter vide" msgid "Move Frame" msgstr "Déplacer le cadre" +msgid "Paste Animation" +msgstr "Coller l'animation" + msgid "Delete Animation?" msgstr "Supprimer l'animation ?" @@ -14545,6 +14949,9 @@ msgstr "SpriteFrames" msgid "Animations:" msgstr "Animations :" +msgid "Copy Animation" +msgstr "Copier l’animation" + msgid "Delete Animation" msgstr "Supprimer l'animation" @@ -14578,6 +14985,12 @@ msgstr "Durée de la Trame :" msgid "Zoom Reset" msgstr "Réinitialiser le zoom" +msgid "Add Frame from File" +msgstr "Ajouter une trame à partir d'un fichier" + +msgid "Add Frames from Sprite Sheet" +msgstr "Ajouter des trames depuis une feuille de sprite" + msgid "Copy Frame(s)" msgstr "Copier la/les image(s)" @@ -14791,6 +15204,9 @@ msgstr "Remplacer…" msgid "Replace in Files" msgstr "Remplacer dans les fichiers" +msgid "Keep Results" +msgstr "Garder les résultats" + msgid "Keep these results and show subsequent results in a new window" msgstr "" "Garder ces résultats et afficher les résultats suivants dans une nouvelle " @@ -15720,6 +16136,9 @@ msgstr "Éditeur 3D" msgid "Scene Tree Editing" msgstr "Édition d’arborescence de scène" +msgid "Node Dock (deprecated)" +msgstr "Barre d'outils de nœud (déprécié)" + msgid "FileSystem Dock" msgstr "Dock du système de fichiers" @@ -15732,6 +16151,12 @@ msgstr "Dock de l’historique" msgid "Game View" msgstr "Vue du jeu" +msgid "Signals Dock" +msgstr "Barre d'outils de signaux" + +msgid "Groups Dock" +msgstr "Barre d'outils de groupes" + msgid "Allows to view and edit 3D scenes." msgstr "Permet de visualiser et modifier des scènes 3D." @@ -15770,6 +16195,14 @@ msgid "Provides tools for selecting and debugging nodes at runtime." msgstr "" "Fournit des outils pour sélectionner et debuger des nœuds durant l’exécution." +msgid "Allows to work with signals of the node selected in the Scene dock." +msgstr "" +"Permet de travailler avec les signaux du nœud sélectionné dans le dock scène." + +msgid "Allows to manage groups of the node selected in the Scene dock." +msgstr "" +"Permet de travailler avec les signaux du nœud sélectionné dans le dock scène." + msgid "(current)" msgstr "(actuel)" @@ -15856,6 +16289,9 @@ msgstr "Profil(s) d’importation" msgid "Manage Editor Feature Profiles" msgstr "Gérer les profils de fonctionnalités de l’éditeur" +msgid "Select Existing Layout:" +msgstr "Sélectionner une disposition existante :" + msgid "Or enter new layout name." msgstr "Ou entrez un nouveau nom de disposition." @@ -15889,6 +16325,9 @@ msgstr "Filtrer les paramètres" msgid "Advanced Settings" msgstr "Paramètres avancés" +msgid "The Project Manager must be restarted for changes to take effect." +msgstr "L’éditeur doit être redémarré pour que les changements prennent effet." + msgid "The editor must be restarted for changes to take effect." msgstr "L’éditeur doit être redémarré pour que les changements prennent effet." @@ -16144,9 +16583,15 @@ msgstr "N/A" msgid "Open Shader / Choose Location" msgstr "Ouvrir le shader / Choisir l'emplacement" +msgid "Invalid shader type selected." +msgstr "Type de shader sélectionné invalide ." + msgid "Invalid base path." msgstr "Chemin de base invalide." +msgid "Invalid extension for selected shader type." +msgstr "Extension non valide pour le type de shader sélectionné." + msgid "Note: Built-in shaders can't be edited using an external editor." msgstr "" "Remarque : les shaders intégrés ne peuvent pas être modifiés à l'aide d'un " @@ -16200,6 +16645,9 @@ msgstr "Ouvrir fichier dans l'Inspecteur" msgid "Inspect Native Shader Code..." msgstr "Inspecter le code de shader natif..." +msgid "Copy Shader Path" +msgstr "Copier le chemin du shader" + msgid "Shader Editor" msgstr "Éditeur de shader" @@ -16552,6 +17000,9 @@ msgstr "Copier les paramètres depuis le matériau" msgid "Paste Parameters To Material" msgstr "Coller les paramètres dans le matériau" +msgid "Forward+/Mobile" +msgstr "Forward+/Mobile" + msgid "" "Only supported in the Forward+ and Mobile rendering methods, not " "Compatibility." @@ -17652,6 +18103,12 @@ msgstr "Désactiver l'aperçu de la traduction" msgid "Previewing translation. Click to disable." msgstr "Aperçu de la traduction. Cliquez pour désactiver." +msgid "No Translations Configured" +msgstr "Aucune traduction configurée" + +msgid "You can add translations in the Project Settings." +msgstr "Vous pouvez ajouter des traductions dans les paramètres du projet." + msgid "Add %d Translation" msgid_plural "Add %d Translations" msgstr[0] "Ajouter %d traduction" @@ -17681,6 +18138,17 @@ msgstr "Supprimer la réaffectation (remap) des ressources" msgid "Remove Resource Remap Option" msgstr "Supprimer l’option de réaffectation (remap) de ressource" +msgid "Add %d file for template generation" +msgid_plural "Add %d files for template generation" +msgstr[0] "Ajouter %d fichier pour la génération de modèle type" +msgstr[1] "Ajouter %d fichiers pour la génération de modèle type" + +msgid "Remove file from template generation" +msgstr "Retirer le fichier de la génération de modèle type" + +msgid "Rearrange Localization Items" +msgstr "Réaffectation des éléments de traduction" + msgid "Removed" msgstr "Retiré" @@ -17702,6 +18170,9 @@ msgstr "Ressources :" msgid "Remaps by Locale:" msgstr "Réaffectations (remaps) par langue :" +msgid "Template Generation" +msgstr "Génération de modèle type" + msgid "Files with translation strings:" msgstr "Fichiers avec des chaînes de caractères de traduction :" @@ -17710,6 +18181,9 @@ msgstr "" "Ajouter des chaînes de caractères à partir de composants intégrés tels que " "certains nœuds de contrôle." +msgid "No translatable strings found." +msgstr "Aucune chaîne traduisible trouvée." + msgid "" "No VCS plugins are available in the project. Install a VCS plugin to use VCS " "integration features." @@ -18683,6 +19157,9 @@ msgstr "Objets A" msgid "B Objects" msgstr "Objets B" +msgid "Combine Diff" +msgstr "Combiner Diff" + msgid "Snapshot A" msgstr "Snapshot A" @@ -18704,6 +19181,15 @@ msgstr "Nom de l'objet" msgid "Other object referencing this object" msgstr "Autre objet référençant cet objet" +msgid "Property of other object referencing this object" +msgstr "Propriété d'autres objets faisant référence à cet objet" + +msgid "Property of this object referencing other object" +msgstr "Propriété de cet objet faisant référence à d'autre objet" + +msgid "Other object being referenced" +msgstr "Autre objet référencé" + msgid "Native Refs" msgstr "Références natives" @@ -18728,6 +19214,18 @@ msgstr "Références ObjectDB + références natives" msgid "Cycles detected in the ObjectDB" msgstr "Cycles détectés dans ObjectDB" +msgid "Native References: %d" +msgstr "Références natives : %d" + +msgid "ObjectDB References: %d" +msgstr "Références d'ObjectDB : %d" + +msgid "Total References: %d" +msgstr "Total des références : %d" + +msgid "ObjectDB Cycles: %d" +msgstr "Cycles d'ObjectDB : %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]Références ObjectDB[center]" @@ -18777,6 +19275,27 @@ msgstr "Mémoire maximale utilisée :" msgid "Total Objects:" msgstr "Total des objets :" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Plusieurs nœuds racines [i](appel possible à « remove_child » sans " +"« queue_free »)[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"Objets RefCounted référencés uniquement dans des cycles [i](les cycles " +"indiquent souvent une fuite de mémoire)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Objets scriptés non référencés par d’autres objets [i](les objets non " +"référencés peuvent indiquer une fuite de mémoire)[/i]" + msgid "Generating Snapshot" msgstr "Génération en cours" @@ -18792,6 +19311,12 @@ msgstr "Visualisation de Snapshot" msgid "Take ObjectDB Snapshot" msgstr "Capturer un instantané de ObjectDB" +msgid "Snapshot rename failed" +msgstr "Échec du renommage de la Snapshot" + +msgid "Diff Against:" +msgstr "Diff par rapport à :" + msgid "Rename Action" msgstr "Renommer l'action" @@ -19136,6 +19661,9 @@ msgstr "" "\"Utiliser la compilation Gradle\" doit être activé pour désactiver " "\"Afficher dans la bibliothèque d'applications\"." +msgid "Mirror Android devices" +msgstr "refléter des appareils android" + msgid "" "If enabled, \"scrcpy\" is used to start the project and automatically stream " "device display (or virtual display) content." @@ -20888,6 +21416,13 @@ msgstr "" "Détection de réglages sans cible ! TwoBoneIK3D doit avoir une cible pour " "fonctionner." +msgid "" +"Detecting settings with no pole target set! TwoBoneIK3D must have a pole " +"target to work." +msgstr "" +"Détection de réglages sans cible de pôles ! TwoBoneIK3D doit avoir une cible " +"pour fonctionner." + msgid "" "The GeometryInstance3D visibility range's End distance is set to a non-zero " "value, but is lower than the Begin distance.\n" @@ -21000,6 +21535,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D requiert un nœud enfant XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"La modification de l'échelle sur le nœud XROrigin3D n'est pas supportée. " +"Changez plutôt l'échelle du monde." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21094,15 +21636,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s ne peut pas être déposé ici. Utilisez %s pour annuler." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Veuillez noter que GraphEdit et GraphNode seront soumis à un refactoring " -"important dans une future version 4.x impliquant des modifications de l'API " -"qui rompront la comptabilité." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21117,6 +21650,14 @@ msgstr "" "La police actuelle ne prend pas en charge un ou plusieurs caractères utilisés " "dans le texte de ce Label." +msgid "" +"MSDF font pixel range is too small, some outlines/shadows will not render. " +"Set MSDF pixel range to be at least %d to render all outlines/shadows." +msgstr "" +"La plage de pixel de CDSM est trop petite, certains contours/ombres ne seront " +"pas rendues. Réglez la plage de pixels CDSM sur au moins %d pour rendre tous " +"les contours/ombres." + msgid "" "The current theme style has shadows and/or rounded corners for popups, but " "those won't display correctly if \"display/window/per_pixel_transparency/" @@ -21539,6 +22080,24 @@ msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "" "La varying '%s' ne peut pas être passé pour le paramètre'%s' dans ce contexte." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Impossible de passer une multi-vue d'échantillon de texture comme paramètre " +"pour une fonction personnalisée. Considérez de l'échantillonner dans la " +"fonction principale et ensuite lui passer le résultat du vecteur." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Impossible de passer l'échantillonneur de texture RADIANCE comme paramètre à " +"une fonction personnalisée. Considérez de l'échantillonner dans la fonction " +"principale et ensuite lui passer le résultat du vecteur." + msgid "Unknown identifier in expression: '%s'." msgstr "Identifiant inconnu dans l'expression : '%s'." diff --git a/editor/translations/editor/ga.po b/editor/translations/editor/ga.po index e00e7e667ac1..fb5f4e7a82fa 100644 --- a/editor/translations/editor/ga.po +++ b/editor/translations/editor/ga.po @@ -3,13 +3,13 @@ # Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. # This file is distributed under the same license as the Godot source code. # Rónán Quill , 2019, 2020. -# Aindriú Mac Giolla Eoin , 2024, 2025. +# Aindriú Mac Giolla Eoin , 2024, 2025, 2026. # "A Thousand Ships (she/her)" , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-12-22 09:42+0000\n" +"PO-Revision-Date: 2026-01-17 13:01+0000\n" "Last-Translator: Aindriú Mac Giolla Eoin \n" "Language-Team: Irish \n" @@ -18,17 +18,155 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 " "&& n<11) ? 3 : 4;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Ceart go leor" +msgid "Failed" +msgstr "Theip ar" + +msgid "Unavailable" +msgstr "Gan a bheith ar fáil" + +msgid "Unconfigured" +msgstr "Gan chumraíocht" + +msgid "Unauthorized" +msgstr "Neamhúdaraithe" + +msgid "Parameter out of range" +msgstr "Paraiméadar lasmuigh den raon" + +msgid "Out of memory" +msgstr "As cuimhne" + +msgid "File not found" +msgstr "Níor aimsíodh an comhad" + +msgid "File: Bad drive" +msgstr "Comhad: Tiomántán lochtach" + +msgid "File: Bad path" +msgstr "Comhad: Droch-chosán" + +msgid "File: Permission denied" +msgstr "Comhad: Cead diúltaithe" + +msgid "File already in use" +msgstr "Comhad in úsáid cheana féin" + +msgid "Can't open file" +msgstr "Ní féidir an comhad a oscailt" + +msgid "Can't write file" +msgstr "Ní féidir comhad a scríobh" + +msgid "Can't read file" +msgstr "Ní féidir an comhad a léamh" + +msgid "File unrecognized" +msgstr "Comhad gan aitheantas" + +msgid "File corrupt" +msgstr "Comhad truaillithe" + +msgid "Missing dependencies for file" +msgstr "Spleáchais ar iarraidh don chomhad" + +msgid "End of file" +msgstr "Deireadh an chomhaid" + +msgid "Can't open" +msgstr "Ní féidir oscailt" + +msgid "Can't create" +msgstr "Ní féidir a chruthú" + +msgid "Query failed" +msgstr "Theip ar an bhfiosrúchán" + +msgid "Already in use" +msgstr "In úsáid cheana féin" + msgid "Locked" msgstr "Faoi Ghlas" +msgid "Timeout" +msgstr "Am críochnaithe" + +msgid "Can't connect" +msgstr "Ní féidir ceangal" + +msgid "Can't resolve" +msgstr "Ní féidir réiteach" + +msgid "Connection error" +msgstr "Earráid nasc" + +msgid "Can't acquire resource" +msgstr "Ní féidir acmhainn a fháil" + +msgid "Can't fork" +msgstr "Ní féidir forc a úsáid" + +msgid "Invalid data" +msgstr "Sonraí neamhbhailí" + +msgid "Invalid parameter" +msgstr "Paraiméadar neamhbhailí" + +msgid "Already exists" +msgstr "Tá sé ann cheana féin" + +msgid "Does not exist" +msgstr "Níl ann" + +msgid "Can't read database" +msgstr "Ní féidir an bunachar sonraí a léamh" + +msgid "Can't write database" +msgstr "Ní féidir bunachar sonraí a scríobh" + +msgid "Compilation failed" +msgstr "Theip ar an tiomsú" + +msgid "Method not found" +msgstr "Níor aimsíodh an modh" + +msgid "Link failed" +msgstr "Theip ar an nasc" + +msgid "Script failed" +msgstr "Theip ar an script" + +msgid "Cyclic link detected" +msgstr "Nasc timthriallach braite" + +msgid "Invalid declaration" +msgstr "Dearbhú neamhbhailí" + +msgid "Duplicate symbol" +msgstr "Siombail dhúblach" + +msgid "Parse error" +msgstr "Earráid pharsála" + +msgid "Busy" +msgstr "Gnóthach" + +msgid "Skip" +msgstr "Léim" + msgid "Help" msgstr "Cabhair" +msgid "Bug" +msgstr "Fabht" + +msgid "Printer on fire" +msgstr "Printéir ar thine" + msgid "unset" msgstr "díshuiteáil" @@ -1481,6 +1619,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Scáthánaithe" +msgid "Handle mode: %s" +msgstr "Mód láimhseála: %s" + msgid "Stream:" msgstr "Sruth:" @@ -6654,6 +6795,12 @@ msgstr "Eagarthóir Spleáchais" msgid "Owners of: %s (Total: %d)" msgstr "Úinéirí: %s (Iomlán: %d)" +msgid "No owners found for: %s" +msgstr "Níor aimsíodh aon úinéirí do: %s" + +msgid "Owners List" +msgstr "Liosta Úinéirí" + msgid "Localization remap" msgstr "Athmhapa logánaithe" @@ -7060,6 +7207,9 @@ msgstr "Roghnaigh Acmhainn" msgid "Select Scene" msgstr "Roghnaigh Radharc" +msgid "Recursion detected, Instant Preview failed." +msgstr "Braitheadh athchúrsáil, theip ar Réamhamharc Meandarach." + msgid "Instant Preview" msgstr "Réamhamharc Meandarach" @@ -11634,6 +11784,24 @@ msgstr "" "Ní thacaítear leis an modh tarraingthe dífhabhtaithe seo ach amháin nuair a " "úsáidtear an rindreálaí Forward+." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Méid: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Réada: %d" + +msgid "Primitives: %d" +msgstr "Bunúsacha: %d" + msgid "Draw Calls: %d" msgstr "Tarraing Glaonna: %d" @@ -11808,6 +11976,16 @@ msgstr "" msgid "SDFGI Probes" msgstr "Tástálacha SDFGI" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Cliceáil ar chlé ar tóireadóir SDFGI chun a fhaisnéis faoi bhac a thaispeáint " +"(bán = gan bhac, dearg = lánbhac).\n" +"Éilíonn sé seo go mbeidh SDFGI cumasaithe sa Timpeallacht le go mbeidh " +"éifeacht infheicthe aige." + msgid "Scene Luminance" msgstr "Luminance Radharc" @@ -13089,6 +13267,9 @@ msgstr "Lárroghnúchán" msgid "Frame Selection" msgstr "Roghnú Fráma" +msgid "Auto Resample CanvasItems" +msgstr "Athshampláil Uathoibríoch ar Chanbhásí" + msgid "Preview Canvas Scale" msgstr "Scála Canbhás Réamhamhairc" @@ -18973,6 +19154,18 @@ msgstr "Tagairtí ObjectDB + Tagairtí Dúchasacha" msgid "Cycles detected in the ObjectDB" msgstr "Timthriallta braite sa ObjectDB" +msgid "Native References: %d" +msgstr "Tagairtí Dúchasacha: %d" + +msgid "ObjectDB References: %d" +msgstr "Tagairtí ObjectDB: %d" + +msgid "Total References: %d" +msgstr "Líon Iomlán na dTagairtí: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "Timthriallta ObjectDB: %d" + msgid "[center]ObjectDB References[center]" msgstr "[lár]Tagairtí ObjectDB[lár]" @@ -19037,6 +19230,26 @@ msgstr "Líon Iomlán na Réada:" msgid "Total Nodes:" msgstr "Líon Iomlán na Nóid:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Il-nóid fréimhe [i](glao féideartha chuig 'remove_child' gan 'queue_free')[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"Réada RefCounted nach ndéantar tagairt dóibh ach i dtimthriallta [i](is minic " +"a léiríonn timthriallta sceitheadh cuimhne)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Réada scriptithe nach bhfuil tagairt déanta dóibh ag aon réada eile [i]" +"(d’fhéadfadh réada gan tagairt sceitheadh cuimhne a léiriú)[/i]" + msgid "Generating Snapshot" msgstr "Ag Giniúint Pictiúr" @@ -21289,6 +21502,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "Éilíonn XROrigin3D nód leanaí XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Ní thacaítear le hathrú an scála ar an nód XROrigin3D. Athraigh an Scála " +"Domhanda ina ionad." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21393,14 +21613,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "Ní féidir %s a scaoileadh anseo. Úsáid %s chun cealú." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Bí ar an eolas go ndéanfar athchóiriú fairsing ar GraphEdit agus GraphNode i " -"leagan 4.x amach anseo a bhaineann le hathruithe API comhoiriúnachta." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21450,6 +21662,9 @@ msgstr "" "Bain úsáid as coimeádán mar leanbh (VBox, HBox, etc.), nó Rialú agus socraigh " "an t-íosmhéid saincheaptha de láimh." +msgid "Drag to resize" +msgstr "Tarraing chun athrú méide" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21832,6 +22047,24 @@ msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "" "Ní féidir pas a fháil le hathrú '%s' don pharaiméadar '%s' sa chomhthéacs sin." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Ní féidir samplaí uigeachta ilradhairc a chur mar pharaiméadar chuig feidhm " +"saincheaptha. Smaoinigh ar é a shampláil sa phríomhfheidhm agus ansin an " +"toradh veicteora a chur chuig an bhfeidhm saincheaptha." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Ní féidir samplaí uigeachta RADIANCE a chur mar pharaiméadar chuig feidhm " +"saincheaptha. Smaoinigh ar é a shampláil sa phríomhfheidhm agus ansin an " +"toradh veicteora a chur chuig an bhfeidhm saincheaptha." + msgid "Unknown identifier in expression: '%s'." msgstr "Aitheantóir anaithnid i slonn: '%s'." diff --git a/editor/translations/editor/hu.po b/editor/translations/editor/hu.po index 0ba5c01264eb..b871a5701e79 100644 --- a/editor/translations/editor/hu.po +++ b/editor/translations/editor/hu.po @@ -51,7 +51,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-13 15:50+0000\n" +"PO-Revision-Date: 2026-01-23 09:49+0000\n" "Last-Translator: Tallyrald \n" "Language-Team: Hungarian \n" @@ -60,14 +60,53 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "OK" +msgid "Unauthorized" +msgstr "Nem engedélyezett" + +msgid "Out of memory" +msgstr "Nincs elég memória" + +msgid "File: Bad drive" +msgstr "Fájl: Hibás meghajtó" + +msgid "File: Bad path" +msgstr "Fájl: Hibás útvonal" + +msgid "File: Permission denied" +msgstr "Fájl: Nem engedélyezett" + +msgid "File unrecognized" +msgstr "Ismeretlen fájl" + +msgid "File corrupt" +msgstr "Sérült fájl" + +msgid "Can't write database" +msgstr "Nem lehet írni az adatbázisba" + +msgid "Cyclic link detected" +msgstr "Ciklikus hivatkozás érzékelve" + +msgid "Busy" +msgstr "Foglalt" + +msgid "Skip" +msgstr "Kihagyás" + msgid "Help" msgstr "Súgó" +msgid "Bug" +msgstr "Hiba" + +msgid "Printer on fire" +msgstr "Ég a nyomtató" + msgid "Physical" msgstr "Fizikai" @@ -5531,7 +5570,7 @@ msgid "Supports desktop platforms only." msgstr "Csak az asztali platformokat támogatja." msgid "Advanced 3D graphics available." -msgstr "Fejlett 3D grafikák érhetők el." +msgstr "Fejlett 3D grafika érhető el." msgid "Can scale to large complex scenes." msgstr "Nagy komplex jelenetekhez is alkalmas." @@ -6136,6 +6175,9 @@ msgstr "" "A projekt stabil FPS-sel fog futni és az audiovizuális kimenet videófájlként " "rögzül." +msgid "No Remote Deploy export presets configured." +msgstr "Nincs beállított Távoli Telepítő export előbeállítás (preset)." + msgid "" "No runnable export preset found for this platform.\n" "Please add a runnable preset in the Export menu or define an existing preset " @@ -6144,9 +6186,170 @@ msgstr "" "Nem található futtatható exportállomány ehhez a platformhoz.\n" "Kérem adjon hozzá egy futtatható exportállományt az export menüben." +msgid "" +"Warning: The CPU architecture \"%s\" is not active in your export preset.\n" +"\n" +"Run \"Remote Deploy\" anyway?" +msgstr "" +"Figyelmeztetés: A(z) \"%s\" CPU architektúra inaktív az export " +"előbeállításokban (preset).\n" +"\n" +"Futtassuk a \"Távoli Telepítést\"?" + +msgid "Deploy to First Device in List" +msgstr "Telepítés a lista Első Eszközére" + +msgid "Deploy to Second Device in List" +msgstr "Telepítés a lista Második Eszközére" + +msgid "Deploy to Third Device in List" +msgstr "Telepítés a lista Harmadik Eszközére" + +msgid "Deploy to Fourth Device in List" +msgstr "Telepítés a lista Negyedik Eszközére" + +msgid "Suspend/Resume Embedded Project" +msgstr "Beágyazott Projekt Felfüggesztése/Folytatása" + +msgid "Game running not embedded." +msgstr "A futó játék nincs beágyazva." + +msgid "Press play to start the game." +msgstr "A játék indításához kattintson az indítás gombra." + +msgid "Game embedding not available on your OS." +msgstr "Játék beágyazás nem elérhető ezen a rendszeren." + +msgid "" +"Game embedding not available for the Display Server: '%s'.\n" +"Display Server can be modified in the Project Settings (Display > Display " +"Server > Driver)." +msgstr "" +"Játék beágyazás nem elérhető a Megjelenítő Szerverhez: \"%s\".\n" +"A Megjelenítő Szerver módosítható a Projekt Beállításokban (Megjelenítés > " +"Megjelenítő Szerver > Meghajtóprogram)." + +msgid "Game embedding not available when the game starts minimized." +msgstr "Játék beágyazás nem elérhető, ha a játék kisméretűként indul." + +msgid "" +"Consider overriding the window mode project setting with the editor feature " +"tag to Windowed to use game embedding while leaving the exported project " +"intact." +msgstr "" +"A játék beágyazáshoz átállíthatja az ablakbeállítás projekt tulajdonságot " +"Ablakosra a szerkesztő funkciócímkéjével, ezzel megőrizve az exportált " +"projekt épségét." + +msgid "Game embedding not available when the game starts maximized." +msgstr "" +"Játék beágyazás nem elérhető, ha a játék maximalizált méretben indul el." + +msgid "Game embedding not available when the game starts in fullscreen." +msgstr "" +"Játék beágyazás nem elérhető, ha a játék teljes képernyős módban indul el." + +msgid "Game embedding not available in single window mode." +msgstr "Játék beágyazás nem elérhető egyablakos módban." + +msgid "Game embedding not available when the game starts in headless mode." +msgstr "Játék beágyazás nem elérhető, ha a játék headless módban indul el." + +msgid "Unmute game audio." +msgstr "Játék audió némítás feloldása." + +msgid "Mute game audio." +msgstr "Játék audió némítása." + +msgid "Suspend" +msgstr "Felfüggesztés" + +msgid "" +"Force pause at SceneTree level. Stops all processing, but you can still " +"interact with the project." +msgstr "" +"Kényszerített szünet a SceneTree szintjén. Minden feldolgozást megállít, de " +"továbbra is használható a projekt." + +msgid "Speed State" +msgstr "Sebesség Állapota" + +msgid "Allow game input." +msgstr "Játékbemenet engedélyezése." + +msgid "" +"Disable game input and allow to select Node2Ds, Controls, and manipulate the " +"2D camera." +msgstr "" +"Játékbemenet letiltása és Node2D, Control kijelölésésének, valamint a 2D " +"kamera manipulálásának engedélyezése." + +msgid "" +"Disable game input and allow to select Node3Ds and manipulate the 3D camera." +msgstr "" +"Játékbemenet letiltása és Node3D kijelölésének, valamint a 3D kamera " +"manipulálásának engedélyezése." + +msgid "Reset 2D Camera" +msgstr "2D Kamera Alaphelyzetbe" + +msgid "Reset 3D Camera" +msgstr "3D Kamera Alaphelyzetbe" + +msgid "Manipulate In-Game" +msgstr "Játékbeli Manipuláció" + +msgid "Manipulate From Editors" +msgstr "Manipulálás Szerkesztőkből" + +msgid "Embed Game on Next Play" +msgstr "Játék Beágyazása a Következő Indításkor" + +msgid "Make Game Workspace Floating on Next Play" +msgstr "Játék Munkatér Lebegtetése a Következő Indításkor" + +msgid "Embedded Window Sizing" +msgstr "Beágyazott Ablak Méretezés" + +msgid "" +"Embedded game size is based on project settings.\n" +"The 'Keep Aspect' mode is used when the Game Workspace is smaller than the " +"desired size." +msgstr "" +"A beágyazott játék mérete a projek beállításoktól függ.\n" +"A \"Képarány Megtartása\" módot az elvárt méretnél kisebb Játék Munkatér " +"esetén használjuk." + +msgid "Keep the aspect ratio of the embedded game." +msgstr "A beágyazott játék képarányának megtartása." + +msgid "Stretch to Fit" +msgstr "Rugalmas Igazítás" + +msgid "Embedded game size stretches to fit the Game Workspace." +msgstr "A beágyazott játék rugalmasan illeszkedik a Játék Munkatér méretéhez." + msgid "Clear All" msgstr "Mind Bezárása" +msgid "Space-separated arguments, example: host player1 blue" +msgstr "Szóközzel elválasztott argumentumok, például: host player1 blue" + +msgid "Comma-separated tags, example: demo, steam, event" +msgstr "Vesszővel elválasztott címkék, például: demo, steam, event" + +msgid "Enable Multiple Instances" +msgstr "Több Példány Engedélyezése" + +msgid "Override Main Run Args" +msgstr "Fő Futtatási Arg-ok Felülírása" + +msgid "Launch Arguments" +msgstr "Indítási Argumentumok" + +msgid "Move Origin to Geometric Center" +msgstr "Eredet a Geometrikus Középpontba" + msgid "Create Polygon" msgstr "Sokszög létrehozása" @@ -6159,6 +6362,9 @@ msgstr "" "Bal Egérgomb: Pont mozgatása\n" "Jobb Egérgomb: Pont törlése" +msgid "Move center of gravity to geometric center." +msgstr "A gravitációs középpont geometrikus középpontba helyezése." + msgid "Edit Polygon" msgstr "Sokszög szerkesztése" @@ -6171,15 +6377,52 @@ msgstr "Sokszög szerkesztése (pont eltávolítása)" msgid "Remove Polygon And Point" msgstr "Sokszög és pont eltávolítása" +msgid "Snap Camera2D Limits to the Viewport" +msgstr "Camera2D Határok Betekintőhöz illesztése" + +msgid "Camera2D" +msgstr "Camera2D" + +msgid "Snap the Limits to the Viewport" +msgstr "Határok Betekintőhöz Illesztése" + msgid "Create Occluder Polygon" msgstr "Árnyékoló Sokszög Létrehozása" +msgid "ParallaxBackground" +msgstr "ParallaxBackground" + msgid "Generate Visibility Rect" msgstr "Láthatósági Téglalap Generálása" msgid "Load Emission Mask" msgstr "Kibocsátási Maszk Betöltése" +msgid "Solid Pixels" +msgstr "Tömör Pixelek" + +msgid "Border Pixels" +msgstr "Szegélypixelek" + +msgid "Loading emission mask requires ParticleProcessMaterial." +msgstr "Az emissziós maszk betöltése ParticleProcessMaterial-t igényel." + +msgid "Failed to convert mask texture to RGBA8." +msgstr "A maszk textúra RGBA8-ra konvertálása sikertelen." + +msgid "Mask texture has an invalid size." +msgstr "A maszk textúra mérete érvénytelen." + +msgid "Failed to convert direction texture to RGBA8." +msgstr "Az iránytextúra RGBA8-ra konvertálása sikertelen." + +msgid "" +"Direction texture has an invalid size. It must have the same size as the mask " +"texture." +msgstr "" +"Az iránytextúra mérete érvénytelen. Mérete meg kell egyezzen a maszk " +"textúráéval." + msgid "GPUParticles2D" msgstr "GPUParticles2D" @@ -6204,6 +6447,9 @@ msgstr "Pont Mozgatása a Görbén" msgid "Add Point to Curve" msgstr "Pont Hozzáadása a Görbéhez" +msgid "Split Curve" +msgstr "Görbe Felosztása" + msgid "Move In-Control in Curve" msgstr "Be-Vezérlő Mozgatása a Görbén" @@ -6225,15 +6471,32 @@ msgstr "Görbe Lezárása" msgid "Please Confirm..." msgstr "Kérjük erősítse meg..." +msgid "Mirror Handle Angles" +msgstr "Fogantyú Szögének Tükrözése" + +msgid "Mirror Handle Lengths" +msgstr "Fogantyú Hosszok Tükrözése" + msgid "Set Handle" msgstr "Fogantyú Beállítása" +msgid "" +"The skeleton property of the Polygon2D does not point to a Skeleton2D node" +msgstr "A Polygon2D váz tulajdonsága nem Skeleton2D node-ra mutat" + msgid "Sync Bones" msgstr "Csontok szinkronizálása" msgid "Create UV Map" msgstr "UV Térkép Létrehozása" +msgid "" +"Polygon 2D has internal vertices, so it can no longer be edited in the " +"viewport." +msgstr "" +"A Polygon2D belső csúcsokkal rendelkezik, ezért a betekintőben már nem " +"módosítható." + msgid "Create Polygon & UV" msgstr "Sokszög és UV létrehozása" @@ -6243,6 +6506,9 @@ msgstr "Belső csúcspont létrehozása" msgid "Remove Internal Vertex" msgstr "Belső csúcspont eltávolítása" +msgid "Invalid Polygon (need 3 different vertices)" +msgstr "Érvénytelen Sokszög (3 különböző csúcsra van szükség)" + msgid "Add Custom Polygon" msgstr "Egyéni sokszög hozzáadása" @@ -6255,12 +6521,18 @@ msgstr "UV Térkép Transzformálása" msgid "Transform Polygon" msgstr "Sokszög átalakítása" +msgid "Paint Bone Weights" +msgstr "Csont Súlyok Festése" + msgid "Points" msgstr "Pontok" msgid "Polygons" msgstr "Sokszögek" +msgid "UV" +msgstr "UV" + msgid "Bones" msgstr "Csontok" @@ -6273,6 +6545,27 @@ msgstr "Sokszög Forgatása" msgid "Scale Polygon" msgstr "Sokszög Skálázása" +msgid "Create a custom polygon. Enables custom polygon rendering." +msgstr "Egyedi sokszög létrehozása. Bekapcsolja az egyedi sokszög renderelést." + +msgid "" +"Remove a custom polygon. If none remain, custom polygon rendering is disabled." +msgstr "" +"Eltávolít egy egyedi sokszöget. Ha nincs több, akkor az egyedi sokszög " +"renderelés kikapcsolódik." + +msgid "Paint weights with specified intensity." +msgstr "Súlyok adott erősségűre festése." + +msgid "Unpaint weights with specified intensity." +msgstr "Adott erősségű súlyok festésének visszavonása." + +msgid "Strength" +msgstr "Erő" + +msgid "Radius:" +msgstr "Sugár:" + msgid "Copy Polygon to UV" msgstr "Sokszög UV-ba másolása" @@ -6306,15 +6599,134 @@ msgstr "Rács X eltolása:" msgid "Grid Offset Y:" msgstr "Rács Y eltolása:" +msgid "Grid Step X:" +msgstr "Rács Beosztás X:" + +msgid "Grid Step Y:" +msgstr "Rács Beosztás Y:" + msgid "Sync Bones to Polygon" msgstr "Csontok Szinkronizálása Sokszögre" +msgid "This skeleton has no bones, create some children Bone2D nodes." +msgstr "" +"Ennek a váznak nincsenek csontjai, hozzon létre gyermek Bone2D node csontokat." + +msgid "Set Rest Pose to Bones" +msgstr "Pihenő Póz Beállítása Csontokhoz" + +msgid "Create Rest Pose from Bones" +msgstr "Pihenő Póz Létrehozása Csontokból" + +msgid "MeshInstance2D Preview" +msgstr "MeshInstance2D Előnézet" + +msgid "Create Polygon2D" +msgstr "Polygon2D Létrehozása" + +msgid "Polygon2D Preview" +msgstr "Polygon2D Előnézet" + +msgid "Create CollisionPolygon2D" +msgstr "CollisionPolygon2D Létrehozása" + +msgid "CollisionPolygon2D Preview" +msgstr "CollisionPolygon2D Előnézet" + +msgid "Create LightOccluder2D" +msgstr "LightOccluder2D Létrehozása" + +msgid "LightOccluder2D Preview" +msgstr "LightOccluder2D Előnézet" + +msgid "Invalid geometry, can't replace by mesh." +msgstr "Érvénytelen geometria, mesh alapján nem cserélhető." + +msgid "Invalid geometry, can't create polygon." +msgstr "Érvénytelen geometria, nem hozható létre sokszög." + +msgid "Convert to Polygon2D" +msgstr "Polygon2D-re Konvertálás" + +msgid "Invalid geometry, can't create collision polygon." +msgstr "Érvénytelen geometria, nem hozható létre az ütközési sokszög." + +msgid "Create CollisionPolygon2D Sibling" +msgstr "CollisionPolygon2D Testvér Létrehozása" + +msgid "Invalid geometry, can't create light occluder." +msgstr "Érvénytelen geometria, az árnyékoló nem hozható létre." + +msgid "Create LightOccluder2D Sibling" +msgstr "LightOccluder2D Testvér Létrehozása" + +msgid "Sprite's region needs to be enabled in the inspector." +msgstr "A sprite területe bekapcsolt állapotban kell legyen az elemzőben." + +msgid "Sprite2D" +msgstr "Sprite2D" + +msgid "Drag to Resize Region Rect" +msgstr "Húzással Átméretezhető Terület Téglalap" + +msgid "Shrink (Pixels):" +msgstr "Zsugorítás (Pixelek):" + +msgid "Grow (Pixels):" +msgstr "Növesztés (Pixelek):" + msgid "Update Preview" msgstr "Előnézet frissítése" msgid "Settings:" msgstr "Beállítások:" +msgid "Merge TileSetAtlasSource" +msgstr "TileSetAtlasSource Összevonása" + +msgid "%s (ID: %d)" +msgstr "%s (ID: %d)" + +msgid "Merge (Keep original Atlases)" +msgstr "Összevonás (Eredeti Atlaszok megtartásával)" + +msgid "Merge" +msgstr "Összevonás" + +msgid "Next Line After Column" +msgstr "Következő Utáni Sor Oszlop" + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: 0" +msgstr "" +"Forrás: %d\n" +"Atlasz koordináták: %s\n" +"Alternatíva: 0" + +msgid "" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Forrás: %d\n" +"Atlasz koordináták: %s\n" +"Alternatíva: %d" + +msgid "" +"The selected atlas source has no valid texture. Assign a texture in the " +"TileSet bottom tab." +msgstr "" +"A kiválasztott atlasz forrásnak nincs érvényes textúrája. Rendeljen hozzá egy " +"textúrát az alsó TileSet fülön." + +msgid "Flip Polygons Vertically" +msgstr "Sokszögek Vertikális Tükrözése" + +msgid "Edit points tool" +msgstr "Pontmódosító eszköz" + msgid "Advanced" msgstr "Speciális" @@ -6324,142 +6736,982 @@ msgstr "Forgatás jobbra" msgid "Rotate Left" msgstr "Forgatás balra" +msgid "Flip Horizontally" +msgstr "Horizontális Tükrözés" + +msgid "Flip Vertically" +msgstr "Vertikális Tükrözés" + msgid "Grid Snap" msgstr "Rácsra Illesztés" -msgid "Tiles" -msgstr "Csempék" +msgid "Subdivision" +msgstr "Felosztás" -msgid "Z Index" -msgstr "Z Index" +msgid "No terrains" +msgstr "Nincsenek terepek" -msgid "Navigation" -msgstr "Navigáció" +msgid "No terrain" +msgstr "Nincs terep" -msgid "Yes" -msgstr "Igen" +msgid "Painting Terrain Set" +msgstr "Terepkészlet Festése" -msgid "Preview" -msgstr "Előnézet" +msgid "Painting Terrain" +msgstr "Terepfestés" -msgid "Change Camera FOV" -msgstr "Kamera látószög változtatás" +msgid "Pick" +msgstr "Kiválaszt" -msgid "Change Camera Size" -msgstr "Kamera méret változtatás" +msgid "Drawing Rect:" +msgstr "Rajz Téglalap:" -msgid "Bake Lightmaps" -msgstr "Fény Besütése" +msgid "Can't rotate patterns when using non-square tile grid." +msgstr "A mintákat nem lehet forgatni, ha nem négyzetes a csempe rács." -msgid "Couldn't create any collision shapes." -msgstr "Nem sikerült ütközési alakzatokat létrehozni." +msgid "No Texture Atlas Source (ID: %d)" +msgstr "Nincs Textúra Atlasz Forrás (ID: %d)" -msgid "Mesh is empty!" -msgstr "A háló üres!" +msgid "Scene Collection Source (ID: %d)" +msgstr "Jelenetgyűjtemény Forrás (ID: %d)" -msgid "Contained Mesh is not of type ArrayMesh." -msgstr "A tartalmazott Mesh nem ArrayMesh típusú." +msgid "Empty Scene Collection Source (ID: %d)" +msgstr "Üres Jelenetgyűjtemény Forrás (ID: %d)" -msgid "UV Unwrap failed, mesh may not be manifold?" -msgstr "UV kibontás sikertelen, a mesh talán nem sokrétű?" +msgid "Unknown Type Source (ID: %d)" +msgstr "Ismeretlen Típus Forrás (ID: %d)" -msgid "No mesh to debug." -msgstr "Nincs mesh a hibakereséshez." +msgid "" +"The selected scene collection source has no scenes. Add scenes in the TileSet " +"bottom tab." +msgstr "" +"A kiválasztott jelenetgyűjtemény forrásban nincsenek jelenetek. Adjon hozzá " +"jeleneteket az alsó TileSet fülön." -msgid "Create Navigation Mesh" -msgstr "Navigációs Háló Létrehozása" +msgid "Bucket Tool" +msgstr "Vödör Eszköz" -msgid "Create Outline" -msgstr "Körvonal Készítése" +msgid "Alternatively hold %s with other tools to pick tile." +msgstr "" +"Alternatívaként %s nyomvatartása mellett más eszközökkel is választhat " +"csempét." -msgid "Mesh" -msgstr "Mesh" +msgid "Alternatively use RMB to erase tiles." +msgstr "Alternatívaként RMB használható a csempék törléséhez." -msgid "Create Outline Mesh..." -msgstr "Körvonalháló Létrehozása..." +msgid "Erase" +msgstr "Törlés" -msgid "View UV1" -msgstr "UV1 Megtekintése" +msgid "Flip Tile Vertically" +msgstr "Csempe Horizontális Tükrözése" -msgid "View UV2" -msgstr "UV2 Megtekintése" +msgid "" +"Modifies the chance of painting nothing instead of a randomly selected tile." +msgstr "" +"Módosítja annak az esélyét, hogy véletlenszerű helyett üres csempét fest." -msgid "Unwrap UV2 for Lightmap/AO" -msgstr "UV2 Kicsomagolása Fénytérképhez / AO-hoz" +msgid "Tiles" +msgstr "Csempék" -msgid "Create Outline Mesh" -msgstr "Körvonalháló Készítése" +msgid "" +"This TileMap's TileSet has no Tile Source configured. Go to the TileSet " +"bottom panel to add one." +msgstr "" +"A TileMap-hez tartozó TileSet-nek nincs beállított forrása. Az alsó TileSet " +"panelet adjon hozzá egyet." -msgid "Outline Size:" -msgstr "Körvonal Mérete:" +msgid "Sort by ID (Ascending)" +msgstr "ID sorrend (Növekvő)" -msgid "X-Axis" -msgstr "X-Tengely" +msgid "Sort by ID (Descending)" +msgstr "ID sorrend (Csökkenő)" -msgid "Y-Axis" -msgstr "Y-Tengely" +msgid "Patterns" +msgstr "Minták" -msgid "Z-Axis" -msgstr "Z-Tengely" +msgid "Drag and drop or paste a TileMap selection here to store a pattern." +msgstr "Minta tárolásához húzzon rá vagy illesszen be egy TileMap szelekciót." -msgid "Remove item %d?" -msgstr "%d elem eltávolítása?" +msgid "Matches Corners and Sides" +msgstr "Sarkokhoz és Oldalakhoz Igazítás" + +msgid "Terrain Set %d (%s)" +msgstr "Terepkészlet %d (%s)" msgid "" -"Update from existing scene?:\n" -"%s" +"Connect mode: paints a terrain, then connects it with the surrounding tiles " +"with the same terrain." msgstr "" -"Frissíti a meglévő jelenetből?:\n" -"%s" +"Kapcsolási mód: terepet fest és összekapcsolja az ugyanolyan környező terep " +"csempékkel." -msgid "Add Item" -msgstr "Elem Hozzáadása" +msgid "" +"Path mode: paints a terrain, then connects it to the previous tile painted " +"within the same stroke." +msgstr "" +"Útvonal mód: terepet fest és összekapcsolja az előző csempével, ami ugyanazon " +"mozdulattal készült." -msgid "Remove Selected Item" -msgstr "Kijelölt Elem Eltávolítása" +msgid "Terrains" +msgstr "Terepek" -msgid "Update from Scene" -msgstr "Frissítés Jelenetből" +msgid "Extract TileMap layers as individual TileMapLayer nodes" +msgstr "TileMap rétegek kicsomagolása TileMapLayer node-okként" -msgid "No mesh source specified (and no MultiMesh set in node)." +msgid "Can't edit multiple layers at once." +msgstr "Egyszerre több réteg módosítása nem lehetséges." + +msgid "The selected TileMap has no layer to edit." +msgstr "A kiválasztott TileMap-nek nincsenek rétegei." + +msgid "The edited layer is disabled or invisible" +msgstr "A módosított réteg le van tiltva vagy láthatatlan" + +msgid "" +"The edited TileMap or TileMapLayer node has no TileSet resource.\n" +"Create or load a TileSet resource in the Tile Set property in the inspector." msgstr "" -"Nincs háló forrás meghatározva (és nincs MultiMesh a Node-ban beállítva)." +"A módosított TileMap vagy TileMapLayer node-nak nincs TileSet erőforrása.\n" +"Hozzon létre vagy töltsön be egy TileSet erőforrást az elemző Tile Set " +"tulajdonságánál." -msgid "No mesh source specified (and MultiMesh contains no Mesh)." -msgstr "Nincs háló forrás meghatározva (és a MultiMesh nem tartalmaz Mesh-t)." +msgid "Select Previous Tile Map Layer" +msgstr "Előző Tile Map Réteg Kiválasztása" -msgid "Mesh source is invalid (invalid path)." -msgstr "Mesh forrás érvénytelen (érvénytelen útvonal)." +msgid "Highlight Selected TileMap Layer" +msgstr "Kiválasztott TileMap Réteg Kiemelése" -msgid "Mesh source is invalid (contains no Mesh resource)." -msgstr "Mesh forrás érvénytelen (nem tartalmaz Mesh erőforrást)." +msgid "Automatically Replace Tiles with Proxies" +msgstr "Csempék Automatikus Cseréje Proxy-kra" -msgid "No surface source specified." -msgstr "Nincs felületi forrás meghatározva." +msgid "Create Alternative-level Tile Proxy" +msgstr "Alternatív-szintű Csempe Proxy Létrehozása" -msgid "Surface source is invalid (invalid path)." -msgstr "Felületi forrás érvénytelen (érvénytelen útvonal)." +msgid "Create Coords-level Tile Proxy" +msgstr "Koordináta-szintű Csempe Proxy Létrehozása" -msgid "Surface source is invalid (no geometry)." -msgstr "Felületi forrás érvénytelen (nincs geometria)." +msgid "Create source-level Tile Proxy" +msgstr "Forrás-szintű Csempe Proxy Létrehozása" -msgid "Surface source is invalid (no faces)." -msgstr "Felületi forrás érvénytelen (nincsenek oldalak)." +msgid "Delete All Invalid Tile Proxies" +msgstr "Összes Érvénytelen Proxy Törlése" -msgid "Select a Source Mesh:" -msgstr "Válasszon Ki Egy Forrás Mesh-t:" +msgid "Tile Proxies Management" +msgstr "Csempe Proxy Menedzsment" -msgid "Select a Target Surface:" -msgstr "Válasszon Ki Egy Cél Felületet:" +msgid "Source-level proxies" +msgstr "Forrás-szintű proxy-k" -msgid "Populate Surface" -msgstr "Felület Kitöltése" +msgid "Coords-level proxies" +msgstr "Koordináta-szintű proxy-k" -msgid "Populate MultiMesh" -msgstr "MultiMesh Kitöltése" +msgid "Alternative-level proxies" +msgstr "Alternatív-szintű proxy-k" -msgid "Target Surface:" -msgstr "Cél Felület:" +msgid "Add a new tile proxy:" +msgstr "Új csempe proxy hozzáadása:" + +msgid "Atlas" +msgstr "Atlasz" + +msgid "" +"Selected tile:\n" +"Source: %d\n" +"Atlas coordinates: %s\n" +"Alternative: %d" +msgstr "" +"Kiválasztott csempe:\n" +"Forrás: %d\n" +"Atlasz koordináták: %s\n" +"Alternatíva: %d" + +msgid "Texture Origin" +msgstr "Textúra Eredet" + +msgid "Z Index" +msgstr "Z Index" + +msgid "Probability" +msgstr "Valószínűség" + +msgid "" +"Create and customize physics layers in the inspector of the TileSet resource." +msgstr "" +"Fizika rétegek létrehozása és testreszabása az elemző TileSet erőforrásával " +"lehetséges." + +msgid "Navigation" +msgstr "Navigáció" + +msgid "" +"Create and customize navigation layers in the inspector of the TileSet " +"resource." +msgstr "" +"Navigációs rétegek létrehozása és testreszabása az elemző TileSet " +"erőforrásával lehetséges." + +msgid "" +"Create and customize custom data layers in the inspector of the TileSet " +"resource." +msgstr "" +"Egyedi adatrétegek létrehozása és testreszabása az elemző TileSet " +"erőforrásával lehetséges." + +msgid "" +"TileSet is in read-only mode. Make the resource unique to edit TileSet " +"properties." +msgstr "" +"A TileSet csak-olvasható módban van. Tegye egyedivé az erőforrást a TileSet " +"tulajdonáságainak módosításához." + +msgid "Remove Tiles Outside the Texture" +msgstr "Textúrán Kívüli Csempék Eltávolítása" + +msgid "Create tiles in non-transparent texture regions" +msgstr "Csempék létrehozása átlátszatlan textúra régiókban" + +msgid "Remove tiles in fully transparent texture regions" +msgstr "Teljesen átlátszó régiók csempéinek eltávolítása" + +msgid "" +"The tile's unique identifier within this TileSet. Each tile stores its source " +"ID, so changing one may make tiles invalid." +msgstr "" +"A csempe TileSet-en belüli egyedi azonosítója. Minden csempe eltárolja a " +"forrás azonosítót, ezért annak módosítása érvénytelenné teheti a csempéket." + +msgid "" +"The human-readable name for the atlas. Use a descriptive name here for " +"organizational purposes (such as \"terrain\", \"decoration\", etc.)." +msgstr "" +"Ember által értelmezhető atlasznév. Könnyen érthető nevet használjon " +"szervezettségi okokból (például \"terep\", \"dekoráció\", stb.)." + +msgid "The image from which the tiles will be created." +msgstr "A kép, amiből a csempék létrejönnek." + +msgid "" +"The margins on the image's edges that should not be selectable as tiles (in " +"pixels). Increasing this can be useful if you download a tilesheet image that " +"has margins on the edges (e.g. for attribution)." +msgstr "" +"A margók a kép szélén, amelyek nem választhatók ki csempeként (pixelben). " +"Ennek növelése hasznos lehet, ha olyan csempelapot tölt le, aminek margó van " +"a szélén (pl. tulajdonjog miatt)." + +msgid "" +"The separation between each tile on the atlas in pixels. Increasing this can " +"be useful if the tilesheet image you're using contains guides (such as " +"outlines between every tile)." +msgstr "" +"Az atlasz csempéi közötti elválasztás pixelszáma. Ennek növelése hasznos " +"lehet, ha a használt csempelap elválasztókat tartalmaz (például körvonalak a " +"csempék körül)." + +msgid "" +"The size of each tile on the atlas in pixels. In most cases, this should " +"match the tile size defined in the TileMap property (although this is not " +"strictly necessary)." +msgstr "" +"Az atlasz csempéinek mérete pixelben. A legtöbb esetben ez meg kell egyezzen " +"a TileMap tulajdonságban meghatározott mérettel (bár nem szigorúan kötelező)." + +msgid "" +"If checked, adds a 1-pixel transparent edge around each tile to prevent " +"texture bleeding when filtering is enabled. It's recommended to leave this " +"enabled unless you're running into rendering issues due to texture padding." +msgstr "" +"Bekapcsolva, hozzáad 1-pixeles átlátszó körvonalat a csempék körül, ezzel " +"megelőzve a textúra átfolyást szűrés alkalmazása mellett. Javasolt " +"bekapcsolva hagyni, kivéve, ha renderelési problémák merülnek fel a textúra " +"padding miatt." + +msgid "" +"The position of the tile's top-left corner in the atlas. The position and " +"size must be within the atlas and can't overlap another tile.\n" +"Each painted tile has associated atlas coords, so changing this property may " +"cause your TileMaps to not display properly." +msgstr "" +"A csempe bal-felső sarkának pozíciója az atlaszban. A pozíció és méret az " +"atlaszon belül kell legyen és nem fedhet át más csempéket.\n" +"Minden megfestett csempének hozzárendelt atlasz koordinátája van, ezért ezen " +"tulajdonság megváltoztatása a TileMap-ek megjelenítésében hibákat okozhat." + +msgid "The unit size of the tile." +msgstr "A csempe egységmérete." + +msgid "" +"Number of columns for the animation grid. If number of columns is lower than " +"number of frames, the animation will automatically adjust row count." +msgstr "" +"Oszlopok száma az animáció rácson. Ha a képkockák számánál kevesebb, akkor az " +"animáció automatikusan hozzáigazítja a sorok számát." + +msgid "The space (in tiles) between each frame of the animation." +msgstr "Hely (csempék száma) az animáció képkockái között." + +msgid "" +"Determines how animation will start. In \"Default\" mode all tiles start " +"animating at the same frame. In \"Random Start Times\" mode, each tile starts " +"animation with a random offset." +msgstr "" +"Meghatározza az animáció kezdetét. \"Alapértelmezett\" módban minden csempe " +"animációja ugyanazon képkockánál kezdődik. A \"Véletlenszerű Kezdési Idő\" " +"módban véletlenszerű eltolással kezdődnek a csempe animációk." + +msgid "If [code]true[/code], the tile is horizontally flipped." +msgstr "Ha [code]true[/code], akkor a csempe horizontálisan tükrözött." + +msgid "If [code]true[/code], the tile is vertically flipped." +msgstr "Ha [code]true[/code], akkor a csempe vertikálisan tükrözött." + +msgid "" +"If [code]true[/code], the tile is rotated 90 degrees [i]counter-clockwise[/i] " +"and then flipped vertically. In practice, this means that to rotate a tile by " +"90 degrees clockwise without flipping it, you should enable [b]Flip H[/b] and " +"[b]Transpose[/b]. To rotate a tile by 180 degrees clockwise, enable [b]Flip " +"H[/b] and [b]Flip V[/b]. To rotate a tile by 270 degrees clockwise, enable " +"[b]Flip V[/b] and [b]Transpose[/b]." +msgstr "" +"Ha [code]true[/code], a csempe 90 fokkal el van forgatva [i]az óramutató " +"járásával ellentétesen[/i] és utána vertikálisan tükrözött. A gyakorlatban ez " +"azt jelenti, hogy ha a csempét 90 fokkal az óramutató járásával megyegyő " +"irányba szeretné forgatni tükrözés nélkül, akkor a [b]Tökrözés H[/b] és " +"[b]Transzponálás[/b] opciókat kell használnia. 180 fokkal forgatásához " +"b]Tükrözés H[/b] és [b]Tükrözés V[/b] használható. 270 fokkal az óramutató " +"járásával megyező irányba forgatáshoz [b]Tükrözés V[/b] és [b]Transzponálás[/" +"b] használható." + +msgid "" +"The origin to use for drawing the tile. This can be used to visually offset " +"the tile compared to the base tile." +msgstr "" +"A csempe rajzolásához használandó eredet. Az alapcsempéhez képesti vizuális " +"eltoláshoz használható." + +msgid "The color multiplier to use when rendering the tile." +msgstr "A csempe rendereléséhez használandó szín szorzó." + +msgid "" +"The material to use for this tile. This can be used to apply a different " +"blend mode or custom shaders to a single tile." +msgstr "" +"A csempéhez használt anyag. Másfajta keverési módhoz vagy egyetlen csempe " +"egyedi shader-rel történő használatához való." + +msgid "" +"The sorting order for this tile. Higher values will make the tile render in " +"front of others on the same layer. The index is relative to the TileMap's own " +"Z index." +msgstr "" +"Rendezési sorrend a csempéhez. Magasabb értékekkel ugyanazon rétegen lévő " +"csempékhez képest előrébb kerül a rendereléskor. Az index a TileMap saját Z " +"indexéhez képest relatív." + +msgid "" +"The vertical offset to use for tile sorting based on its Y coordinate (in " +"pixels). This allows using layers as if they were on different height for top-" +"down games. Adjusting this can help alleviate issues with sorting certain " +"tiles. Only effective if Y Sort Enabled is true on the TileMap layer the tile " +"is placed on." +msgstr "" +"A csempe Y koordinátája alapján meghatározott sorrendiségéhez használt " +"vertikális eltolás (pixelben). Ezzel a rétegek úgy használhatóak felülnézetes " +"játékokhoz, mintha különböző magasságokban lennének. Bizonyos csempesorrend " +"problémákhoz való. Csak \"Y Rendezés Bekapcsolás\" esetén működik azon a " +"TileMap-en, amire rá van helyezve." + +msgid "" +"The index of the terrain set this tile belongs to. [code]-1[/code] means it " +"will not be used in terrains." +msgstr "" +"A hozzá tartozó terepkészlet indexe. [code]-1[/code] esetén a terepekhez nem " +"lesz használatban." + +msgid "" +"The index of the terrain inside the terrain set this tile belongs to. " +"[code]-1[/code] means it will not be used in terrains." +msgstr "" +"A terep indexe a terepkészletben, amihez a csempe tartozik. [code]-1[/code] " +"esetén a terepekhez nem lesz használatban." + +msgid "" +"The relative probability of this tile appearing when painting with \"Place " +"Random Tile\" enabled." +msgstr "" +"Ezen csempe relatív megjelenési esélye \"Véletlenszerű Csempe Elhelyezés\" " +"segítségével történő festés során." + +msgid "Setup" +msgstr "Beállítás" + +msgid "" +"Atlas setup. Add/Remove tiles tool (use the shift key to create big tiles, " +"control for rectangle editing)." +msgstr "" +"Atlasz beállítás. Hozzáadás/Eltávolítás eszköz (shift billentyűvel nagy " +"csempéket, control billentyűvel téglalap módosítást használhat)." + +msgid "Paint" +msgstr "Festés" + +msgid "" +"No tiles selected.\n" +"Select one or more tiles from the palette to edit its properties." +msgstr "" +"Nincs kijelölt csempe.\n" +"Jelöljön ki egy vagy több csempét a palettáról a tulajdonságainak " +"módosításához." + +msgid "Create Tiles in Non-Transparent Texture Regions" +msgstr "Csempék Létrehozása Átlátszatlan Textúra Régiókban" + +msgid "Remove Tiles in Fully Transparent Texture Regions" +msgstr "Csempék Eltávolítása Teljesen Átlátszó Textúra Régiókban" + +msgid "" +"The current atlas source has tiles outside the texture.\n" +"You can clear it using \"%s\" option in the 3 dots menu." +msgstr "" +"A jelenlegi atlasz forrásnak a textúrán kívül is vannak csempéi.\n" +"Eltávolíthatja őket a \"%s\" opcióval a három pöttyös menüben." + +msgid "Auto Create Tiles in Non-Transparent Texture Regions?" +msgstr "Automatikus Csempelétrehozás Átlátszatlan Textúra Régiókban?" + +msgid "" +"The atlas's texture was modified.\n" +"Would you like to automatically create tiles in the atlas?" +msgstr "" +"Az atlasz textúra módosult.\n" +"Szeretne automatikusan csempéket létrehozni az atlaszban?" + +msgid "Yes" +msgstr "Igen" + +msgid "A palette of tiles made from a texture." +msgstr "Textúrából létrejött csempepaletta." + +msgid "A collection of scenes that can be instantiated and placed as tiles." +msgstr "Jelenetcsoport, amely példányosítható és csempeként elhelyezhető." + +msgid "Open Atlas Merging Tool" +msgstr "Atlasz Egyesítés Eszköz Megnyitása" + +msgid "" +"No TileSet source selected. Select or create a TileSet source.\n" +"You can create a new source by using the Add button on the left or by " +"dropping a tileset texture onto the source list." +msgstr "" +"Nincs kijelölt TileSet forrás. Válasszon ki vagy hozzon létre egy TileSet " +"forrást.\n" +"Új forrás létrehozásához használja a Hozzáadás gombot a bal oldalon vagy " +"dobjon egy tileset textúrát a forráslistára." + +msgid "Add new patterns in the TileMap editing mode." +msgstr "Új minták hozzáadása a TileMap módosítás módban." + +msgid "" +"Warning: Modifying a source ID will result in all TileMaps using that source " +"to reference an invalid source instead. This may result in unexpected data " +"loss. Change this ID carefully." +msgstr "" +"Figyelmeztetés: A forrás ID módosítása minden ezen forrást használó TileMap " +"forrásreferenciáját érvényteleníti. Ez váratlan adatvesztéshez vezethet. " +"Legyen óvatos az ID változtatásánál." + +msgid "Drag and drop scenes here or use the Add button." +msgstr "Húzzon ide jeleneteket vagy használja a Hozzáadás gombot." + +msgid "" +"The human-readable name for the scene collection. Use a descriptive name here " +"for organizational purposes (such as \"obstacles\", \"decoration\", etc.)." +msgstr "" +"Ember által értelmezhető jelentcsoportnév. Könnyen érthető nevet használjon " +"szervezettségi okokból (például \"akadályok\", \"dekoráció\", stb.)." + +msgid "" +"ID of the scene tile in the collection. Each painted tile has associated ID, " +"so changing this property may cause your TileMaps to not display properly." +msgstr "" +"A jelenetcsempe azonosítója a csoporton belül. Minden megfestett csempének " +"van azonosítója, ezért ezen tulajdonság megváltoztatása a TileMap-ek " +"megjelenítésében hibákat okozhat." + +msgid "Absolute path to the scene associated with this tile." +msgstr "A csempéhez rendelt jelenet abszolút útvonala." + +msgid "" +"If [code]true[/code], a placeholder marker will be displayed on top of the " +"scene's preview. The marker is displayed anyway if the scene has no valid " +"preview." +msgstr "" +"Ha [code]true[/code], akkor egy placeholder jelző jelenik meg a jelenet " +"előnézete felett. A jelző akkor is megjelenik, ha a jelenetnek nincs érvényes " +"előnézete." + +msgid "Eraser Tool" +msgstr "Radír Eszköz" + +msgid "" +"Source ID: %d\n" +"Texture path: %s" +msgstr "" +"Forrás ID: %d\n" +"Textúra útvonal: %s" + +msgid "Bone Picker:" +msgstr "Csont Pipetta:" + +msgid "Clear mappings in current group." +msgstr "A csoport hozzárendeléseinek kiürítése." + +msgid "Preview" +msgstr "Előnézet" + +msgid "Change AudioStreamPlayer3D Emission Angle" +msgstr "AudioStreamPlayer3D Kibocsátási Szögének Változtatása" + +msgid "Change Camera FOV" +msgstr "Kamera látószög változtatás" + +msgid "Change Camera Size" +msgstr "Kamera méret változtatás" + +msgid "Change Light Radius" +msgstr "Fény Sugarának Változtatása" + +msgid "Change Sphere Shape Radius" +msgstr "Gömb Alak Sugár Változtatása" + +msgid "Change Capsule Shape Radius" +msgstr "Kapszula Alak Sugár Változtatása" + +msgid "Change Capsule Shape Height" +msgstr "Kapszula Alak Magasság Változtatása" + +msgid "Change Cylinder Shape Radius" +msgstr "Cilinder Alak Sugár Változtatása" + +msgid "Change Cylinder Shape Height" +msgstr "Cilinder Alak Magasság Változtatása" + +msgid "Remove SoftBody3D pinned point %d" +msgstr "SoftBody3D rögzített pont %d törlése" + +msgid "Add SoftBody3D pinned point %d" +msgstr "SoftBody3D rögzített pont %d hozzáadása" + +msgid "Change Notifier AABB" +msgstr "AABB Értesítő Változtatása" + +msgid "Subdivisions: %s" +msgstr "Felosztások: %s" + +msgid "Cell size: %s" +msgstr "Cellaméret: %s" + +msgid "Video RAM size: %s MB (%s)" +msgstr "Videó RAM méret: %s MB (%s)" + +msgid "Bake SDF" +msgstr "SDF égetése" + +msgid "" +"No faces detected during GPUParticlesCollisionSDF3D bake.\n" +"Check whether there are visible meshes matching the bake mask within its " +"extents." +msgstr "" +"Nem található oldallap a GPUParticlesCollisionSDF3D égetés során.\n" +"Ellenőrizze, hogy vannak-e látható mesh-ek az égetőmaszkhoz rendelve annak " +"befoglaló területén belül." + +msgid "Select path for SDF Texture" +msgstr "Válasszon útvonalat az SDF textúrához" + +msgid "" +"No meshes with lightmapping support to bake. Make sure they contain UV2 data " +"and their Global Illumination property is set to Static." +msgstr "" +"Nincsenek lighmap-et támogató mesh-ek az égetéshez. Ellenőrizze, hogy van UV2 " +"adatuk és hogy a Globális Megvilágítás tulajdonság Statikus." + +msgid "" +"To import a scene with lightmapping support, set Meshes > Light Baking to " +"Static Lightmaps in the Import dock." +msgstr "" +"Lightmapping támogatással történő jelenetimportáláshoz állítsa a Mesh-ek > " +"Fények égetése opciót Statikus Lightmap-ekre az import dokkon." + +msgid "" +"To enable lightmapping support on a primitive mesh, edit the PrimitiveMesh " +"resource in the inspector and check Add UV2." +msgstr "" +"A lightmap támogatás engedélyezhető a primitív mesh-ekhez az elemzőbeli " +"PrimitiveMesh erőforrásnál az UV2 Hozzáadása opcióval." + +msgid "" +"To enable lightmapping support on a CSG mesh, select the root CSG node and " +"choose CSG > Bake Mesh Instance at the top of the 3D editor viewport.\n" +"Select the generated MeshInstance3D node and choose Mesh > Unwrap UV2 for " +"Lightmap/AO at the top of the 3D editor viewport." +msgstr "" +"A lightmap támogatás engedélyezhető a CSG mesh-ekhez, ehhez a CSG gyökér node " +"kiválasztása után a CSG > Mesh Példány Égetés opciót kell választani a 3D " +"szerkesztő betekintője fölött.\n" +"Válassza ki a MeshInstance3D node-ot és használja a Mesh > UV2 Kicsomagolás " +"Lightmap/AO-hoz opciót a 3D szerkesztő betekintője fölött." + +msgid "Lightmap data is not local to the scene." +msgstr "A lightmap adatok nem lokálisak a jeleneten." + +msgid "" +"Maximum texture size is too small for the lightmap images.\n" +"While this can be fixed by increasing the maximum texture size, it is " +"recommended you split the scene into more objects instead." +msgstr "" +"A maximális textúra méret túl kicsi a lightmap képekhez.\n" +"Bár ez javítható a maximális textúra méret növelésével, javasolt inkább a " +"jelenetet több objektumra osztani." + +msgid "" +"Failed creating lightmap images. Make sure all meshes to bake have the " +"Lightmap Size Hint property set high enough, and the LightmapGI's Texel Scale " +"value is not too low." +msgstr "" +"A lightmap képek létrehozása sikertelen. Ellenőrizze, hogy az égetéshez " +"használt összes mesh-nek elég magas-e a Lightmap Méret Célja, illetve a " +"LightmapGI Texel Skála értéke nem túl alacsony-e." + +msgid "" +"Failed fitting a lightmap image into an atlas. This should never happen and " +"should be reported." +msgstr "" +"Egy lightmap kép atlaszba illesztése nem sikerült. Ennek nem szabad " +"megtörténnie és jelenteni szükséges." + +msgid "Bake Lightmaps" +msgstr "Fény Besütése" + +msgid "Lightmap baking is not supported on this GPU (%s)." +msgstr "Ezen a GPU-n (%s) nem támogatott a lightmap égetés." + +msgid "Lightmaps cannot be baked on %s." +msgstr "Lightmap-ek nem égethetőek ezen: %s." + +msgid "" +"Lightmaps cannot be baked, as the `lightmapper_rd` module was disabled at " +"compile-time." +msgstr "" +"Lightmap-ek nem égethetőek, mert a `lightmapper_rd` modult letiltották a " +"szoftverváltozat készítésekor." + +msgid "LightMap Bake" +msgstr "LightMap Égetés" + +msgid "Couldn't create a Trimesh collision shape." +msgstr "TriMesh ütközési alakzatának létrehozása sikertelen." + +msgid "Couldn't create any collision shapes." +msgstr "Nem sikerült ütközési alakzatokat létrehozni." + +msgid "Create %s Static Body Child" +msgstr "%s Statikus Test Gyermek Létrehozása" + +msgid "Trimesh" +msgstr "Trimesh" + +msgid "Create %s Static Body Children" +msgstr "%s Statikus Test Gyermekek Létrehozása" + +msgid "Bounding Box" +msgstr "Befoglaló Doboz" + +msgid "Capsule" +msgstr "Kapszula" + +msgid "Cylinder" +msgstr "Cilinder" + +msgid "Sphere" +msgstr "Gömb" + +msgid "Mesh is empty!" +msgstr "A háló üres!" + +msgid "" +"Mesh cannot unwrap UVs because it belongs to another resource which was " +"imported from another file type. Make it unique first." +msgstr "" +"A mesh nem tudja kicsomagolni az UV-ket, mert másik erőforráshoz tartozik, " +"amely más fájltípusból volt importálva. Tegye először egyedivé." + +msgid "Unwrap UV2" +msgstr "UV2 Kicsomagolása" + +msgid "Contained Mesh is not of type ArrayMesh." +msgstr "A tartalmazott Mesh nem ArrayMesh típusú." + +msgid "Only triangles are supported for lightmap unwrap." +msgstr "Lightmap kicsomagoláshoz csak a háromszögek támogatottak." + +msgid "Normals are required for lightmap unwrap." +msgstr "Lightmap kicsomagoláshoz normálokra van szükség." + +msgid "UV Unwrap failed, mesh may not be manifold?" +msgstr "UV kibontás sikertelen, a mesh talán nem sokrétű?" + +msgid "No mesh to debug." +msgstr "Nincs mesh a hibakereséshez." + +msgid "Create Navigation Mesh" +msgstr "Navigációs Háló Létrehozása" + +msgid "Create Outline" +msgstr "Körvonal Készítése" + +msgid "Mesh" +msgstr "Mesh" + +msgid "Create Outline Mesh..." +msgstr "Körvonalháló Létrehozása..." + +msgid "" +"Creates a static outline mesh. The outline mesh will have its normals flipped " +"automatically.\n" +"This can be used instead of the StandardMaterial Grow property when using " +"that property isn't possible." +msgstr "" +"Statikus körvonal mesh-t hoz létre. A körvonal mesh normáljai automatikusan " +"tükröződnek.\n" +"Ez a StandardMaterial Növesztés tulajdonsága helyett használható, amikor az a " +"tulajdonság nem elérhető." + +msgid "View UV1" +msgstr "UV1 Megtekintése" + +msgid "View UV2" +msgstr "UV2 Megtekintése" + +msgid "Unwrap UV2 for Lightmap/AO" +msgstr "UV2 Kicsomagolása Fénytérképhez / AO-hoz" + +msgid "Create Outline Mesh" +msgstr "Körvonalháló Készítése" + +msgid "Outline Size:" +msgstr "Körvonal Mérete:" + +msgid "Static Body Child" +msgstr "Statikus Test Gyermek" + +msgid "Creates a StaticBody3D as child and assigns collision shapes to it." +msgstr "StaticBody3D gyermeket hoz létre és ütközési alakokat rendel hozzá." + +msgid "" +"Creates a polygon-based collision shape.\n" +"This is the most accurate (but slowest) option for collision detection." +msgstr "" +"Sokszög-alapú ütközési alakzatot hoz létre.\n" +"Ez a legpontosabb (de leglassabb) opció az ütközések érzékeléséhez." + +msgid "" +"Creates a single convex collision shape.\n" +"This is the faster than the trimesh or multiple convex option, but is less " +"accurate for collision detection." +msgstr "" +"Egyetlen konvex ütközési alakzatot hoz létre.\n" +"Ez a trimesh vagy többszörös konvex opcióknál gyorsabb, de kevésbé pontos az " +"ütközések érzékelésénél." + +msgid "" +"Creates a simplified convex collision shape.\n" +"This is similar to single collision shape, but can result in a simpler " +"geometry in some cases, at the cost of accuracy." +msgstr "" +"Egyszerűsített konvex ütközési alakzatot hoz létre.\n" +"Ez hasonló az egyetlen konvex ütközési alakzathoz, de bizonyos esetekben " +"egyszerűbb geometriához vezethet némi pontosság feláldozása árán." + +msgid "" +"Creates multiple convex collision shapes. These are decomposed from the " +"original mesh.\n" +"This is a performance and accuracy middle-ground between a single convex " +"collision and a polygon-based trimesh collision." +msgstr "" +"Több konvex ütközési alakzatot hoz létre. Ezek az eredeti mesh " +"visszabontásával készülnek.\n" +"Ez egy középút a teljesítmény és pontosság, illetve az egyetlen konvex " +"ütközés és sokszög-alapú trimesh ütközés között." + +msgid "" +"Creates an bounding box collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in BoxMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Befoglaló doboz ütközési alakzatot hoz létre.\n" +"Ez a mesh AABB tulajdonságát használja, ha a mesh-nek nincs beépített BoxMesh-" +"e.\n" +"Ütközésérzékeléshez gyorsabb, mint a konvex ütközési alakzat opció." + +msgid "" +"Creates a capsule collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in CapsuleMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Kapszula ütközési alakzatot hoz létre.\n" +"Ez a mesh AABB tulajdonságát használja, ha a mesh-nek nincs beépített " +"CapsuleMesh-e.\n" +"Ütközésérzékeléshez gyorsabb, mint a konvex ütközési alakzat opció." + +msgid "" +"Creates a cylinder collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in CylinderMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Cilinder ütközési alakzatot hoz létre.\n" +"Ez a mesh AABB tulajdonságát használja, ha a mesh-nek nincs beépített " +"CylinderMesh-e.\n" +"Ütközésérzékeléshez gyorsabb, mint a konvex ütközési alakzat opció." + +msgid "" +"Creates a sphere collision shape.\n" +"This will use the mesh's AABB if the shape is not a built-in SphereMesh.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Gömb ütközési alakzatot hoz létre.\n" +"Ez a mesh AABB tulajdonságát használja, ha a mesh-nek nincs beépített " +"SphereMesh-e.\n" +"Ütközésérzékeléshez gyorsabb, mint a konvex ütközési alakzat opció." + +msgid "" +"Creates a box, capsule, cylinder, or sphere primitive collision shape if the " +"mesh is a primitive.\n" +"The mesh must use the built-in BoxMesh, CapsuleMesh, CylinderMesh, or " +"SphereMesh primitive.\n" +"This is faster than the convex collision shape option for collision detection." +msgstr "" +"Doboz, kapszula, cilinder vagy gömb primitív ütközési alakzatot hoz létre, ha " +"a mesh primitív.\n" +"A mesh-nek a beépített BoxMesh, CapsuleMesh, vagy SphereMesh primitíveket " +"kell használnia.\n" +"Ütközésérzékeléshez gyorsabb, mint a konvex ütközési alakzat opció." + +msgid "Alignment Axis" +msgstr "Igazítási Tengely" + +msgid "Longest Axis" +msgstr "Leghosszabb Tengely" + +msgid "Create the shape along the longest axis of the mesh's AABB." +msgstr "" +"Létrehozza az alakzatot a mesh AABB tulajdonságának leghosszabb tengelye " +"mentén." + +msgid "X-Axis" +msgstr "X-Tengely" + +msgid "Create the shape along the local X-Axis." +msgstr "A lokális X-tengely mentén hozza létre az alakzatot." + +msgid "Y-Axis" +msgstr "Y-Tengely" + +msgid "Create the shape along the local Y-Axis." +msgstr "A lokális Y-tengely mentén hozza létre az alakzatot." + +msgid "Z-Axis" +msgstr "Z-Tengely" + +msgid "Create the shape along the local Z-Axis." +msgstr "A lokális Z-tengely mentén hozza létre az alakzatot." + +msgid "UV Channel Debug" +msgstr "UV Csatorna Hibakeresés" + +msgid "" +"Before converting a rendering mesh to a navigation mesh, please verify:\n" +"\n" +"- The mesh is two-dimensional.\n" +"- The mesh has no surface overlap.\n" +"- The mesh has no self-intersection.\n" +"- The mesh surfaces have indices.\n" +"\n" +"If the mesh does not fulfill these requirements, the pathfinding will be " +"broken." +msgstr "" +"Mielőtt egy renderelő mesh-t navigációs mesh-sé alakít, ellenőrizze az " +"alábbiakat:\n" +"\n" +"- A mesh kétdimenziós.\n" +"- A mesh-nek nincs felületátfedése.\n" +"- A mesh-nek nincs önmetszése.\n" +"- A mesh felületeinek vannak indexei.\n" +"\n" +"Ha a mesh nem teljesíti ezeket a feltételeket, akkor az útkeresés nem fog " +"működni." + +msgid "Remove item %d?" +msgstr "%d elem eltávolítása?" + +msgid "" +"Update from existing scene?:\n" +"%s" +msgstr "" +"Frissíti a meglévő jelenetből?:\n" +"%s" + +msgid "MeshLibrary" +msgstr "MeshLibrary" + +msgid "Add Item" +msgstr "Elem Hozzáadása" + +msgid "Remove Selected Item" +msgstr "Kijelölt Elem Eltávolítása" + +msgid "Update from Scene" +msgstr "Frissítés Jelenetből" + +msgid "No mesh source specified (and no MultiMesh set in node)." +msgstr "" +"Nincs háló forrás meghatározva (és nincs MultiMesh a Node-ban beállítva)." + +msgid "No mesh source specified (and MultiMesh contains no Mesh)." +msgstr "Nincs háló forrás meghatározva (és a MultiMesh nem tartalmaz Mesh-t)." + +msgid "Mesh source is invalid (invalid path)." +msgstr "Mesh forrás érvénytelen (érvénytelen útvonal)." + +msgid "Mesh source is invalid (contains no Mesh resource)." +msgstr "Mesh forrás érvénytelen (nem tartalmaz Mesh erőforrást)." + +msgid "No surface source specified." +msgstr "Nincs felületi forrás meghatározva." + +msgid "Surface source is invalid (invalid path)." +msgstr "Felületi forrás érvénytelen (érvénytelen útvonal)." + +msgid "Surface source is invalid (no geometry)." +msgstr "Felületi forrás érvénytelen (nincs geometria)." + +msgid "Surface source is invalid (no faces)." +msgstr "Felületi forrás érvénytelen (nincsenek oldalak)." + +msgid "Select a Source Mesh:" +msgstr "Válasszon Ki Egy Forrás Mesh-t:" + +msgid "Select a Target Surface:" +msgstr "Válasszon Ki Egy Cél Felületet:" + +msgid "Populate Surface" +msgstr "Felület Kitöltése" + +msgid "Populate MultiMesh" +msgstr "MultiMesh Kitöltése" + +msgid "Target Surface:" +msgstr "Cél Felület:" msgid "Source Mesh:" msgstr "Forrás Mesh:" @@ -6491,6 +7743,9 @@ msgstr "Ortogonális" msgid "Perspective" msgstr "Perspektíva" +msgid "[auto]" +msgstr "[auto]" + msgid "X-Axis Transform." msgstr "X-Tengely Transzformáció." @@ -6509,6 +7764,30 @@ msgstr "A kulcsolás le van tiltva (nincs kulcs megadva)." msgid "Animation Key Inserted." msgstr "Animációs Kulcs Beillesztve." +msgid "" +"Drag and drop to override the material of any geometry node.\n" +"Hold %s when dropping to override a specific surface." +msgstr "" +"Ráhúzással felülírható bármely geometria node anyaga.\n" +"Tartsa nyomva a %s billentyűt a ráejtéskor egy konkrét felület felülírásához." + +msgid "" +"This debug draw mode is only supported when using the Forward+ or Mobile " +"renderer." +msgstr "" +"Ez a hibakereső rajz mód csak a Forward+ és Mobile rendermotorok esetén " +"támogatott." + +msgid "This debug draw mode is only supported when using the Forward+ renderer." +msgstr "" +"Ez a hibakereső rajz mód csak a Forward+ rendermotorok esetén támogatott." + +msgid "CPU Time: %s ms" +msgstr "CPU Idő: %s ms" + +msgid "GPU Time: %s ms" +msgstr "GPU Idő: %s ms" + msgid "FPS: %d" msgstr "FPS: %d" @@ -6530,30 +7809,306 @@ msgstr "Első nézet." msgid "Rear View." msgstr "Hátsó nézet." +msgid "Align Transform with View" +msgstr "Transzformáció Nézethez Igazítása" + +msgid "Align Rotation with View" +msgstr "Forgás Nézethez Igazítása" + +msgid "Set Surface %d Override Material" +msgstr "Felület %d Felülíró Anyagának Beállítása" + +msgid "Circular dependency found at %s" +msgstr "Körkörös függőség található itt: %s" + msgid "Rotating %s degrees." msgstr "%s fokkal való forgatás." +msgid "Rotating %f degrees." +msgstr "Forgatás %f fokkal." + msgid "View" msgstr "Nézet" +msgid "Auto Orthogonal Enabled" +msgstr "Auto Ortogonális Bekapcsolva" + +msgid "Lock View Rotation" +msgstr "Nézet Forgás Zárolása" + msgid "Display Normal" msgstr "Normális Nézet" msgid "Display Wireframe" msgstr "Drótváz Nézet" +msgid "Display Overdraw" +msgstr "Megjelenítés Túlrajzolás" + +msgid "Display Unshaded" +msgstr "Megjelenítés Shading Nélkül" + +msgid "" +"Displays directional shadow splits in different colors to make adjusting " +"split thresholds easier. \n" +"Red: 1st split (closest to the camera), Green: 2nd split, Blue: 3rd split, " +"Yellow: 4th split (furthest from the camera)" +msgstr "" +"Színezett irányított árnyszeleteket jelenít meg, megkönnyítve ezzel a " +"szeletek küszöbértékeinek beállítását. \n" +"Piros: 1. szelet (legközelebb a kamerához), Zöld: 2. szelet, Kék: 3. szelet, " +"Sárga: 4. szelet (legtávolabb a kamerától)" + msgid "Normal Buffer" msgstr "Normál Buffer" +msgid "Shadow Atlas" +msgstr "Árnyékatlasz" + +msgid "" +"Displays the shadow atlas used for positional (omni/spot) shadow mapping.\n" +"Requires a visible OmniLight3D or SpotLight3D node with shadows enabled to " +"have a visible effect." +msgstr "" +"Megjeleníti a helyzetalapú (omni/spot) árnyéktérképhez használt " +"árnyékatlaszt.\n" +"Látható és engedélyezett árnyékokkal rendelkező OmniLight3D vagy SpotLight3D " +"node szükséges az érzékelhető eredményhez." + +msgid "" +"Displays the shadow map used for directional shadow mapping.\n" +"Requires a visible DirectionalLight3D node with shadows enabled to have a " +"visible effect." +msgstr "" +"Megjeleníti az irányított árnyéktérképezéshez használt árnyéktérképet.\n" +"Látható és engedélyezett árnyékokkal rendelkező DirectionalLight3D node " +"szükséges az érzékelhető eredményhez." + +msgid "Decal Atlas" +msgstr "Decal Atlasz" + +msgid "" +"Requires a visible VoxelGI node that has been baked to have a visible effect." +msgstr "Látható és beégetett VoxelGI node szükséges az érzékelhető eredményhez." + +msgid "VoxelGI Albedo" +msgstr "VoxelGI Albedó" + +msgid "SDFGI Cascades" +msgstr "SDFGI Kaszkádok" + +msgid "Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"A Környezetben engedélyezett SDFGI szükséges az érzékelhető eredményhez." + +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Bal-klikk az SDFGI szondára a az okklúzió információ megjelenítéséhez (fehér " +"= nincs okklúzió, piros = teljes okklúzió).\n" +"A Környezetben engedélyezett SDFGI szükséges az érzékelhető eredményhez." + +msgid "" +"Displays the scene luminance computed from the 3D buffer. This is used for " +"Auto Exposure calculation.\n" +"Requires Auto Exposure to be enabled in CameraAttributes to have a visible " +"effect." +msgstr "" +"Megjeleníti a 3D buffer-ből számolt jelenet fényességet. Ez az Auto Expozíció " +"kalkulációhoz használatos.\n" +"A CameraAttributes beállításokban engedélyezett Auto Expozíció szükséges az " +"érzékelhető eredményhez." + +msgid "SSAO" +msgstr "SSAO" + +msgid "" +"Displays the screen-space ambient occlusion buffer. Requires SSAO to be " +"enabled in Environment to have a visible effect." +msgstr "" +"Megjeleníti a screen-space környezeti sugárkövetés buffert. A Környezetben " +"engedélyezett SSAO szükséges az érzékelhető eredményhez." + +msgid "SSIL" +msgstr "SSIL" + +msgid "" +"Displays the screen-space indirect lighting buffer. Requires SSIL to be " +"enabled in Environment to have a visible effect." +msgstr "" +"Megjeleníti a screen-space közvetett megvilágítás buffert. A Környezetben " +"engedélyezett SSIL szükséges az érzékelhető eredményhez." + +msgid "VoxelGI/SDFGI Buffer" +msgstr "VoxelGI/SDFGI Buffer" + +msgid "Requires SDFGI or VoxelGI to be enabled to have a visible effect." +msgstr "Engedélyezett SDFGI vagy VoxelGI szükséges az érzékelhető eredményhez." + +msgid "" +"Renders all meshes with their highest level of detail regardless of their " +"distance from the camera." +msgstr "" +"Minden mesh-t a legmagasabb részletezettségi szinten renderel függetlenül a " +"kamera távolságától." + +msgid "OmniLight3D Cluster" +msgstr "OmniLight3D Csoport" + +msgid "" +"Highlights tiles of pixels that are affected by at least one OmniLight3D." +msgstr "Kiemeli a legalább egy OmniLight3D által érintett pixelcsempéket." + +msgid "SpotLight3D Cluster" +msgstr "SpotLight3D Csoport" + +msgid "" +"Highlights tiles of pixels that are affected by at least one SpotLight3D." +msgstr "Kiemeli a legalább egy SpotLight3D által érintett pixelcsempéket." + +msgid "Decal Cluster" +msgstr "Decal Csoport" + +msgid "Highlights tiles of pixels that are affected by at least one Decal." +msgstr "Kiemeli a legalább egy Decal által érintett pixelcsempéket." + +msgid "" +"Highlights tiles of pixels that are affected by at least one ReflectionProbe." +msgstr "Kiemeli a legalább egy ReflectionProbe által érintett pixelcsempéket." + +msgid "Occlusion Culling Buffer" +msgstr "Occlusion Culling Buffer" + +msgid "" +"Represents occluders with black pixels. Requires occlusion culling to be " +"enabled to have a visible effect." +msgstr "" +"Fekete pixeleket tartalmazó occluder-eket képvisel. Engedélyezett occlusion " +"culling szükséges az érzékelhető eredményhez." + +msgid "" +"Represents motion vectors with colored lines in the direction of motion. Gray " +"dots represent areas with no per-pixel motion." +msgstr "" +"Mozgásvektorokat képvisel mozgásiránynak megfelelő színes vonalak képében. A " +"szürke pontok pixelenkénti mozdulatlanságot képviselnek." + msgid "Internal Buffer" msgstr "Belső Buffer" +msgid "" +"Shows the scene rendered in linear colorspace before any tonemapping or post-" +"processing." +msgstr "" +"Megmutatja a renderelt jelenetet színleképezés és utófeldolgozás előtti " +"lineáris színtérben." + +msgid "View Environment" +msgstr "Környezet Megtekintése" + +msgid "View Gizmos" +msgstr "Gizmók Megtekintése" + msgid "View Grid" msgstr "Négyzethálós Nézet" +msgid "View Information" +msgstr "Információ Megtekintése" + +msgid "Half Resolution" +msgstr "Fél Felbontás" + +msgid "Enable Doppler" +msgstr "Doppler Engedélyezése" + msgid "Cinematic Preview" msgstr "Filmszerű előnézet" +msgid "Viewport Orbit Modifier 1" +msgstr "Betekintő Pálya Módosító 1" + +msgid "Viewport Orbit Modifier 2" +msgstr "Betekintő Pálya Módosító 2" + +msgid "Viewport Orbit Snap Modifier 1" +msgstr "Betekintő Pálya Illesztés Módosító 1" + +msgid "Viewport Orbit Snap Modifier 2" +msgstr "Betekintő Pálya Illesztés Módosító 2" + +msgid "Viewport Pan Modifier 1" +msgstr "Betekintő Csúsztatás Módosító 1" + +msgid "Viewport Pan Modifier 2" +msgstr "Betekintő Csúsztatás Módosító 2" + +msgid "Viewport Zoom Modifier 1" +msgstr "Betekintő Nagyítás Módosító 1" + +msgid "Viewport Zoom Modifier 2" +msgstr "Betekintő Nagyítás Módosító 2" + +msgid "Freelook Left" +msgstr "Szabadnézet Bal" + +msgid "Freelook Right" +msgstr "Szabadnézet Jobb" + +msgid "Freelook Forward" +msgstr "Szabadnézet Előre" + +msgid "Freelook Backwards" +msgstr "Szabadnézet Hátra" + +msgid "Freelook Up" +msgstr "Szabadnézet Fel" + +msgid "Freelook Down" +msgstr "Szabadnézet Le" + +msgid "Freelook Speed Modifier" +msgstr "Szabadnézet Sebesség Módosító" + +msgid "Freelook Slow Modifier" +msgstr "Szabadnézet Lassítás Módosító" + +msgid "Lock Transformation to X axis" +msgstr "X tengelyre Transzformálás Zárolása" + +msgid "Lock Transformation to Y axis" +msgstr "Y tengelyre Transzformálás Zárolása" + +msgid "Lock Transformation to Z axis" +msgstr "Z tengelyre Transzformálás Zárolása" + +msgid "Lock Transformation to YZ plane" +msgstr "YZ síkra Transzformálás Zárolása" + +msgid "Lock Transformation to XZ plane" +msgstr "XZ síkra Transzformálás Zárolása" + +msgid "Lock Transformation to XY plane" +msgstr "XY síkra Transzformálás Zárolása" + +msgid "Begin Translate Transformation" +msgstr "Áthelyezés Transzformáció Indítása" + +msgid "Reposition Using Collisions" +msgstr "Áthelyezés Ütközések Használatával" + +msgid "View Rotation Locked" +msgstr "Nézet Forgás Zárolva" + +msgid "" +"To zoom further, change the camera's clipping planes (View → Settings...)" +msgstr "" +"További nagyításhoz változtasson a kamera vágósíkjain (Nézet → Beállítások...)" + +msgid "Overriding material..." +msgstr "Anyag felülírása..." + msgid "XForm Dialog" msgstr "XForm Párbeszédablak" @@ -6569,6 +8124,47 @@ msgstr "Kijelöltek csoportosítása" msgid "Ungroup Selected" msgstr "kijelölt csoportok szétbontása" +msgid "" +"Click to toggle between visibility states.\n" +"\n" +"Open eye: Gizmo is visible.\n" +"Closed eye: Gizmo is hidden.\n" +"Half-open eye: Gizmo is also visible through opaque surfaces (\"x-ray\")." +msgstr "" +"Kattintással váltható a láthatósági állapot.\n" +"\n" +"Nyitott szem: A gizmo látható.\n" +"Csukott szem: A gizmo rejtett.\n" +"Félig nyitott szem: A gizmo az átlászatlan felületeken keresztül is látható " +"(\"röntgen\")." + +msgid "Couldn't find a solid floor to snap the selection to." +msgstr "Nincs tömör padló, amelyhez a kiválasztást illeszteni lehetne." + +msgid "Add Preview Environment to Scene" +msgstr "Előnézeti Környezet Jelenethez Adása" + +msgid "" +"Scene contains\n" +"DirectionalLight3D.\n" +"Preview disabled." +msgstr "" +"A jelenetben\n" +"DirectionalLight3D van.\n" +"Előnézet letiltva." + +msgid "" +"Scene contains\n" +"WorldEnvironment.\n" +"Preview disabled." +msgstr "" +"A jelenetben\n" +"WorldEnvironment van.\n" +"Előnézet letiltva." + +msgid "Set Preview Sun Max Shadow Distance" +msgstr "Előnézeti Nap Max Árnyék Távolság Beállítása" + msgid "Move Mode" msgstr "Mozgató Mód" @@ -6581,12 +8177,56 @@ msgstr "Méretezési mód" msgid "Select Mode" msgstr "Kiválasztó Mód" +msgid "Lock selected node, preventing selection and movement." +msgstr "Kijelölt node zárolása, ezzel a kijelölés és mozgás megakadályozása." + +msgid "" +"Groups the selected node with its children. This selects the parent when any " +"child node is clicked in 2D and 3D view." +msgstr "" +"Csoportosítja a kijelölt node-ot és annak gyermekeit. Ez kijelöli a szülőt, " +"amikor bármely gyermek node-ra kattint 2D vagy 3D nézetben." + +msgid "" +"Ungroups the selected node from its children. Child nodes will be individual " +"items in 2D and 3D view." +msgstr "" +"Szétválasztja a kijelölt node-ot és annak gyermekeit. A gyermek node-ok " +"önállóvá válnak 2D és 3D nézetben." + +msgid "LMB+Drag: Measure the distance between two points in 3D space." +msgstr "LMB+Húzás: Távolságmérés két pont között 3D térben." + msgid "Ruler Mode" msgstr "Vonalzó mód" +msgid "Use Local Space" +msgstr "Lokális Környezet Használata" + msgid "Use Snap" msgstr "Illesztés Használata" +msgid "" +"Toggle preview sunlight.\n" +"If a DirectionalLight3D node is added to the scene, preview sunlight is " +"disabled." +msgstr "" +"Napfény előnézet kapcsolása.\n" +"Ha egy DirectionalLight3D node kerül a jelenetbe, a napfény előnézet " +"letiltásra kerül." + +msgid "" +"Toggle preview environment.\n" +"If a WorldEnvironment node is added to the scene, preview environment is " +"disabled." +msgstr "" +"Előnézeti környezet kapcsolása.\n" +"Ha egy WorldEnvironment node kerül a jelenetbe, az előnézeti környezet " +"letiltásra kerül." + +msgid "Edit Sun and Environment settings." +msgstr "Nap és Környezet beállítások módosítása." + msgid "Bottom View" msgstr "Alsó Nézet" @@ -6605,6 +8245,24 @@ msgstr "Bal Nézet" msgid "Right View" msgstr "Jobb Nézet" +msgid "Orbit View Down" +msgstr "Orbit Nézet Le" + +msgid "Orbit View Left" +msgstr "Orbit Nézet Bal" + +msgid "Orbit View Right" +msgstr "Orbit Nézet Jobb" + +msgid "Orbit View Up" +msgstr "Orbit Nézet Fel" + +msgid "Orbit View 180" +msgstr "Orbit Nézet 180" + +msgid "Switch Perspective/Orthogonal View" +msgstr "Perspektívikus/Ortogonális Nézet Váltás" + msgid "Insert Animation Key" msgstr "Animációs Kulcs Beszúrása" @@ -6614,12 +8272,24 @@ msgstr "Eredet Fókuszálása" msgid "Focus Selection" msgstr "Kiválasztott Fókuszálása" +msgid "Toggle Freelook" +msgstr "Szabadnézet Kapcsolása" + +msgid "Decrease Field of View" +msgstr "Látómező (FOV) Csökkentése" + +msgid "Increase Field of View" +msgstr "Látómező (FOV) Növelése" + msgid "Transform" msgstr "átalakítás" msgid "Snap Object to Floor" msgstr "Objektum illesztése a padlóhoz" +msgid "Transform Dialog..." +msgstr "Átalakítás Párbeszédablak..." + msgid "Configure Snap..." msgstr "Illesztés Beállítása..." @@ -6641,6 +8311,9 @@ msgstr "3 Nézetablak (Alt)" msgid "4 Viewports" msgstr "4 Nézetablak" +msgid "Gizmos" +msgstr "Gizmók" + msgid "View Origin" msgstr "Eredet Nézet" @@ -6650,21 +8323,81 @@ msgstr "Beállítások..." msgid "Snap Settings" msgstr "Illesztés Beállítások" +msgid "Translate Snap:" +msgstr "Illesztés Áthelyezés:" + msgid "Viewport Settings" msgstr "Nézetablak Beállítások" +msgid "" +"FOV is defined as a vertical value, as the editor camera always uses the Keep " +"Height aspect mode." +msgstr "" +"Az FOV vertikális értékként definiált, mert a szerkesztő kamerája mindig " +"Magasságtartás nézet módot használ." + +msgid "View Z-Near:" +msgstr "Z-Közel Nézet:" + +msgid "View Z-Far:" +msgstr "Z-Távol Nézet:" + msgid "Transform Change" msgstr "Átalakítás Módosítása" msgid "Translate:" -msgstr "Átalakítás:" +msgstr "Áthelyezés:" msgid "Rotate (deg.):" msgstr "Forgatás (fok):" +msgid "Azimuth" +msgstr "Azimut" + +msgid "" +"Adds a DirectionalLight3D node matching the preview sun settings to the " +"current scene.\n" +"Hold Shift while clicking to also add the preview environment to the current " +"scene." +msgstr "" +"DirectionalLight3D node-ot ad a jelenethez, ami egyezik az előnézeti nap " +"beállításaival.\n" +"Shift nyomvatartása mellett az előnézeti környezetet is hozzáadja a " +"jelenethez." + +msgid "AO" +msgstr "AO" + +msgid "Glow" +msgstr "Ragyogás" + msgid "Tonemap" msgstr "Tónustérkép" +msgid "GI" +msgstr "GI" + +msgid "" +"Adds a WorldEnvironment node matching the preview environment settings to the " +"current scene.\n" +"Hold Shift while clicking to also add the preview sun to the current scene." +msgstr "" +"WorldEnvironment node-ot ad a jelenethez, ami egyezik az előnézeti környezet " +"beállításaival.\n" +"Shift nyomvatartása mellett az előnézeti napot is hozzáadja a jelenethez." + +msgid "" +"No meshes to bake.\n" +"Make sure there is at least one MeshInstance3D node in the scene whose visual " +"layers are part of the OccluderInstance3D's Bake Mask property." +msgstr "" +"Nincs égethető mesh.\n" +"Ellenőrizze, hogy legalább egy MeshInstance3D node van a jelenetben, amikor " +"vizuális rétege egyezik az OccluderInstance3D Égetőmaszk tulajdonságával." + +msgid "Generating Visibility AABB (Waiting for Particle Simulation)" +msgstr "Láthatósági AABB Generálás (Várakozás Részecske Szimulációra)" + msgid "Generate Visibility AABB" msgstr "Láthatósági AABB Generálása" @@ -6677,6 +8410,9 @@ msgstr "A(z) \"%s\" nem tartalmaz lapgeometriát." msgid "Create Emission Points From Node" msgstr "Kibocsátási pontok létrehozása a Node alapján" +msgid "The geometry's faces don't contain any area." +msgstr "A geometria oldallapjai nem tartalmaznak területet." + msgid "The geometry doesn't contain any faces." msgstr "A geometria nem tartalmaz oldalakat." @@ -6704,6 +8440,12 @@ msgstr "CPUParticles3D" msgid "Curve Point #" msgstr "Görbe Pont #" +msgid "Handle In #" +msgstr "Bemenet # Kezelés" + +msgid "Handle Out #" +msgstr "Kimenet # Kezelés" + msgid "Set Curve Point Position" msgstr "Görbe Pont Pozíció Beállítása" @@ -6722,21 +8464,97 @@ msgstr "Útvonal Pont Eltávolítása" msgid "Split Segment (in curve)" msgstr "Szakasz Felosztása (görbén)" +msgid "Move Joint" +msgstr "Csukló Mozgatás" + +msgid "Create Polygon3D" +msgstr "Polygon3D Létrehozása" + msgid "Edit Poly" msgstr "Sokszög Szerkesztése" msgid "Edit Poly (Remove Point)" msgstr "Sokszög Szerkesztése (Pont Eltávolítása)" +msgid "" +"AnimationMixer has no valid root node path, so unable to retrieve track names." +msgstr "" +"Nincs érvényes node útvonal az AnimationMixer-hez, ezért a sávneveket nem " +"lehet lekérdezni." + +msgid "Add Bone Metadata" +msgstr "Csont Metaadat Hozzáadás" + +msgid "Modify metadata '%s' for bone '%s'" +msgstr "A(z) \"%s\" metaadat módosítása a(z) \"%s\" csonton" + +msgid "Cannot create a physical skeleton for a Skeleton3D node with no bones." +msgstr "Nem lehet fizikai vázat létrehozni csontok nélküli Skeleton3D node-hoz." + msgid "Create physical bones" msgstr "Fizikai csontok létrehozása" +msgid "Cannot export a SkeletonProfile for a Skeleton3D node with no bones." +msgstr "" +"SkeletonProfile exportálása nem lehetséges csontok nélküli Skeleton3D node " +"esetén." + msgid "Skeleton3D" msgstr "Skeleton3D" +msgid "Apply All Poses to Rests" +msgstr "Minden Póz Alkalmazása Nyugalomhoz" + +msgid "Apply Selected Poses to Rests" +msgstr "Kijelölt Pózok Alkalmazása Nyugalomhoz" + +msgid "" +"Edit Mode\n" +"Show buttons on joints." +msgstr "" +"Módosítás\n" +"Gombok mutatása a csuklókon." + +msgid "Translation mask for inserting keys." +msgstr "Áthelyezési maszk kulcs beillesztéshez." + +msgid "Rotation mask for inserting keys." +msgstr "Forgatási maszk kulcs beillesztéshez." + +msgid "Scale mask for inserting keys." +msgstr "Méretezési maszk kulcs beillesztéshez." + +msgid "Insert key (based on mask) for bones with an existing track." +msgstr "Kulcs beillesztés (maszk alapján) sávval rendelkező csontokhoz." + msgid "Insert Key (Existing Tracks)" msgstr "Kulcs Beszúrása (Meglévő Nyomvonalakra)" +msgid "Insert key (based on mask) for all bones." +msgstr "Kulcs beillesztés (maszk alapján) minden csonthoz." + +msgid "Insert key (based on mask) for modified bones with an existing track." +msgstr "" +"Kulcs beillesztés (maszk alapján) sávval rendelkező módosított csontokhoz." + +msgid "Insert new key (based on mask) for all modified bones." +msgstr "Új kulcs beillesztés (maszk alapján) minden módosított csonthoz." + +msgid "Play IK" +msgstr "IK Lejátszás" + +msgid "Voxel GI data is not local to the scene." +msgstr "A Voxel GI adatok nem lokálisak a jeleneten." + +msgid "Voxel GI data is part of an imported resource." +msgstr "A Voxel GI adatok importált erőforráshoz tartoznak." + +msgid "Voxel GI data is an imported resource." +msgstr "A Voxel GI adathalmaz importált erőforrás." + +msgid "Bake VoxelGI" +msgstr "VoxelGI Beégetése" + msgid "Configure Snap" msgstr "Illesztés Beállítása" @@ -6755,6 +8573,16 @@ msgstr "Forgatási Eltolás:" msgid "Rotation Step:" msgstr "Forgatási Léptetés:" +msgid "Scale Step:" +msgstr "Méretezés Lépték:" + +msgid "" +"Children of a container get their position and size determined only by their " +"parent." +msgstr "" +"Egy konténer gyermekeinek helyzetét és méretét kizárólag a szülő határozza " +"meg." + msgid "Move Vertical Guide" msgstr "Függőleges segédvonal mozgatása" @@ -6776,12 +8604,21 @@ msgstr "Vízszintes segédvonal eltávolítása" msgid "Create Horizontal and Vertical Guides" msgstr "Vízszintes és függőleges segédvonalak létrehozása" +msgid "Set CanvasItem \"%s\" Pivot Offset to (%d, %d)" +msgstr "CanvasItem \"%s\" Forgáspont Eltolásának Beállítása (%d, %d)" + msgid "Rotate %d CanvasItems" msgstr "%d CanvasItem Forgatása" msgid "Rotate CanvasItem \"%s\" to %d degrees" msgstr "\"%s\" CanvasItem Forgatása %d fokra" +msgid "Scale Node2D \"%s\" to (%s, %s)" +msgstr "Node2D \"%s\" Méretezése (%s, %s)" + +msgid "Resize Control \"%s\" to (%d, %d)" +msgstr "Control \"%s\" Átméretezése (%d, %d)" + msgid "Scale %d CanvasItems" msgstr "%d CanvasItem Méretezése" @@ -6794,24 +8631,82 @@ msgstr "%d CanvasItem Áthelyezése" msgid "Move CanvasItem \"%s\" to (%d, %d)" msgstr "%s CanvasItem mozgatása (%d, %d)-ra/re" +msgid "px" +msgstr "px" + +msgid "units" +msgstr "egység" + +msgid "Alt+Drag: Move selected node." +msgstr "Alt+Húzás: Kijelölt node mozgatása." + +msgid "RMB: Add node at position clicked." +msgstr "RMB: Node hozzáadása a kattintott pozíción." + +msgid "Click to change object's pivot." +msgstr "Kattintással változtatható az objektum forgáspontja." + +msgid "Shift: Set temporary pivot." +msgstr "Shift: Ideiglenes forgáspont beállítás." + +msgid "" +"Click this button while holding Shift to put the temporary pivot in the " +"center of the selected nodes." +msgstr "" +"Kattintson erre a gombra a Shift nyomvatartása mellett, hogy az ideiglenes " +"forgáspontot a kijelölt node-ok középpontjába helyezze." + msgid "Paste Pose" msgstr "Póz Beillesztése" msgid "Clear Guides" msgstr "Segédvonalak törlése" +msgid "Zoom to 3.125%" +msgstr "Nagyítás: 3,125%" + +msgid "Zoom to 6.25%" +msgstr "Nagyítás: 6,25%" + +msgid "Zoom to 12.5%" +msgstr "Nagyítás: 12.5%" + +msgid "Zoom to 1600%" +msgstr "Nagyítás: 1600%" + +msgid "Shift: Scale proportionally." +msgstr "Shift: Arányos méretezés." + msgid "Pan Mode" msgstr "Pásztázás Mód" +msgid "" +"You can also use Pan View shortcut (Space by default) to pan in any mode." +msgstr "" +"Bármely módban használhatja a Csúsztatás Nézet gyorsbillentyűt " +"(alapértelmezetten szóköz)." + +msgid "Toggle smart snapping." +msgstr "Okos illesztés kapcsolása." + msgid "Use Smart Snap" msgstr "Intelligens illesztés használata" +msgid "Toggle grid snapping." +msgstr "Rácsra illesztés kapcsolása." + +msgid "Use Grid Snap" +msgstr "Rácsra Illesztés Használata" + msgid "Snapping Options" msgstr "Illesztési beállítások" msgid "Use Rotation Snap" msgstr "Forgatási Illesztés Használata" +msgid "Use Scale Snap" +msgstr "Méretezés Illesztés Használata" + msgid "Snap Relative" msgstr "Relatív Illesztés" @@ -6839,12 +8734,22 @@ msgstr "Illesztés segédvonalakhoz" msgid "Smart Snapping" msgstr "Intelligens illesztés" +msgid "" +"Groups the selected node with its children. This causes the parent to be " +"selected when any child node is clicked in 2D and 3D view." +msgstr "" +"Csoportosítja a kijelölt node-ot és annak gyermekeit. Ez kijelöli a szülőt, " +"amikor bármely gyermek node-ra kattint 2D vagy 3D nézetben." + msgid "Skeleton Options" msgstr "Csontváz beállítások" msgid "Show Bones" msgstr "Csontok Mutatása" +msgid "Make Bone2D Node(s) from Node(s)" +msgstr "Bone2D Node(ok) Létrehozása Node(ok)-ból" + msgid "Show Helpers" msgstr "Segítők megjelenítése" @@ -6866,9 +8771,32 @@ msgstr "Kijelölés középre" msgid "Frame Selection" msgstr "Kijelölés Keretezése" +msgid "Preview Canvas Scale" +msgstr "Vászonméret Előnézet" + +msgid "Insert keys (based on mask)." +msgstr "Kulcsok beillesztése (maszk alapján)." + msgid "Insert Key" msgstr "Kulcs Beszúrása" +msgid "" +"Auto insert keys when objects are translated, rotated or scaled (based on " +"mask).\n" +"Keys are only added to existing tracks, no new tracks will be created.\n" +"Keys must be inserted manually for the first time." +msgstr "" +"Auto kulcs beillesztés objektumok mozgatásakor, elforgatásakor vagy " +"méretezésekor (maszk alapján).\n" +"A kulcsok csak a létező sávokhoz jönnek létre, új sávok nem készülnek.\n" +"A kulcsokat első alkalommal manuálisan kell beilleszteni." + +msgid "Auto Insert Key" +msgstr "Auto Kulcs Beillesztés" + +msgid "Animation Key and Pose Options" +msgstr "Animáció Kulcs és Póz Beállítások" + msgid "Copy Pose" msgstr "Póz Másolása" @@ -6884,6 +8812,33 @@ msgstr "Rács Léptetés Mértékének Felezése" msgid "Adding %s..." msgstr "%s Hozzáadása..." +msgid "Circular dependency found at %s." +msgstr "Körkörös függőség található itt: %s." + +msgid "" +"Drag and drop to add as sibling of selected node (except when root is " +"selected)." +msgstr "" +"A kijelölt node-hoz való testvérként hozzáadáshoz húzza rá (kivéve, ha a " +"gyökér van kiválasztva)." + +msgid "Hold Shift when dropping to add as child of selected node." +msgstr "" +"Shift nyomvatartásával ráejtéskor gyermekként jön létre a kijelölt node-on." + +msgid "Hold Alt when dropping to add as child of root node." +msgstr "Alt nyomvatartásával ráejtéskor gyermekként jön létre a gyökér node-on." + +msgid "Hold Alt + Shift when dropping to add as different node type." +msgstr "Alt+Shift nyomvatartásával ráejtéskor más node típusként hozható létre." + +msgid "" +"All selected CanvasItems are either invisible or locked in some way and can't " +"be transformed." +msgstr "" +"Vagy minden kijelölt CanvasItem láthatatlan, vagy valamilyen módon zárolt és " +"nem alakítható át." + msgid "Method in target node must be specified." msgstr "Nevezze el a metódust a cél node-ban." @@ -6897,6 +8852,9 @@ msgstr "" "Nem található a célmetódus! Nevezzen meg egy érvényes metódust, vagy " "csatoljon egy szkriptet a cél node-hoz." +msgid "%s: Callback code won't be generated, please add it manually." +msgstr "%s: Visszahívási kód nem generálódik, hozza létre manuálisan." + msgid "Connect to Node:" msgstr "Csatlakoztatás node-hoz:" @@ -6909,12 +8867,18 @@ msgstr "Jelzésből:" msgid "Scene does not contain any script." msgstr "A jelenet nem tartalmaz szkriptet." +msgid "No method found matching given filters." +msgstr "A megadott szűrők alapján nincs megfelelő metódus." + msgid "Add Extra Call Argument:" msgstr "További meghívási argumentum hozzáadása:" msgid "Extra Call Arguments:" msgstr "További hívási argumentumok:" +msgid "Allows to drop arguments sent by signal emitter." +msgstr "Eltávolíthatóvá teszi a jeladó által továbbított argumentumokat." + msgid "Receiver Method:" msgstr "Fogadó metódus:" @@ -6928,6 +8892,9 @@ msgstr "Késlelteti a jelzést, amit egy sorban tárol és csak holtidőben adja msgid "Disconnects the signal after its first emission." msgstr "Az első kibocsátás után lekapcsolja a jelzést." +msgid "The source object is automatically sent when the signal is emitted." +msgstr "Az eredet objektum automatikusan továbbítódik a jel kibocsátásakor." + msgid "Cannot connect signal" msgstr "Nem lehet csatlakoztatni a jelet" @@ -6988,59 +8955,348 @@ msgstr "Enyhén ki" msgid "Smoothstep" msgstr "Simított Lépés" -msgid "Play This Scene" -msgstr "Jelenet lejátszása" +msgid "Play This Scene" +msgstr "Jelenet lejátszása" + +msgid "Close Tab" +msgstr "Lap bezárása" + +msgid "Undo Close Tab" +msgstr "Lap bezárásának visszavonása" + +msgid "Close Other Tabs" +msgstr "A Többi Lap Bezárása" + +msgid "Close Tabs to the Right" +msgstr "Lapok bezárása ettől jobbra" + +msgid "Close All Tabs" +msgstr "Minden lap bezárása" + +msgid "Add a new scene." +msgstr "Hozzáad egy új jelenetet." + +msgid "Reverse Gradient" +msgstr "Színátmenet Megfordítása" + +msgid "Reverse/Mirror Gradient" +msgstr "Színátmenet Megfordítása/Tükrözése" + +msgid "Renaming Group References" +msgstr "Csoportreferenciák Átnevezése" + +msgid "Removing Group References" +msgstr "Csoportreferenciák Eltávolítása" + +msgid "This node doesn't have a control parent." +msgstr "Ennek a node-nak nincs vezérlő szülője." + +msgid "" +"Use the appropriate layout properties depending on where you are going to put " +"it." +msgstr "" +"Használja a megfelelő elrendezési tulajdonságokat az elhelyezéstől függően." + +msgid "This node is a child of a container." +msgstr "Ez a node egy konténer gyermeke." + +msgid "Use container properties for positioning." +msgstr "Helyzetbeállításhoz használja a konténer tulajdonságokat." + +msgid "This node is a child of a regular control." +msgstr "Ez a node egy szokványos vezérlő gyermeke." + +msgid "Use anchors and the rectangle for positioning." +msgstr "Helyzetbeállításhoz használjon horgonyokat és a téglalapot." + +msgid "Collapse positioning hint." +msgstr "Helyzetbeállítás tipp becsukása." + +msgid "Expand positioning hint." +msgstr "Helyzetbeállítás tipp kinyitása." + +msgid "Fill" +msgstr "Kitöltés" + +msgid "Shrink End" +msgstr "Vég Zsugorítás" + +msgid "Top Left" +msgstr "Bal felső" + +msgid "Center Top" +msgstr "Felső közép" + +msgid "Top Right" +msgstr "Jobb felső" + +msgid "Top Wide" +msgstr "Széles Felső" + +msgid "Center Left" +msgstr "Bal közép" + +msgid "Center" +msgstr "Középre" + +msgid "Center Right" +msgstr "Jobbra közép" + +msgid "HCenter Wide" +msgstr "Széles HCenter" + +msgid "Bottom Left" +msgstr "Bal alsó" + +msgid "Center Bottom" +msgstr "Középre lent" + +msgid "Bottom Right" +msgstr "Jobb alsó" + +msgid "Bottom Wide" +msgstr "Széles Alsó" + +msgid "Left Wide" +msgstr "Széles Bal" + +msgid "VCenter Wide" +msgstr "Széles VCenter" + +msgid "Right Wide" +msgstr "Széles Jobb" + +msgid "Full Rect" +msgstr "Teljes Téglalap" + +msgid "" +"Enable to also set the Expand flag.\n" +"Disable to only set Shrink/Fill flags." +msgstr "" +"Engedélyezéskor a Kinyitás kapcsolót is állítja.\n" +"Kikapcsolva csak a Zsugorítás/Kitöltés kapcsolókat állítja." + +msgid "Some parents of the selected nodes do not support the Expand flag." +msgstr "A kijelölt node-ok egyes szülői nem támogatják a Kinyitás kapcsolót." + +msgid "Change Anchors, Offsets, Grow Direction" +msgstr "Horgonyok, Eltolások, Növesztés Irányának Változtatása" + +msgid "Change Anchors, Offsets (Keep Ratio)" +msgstr "Horgonyok, Eltolások (Aránytartással) Változtatása" + +msgid "Presets for the anchor and offset values of a Control node." +msgstr "Egy Control node horgony és eltolás értékeinek előbeállítása (preset)." + +msgid "Adjust anchors and offsets to match the current rect size." +msgstr "Horgonyok és eltolások igazítása a jelenlegi rect mérethez." + +msgid "" +"When active, moving Control nodes changes their anchors instead of their " +"offsets." +msgstr "" +"Amikor aktív, a mozgó Control node eltolás helyett a horgonyokat változtatja " +"meg." + +msgid "Sizing settings for children of a Container node." +msgstr "Méretezési beállítások egy Konténer node gyermekei számára." + +msgid "Features (%d of %d set)" +msgstr "Funkciók (%d a(z) %d készletből)" + +msgid "East Asian Language" +msgstr "Kelet Ázsiai Nyelv" + +msgid "East Asian Widths" +msgstr "Kelet Ázsiai Szélességek" + +msgid "Unable to preview font" +msgstr "Betűtípus előnézet nem elérhető" + +msgid "1 font" +msgid_plural "{num} fonts" +msgstr[0] "1 betűtípus" +msgstr[1] "{num} betűtípus" + +msgid "1 font size" +msgid_plural "{num} font sizes" +msgstr[0] "1 betűtípus méret" +msgstr[1] "{num} betűtípus méret" + +msgid "1 icon" +msgid_plural "{num} icons" +msgstr[0] "1 ikon" +msgstr[1] "{num} ikon" + +msgid "{num} currently selected" +msgid_plural "{num} currently selected" +msgstr[0] "{num} kijelölt elem" +msgstr[1] "{num} kijelölt elem" + +msgid "Nothing was selected for the import." +msgstr "Semmi sem lett kijelölve importálásra." + +msgid "Importing items {n}/{n}" +msgstr "Importálás {n}/{n}" + +msgid "With Data" +msgstr "Adatokkal" + +msgid "Select by data type:" +msgstr "Adattípus szerinti kijelölés:" + +msgid "Select all visible color items." +msgstr "Minden látható szín elem kijelölése." + +msgid "Select all visible color items and their data." +msgstr "Minden látható szín elem kijelölése adatokkal együtt." + +msgid "Deselect all visible color items." +msgstr "Kijelölés megszüntetése minden látható szín elemen." + +msgid "Select all visible constant items." +msgstr "Minden látható konstans elem kijelölése." + +msgid "Select all visible constant items and their data." +msgstr "Minden látható konstans elem kijelölése adatokkal együtt." + +msgid "Deselect all visible constant items." +msgstr "Kijelölés megszüntetése minden látható konstans elemen." + +msgid "Select all visible font items." +msgstr "Minden látható betűtípus elem kijelölése." + +msgid "Select all visible font items and their data." +msgstr "Minden látható betűtípus elem kijelölése adatokkal együtt." + +msgid "Deselect all visible font items." +msgstr "Kijelölés megszüntetése minden látható betűtípus elemen." + +msgid "Select all visible font size items and their data." +msgstr "Minden látható betűtípus méret elem kijelölése adatokkal együtt." + +msgid "Select all visible icon items." +msgstr "Minden látható ikon elem kijelölése." + +msgid "Select all visible icon items and their data." +msgstr "Minden látható ikon elem kijelölése adatokkal együtt." + +msgid "Deselect all visible icon items." +msgstr "Kijelölés megszüntetése minden látható ikon elemen." + +msgid "Select all visible stylebox items." +msgstr "Minden látható stylebox elem kijelölése." + +msgid "Select all visible stylebox items and their data." +msgstr "Minden látható stylebox elem kijelölése adatokkal együtt." + +msgid "Deselect all visible stylebox items." +msgstr "Kijelölés megszüntetése minden látható stylebox elemen." + +msgid "" +"Caution: Adding icon data may considerably increase the size of your Theme " +"resource." +msgstr "" +"Figyelem: Ikon adatok hozzáadása jelentősen növelheti a Téma erőforrás " +"méretét." + +msgid "Select all Theme items with item data." +msgstr "Minden Téma elem kijelölése adatokkal együtt." + +msgid "Deselect all Theme items." +msgstr "Kijelölés megszüntetése minden Téma elemen." + +msgid "" +"Import Items tab has some items selected. Selection will be lost upon closing " +"this window.\n" +"Close anyway?" +msgstr "" +"Az Elemek Importálása fülön vannak kijelölt tételek. Az ablak bezárásakor a " +"kijelölés elvész.\n" +"Be szeretné zárni?" + +msgid "" +"Select a theme type from the list to edit its items.\n" +"You can add a custom type or import a type with its items from another theme." +msgstr "" +"Jelöljön ki egy téma típust a listából az elemeinek módosításához.\n" +"Hozzáadhat egyedi típust vagy importálhat egyet egy másik témából." + +msgid "" +"This theme type is empty.\n" +"Add more items to it manually or by importing from another theme." +msgstr "" +"Ez a téme típus üres.\n" +"Adjon hozzá elemeket kézzel vagy importáljon másik témából." + +msgid "Rename Constant Item" +msgstr "Konstans Elem Átnevezése" + +msgid "Invalid file, same as the edited Theme resource." +msgstr "Érvénytelen fájl, egyezik a módosított Téma erőforrással." + +msgid "Remove Class Items" +msgstr "Osztály Elem Eltávolítása" -msgid "Close Tab" -msgstr "Lap bezárása" +msgid "Remove All Items" +msgstr "Minden Elem Eltávolítása" -msgid "Undo Close Tab" -msgstr "Lap bezárásának visszavonása" +msgid "Filter the list of types or create a new custom type:" +msgstr "A típuslista szűrése vagy új egyedi típus létrehozása:" -msgid "Close Other Tabs" -msgstr "A Többi Lap Bezárása" +msgid "Unpin this StyleBox as a main style." +msgstr "Fő stílusként beállított StyleBox kitűzés megszüntetése." -msgid "Close Tabs to the Right" -msgstr "Lapok bezárása ettől jobbra" +msgid "" +"Pin this StyleBox as a main style. Editing its properties will update the " +"same properties in all other StyleBoxes of this type." +msgstr "" +"StyleBox kitűzése fő stílusként. A tulajdonásgainak átállítása frissíti " +"ugyanazon tulajdonságokat az összes azonos típusú StyleBox-ban." -msgid "Close All Tabs" -msgstr "Minden lap bezárása" +msgid "Pin this StyleBox as a main style." +msgstr "StyleBox kitűzése fő stílusként." -msgid "Add a new scene." -msgstr "Hozzáad egy új jelenetet." +msgid "Override All Default Theme Items" +msgstr "Minden Alapértelmezett Téma Elem Felülírása" -msgid "Top Left" -msgstr "Bal felső" +msgid "Set Font Size Item in Theme" +msgstr "Téma Betűtípus Méretének Beállítása" -msgid "Center Top" -msgstr "Felső közép" +msgid "Set Font Item in Theme" +msgstr "Téma Betűtípusának Beállítása" -msgid "Top Right" -msgstr "Jobb felső" +msgid "Set Icon Item in Theme" +msgstr "Téma Ikon Beállítása" -msgid "Center Left" -msgstr "Bal közép" +msgid "Add a type from a list of available types or create a new one." +msgstr "Adjon hozzá egy típust az elérhetők listáiból vagy hozzon létre újat." -msgid "Center" -msgstr "Középre" +msgid "Show default type items alongside items that have been overridden." +msgstr "Alapértelmezett típus elemek mutatása a felülírtak mellett." -msgid "Center Right" -msgstr "Jobbra közép" +msgid "Override all default type items." +msgstr "Minden alapértelmezett típus elem felülírása." -msgid "Bottom Left" -msgstr "Bal alsó" +msgid "Select the variation base type from a list of available types." +msgstr "Válassza ki az alap típus variációját az elérhető típusokból." -msgid "Center Bottom" -msgstr "Középre lent" +msgid "" +"A type associated with a built-in class cannot be marked as a variation of " +"another type." +msgstr "" +"Beépített osztályhoz tartozó típus nem jelölhető meg más típus variációjaként." -msgid "Bottom Right" -msgstr "Jobb alsó" +msgid "Theme" +msgstr "Téma" -msgid "Full Rect" -msgstr "Teljes Téglalap" +msgid "Add, remove, organize, and import Theme items." +msgstr "Téma elemek hozzáadása, eltávolítása, rendezése és importálása." -msgid "Remove Class Items" -msgstr "Osztály Elem Eltávolítása" +msgid "" +"Toggle the control picker, allowing to visually select control types for edit." +msgstr "" +"Vezérlőválasztó kapcsolása, lehetővé téve a vezérlő típusok módosítását." msgid "Toggle Button" msgstr "Váltógomb" @@ -7063,6 +9319,15 @@ msgstr "Kipipált Elem" msgid "Radio Item" msgstr "Rádió Elem" +msgid "Checked Radio Item" +msgstr "Bejelölt Választógomb" + +msgid "Named Separator" +msgstr "Elnevezett Elválasztó" + +msgid "Submenu" +msgstr "Almenü" + msgid "Subitem 1" msgstr "Alelem 1" @@ -7090,21 +9355,102 @@ msgstr "Tab 3" msgid "Editable Item" msgstr "Szerkeszthető elem" +msgid "Subtree" +msgstr "Részfa" + msgid "Has,Many,Options" msgstr "Van,Több,Opciója" +msgid "Invalid path, the PackedScene resource was probably moved or removed." +msgstr "" +"Érvénytelen útvonal, a PackedScene erőforrást valószínűleg áthelyezték vagy " +"eltávolították." + +msgid "Invalid PackedScene resource, must have a Control node at its root." +msgstr "" +"Érvénytelen PackedScene erőforrás, gyökér elemként egy Control node-ra van " +"szükség." + +msgid "Reload the scene to reflect its most actual state." +msgstr "Jelenet újratöltése a legfrissebb állapot mutatásához." + +msgid "Preview is not available for this shader mode." +msgstr "Ehhez a shader módhoz nem használható előnézet." + +msgid "Box" +msgstr "Doboz" + +msgid "Quad" +msgstr "Kvad" + +msgid "Hold Shift to scale around midpoint instead of moving." +msgstr "Shift nyomvatartásával mozgatás helyett középpontosan méretezhető." + +msgid "Toggle between minimum/maximum and base value/spread modes." +msgstr "Váltás minimum/maximum és alap érték/szórás módok között." + msgid "Batch Rename" msgstr "Csoportos átnevezés" msgid "Replace:" msgstr "Csere:" +msgid "Prefix:" +msgstr "Prefix:" + +msgid "Suffix:" +msgstr "Suffix:" + msgid "Use Regular Expressions" msgstr "Reguláris kifejezés használata" +msgid "Substitute" +msgstr "Helyettesítő" + +msgid "" +"Sequential integer counter.\n" +"Compare counter options." +msgstr "" +"Szekvenciális számláló.\n" +"Számláló tulajdonságok összehasonlítása." + +msgid "Per-level Counter" +msgstr "Szintenkénti Számláló" + +msgid "If set, the counter restarts for each group of child nodes." +msgstr "Ha be van kapcsolva, a számláló minden gyermekcsoport esetén újraindul." + +msgid "Initial value for the counter." +msgstr "A számláló alapértéke." + msgid "Step" msgstr "Lépés" +msgid "Amount by which counter is incremented for each node." +msgstr "Mennyiség, amivel a számláló értéke node-onként növekszik." + +msgid "Padding" +msgstr "Padding" + +msgid "" +"Minimum number of digits for the counter.\n" +"Missing digits are padded with leading zeros." +msgstr "" +"A számláló minimális számjegyeinek száma.\n" +"A hiányzó számjegyek helye nullákkal töltődik fel." + +msgid "Minimum number of digits for the counter." +msgstr "A számláló minimális számjegyeinek száma." + +msgid "Post-Process" +msgstr "Utófeldolgozás" + +msgid "PascalCase to snake_case" +msgstr "PascalCase átírás snake_case-re" + +msgid "snake_case to PascalCase" +msgstr "snake_case átírás PascalCase-re" + msgid "To Lowercase" msgstr "Kisbetűssé" @@ -7147,21 +9493,131 @@ msgstr "Erőforrás Beillesztése" msgid "Load Resource" msgstr "Erőforrás Betöltése" +msgid "Leave empty to derive from scene name" +msgstr "Hagyja üresen a jelenetnévből származtatáshoz" + +msgid "" +"When empty, the root node name is derived from the scene name based on the " +"\"editor/naming/node_name_casing\" project setting." +msgstr "" +"Ha üres, akkor a gyökér node neve a jelenet nevéből jön létre az \"editor/" +"naming/node_name_casing\" projekt beállítás alapján." + +msgid "" +"The root node of a scene is recommended to not be transformed, since " +"instances of the scene will usually override this. Reset the transform and " +"reload the scene to remove this warning." +msgstr "" +"Nem javasolt egy jelenet gyökér node-ját transzformálni, mert a jelenetek " +"példányai általában felülírják azt. Állítsa vissza a transzformációt és " +"töltse újra a jelenetet a figyelmeztetés eltüntetéséhez." + +msgid "Toggle Visible" +msgstr "Láthatóság Kapcsolása" + msgid "Unlock Node" msgstr "Node feloldása" msgid "(Connecting From)" msgstr "(Csatlakozás Innen)" +msgid "Node configuration warning:" +msgstr "Node konfiguráció figyelmeztetés:" + +msgid "" +"This node can be accessed from anywhere within the scene it belongs to by " +"using the '%s' prefix in the node path." +msgstr "" +"Ez a node a jelenetén belül bárhonnan elérhető a node útvonalban használt " +"\"%s\" prefix használatával." + +msgid "Click to disable this." +msgstr "Kattintással kikapcsolható." + +msgid "Click to show signals dock." +msgstr "Kattintásra megmutatja a jel dokkot." + +msgid "Click to show groups dock." +msgstr "Kattintásra megmutatja a csoport dokkot." + +msgid "" +"This script can run in the editor.\n" +"It is currently disabled due to recovery mode." +msgstr "" +"Ez a szkript a szerkesztőben is futhat.\n" +"Jelenleg le van tiltva a visszaállítási mód miatt." + +msgid "This script is currently running in the editor." +msgstr "Ez a szkript jelenleg fut a szerkesztőben." + +msgid "This script is a custom type." +msgstr "Ez a szkript egy egyedi típus." + msgid "Open Script:" msgstr "Szkript megnyitása:" +msgid "" +"Node is locked.\n" +"Click to unlock it." +msgstr "" +"Zárolt node.\n" +"Kattintásra felold." + +msgid "" +"Children are not selectable.\n" +"Click to make them selectable." +msgstr "" +"A gyermekek nem jelölhetőek ki.\n" +"Kattintásra kijelölhetővé válnak." + +msgid "" +"AnimationPlayer is pinned.\n" +"Click to unpin." +msgstr "" +"Az AnimationPlayer ki van tűzve.\n" +"Kattintással visszavonható." + +msgid "\"%s\" is not a known filter." +msgstr "\"%s\" egy ismeretlen szűrő." + +msgid "" +"Root nodes cannot be accessed as unique names in their own scene. Instantiate " +"in another scene and set as unique name there." +msgstr "" +"Gyökér node-ok nem érhetőek el egyedi név használatával a jelenetükben. " +"Példányosítson egy másik jelenetet és állítson be ott egy egyedi nevet." + msgid "Scene Tree (Nodes):" msgstr "Jeleneti Fa (Node-ok):" +msgid "Node Configuration Warning!" +msgstr "Node Konfiguráció Figyelmeztetés!" + +msgid "Revoke" +msgstr "Visszavonás" + +msgid "Don't Ask Again" +msgstr "Ne Kérdezze Újra" + +msgid "" +"This dialog can also be enabled/disabled in the Editor Settings: Docks > " +"Scene Tree > Ask Before Revoking Unique Name." +msgstr "" +"Ez a párbeszédablak a Szerkesztő Beállításaiban is be-/kikapcsolható a Dokkok " +"> Jelenetfa > Kérdezzen rá az Egyedi Név Visszavonására." + +msgid "Allowed:" +msgstr "Engedélyezett:" + msgid "Select a Node" msgstr "Node Kiválasztása" +msgid "No Frames Selected" +msgstr "Nincs Kijelölt Képkocka" + +msgid "Add %d Frame(s)" +msgstr "%d Képkocka Hozzáadása" + msgid "Add Frame" msgstr "Kép Hozzáadása" @@ -7189,15 +9645,66 @@ msgstr "Animáció FPS Módosítása" msgid "Animations:" msgstr "Animációk:" +msgid "This resource does not have any animations." +msgstr "Nincs animáció társítva ehhez az erőforráshoz." + msgid "Animation Frames:" msgstr "Animációs Képkockák:" +msgid "Empty Before" +msgstr "Üres Előtte" + msgid "Zoom Reset" msgstr "Nagyítás visszaállítása" +msgid "Insert Empty (After Selected)" +msgstr "Üres Beillesztése (Kijelölt Után)" + +msgid "Select Frames" +msgstr "Képkockák Kijelölése" + +msgid "By Row" +msgstr "Soronként" + +msgid "Left to Right, Top to Bottom" +msgstr "Balról Jobbra, Fentről Lefelé" + +msgid "Left to Right, Bottom to Top" +msgstr "Balról Jobbra, Lentről Felfelé" + +msgid "Right to Left, Top to Bottom" +msgstr "Jobbról Balra, Fentről Lefelé" + +msgid "Right to Left, Bottom to Top" +msgstr "Jobbról Balra, Lentről Felfelé" + +msgid "By Column" +msgstr "Oszloponként" + +msgid "Create Frames from Sprite Sheet" +msgstr "Képkockák Készítése Sprite Lapból" + +msgid "Move GradientTexture2D Fill Point" +msgstr "GradientTexture2D Kitöltés Pont Mozgatása" + +msgid "Swap GradientTexture2D Fill Points" +msgstr "GradientTexture2D Kitöltés Pont Cseréje" + +msgid "Swap Gradient Fill Points" +msgstr "Átmenet Kitöltés Pontok Cseréje" + +msgid "%s Mipmaps" +msgstr "%s Mipmapek" + +msgid "No Mipmaps" +msgstr "Nincsenek Mipmapek" + msgid "Set Margin" msgstr "Margó Beállítása" +msgid "Set Region Rect" +msgstr "Régió Téglalap Beállítás" + msgid "Snap Mode:" msgstr "Illesztés Mód:" @@ -7219,15 +9726,43 @@ msgstr "Keres:" msgid "Folder:" msgstr "Mappa:" +msgid "Include the files with the following expressions. Use \",\" to separate." +msgstr "" +"Az alábbi kifejezésekkel rendelkező fájlok belefoglalása. Elválasztás \",\"-" +"vel." + +msgid "example: scripts,scenes/*/test.gd" +msgstr "például: scripts,scenes/*/test.gd" + +msgid "Excludes:" +msgstr "Kizárás:" + +msgid "Exclude the files with the following expressions. Use \",\" to separate." +msgstr "" +"Az alábbi kifejezésekkel rendelkező fájlok kizárása. Elválasztás \",\"-vel." + +msgid "example: res://addons,scenes/test/*.gd" +msgstr "például: res://addons,scenes/test/*.gd" + msgid "Filters:" msgstr "Szűrők:" +msgid "" +"Include the files with the following extensions. Add or remove them in " +"ProjectSettings." +msgstr "" +"Az alábbi kiterjesztésekkel rendelkező fájlok belefoglalása. A Projekt " +"Beállításokban adhat hozzá újat vagy távolíthat el létezőt." + msgid "Find..." msgstr "Keresés..." msgid "Replace..." msgstr "Csere..." +msgid "Keep these results and show subsequent results in a new window" +msgstr "Eredmények megtartása és a további eredmények mutatása új ablakban" + msgid "Searching..." msgstr "Keresés…" @@ -7237,6 +9772,9 @@ msgstr "Az útvonal üres." msgid "Filename is empty." msgstr "A fájlnév üres." +msgid "Name begins with a dot." +msgstr "A név ponttal kezdődik." + msgid "Path is not local." msgstr "Az útvonal nem helyi." @@ -7249,18 +9787,50 @@ msgstr "A fájl nem létezik." msgid "Invalid extension." msgstr "Érvénytelen kiterjesztés." +msgid "Extension doesn't match chosen language." +msgstr "A kiterjesztés nem egyezik a választott programnyelvvel." + msgid "Template:" msgstr "Sablon:" +msgid "Error - Could not create script in filesystem." +msgstr "Hiba - A szkript létrehozása a fájlrendszerben sikertelen." + msgid "Error loading script from %s" msgstr "Hiba a %s kód betöltése közben" +msgid "Open Script / Choose Location" +msgstr "Szkript Megnyitása / Hely Kiválasztása" + msgid "Open Script" msgstr "Szkript megnyitása" msgid "Invalid path." msgstr "Érvénytelen útvonal." +msgid "Invalid inherited parent name or path." +msgstr "Érvénytelen leszármazott szülő név vagy útvonal." + +msgid "File exists, it will be reused." +msgstr "A fájl már létezik, újra felhasználjuk." + +msgid "" +"Note: Built-in scripts have some limitations and can't be edited using an " +"external editor." +msgstr "" +"Megjegyzés: A beépített szkriptek bizonyos megkötések miatt nem módosíthatóak " +"külső szerkesztővel." + +msgid "" +"Warning: Having the script name be the same as a built-in type is usually not " +"desired." +msgstr "" +"Figyelmeztetés: Általában nem kívánatos a szkript nevét egy beépített típus " +"nevére nevezni." + +msgid "Built-in script (into scene file)." +msgstr "Beépített szkript (jelenet fájlban)." + msgid "Will load an existing script file." msgstr "Egy meglévő szkriptfájlt tölt be." @@ -7279,6 +9849,9 @@ msgstr "Beépített szkript:" msgid "Attach Node Script" msgstr "Szkript Node-hoz csatolása" +msgid "(truncated)" +msgstr "(levágott)" + msgid "Can't open '%s'. The file could have been moved or deleted." msgstr "" "A(z) '%s' nem nyitható meg. Lehet, hogy a fájlt áthelyezték vagy törölték." @@ -7286,6 +9859,25 @@ msgstr "" msgid "Close and save changes?" msgstr "Bezárja és menti a változásokat?" +msgid "Importing theme failed. File is not a text editor theme file (.tet)." +msgstr "" +"Téma importálás sikertelen. A fájl nem szövegszerkesztő téma fájl (.tet)." + +msgid "" +"Importing theme failed. File name cannot be 'Default', 'Custom', or 'Godot 2'." +msgstr "" +"Téma importálás siekrtelen. A fájlnév nem lehet \"Default\", \"Custom\", vagy " +"\"Godot 2\"." + +msgid "Importing theme failed. Failed to copy theme file." +msgstr "Téma importálás sikertelen. Téma fájl másolása sikertelen." + +msgid "" +"Saving theme failed. File name cannot be 'Default', 'Custom', or 'Godot 2'." +msgstr "" +"Téma mentése sikertelen. A fájlnév nem lehet \"Default\", \"Custom\", vagy " +"\"Godot 2\"." + msgid "New Text File..." msgstr "Új szövegfájl..." @@ -7295,6 +9887,15 @@ msgstr "Fájl megnyitása" msgid "Save File As..." msgstr "Fájl mentése másként..." +msgid "Can't obtain the script for reloading." +msgstr "A szkript nem szerezhető meg újratöltéshez." + +msgid "Reload only takes effect on tool scripts." +msgstr "Az újratöltés csak az eszköz szkriptekre van hatással." + +msgid "Cannot run the edited file because it's not a script." +msgstr "A módosított fájl nem futtatható, mert nem szkript." + msgid "Import Theme" msgstr "Téma Importálása" @@ -7307,6 +9908,12 @@ msgstr "Online Dokumentáció" msgid "Open Godot online documentation." msgstr "Godot online dokumentáció megnyitása." +msgid "Unsaved file." +msgstr "Nem mentett fájl." + +msgid "%s Class Reference" +msgstr "%s Osztály Referencia" + msgid "Find Next" msgstr "Következő Keresése" @@ -7361,6 +9968,9 @@ msgstr "Elvetés" msgid "Script Editor" msgstr "Szkript szerkesztő" +msgid "There are unsaved changes in the following built-in script(s):" +msgstr "Az alábbi beépített szkript(ek)ben elmentetlen változások vannak:" + msgid "Reopen Closed Script" msgstr "Bezárt szkript újbóli megnyitása" @@ -7379,21 +9989,72 @@ msgstr "Szó Eleji Nagybetű" msgid "Standard" msgstr "Alapértelmezett" +msgid "JSON" +msgstr "JSON" + +msgid "Markdown" +msgstr "Markdown" + msgid "Connections to method:" msgstr "Kapcsolatok a metódushoz:" msgid "Source" msgstr "Forrás" +msgid "Target" +msgstr "Cél" + +msgid "Error at ([hint=Line %d, column %d]%d, %d[/hint]):" +msgstr "Hiba ([hint=Sor %d, oszlop %d]%d, %d[/hint]):" + +msgid "" +"Missing connected method '%s' for signal '%s' from node '%s' to node '%s'." +msgstr "" +"Nincs kapcsolt metódus \"%s\" a(z) \"%s\" jelhez, ami a(z) \"%s\" node-ból " +"a(z) \"%s\" node-ba mutatna." + +msgid "[Ignore]" +msgstr "[Mellőz]" + +msgid "" +"The resource does not have a valid path because it has not been saved.\n" +"Please save the scene or resource that contains this resource and try again." +msgstr "" +"Ennek az erőforrásnak nincs érvényes útvonala, mert nincs elmentve.\n" +"Mentse el a jelenetet vagy erőforrást, amiben ez az erőforrás szerepel és " +"próbálja újra." + +msgid "Preloading internal resources is not supported." +msgstr "Belső erőforrások előbetöltése nem támogatott." + +msgid "Can't drop nodes because script '%s' does not inherit Node." +msgstr "" +"Nem dobhatóak el a node-ok, mert a(z) \"%s\" szkript nem Node-ból öröklődik." + +msgid "Emoji & Symbols" +msgstr "Emoji és Szimbólumok" + msgid "Pick Color" msgstr "Szín Választása" msgid "Go to Function" msgstr "Ugrás függvényre" +msgid "Line" +msgstr "Sor" + msgid "Convert Case" msgstr "Kis- és Nagybetűk Konvertálása" +msgid "Syntax Highlighter" +msgstr "Szintaxis Kiemelő" + +msgid "Bookmarks" +msgstr "Könyvjelzők" + +msgid "Go To" +msgstr "Ugrás" + msgid "Delete Line" msgstr "Sor Törlése" @@ -7418,6 +10079,9 @@ msgstr "Kijelölés Kiértékelése" msgid "Trim Trailing Whitespace" msgstr "Sorvégi Szóközök Lenyírása" +msgid "Trim Final Newlines" +msgstr "Utolsó Sortörések Levágása" + msgid "Convert Indent to Spaces" msgstr "Behúzás átalakítása szóközökké" @@ -7448,6 +10112,9 @@ msgstr "Ugrás függvényre..." msgid "Go to Line..." msgstr "Ugrás sorra..." +msgid "Lookup Symbol" +msgstr "Keresési Szimbólum" + msgid "Toggle Breakpoint" msgstr "Töréspont Elhelyezése" @@ -7470,6 +10137,9 @@ msgstr "" msgid "An action with the name '%s' already exists." msgstr "'%s' nevű művelet már létezik." +msgid "Built-in actions are always shown when searching." +msgstr "A beépített műveletek mindig megjelennek a keresésben." + msgid "Cannot Revert - Action is same as initial" msgstr "Nem lehet visszavonni mert nincs változás" @@ -7503,6 +10173,18 @@ msgstr "Művelet" msgid "Deadzone" msgstr "Holtzóna" +msgid "Must not collide with an existing engine class name." +msgstr "Nem ütközhet létező motor osztály nevével." + +msgid "Must not collide with an existing global script class name." +msgstr "Nem ütközhet létező globális szkript osztály nevével." + +msgid "Must not collide with an existing built-in type name." +msgstr "Nem ütközhet létező beépített típus nevével." + +msgid "Must not collide with an existing global constant name." +msgstr "Nem ütközhet létező globális konstans nevével." + msgid "Autoload '%s' already exists!" msgstr "Már létezik '%s' AutoLoad!" @@ -7526,12 +10208,157 @@ msgstr "" "%s egy érvénytelen elérési útvonal. Nincs az erőforrás elérési útvonalában " "(res://)." +msgid "Set path or press \"Add\" to create a script." +msgstr "" +"Adjon meg egy útvonalat, vagy használja a \"Hozzáadás\"-t szkript " +"létrehozásához." + msgid "Node Name:" msgstr "Node neve:" msgid "Global Variable" msgstr "Globális Változó" +msgid "XR" +msgstr "XR" + +msgid "Wayland" +msgstr "Wayland" + +msgid "X11" +msgstr "X11" + +msgid "RenderingDevice" +msgstr "RenderingDevice" + +msgid "Mobile Renderer" +msgstr "Mobile Rendermotor" + +msgid "Vulkan" +msgstr "Vulkan" + +msgid "D3D12" +msgstr "D3D12" + +msgid "Metal" +msgstr "Metal" + +msgid "Godot Physics (2D)" +msgstr "Godot Fizika (2D)" + +msgid "Godot Physics (3D)" +msgstr "Godot Fizika (3D)" + +msgid "Text Server: Fallback" +msgstr "Szöveg Szerver: Tartalék" + +msgid "Text Server: Advanced" +msgstr "Szöveg Szerver: Fejlett" + +msgid "TTF, OTF, Type 1, WOFF1 Fonts" +msgstr "TTF, OTF, Type 1, WOFF1 Betűtípusok" + +msgid "SIL Graphite Fonts" +msgstr "SIL Graphite Betűtípusok" + +msgid "Multi-channel Signed Distance Field Font Rendering" +msgstr "Többcsatornás Előjeles Távolságmező Betűtípus Renderelés" + +msgid "3D Nodes as well as RenderingServer access to 3D features." +msgstr "3D Node-ok és a RenderingServer hozzáférése 3D funkciókhoz." + +msgid "Navigation Server and capabilities for 2D." +msgstr "Navigációs Szerver és 2D képességek." + +msgid "Navigation Server and capabilities for 3D." +msgstr "Navigációs Szerver és 3D képességek." + +msgid "XR (AR and VR)." +msgstr "XR (AR és VR)." + +msgid "OpenXR standard implementation (requires XR to be enabled)." +msgstr "OpenXR általános implementáció (XR bekapcsolását igényli)." + +msgid "Wayland display (Linux only)." +msgstr "Wayland megjelenítés (csak Linux)." + +msgid "X11 display (Linux only)." +msgstr "X11 megjelenítés (csak Linux)." + +msgid "" +"RenderingDevice based rendering (if disabled, the OpenGL backend is required)." +msgstr "" +"RenderingDevice alapú renderelés (OpenGL háttérprogram kell, ha ki van " +"kapcsolva)." + +msgid "Forward+ renderer for advanced 3D graphics." +msgstr "Forward+ rendermotor fejlett 3D grafikához." + +msgid "Mobile renderer for less advanced 3D graphics." +msgstr "Mobile rendermotor kevésbé fejlett 3D grafikához." + +msgid "Vulkan backend of RenderingDevice." +msgstr "A RenderingDevice Vulkan háttérprogramja." + +msgid "Direct3D 12 backend of RenderingDevice." +msgstr "A RenderingDevice Direct3D 12 háttérprogramja." + +msgid "Metal backend of RenderingDevice (Apple arm64 only)." +msgstr "A RenderingDevice Metal háttérprogramja (csak Apple arm64)." + +msgid "OpenGL backend (if disabled, the RenderingDevice backend is required)." +msgstr "" +"OpenGL háttérprogram (RenderingDevice háttérprogramra van szükség, ha ki van " +"kapcsolva)." + +msgid "Physics Server and capabilities for 2D." +msgstr "Fizika Szerver és 2D képességek." + +msgid "Godot Physics backend (2D)." +msgstr "Godot Fizika háttérprogram (2D)." + +msgid "Physics Server and capabilities for 3D." +msgstr "Fizika Szerver és 3D képességek." + +msgid "Godot Physics backend (3D)." +msgstr "Godot Fizika háttérprogram (3D)." + +msgid "Jolt Physics backend (3D only)." +msgstr "Jolt Fizika háttérprogram (csak 3D)." + +msgid "" +"Fallback implementation of Text Server\n" +"Supports basic text layouts." +msgstr "" +"Szöveg Szerver tartalék implementációja.\n" +"Alapszintű szövegelrendezéseket támogat." + +msgid "" +"Text Server implementation powered by ICU and HarfBuzz libraries.\n" +"Supports complex text layouts, BiDi, and contextual OpenType font features." +msgstr "" +"A Szöveg Szerver implementációt az ICO és HarfBuzz könyvtárak teszik " +"lehetővé.\n" +"Támogatja a komplex szövegelrendezéseket, BiDi-t és kontextusos OpenType " +"betűtípus funkciókat." + +msgid "" +"TrueType, OpenType, Type 1, and WOFF1 font format support using FreeType " +"library (if disabled, WOFF2 support is also disabled)." +msgstr "" +"TrueType, OpenType, Type 1, és WOFF1 betűtípus formátumok támogatása FreeType " +"könyvtárral (ha ki van kapcsolva, akkor a WOFF2 támogatás sem elérhető)." + +msgid "WOFF2 font format support using FreeType and Brotli libraries." +msgstr "WOFF2 betűtípus formátum támogatása FreeType és Brotli könyvtárakkal ." + +msgid "" +"SIL Graphite smart font technology support (supported by Advanced Text Server " +"only)." +msgstr "" +"SIL Graphite okos betűtípus technológia támogatás (csak a Fejlett Szöveg " +"Szerver támogatja)." + msgid "File '%s' format is invalid, import aborted." msgstr "A(z) '%s' fájl formátuma érvénytelen, az importálás megszakítva." diff --git a/editor/translations/editor/it.po b/editor/translations/editor/it.po index faf54784e040..5734dd2464e8 100644 --- a/editor/translations/editor/it.po +++ b/editor/translations/editor/it.po @@ -123,13 +123,14 @@ # "A Thousand Ships (she/her)" , 2025. # Pietro Marini , 2025. # shifenis , 2026. +# Mirto , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-05 13:02+0000\n" -"Last-Translator: shifenis \n" +"PO-Revision-Date: 2026-01-14 15:11+0000\n" +"Last-Translator: Mirto \n" "Language-Team: Italian \n" "Language: it\n" @@ -137,17 +138,158 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Fallito" + +msgid "Unavailable" +msgstr "Non disponibile" + +msgid "Unconfigured" +msgstr "Non configurato" + +msgid "Unauthorized" +msgstr "Non autorizzato" + +msgid "Parameter out of range" +msgstr "Parametro fuori intervallo" + +msgid "Out of memory" +msgstr "Memoria esaurita" + +msgid "File not found" +msgstr "File non trovato" + +msgid "File: Bad drive" +msgstr "File: Disco danneggiato" + +msgid "File: Bad path" +msgstr "File: Percorso non valido" + +msgid "File: Permission denied" +msgstr "File: Permesso negato" + +msgid "File already in use" +msgstr "Il file è già in uso" + +msgid "Can't open file" +msgstr "Impossibile aprire il file" + +msgid "Can't write file" +msgstr "Impossibile scrivere il file" + +msgid "Can't read file" +msgstr "Impossibile leggere il file" + +msgid "File unrecognized" +msgstr "File non riconosciuto" + +msgid "File corrupt" +msgstr "File corrotto" + +msgid "Missing dependencies for file" +msgstr "Dipendenze mancanti per il file" + +msgid "End of file" +msgstr "Fine del file" + +msgid "Can't open" +msgstr "Impossibile aprire" + +msgid "Can't create" +msgstr "Impossibile creare" + +msgid "Query failed" +msgstr "Richiesta fallita" + +msgid "Already in use" +msgstr "Già in uso" + msgid "Locked" msgstr "Bloccato" +msgid "Timeout" +msgstr "Tempo scaduto" + +msgid "Can't connect" +msgstr "Impossibile connettersi" + +msgid "Can't resolve" +msgstr "Impossibile risolvere" + +msgid "Connection error" +msgstr "Errore di connessione" + +msgid "Can't acquire resource" +msgstr "Impossibile acquisire la risorsa" + +msgid "Can't fork" +msgstr "Impossibile creare il processo" + +msgid "Invalid data" +msgstr "Dati non validi" + +msgid "Invalid parameter" +msgstr "Parametro non valido" + +msgid "Already exists" +msgstr "Già esistente" + +msgid "Does not exist" +msgstr "Non esistente" + +msgid "Can't read database" +msgstr "Impossibile leggere il database" + +msgid "Can't write database" +msgstr "Impossibile scrivere nel database" + +msgid "Compilation failed" +msgstr "Compilazione fallita" + +msgid "Method not found" +msgstr "Metodo non trovato" + +msgid "Link failed" +msgstr "Link fallito" + +msgid "Script failed" +msgstr "Script fallito" + +msgid "Cyclic link detected" +msgstr "Inclusione ciclica rilevata" + +msgid "Invalid declaration" +msgstr "Dichiarazione non valida" + +msgid "Duplicate symbol" +msgstr "Simbolo duplicato" + +msgid "Parse error" +msgstr "Errore di sintassi" + +msgid "Busy" +msgstr "Occupato" + +msgid "Skip" +msgstr "Salta" + msgid "Help" msgstr "Aiuto" +msgid "Bug" +msgstr "Bug" + +msgid "Printer on fire" +msgstr "Errore critico della stampante" + +msgid "unset" +msgstr "non impostato" + msgid "Physical" msgstr "Fisico" @@ -173,13 +315,13 @@ msgid "Mouse Wheel Right" msgstr "Rotellina del mouse a destra" msgid "Mouse Thumb Button 1" -msgstr "Pulsante laterale del mouse 1" +msgstr "Tasto laterale del mouse 1" msgid "Mouse Thumb Button 2" -msgstr "Pulsante laterale del mouse 2" +msgstr "Tasto laterale del mouse 2" msgid "Button" -msgstr "Pulsante" +msgstr "Tasto" msgid "Double Click" msgstr "Doppio clic" @@ -188,25 +330,25 @@ msgid "Mouse motion at position (%s) with velocity (%s)" msgstr "Movimento del mouse in posizione (%s) con velocità (%s)" msgid "Left Stick X-Axis, Joystick 0 X-Axis" -msgstr "Levetta sinistra asse X, joystick 0 asse X" +msgstr "Levetta sinistra asse X, Joystick 0 asse X" msgid "Left Stick Y-Axis, Joystick 0 Y-Axis" -msgstr "Levetta sinistra asse Y, joystick 0 asse Y" +msgstr "Levetta sinistra asse Y, Joystick 0 asse Y" msgid "Right Stick X-Axis, Joystick 1 X-Axis" -msgstr "Levetta destra asse X, joystick 1 asse X" +msgstr "Levetta destra asse X, Joystick 1 asse X" msgid "Right Stick Y-Axis, Joystick 1 Y-Axis" -msgstr "Levetta destra asse Y, joystick 1 asse Y" +msgstr "Levetta destra asse Y, Joystick 1 asse Y" msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT" -msgstr "Asse X del joystick 2, grilletto sinistro, L2 Sony, LT Xbox" +msgstr "Asse X del Joystick 2, Grilletto sinistro, L2 Sony, LT Xbox" msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT" -msgstr "Asse Y del joystick 2, grilletto destro, R2 Sony, RT Xbox" +msgstr "Asse Y del Joystick 2, Grilletto destro, R2 Sony, RT Xbox" msgid "Joystick 3 X-Axis" -msgstr "Asse X del joystick 3" +msgstr "Asse X del Joystick 3" msgid "Joystick 3 Y-Axis" msgstr "Asse Y del joystick 3" @@ -1280,6 +1422,15 @@ msgstr "Sposta un nodo" msgid "Transition exists!" msgstr "La transizione esiste!" +msgid "Cannot transition to self!" +msgstr "Impossibile creare una transizione verso lo stesso stato!" + +msgid "Cannot transition to \"Start\"!" +msgstr "Impossibile creare una transizione verso \"Start\"!" + +msgid "Cannot transition from \"End\"!" +msgstr "Impossibile creare una transizione da \"End\"!" + msgid "Play/Travel to %s" msgstr "Riproduci/Raggiungi a %s" @@ -1586,6 +1737,9 @@ msgstr "Taglia chiave(i)" msgid "Copy Key(s)" msgstr "Copia chiave(i)" +msgid "Send Key(s) to RESET" +msgstr "Invia Chiave(i) per il RESET" + msgid "Delete Key(s)" msgstr "Elimina chiave(i)" @@ -3561,8 +3715,14 @@ msgstr "Sposta questo pannello a sinistra di una scheda." msgid "Close this dock." msgstr "Chiudi questo pannello." +msgid "This dock can't be closed." +msgstr "Questo pannello non può essere chiuso." + +msgid "This dock does not support floating." +msgstr "Questo pannello non può essere staccato dalla finestra principale." + msgid "Make this dock floating." -msgstr "Rendi questo pannello mobile." +msgstr "Stacca questo pannello." msgid "Move Tab Left" msgstr "Sposta scheda a sinistra" @@ -20226,15 +20386,6 @@ msgstr "%s si può rilasciare qui. Usa %s per rilasciare, usa %s per annullare." msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s non si può rilasciare qui. Usa %s per annullare." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Tieni presente che GraphEdit e GraphNode subiranno un'estesa ristrutturazione " -"in una futura versione 4.x che riguardano modifiche alla API con " -"incompatibilità." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21018,7 +21169,7 @@ msgid "Expected constant expression after '='." msgstr "Prevista un'espressione costante dopo '='." msgid "Can't convert constant to '%s'." -msgstr "Impossibile convertire la costante in \"%s\"." +msgstr "Impossibile convertire la costante in '%s'." msgid "Expected an uniform subgroup identifier." msgstr "Previsto un identificatore di sottogruppo per uniformi." diff --git a/editor/translations/editor/ja.po b/editor/translations/editor/ja.po index fc92454200e4..10c0b16e1693 100644 --- a/editor/translations/editor/ja.po +++ b/editor/translations/editor/ja.po @@ -82,7 +82,7 @@ # Yu Tanaka , 2024. # 喜多山真護 , 2025. # UtanoSchell , 2025. -# Myeongjin Lee , 2025. +# Myeongjin Lee , 2025, 2026. # Viktor Jagebrant , 2025. # RockHopperPenguin64 , 2025. # Septian Ganendra Savero Kurniawan , 2025. @@ -97,8 +97,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-18 20:24+0000\n" -"Last-Translator: Amir Sabbagh \n" +"PO-Revision-Date: 2026-01-15 02:11+0000\n" +"Last-Translator: Myeongjin \n" "Language-Team: Japanese \n" "Language: ja\n" @@ -106,7 +106,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" @@ -117,6 +117,9 @@ msgstr "ロック済み" msgid "Help" msgstr "ヘルプ" +msgid "Printer on fire" +msgstr "プリンター発火" + msgid "Physical" msgstr "物理" @@ -19355,14 +19358,6 @@ msgstr "" "プは表示されません。これを解決するには、マウスフィルターを「停止」または「パ" "ス」に設定します。" -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"GraphEdit と GraphNode は、将来の 4.x バージョンで、互換性に影響がある API 変" -"更を含む広範なリファクタリングを受ける予定であることに注意してください。" - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/ko.po b/editor/translations/editor/ko.po index f4caffddc4d0..4698a50fd898 100644 --- a/editor/translations/editor/ko.po +++ b/editor/translations/editor/ko.po @@ -86,8 +86,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-13 19:51+0000\n" -"Last-Translator: nulta \n" +"PO-Revision-Date: 2026-01-22 20:12+0000\n" +"Last-Translator: Myeongjin \n" "Language-Team: Korean \n" "Language: ko\n" @@ -95,17 +95,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "확인" +msgid "Failed" +msgstr "실패" + +msgid "Unavailable" +msgstr "사용 가능하지 않음" + +msgid "Unconfigured" +msgstr "구성되지 않음" + +msgid "Unauthorized" +msgstr "인증되지 않음" + +msgid "Parameter out of range" +msgstr "매개변수 범위를 벗어남" + +msgid "Out of memory" +msgstr "메모리 초과" + +msgid "File not found" +msgstr "파일을 찾을 수 없음" + +msgid "File: Bad drive" +msgstr "파일: 잘못된 드라이브" + +msgid "File: Bad path" +msgstr "파일: 잘못된 경로" + +msgid "File: Permission denied" +msgstr "파일: 권한 거부됨" + +msgid "File already in use" +msgstr "파일이 이미 사용 중" + +msgid "Can't open file" +msgstr "파일을 열 수 없음" + +msgid "Can't write file" +msgstr "파일을 쓸 수 없음" + +msgid "Can't read file" +msgstr "파일을 읽을 수 없음" + +msgid "File unrecognized" +msgstr "파일을 인식할 수 없음" + +msgid "File corrupt" +msgstr "파일이 손상됨" + +msgid "Missing dependencies for file" +msgstr "파일에 종속성이 누락됨" + +msgid "End of file" +msgstr "파일의 끝" + +msgid "Can't open" +msgstr "열 수 없음" + +msgid "Can't create" +msgstr "만들 수 없음" + +msgid "Query failed" +msgstr "요청 실패" + +msgid "Already in use" +msgstr "이미 사용 중" + msgid "Locked" msgstr "잠김" +msgid "Timeout" +msgstr "시간 초과" + +msgid "Can't connect" +msgstr "연결할 수 없음" + +msgid "Can't resolve" +msgstr "해결할 수 없음" + +msgid "Connection error" +msgstr "연결 오류" + +msgid "Can't acquire resource" +msgstr "리소스를 획득할 수 없음" + +msgid "Can't fork" +msgstr "포크할 수 없음" + +msgid "Invalid data" +msgstr "잘못된 데이터" + +msgid "Invalid parameter" +msgstr "잘못된 매개변수" + +msgid "Already exists" +msgstr "이미 존재함" + +msgid "Does not exist" +msgstr "존재하지 않음" + +msgid "Can't read database" +msgstr "데이터베이스를 읽을 수 없음" + +msgid "Can't write database" +msgstr "데이터베이스를 쓸 수 없음" + +msgid "Compilation failed" +msgstr "컴파일 실패" + +msgid "Method not found" +msgstr "메서드를 찾을 수 없음" + +msgid "Link failed" +msgstr "연결 실패" + +msgid "Script failed" +msgstr "스크립트 실패" + +msgid "Cyclic link detected" +msgstr "순환 링크가 감지됨" + +msgid "Invalid declaration" +msgstr "잘못된 선언" + +msgid "Duplicate symbol" +msgstr "중복 기호" + +msgid "Parse error" +msgstr "구문 분석 오류" + +msgid "Busy" +msgstr "바쁨" + +msgid "Skip" +msgstr "건너뛰기" + msgid "Help" msgstr "도움말" +msgid "Bug" +msgstr "버그" + +msgid "Printer on fire" +msgstr "프린터에 불이 붙음" + msgid "unset" msgstr "미설정" @@ -348,7 +486,7 @@ msgid "Redo" msgstr "다시 실행" msgid "Completion Query" -msgstr "완성도" +msgstr "쿼리 자동완성" msgid "New Line" msgstr "새 줄" @@ -1548,6 +1686,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "미러링" +msgid "Handle mode: %s" +msgstr "핸들 모드: %s" + msgid "Stream:" msgstr "스트림:" @@ -1723,7 +1864,7 @@ msgid "Add Method Track Key" msgstr "메서드 트랙 키 추가" msgid "Method not found in object:" -msgstr "오브젝트에 메서드가 없음:" +msgstr "오브젝트에 메서드를 찾을 수 없음:" msgid "Animation Move Keys" msgstr "애니메이션 키 이동" @@ -1791,8 +1932,7 @@ msgstr "" "\n" "이 애니메이션을 수정하려면, 씬의 고급 가져오기 설정으로 이동하여 애니메이션을 " "선택하세요.\n" -"반복을 포함한 일부 옵션은 여기서 사용할 수 있습니다. 커스텀 트랙을 추가하려" -"면,\n" +"반복을 포함한 일부 옵션은 여기서 사용 가능합니다. 커스텀 트랙을 추가하려면,\n" "\"파일으로 저장\"과 \"커스텀 지정 트랙 유지\"를 활성화하세요." msgid "" @@ -2292,7 +2432,7 @@ msgid "Timeout." msgstr "시간 초과." msgid "Failed:" -msgstr "실패함:" +msgstr "실패:" msgid "Bad download hash, assuming file has been tampered with." msgstr "잘못된 다운로드 해시. 파일이 변조된 것 같습니다." @@ -2471,7 +2611,7 @@ msgid "Uncompressing Assets" msgstr "애셋 압축 풀기" msgid "The following files failed extraction from asset \"%s\":" -msgstr "애셋 \"%s\"에서 다음 파일의 압축 해제를 실패함:" +msgstr "다음 파일을 애셋 \"%s\"에서 압축 해제하는 데 실패함:" msgid "(and %s more files)" msgstr "(및 더 많은 파일 %s개)" @@ -3577,7 +3717,7 @@ msgid "This class is marked as deprecated." msgstr "이 클래스는 더 이상 사용되지 않는 것으로 표시되어 있습니다." msgid "This class is marked as experimental." -msgstr "이 클래스는 실험적 단계로 표시되어 있습니다." +msgstr "이 클래스는 실험적 단계로 표시됩니다." msgid "Matches the \"%s\" keyword." msgstr "\"%s\" 키워드와 일치합니다." @@ -5032,7 +5172,7 @@ msgid "Scene Redo: %s" msgstr "씬 다시 실행: %s" msgid "Can't reload a scene that was never saved." -msgstr "저장된 적이 없는 씬은 다시 불러올 수 없습니다." +msgstr "저장되지 않은 씬은 다시 불러올 수 없습니다." msgid "Save & Reload" msgstr "저장 및 다시 불러오기" @@ -5408,19 +5548,19 @@ msgid "Ungroup Selected Node(s)" msgstr "선택된 노드 묶음 풀기" msgid "Pan View" -msgstr "팬 보기" +msgstr "패닝 보기" msgid "Distraction Free Mode" msgstr "집중 모드" msgid "Toggle Last Opened Bottom Panel" -msgstr "마지막으로 연 바닥 패널 토글" +msgstr "마지막으로 연 아래 패널 토글" msgid "Toggle distraction-free mode." msgstr "집중 모드를 토글합니다." msgid "Copy Text" -msgstr "문자 복사" +msgstr "텍스트 복사" msgid "Command Palette" msgstr "명령 팔레트" @@ -5708,7 +5848,7 @@ msgid "Invalid executable file." msgstr "잘못된 실행 파일." msgid "Can't resize signature load command." -msgstr "서명 불러오기 명령의 크기를 조정할 수 없습니다." +msgstr "서명 불러오기 명령의 크기를 조절할 수 없습니다." msgid "Failed to create fat binary." msgstr "fat 바이너리를 만드는 데 실패했습니다." @@ -6073,7 +6213,7 @@ msgid "" "for official releases." msgstr "" "이 버전에 대한 다운로드 링크를 찾을 수 없습니다. 직접 다운로드는 공식 출시 버" -"전에 대해서만 사용할 수 있습니다." +"전에 대해서만 사용 가능합니다." msgid "Disconnected" msgstr "연결 끊김" @@ -6306,7 +6446,7 @@ msgid "" "If checked, the preset will be available for use in one-click deploy.\n" "Only one preset per platform may be marked as runnable." msgstr "" -"체크하면 프리셋은 원클릭 배포로 사용할 수 있습니다.\n" +"체크하면 프리셋은 원클릭 배포로 사용 가능합니다.\n" "플랫폼 당 하나의 프리셋만 실행 가능으로 표시될 것입니다." msgid "Advanced Options" @@ -6561,6 +6701,12 @@ msgstr "종속 관계 편집기" msgid "Owners of: %s (Total: %d)" msgstr "소유자: %s (총계: %d)" +msgid "No owners found for: %s" +msgstr "찾은 소유자가 없음: %s" + +msgid "Owners List" +msgstr "소유자 목록" + msgid "Localization remap" msgstr "현지화 리매핑" @@ -6925,10 +7071,10 @@ msgid "Licenses" msgstr "라이선스" msgid "Pin Bottom Panel Switching" -msgstr "바닥 패널 전환 고정" +msgstr "아래 패널 전환 고정" msgid "Expand Bottom Panel" -msgstr "바닥 패널 확장" +msgstr "아래 패널 확장" msgid "Move/Duplicate: %s" msgstr "파일 이동/복사: %s" @@ -6958,6 +7104,9 @@ msgstr "리소스 선택" msgid "Select Scene" msgstr "씬 선택" +msgid "Recursion detected, Instant Preview failed." +msgstr "재귀가 감지되었습니다. 즉시 미리보기에 실패했습니다." + msgid "Instant Preview" msgstr "즉시 미리보기" @@ -7585,7 +7734,7 @@ msgid "Clear Property Array with Prefix %s" msgstr "접두어 %s을(를) 가진 속성 배열 비우기" msgid "Resize Property Array with Prefix %s" -msgstr "접두어 %s을(를) 가진 속성 배열 크기 조정" +msgstr "접두어 %s을(를) 가진 속성 배열 크기 조절" msgid "Element %d: %s%d*" msgstr "요소 %d: %s%d*" @@ -7603,13 +7752,13 @@ msgid "Clear Array" msgstr "배열 비우기" msgid "Resize Array..." -msgstr "배열 크기 조정..." +msgstr "배열 크기 조절..." msgid "Add Element" msgstr "요소 추가" msgid "Resize Array" -msgstr "배열 크기 조정" +msgstr "배열 크기 조절" msgid "New Size:" msgstr "새 크기:" @@ -7747,7 +7896,7 @@ msgid "Assign..." msgstr "지정..." msgid "Assign Node" -msgstr "노드 지정" +msgstr "노드 할당" msgid "Copy as Text" msgstr "텍스트로 복사" @@ -7762,7 +7911,7 @@ msgid "Invalid RID" msgstr "잘못된 RID" msgid "Recursion detected, unable to assign resource to property." -msgstr "재귀가 감지되어 프로퍼티에 리소스를 할당할 수 없습니다." +msgstr "재귀가 감지되었습니다. 속성에 리소스를 할당할 수 없습니다." msgid "" "Can't create a ViewportTexture in a Texture2D node because the texture will " @@ -8204,7 +8353,7 @@ msgid "Supports desktop platforms only." msgstr "데스크톱 플랫폼만 지원합니다." msgid "Advanced 3D graphics available." -msgstr "고급 3D 그래픽을 사용할 수 있습니다." +msgstr "고급 3D 그래픽이 사용 가능합니다." msgid "Can scale to large complex scenes." msgstr "크고 복잡한 씬을 충분히 그려낼 수 있습니다." @@ -8252,12 +8401,12 @@ msgid "" "Are you sure you wish to continue?" msgstr "" "비어 있지 않은 폴더에 Godot 프로젝트를 만들고 있습니다.\n" -"폴더 내의 모든 내용을 프로젝트 리소스로 가져올 것입니다!\n" +"이 폴더의 전체 내용을 프로젝트 리소스로 가져옵니다!\n" "\n" -"정말로 진행하시겠습니까?" +"계속하길 원하십니까?" msgid "Couldn't create project directory, check permissions." -msgstr "프로젝트 디렉터리를 만들 수 없었습니다. 권한이 있는지 확인해 주세요." +msgstr "프로젝트 디렉터리를 만들 수 없었습니다. 권한을 확인하세요." msgid "Couldn't create project.godot in project path." msgstr "프로젝트 경로에 project.godot 파일을 만들 수 없었습니다." @@ -8269,7 +8418,7 @@ msgid "Error opening package file, not in ZIP format." msgstr "패키지 파일을 여는 중 오류. ZIP 형식이 아닙니다." msgid "The following files failed extraction from package:" -msgstr "다음 파일을 패키지에서 추출하는데 실패함:" +msgstr "다음 파일을 패키지에서 압축 해제하는데 실패함:" msgid "Couldn't duplicate project (error %d)." msgstr "프로젝트를 복제할 수 없었습니다 (오류 %d)." @@ -8979,8 +9128,8 @@ msgid "" "To disable Recovery Mode, reload the project by pressing the Reload button " "next to the Recovery Mode banner, or by reopening the project normally." msgstr "" -"복구 모드를 비활성화하려면 복구 모드 배너 옆에 다시 불러옴 버튼을 누르거나, 프" -"로젝트를 정상적으로 다시 열어서 프로젝트를 다시 불러오세요." +"복구 모드를 비활성화하려면 복구 모드 배너 옆에 다시 불러오기 버튼을 누르거나, " +"프로젝트를 정상적으로 다시 열어서 프로젝트를 다시 불러오세요." msgid "Disable recovery mode and reload the project." msgstr "복구 모드를 비활성화하고 프로젝트를 다시 불러옵니다." @@ -9744,7 +9893,7 @@ msgid "Sprite2D" msgstr "Sprite2D" msgid "Drag to Resize Region Rect" -msgstr "사각 영역의 크기를 조정하려면 드래그" +msgstr "사각 영역의 크기를 조절하려면 드래그" msgid "Simplification:" msgstr "단순화:" @@ -9880,7 +10029,7 @@ msgid "Grid Snap" msgstr "격자 스냅" msgid "Subdivision" -msgstr "세분" +msgstr "분할" msgid "Painting Tiles Property" msgstr "칠하는 타일 속성" @@ -10016,7 +10165,7 @@ msgid "" "This TileMap's TileSet has no Tile Source configured. Go to the TileSet " "bottom panel to add one." msgstr "" -"이 타일맵의 타일셋에 구성된 타일 소스가 없습니다. 이동하여 타일셋 바닥 패널에" +"이 타일맵의 타일셋에 구성된 타일 소스가 없습니다. 이동하여 타일셋 아래 패널에" "서 소스를 하나 추가하세요." msgid "Sort sources" @@ -10305,7 +10454,7 @@ msgid "Select tiles" msgstr "타일 선택" msgid "Resize a tile" -msgstr "타일 크기 조정" +msgstr "타일 크기 조절" msgid "Remove tile" msgstr "타일 제거" @@ -10740,7 +10889,7 @@ msgid "High" msgstr "높음" msgid "Subdivisions: %s" -msgstr "세분: %s" +msgstr "분할: %s" msgid "Cell size: %s" msgstr "셀 크기: %s" @@ -11390,6 +11539,24 @@ msgstr "" msgid "This debug draw mode is only supported when using the Forward+ renderer." msgstr "이 디버그 그리기 모드는 Forward+ 렌더러를 사용할 때에만 지원됩니다." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "크기: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "오브젝트: %d" + +msgid "Primitives: %d" +msgstr "프리미티브: %d" + msgid "Draw Calls: %d" msgstr "드로우 콜: %d" @@ -11403,7 +11570,7 @@ msgid "FPS: %d" msgstr "FPS: %d" msgid "Translating:" -msgstr "이동 중:" +msgstr "옮기는 중:" msgid "Instantiating:" msgstr "인스턴스화 중:" @@ -11553,11 +11720,20 @@ msgid "SDFGI Cascades" msgstr "SDFGI 캐스케이드" msgid "Requires SDFGI to be enabled in Environment to have a visible effect." -msgstr "가시적인 효과를 얻으려면 환경에서 SDFGI가 활성화되어 있어야 합니다." +msgstr "가시적인 효과를 얻으려면 환경에서 SDFGI가 활성화되어야 합니다." msgid "SDFGI Probes" msgstr "SDFGI 프로브" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"SDFGI 프로브를 왼쪽 클릭하여 오클루전 정보를 표시합니다 (하양 = 가려지지 않" +"음, 빨강 = 완전히 가려짐).\n" +"가시적인 효과를 얻으려면 환경에서 SDFGI가 활성화되어야 합니다." + msgid "Scene Luminance" msgstr "씬 광도" @@ -11568,7 +11744,7 @@ msgid "" "effect." msgstr "" "3D 버퍼에서 계산된 씬 휘도를 표시합니다. 이는 자동 노출 계산에 사용됩니다.\n" -"가시적인 효과를 얻으려면 카메라 특성에서 자동 노출이 활성화되어 있어야 합니다." +"가시적인 효과를 얻으려면 CameraAttributes에서 자동 노출이 활성화되어야 합니다." msgid "SSAO" msgstr "SSAO" @@ -11578,7 +11754,7 @@ msgid "" "enabled in Environment to have a visible effect." msgstr "" "화면 공간 앰비언트 오클루전 버퍼를 표시합니다. 가시적인 효과를 얻으려면 환경에" -"서 SSAO가 활성화되어 있어야 합니다." +"서 SSAO가 활성화되어야 합니다." msgid "SSIL" msgstr "SSIL" @@ -11588,13 +11764,13 @@ msgid "" "enabled in Environment to have a visible effect." msgstr "" "화면 공간 간접 조명 버퍼를 표시합니다. 가시적인 효과를 얻으려면 환경에서 SSIL" -"이 활성화되어 있어야 합니다." +"이 활성화되어야 합니다." msgid "VoxelGI/SDFGI Buffer" msgstr "VoxelGI/SDFGI 버퍼" msgid "Requires SDFGI or VoxelGI to be enabled to have a visible effect." -msgstr "가시적인 효과를 얻으려면 SDFGI 또는 VoxelGI가 활성화되어 있어야 합니다." +msgstr "가시적인 효과를 얻으려면 SDFGI 또는 VoxelGI가 활성화되어야 합니다." msgid "Disable Mesh LOD" msgstr "메시 LOD 비활성화" @@ -11836,7 +12012,7 @@ msgstr "" "Alt+우클릭: 클릭된 위치에 있는 잠금을 포함한 모든 노드의 목록을 보여줍니다." msgid "(Available in all modes.)" -msgstr "(모든 모드에서 사용할 수 있습니다.)" +msgstr "(모든 모드에서 사용 가능합니다.)" msgid "%s+Drag: Use snap." msgstr "%s+드래그: 스냅을 사용합니다." @@ -12601,7 +12777,7 @@ msgid "Scale Node2D \"%s\" to (%s, %s)" msgstr "Node2D \"%s\"을(를) (%s, %s)로 스케일 조절" msgid "Resize Control \"%s\" to (%d, %d)" -msgstr "Control \"%s\"을(를) (%d, %d)로 크기 조정" +msgstr "Control \"%s\"을(를) (%d, %d)로 크기 조절" msgid "Scale %d CanvasItems" msgstr "CanvasItem %d개 스케일 조절" @@ -12798,11 +12974,14 @@ msgid "Transformation" msgstr "변형" msgid "Center Selection" -msgstr "선택 항목 중앙으로" +msgstr "선택 항목 가운데로" msgid "Frame Selection" msgstr "프레임 선택" +msgid "Auto Resample CanvasItems" +msgstr "CanvasItem 자동 리샘플링" + msgid "Preview Canvas Scale" msgstr "캔버스 스케일 미리보기" @@ -13909,7 +14088,7 @@ msgstr "사변형" msgid "Hold Shift to scale around midpoint instead of moving." msgstr "" -"Shift 키를 누르고 있으면 이동하지 않고 중점을 기준으로 크기를 조정할 수 있습니" +"Shift 키를 누르고 있으면 이동하지 않고 중점을 기준으로 크기를 조절할 수 있습니" "다." msgid "Toggle between minimum/maximum and base value/spread modes." @@ -14574,7 +14753,7 @@ msgid "%d matches in %d files" msgstr "%d개 일치가 파일 %d개에 있음" msgid "Toggle Search Results Bottom Panel" -msgstr "검색 결과 바닥 패널 토글" +msgstr "검색 결과 아래 패널 토글" msgid "Path is empty." msgstr "경로가 비었습니다." @@ -16127,7 +16306,7 @@ msgid "Set VisualShader Expression" msgstr "VisualShader 표현식 설정" msgid "Resize VisualShader Node" -msgstr "VisualShader 노드 크기 조정" +msgstr "VisualShader 노드 크기 조절" msgid "Hide Port Preview" msgstr "포트 미리보기 숨기기" @@ -17416,7 +17595,7 @@ msgid "" "No VCS plugins are available in the project. Install a VCS plugin to use VCS " "integration features." msgstr "" -"프로젝트에 사용할 수 있는 VCS 플러그인이 없습니다. VCS 통합 기능을 사용하려면 " +"프로젝트에 사용 가능한 VCS 플러그인이 없습니다. VCS 통합 기능을 사용하려면 " "VCS 플러그인을 설치해야 합니다." msgid "" @@ -17459,7 +17638,7 @@ msgid "Do you want to remove the %s remote?" msgstr "%s 원격을 제거하시겠습니까?" msgid "Toggle Version Control Bottom Panel" -msgstr "버전 관리 바닥 패널 토글" +msgstr "버전 관리 아래 패널 토글" msgid "Create Version Control Metadata" msgstr "버전 관리 메타데이터 만들기" @@ -17686,7 +17865,7 @@ msgid "Range too big." msgstr "범위가 너무 큽니다." msgid "Cannot resize array." -msgstr "배열의 크기를 조정할 수 없습니다." +msgstr "배열의 크기를 조절할 수 없습니다." msgid "Step argument is zero!" msgstr "Step 인수가 0입니다!" @@ -17888,7 +18067,7 @@ msgid "GridMap" msgstr "그리드맵" msgid "Toggle GridMap Bottom Panel" -msgstr "그리드맵 바닥 패널 토글" +msgstr "그리드맵 아래 패널 토글" msgid "All Clips" msgstr "모든 클립" @@ -18127,7 +18306,7 @@ msgid "Replication" msgstr "리플리케이션" msgid "Toggle Replication Bottom Panel" -msgstr "리플리케이션 바닥 패널 토글" +msgstr "리플리케이션 아래 패널 토글" msgid "Select a replicator node in order to pick a property to add to it." msgstr "리플리케이터 노드를 선택하고 추가할 속성을 고르세요." @@ -18185,7 +18364,7 @@ msgid "The MultiplayerSynchronizer needs a root path." msgstr "MultiplayerSynchronizer는 루트 경로가 있어야 합니다." msgid "Property/path must not be empty." -msgstr "속성/경로는 비워 두면 안됩니다." +msgstr "속성/경로는 비워둘 수 없습니다." msgid "Invalid property path: '%s'" msgstr "잘못된 속성 경로: '%s'" @@ -18481,6 +18660,18 @@ msgstr "ObjectDB 참조 + 네이티브 참조" msgid "Cycles detected in the ObjectDB" msgstr "ObjectDB에 감지된 순환" +msgid "Native References: %d" +msgstr "네이티브 참조: %d" + +msgid "ObjectDB References: %d" +msgstr "ObjectDB 참조: %d" + +msgid "Total References: %d" +msgstr "총 참조: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "ObjectDB 순환: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]ObjectDB 참조[center]" @@ -18541,6 +18732,25 @@ msgstr "총 오브젝트:" msgid "Total Nodes:" msgstr "총 노드:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "여러 루트 노드 [i]('queue_free' 없이 'remove_child'를 호출 가능)[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"참조개수 오브젝트는 순환으로만 참조됩니다 [i](순환은 때때로 메모리 누수를 나타" +"냅니다)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"스크립트 오브젝트는 아무 다른 오브젝트에서 참조되지 않습니다 [i](참조되지 않" +"은 오브젝트는 메모리 누수를 나타낼 수 있습니다)[/i]" + msgid "Generating Snapshot" msgstr "스냅샷 생성 중" @@ -18565,6 +18775,9 @@ msgstr "스냅샷 이름 바꾸기 실패" msgid "ObjectDB Profiler" msgstr "ObjectDB 프로파일러" +msgid "Diff Against:" +msgstr "대상과의 차이:" + msgid "Rename Action" msgstr "액션 이름 바꾸기" @@ -18833,6 +19046,9 @@ msgstr "\"밀어서 해제\"를 활성화하려면 \"Gradle 빌드 사용\"이 msgid "\"Use Gradle Build\" must be enabled to use the plugins." msgstr "플러그인을 사용하려면 \"Gradle 빌드 사용\"이 활성화되어야 합니다." +msgid "Support for \"Use Gradle Build\" on Android is currently experimental." +msgstr "Android에서 \"Gradle 빌드 사용\"에 대한 지원은 현재 실험적입니다." + msgid "" "\"Compress Native Libraries\" is only valid when \"Use Gradle Build\" is " "enabled." @@ -18897,8 +19113,8 @@ msgid "" "If enabled, \"scrcpy\" is used to start the project and automatically stream " "device display (or virtual display) content." msgstr "" -"활성화된 경우 \"scrcpy\"를 이용해 프로젝트를 시작하고 장치 디스플레이(또는 가" -"상 디스플레이) 콘텐츠를 자동으로 스트리밍합니다." +"활성화되면 \"scrcpy\"는 프로젝트를 시작하고 기기 디스플레이 (또는 가상 디스플" +"레이) 내용을 자동으로 스트리밍하는 데 사용됩니다." msgid "Exporting APK..." msgstr "APK로 내보내는 중..." @@ -18919,8 +19135,8 @@ msgid "" "Could not start scrcpy executable. Configure scrcpy path in the Editor " "Settings (Export > Android > scrcpy > Path)." msgstr "" -"scrcpy 실행 파일을 시작할 수 없었습니다. 편집기 설정 (내보내기 > Android > " -"scrcpy > 경로) 에서 scrcpy 경로를 구성하세요." +"scrcpy 실행 파일을 시작할 수 없었습니다. 편집기 설정(내보내기 > Android > " +"scrcpy > 경로)에서 scrcpy 경로를 구성하세요." msgid "Could not execute on device." msgstr "기기에서 실행할 수 없었습니다." @@ -19729,10 +19945,10 @@ msgid "Could not find osslsigncode executable at \"%s\"." msgstr "\"%s\"에서 osslsigncode 실행 파일을 찾지 못했습니다." msgid "No identity found." -msgstr "아이덴티티를 찾을 수 없습니다." +msgstr "식별자를 찾을 수 없습니다." msgid "Invalid identity type." -msgstr "잘못된 아이덴티티 유형입니다." +msgstr "잘못된 식별자 유형입니다." msgid "Invalid timestamp server." msgstr "잘못된 타임스탬프 서버입니다." @@ -19822,7 +20038,7 @@ msgstr "" msgid "" "Particle trails are only available when using the Forward+ or Mobile renderer." msgstr "" -"입자 트레일은 Forward+ 또는 모바일 렌더러를 이용할 때만 사용할 수 있습니다." +"입자 트레일은 Forward+ 또는 모바일 렌더러를 사용할 때만 사용 가능합니다." msgid "" "Particle sub-emitters are not available when using the Compatibility renderer." @@ -19831,11 +20047,12 @@ msgstr "입자 서브이미터는 호환성 렌더러를 사용할 때는 지원 msgid "" "A texture with the shape of the light must be supplied to the \"Texture\" " "property." -msgstr "라이트 모양의 텍스처는 반드시 \"Texture\" 속성에 지정해야 합니다." +msgstr "조명의 모양이 있는 텍스처는 반드시 \"Texture\" 속성에 지정해야 합니다." msgid "" "An occluder polygon must be set (or drawn) for this occluder to take effect." -msgstr "이 오클루더를 반영하려면 오클루더 폴리곤을 설정(또는 그려야) 합니다." +msgstr "" +"이 오클루더를 반영하려면 오클루더 폴리곤을 설정해야 (또는 그려야) 합니다." msgid "The occluder polygon for this occluder is empty. Please draw a polygon." msgstr "" @@ -20020,8 +20237,8 @@ msgid "" msgstr "" "TileMap 노드는 TileMapLayer 노드를 여러 개 사용하는 것으로 대체되었기 때문에 " "사용되지 않습니다.\n" -"TileMap을 TileMapLayer 노드로 변환하려면 이 노드를 선택한 상태에서 타일맵 바" -"닥 패널을 열고, 오른쪽 상단의 도구 아이콘을 클릭한 후 \"TileMap 레이어를 각각 " +"TileMap을 TileMapLayer 노드로 변환하려면 이 노드를 선택한 상태에서 타일맵 아" +"래 패널을 열고, 오른쪽 상단의 도구 아이콘을 클릭한 후 \"TileMap 레이어를 각각 " "TileMapLayer 노드로 추출\"을 선택하세요." msgid "" @@ -20095,6 +20312,9 @@ msgstr "" "CPUParticles3D 애니메이션을 사용하려면 Billboard Mode가 \"Particle " "Billboard\"로 설정된 StandardMaterial3D가 필요합니다." +msgid "Decals are only available when using the Forward+ or Mobile renderer." +msgstr "데칼은 Forward+ 또는 모바일 렌더러를 사용할 때만 사용 가능합니다." + msgid "" "The decal has no textures loaded into any of its texture properties, and will " "therefore not be visible." @@ -20170,8 +20390,7 @@ msgid "" "Particle sub-emitters are only available when using the Forward+ or Mobile " "renderer." msgstr "" -"입자 서브이미터는 Forward+ 또는 모바일 렌더러를 이용할 때만 사용할 수 있습니" -"다." +"입자 서브이미터는 Forward+ 또는 모바일 렌더러를 사용할 때만 사용 가능합니다." msgid "" "The Bake Mask has no bits enabled, which means baking will not produce any " @@ -20182,6 +20401,12 @@ msgstr "" "GPUParticlesCollisionSDF3D에 대해 아무 콜리전도 만들어내지 않을 것입니다.\n" "굽기 마스크 속성에서 하나 이상의 비트를 설정해 주세요." +msgid "" +"Detecting settings with no target set! IterateIK3D must have a target to work." +msgstr "" +"설정된 대상이 없는 상태에서 설정을 감지하고 있습니다! IterateIK3D가 작동하려" +"면 대상이 있어야 합니다." + msgid "A light's scale does not affect the visual size of the light." msgstr "빛의 크기는 실제로 보이는 빛의 크기에 영향을 미치지 않습니다." @@ -20520,6 +20745,12 @@ msgstr "" "Skeleton3D 노드가 설정되지 않았습니다! SkeletonModifier3D는 Skeleton3D의 자식" "이어야 합니다." +msgid "" +"Detecting settings with no Path3D set! SplineIK3D must have a Path3D to work." +msgstr "" +"설정된 Path3D가 없는 상태에서 설정을 감지하고 있습니다! IterateIK3D가 작동하려" +"면 Path3D가 있어야 합니다." + msgid "Parent node should be a SpringBoneSimulator3D node." msgstr "부모 노드는 SpringBoneSimulator3D 노드여야 합니다." @@ -20530,6 +20761,19 @@ msgstr "" "AnimatedSprite3D가 프레임을 표시하려면 \"스프라이트 프레임\" 속성에서 " "SpriteFrames 리소스를 만들거나 설정해야 합니다." +msgid "" +"Detecting settings with no target set! TwoBoneIK3D must have a target to work." +msgstr "" +"설정된 대상이 없는 상태에서 설정을 감지하고 있습니다! TwoBoneIK3D가 작동하려" +"면 대상이 있어야 합니다." + +msgid "" +"Detecting settings with no pole target set! TwoBoneIK3D must have a pole " +"target to work." +msgstr "" +"설정된 폴 대상이 없는 상태에서 설정을 감지하고 있습니다! TwoBoneIK3D가 작동하" +"려면 폴 대상이 있어야 합니다." + msgid "" "The GeometryInstance3D visibility range's End distance is set to a non-zero " "value, but is lower than the Begin distance.\n" @@ -20564,14 +20808,14 @@ msgid "" "GeometryInstance3D transparency is only available when using the Forward+ " "renderer." msgstr "" -"GeometryInstance3D 투명도는 Forward+ 렌더러를 이용할 때만 사용할 수 있습니다." +"GeometryInstance3D 투명도는 Forward+ 렌더러를 사용할 때만 사용 가능합니다." msgid "" "GeometryInstance3D visibility range transparency fade is only available when " "using the Forward+ renderer." msgstr "" -"GeometryInstance3D 가시성 범위 투명도 페이딩은 Forward+ 렌더러를 이용할 때만 " -"사용할 수 있습니다." +"GeometryInstance3D 가시성 범위 투명도 페이딩은 Forward+ 렌더러를 사용할 때만 " +"사용 가능합니다." msgid "Plotting Meshes" msgstr "메시 구분 중" @@ -20649,6 +20893,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D는 자식으로 XRCamera3D 노드가 필요합니다." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"XROrigin3D 노드에 스케일 변경은 지원되지 않습니다. 대신 세계 스케일을 변경하세" +"요." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -20679,8 +20930,17 @@ msgid "" "activation fails." msgstr "" "AnimationTree가 비활성 상태입니다.\n" -"재생하려면 인스펙터에서 노드를 활성 상태로 변경하세요. 활성화에 실패한다면 노" -"드 경고를 확인하세요." +"재생하려면 인스펙터에서 노드를 활성 상태로 변경하세요. 활성 상태에 실패한다면 " +"노드 경고를 확인하세요." + +msgid "" +"The AnimationTree node (or one of its parents) has its process mode set to " +"Disabled.\n" +"Change the process mode in the inspector to allow playback." +msgstr "" +"AnimationTree 노드(또는 그 노드의 부모 중 하나)에 처리 모드가 비활성화로 설정" +"되어 있습니다.\n" +"재생을 허용하려면 인스펙터에서 처리 모드를 변경하세요." msgid "" "ButtonGroup is intended to be used only with buttons that have toggle_mode " @@ -20737,14 +20997,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s 을(를) 여기에 놓을 수 없습니다. %s 을(를) 사용하여 취소합니다." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"GraphEdit과 GraphNode는 이후의 4.x 버전에서 하위 호환성 없는 API 변경을 포함" -"한 큰 리팩터링을 거칠 것임을 유의해 주세요." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -20756,8 +21008,8 @@ msgid "" "The current font does not support rendering one or more characters used in " "this Label's text." msgstr "" -"이 레이블의 텍스트에는 현재 글꼴이 렌더링할 수 없는 글자가 하나 이상 포함되어 " -"있습니다." +"이 레이블의 텍스트에는 현재 글꼴이 렌더링을 지원하지 않는 글자가 하나 이상 포" +"함되어 있습니다." msgid "" "MSDF font pixel range is too small, some outlines/shadows will not render. " @@ -20779,7 +21031,7 @@ msgid "If \"Exp Edit\" is enabled, \"Min Value\" must be greater or equal to 0." msgstr "\"지수 편집\"이 활성화되면, \"최솟값\"은 0보다 크거나 같아야 합니다." msgid "Image alternative text must not be empty." -msgstr "이미지 대체 텍스트는 비워 둘 수 없습니다." +msgstr "이미지 대체 텍스트는 비워 두면 안됩니다." msgid "" "ScrollContainer is intended to work with a single child control.\n" @@ -20790,6 +21042,9 @@ msgstr "" "(VBox, HBox 등) 컨테이너를 자식으로 사용하거나, Control을 사용하고 커스텀 최" "소 크기를 수동으로 설정하세요." +msgid "Drag to resize" +msgstr "크기를 조절하려면 드래그" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -20866,8 +21121,8 @@ msgid "" "This node is marked as experimental and may be subject to removal or major " "changes in future versions." msgstr "" -"이 노드는 실험적으로 표시되어 있으며 향후 버전에서 제거되거나 크게 변경될 수 " -"있습니다." +"이 노드는 실험적으로 표시되며 향후 버전에서 제거되거나 크게 변경될 수 있습니" +"다." msgid "" "ShaderGlobalsOverride is not active because another node of the same type is " @@ -21155,6 +21410,22 @@ msgstr "다음 함수를 찾을 수 없습니다: '%s'." msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "Varying '%s'은(는) 해당 문맥에서 '%s' 매개변수로 전달할 수 없습니다." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"멀티뷰 텍스처 샘플러를 커스텀 함수의 매개변수로 전달할 수 없습니다. 메인 함수" +"에서 이를 샘플한 다음 벡터 결과를 커스텀 함수로 전달하는 것을 고려하세요." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"RADIANCE 텍스처 샘플러를 커스텀 함수의 매개변수로 전달할 수 없습니다. 메인 함" +"수에서 이를 샘플한 다음 벡터 결과를 커스텀 함수로 전달하는 것을 고려하세요." + msgid "Unknown identifier in expression: '%s'." msgstr "표현식에 알 수 없는 식별자가 있습니다: '%s'." @@ -21438,8 +21709,8 @@ msgid "" "'hint_normal_roughness_texture' is only available when using the Forward+ " "renderer." msgstr "" -"'hint_normal_roughness_texture'는 Forward+ 렌더러를 이용할 때만 사용할 수 있습" -"니다." +"'hint_normal_roughness_texture'는 Forward+ 렌더러를 사용할 때만 사용 가능합니" +"다." msgid "'hint_normal_roughness_texture' is not supported in '%s' shaders." msgstr "'hint_normal_roughness_texture'는 '%s' 셰이더에서 지원되지 않습니다." @@ -21653,7 +21924,7 @@ msgid "Shader include resource type is wrong." msgstr "셰이더 인클루드 리소스 유형이 잘못되었습니다." msgid "Cyclic include found" -msgstr "순환 참조가 발견되었습니다" +msgstr "순환 포함이 발견되었습니다" msgid "Shader max include depth exceeded." msgstr "셰이더의 최대 참조 깊이가 초과되었습니다." diff --git a/editor/translations/editor/nl.po b/editor/translations/editor/nl.po index f63c1e81b8b1..635c667e2750 100644 --- a/editor/translations/editor/nl.po +++ b/editor/translations/editor/nl.po @@ -71,32 +71,33 @@ # Gaetan Deglorie , 2023. # Bert Heymans , 2023. # Gert-dev , 2023. -# Adriaan de Jongh , 2024. +# Adriaan de Jongh , 2024, 2026. # Luka van der Plas , 2024. # steven pince , 2024. # "Vampie C." , 2024. # Philip Goto , 2024, 2025. # Tycho , 2024. # Leroy , 2024. -# pim wagemans , 2024, 2025. +# pim wagemans , 2024, 2025, 2026. # Yannick Kartodikromo , 2024. # NicolasDed , 2024. # "Julian F." , 2024. # bas van den burg , 2024. # Luka Verbrugghe , 2024. # tristanvong , 2025. -# Cas Vankrunkelsven , 2025. -# Sven Slootweg , 2025. +# Cas Vankrunkelsven , 2025, 2026. +# Sven Slootweg , 2025, 2026. # Max de Kroon , 2025. # "A Thousand Ships (she/her)" , 2025. # penggrin12 , 2025. +# Marijn Scholtus , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-22 09:42+0000\n" -"Last-Translator: penggrin12 \n" +"PO-Revision-Date: 2026-01-16 10:02+0000\n" +"Last-Translator: Cas Vankrunkelsven \n" "Language-Team: Dutch \n" "Language: nl\n" @@ -104,16 +105,157 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Oké" +msgid "Failed" +msgstr "Mislukt" + +msgid "Unavailable" +msgstr "Niet beschikbaar" + +msgid "Unconfigured" +msgstr "Niet ingesteld" + +msgid "Unauthorized" +msgstr "Onbevoegd" + +msgid "Parameter out of range" +msgstr "Parameter buiten bereik" + +msgid "Out of memory" +msgstr "Geheugen is vol" + +msgid "File not found" +msgstr "Bestand niet gevonden" + +msgid "File: Bad drive" +msgstr "Bestand: Foute harde schijf" + +msgid "File: Bad path" +msgstr "Bestand: fout pad" + +msgid "File: Permission denied" +msgstr "Bestand: Geen toestemming" + +msgid "File already in use" +msgstr "Bestand reeds in gebruik" + +msgid "Can't open file" +msgstr "Kan het bestand niet openen" + +msgid "Can't write file" +msgstr "Kan het bestand niet opslaan" + +msgid "Can't read file" +msgstr "Kan het bestand niet lezen" + +msgid "File unrecognized" +msgstr "Bestand wordt niet herkend" + +msgid "File corrupt" +msgstr "Bestand corrupt" + +msgid "Missing dependencies for file" +msgstr "Missende afhankelijkheden voor het bestand" + +msgid "End of file" +msgstr "Einde van het bestand" + +msgid "Can't open" +msgstr "Openen mislukt" + +msgid "Can't create" +msgstr "Creëren mislukt" + +msgid "Query failed" +msgstr "Aanvraag mislukt" + +msgid "Already in use" +msgstr "Reeds in gebruik" + msgid "Locked" msgstr "Vergrendeld" +msgid "Timeout" +msgstr "Tijdslimiet" + +msgid "Can't connect" +msgstr "Kan niet verbinden" + +msgid "Can't resolve" +msgstr "Oplossen mislukt" + +msgid "Connection error" +msgstr "Foutmelding met verbinden" + +msgid "Can't acquire resource" +msgstr "Kan bron niet verkrijgen" + +msgid "Can't fork" +msgstr "Kan niet vertakken" + +msgid "Invalid data" +msgstr "Ongeldige data" + +msgid "Invalid parameter" +msgstr "Ongeldige parameter" + +msgid "Already exists" +msgstr "Bestaat al" + +msgid "Does not exist" +msgstr "Bestaat niet" + +msgid "Can't read database" +msgstr "Database lezen mislukt" + +msgid "Can't write database" +msgstr "Schrijven naar database mislukt" + +msgid "Compilation failed" +msgstr "Compilatie mislukt" + +msgid "Method not found" +msgstr "Methode niet gevonden" + +msgid "Link failed" +msgstr "Koppeling mislukt" + +msgid "Script failed" +msgstr "Script is mislukt" + +msgid "Cyclic link detected" +msgstr "Cyclische link gedetecteerd" + +msgid "Invalid declaration" +msgstr "Ongeldige verklaring" + +msgid "Duplicate symbol" +msgstr "Dupliceer symbool" + +msgid "Parse error" +msgstr "Verwerk foutmelding" + +msgid "Busy" +msgstr "Bezig" + +msgid "Skip" +msgstr "Overslaan" + msgid "Help" -msgstr "Hulp" +msgstr "Help" + +msgid "Bug" +msgstr "Fout" + +msgid "Printer on fire" +msgstr "Printer staat in de fik" + +msgid "unset" +msgstr "ondefineren" msgid "Physical" msgstr "Fysiek" @@ -128,16 +270,16 @@ msgid "Middle Mouse Button" msgstr "Middelmuisknop" msgid "Mouse Wheel Up" -msgstr "Scrollwiel omhoog" +msgstr "Scrollwiel Omhoog" msgid "Mouse Wheel Down" -msgstr "Scrollwiel omlaag" +msgstr "Scrollwiel Omlaag" msgid "Mouse Wheel Left" -msgstr "Scrollwiel links" +msgstr "Scrollwiel Links" msgid "Mouse Wheel Right" -msgstr "Scrollwiel rechts" +msgstr "Scrollwiel Rechts" msgid "Mouse Thumb Button 1" msgstr "Duimknop muis 1" @@ -304,6 +446,9 @@ msgstr "Selecteren" msgid "Cancel" msgstr "Annuleren" +msgid "Close Dialog" +msgstr "Sluit Dialoog" + msgid "Focus Next" msgstr "Volgende focussen" @@ -490,6 +635,9 @@ msgstr "Invoerrichting wisselen" msgid "Start Unicode Character Input" msgstr "Start invoegen van Unicode karakters" +msgid "ColorPicker: Delete Preset" +msgstr "KleurenKiezer: Verwijder Preset" + msgid "Accessibility: Keyboard Drag and Drop" msgstr "Toegankelijkheid: Verslepen Met Toetsenbord" @@ -629,9 +777,17 @@ msgstr "Laden..." msgid "Move Node Point" msgstr "Knooppunt bewegen" +msgid "Change BlendSpace1D Config" +msgstr "Wijzig BlendSpace1D Configuratie" + msgid "Change BlendSpace1D Labels" msgstr "Wijzig BlendSpace1D labels" +msgid "This type of node can't be used. Only animation nodes are allowed." +msgstr "" +"Deze soort node kan niet worden gebruikt. Alleen animatie nodes zijn " +"toegestaan." + msgid "This type of node can't be used. Only root nodes are allowed." msgstr "" "Dit knooptype kan niet gebruikt worden. Alleen wortelknopen zijn toegestaan." @@ -657,15 +813,30 @@ msgstr "Discreet" msgid "Capture" msgstr "Opnemen" +msgid "" +"Select and move points.\n" +"RMB: Create point at position clicked.\n" +"Shift+LMB+Drag: Set the blending position within the space." +msgstr "" +"Selecteer en beweeg punten.\n" +"Rechtermuisknop: Maak een punt op de geklikte positie.\n" +"Shift+Linkermuisknop+Sleep: Zet de mengpositie binnen de ruimte." + msgid "Create points." msgstr "Punten aanmaken." +msgid "Set the blending position within the space." +msgstr "Zet de mengpositie binnen de ruimte." + msgid "Erase points." msgstr "Punten wissen." msgid "Enable snap and show grid." msgstr "Kleven inschakelen en raster weergeven." +msgid "Grid Step" +msgstr "Raster Stap" + msgid "Sync:" msgstr "Sync:" @@ -675,9 +846,18 @@ msgstr "Mengen:" msgid "Point" msgstr "Punt" +msgid "Blend Value" +msgstr "Mengwaarde" + msgid "Open Editor" msgstr "Editor Openen" +msgid "Min" +msgstr "Min" + +msgid "Max" +msgstr "Max" + msgid "Value" msgstr "Waarde" @@ -690,6 +870,9 @@ msgstr "Driehoek bestaat al." msgid "Add Triangle" msgstr "Driehoek Toevoegen" +msgid "Change BlendSpace2D Config" +msgstr "Wijzig BlendSpace2D Configuratie" + msgid "Change BlendSpace2D Labels" msgstr "Wijzig BlendSpace2D labels" @@ -714,9 +897,42 @@ msgstr "Punten en driehoeken wissen." msgid "Generate blend triangles automatically (instead of manually)" msgstr "Genereer geblende driehoeken automatisch (in plaats van handmatig)" +msgid "Grid X Step" +msgstr "Raster X Stap" + +msgid "Grid Y Step" +msgstr "Raster Y Stap" + +msgid "Blend X Value" +msgstr "Meng X Waarde" + +msgid "Blend Y Value" +msgstr "Meng Y Waarde" + +msgid "Max Y" +msgstr "Max Y" + +msgid "Y Value" +msgstr "Y Waarde" + +msgid "Min Y" +msgstr "Min Y" + +msgid "Min X" +msgstr "Min X" + +msgid "X Value" +msgstr "X Waarde" + +msgid "Max X" +msgstr "Max X" + msgid "Parameter Changed: %s" msgstr "Parameter veranderd: %s" +msgid "Inspect Filters" +msgstr "Inspecteer Filters" + msgid "Edit Filters" msgstr "Filters berwerken" @@ -755,6 +971,15 @@ msgstr "Filter aan-/uitzetten" msgid "Change Filter" msgstr "Verander Filter" +msgid "Fill Selected Filter Children" +msgstr "Vul Geselecteerde Filter Kinderen" + +msgid "Invert Filter Selection" +msgstr "Draai Filter Selectie Om" + +msgid "Clear Filter Selection" +msgstr "Filter Selectie Wissen" + msgid "" "Animation player has no valid root node path, so unable to retrieve track " "names." @@ -771,6 +996,9 @@ msgstr "Audioclips" msgid "Functions" msgstr "Functies" +msgid "Inspect Filtered Tracks:" +msgstr "Gefilterde Sporen Inspecteren:" + msgid "Edit Filtered Tracks:" msgstr "Bewerk gefilterde sporen:" @@ -783,15 +1011,58 @@ msgstr "Voeg knoop toe..." msgid "Enable Filtering" msgstr "Activeer Filtering" +msgid "Fill Selected Children" +msgstr "Vul Geselecteerde Kinderen" + msgid "Invert" msgstr "Omkeren" msgid "Clear" msgstr "Wissen" +msgid "Start of Animation" +msgstr "Animatie Start" + +msgid "End of Animation" +msgstr "Animatie Einde" + +msgid "Set Custom Timeline from Marker" +msgstr "Zet Aangepaste Tijdlijn vanaf Markering" + +msgid "Select Markers" +msgstr "Selecteer Markeringen" + +msgid "Start Marker" +msgstr "Start Markering" + +msgid "End Marker" +msgstr "Eind Markering" + +msgid "Library Name:" +msgstr "Bibliotheek Naam:" + +msgid "Animation name can't be empty." +msgstr "Animatienaam kan niet leeg zijn." + +msgid "Animation name contains invalid characters: '/', ':', ',' or '['." +msgstr "De animatienaam bevat ongeldige tekens: '/', ':', ',' of '['." + msgid "Animation with the same name already exists." msgstr "Er bestaat al een animatie met dezelfde naam." +msgid "Enter a library name." +msgstr "Vul de naam van de bibliotheek in." + +msgid "Library name contains invalid characters: '/', ':', ',' or '['." +msgstr "" +"De naam van de bibliotheek bevat ongeldige tekens: '/', ':', ',' of '['." + +msgid "Library with the same name already exists." +msgstr "Er bestaat al een bibliotheek met deze naam." + +msgid "Animation name is valid." +msgstr "Animatienaam is geldig." + msgid "Add Animation to Library: %s" msgstr "Animatie toevoegen aan bibliotheek: %s" @@ -1121,7 +1392,7 @@ msgid "Animation length (seconds)" msgstr "Animatielengte (seconden)" msgid "Select a new track by type to add to this animation." -msgstr "Kies een nieuw spoor op type om aan deze animatie toe te voegen." +msgstr "Kies een nieuw type spoor om aan deze animatie toe te voegen." msgid "Filter Tracks" msgstr "Filter Sporen" @@ -1496,7 +1767,7 @@ msgid "Group tracks by node or display them as plain list." msgstr "Sporen groeperen op knoop of als een normale lijst tonen." msgid "Apply snapping to timeline cursor." -msgstr "Tijdlijncursor laten kleven aan dichtstbijzijnde frame." +msgstr "Pas snapping naar tijdlijn cursor toe." msgid "Apply snapping to selected key(s)." msgstr "Geselecteerde sleutel(s) laten kleven aan dichtstbijzijnde frame." @@ -3026,6 +3297,9 @@ msgstr "Deze klasse is gemarkeerd als verouderd." msgid "This class is marked as experimental." msgstr "Deze klasse is gemarkeerd als experimenteel." +msgid "Matches the \"%s\" keyword." +msgstr "Correspondeert met het \"%s\" sleutelwoord." + msgid "This member is marked as deprecated." msgstr "Dit lid is gemarkeerd als verouderd." @@ -8022,7 +8296,7 @@ msgid "Action %s" msgstr "Actie %s" msgid "Cannot Revert - Action is same as initial" -msgstr "Kan niet terugdraaien - Actie is hetzelfde als de oorspronkelijke" +msgstr "Kan niet ongedaan maken - Actie is zoals begin" msgid "Revert Action" msgstr "Actie ongedaan maken" @@ -8065,9 +8339,7 @@ msgstr "" "Mag niet in conflict komen met een bestaande naam van een engine-klasse." msgid "Must not collide with an existing global script class name." -msgstr "" -"Mag niet in conflict komen met een bestaande naam van een globale script-" -"klasse." +msgstr "Mag niet botsen met een bestaande naam van een globale script klasse." msgid "Must not collide with an existing built-in type name." msgstr "" @@ -8460,7 +8732,7 @@ msgstr "" msgid "Provides tools for selecting and debugging nodes at runtime." msgstr "" -"Biedt hulpmiddelen om knopen te selecteren en debuggen terwijl het spel " +"Biedt hulpmiddelen voor het selecteren en debuggen van nodes terwijl de game " "draait." msgid "(current)" @@ -9655,6 +9927,13 @@ msgstr "" "Geen Android bouwsjabloon geïnstalleerd in dit project. Vanuit het " "projectmenu kan het geïnstalleerd worden." +msgid "" +"Either Debug Keystore, Debug User AND Debug Password settings must be " +"configured OR none of them." +msgstr "" +"Ofwel Debug Keystore, Debug Gebruiker EN Debug Wachtwoord moeten " +"geconfigureerd zijn, OF geen van alle mogen geconfigureerd zijn." + msgid "Debug keystore not configured in the Editor Settings nor in the preset." msgstr "Debug Keystore is niet ingesteld of aanwezig in de editor-instellingen." diff --git a/editor/translations/editor/pl.po b/editor/translations/editor/pl.po index 343ecbcec138..fb03566daa2b 100644 --- a/editor/translations/editor/pl.po +++ b/editor/translations/editor/pl.po @@ -24,7 +24,7 @@ # Sebastian Pasich , 2017, 2019, 2020, 2022, 2023. # siatek papieros , 2016. # Zatherz , 2017, 2020, 2021. -# Tomek , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. +# Tomek , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. # Wojcieh Er Zet , 2018. # Dariusz Siek , 2018, 2019, 2020, 2021. # Szymon Nowakowski , 2019. @@ -102,8 +102,8 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-01 16:11+0000\n" -"Last-Translator: Marek J \n" +"PO-Revision-Date: 2026-01-16 10:01+0000\n" +"Last-Translator: Tomek \n" "Language-Team: Polish \n" "Language: pl\n" @@ -112,17 +112,155 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Niepowodzenie" + +msgid "Unavailable" +msgstr "Niedostępne" + +msgid "Unconfigured" +msgstr "Nieskonfigurowane" + +msgid "Unauthorized" +msgstr "Nieautoryzowane" + +msgid "Parameter out of range" +msgstr "Parametr poza zakresem" + +msgid "Out of memory" +msgstr "Brak pamięci" + +msgid "File not found" +msgstr "Plik nie znaleziony" + +msgid "File: Bad drive" +msgstr "Plik: Zły napęd" + +msgid "File: Bad path" +msgstr "Plik: Zła ścieżka" + +msgid "File: Permission denied" +msgstr "Plik: Brak dostępu" + +msgid "File already in use" +msgstr "Plik aktualnie w użyciu" + +msgid "Can't open file" +msgstr "Nie można otworzyć pliku" + +msgid "Can't write file" +msgstr "Nie można zapisać pliku" + +msgid "Can't read file" +msgstr "Nie można przeczytać pliku" + +msgid "File unrecognized" +msgstr "Plik nierozpoznany" + +msgid "File corrupt" +msgstr "Plik uszkodzony" + +msgid "Missing dependencies for file" +msgstr "Brakuje zależności dla pliku" + +msgid "End of file" +msgstr "Koniec pliku" + +msgid "Can't open" +msgstr "Nie można otworzyć" + +msgid "Can't create" +msgstr "Nie można utworzyć" + +msgid "Query failed" +msgstr "Zapytanie nie powiodło się" + +msgid "Already in use" +msgstr "Już jest w użyciu" + msgid "Locked" msgstr "Zablokowany" +msgid "Timeout" +msgstr "Przekroczenie czasu" + +msgid "Can't connect" +msgstr "Nie można połączyć" + +msgid "Can't resolve" +msgstr "Nie można rozwiązać" + +msgid "Connection error" +msgstr "Błąd połączenia" + +msgid "Can't acquire resource" +msgstr "Nie można uzyskać zasobu" + +msgid "Can't fork" +msgstr "Nie można rozwidlić" + +msgid "Invalid data" +msgstr "Niepoprawne dane" + +msgid "Invalid parameter" +msgstr "Niepoprawny parametr" + +msgid "Already exists" +msgstr "Już istnieje" + +msgid "Does not exist" +msgstr "Nie istnieje" + +msgid "Can't read database" +msgstr "Nie można odczytać bazy danych" + +msgid "Can't write database" +msgstr "Nie można zapisać bazy danych" + +msgid "Compilation failed" +msgstr "Kompilacja nieudana" + +msgid "Method not found" +msgstr "Metoda nie znaleziona" + +msgid "Link failed" +msgstr "Połączenie nieudane" + +msgid "Script failed" +msgstr "Skrypt zakończony niepowodzeniem" + +msgid "Cyclic link detected" +msgstr "Wykryto cykliczne połączenie" + +msgid "Invalid declaration" +msgstr "Nieprawidłowa deklaracja" + +msgid "Duplicate symbol" +msgstr "Zduplikowany symbol" + +msgid "Parse error" +msgstr "Błąd analizy" + +msgid "Busy" +msgstr "Zajęty" + +msgid "Skip" +msgstr "Pominięcie" + msgid "Help" msgstr "Pomoc" +msgid "Bug" +msgstr "Błąd" + +msgid "Printer on fire" +msgstr "Drukarka w ogniu" + msgid "unset" msgstr "nieustawione" @@ -1571,6 +1709,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Odbity" +msgid "Handle mode: %s" +msgstr "Tryb uchwytów: %s" + msgid "Stream:" msgstr "Strumień:" @@ -6661,6 +6802,12 @@ msgstr "Edytor zależnośći" msgid "Owners of: %s (Total: %d)" msgstr "Właściciele: %s (Łącznie: %d)" +msgid "No owners found for: %s" +msgstr "Nie znaleziono właścicieli dla: %s" + +msgid "Owners List" +msgstr "Lista właścicieli" + msgid "Localization remap" msgstr "Przemapowanie lokalizacji" @@ -7060,6 +7207,9 @@ msgstr "Wybierz zasób" msgid "Select Scene" msgstr "Wybierz scenę" +msgid "Recursion detected, Instant Preview failed." +msgstr "Wykryto rekurencję, podgląd natychmiastowy nieudany." + msgid "Instant Preview" msgstr "Podejrzyj natychmiast" @@ -11580,6 +11730,24 @@ msgstr "" "Ten debugowy tryb rysowania jest wspierany tylko w przypadku korzystania z " "renderera Forward+." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Rozmiar: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Obiekty: %d" + +msgid "Primitives: %d" +msgstr "Prymitywy: %d" + msgid "Draw Calls: %d" msgstr "Wywołania rysowania: %d" @@ -11751,6 +11919,15 @@ msgstr "Wymaga SDFGI włączonego w Environment, aby mieć widoczny efekt." msgid "SDFGI Probes" msgstr "Sondy SDFGI" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Kliknij lewym na sondę SDFGI, aby wyświetlić informację przesłonięcia (biały " +"= nie przesłonięta, czerwony = przesłonięta całkowicie).\n" +"Wymaga, aby SDFGI było włączone w Environment, żeby miało widoczny efekt." + msgid "Scene Luminance" msgstr "Luminancja sceny" @@ -13024,6 +13201,9 @@ msgstr "Wyśrodkowywanie na zaznaczeniu" msgid "Frame Selection" msgstr "Powiększ do zaznaczenia" +msgid "Auto Resample CanvasItems" +msgstr "Automatycznie przepróbkuj węzły CanvasItem" + msgid "Preview Canvas Scale" msgstr "Podejrzyj skalę płótna" @@ -18836,6 +19016,18 @@ msgstr "Odniesienia ObjectDB + odniesienia natywne" msgid "Cycles detected in the ObjectDB" msgstr "Cykle wykryte w ObjectDB" +msgid "Native References: %d" +msgstr "Odniesienia natywne: %d" + +msgid "ObjectDB References: %d" +msgstr "Odniesienia ObjectDB: %d" + +msgid "Total References: %d" +msgstr "Całkowite odniesienia: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "Cykle ObjectDB: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]Odniesienia ObjectDB[center]" @@ -18900,6 +19092,26 @@ msgstr "Całkowite obiekty:" msgid "Total Nodes:" msgstr "Całkowite węzły:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Wiele korzeni [i](możliwe wywołanie \"remove_child\" bez \"queue_free\")[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"Obiekty RefCounted z odniesieniami w samych cyklach [i](cykle często wskazują " +"na wyciek pamięci[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Skryptowane obiekty bez odniesień w żadnych innych obiektach [i](obiekty bez " +"odniesień mogą oznaczać wyciek pamięci)[/i]" + msgid "Generating Snapshot" msgstr "Generowanie zrzutu" @@ -21125,6 +21337,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D wymaga węzła potomnego XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Zmienianie skali w węźle XROrigin3D nie jest wspierane. Zamiast tego zmień " +"Skalę świata." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21221,14 +21440,6 @@ msgstr "%s może być tu upuszczony. Użyj %s, aby upuścić, użyj %s, aby anul msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s nie może być tu upuszczony. Użyj %s, aby anulować." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Miej na uwadze, że GraphEdit i GraphNode przejdą obszerną refaktoryzację w " -"przyszłej wersji 4.x, obejmujące zmiany API łamiące kompatybilność." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21278,6 +21489,9 @@ msgstr "" "Użyj kontenera jako dziecko (VBox, HBox, itp.) lub węzła typu Control i ustaw " "minimalny rozmiar ręcznie." +msgid "Drag to resize" +msgstr "Przeciągnij, aby zmienić rozmiar" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21661,6 +21875,24 @@ msgstr "" "Zmienna varying \"%s\" nie może być przekazana do parametru \"%s\" w tym " "kontekście." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Nie można przekazać samplera tekstury multiview jako parametru do funkcji " +"niestandardowej. Rozważ próbkowanie go w głównej funkcji, a następnie przekaż " +"do funkcji niestandardowej wektorowy wynik." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Nie można przekazać samplera tekstury multiview jako parametru do funkcji " +"niestandardowej. Rozważ próbkowanie go w głównej funkcji, a następnie przekaż " +"do funkcji niestandardowej wynik wektorowy." + msgid "Unknown identifier in expression: '%s'." msgstr "Nieznany identyfikator w wyrażeniu: \"%s\"." diff --git a/editor/translations/editor/pt.po b/editor/translations/editor/pt.po index 0461fd204ad5..02a94d610ec3 100644 --- a/editor/translations/editor/pt.po +++ b/editor/translations/editor/pt.po @@ -19404,15 +19404,6 @@ msgstr "%s pode ser solto aqui. Use %s para soltar, use %s para cancelar." msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s não pode ser solto aqui. Use %s para cancelar." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Esteja ciente de que o GraphEdit e o GraphNode passarão por extensa " -"reformulação numa futura versão 4.x envolvendo alterações de API de quebra de " -"compatibilidade." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/pt_BR.po b/editor/translations/editor/pt_BR.po index 91b793a581cc..cda39a4f8d8a 100644 --- a/editor/translations/editor/pt_BR.po +++ b/editor/translations/editor/pt_BR.po @@ -212,13 +212,14 @@ # Uriel Barbosa Pinheiro , 2025. # Felipe Cury , 2025, 2026. # kawoshi , 2026. +# Maíra Alves Rodrigues , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2026-01-13 17:12+0000\n" -"Last-Translator: kawoshi \n" +"PO-Revision-Date: 2026-01-14 17:28+0000\n" +"Last-Translator: Maíra Alves Rodrigues \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -226,19 +227,157 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Falhou" + +msgid "Unavailable" +msgstr "Indisponível" + +msgid "Unconfigured" +msgstr "Não configurado" + +msgid "Unauthorized" +msgstr "Não autorizado" + +msgid "Parameter out of range" +msgstr "Parâmetro fora do intervalo" + +msgid "Out of memory" +msgstr "Memória excedida" + +msgid "File not found" +msgstr "Arquivo não encontrado" + +msgid "File: Bad drive" +msgstr "Arquivo: drive incorreto" + +msgid "File: Bad path" +msgstr "Arquivo: caminho incorreto" + +msgid "File: Permission denied" +msgstr "Arquivo: Permissão negada" + +msgid "File already in use" +msgstr "O arquivo em uso" + +msgid "Can't open file" +msgstr "Não foi possível abrir o arquivo" + +msgid "Can't write file" +msgstr "Não foi possível gravar o arquivo" + +msgid "Can't read file" +msgstr "Não foi possível ler o arquivo" + +msgid "File unrecognized" +msgstr "Arquivo não reconhecido" + +msgid "File corrupt" +msgstr "Arquivo corrompido" + +msgid "Missing dependencies for file" +msgstr "Dependências ausentes para o arquivo" + +msgid "End of file" +msgstr "Fim do arquivo" + +msgid "Can't open" +msgstr "Não é possível abrir" + +msgid "Can't create" +msgstr "Não é possível criar" + +msgid "Query failed" +msgstr "Falha na consulta" + +msgid "Already in use" +msgstr "Em uso" + msgid "Locked" -msgstr "Travado" +msgstr "Bloqueado" + +msgid "Timeout" +msgstr "Tempo esgotado" + +msgid "Can't connect" +msgstr "Não foi possível conectar" + +msgid "Can't resolve" +msgstr "Não foi possível resolver" + +msgid "Connection error" +msgstr "Erro de conexão" + +msgid "Can't acquire resource" +msgstr "Não foi possível adquirir o recurso" + +msgid "Can't fork" +msgstr "Não é possível bifurcar" + +msgid "Invalid data" +msgstr "Dado inválido" + +msgid "Invalid parameter" +msgstr "Parâmetro inválido" + +msgid "Already exists" +msgstr "Já existe" + +msgid "Does not exist" +msgstr "Não existe" + +msgid "Can't read database" +msgstr "Não foi possível ler o banco de dados" + +msgid "Can't write database" +msgstr "Não é possível gravar no banco de dados" + +msgid "Compilation failed" +msgstr "Falha na compilação" + +msgid "Method not found" +msgstr "Método não encontrado" + +msgid "Link failed" +msgstr "Falha no link" + +msgid "Script failed" +msgstr "Falha no script" + +msgid "Cyclic link detected" +msgstr "Ligação cíclica detectada" + +msgid "Invalid declaration" +msgstr "Declaração inválida" + +msgid "Duplicate symbol" +msgstr "Símbolo duplicado" + +msgid "Parse error" +msgstr "Erro de análise" + +msgid "Busy" +msgstr "Ocupado" + +msgid "Skip" +msgstr "Pular" msgid "Help" msgstr "Ajuda" +msgid "Bug" +msgstr "Erro" + +msgid "Printer on fire" +msgstr "Impressora ocupada" + msgid "unset" -msgstr "não definido" +msgstr "desativar" msgid "Physical" msgstr "Físico" @@ -280,61 +419,61 @@ msgid "Mouse motion at position (%s) with velocity (%s)" msgstr "Movimento do mouse na posição (%s) com velocidade (%s)" msgid "Left Stick X-Axis, Joystick 0 X-Axis" -msgstr "Eixo-X Analógico esquerdo, Eixo-X Joystick 0" +msgstr "Eixo X do joystick esquerdo, eixo X do joystick 0" msgid "Left Stick Y-Axis, Joystick 0 Y-Axis" -msgstr "Eixo-Y Analógico esquerdo, Eixo-Y Joystick 0" +msgstr "Eixo Y do joystick esquerdo, eixo Y do joystick 0" msgid "Right Stick X-Axis, Joystick 1 X-Axis" msgstr "Eixo-X Analógico direito, Eixo-X Joystick 1" msgid "Right Stick Y-Axis, Joystick 1 Y-Axis" -msgstr "Eixo-Y Analógico direito, Eixo-Y Joystick 1" +msgstr "Eixo Y do joystick direito, eixo Y do joystick 1" msgid "Joystick 2 X-Axis, Left Trigger, Sony L2, Xbox LT" -msgstr "Eixo-X Joystick 2, Gatilho esquerdo, Sony L2, Xbox LT" +msgstr "Joystick 2 no eixo X, gatilho esquerdo, Sony L2, Xbox LT" msgid "Joystick 2 Y-Axis, Right Trigger, Sony R2, Xbox RT" -msgstr "Eixo-Y Joystick 2, Gatilho direito, Sony R2, Xbox RT" +msgstr "Joystick 2 Eixo Y, Gatilho Direito, Sony R2, Xbox RT" msgid "Joystick 3 X-Axis" -msgstr "Eixo-X Joystick 3" +msgstr "Joystick 3 Eixo X" msgid "Joystick 3 Y-Axis" -msgstr "Eixo-Y Joystick 3" +msgstr "Joystick 3 Eixo Y" msgid "Joystick 4 X-Axis" -msgstr "Eixo-X Joystick 4" +msgstr "Joystick 4 Eixo X" msgid "Joystick 4 Y-Axis" -msgstr "Eixo-Y Joystick 4" +msgstr "Joystick com 4 eixos Y" msgid "Unknown Joypad Axis" -msgstr "Eixo desconhecido do Joypad" +msgstr "Eixo do joystick desconhecido" msgid "Joypad Motion on Axis %d (%s) with Value %.2f" -msgstr "Movimento do Joypad no Eixo %d (%s) com valor %.2f" +msgstr "Movimento do joystick no eixo %d (%s) com valor %.2f" msgid "Bottom Action, Sony Cross, Xbox A, Nintendo B" -msgstr "Botão de Ação inferior, Sony X, Xbox A, Nintendo B" +msgstr "Ação inferior, Sony Cross, Xbox A, Nintendo B" msgid "Right Action, Sony Circle, Xbox B, Nintendo A" -msgstr "Botão de Ação direito, Sony Círculo, Xbox B, Nintendo A" +msgstr "Ação direita, Sony círculo, Xbox B, Nintendo A" msgid "Left Action, Sony Square, Xbox X, Nintendo Y" -msgstr "Botão de Ação esquerdo, Sony Quadrado, Xbox X, Nintendo Y" +msgstr "Ação à esquerda, Sony Square, Xbox X, Nintendo Y" msgid "Top Action, Sony Triangle, Xbox Y, Nintendo X" -msgstr "Botão de Ação superior, Sony Triângulo, Xbox Y, Nintendo X" +msgstr "Top Action, Sony Triangle, Xbox Y, Nintendo X" msgid "Back, Sony Select, Xbox Back, Nintendo -" -msgstr "Voltar, Sony Select, Xbox Back, Nintendo -" +msgstr "Voltar, Sony Select, Xbox Voltar, Nintendo -" msgid "Guide, Sony PS, Xbox Home" msgstr "Guia, Sony PS, Xbox Home" msgid "Start, Xbox Menu, Nintendo +" -msgstr "Iniciar, Xbox Menu, Nintendo +" +msgstr "Iniciar, Menu Xbox, Nintendo +" msgid "Left Stick, Sony L3, Xbox L/LS" msgstr "Analógico esquerdo, Sony L3, Xbox L/LS" @@ -355,31 +494,31 @@ msgid "D-pad Down" msgstr "D-pad para baixo" msgid "D-pad Left" -msgstr "D-pad para esquerda" +msgstr "D-pad esquerdo" msgid "D-pad Right" -msgstr "D-pad para direita" +msgstr "D-pad direito" msgid "Xbox Share, PS5 Microphone, Nintendo Capture" -msgstr "Xbox Share, PS5 Microfone, Nintendo Capture" +msgstr "Compartilhamento do Xbox, Microfone do PS5, Captura da Nintendo" msgid "Xbox Paddle 1" -msgstr "Xbox Pedal 1" +msgstr "Controle Xbox 1" msgid "Xbox Paddle 2" -msgstr "Xbox Pedal 2" +msgstr "Controle Xbox 2" msgid "Xbox Paddle 3" -msgstr "Xbox Pedal 3" +msgstr "Controle Xbox 3" msgid "Xbox Paddle 4" -msgstr "Xbox Pedal 4" +msgstr "Controle Xbox 4" msgid "PS4/5 Touchpad" msgstr "Touchpad PS4/5" msgid "Joypad Button %d" -msgstr "Botão %d do Joypad" +msgstr "Botão %d do joystick" msgid "Pressure:" msgstr "Pressão:" @@ -391,7 +530,7 @@ msgid "touched" msgstr "tocado" msgid "released" -msgstr "solto" +msgstr "lançado" msgid "Screen %s at (%s) with %s touch points" msgstr "Tela %s em (%s) com %s pontos de toque" @@ -399,25 +538,25 @@ msgstr "Tela %s em (%s) com %s pontos de toque" msgid "" "Screen dragged with %s touch points at position (%s) with velocity of (%s)" msgstr "" -"Tela arrastada com %s pontos de toque na posição (%s) com velocidade de (%s)" +"Arrastar a tela com %s pontos de toque na posição (%s) com velocidade (%s)" msgid "Magnify Gesture at (%s) with factor %s" -msgstr "Gesto de ampliar em (%s) com fator %s" +msgstr "Ampliar gesto em (%s) com fator %s" msgid "Pan Gesture at (%s) with delta (%s)" -msgstr "Gesto de arrastar em (%s) com delta (%s)" +msgstr "Gesto de panorâmica em (%s) com delta (%s)" msgid "MIDI Input on Channel=%s Message=%s" -msgstr "Entrada MIDI no Canal=%s Mensagem=%s" +msgstr "Entrada MIDI no canal=%s Mensagem=%s" msgid "Input Event with Shortcut=%s" -msgstr "Evento de Entrada com Atalho=%s" +msgstr "Evento de entrada com atalho=%s" msgid " or " -msgstr " ou " +msgstr " or " msgid "Action has no bound inputs" -msgstr "Ação não tem nenhuma entrada relacionada" +msgstr "A ação não possui entradas vinculadas" msgid "Accept" msgstr "Aceitar" @@ -429,7 +568,7 @@ msgid "Cancel" msgstr "Cancelar" msgid "Close Dialog" -msgstr "Fechar Diálogo" +msgstr "Fechar diálogo" msgid "Focus Next" msgstr "Selecionar próximo" @@ -450,10 +589,10 @@ msgid "Down" msgstr "Baixo" msgid "Page Up" -msgstr "Subir página" +msgstr "Página acima" msgid "Page Down" -msgstr "Descer página" +msgstr "Página abaixo" msgid "Home" msgstr "Início" @@ -471,7 +610,7 @@ msgid "Paste" msgstr "Colar" msgid "Toggle Tab Focus Mode" -msgstr "Alternar modo de foco de aba" +msgstr "Alternar modo de foco da guia" msgid "Undo" msgstr "Desfazer" @@ -492,13 +631,13 @@ msgid "New Line Above" msgstr "Nova linha acima" msgid "Indent" -msgstr "Indentar" +msgstr "Recuar" msgid "Dedent" msgstr "Desindentar" msgid "Backspace" -msgstr "Apagar" +msgstr "Backspace" msgid "Backspace Word" msgstr "Apagar palavra" @@ -1692,6 +1831,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Espelhado" +msgid "Handle mode: %s" +msgstr "Modo de manuseio: %s" + msgid "Stream:" msgstr "Transmissão:" @@ -2230,6 +2372,14 @@ msgstr "Mola" msgid "Ease Type:" msgstr "Tipo de Suavização:" +msgctxt "Ease Type" +msgid "Ease In" +msgstr "Transição de entrada" + +msgctxt "Ease Type" +msgid "Ease Out" +msgstr "Transição de saída" + msgctxt "Ease Type" msgid "Ease In-Out" msgstr "Transição Entrada-Saída" @@ -2817,6 +2967,9 @@ msgstr "Entrar" msgid "Step Over" msgstr "Ignorar" +msgid "Step Out" +msgstr "Sair" + msgid "Break" msgstr "Pausar" @@ -10465,9 +10618,9 @@ msgid "" "animating at the same frame. In \"Random Start Times\" mode, each tile starts " "animation with a random offset." msgstr "" -"Determina como a animação será iniciada. No modo \"Padrão\", todos os tiles " -"começam a ser animados no mesmo quadro. No modo \"Tempos de Início " -"Aleatórios\", cada tile inicia a animação em um quadro aleatório." +"Determina como a animação começará. No modo \"Padrão\", todos os blocos " +"começam a animação no mesmo quadro. No modo \"Tempos de Início Aleatórios\", " +"cada bloco inicia a animação com um deslocamento aleatório." msgid "If [code]true[/code], the tile is horizontally flipped." msgstr "Se for [code]true[/code], o tile será invertido horizontalmente." @@ -20579,6 +20732,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D requer um nó filho XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Alterar a escala no nó XROrigin3D não é possível. Em vez disso, altere a " +"escala do mundo." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -20667,15 +20827,6 @@ msgstr "%s pode ser solto aqui. Use %s para soltar, use %s para cancelar." msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s não pode ser solto aqui. Use %s para cancelar." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Esteja ciente de que o GraphEdit e o GraphNode passarão por extensa " -"reformulação em uma futura versão 4.x envolvendo alterações de API de quebra " -"de compatibilidade." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/ro.po b/editor/translations/editor/ro.po index fa661c504e9f..cce9b8cb6bde 100644 --- a/editor/translations/editor/ro.po +++ b/editor/translations/editor/ro.po @@ -40,13 +40,14 @@ # EnderIce2 , 2025. # Gape Gepeto , 2026. # Rareș Bozga , 2026. +# ADV , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-04 11:01+0000\n" -"Last-Translator: Rareș Bozga \n" +"PO-Revision-Date: 2026-01-14 05:00+0000\n" +"Last-Translator: ADV \n" "Language-Team: Romanian \n" "Language: ro\n" @@ -55,11 +56,29 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=n==1 ? 0 : (n==0 || (n%100 > 0 && n%100 < " "20)) ? 1 : 2;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2-dev\n" msgid "OK" msgstr "OK" +msgid "Unauthorized" +msgstr "Neautorizat" + +msgid "Out of memory" +msgstr "Memorie epuizată" + +msgid "File: Permission denied" +msgstr "Acces respins" + +msgid "File corrupt" +msgstr "Fișier corupt" + +msgid "Can't write database" +msgstr "Nu se poate scrie în baza de date" + +msgid "Cyclic link detected" +msgstr "Legătură ciclică detectată" + msgid "Help" msgstr "Ajutor" diff --git a/editor/translations/editor/ru.po b/editor/translations/editor/ru.po index 7c10fbfccbca..761b67f59b56 100644 --- a/editor/translations/editor/ru.po +++ b/editor/translations/editor/ru.po @@ -231,13 +231,14 @@ # Ivan , 2025. # cofeek-codes <11kormyshev11@gmail.com>, 2025. # daodan , 2026. +# Artyom , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-08 18:02+0000\n" -"Last-Translator: Russian Rage \n" +"PO-Revision-Date: 2026-01-23 06:34+0000\n" +"Last-Translator: Artyom \n" "Language-Team: Russian \n" "Language: ru\n" @@ -246,17 +247,146 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Не удалось" + +msgid "Unavailable" +msgstr "Недоступен" + +msgid "Unconfigured" +msgstr "Не настроено" + +msgid "Parameter out of range" +msgstr "Параметр вне диапазона" + +msgid "Out of memory" +msgstr "Недостаточно памяти" + +msgid "File not found" +msgstr "Файл не найден" + +msgid "File: Bad drive" +msgstr "Файл: Диск повреждён" + +msgid "File: Bad path" +msgstr "Файл: Неправильный путь" + +msgid "File: Permission denied" +msgstr "Файл: Отказано в доступе" + +msgid "File already in use" +msgstr "Файл уже используется" + +msgid "Can't open file" +msgstr "Не удалось открыть файл" + +msgid "Can't write file" +msgstr "Не удалось записать файл" + +msgid "Can't read file" +msgstr "Не удалось прочитать файл" + +msgid "File unrecognized" +msgstr "Файл нераспознан" + +msgid "File corrupt" +msgstr "Файл повреждён" + +msgid "Missing dependencies for file" +msgstr "Отсутствующие зависимости для файла" + +msgid "End of file" +msgstr "Конец файла" + +msgid "Can't open" +msgstr "Не удалось открыть" + +msgid "Can't create" +msgstr "Не удалось создать" + +msgid "Query failed" +msgstr "Не удалось выполнить запрос" + +msgid "Already in use" +msgstr "Уже используется" + msgid "Locked" msgstr "Заблокирован" +msgid "Timeout" +msgstr "Превышено время ожидания" + +msgid "Can't connect" +msgstr "Не удалось подключиться" + +msgid "Can't resolve" +msgstr "Не удалось разрешить" + +msgid "Connection error" +msgstr "Ошибка подключения" + +msgid "Can't acquire resource" +msgstr "Не удалось получить ресурс" + +msgid "Can't fork" +msgstr "Не удалось форкнуть" + +msgid "Invalid data" +msgstr "Неверные данные" + +msgid "Invalid parameter" +msgstr "Неверный параметр" + +msgid "Already exists" +msgstr "Уже существует" + +msgid "Does not exist" +msgstr "Не существует" + +msgid "Can't read database" +msgstr "Не удалось прочитать базу данных" + +msgid "Can't write database" +msgstr "Не удалось записать в базу данных" + +msgid "Compilation failed" +msgstr "Ошибка компиляции" + +msgid "Method not found" +msgstr "Метод не найден" + +msgid "Script failed" +msgstr "Ошибка выполнения скрипта" + +msgid "Cyclic link detected" +msgstr "Обнаружена циклическая ссылка" + +msgid "Invalid declaration" +msgstr "Недопустимое объявление" + +msgid "Duplicate symbol" +msgstr "Символ уже существует" + +msgid "Parse error" +msgstr "Ошибка синтаксического анализа" + +msgid "Busy" +msgstr "Занят" + msgid "Help" msgstr "Справка" +msgid "Bug" +msgstr "Баг" + +msgid "unset" +msgstr "Не задано" + msgid "Physical" msgstr "Физический" @@ -20873,15 +21003,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s нельзя перетащить сюда. Используйте %s для отмены." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Учтите, что в предстоящей версии 4.x GraphEdit и GraphNode подвергнутся " -"обширному рефакторингу, который включает нарушающие совместимость изменения " -"API." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/sk.po b/editor/translations/editor/sk.po index 96fb2ddc08f8..c6fb316aede7 100644 --- a/editor/translations/editor/sk.po +++ b/editor/translations/editor/sk.po @@ -31,7 +31,7 @@ msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-10 10:01+0000\n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" "Last-Translator: Martin Sinansky \n" "Language-Team: Slovak \n" @@ -40,7 +40,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=((n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "OK" @@ -3934,7 +3934,7 @@ msgstr "" "bude ignorované." msgid "Preview:" -msgstr "Predzobraziť:" +msgstr "Náhľad:" msgid "Path to FBX2glTF executable is empty." msgstr "Cesta ku spustiteľnému súboru FBX2glTF je prázdna." @@ -4425,10 +4425,10 @@ msgid "Skeleton2D" msgstr "Skeleton2D" msgid "Polygon2D Preview" -msgstr "Predzobraziť Polygon2D" +msgstr "Náhľad Polygon2D" msgid "CollisionPolygon2D Preview" -msgstr "Predzobraziť CollisionPolygon2D" +msgstr "Náhľad CollisionPolygon2D" msgid "LightOccluder2D Preview" msgstr "Predzobraziť LightOccluder2D" @@ -6907,15 +6907,6 @@ msgstr "" "nekonfiguruje správanie umiestnenia jeho detí.\n" "Ak nemáte v úmysle pridať skript, namiesto použite prostý Ovládací node." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Prosím majte na mysli že GraphEdit a GraphNode si prejdú rozsiahlým " -"refaktoringom v budúcej 4.x verzii zahŕňajúcej API zmeny narušujúce " -"kompatibilitu." - msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" diff --git a/editor/translations/editor/sv.po b/editor/translations/editor/sv.po index 6ee2b8f682b5..8023c8e18acd 100644 --- a/editor/translations/editor/sv.po +++ b/editor/translations/editor/sv.po @@ -50,14 +50,14 @@ # Krissse10 , 2025. # Viktor Jagebrant , 2025. # Alshat , 2025. -# Lasse Edsvik , 2025. +# Lasse Edsvik , 2025, 2026. # "A Thousand Ships (she/her)" , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-20 02:48+0000\n" +"PO-Revision-Date: 2026-01-14 05:00+0000\n" "Last-Translator: Lasse Edsvik \n" "Language-Team: Swedish \n" @@ -66,17 +66,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2-dev\n" msgid "OK" msgstr "OK" +msgid "Failed" +msgstr "Misslyckade" + +msgid "Unavailable" +msgstr "Otillgänglig" + +msgid "Unconfigured" +msgstr "Okonfigurerad" + +msgid "Unauthorized" +msgstr "Obehörig" + +msgid "Parameter out of range" +msgstr "Parameter utanför intervall" + +msgid "Out of memory" +msgstr "Slut på minne" + +msgid "File not found" +msgstr "Filen hittades inte" + +msgid "File: Bad drive" +msgstr "Fil: Fel på enhet" + +msgid "File: Bad path" +msgstr "Fil: Felaktig sökväg" + +msgid "File: Permission denied" +msgstr "Fil: Åtkomst nekad" + +msgid "File already in use" +msgstr "Filen finns redan" + +msgid "Can't open file" +msgstr "Kan inte öppna filen" + +msgid "Can't write file" +msgstr "Kan inte skriva till fil" + +msgid "Can't read file" +msgstr "Kan inte läsa fil" + +msgid "File unrecognized" +msgstr "Okänt filformat" + +msgid "File corrupt" +msgstr "Korrupt fil" + +msgid "Missing dependencies for file" +msgstr "Saknar beroenden för fi" + +msgid "End of file" +msgstr "Slut på fil" + +msgid "Can't open" +msgstr "Kan inte öppna" + +msgid "Can't create" +msgstr "Kan inte skapa" + +msgid "Query failed" +msgstr "Frågan misslyckades" + +msgid "Already in use" +msgstr "Redan i bruk" + msgid "Locked" msgstr "Låst" +msgid "Timeout" +msgstr "Timeout" + +msgid "Can't connect" +msgstr "Kan inte ansluta" + +msgid "Can't resolve" +msgstr "Kan inte lösas" + +msgid "Connection error" +msgstr "Anslutningsfel" + +msgid "Can't acquire resource" +msgstr "Kan inte hämta resurs" + +msgid "Can't fork" +msgstr "Kan inte forka" + +msgid "Invalid data" +msgstr "Ogiltig data" + +msgid "Invalid parameter" +msgstr "Ogiltig parameter" + +msgid "Already exists" +msgstr "Finns redan" + +msgid "Does not exist" +msgstr "Existerar inte" + +msgid "Can't read database" +msgstr "Kan inte läsa databasen" + +msgid "Can't write database" +msgstr "Kan inte skriva till databasen" + +msgid "Compilation failed" +msgstr "Kompileringen misslyckades" + +msgid "Method not found" +msgstr "Metod hittades inte" + +msgid "Link failed" +msgstr "Länk misslyckades" + +msgid "Script failed" +msgstr "Skript misslyckades" + +msgid "Cyclic link detected" +msgstr "Cyklist länk upptäckt" + +msgid "Invalid declaration" +msgstr "Ogiltig deklaration" + +msgid "Duplicate symbol" +msgstr "Duplicera symbol" + +msgid "Parse error" +msgstr "Tolkningsfel" + +msgid "Busy" +msgstr "Upptagen" + +msgid "Skip" +msgstr "Hoppa över" + msgid "Help" msgstr "Hjälp" +msgid "Bug" +msgstr "Bugg" + +msgid "Printer on fire" +msgstr "Skrivaren brinner" + msgid "unset" msgstr "nollställ" @@ -1525,6 +1663,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Speglad" +msgid "Handle mode: %s" +msgstr "Handtagsläge: %s" + msgid "Stream:" msgstr "Ström:" @@ -6588,6 +6729,12 @@ msgstr "Beroende-redigerare" msgid "Owners of: %s (Total: %d)" msgstr "Ägare av: %s (Totalt: %d)" +msgid "No owners found for: %s" +msgstr "Inga ägare hittades för: %s" + +msgid "Owners List" +msgstr "Ägarlista" + msgid "Localization remap" msgstr "Lokaliserings-ersättning" @@ -6988,6 +7135,9 @@ msgstr "Välj resurs" msgid "Select Scene" msgstr "Välj scen" +msgid "Recursion detected, Instant Preview failed." +msgstr "Rekursion upptäckt, direktförhandsvisning misslyckades." + msgid "Instant Preview" msgstr "Direktförhandsvisning" @@ -11486,6 +11636,24 @@ msgid "This debug draw mode is only supported when using the Forward+ renderer." msgstr "" "Detta felsökningsritläge stöds endast vid användning av Forward+‑renderaren." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Storlek: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Objekt: %d" + +msgid "Primitives: %d" +msgstr "Primitiver: %d" + msgid "Draw Calls: %d" msgstr "Ritanrop: %d" @@ -11657,6 +11825,15 @@ msgstr "" msgid "SDFGI Probes" msgstr "SDFGI-sonder" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Vänsterklicka på en SDFGI‑prob för att visa dess ocklusionsinformation (vitt " +"= inte ockluderad, rött = helt ockluderad).\n" +"Kräver att SDFGI är aktiverat i Environment för att ha synlig effekt." + msgid "Scene Luminance" msgstr "Scen-luminans" @@ -12915,6 +13092,9 @@ msgstr "Centrera markering" msgid "Frame Selection" msgstr "Inrama markering" +msgid "Auto Resample CanvasItems" +msgstr "Auto‑resampla CanvasItems" + msgid "Preview Canvas Scale" msgstr "Förhandsvisa canvas-skala" @@ -18676,6 +18856,18 @@ msgstr "ObjectDB‑referenser + inbyggda referenser" msgid "Cycles detected in the ObjectDB" msgstr "Cykler upptäckta i ObjectDB" +msgid "Native References: %d" +msgstr "Inhemska referenser: %d" + +msgid "ObjectDB References: %d" +msgstr "ObjectDB‑referenser: %d" + +msgid "Total References: %d" +msgstr "Totalt antal referenser: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "ObjectDB-cykler: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]ObjectDB-referenser[center]" @@ -18738,6 +18930,26 @@ msgstr "Totalt antal objekt:" msgid "Total Nodes:" msgstr "Totalt antal noder:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Flera rotnoder [i](möjligt anrop till ’remove_child’ utan ’queue_free’)[/i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"RefCounted‑objekt refereras endast i cykler [i](cykler indikerar ofta " +"minnesläckor)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Scriptade objekt refereras inte av några andra objekt [i](orefererade objekt " +"kan indikera en minnesläcka)[/i]" + msgid "Generating Snapshot" msgstr "Genererar ögonblicksbild" @@ -20920,6 +21132,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D kräver en XRCamera3D‑barnnod." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Att ändra skalningen på noden **XROrigin3D** stöds inte. Ändra **World " +"Scale** i stället." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21020,15 +21239,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s kan inte släppas här. Använd %s för att avbryta." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Observera att GraphEdit och GraphNode kommer att genomgå omfattande " -"omstrukturering i en framtida 4.x‑version, vilket innebär API‑ändringar som " -"bryter kompatibilitet." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21076,6 +21286,9 @@ msgstr "" "Använd en container som underordnad kontroll (VBox, HBox, etc.) eller en " "kontroll och ange den anpassade minimistorleken manuellt." +msgid "Drag to resize" +msgstr "Dra för att ändra storlek" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21449,6 +21662,24 @@ msgstr "Ingen matchande funktion funnen för: '%s'." msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "Varying '%s' kan inte skickas som parameter '%s' i det sammanhanget." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Det går inte att skicka en multiview‑texturesampler som parameter till en " +"anpassad funktion. Överväg att sampla den i huvudfunktionen och sedan skicka " +"vektorresultatet till den anpassade funktionen." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Det går inte att skicka en **RADIANCE‑texturesampler** som parameter till en " +"anpassad funktion. Överväg att sampla den i huvudfunktionen och sedan skicka " +"vektorresultatet till den anpassade funktionen." + msgid "Unknown identifier in expression: '%s'." msgstr "Okänd identifierare i uttrycket: '%s'." diff --git a/editor/translations/editor/ta.po b/editor/translations/editor/ta.po index 42860b8e715e..67a15686cf47 100644 --- a/editor/translations/editor/ta.po +++ b/editor/translations/editor/ta.po @@ -18773,14 +18773,6 @@ msgstr "" "%s பிடித்தன. இலக்கு என்பதைத் தேர்ந்தெடுத்து, கைவிட %s ஐப் பயன்படுத்தவும், ரத்து செய்ய %s " "ஐப் பயன்படுத்தவும்." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"பொருந்தக்கூடிய-உடைக்கும் பநிஇ மாற்றங்களை உள்ளடக்கிய எதிர்கால 4.x பதிப்பில் கிராஃபிடிட் " -"மற்றும் கிராஃப்ட்னோட் விரிவான மறுசீரமைப்பிற்கு உட்படும் என்பதை நினைவில் கொள்க." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/th.po b/editor/translations/editor/th.po index 48cf4f55d4c7..b6d5d97778b2 100644 --- a/editor/translations/editor/th.po +++ b/editor/translations/editor/th.po @@ -26,13 +26,14 @@ # Hidden Kendo , 2025. # "A Thousand Ships (she/her)" , 2025. # RESONA , 2025. +# Wi Chan , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-23 01:00+0000\n" -"Last-Translator: RESONA \n" +"PO-Revision-Date: 2026-01-15 07:06+0000\n" +"Last-Translator: Wi Chan \n" "Language-Team: Thai \n" "Language: th\n" @@ -40,11 +41,14 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "ตกลง" +msgid "File already in use" +msgstr "ไฟล์ถูกใช้งานอยู่แล้ว" + msgid "Help" msgstr "ช่วยเหลือ" diff --git a/editor/translations/editor/tok.po b/editor/translations/editor/tok.po index c4f96c3cded0..0744df66f2a8 100644 --- a/editor/translations/editor/tok.po +++ b/editor/translations/editor/tok.po @@ -4940,14 +4940,6 @@ msgstr "mi lukin ala e sitelen tawa ni: '%s'" msgid "Nothing connected to input '%s' of node '%s'." msgstr "ala li olin e pana '%s' pi ijo pali '%s'." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"o sona e ni: nanpa 4.x lon tenpo kama la ijo pali GraphEdit en ijo pali " -"GraphNode li ante e nasin API ona. ante ona li ike tawa nanpa tawa." - msgid "'%s' default color is incompatible with '%s' source." msgstr "kule meso '%s' li ike tawa tan '%s'." diff --git a/editor/translations/editor/tr.po b/editor/translations/editor/tr.po index 4638ea42edd0..46bdf4fae563 100644 --- a/editor/translations/editor/tr.po +++ b/editor/translations/editor/tr.po @@ -96,7 +96,7 @@ # atahanacar , 2023. # efella , 2023. # Black , 2023. -# Yılmaz Durmaz , 2023, 2024, 2025. +# Yılmaz Durmaz , 2023, 2024, 2025, 2026. # ErcanPasha , 2023. # Yoldaş Ulaş , 2023. # Mertcan YILDIRIM , 2023. @@ -127,13 +127,14 @@ # Aras Ege Gündüz , 2025. # Volkan , 2026. # KiiVoZin , 2026. +# Hasan Kara , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-12 20:12+0000\n" -"Last-Translator: KiiVoZin \n" +"PO-Revision-Date: 2026-01-23 01:57+0000\n" +"Last-Translator: Yılmaz Durmaz \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -141,17 +142,143 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "Tamam" +msgid "Failed" +msgstr "Başarısız" + +msgid "Unavailable" +msgstr "Erişilemez" + +msgid "Unconfigured" +msgstr "Yapılandırılmamış" + +msgid "Unauthorized" +msgstr "Yetkilendirilmemiş" + +msgid "Parameter out of range" +msgstr "Parametre değer aralığı dışında" + +msgid "Out of memory" +msgstr "Yetersiz bellek" + +msgid "File not found" +msgstr "Dosya bulunamadı" + +msgid "File: Bad drive" +msgstr "Dosya: Bozuk sürücü" + +msgid "File: Bad path" +msgstr "Dosya: Geçersiz dizin" + +msgid "File: Permission denied" +msgstr "Dosya: İzin reddedildi" + +msgid "File already in use" +msgstr "Dosya zaten kullanımda" + +msgid "Can't open file" +msgstr "Dosya açılamıyor" + +msgid "Can't write file" +msgstr "Dosya yazılamıyor" + +msgid "Can't read file" +msgstr "Dosya okunamyor" + +msgid "File unrecognized" +msgstr "Dosya tanınamadı" + +msgid "File corrupt" +msgstr "Dosya bozuk" + +msgid "Missing dependencies for file" +msgstr "Dosya için eksik bağımlılıklar" + +msgid "End of file" +msgstr "Dosya sonu" + +msgid "Can't open" +msgstr "Açılamıyor" + +msgid "Can't create" +msgstr "Oluşturulamıyor" + +msgid "Query failed" +msgstr "İstek başarısız" + +msgid "Already in use" +msgstr "Zaten kullanımda" + msgid "Locked" msgstr "Kilitli" +msgid "Timeout" +msgstr "Zaman aşımı" + +msgid "Can't connect" +msgstr "Bağlanamıyor" + +msgid "Can't resolve" +msgstr "Çözümlenemedi" + +msgid "Can't acquire resource" +msgstr "Kaynağa erişilemiyor" + +msgid "Invalid data" +msgstr "Geçersiz veri" + +msgid "Invalid parameter" +msgstr "Geçersiz parametre" + +msgid "Already exists" +msgstr "Zaten var" + +msgid "Does not exist" +msgstr "Mevcut değil" + +msgid "Can't read database" +msgstr "Veritabanı okunamıyor" + +msgid "Can't write database" +msgstr "veritabanına yazılamıyor" + +msgid "Compilation failed" +msgstr "Derleme başarısız oldu" + +msgid "Link failed" +msgstr "Bağlantı başarısız oldu" + +msgid "Script failed" +msgstr "Betik başarısız oldu" + +msgid "Invalid declaration" +msgstr "Hatalı tanımlama" + +msgid "Duplicate symbol" +msgstr "Çakışan sembol" + +msgid "Parse error" +msgstr "Söz dizimi hatası" + +msgid "Busy" +msgstr "Meşgul" + +msgid "Skip" +msgstr "Atla" + msgid "Help" msgstr "Yardım" +msgid "Bug" +msgstr "Hata" + +msgid "Printer on fire" +msgstr "Yazıcı alev aldı" + msgid "unset" msgstr "ayarlamayı kaldır" @@ -703,9 +830,21 @@ msgstr "Ayrık" msgid "Capture" msgstr "Yakala" +msgid "" +"Select and move points.\n" +"RMB: Create point at position clicked.\n" +"Shift+LMB+Drag: Set the blending position within the space." +msgstr "" +"Noktaları seç ve taşı.\n" +"Sağ Fare Düğmesi: Tıklanan konuma nokta ekle.\n" +"Shift + Sol Fare Düğmesi + Sürükle: Boşluk içinde harmanlama noktası ayarla." + msgid "Create points." msgstr "Noktalar oluştur." +msgid "Set the blending position within the space." +msgstr "Alan içindeki harmanlama konumunu ayarla." + msgid "Erase points." msgstr "Noktaları sil." @@ -1282,7 +1421,7 @@ msgid "Transition exists!" msgstr "Geçiş zaten var!" msgid "Cannot transition to self!" -msgstr "Kendisine dönüşemez!" +msgstr "Kendine geçiş yapılamaz!" msgid "Cannot transition to \"Start\"!" msgstr "'Start' durumuna geçiş yapılamıyor!" @@ -1830,6 +1969,12 @@ msgstr "" "Canlandırmaları oluşturmak ve düzenlemek için bir CanlandırmaOynatıcı " "(AnimationPlayer) düğümü seç." +msgid "Add AnimationPlayer" +msgstr "AnimationPlayer (Canlandırma Oynatıcısı) Ekle" + +msgid "Imported Animation" +msgstr "İçe Aktarılan Animasyon" + msgid "Warning: Editing imported animation" msgstr "Uyarı: İçe aktarılan canlandırma düzenleniyor" @@ -2082,6 +2227,14 @@ msgstr "Yaylanan" msgid "Ease Type:" msgstr "Yumuşatma Tipi:" +msgctxt "Ease Type" +msgid "Ease In-Out" +msgstr "İçe-Dışa Yumuşatma" + +msgctxt "Ease Type" +msgid "Ease Out-In" +msgstr "Dışa-İçe Yumuşatma" + msgid "FPS:" msgstr "FPS:" @@ -2106,6 +2259,12 @@ msgstr "Tümünü Seç / Seçimleri Kaldır" msgid "Copy Selection" msgstr "Seçimi Kopyala" +msgid "Key Insertion Error" +msgstr "Anahtar Ekleme Hatası" + +msgid "Imported Animation cannot be edited!" +msgstr "İçe Aktarılan Animasyon düzenlenemez!" + msgid "Animation Change Keyframe Time" msgstr "Canlandırma Anahtar Kare Zamanını Değiştir" @@ -2187,6 +2346,9 @@ msgstr "Kök" msgid "AnimationTree" msgstr "CanlandırmaAğacı (AnimationTree)" +msgid "Toggle AnimationTree Dock" +msgstr "AnimationTree (Canlandırma Ağacı) Yuvasını Aç/Kapat" + msgid "Path:" msgstr "Yol:" @@ -2613,6 +2775,9 @@ msgstr "Ses Veri Yolu Yerleşim Düzenini Aç" msgid "Error saving file: %s" msgstr "Dosya kaydedilirken hata: %s" +msgid "Toggle Audio Dock" +msgstr "Ses Yuvasını Aç/Kapat" + msgid "Layout:" msgstr "Yerleşim Düzeni:" @@ -2649,6 +2814,9 @@ msgstr "İçine Gir" msgid "Step Over" msgstr "Üstünden Geç" +msgid "Step Out" +msgstr "Dışına Çık" + msgid "Break" msgstr "Duraklat" @@ -2804,6 +2972,9 @@ msgstr "Uzak %s (%d Seçildi)" msgid "Debugger" msgstr "Hata Ayıklayıcı" +msgid "Toggle Debugger Dock" +msgstr "Hata Ayıklayıcı Yuvasını Aç/Kapat" + msgid "Session %d" msgstr "Oturum %d" @@ -3584,6 +3755,12 @@ msgstr "Bu yuvayı bir sekme sola taşı." msgid "Close this dock." msgstr "Bu yuvayı kapat." +msgid "This dock can't be closed." +msgstr "Bu yuva kapatılamaz." + +msgid "This dock does not support floating." +msgstr "Bu yuva serbest pencere olmayı desteklemez." + msgid "Make this dock floating." msgstr "Bu yuvayı serbest pencere yap." @@ -6272,6 +6449,9 @@ msgstr "" "Dosyaları/Klasörleri projenin dışında tutmak için filtreler\n" "(virgülle-ayrılmış, örnek: *.json, *.txt, docs/*)" +msgid "Enable Delta Encoding" +msgstr "Artışlı Sıkıştırmayı etkinleştir" + msgid "Base Packs:" msgstr "Temel Paketler:" @@ -7691,6 +7871,9 @@ msgstr "Çeviri Ekle" msgid "Lock/Unlock Component Ratio" msgstr "Bileşen Oranını Kilitle/Kilidi Aç" +msgid "Left-click to make it unique." +msgstr "Benzersiz hale getirmek için Sol-tıklayın." + msgid "" "The selected resource (%s) does not match any type expected for this property " "(%s)." @@ -15635,6 +15818,9 @@ msgstr "Sabit Ayarla: %s" msgid "Invalid name for varying." msgstr "Değişen için geçersiz isim." +msgid "Varying with that name already exists." +msgstr "Bu isimle bir değişen zaten var." + msgid "Boolean type cannot be used with `%s` varying mode." msgstr "Mantıksal tip `%s` değişen modu ile kullanılamaz." @@ -19760,15 +19946,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s buraya bırakılamaz. İptal etmek için %s tuşunu kullanın." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Lütfen unutmayın; Grafik Düzenleme (GraphEdit) ve Grafik Düğümü (GraphNode), " -"gelecekteki 4.x sürümünde, uyumluluğu-bozacak API değişikliklerini içeren " -"kapsamlı bir yeniden düzenleme işleminden geçecekler." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/editor/uk.po b/editor/translations/editor/uk.po index 974b93a04078..f37fbe5e380e 100644 --- a/editor/translations/editor/uk.po +++ b/editor/translations/editor/uk.po @@ -68,7 +68,7 @@ msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-01 09:45+0000\n" +"PO-Revision-Date: 2026-01-15 05:04+0000\n" "Last-Translator: Максим Горпиніч \n" "Language-Team: Ukrainian \n" @@ -78,17 +78,155 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "OK" msgstr "Гаразд" +msgid "Failed" +msgstr "Не вдалося" + +msgid "Unavailable" +msgstr "Недоступно" + +msgid "Unconfigured" +msgstr "Не налаштовано" + +msgid "Unauthorized" +msgstr "Неавторизовано" + +msgid "Parameter out of range" +msgstr "Параметр поза діапазоном" + +msgid "Out of memory" +msgstr "Не вистачає пам'яті" + +msgid "File not found" +msgstr "Файл не знайдено" + +msgid "File: Bad drive" +msgstr "Файл: Пошкоджений диск" + +msgid "File: Bad path" +msgstr "Файл: Неправильний шлях" + +msgid "File: Permission denied" +msgstr "Файл: Доступ заборонено" + +msgid "File already in use" +msgstr "Файл вже використовується" + +msgid "Can't open file" +msgstr "Не вдається відкрити файл" + +msgid "Can't write file" +msgstr "Не вдається записати файл" + +msgid "Can't read file" +msgstr "Не вдається прочитати файл" + +msgid "File unrecognized" +msgstr "Файл не розпізнано" + +msgid "File corrupt" +msgstr "Файл пошкоджено" + +msgid "Missing dependencies for file" +msgstr "Відсутні залежності для файлу" + +msgid "End of file" +msgstr "Кінець файлу" + +msgid "Can't open" +msgstr "Не вдається відкрити" + +msgid "Can't create" +msgstr "Не вдається створити" + +msgid "Query failed" +msgstr "Запит не вдався" + +msgid "Already in use" +msgstr "Вже використовується" + msgid "Locked" msgstr "Заблоковано" +msgid "Timeout" +msgstr "Тайм-аут" + +msgid "Can't connect" +msgstr "Не вдається підключитися" + +msgid "Can't resolve" +msgstr "Не вдається вирішити" + +msgid "Connection error" +msgstr "Помилка підключення" + +msgid "Can't acquire resource" +msgstr "Не вдається отримати ресурс" + +msgid "Can't fork" +msgstr "Не можу розщепитися" + +msgid "Invalid data" +msgstr "Недійсні дані" + +msgid "Invalid parameter" +msgstr "Недійсний параметр" + +msgid "Already exists" +msgstr "Вже існує" + +msgid "Does not exist" +msgstr "Не існує" + +msgid "Can't read database" +msgstr "Не вдається прочитати базу даних" + +msgid "Can't write database" +msgstr "Не вдається записати дані в базу даних" + +msgid "Compilation failed" +msgstr "Компіляція не вдалася" + +msgid "Method not found" +msgstr "Метод не знайдено" + +msgid "Link failed" +msgstr "Помилка зв'язку" + +msgid "Script failed" +msgstr "Помилка скрипта" + +msgid "Cyclic link detected" +msgstr "Виявлено циклічне посилання" + +msgid "Invalid declaration" +msgstr "Недійсна декларація" + +msgid "Duplicate symbol" +msgstr "Дублікат символу" + +msgid "Parse error" +msgstr "Помилка синтаксичного аналізу" + +msgid "Busy" +msgstr "Зайнятий" + +msgid "Skip" +msgstr "Пропущений" + msgid "Help" msgstr "Довідка" +msgid "Bug" +msgstr "Помилка" + +msgid "Printer on fire" +msgstr "Принтер у горінні" + msgid "unset" msgstr "не встановлено" @@ -1540,6 +1678,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "Дзеркальне" +msgid "Handle mode: %s" +msgstr "Режим ручки: %s" + msgid "Stream:" msgstr "Потік:" @@ -6633,6 +6774,12 @@ msgstr "Редактор залежностей" msgid "Owners of: %s (Total: %d)" msgstr "Власник: %s (Загалом: %d)" +msgid "No owners found for: %s" +msgstr "Не знайдено власників для: %s" + +msgid "Owners List" +msgstr "Список власників" + msgid "Localization remap" msgstr "Перевизначення локалізації" @@ -7037,6 +7184,9 @@ msgstr "Виберіть Ресурс" msgid "Select Scene" msgstr "Виберіть Сцена" +msgid "Recursion detected, Instant Preview failed." +msgstr "Виявлено рекурсію, не вдалося виконати миттєвий попередній перегляд." + msgid "Instant Preview" msgstr "Миттєвий попередній перегляд" @@ -11556,6 +11706,24 @@ msgstr "" "Цей режим відображення налагодження підтримується лише під час використання " "рендерера Forward+." +msgid "X: %s" +msgstr "X: %s" + +msgid "Y: %s" +msgstr "Y: %s" + +msgid "Z: %s" +msgstr "Z: %s" + +msgid "Size: %s (%.1fMP)" +msgstr "Розмір: %s (%.1fMP)" + +msgid "Objects: %d" +msgstr "Об'єкти: %d" + +msgid "Primitives: %d" +msgstr "Примітиви: %d" + msgid "Draw Calls: %d" msgstr "Виклики малювання: %d" @@ -11726,6 +11894,16 @@ msgstr "Для видимого ефекту потрібно ввімкнути msgid "SDFGI Probes" msgstr "Зонди SDFGI" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"Клацніть лівою кнопкою миші на зонді SDFGI, щоб відобразити інформацію про " +"його оклюзію (білий = не перекривається, червоний = повністю " +"перекривається).\n" +"Для видимого ефекту потрібно, щоб SDFGI було ввімкнено в середовищі." + msgid "Scene Luminance" msgstr "Яскравість сцени" @@ -12986,6 +13164,9 @@ msgstr "Центрувати на вибраному" msgid "Frame Selection" msgstr "Кадрувати вибране" +msgid "Auto Resample CanvasItems" +msgstr "Автоматичне перерозподіл елементів Canvas" + msgid "Preview Canvas Scale" msgstr "Попередній перегляд масштабованого полотна" @@ -18800,6 +18981,18 @@ msgstr "Посилання на ObjectDB + нативні посилання" msgid "Cycles detected in the ObjectDB" msgstr "Цикли, виявлені в ObjectDB" +msgid "Native References: %d" +msgstr "Рідні посилання: %d" + +msgid "ObjectDB References: %d" +msgstr "Посилання на ObjectDB: %d" + +msgid "Total References: %d" +msgstr "Загальна кількість посилань: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "Цикли ObjectDB: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]Посилання на ObjectDB[center]" @@ -18862,6 +19055,27 @@ msgstr "Всього об'єктів:" msgid "Total Nodes:" msgstr "Всього вузлів:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"Кілька кореневих вузлів [i](можливий виклик 'remove_child' без 'queue_free')[/" +"i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "" +"Об'єкти RefCounted, на які посилаються лише в циклах [i](цикли часто вказують " +"на витік пам'яті)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "" +"Об'єкти сценаріїв, на які не посилаються інші об'єкти [i](об'єкти, на які не " +"посилаються, можуть свідчити про витік пам'яті)[/i]" + msgid "Generating Snapshot" msgstr "Створення знімка" @@ -21095,6 +21309,13 @@ msgstr "" msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D потребує дочірнього вузла XRCamera3D." +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "" +"Зміна масштабу на вузлі XROrigin3D не підтримується. Натомість змініть " +"масштаб світу." + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -21197,15 +21418,6 @@ msgstr "" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s не можна скинути сюди. Використайте %s для скасування." -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"Будь ласка, зверніть увагу, що GraphEdit і GraphNode зазнають значного " -"рефакторингу в майбутній версії 4.x, що включає зміни API, які порушують " -"сумісність." - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -21256,6 +21468,9 @@ msgstr "" "Скористайтеся контейнером як дочірнім об'єктом (VBox, HBox тощо) або вузлом " "Control і встановіть нетиповий мінімальний розмір вручну." +msgid "Drag to resize" +msgstr "Перетягніть, щоб змінити розмір" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -21636,6 +21851,24 @@ msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "" "Варіація '%s' не може бути передана для параметра '%s' у цьому контексті." +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"Не вдається передати багатовидовий семплер текстури як параметр до " +"користувацької функції. Розгляньте можливість семплерування в основній " +"функції, а потім передачі векторного результату до користувацької функції." + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"Неможливо передати семплер текстури RADIANCE як параметр до користувацької " +"функції. Розгляньте можливість семплерування в основній функції, а потім " +"передачі векторного результату до користувацької функції." + msgid "Unknown identifier in expression: '%s'." msgstr "Невідомий ідентифікатор у виразі: '%s'." diff --git a/editor/translations/editor/zh_Hans.po b/editor/translations/editor/zh_Hans.po index 9d7e0418c9ae..ccffa046f8bd 100644 --- a/editor/translations/editor/zh_Hans.po +++ b/editor/translations/editor/zh_Hans.po @@ -76,7 +76,7 @@ # twoBornottwoB <305766341@qq.com>, 2021. # Magian , 2021. # Weiduo Xie , 2021. -# suplife <2634557184@qq.com>, 2021, 2022, 2023, 2025. +# suplife <2634557184@qq.com>, 2021, 2022, 2023, 2025, 2026. # luoji <564144019@qq.com>, 2021. # zeng haochen , 2021. # Sam Sun , 2021. @@ -84,7 +84,7 @@ # nitenook , 2021. # jker , 2021. # Ankar <1511276198@qq.com>, 2022. -# 风青山 , 2022, 2023, 2025. +# 风青山 , 2022, 2023, 2025, 2026. # 1104 EXSPIRAVIT_ , 2022. # ChairC <974833488@qq.com>, 2022. # 赵不一 <279631638@qq.com>, 2023. @@ -103,7 +103,7 @@ # J_aphasiac , 2025. # BuddhaGrape <3248882725@qq.com>, 2025. # ChenLei , 2025. -# Myeongjin Lee , 2025. +# Myeongjin Lee , 2025, 2026. # Jianwen Xu , 2025. # bocai-bca , 2025. # Genius Embroider , 2025. @@ -112,13 +112,14 @@ # 烟汐忆梦_YM <193446537@qq.com>, 2025. # MicroGame0 , 2025. # Zhen Luo <461652354@qq.com>, 2025, 2026. +# Owen Wang , 2026. msgid "" msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2026-01-01 14:54+0000\n" -"Last-Translator: Zhen Luo <461652354@qq.com>\n" +"PO-Revision-Date: 2026-01-24 01:46+0000\n" +"Last-Translator: 风青山 \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh_Hans\n" @@ -126,17 +127,155 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "确定" +msgid "Failed" +msgstr "失败" + +msgid "Unavailable" +msgstr "不可用" + +msgid "Unconfigured" +msgstr "未配置" + +msgid "Unauthorized" +msgstr "未授权" + +msgid "Parameter out of range" +msgstr "形参数量越界" + +msgid "Out of memory" +msgstr "内存不足" + +msgid "File not found" +msgstr "未找到文件" + +msgid "File: Bad drive" +msgstr "文件:坏驱动器" + +msgid "File: Bad path" +msgstr "文件:无效路径" + +msgid "File: Permission denied" +msgstr "文件:权限不足" + +msgid "File already in use" +msgstr "文件已在使用" + +msgid "Can't open file" +msgstr "无法打开文件" + +msgid "Can't write file" +msgstr "无法写入文件" + +msgid "Can't read file" +msgstr "无法读取文件" + +msgid "File unrecognized" +msgstr "文件无法识别" + +msgid "File corrupt" +msgstr "文件损坏" + +msgid "Missing dependencies for file" +msgstr "文件缺少依赖" + +msgid "End of file" +msgstr "文件结束" + +msgid "Can't open" +msgstr "无法打开" + +msgid "Can't create" +msgstr "无法创建" + +msgid "Query failed" +msgstr "查询失败" + +msgid "Already in use" +msgstr "已在使用中" + msgid "Locked" msgstr "已锁定" +msgid "Timeout" +msgstr "超时" + +msgid "Can't connect" +msgstr "无法连接" + +msgid "Can't resolve" +msgstr "无法解析" + +msgid "Connection error" +msgstr "连接出错" + +msgid "Can't acquire resource" +msgstr "无法获取资源" + +msgid "Can't fork" +msgstr "无法分叉" + +msgid "Invalid data" +msgstr "无效数据" + +msgid "Invalid parameter" +msgstr "无效参数" + +msgid "Already exists" +msgstr "已经存在" + +msgid "Does not exist" +msgstr "不存在" + +msgid "Can't read database" +msgstr "无法读取数据库" + +msgid "Can't write database" +msgstr "无法写入数据库" + +msgid "Compilation failed" +msgstr "编译失败" + +msgid "Method not found" +msgstr "方法未找到" + +msgid "Link failed" +msgstr "链接失败" + +msgid "Script failed" +msgstr "脚本失败" + +msgid "Cyclic link detected" +msgstr "检测到循环链接" + +msgid "Invalid declaration" +msgstr "无效声明" + +msgid "Duplicate symbol" +msgstr "符号重复" + +msgid "Parse error" +msgstr "解析错误" + +msgid "Busy" +msgstr "繁忙" + +msgid "Skip" +msgstr "跳过" + msgid "Help" msgstr "帮助" +msgid "Bug" +msgstr "Bug" + +msgid "Printer on fire" +msgstr "打印机起火" + msgid "unset" msgstr "未设置" @@ -1564,6 +1703,9 @@ msgctxt "Bezier Handle Mode" msgid "Mirrored" msgstr "镜像" +msgid "Handle mode: %s" +msgstr "处理模式:%s" + msgid "Stream:" msgstr "流:" @@ -6434,6 +6576,12 @@ msgstr "依赖编辑器" msgid "Owners of: %s (Total: %d)" msgstr "%s 的所有者(总计:%d)" +msgid "No owners found for: %s" +msgstr "找不到所有者: %s" + +msgid "Owners List" +msgstr "所有者列表" + msgid "Localization remap" msgstr "本地化重映射" @@ -6825,6 +6973,9 @@ msgstr "选择资源" msgid "Select Scene" msgstr "选择场景" +msgid "Recursion detected, Instant Preview failed." +msgstr "检测到递归,即时预览失败。" + msgid "Instant Preview" msgstr "即时预览" @@ -11121,6 +11272,24 @@ msgstr "该调试绘图模式仅在使用Forward+或Mobile渲染器时可用。" msgid "This debug draw mode is only supported when using the Forward+ renderer." msgstr "该调试绘图模式仅在使用Forward+渲染器时可用。" +msgid "X: %s" +msgstr "X:%s" + +msgid "Y: %s" +msgstr "Y:%s" + +msgid "Z: %s" +msgstr "Z:%s" + +msgid "Size: %s (%.1fMP)" +msgstr "大小:%s(%.1fMP)" + +msgid "Objects: %d" +msgstr "对象数:%d" + +msgid "Primitives: %d" +msgstr "图元:%d" + msgid "Draw Calls: %d" msgstr "绘制调用:%d" @@ -11286,6 +11455,14 @@ msgstr "需要在 Environment 中启用 SDFGI,效果才可见。" msgid "SDFGI Probes" msgstr "SDFGI 探针" +msgid "" +"Left-click a SDFGI probe to display its occlusion information (white = not " +"occluded, red = fully occluded).\n" +"Requires SDFGI to be enabled in Environment to have a visible effect." +msgstr "" +"左键单击一个SDFGI探针以显示其遮挡信息(白色=未遮挡,红色=完全遮挡)。\n" +"需要环境中的SDFGI已启用才能看到效果。" + msgid "Scene Luminance" msgstr "场景亮度" @@ -12507,6 +12684,9 @@ msgstr "居中显示所选项" msgid "Frame Selection" msgstr "完整显示所选项" +msgid "Auto Resample CanvasItems" +msgstr "自动重新采样 CanvasItems" + msgid "Preview Canvas Scale" msgstr "预览画布缩放" @@ -18086,6 +18266,18 @@ msgstr "ObjectDB 引用 + 本地引用" msgid "Cycles detected in the ObjectDB" msgstr "ObjectDB 中检测出的循环引用" +msgid "Native References: %d" +msgstr "原生引用: %d" + +msgid "ObjectDB References: %d" +msgstr "ObjectDB 引用: %d" + +msgid "Total References: %d" +msgstr "合计引用: %d" + +msgid "ObjectDB Cycles: %d" +msgstr "ObjectDB 循环引用: %d" + msgid "[center]ObjectDB References[center]" msgstr "[center]ObjectDB 引用[center]" @@ -18146,6 +18338,23 @@ msgstr "总对象数:" msgid "Total Nodes:" msgstr "总节点数:" +msgid "" +"Multiple root nodes [i](possible call to 'remove_child' without 'queue_free')" +"[/i]" +msgstr "" +"存在多个根节点[i](可能在没有调用“queue_free”的前提下调用了“remove_child”)[/" +"i]" + +msgid "" +"RefCounted objects only referenced in cycles [i](cycles often indicate a " +"memory leaks)[/i]" +msgstr "只被循环引用的引用计数对象[i](循环引用通常表示内存泄漏)[/i]" + +msgid "" +"Scripted objects not referenced by any other objects [i](unreferenced objects " +"may indicate a memory leak)[/i]" +msgstr "没有被其他对象引用的脚本对象[i](未引用的对象可能表示内存泄漏)[/i]" + msgid "Generating Snapshot" msgstr "正在生成快照" @@ -20108,6 +20317,11 @@ msgstr "XRNode3D 应当关闭 physics_interpolation_mode,从而避免抖动。 msgid "XROrigin3D requires an XRCamera3D child node." msgstr "XROrigin3D 需要 XRCamera3D 子节点。" +msgid "" +"Changing the scale on the XROrigin3D node is not supported. Change the World " +"Scale instead." +msgstr "无法更改XROrigin3D节点的比例。请更改世界比例。" + msgid "" "XR shaders are not enabled in project settings. Stereoscopic output is not " "supported unless they are enabled. Please enable `xr/shaders/enabled` to use " @@ -20197,14 +20411,6 @@ msgstr "%s 可以在此处放置。使用 %s 放置,使用 %s 取消。" msgid "%s can not be dropped here. Use %s to cancel." msgstr "%s 无法在此处放置。使用 %s 取消。" -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"请注意,GraphEdit 和 GraphNode 将在未来的 4.x 版本中进行重构,会涉及大量破坏兼" -"容性的 API 更改。" - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." @@ -20246,6 +20452,9 @@ msgstr "" "子节点应该是单个容器(VBox、HBox 等)或者使用单个控件并手动设置其自定义最小尺" "寸。" +msgid "Drag to resize" +msgstr "拖动调节尺寸" + msgid "" "This node doesn't have a SubViewport as child, so it can't display its " "intended content.\n" @@ -20580,6 +20789,22 @@ msgstr "没有找到与之匹配的函数:“%s”。" msgid "Varying '%s' cannot be passed for the '%s' parameter in that context." msgstr "Varying“%s”在该上下文中无法作为“%s”参数传递。" +msgid "" +"Unable to pass a multiview texture sampler as a parameter to a custom " +"function. Consider sampling it in the main function and then passing the " +"vector result to the custom function." +msgstr "" +"无法将多视图纹理采样器作为参数传递给自定义函数。建议在主函数中进行采样,然后将" +"向量结果传递给自定义函数。" + +msgid "" +"Unable to pass RADIANCE texture sampler as a parameter to a custom function. " +"Consider sampling it in the main function and then passing the vector result " +"to the custom function." +msgstr "" +"无法将 RADIANCE 纹理采样器作为参数传递给自定义函数。建议在主函数中进行采样,然" +"后将向量结果传递给自定义函数。" + msgid "Unknown identifier in expression: '%s'." msgstr "表达式中的标识符未知:“%s”。" diff --git a/editor/translations/editor/zh_Hant.po b/editor/translations/editor/zh_Hant.po index 4449fe6e79c9..8810d1bba811 100644 --- a/editor/translations/editor/zh_Hant.po +++ b/editor/translations/editor/zh_Hant.po @@ -62,19 +62,20 @@ # WerewolfwolfyXD , 2025. # Oscar Su , 2025. # codetea , 2025. -# Myeongjin Lee , 2025. +# Myeongjin Lee , 2025, 2026. # sashimi , 2025. # 陳間時光(MorningFungame) , 2025. # Stenyin , 2025. # "A Thousand Ships (she/her)" , 2025. # RogerFang , 2025. +# Wei-Fu Chen <410477jimmy@gmail.com>, 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine editor interface\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-08 20:00+0000\n" -"Last-Translator: RogerFang \n" +"PO-Revision-Date: 2026-01-25 00:39+0000\n" +"Last-Translator: Wei-Fu Chen <410477jimmy@gmail.com>\n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" @@ -82,17 +83,134 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "OK" msgstr "好" +msgid "Failed" +msgstr "失敗" + +msgid "Unavailable" +msgstr "無法使用" + +msgid "Unconfigured" +msgstr "尚未設定" + +msgid "Unauthorized" +msgstr "未經授權" + +msgid "Parameter out of range" +msgstr "參數超出範圍" + +msgid "Out of memory" +msgstr "記憶體不足" + +msgid "File not found" +msgstr "未找到檔案" + +msgid "File: Bad drive" +msgstr "檔案:磁碟錯誤" + +msgid "File: Bad path" +msgstr "檔案:路徑錯誤" + +msgid "File: Permission denied" +msgstr "檔案:權限不足" + +msgid "File already in use" +msgstr "檔案已在使用中" + +msgid "Can't open file" +msgstr "無法開啟檔案" + +msgid "Can't write file" +msgstr "無法寫入檔案" + +msgid "Can't read file" +msgstr "無法讀取檔案" + +msgid "File unrecognized" +msgstr "無法識別檔案" + +msgid "File corrupt" +msgstr "檔案損毀" + +msgid "Missing dependencies for file" +msgstr "缺少檔案所需模組" + +msgid "End of file" +msgstr "檔案結尾" + +msgid "Can't open" +msgstr "無法開啟" + +msgid "Can't create" +msgstr "無法建立" + +msgid "Query failed" +msgstr "要求失敗" + +msgid "Already in use" +msgstr "已在使用中" + msgid "Locked" msgstr "已鎖定" +msgid "Timeout" +msgstr "逾時" + +msgid "Can't connect" +msgstr "無法連線" + +msgid "Can't resolve" +msgstr "無法解析" + +msgid "Can't acquire resource" +msgstr "無法取得資源" + +msgid "Already exists" +msgstr "已存在" + +msgid "Does not exist" +msgstr "不存在" + +msgid "Can't read database" +msgstr "無法讀取資料庫" + +msgid "Can't write database" +msgstr "無法寫入資料庫" + +msgid "Link failed" +msgstr "連接錯誤" + +msgid "Script failed" +msgstr "腳本失敗" + +msgid "Cyclic link detected" +msgstr "偵測到循環連結" + +msgid "Invalid declaration" +msgstr "無效的宣告" + +msgid "Parse error" +msgstr "剖析錯誤" + +msgid "Busy" +msgstr "忙碌中" + +msgid "Skip" +msgstr "跳過" + msgid "Help" msgstr "說明" +msgid "Bug" +msgstr "錯誤" + +msgid "Printer on fire" +msgstr "印表機起火" + msgid "Physical" msgstr "實體" @@ -18861,14 +18979,6 @@ msgstr "可在此放下 %s。按 %s 放下,按 %s 取消。" msgid "%s can not be dropped here. Use %s to cancel." msgstr "無法在此放下 %s。按 %s 取消。" -msgid "" -"Please be aware that GraphEdit and GraphNode will undergo extensive " -"refactoring in a future 4.x version involving compatibility-breaking API " -"changes." -msgstr "" -"請注意,GraphEdit 與 GraphNode 將在未來 4.x 版本進行大幅重構,屆時 API 可能不" -"相容。" - msgid "" "Labels with autowrapping enabled must have a custom minimum size configured " "to work correctly inside a container." diff --git a/editor/translations/properties/es.po b/editor/translations/properties/es.po index 2ee33c1a4cea..44159cda28cf 100644 --- a/editor/translations/properties/es.po +++ b/editor/translations/properties/es.po @@ -14,7 +14,7 @@ # Diego López , 2017. # eon-s , 2018, 2019, 2020. # Gustavo Leon , 2017-2018. -# Javier Ocampos , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025. +# Javier Ocampos , 2018, 2019, 2020, 2021, 2022, 2023, 2024, 2025, 2026. # Jose Maria Martinez , 2018. # Juan Quiroga , 2017. # Kiji Pixel , 2017. @@ -113,7 +113,7 @@ # AnyMan , 2025. # Hompis Homp , 2025. # JoseLL8 <100429024@alumnos.uc3m.es>, 2025. -# Alejandro Moctezuma , 2025. +# Alejandro Moctezuma , 2025, 2026. # Julián Lacomba , 2025. # Kevin , 2025. msgid "" @@ -121,8 +121,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-28 22:00+0000\n" -"Last-Translator: Alejandro Moctezuma \n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" +"Last-Translator: Javier \n" "Language-Team: Spanish \n" "Language: es\n" @@ -130,7 +130,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Aplicación" @@ -285,6 +285,9 @@ msgstr "Comprobar Conflictos de Tipo de Interpolación Angular" msgid "Compatibility" msgstr "Compatibilidad" +msgid "Default Parent Skeleton in Mesh Instance 3D" +msgstr "Esqueleto Padre por Defecto en Mesh Instance 3D" + msgid "Audio" msgstr "Audio" @@ -312,6 +315,9 @@ msgstr "iOS" msgid "Session Category" msgstr "Categoría Sesión" +msgid "Mix with Others" +msgstr "Mezclar con Otros" + msgid "Subwindows" msgstr "Subventanas" @@ -430,7 +436,7 @@ msgid "Timers" msgstr "Temporizadores" msgid "Incremental Search Max Interval Msec" -msgstr "Intervalo Máximo de Búsqueda Incremental (ms)" +msgstr "Milisegundos Máximos de Búsqueda Incremental" msgid "Tooltip Delay (sec)" msgstr "Retraso de Tooltip (sec)" @@ -501,6 +507,12 @@ msgstr "Descriptores Máximos por Grupo" msgid "D3D12" msgstr "D3D12" +msgid "Max Resource Descriptors" +msgstr "Descriptores Máximos de Recursos" + +msgid "Max Sampler Descriptors" +msgstr "Descriptores Máximos de Samplers" + msgid "Agility SDK Version" msgstr "Versión de SDK Agility" @@ -535,7 +547,7 @@ msgid "Enable Pan and Scale Gestures" msgstr "Activar Gestos de Paneo y Escala" msgid "Rotary Input Scroll Axis" -msgstr "Eje Desplazamiento Entrada Rotatoria" +msgstr "Eje Scroll Entrada Rotatoria" msgid "Override Volume Buttons" msgstr "Anular Botones de Volumen" @@ -829,7 +841,7 @@ msgid "Max Pending Connections" msgstr "Máximo de Conexiones Pendientes" msgid "Neighbor Filter Enabled" -msgstr "Filtro de Vecinos Habilitado" +msgstr "Filtro de Vecinos Activado" msgid "Region" msgstr "Región" @@ -844,7 +856,7 @@ msgid "Cell Shape" msgstr "Forma de la Celda" msgid "Jumping Enabled" -msgstr "Salto Habilitado" +msgstr "Salto Activado" msgid "Default Compute Heuristic" msgstr "Cálculo Heurístico Predeterminado" @@ -976,10 +988,10 @@ msgid "Stream" msgstr "Stream" msgid "Start Offset" -msgstr "Offset de Inicio" +msgstr "Desplazamiento de Inicio" msgid "End Offset" -msgstr "Offset Final" +msgstr "Desplazamiento de Fin" msgid "Easing" msgstr "Suavizar" @@ -1005,18 +1017,39 @@ msgstr "Sincronización de Puntos de Interrupción" msgid "Title" msgstr "Título" +msgid "Layout Key" +msgstr "Clave de Layout" + msgid "Global" msgstr "Global" msgid "Transient" msgstr "Transitorio" +msgid "Closable" +msgstr "Cerrable" + msgid "Icon Name" msgstr "Nombre del Ícono" +msgid "Dock Icon" +msgstr "Icono de Panel" + +msgid "Force Show Icon" +msgstr "Forzar Mostrar Icono" + msgid "Title Color" msgstr "Color del Título" +msgid "Dock Shortcut" +msgstr "Atajo de Panel" + +msgid "Default Slot" +msgstr "Espacio por Defecto" + +msgid "Available Layouts" +msgstr "Layouts Disponibles" + msgid "Distraction Free Mode" msgstr "Modo Sin Distracciones" @@ -1291,7 +1324,7 @@ msgid "Scale Mesh" msgstr "Escalar Mesh" msgid "Offset Mesh" -msgstr "Offset de Mesh" +msgstr "Malla de Desplazamiento" msgid "Force Disable Mesh Compression" msgstr "Forzar Desactivación de Compresión de Mesh" @@ -1647,6 +1680,12 @@ msgstr "Modo de Escalado" msgid "Delimiter" msgstr "Delimitador" +msgid "Unescape Keys" +msgstr "Claves Sin Escape" + +msgid "Unescape Translations" +msgstr "Traducciones Sin Escape" + msgid "Character Ranges" msgstr "Rangos de Caracter" @@ -1773,6 +1812,12 @@ msgstr "SVG" msgid "Editor" msgstr "Editor" +msgid "Scale with Editor Scale" +msgstr "Escalar con Escala del Editor" + +msgid "Convert Colors with Editor Theme" +msgstr "Convertir Colores con Tema del Editor" + msgid "Atlas File" msgstr "Archivo de Atlas" @@ -1969,6 +2014,9 @@ msgstr "Ajustes de Localización" msgid "Dock Tab Style" msgstr "Estilo de Pestañas del Dock" +msgid "Bottom Dock Tab Style" +msgstr "Estilo de Pestaña de Panel Inferior" + msgid "UI Layout Direction" msgstr "Orientación del Layout de la UI" @@ -2008,6 +2056,9 @@ msgstr "Tamaño de Fuente Principal" msgid "Code Font Size" msgstr "Tamaño de Fuente Código" +msgid "Main Font Custom OpenType Features" +msgstr "Características OpenType Personalizadas de la Fuente Principal" + msgid "Code Font Contextual Ligatures" msgstr "Ligaduras Contextuales en la Fuente de Código" @@ -2041,6 +2092,9 @@ msgstr "Fuente Principal En Negrita" msgid "Code Font" msgstr "Código Fuente" +msgid "Dragging Hover Wait Seconds" +msgstr "Segundos de Espera al Arrastrar" + msgid "Separate Distraction Mode" msgstr "Modo de Distracción Separado" @@ -2113,6 +2167,9 @@ msgstr "Mostrar Características de Bajo Nivel de OpenType" msgid "Float Drag Speed" msgstr "Velocidad de Arrastre Flotante" +msgid "Integer Drag Speed" +msgstr "Velocidad de Arrastre Entero" + msgid "Nested Color Mode" msgstr "Modo de Color Anidado" @@ -2161,6 +2218,9 @@ msgstr "Seguir Tema del Sistema" msgid "Style" msgstr "Estilo" +msgid "Color Preset" +msgstr "Preset de Color" + msgid "Spacing Preset" msgstr "Preconfiguración de Espaciado" @@ -2236,6 +2296,9 @@ msgstr "Mostrar Botón de Script" msgid "Restore Scenes on Load" msgstr "Restaurar Escenas al Cargar" +msgid "Auto Select Current Scene File" +msgstr "Seleccionar Automáticamente Archivo de Escena Actual" + msgid "Multi Window" msgstr "Múltiple Ventana" @@ -2287,6 +2350,9 @@ msgstr "Comprimir Recursos Binarios" msgid "Safe Save on Backup then Rename" msgstr "Guardar con Seguridad en una Copia de Respaldo y luego Renombrar" +msgid "Warn on Saving Large Text Resources" +msgstr "Advertir al Guardar Recursos de Texto Grandes" + msgid "File Server" msgstr "Servidor de Archivos" @@ -2314,6 +2380,9 @@ msgstr "Diálogo Abrir Rápido" msgid "Max Results" msgstr "Máximo Resultados" +msgid "Instant Preview" +msgstr "Vista Previa Instantánea" + msgid "Show Search Highlight" msgstr "Mostrar Búsqueda Resaltado" @@ -2504,13 +2573,13 @@ msgid "Move Caret on Right Click" msgstr "Mover el Cursor al Hacer Clic Derecho" msgid "Scroll Past End of File" -msgstr "Desplazarse más allá del Final del Archivo" +msgstr "Scroll más allá del Final del Archivo" msgid "Smooth Scrolling" -msgstr "Desplazamiento Suave" +msgstr "Scroll Suave" msgid "V Scroll Speed" -msgstr "Velocidad Desplazamiento V" +msgstr "Velocidad de Scroll V" msgid "Drag and Drop Selection" msgstr "Arrastrar y Soltar la Selección" @@ -2617,11 +2686,14 @@ msgstr "Completar" msgid "Idle Parse Delay" msgstr "Espera de Análisis Después de Inactividad" +msgid "Idle Parse Delay with Errors Found" +msgstr "Retraso de Análisis en Reposo con Errores Encontrados" + msgid "Auto Brace Complete" msgstr "Autocompletar Paréntesis" msgid "Code Complete Enabled" -msgstr "Completado de Código habilitado" +msgstr "Completado de Código Activado" msgid "Code Complete Delay" msgstr "Espera de Completado de Código" @@ -2767,6 +2839,9 @@ msgstr "Colisión de Hueso Muelle" msgid "Spring Bone Inside Collision" msgstr "Hueso Resorte Colisión Interior" +msgid "IK Chain" +msgstr "Cadena IK" + msgid "Gizmo Settings" msgstr "Configuración del Gizmo" @@ -2776,6 +2851,9 @@ msgstr "Longitud de Ejes del Hueso" msgid "Bone Shape" msgstr "Forma del Hueso" +msgid "Path3D Tilt Disk Size" +msgstr "Tamaño del Disco de Inclinación de Path3D" + msgid "Lightmap GI Probe Size" msgstr "Tamaño de Sonda de GI de Lightmap" @@ -2860,6 +2938,9 @@ msgstr "Inercia de Traslación" msgid "Zoom Inertia" msgstr "Inercia de Zoom" +msgid "Angle Snap Threshold" +msgstr "Umbral de Ajuste de Ángulo" + msgid "Show Viewport Rotation Gizmo" msgstr "Mostrar Gizmo de Rotación del Viewport" @@ -2893,6 +2974,9 @@ msgstr "Tamaño del Gizmo Manipulador" msgid "Manipulator Gizmo Opacity" msgstr "Opacidad del Gizmo Manipulador" +msgid "Show Gizmo During Rotation" +msgstr "Mostrar Gizmo Durante la Rotación" + msgid "Grid Color" msgstr "Color de Cuadrícula" @@ -2935,6 +3019,9 @@ msgstr "Factor de Velocidad de Zoom" msgid "Ruler Width" msgstr "Anchura de la Regla" +msgid "Auto Resample Delay" +msgstr "Retraso de Bake Automático" + msgid "Bone Mapper" msgstr "Mapeador de Hueso" @@ -3013,6 +3100,9 @@ msgstr "Crear Pistas Bézier Predeterminadas" msgid "Default Create Reset Tracks" msgstr "Crear Pistas de Reinicio Predeterminado" +msgid "Insert at Current Time" +msgstr "Insertar en Tiempo Actual" + msgid "Onion Layers Past Color" msgstr "Color de Capas de Cebolla Pasadas" @@ -3203,7 +3293,7 @@ msgid "Transform Color" msgstr "Color de Transformación" msgid "Sampler Color" -msgstr "Color de Muestra" +msgstr "Color de Sampler" msgid "Category Colors" msgstr "Colores de Categoría" @@ -3350,7 +3440,7 @@ msgid "Output Latency" msgstr "Latencia de Salida" msgid "Frame Delay Msec" -msgstr "Retraso de Fotograma en Msec" +msgstr "Milisegundos de Retraso de Fotogramas" msgid "Allow High Refresh Rate" msgstr "Permitir Alta Tasa de Refresco" @@ -3370,6 +3460,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "Versión de API de Target" + msgid "Default Action Map" msgstr "Mapa de Acción Predeterminado" @@ -3406,6 +3499,9 @@ msgstr "Utilidades de Depuración" msgid "Debug Message Types" msgstr "Tipos de Mensajes de Depuración" +msgid "Frame Synthesis" +msgstr "Síntesis de Fotogramas" + msgid "Hand Tracking" msgstr "Seguimiento de Mano" @@ -3418,6 +3514,36 @@ msgstr "Fuente de Datos para Seguimiento de Manos con Controlador" msgid "Hand Interaction Profile" msgstr "Interacción con la Ruta del Perfil" +msgid "Spatial Entity" +msgstr "Entidad Espacial" + +msgid "Enable Spatial Anchors" +msgstr "Activar Anclajes Espaciales" + +msgid "Enable Persistent Anchors" +msgstr "Activar Anclajes Persistentes" + +msgid "Enable Builtin Anchor Detection" +msgstr "Activar Detección de Anclajes Incorporada" + +msgid "Enable Plane Tracking" +msgstr "Activar Seguimiento de Planos" + +msgid "Enable Builtin Plane Detection" +msgstr "Activar Detección de Planos Incorporada" + +msgid "Enable Marker Tracking" +msgstr "Activar Seguimiento de Marcadores" + +msgid "Enable Builtin Marker Tracking" +msgstr "Activar Seguimiento de Marcadores Incorporado" + +msgid "Aruco Dict" +msgstr "Diccionario Aruco" + +msgid "April Tag Dict" +msgstr "Diccionario April Tag" + msgid "Eye Gaze Interaction" msgstr "Interacción por Mirada" @@ -3476,7 +3602,7 @@ msgid "Custom Image Hotspot" msgstr "Imagen personalizada para el Hotspot" msgid "Tooltip Position Offset" -msgstr "Desplazamiento de Posición del Tooltip" +msgstr "Desplazamiento de Posición de Tooltip" msgid "Show Image" msgstr "Mostrar Imagen" @@ -3850,6 +3976,9 @@ msgstr "Descarga Estática Redundante" msgid "Redundant Await" msgstr "Espera Redundante" +msgid "Missing Await" +msgstr "Await Faltante" + msgid "Assert Always True" msgstr "Aserción Siempre Verdadera" @@ -4040,7 +4169,7 @@ msgid "Root Nodes" msgstr "Nodos Raíz" msgid "Texture Samplers" -msgstr "Muestreadores de Textura" +msgstr "Samplers de Textura" msgid "Images" msgstr "Imágenes" @@ -4066,11 +4195,14 @@ msgstr "Crear Animaciónes" msgid "Animations" msgstr "Animaciones" +msgid "Handle Binary Image Mode" +msgstr "Manejar Modo de Imagen Binaria" + msgid "Buffer View" msgstr "Vista del Búfer" msgid "Byte Offset" -msgstr "Offset de Byte" +msgstr "Desplazamiento de Bytes" msgid "Component Type" msgstr "Tipo de Componente" @@ -4097,7 +4229,7 @@ msgid "Sparse Indices Buffer View" msgstr "Vista del Búfer de Índices Dispersos" msgid "Sparse Indices Byte Offset" -msgstr "Índices Dispersos del Offset de Bytes" +msgstr "Desplazamiento de Bytes de Índices Dispersos" msgid "Sparse Indices Component Type" msgstr "Índices Dispersos de Tipo de Componente" @@ -4106,7 +4238,7 @@ msgid "Sparse Values Buffer View" msgstr "Vista del Búfer de Valores Dispersos" msgid "Sparse Values Byte Offset" -msgstr "Valores Dispersos del Offset de Bytes" +msgstr "Desplazamiento de Bytes de Valores Dispersos" msgid "Original Name" msgstr "Nombre Original" @@ -4211,7 +4343,7 @@ msgid "Src Image" msgstr "Origen de la Imagen" msgid "Sampler" -msgstr "Muestreador" +msgstr "Sampler" msgid "Mag Filter" msgstr "Filtro Mag" @@ -4436,7 +4568,7 @@ msgid "Display to Lens" msgstr "Pantalla a Lente" msgid "Offset Rect" -msgstr "Desplazamiento del Rect" +msgstr "Rect de Desplazamiento" msgid "Oversample" msgstr "Sobremuestreo" @@ -4463,7 +4595,7 @@ msgid "Bar Beats" msgstr "Compases y Tiempos" msgid "Loop Offset" -msgstr "Offset de Loop" +msgstr "Desplazamiento de Bucle" msgid "Spawn Path" msgstr "Ruta del Generador" @@ -4630,6 +4762,9 @@ msgstr "Activado Háptico" msgid "Off Haptic" msgstr "Desactivado Háptico" +msgid "Relax Frame Interval" +msgstr "Relajar Intervalo de Fotogramas" + msgid "On Threshold" msgstr "Umbral Alcanzado" @@ -4642,6 +4777,27 @@ msgstr "UUID" msgid "Entity" msgstr "Entidad" +msgid "Spatial Tracking State" +msgstr "Estado de Seguimiento Espacial" + +msgid "April Dict" +msgstr "Diccionario April" + +msgid "Bounds Size" +msgstr "Tamaño de Límites" + +msgid "Marker Type" +msgstr "Tipo de Marcador" + +msgid "Marker ID" +msgstr "ID de Marcador" + +msgid "Plane Alignment" +msgstr "Alineación del Plano" + +msgid "Plane Label" +msgstr "Etiqueta de Plano" + msgid "Display Refresh Rate" msgstr "Mostrar Tasa de Refresco" @@ -4657,6 +4813,9 @@ msgstr "Viewport de Capa" msgid "Use Android Surface" msgstr "Usar Superficie de Android" +msgid "Protected Content" +msgstr "Contexto Protegido" + msgid "Android Surface Size" msgstr "Tamaño de la Superficie de Android" @@ -4846,6 +5005,21 @@ msgstr "Ruta del SDK de Java" msgid "Android SDK Path" msgstr "Ruta del Android SDK" +msgid "scrcpy" +msgstr "scrcpy" + +msgid "Virtual Display" +msgstr "Visualización Virtual" + +msgid "No Decorations" +msgstr "Sin Decoraciones" + +msgid "Local IME" +msgstr "IME Local" + +msgid "Screen Size" +msgstr "Tamaño de Pantalla" + msgid "Force System User" msgstr "Forzar Usuario del Sistema" @@ -4880,7 +5054,7 @@ msgid "Gradle Build" msgstr "Construcción de Gradle" msgid "Use Gradle Build" -msgstr "Usar Construcción de Gradle" +msgstr "Usar Gradle Build" msgid "Gradle Build Directory" msgstr "Directorio de Construcción de Gradle" @@ -5113,9 +5287,15 @@ msgstr "macOS" msgid "rcodesign" msgstr "rcodesign" +msgid "actool" +msgstr "actool" + msgid "Distribution Type" msgstr "Tipo de Distribución" +msgid "Liquid Glass Icon" +msgstr "Icono de Liquid Glass" + msgid "Copyright Localized" msgstr "Derechos de Autor Localizados" @@ -5549,10 +5729,10 @@ msgid "Vertical Enabled" msgstr "Vertical Activada" msgid "Horizontal Offset" -msgstr "Ajuste Horizontal" +msgstr "Desplazamiento Horizontal" msgid "Vertical Offset" -msgstr "Ajuste Vertical" +msgstr "Desplazamiento Vertical" msgid "Left Margin" msgstr "Margen Izquierdo" @@ -5768,13 +5948,13 @@ msgid "Speed Curve" msgstr "Curva de Velocidad" msgid "Offset Min" -msgstr "Ajuste Mínimo" +msgstr "Desplazamiento Mín" msgid "Offset Max" -msgstr "Ajuste Máximo" +msgstr "Desplazamiento Máx" msgid "Offset Curve" -msgstr "Curva de Offset" +msgstr "Curva de Desplazamiento" msgid "Amount Ratio" msgstr "Proporción de Cantidad" @@ -6008,10 +6188,10 @@ msgid "Skew" msgstr "Sesgo" msgid "Scroll Scale" -msgstr "Escala de Desplazamiento" +msgstr "Escala de Scroll" msgid "Scroll Offset" -msgstr "Offset de Scroll" +msgstr "Desplazamiento de Scroll" msgid "Repeat" msgstr "Repetir" @@ -6020,7 +6200,7 @@ msgid "Repeat Size" msgstr "Repetir Tamaño" msgid "Autoscroll" -msgstr "Desplazamiento Automático" +msgstr "Scroll Automático" msgid "Repeat Times" msgstr "Veces de Repetición" @@ -6035,7 +6215,7 @@ msgid "Follow Viewport" msgstr "Seguir el Viewport" msgid "Ignore Camera Scroll" -msgstr "Ignorar Desplazamiento de Cámara" +msgstr "Ignorar Scroll de Cámara" msgid "Screen Offset" msgstr "Desplazamiento de Pantalla" @@ -6044,7 +6224,7 @@ msgid "Scroll" msgstr "Scroll" msgid "Base Offset" -msgstr "Offset Base" +msgstr "Desplazamiento Base" msgid "Limit Begin" msgstr "Inicio del Límite" @@ -6071,10 +6251,10 @@ msgid "Progress Ratio" msgstr "Tasa de Progreso" msgid "H Offset" -msgstr "Offset H" +msgstr "Desplazamiento H" msgid "V Offset" -msgstr "Ajuste V" +msgstr "Desplazamiento V" msgid "Rotates" msgstr "Rotar" @@ -6188,7 +6368,7 @@ msgid "Stiffness" msgstr "Rigidez" msgid "Initial Offset" -msgstr "Offset Inicial" +msgstr "Desplazamiento Inicial" msgid "Node A" msgstr "Nodo A" @@ -6390,7 +6570,7 @@ msgid "Frame Coords" msgstr "Coordenadas del Marco" msgid "Filter Clip Enabled" -msgstr "Filtrado de Clips Habilitado" +msgstr "Filtrado de Clips Activado" msgid "Tile Set" msgstr "Tile Set" @@ -6485,6 +6665,9 @@ msgstr "Usar Esqueleto Externo" msgid "External Skeleton" msgstr "Esqueleto Externo" +msgid "Mutable Bone Axes" +msgstr "Ejes de Hueso Mutables" + msgid "Keep Aspect" msgstr "Mantener aspecto" @@ -6501,7 +6684,7 @@ msgid "Projection" msgstr "Proyección" msgid "Frustum Offset" -msgstr "Offset de Frustum" +msgstr "Desplazamiento de Frustum" msgid "Near" msgstr "Cercano" @@ -6589,7 +6772,7 @@ msgid "Thickness" msgstr "Espesor" msgid "Bake Mask" -msgstr "Máscara de Procesado" +msgstr "Máscara de Bakeo" msgid "Update Mode" msgstr "Modo de Actualización" @@ -6627,6 +6810,9 @@ msgstr "Iteraciones Máximas" msgid "Min Distance" msgstr "Distancia Mínima" +msgid "Angular Delta Limit" +msgstr "Límite de Delta Angular" + msgid "Deterministic" msgstr "Determinista" @@ -6867,6 +7053,9 @@ msgstr "Datos de Iluminación" msgid "Exclude" msgstr "Excluir" +msgid "Chains" +msgstr "Cadenas" + msgid "Target Node" msgstr "Nodo Objetivo" @@ -6946,7 +7135,7 @@ msgid "Surface Material Override" msgstr "Anulación de Material de Superficie" msgid "Path Height Offset" -msgstr "Compensación de Altura del Camino" +msgstr "Desplazamiento de Altura de Ruta" msgid "Use 3D Avoidance" msgstr "Usar Evasión 3D" @@ -7189,7 +7378,7 @@ msgid "Angular Equilibrium Point" msgstr "Punto de Equilibrio Angular" msgid "Body Offset" -msgstr "Offset del Cuerpo" +msgstr "Desplazamiento de Cuerpo" msgid "Friction" msgstr "Fricción" @@ -7309,7 +7498,7 @@ msgid "Blend Distance" msgstr "Distancia de Mezcla" msgid "Origin Offset" -msgstr "Offset de Origen" +msgstr "Desplazamiento de Origen" msgid "Box Projection" msgstr "Proyección de Cajas" @@ -7491,6 +7680,9 @@ msgstr "Curva de Fundido de Salida" msgid "Break Loop at End" msgstr "Romper Loop al Final" +msgid "Abort on Reset" +msgstr "Abortar al Reiniciar" + msgid "Auto Restart" msgstr "Reinicio Automático" @@ -7716,6 +7908,9 @@ msgstr "Dibujar Números de Línea" msgid "Zero Pad Line Numbers" msgstr "Completar con Ceros los Números de Línea" +msgid "Line Numbers Min Digits" +msgstr "Dígitos Mínimos de Números de Línea" + msgid "Draw Fold Gutter" msgstr "Mostrar Margen de Plegado" @@ -7774,7 +7969,7 @@ msgid "Customization" msgstr "Personalización" msgid "Sampler Visible" -msgstr "Muestreador Visible" +msgstr "Sampler Visible" msgid "Color Modes Visible" msgstr "Modos de Color Visibles" @@ -7819,13 +8014,16 @@ msgid "Anchor Points" msgstr "Puntos de Anclaje" msgid "Anchor Offsets" -msgstr "Ajuste de Anclaje" +msgstr "Desplazamientos de Anclaje" msgid "Grow Direction" msgstr "Dirección de Crecimiento" msgid "Pivot Offset" -msgstr "Pivote de Offset" +msgstr "Desplazamiento de Pivote" + +msgid "Pivot Offset Ratio" +msgstr "Relación de Desplazamiento de Pivote" msgid "Container Sizing" msgstr "Dimensionamiento del Contenedor" @@ -7870,7 +8068,7 @@ msgid "Mouse" msgstr "Ratón" msgid "Force Pass Scroll Events" -msgstr "Forzar el Pasaje de Eventos de Desplazamiento" +msgstr "Forzar Paso de Eventos de Scroll" msgid "Default Cursor Shape" msgstr "Forma del Cursor Predeterminado" @@ -7957,7 +8155,13 @@ msgid "Recent List Enabled" msgstr "Lista Reciente Habilitada" msgid "Layout Toggle Enabled" -msgstr "Layout Habilitado" +msgstr "Layout Activado" + +msgid "Overwrite Warning Enabled" +msgstr "Aviso de Sobrescritura Activado" + +msgid "Deleting Enabled" +msgstr "Eliminación Activada" msgid "Last Wrap Alignment" msgstr "Alineación del Último Ajuste" @@ -7990,7 +8194,7 @@ msgid "Show Grid" msgstr "Mostrar Cuadrícula" msgid "Snapping Enabled" -msgstr "Ajuste a grilla habilitado" +msgstr "Ajuste Activado" msgid "Snapping Distance" msgstr "Ajustar a distancia" @@ -8049,6 +8253,9 @@ msgstr "Arrastrable" msgid "Selected" msgstr "Seleccionado" +msgid "Scaling Menus" +msgstr "Escalado de Menús" + msgid "Autoshrink Enabled" msgstr "Autoshrink Activado" @@ -8068,7 +8275,7 @@ msgid "Ignore Invalid Connection Type" msgstr "Ignorar Tipo de Conexión Inválido" msgid "Slots Focus Mode" -msgstr "Modo de Enfoque de Ranuras" +msgstr "Modo de Enfoque de Espacios" msgid "Select Mode" msgstr "Modo de Selección" @@ -8077,7 +8284,7 @@ msgid "Allow Reselect" msgstr "Permitir Reselección" msgid "Allow RMB Select" -msgstr "Permitir Selección Con Botón Derecho Del Mouse" +msgstr "Permitir Seleccionar con Botón Derecho del Ratón" msgid "Allow Search" msgstr "Permitir Búsqueda" @@ -8094,6 +8301,12 @@ msgstr "Altura Automática" msgid "Wraparound Items" msgstr "Ítems Envolventes" +msgid "Scroll Hint Mode" +msgstr "Modo de Sugerencia de Scroll" + +msgid "Tile Scroll Hint" +msgstr "Sugerencia de Scroll de Tile" + msgid "Items" msgstr "Ítems" @@ -8190,6 +8403,12 @@ msgstr "Dibujar Caracteres de Control" msgid "Select All on Focus" msgstr "Seleccionar todos al Enfocar" +msgid "Virtual Keyboard" +msgstr "Teclado Virtual" + +msgid "Show on Focus" +msgstr "Mostrar al Enfocar" + msgid "Blink" msgstr "Parpardeo" @@ -8214,6 +8433,12 @@ msgstr "Carácter" msgid "Right Icon" msgstr "Ícono Derecho" +msgid "Icon Expand Mode" +msgstr "Modo de Expansión de Icono" + +msgid "Right Icon Scale" +msgstr "Escala de Icono Derecho" + msgid "Underline" msgstr "Subrayar" @@ -8262,6 +8487,12 @@ msgstr "ID del menú del sistema" msgid "Prefer Native Menu" msgstr "Preferir Menú Nativo" +msgid "Shrink Height" +msgstr "Reducir Altura" + +msgid "Shrink Width" +msgstr "Reducir Anchura" + msgid "Fill Mode" msgstr "Modo de Relleno" @@ -8323,7 +8554,7 @@ msgid "Relative Index" msgstr "Índice Relativo" msgid "BBCode Enabled" -msgstr "BBCode Habilitado" +msgstr "BBCode Activado" msgid "Fit Content" msgstr "Ajustar al Contenido" @@ -8335,7 +8566,7 @@ msgid "Scroll Following" msgstr "Seguir el Scroll" msgid "Scroll Following Visible Characters" -msgstr "Desplazamiento Siguiendo Caracteres Visibles" +msgstr "Scroll Siguiendo Caracteres Visibles" msgid "Tab Size" msgstr "Tamaño de Tabulación" @@ -8370,20 +8601,38 @@ msgstr "Seguir Focus" msgid "Draw Focus Border" msgstr "Dibujar Borde de Enfoque" +msgid "Scrollbar" +msgstr "Barra de Scroll" + +msgid "Scroll Horizontal" +msgstr "Scroll Horizontal" + +msgid "Scroll Vertical" +msgstr "Scroll Vertical" + +msgid "Scroll Horizontal Custom Step" +msgstr "Paso Personalizado de Scroll Horizontal" + +msgid "Scroll Vertical Custom Step" +msgstr "Paso Personalizado de Scroll Vertical" + msgid "Horizontal Scroll Mode" -msgstr "Modo de Desplazamiento Horizontal" +msgstr "Modo de Scroll Horizontal" msgid "Vertical Scroll Mode" -msgstr "Modo de Desplazamiento Vertical" +msgstr "Modo de Scroll Vertical" msgid "Scroll Deadzone" -msgstr "Zona Muerta de Desplazamiento" +msgstr "Zona Muerta de Scroll" + +msgid "Scroll Hint" +msgstr "Sugerencia de Scroll" msgid "Default Scroll Deadzone" msgstr "Zona Muerta Predeterminada del Scroll" msgid "Scrollable" -msgstr "Desplazable" +msgstr "Con Scroll" msgid "Tick Count" msgstr "Contador de Marcas" @@ -8400,6 +8649,12 @@ msgstr "Actualizar al Cambiar el Texto" msgid "Custom Arrow Step" msgstr "Paso de Flecha Personalizado" +msgid "Custom Arrow Round" +msgstr "Redondeo de Flecha Personalizado" + +msgid "Split Offsets" +msgstr "Desplazamientos de División" + msgid "Collapsed" msgstr "Colapsado" @@ -8410,7 +8665,7 @@ msgid "Dragger Visibility" msgstr "Visibilidad de los Arrastradores" msgid "Touch Dragger Enabled" -msgstr "Dragger Táctil Habilitado" +msgstr "Dragger Táctil Activado" msgid "Drag Area" msgstr "Área de Arrastre" @@ -8425,7 +8680,7 @@ msgid "Highlight in Editor" msgstr "Resaltar en el Editor" msgid "Split Offset" -msgstr "Offset de División" +msgstr "Desplazamiento de División" msgid "Stretch Shrink" msgstr "Encogimiento por Estiramiento" @@ -8442,6 +8697,9 @@ msgstr "Alineamiento de Pestaña" msgid "Clip Tabs" msgstr "Pestañas Recortadas" +msgid "Close with Middle Mouse" +msgstr "Cerrar con Botón Central del Ratón" + msgid "Tab Close Display Policy" msgstr "Política de Botón de Cerrar Pestaña" @@ -8449,19 +8707,25 @@ msgid "Max Tab Width" msgstr "Ancho Máximo de Pestaña" msgid "Scrolling Enabled" -msgstr "Desplazamiento Activado" +msgstr "Scroll Activado" msgid "Drag to Rearrange Enabled" -msgstr "Arrastrar para Reorganizar Habilitado" +msgstr "Arrastrar para Reorganizar Activado" + +msgid "Switch on Drag Hover" +msgstr "Cambiar al Arrastrar y Mantener" msgid "Tabs Rearrange Group" msgstr "Pestañas de Grupo de Reorganización" msgid "Scroll to Selected" -msgstr "Deslizar al Seleccionar" +msgstr "Scroll a Seleccionado" + +msgid "Select with RMB" +msgstr "Seleccionar con Botón Derecho del Ratón" msgid "Deselect Enabled" -msgstr "Deseleccionar Habilitado" +msgstr "Deseleccionar Activado" msgid "Tabs" msgstr "Pestañas" @@ -8511,6 +8775,9 @@ msgstr "Mover Con Clic Derecho" msgid "Multiple" msgstr "Múltiple" +msgid "Word Separators" +msgstr "Separadores de Palabras" + msgid "Syntax Highlighter" msgstr "Resaltador de Sintaxis" @@ -8555,7 +8822,7 @@ msgid "Fill Degrees" msgstr "Completar Grados" msgid "Center Offset" -msgstr "Offset Central" +msgstr "Desplazamiento Central" msgid "Nine Patch Stretch" msgstr "Estiramiento de Nine Patch" @@ -8570,7 +8837,7 @@ msgid "Over" msgstr "Sobre" msgid "Progress Offset" -msgstr "Offset de Progreso" +msgstr "Desplazamiento de Progreso" msgid "Tint" msgstr "Tinte" @@ -8590,6 +8857,9 @@ msgstr "Plegado de Pieles" msgid "Enable Recursive Folding" msgstr "Habilitar Plegado Recursivo" +msgid "Enable Drag Unfolding" +msgstr "Activar Despliegue por Arrastre" + msgid "Hide Root" msgstr "Ocultar Raíz" @@ -8600,10 +8870,10 @@ msgid "Auto Tooltip" msgstr "Tooltip Automático" msgid "Scroll Horizontal Enabled" -msgstr "Deslizamiento Horizontal Habilitado" +msgstr "Scroll Horizontal Activado" msgid "Scroll Vertical Enabled" -msgstr "Deslizamiento Vertical Habilitado" +msgstr "Scroll Vertical Activado" msgid "Audio Track" msgstr "Pista de Audio" @@ -8615,7 +8885,7 @@ msgid "Expand" msgstr "Expandir" msgid "Buffering Msec" -msgstr "Msec del Búfer" +msgstr "Milisegundos de Almacenamiento en Búfer" msgid "Self Modulate" msgstr "Modulación Automática" @@ -8642,7 +8912,7 @@ msgid "Z as Relative" msgstr "Z Como Relativo" msgid "Y Sort Enabled" -msgstr "Orden Y Habilitado" +msgstr "Orden Y Activado" msgid "Use Parent Material" msgstr "Usar el material del padre" @@ -8953,6 +9223,9 @@ msgstr "Modo de Limpieza" msgid "Current Screen" msgstr "Pantalla Actual" +msgid "Nonclient Area" +msgstr "Área No Cliente" + msgid "Mouse Passthrough Polygon" msgstr "Polígono de Paso de Ratón" @@ -9050,7 +9323,7 @@ msgid "Baking Rect" msgstr "Bakear Rect" msgid "Baking Rect Offset" -msgstr "Desplazamiento de Rect Bakeado" +msgstr "Desplazamiento de Rect de Baking" msgid "A" msgstr "A" @@ -9170,7 +9443,7 @@ msgid "Tile Layout" msgstr "Distribución de Tile" msgid "Tile Offset Axis" -msgstr "Eje de Ajuste de Tile" +msgstr "Eje de Desplazamiento de Tile" msgid "Tile Size" msgstr "Tamaño de Tile" @@ -9434,7 +9707,7 @@ msgid "DOF Blur" msgstr "Desenfoque DOF" msgid "Far Enabled" -msgstr "Lejano Habilitado" +msgstr "Lejos Activado" msgid "Far Distance" msgstr "Distancia Lejana" @@ -9443,7 +9716,7 @@ msgid "Far Transition" msgstr "Transición Lejana" msgid "Near Enabled" -msgstr "Cercano Habilitado" +msgstr "Cerca Activado" msgid "Near Distance" msgstr "Distancia Cercana" @@ -9577,6 +9850,12 @@ msgstr "Tonemap" msgid "White" msgstr "Blanco" +msgid "Agx White" +msgstr "Blanco AgX" + +msgid "Agx Contrast" +msgstr "Contraste AgX" + msgid "SSR" msgstr "SSR" @@ -9788,7 +10067,7 @@ msgid "Raw Data" msgstr "Datos en Crudo" msgid "Offsets" -msgstr "Offsets" +msgstr "Desplazamientos" msgid "Use HDR" msgstr "Usar HDR" @@ -10088,7 +10367,7 @@ msgid "Baking AABB" msgstr "Bakear AABB" msgid "Baking AABB Offset" -msgstr "Bakear Offset AABB" +msgstr "Desplazamiento de AABB de Baking" msgid "Damping as Friction" msgstr "Amortiguación como Fricción" @@ -10097,7 +10376,7 @@ msgid "Spawn" msgstr "Spawn" msgid "Emission Shape Offset" -msgstr "Desplazamiento Forma de Emisión" +msgstr "Desplazamiento de Forma de Emisión" msgid "Emission Shape Scale" msgstr "Escala Forma de Emisión" @@ -10345,6 +10624,9 @@ msgstr "Nombre del Parámetro" msgid "Qualifier" msgstr "Calificador" +msgid "Instance Index" +msgstr "Índice de Instancia" + msgid "Autoshrink" msgstr "Autoreducir" @@ -10466,7 +10748,7 @@ msgid "Pressed Mirrored" msgstr "Presionado Reflejado" msgid "Disabled Mirrored" -msgstr "Deshabilitado Reflejado" +msgstr "Desactivar Reflejado" msgid "Arrow" msgstr "Flecha" @@ -10502,7 +10784,7 @@ msgid "Radio Unchecked Disabled" msgstr "Radio Desmarcado Desactivado" msgid "Check V Offset" -msgstr "Ajuste V del Indicador" +msgstr "Desplazamiento V de Casilla" msgid "Checkbox Checked Color" msgstr "Color de Casilla Marcada" @@ -10532,10 +10814,10 @@ msgid "Font Shadow Color" msgstr "Color de Sombra de la Fuente" msgid "Shadow Offset X" -msgstr "Offset de Sombra en X" +msgstr "Desplazamiento X de Sombra" msgid "Shadow Offset Y" -msgstr "Offset de Sombra en Y" +msgstr "Desplazamiento Y de Sombra" msgid "Shadow Outline Size" msgstr "Tamaño de Contorno de la Sombra" @@ -10591,6 +10873,9 @@ msgstr "Color del Resultado de Búsqueda" msgid "Search Result Border Color" msgstr "Color de los Bordes del Resultado de Búsqueda" +msgid "Wrap Offset" +msgstr "Desplazamiento de Ajuste" + msgid "Breakpoint" msgstr "Punto de Ruptura" @@ -10625,10 +10910,10 @@ msgid "Completion Existing Color" msgstr "Completar Color Existente" msgid "Completion Scroll Color" -msgstr "Completar Color de Scroll" +msgstr "Color de Scroll de Completado" msgid "Completion Scroll Hovered Color" -msgstr "Color de Resaltado al Desplazamiento Completado" +msgstr "Color de Scroll de Completado al Pasar el Ratón" msgid "Bookmark Color" msgstr "Color del Marcador" @@ -10661,7 +10946,7 @@ msgid "Completion Max Width" msgstr "Completar Ancho Máximo" msgid "Completion Scroll Width" -msgstr "Completar Ancho de Scroll" +msgstr "Anchura de Scroll de Completado" msgid "Scroll Focus" msgstr "Enfoque de Scroll" @@ -10703,7 +10988,7 @@ msgid "Grabber Area Highlight" msgstr "Resaltado de Área del Selector" msgid "Grabber Disabled" -msgstr "Selector Deshabilitado" +msgstr "Tirador Desactivado" msgid "Tick" msgstr "Marcar" @@ -10712,10 +10997,10 @@ msgid "Center Grabber" msgstr "Selector Central" msgid "Grabber Offset" -msgstr "Desplazamiento del Selector" +msgstr "Desplazamiento de Tirador" msgid "Tick Offset" -msgstr "Desplazamiento de Marcas" +msgstr "Desplazamiento de Marca" msgid "Updown" msgstr "Reducción" @@ -10730,7 +11015,7 @@ msgid "Up Pressed" msgstr "Arriba Presionado" msgid "Up Disabled" -msgstr "Arriba Deshabilitado" +msgstr "Arriba Desactivado" msgid "Down" msgstr "Abajo" @@ -10742,7 +11027,7 @@ msgid "Down Pressed" msgstr "Abajo Presionado" msgid "Down Disabled" -msgstr "Abajo Deshabilitado" +msgstr "Abajo Desactivado" msgid "Up Background" msgstr "Fondo de Arriba" @@ -10754,7 +11039,7 @@ msgid "Up Background Pressed" msgstr "Fondo de Arriba Presionado" msgid "Up Background Disabled" -msgstr "Fondo de Arriba Deshabilitado" +msgstr "Fondo de Arriba Desactivado" msgid "Down Background" msgstr "Fondo de Abajo" @@ -10766,7 +11051,7 @@ msgid "Down Background Pressed" msgstr "Fondo de Abajo Presionado" msgid "Down Background Disabled" -msgstr "Fondo de Abajo Deshabilitado" +msgstr "Fondo de Abajo Desactivado" msgid "Up Icon Modulate" msgstr "Modulación del Ícono de Subida" @@ -10778,7 +11063,7 @@ msgid "Up Pressed Icon Modulate" msgstr "Modulación del Ícono de Subida Presionado" msgid "Up Disabled Icon Modulate" -msgstr "Modulación del Ícono de Arriba Deshabilitado" +msgstr "Modulación del Ícono de Arriba Desactivado" msgid "Down Icon Modulate" msgstr "Modulación del Ícono de Bajada" @@ -10790,7 +11075,7 @@ msgid "Down Pressed Icon Modulate" msgstr "Modulación del Ícono de Abajo Presionado" msgid "Down Disabled Icon Modulate" -msgstr "Modulación del Ícono de Abajo Deshabilitado" +msgstr "Modulación del Ícono de Abajo Desactivado" msgid "Field and Buttons Separator" msgstr "Separador de Campo y Botones" @@ -10810,6 +11095,18 @@ msgstr "Ancho de los Botones" msgid "Set Min Buttons Width From Icons" msgstr "Establecer Ancho Mínimo de Botones a Partir de Íconos" +msgid "Scroll Hint Vertical" +msgstr "Sugerencia de Scroll Vertical" + +msgid "Scroll Hint Horizontal" +msgstr "Sugerencia de Scroll Horizontal" + +msgid "Scroll Hint Vertical Color" +msgstr "Color de Sugerencia de Scroll Vertical" + +msgid "Scroll Hint Horizontal Color" +msgstr "Color de Sugerencia de Scroll Horizontal" + msgid "Embedded Border" msgstr "Borde Enbebido" @@ -10841,10 +11138,10 @@ msgid "Close Pressed" msgstr "Cerrar Presionado" msgid "Close H Offset" -msgstr "Cerrar Offset H" +msgstr "Desplazamiento H de Cierre" msgid "Close V Offset" -msgstr "Ajuste V de Cerrar" +msgstr "Desplazamiento V de Cierre" msgid "Buttons Separation" msgstr "Separación de Botones" @@ -10910,7 +11207,7 @@ msgid "File Icon Color" msgstr "Color de Ícono de Archivo" msgid "File Disabled Color" -msgstr "Color de Archivos Deshabilitado" +msgstr "Color de Archivo Desactivado" msgid "Separator" msgstr "Separador" @@ -10954,6 +11251,9 @@ msgstr "Relleno de Inicio del Ítem" msgid "Item End Padding" msgstr "Relleno de Fin del Ítem" +msgid "Gutter Compact" +msgstr "Canal Compacto" + msgid "Panel Selected" msgstr "Panel Seleccionado" @@ -10967,10 +11267,10 @@ msgid "Titlebar Selected" msgstr "Barra de Título Seleccionada" msgid "Slot" -msgstr "Ranura" +msgstr "Espacio" msgid "Slot Selected" -msgstr "Ranura Seleccionada" +msgstr "Espacio Seleccionado" msgid "Resizer" msgstr "Reajuste" @@ -10979,7 +11279,7 @@ msgid "Resizer Color" msgstr "Cambiar Color" msgid "Port H Offset" -msgstr "Desplazamiento H del Puerto" +msgstr "Desplazamiento H de Puerto" msgid "Hovered" msgstr "Señalado" @@ -11071,6 +11371,9 @@ msgstr "Color de la Línea de Resaltado del Hijo" msgid "Custom Button Font Highlight" msgstr "Fuente Personalizada de Botón Resaltado" +msgid "Scroll Hint Color" +msgstr "Color de Sugerencia de Scroll" + msgid "Item Margin" msgstr "Margen del Ítem" @@ -11086,6 +11389,12 @@ msgstr "Margen Derecho del Ítem Interno" msgid "Inner Item Margin Top" msgstr "Margen Superior del Ítem Interno" +msgid "Check H Separation" +msgstr "Separación Horizontal de Casilla" + +msgid "Icon H Separation" +msgstr "Separación Horizontal de Icono" + msgid "Button Margin" msgstr "Margen del Botón" @@ -11104,6 +11413,9 @@ msgstr "Margen de Linea HL del Padre" msgid "Draw Guides" msgstr "Guías de Dibujo" +msgid "Dragging Unfold Wait Msec" +msgstr "Milisegundos de Espera para Desplegar al Arrastrar" + msgid "Scroll Border" msgstr "Borde del Scroll" @@ -11111,22 +11423,22 @@ msgid "Scroll Speed" msgstr "Velocidad del Scroll" msgid "Scrollbar Margin Left" -msgstr "Margen Izquierdo de Barra de Desplazamiento" +msgstr "Margen Izquierdo de Barra de Scroll" msgid "Scrollbar Margin Top" -msgstr "Margen Superior de Barra de Desplazamiento" +msgstr "Margen Superior de Barra de Scroll" msgid "Scrollbar Margin Right" -msgstr "Margen Derecho de Barra de Desplazamiento" +msgstr "Margen Derecho de Barra de Scroll" msgid "Scrollbar Margin Bottom" -msgstr "Margen Inferior de Barra de Desplazamiento" +msgstr "Margen Inferior de Barra de Scroll" msgid "Scrollbar H Separation" -msgstr "Separación H de Barra de Desplazamiento" +msgstr "Separación H de Barra de Scroll" msgid "Scrollbar V Separation" -msgstr "Separación V de Barra de Desplazamiento" +msgstr "Separación V de Barra de Scroll" msgid "Icon Margin" msgstr "Margen del Ícono" @@ -11161,6 +11473,15 @@ msgstr "Color de Fuente No Seleccionado" msgid "Drop Mark Color" msgstr "Color de Marcador de Soltar" +msgid "Icon Selected Color" +msgstr "Color de Icono Seleccionado" + +msgid "Icon Hovered Color" +msgstr "Color de Icono al Pasar el Ratón" + +msgid "Icon Unselected Color" +msgstr "Color de Icono No Seleccionado" + msgid "Side Margin" msgstr "Margen Lateral" @@ -11170,6 +11491,9 @@ msgstr "Separación de Ícono" msgid "Button Highlight" msgstr "Resaltado de Botón" +msgid "Hover Switch Wait Msec" +msgstr "Milisegundos de Espera para Cambiar al Pasar el Ratón" + msgid "SV Width" msgstr "Ancho SV" @@ -11479,8 +11803,11 @@ msgstr "Escala de Velocidad de Reproducción" msgid "Playback Mode" msgstr "Modo de Reproducción" +msgid "Random Pitch Semitones" +msgstr "Semitonos de Tono Aleatorio" + msgid "Random Volume Offset dB" -msgstr "Ajuste dB del Volúmen Aleatorio" +msgstr "Desplazamiento de Volumen Aleatorio dB" msgid "Streams" msgstr "Flujos" @@ -11579,7 +11906,7 @@ msgid "Predelay" msgstr "Retraso" msgid "Msec" -msgstr "Mseg" +msgstr "Milisegundos" msgid "Room Size" msgstr "Tamaño de Habitación" @@ -11620,6 +11947,9 @@ msgstr "Modo Altavoz" msgid "Video Quality" msgstr "Calidad de Video" +msgid "Audio Bit Depth" +msgstr "Profundidad de Bits de Audio" + msgid "OGV" msgstr "OGV" @@ -11681,10 +12011,10 @@ msgid "Geometry Face Color" msgstr "Color de la Cara de la Geometría" msgid "Geometry Edge Disabled Color" -msgstr "Color Deshabilitado del Borde de la Geometría" +msgstr "Color de Borde de Geometry Desactivado" msgid "Geometry Face Disabled Color" -msgstr "Color Deshabilitado de la Cara de la Geometria" +msgstr "Color de Cara de Geometry Desactivado" msgid "Link Connection Color" msgstr "Color de Enlace de Conexión" @@ -11740,6 +12070,9 @@ msgstr "Habilitar Radio de los Obstáculos" msgid "Enable Obstacles Static" msgstr "Habilitar Obstáculos Estáticos" +msgid "Navigation Engine" +msgstr "Motor de Navegación" + msgid "Default Cell Height" msgstr "Altura de Celda Predeterminada" @@ -11776,6 +12109,12 @@ msgstr "Gravedad Total" msgid "Center of Mass Local" msgstr "Centro de Masa Local" +msgid "Collide with Bodies" +msgstr "Colisionar con Cuerpos" + +msgid "Collide with Areas" +msgstr "Colisionar Con Áreas" + msgid "Canvas Instance ID" msgstr "ID de Instancia del Canvas" @@ -11902,6 +12241,9 @@ msgstr "Importar S3TC BPTC" msgid "Import ETC2 ASTC" msgstr "Importar ETC2 ASTC" +msgid "Compress with GPU" +msgstr "Compresión Con GPU" + msgid "Cache GPU Compressor" msgstr "Compresor de Caché GPU" diff --git a/editor/translations/properties/fr.po b/editor/translations/properties/fr.po index 61056636af97..80d69f820f9e 100644 --- a/editor/translations/properties/fr.po +++ b/editor/translations/properties/fr.po @@ -164,8 +164,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-08 18:02+0000\n" -"Last-Translator: trobador \n" +"PO-Revision-Date: 2026-01-19 09:52+0000\n" +"Last-Translator: Posemartonis \n" "Language-Team: French \n" "Language: fr\n" @@ -173,7 +173,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Application" @@ -964,6 +964,9 @@ msgstr "Ratio de threads à basse priorité" msgid "Locale" msgstr "Localisation" +msgid "Plural Rules Override" +msgstr "Substitution de plusieurs règles" + msgid "Test" msgstr "Test" @@ -1720,6 +1723,12 @@ msgstr "Mode mise à l'échelle" msgid "Delimiter" msgstr "Délimiteur" +msgid "Unescape Keys" +msgstr "Touche Unescape" + +msgid "Unescape Translations" +msgstr "Traductions Unescape" + msgid "Character Ranges" msgstr "Intervalles de caractères" @@ -1846,6 +1855,12 @@ msgstr "SVG" msgid "Editor" msgstr "Éditeur" +msgid "Scale with Editor Scale" +msgstr "Se règle avec l'éditeur d'Échelle" + +msgid "Convert Colors with Editor Theme" +msgstr "Convertir les couleurs avec l'éditeur de thème" + msgid "Atlas File" msgstr "Fichier Atlas" @@ -2120,6 +2135,9 @@ msgstr "Police principale en gras" msgid "Code Font" msgstr "Police du code" +msgid "Dragging Hover Wait Seconds" +msgstr "Faire glisser en survol pendant quelque seconde" + msgid "Separate Distraction Mode" msgstr "Mode distraction séparée" @@ -3000,6 +3018,9 @@ msgstr "Taille des manipulateurs" msgid "Manipulator Gizmo Opacity" msgstr "Opacité des manipulateurs" +msgid "Show Gizmo During Rotation" +msgstr "Afficher le manipulateur pendant la rotation" + msgid "Grid Color" msgstr "Couleur de la grille" @@ -3042,6 +3063,9 @@ msgstr "Facteur de vitesse du zoom" msgid "Ruler Width" msgstr "Largeur de la règle" +msgid "Auto Resample Delay" +msgstr "Délai pour le ré-échantillonnage automatique" + msgid "Bone Mapper" msgstr "Mapper d'os" @@ -3480,6 +3504,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "Version d'API choisie" + msgid "Default Action Map" msgstr "Carte d'action par défaut" @@ -3516,6 +3543,9 @@ msgstr "Utilitaires de débogage" msgid "Debug Message Types" msgstr "Types de message de débogage" +msgid "Frame Synthesis" +msgstr "Synthèse d'Image" + msgid "Hand Tracking" msgstr "Suivi des mains" @@ -3540,6 +3570,9 @@ msgstr "Activer les ancres persistantes" msgid "Enable Builtin Anchor Detection" msgstr "Activer la détection d'ancrage intégrée" +msgid "Enable Plane Tracking" +msgstr "Activer le suivi de plan" + msgid "Enable Builtin Plane Detection" msgstr "Activer la détection intégrée des plane" @@ -4203,6 +4236,9 @@ msgstr "Créer des animations" msgid "Animations" msgstr "Animations" +msgid "Handle Binary Image Mode" +msgstr "Mode de gestion d'image binaire" + msgid "Buffer View" msgstr "Vue du tampon" @@ -4767,15 +4803,42 @@ msgstr "Haptique à l'activation" msgid "Off Haptic" msgstr "Haptique à la désactivation" +msgid "Relax Frame Interval" +msgstr "Relâcher l'intervalle des trames" + msgid "On Threshold" msgstr "Seuil d'activation" msgid "Off Threshold" msgstr "Seuil de désactivation" +msgid "UUID" +msgstr "UUID" + +msgid "Entity" +msgstr "Entité" + +msgid "Spatial Tracking State" +msgstr "État de suivi spatial" + +msgid "April Dict" +msgstr "Avril Dict" + +msgid "Bounds Size" +msgstr "Bornes de taille" + +msgid "Marker Type" +msgstr "Type de marqueur" + msgid "Marker ID" msgstr "Marker ID" +msgid "Plane Alignment" +msgstr "Alignement du plan" + +msgid "Plane Label" +msgstr "Légende du plan" + msgid "Display Refresh Rate" msgstr "Afficher le taux de rafraichissement" @@ -4791,6 +4854,9 @@ msgstr "Fenêtre d'affichage de calque" msgid "Use Android Surface" msgstr "Utiliser surface Android" +msgid "Protected Content" +msgstr "Contenu protégé" + msgid "Android Surface Size" msgstr "Taille de la surface Android" @@ -4938,6 +5004,9 @@ msgstr "Délai de poignée de main expiré" msgid "Max Queued Packets" msgstr "Paquets en queue maximum" +msgid "Heartbeat Interval" +msgstr "Intervalle du battement de cœur" + msgid "Session Mode" msgstr "Mode de session" @@ -4980,6 +5049,18 @@ msgstr "Chemin du SDK Android" msgid "scrcpy" msgstr "scrcpy" +msgid "Virtual Display" +msgstr "Affichage virtuel" + +msgid "No Decorations" +msgstr "Aucune décoration" + +msgid "Local IME" +msgstr "IME locale" + +msgid "Screen Size" +msgstr "Taille de l'écran" + msgid "Force System User" msgstr "Forcer l'utilisateur système" @@ -5532,6 +5613,9 @@ msgstr "Icône 512 X 512" msgid "Emscripten Pool Size" msgstr "Place allouée pour Emscripten" +msgid "Godot Pool Size" +msgstr "Taille de Pool de Godot" + msgid "Windows" msgstr "Windows" @@ -6123,6 +6207,9 @@ msgstr "Coût de déplacement" msgid "Vertices" msgstr "Sommets" +msgid "NavigationPolygon" +msgstr "NavigationPolygon" + msgid "Affect Navigation Mesh" msgstr "Affecter le maillage de navigation" @@ -6616,6 +6703,9 @@ msgstr "Utiliser un squelette externe" msgid "External Skeleton" msgstr "Squelette externe" +msgid "Mutable Bone Axes" +msgstr "Axes d'os pouvant être désactivés" + msgid "Keep Aspect" msgstr "Garder l'aspect" @@ -6752,6 +6842,9 @@ msgstr "Itérations max" msgid "Min Distance" msgstr "Distance Minimale" +msgid "Angular Delta Limit" +msgstr "Limite de delta angulaire" + msgid "Deterministic" msgstr "Déterministe" @@ -7616,6 +7709,9 @@ msgstr "Courbe de fondu de sortie" msgid "Break Loop at End" msgstr "Arrêter la boucle à la fin" +msgid "Abort on Reset" +msgstr "Abandon lors de la réinitialisation" + msgid "Auto Restart" msgstr "Redémarrage Automatique" @@ -7841,6 +7937,9 @@ msgstr "Dessiner une ligne de nombres" msgid "Zero Pad Line Numbers" msgstr "Remplissage par des zéros des numéro de ligne" +msgid "Line Numbers Min Digits" +msgstr "Chiffres minimums du nombre de lignes" + msgid "Draw Fold Gutter" msgstr "Dessiner le bandeau de pli" @@ -7952,6 +8051,9 @@ msgstr "Direction d'expansion" msgid "Pivot Offset" msgstr "Décalage du Pivot" +msgid "Pivot Offset Ratio" +msgstr "Facteur du Décalage du Pivot" + msgid "Container Sizing" msgstr "Dimensionnement du conteneur" @@ -8084,6 +8186,12 @@ msgstr "Liste récente activé" msgid "Layout Toggle Enabled" msgstr "Toggle disposition activé" +msgid "Overwrite Warning Enabled" +msgstr "Alerte de redéfinition activée" + +msgid "Deleting Enabled" +msgstr "Suppression Activée" + msgid "Last Wrap Alignment" msgstr "Alignement du dernier retour à la ligne" @@ -8174,6 +8282,9 @@ msgstr "Peut être glissé" msgid "Selected" msgstr "Sélectionné" +msgid "Scaling Menus" +msgstr "Mise à l'échelle des menus" + msgid "Autoshrink Enabled" msgstr "Rétrécissement automatique activé" @@ -8219,6 +8330,12 @@ msgstr "Hauteur Auto" msgid "Wraparound Items" msgstr "Éléments enveloppants" +msgid "Scroll Hint Mode" +msgstr "Mode de défilement conseillé" + +msgid "Tile Scroll Hint" +msgstr "Défilement par suggestion de tuile" + msgid "Items" msgstr "Objets" @@ -8315,6 +8432,12 @@ msgstr "Dessiner les caractères de contrôle" msgid "Select All on Focus" msgstr "Sélectionner tous au focus" +msgid "Virtual Keyboard" +msgstr "Clavier virtuel" + +msgid "Show on Focus" +msgstr "Montrer sur Focus" + msgid "Blink" msgstr "Clignoter" @@ -8339,6 +8462,12 @@ msgstr "Caractère" msgid "Right Icon" msgstr "Icône droite" +msgid "Icon Expand Mode" +msgstr "Mode d'expansion d’icône" + +msgid "Right Icon Scale" +msgstr "Échelle de l'Icône droite" + msgid "Underline" msgstr "Souligner" @@ -8387,6 +8516,12 @@ msgstr "Identifiant du système de menu" msgid "Prefer Native Menu" msgstr "Préférer le menu natif" +msgid "Shrink Height" +msgstr "Réduction de la hauteur" + +msgid "Shrink Width" +msgstr "Réduction de la largeur" + msgid "Fill Mode" msgstr "Mode de Remplissage" @@ -8495,6 +8630,21 @@ msgstr "Suivre le focus" msgid "Draw Focus Border" msgstr "Dessiner le bord du focus" +msgid "Scrollbar" +msgstr "Barre de défilement" + +msgid "Scroll Horizontal" +msgstr "Défilement horizontal" + +msgid "Scroll Vertical" +msgstr "Défilement vertical" + +msgid "Scroll Horizontal Custom Step" +msgstr "Défilement horizontal à pas personnalisé" + +msgid "Scroll Vertical Custom Step" +msgstr "Défilement vertical à pas personnalisé" + msgid "Horizontal Scroll Mode" msgstr "Mode défilement horizontal" @@ -8504,6 +8654,9 @@ msgstr "Mode défilement vertical" msgid "Scroll Deadzone" msgstr "Zone morte du défilement" +msgid "Scroll Hint" +msgstr "Défilement par suggestion" + msgid "Default Scroll Deadzone" msgstr "Zone morte par défaut du défilement" @@ -8525,6 +8678,9 @@ msgstr "Mettre à jour au changement de texte" msgid "Custom Arrow Step" msgstr "Étape personnalisée de flèche" +msgid "Custom Arrow Round" +msgstr "Rond de flèche personnalisé" + msgid "Collapsed" msgstr "Réduit" @@ -8567,6 +8723,9 @@ msgstr "Alignement d'onglet" msgid "Clip Tabs" msgstr "Accrocher les onglets" +msgid "Close with Middle Mouse" +msgstr "Fermer avec le bouton du milieu de la souris" + msgid "Tab Close Display Policy" msgstr "Stratégie d'affichage du bouton de fermeture d'onglet" @@ -8579,12 +8738,18 @@ msgstr "Défilement activé" msgid "Drag to Rearrange Enabled" msgstr "Glisser pour réorganiser activé" +msgid "Switch on Drag Hover" +msgstr "Changer au survol" + msgid "Tabs Rearrange Group" msgstr "Groupe de réagencement des onglets" msgid "Scroll to Selected" msgstr "Défiler pour les sélectionnés" +msgid "Select with RMB" +msgstr "Sélectionner avec le clic droit" + msgid "Deselect Enabled" msgstr "Dé-sélection activée" @@ -8636,6 +8801,9 @@ msgstr "Déplacer avec clic droit" msgid "Multiple" msgstr "Multiple" +msgid "Word Separators" +msgstr "Séparateurs de mots" + msgid "Syntax Highlighter" msgstr "Coloration syntaxique" @@ -8715,6 +8883,9 @@ msgstr "Cacher les plis" msgid "Enable Recursive Folding" msgstr "Activer la réduction récursive" +msgid "Enable Drag Unfolding" +msgstr "Activer le dépliage au drag-and-drop" + msgid "Hide Root" msgstr "Masquer la Racine" @@ -9078,9 +9249,18 @@ msgstr "Mode Nettoyage" msgid "Current Screen" msgstr "Écran actuel" +msgid "Nonclient Area" +msgstr "Zone Nonclient" + msgid "Mouse Passthrough Polygon" msgstr "Polygone de passage de la souris" +msgid "Wrap Controls" +msgstr "Contrôle de rebouclage" + +msgid "Transient to Focused" +msgstr "Transitoire vers Focusé" + msgid "Exclusive" msgstr "Exclusif" @@ -9099,6 +9279,9 @@ msgstr "Passage de souris" msgid "Exclude From Capture" msgstr "Exclure de la capture" +msgid "Popup Wm Hint" +msgstr "Fenêtre contextuelle de suggestion Wm" + msgid "Force Native" msgstr "Forcer le natif" @@ -9195,6 +9378,9 @@ msgstr "Longueur de chaine de données CCDIK" msgid "FABRIK Data Chain Length" msgstr "Longueur de chaine de données FABRIK" +msgid "Jiggle Data Chain Length" +msgstr "Ajuster la longueur de la chaine de données" + msgid "Default Joint Settings" msgstr "Préférences d'articulation par défaut" @@ -9375,6 +9561,9 @@ msgstr "Item" msgid "Mesh Transform" msgstr "Transformation de Mesh" +msgid "Mesh Cast Shadow" +msgstr "Maillage des ombres projetées" + msgid "Navigation Mesh Transform" msgstr "Transformation de maillage de navigation" @@ -9687,6 +9876,9 @@ msgstr "Carte tonale" msgid "White" msgstr "Blanc" +msgid "SSR" +msgstr "SSR" + msgid "Fade In" msgstr "Fondu entrant" @@ -9720,6 +9912,9 @@ msgstr "Influence du canal AO" msgid "SSIL" msgstr "SSIL" +msgid "Normal Rejection" +msgstr "Rejet normal" + msgid "SDFGI" msgstr "SDFGI" @@ -9831,6 +10026,9 @@ msgstr "Injection GI" msgid "Anisotropy" msgstr "Anisotropie" +msgid "Detail Spread" +msgstr "Distribution des détails" + msgid "Temporal Reprojection" msgstr "Reprojection Temporelle" @@ -9858,6 +10056,9 @@ msgstr "Glyphe" msgid "Space" msgstr "Espace" +msgid "Baseline" +msgstr "Ligne de base" + msgid "Font Names" msgstr "Noms de police" @@ -9867,6 +10068,9 @@ msgstr "Police italique" msgid "Font Weight" msgstr "Poids de la police" +msgid "Font Stretch" +msgstr "Étirement de la police" + msgid "Interpolation" msgstr "Interpolation" @@ -9996,6 +10200,9 @@ msgstr "Inverser la texture" msgid "Subsurf Scatter" msgstr "Transluminescence" +msgid "Skin Mode" +msgstr "Mode d'Enveloppe" + msgid "Transmittance" msgstr "Transmittance" @@ -10005,6 +10212,9 @@ msgstr "Boost" msgid "Back Lighting" msgstr "Éclairage arrière" +msgid "Backlight" +msgstr "Lumières pré-calculées" + msgid "Refraction" msgstr "Réfraction" @@ -10032,6 +10242,9 @@ msgstr "Ombres" msgid "Disable Receive Shadows" msgstr "Désactiver la réception d'ombres" +msgid "Shadow to Opacity" +msgstr "Ombre vers opacité" + msgid "Keep Scale" msgstr "Garder l'échelle" @@ -10056,6 +10269,12 @@ msgstr "Taille de point" msgid "Use Particle Trails" msgstr "Utiliser des trainées de particule" +msgid "Use Z Clip Scale" +msgstr "Utiliser l'échelle Z Clip" + +msgid "Z Clip Scale" +msgstr "Échelle Z Clip" + msgid "Use FOV Override" msgstr "Utiliser redéfinition champ de vision" @@ -10071,6 +10290,9 @@ msgstr "CDSM" msgid "Pixel Range" msgstr "Plage de pixels" +msgid "Stencil" +msgstr "Pochoir" + msgid "Compare" msgstr "Comparer" @@ -10092,6 +10314,9 @@ msgstr "Indice de taille de la texture de lumière" msgid "Blend Shape Mode" msgstr "Mode de Blend Shape" +msgid "Shadow Mesh" +msgstr "Maillage des ombres" + msgid "Base Texture" msgstr "Texture de base" @@ -10200,6 +10425,9 @@ msgstr "Rayon de l'anneau d'émission" msgid "Emission Ring Inner Radius" msgstr "Rayon de l'anneau intérieur d'émission" +msgid "Emission Ring Cone Angle" +msgstr "Angle du cône de l'anneau d'émission" + msgid "Inherit Velocity Ratio" msgstr "Hériter le ratio de vitesse" @@ -10230,6 +10458,12 @@ msgstr "Interaction avec attracteurs" msgid "Scale Curve" msgstr "Courbe d'échelle" +msgid "Scale Over Velocity" +msgstr "Varie en fonction de la vitesse" + +msgid "Scale over Velocity Curve" +msgstr "Varie en fonction de la courbe de la vitesse" + msgid "Color Curves" msgstr "Courbes de couleur" @@ -10248,6 +10482,12 @@ msgstr "Force du bruit" msgid "Noise Scale" msgstr "Échelle du bruit" +msgid "Noise Speed" +msgstr "Vitesse du bruit" + +msgid "Noise Speed Random" +msgstr "Vitesse du bruit aléatoire" + msgid "Influence over Life" msgstr "Influence durant la vie" @@ -10257,6 +10497,9 @@ msgstr "Utiliser l'échelle" msgid "Amount at End" msgstr "Quantité à la fin" +msgid "Amount at Collision" +msgstr "Quantité lors de la collision" + msgid "Amount at Start" msgstr "Quantité au départ" @@ -10353,9 +10596,15 @@ msgstr "Colorer les régions" msgid "Preserve Invalid" msgstr "Conserver invalides" +msgid "Preserve Control" +msgstr "Garder le contrôle" + msgid "Custom Punctuation" msgstr "Ponctuation personnalisée" +msgid "Break Flags" +msgstr "Casse les options" + msgid "Default Base Scale" msgstr "Échelle de base par défaut" @@ -10374,6 +10623,12 @@ msgstr "Port de sortie pour l'aperçu" msgid "Modes" msgstr "Modes" +msgid "Stencil Modes" +msgstr "Modes de pochoir" + +msgid "Stencil Flags" +msgstr "Options de pochoir" + msgid "Input Name" msgstr "Nom de l'entrée" @@ -10383,6 +10638,12 @@ msgstr "Nom de paramètre" msgid "Qualifier" msgstr "Qualificatif" +msgid "Instance Index" +msgstr "Position d'instance" + +msgid "Autoshrink" +msgstr "Réduction automatique" + msgid "Varying Name" msgstr "Nom du varying" @@ -10422,6 +10683,9 @@ msgstr "Couleur par défaut" msgid "Texture Repeat" msgstr "Répétition de texture" +msgid "Texture Source" +msgstr "Source de texture" + msgid "Billboard Type" msgstr "Mode Billboard" @@ -10560,6 +10824,9 @@ msgstr "Taille des contours d'ombre" msgid "Font Selected Color" msgstr "Couleur de police sélectionnée" +msgid "Font Uneditable Color" +msgstr "Couleur de police non-éditable" + msgid "Font Placeholder Color" msgstr "Couleur de police de remplacement" @@ -10812,12 +11079,27 @@ msgstr "Séparateur entre boutons haut et bas" msgid "Buttons Vertical Separation" msgstr "Séparation verticale des boutons" +msgid "Field and Buttons Separation" +msgstr "Séparation des boutons et champs" + msgid "Buttons Width" msgstr "Largeur des boutons" msgid "Set Min Buttons Width From Icons" msgstr "Définir la largeur minimale des buttons avec les icônes" +msgid "Scroll Hint Vertical" +msgstr "Défilement vertical assisté" + +msgid "Scroll Hint Horizontal" +msgstr "Défilement horizontal assisté" + +msgid "Scroll Hint Vertical Color" +msgstr "Couleur du défilement vertical assisté" + +msgid "Scroll Hint Horizontal Color" +msgstr "Couleur du défilement horizontal assisté" + msgid "Embedded Border" msgstr "Bordure embarquée" @@ -10830,6 +11112,9 @@ msgstr "Police du titre" msgid "Title Font Size" msgstr "Taille de la police du titre" +msgid "Title Outline Size" +msgstr "Taille du contour du titre" + msgid "Title Height" msgstr "Hauteur du titre" @@ -10941,6 +11226,15 @@ msgstr "Séparation V" msgid "Separator Outline Size" msgstr "Taille du contour du séparateur" +msgid "Item Start Padding" +msgstr "Remplissage de début d'élément" + +msgid "Item End Padding" +msgstr "Remplissage de fin d'élément" + +msgid "Gutter Compact" +msgstr "Bandeau compact" + msgid "Panel Selected" msgstr "Panneau sélectionné" @@ -10965,6 +11259,9 @@ msgstr "Redimensionneur" msgid "Resizer Color" msgstr "Couleur du redimensionneur" +msgid "Port H Offset" +msgstr "Décalage du port H" + msgid "Hovered" msgstr "Survolé" @@ -11043,6 +11340,9 @@ msgstr "Couleur de ligne des enfants HL" msgid "Custom Button Font Highlight" msgstr "Surlignage Personnalisé de la Police du Bouton" +msgid "Scroll Hint Color" +msgstr "Couleur de défilement assisté" + msgid "Item Margin" msgstr "Marge d'élément" @@ -11058,6 +11358,12 @@ msgstr "Marge de droite de l'élément intérieur" msgid "Inner Item Margin Top" msgstr "Marge du haut de l'élément intérieur" +msgid "Check H Separation" +msgstr "Vérifier la séparation H" + +msgid "Icon H Separation" +msgstr "Séparation de l'icône H" + msgid "Button Margin" msgstr "Marge de bouton" @@ -11073,6 +11379,9 @@ msgstr "Largeur de ligne d'enfants HL" msgid "Draw Guides" msgstr "Afficher les guides" +msgid "Dragging Unfold Wait Msec" +msgstr "Temps d'attente de dépliage en Msec" + msgid "Scroll Border" msgstr "Bordure de la barre de défilement" @@ -11094,6 +11403,9 @@ msgstr "Marge du bas de la barre de défilement" msgid "Scrollbar H Separation" msgstr "Séparation horizontale de barre de défilement" +msgid "Scrollbar V Separation" +msgstr "Séparation de la barre de défilement V" + msgid "Icon Margin" msgstr "Marge d’icône" @@ -11121,6 +11433,15 @@ msgstr "Menu au survol" msgid "Font Unselected Color" msgstr "Couleur de police insélectionnée" +msgid "Icon Selected Color" +msgstr "Couleur d’icône sélectionnée" + +msgid "Icon Hovered Color" +msgstr "Couleur d'icône au survol" + +msgid "Icon Unselected Color" +msgstr "Couleur de police désélectionnée" + msgid "Side Margin" msgstr "Marge de coté" @@ -11130,6 +11451,9 @@ msgstr "Séparation d'icône" msgid "Button Highlight" msgstr "Surlignage de bouton" +msgid "Hover Switch Wait Msec" +msgstr "Temps d'attente de survol en Msec" + msgid "SV Width" msgstr "Largeur SV" @@ -11148,12 +11472,18 @@ msgstr "Focus échantillon" msgid "Picker Focus Rectangle" msgstr "Rectangle de focus du sélecteur" +msgid "Picker Focus Circle" +msgstr "Cercle de focus du sélecteur" + msgid "Focused not Editing Cursor Color" msgstr "Couleur du curseur avec focus sans modification" msgid "Menu Option" msgstr "Menu des options" +msgid "Folded Arrow" +msgstr "Flèche pliée" + msgid "Expanded Arrow" msgstr "Flèche étendue" @@ -11163,6 +11493,12 @@ msgstr "Sélecteur d'écran" msgid "Shape Circle" msgstr "Forme de cercle" +msgid "Shape Rect" +msgstr "Forme de Rect" + +msgid "Shape Rect Wheel" +msgstr "Forme de roue pour un Rect" + msgid "Add Preset" msgstr "Ajouter préréglage" @@ -11193,9 +11529,15 @@ msgstr "Arrière-plan" msgid "Preset FG" msgstr "Préréglage avant-plan" +msgid "Preset Focus" +msgstr "Préréglage de focus" + msgid "Preset BG" msgstr "Préréglage arrière-plan" +msgid "Horizontal Rule" +msgstr "Règle horizontale" + msgid "Normal Font" msgstr "Police normale" @@ -11271,9 +11613,15 @@ msgstr "Marge à droite" msgid "Margin Bottom" msgstr "Marge en bas" +msgid "Minimum Grab Thickness" +msgstr "Épaisseur minimal pour attraper" + msgid "Autohide" msgstr "Cacher automatiquement" +msgid "Split Bar Background" +msgstr "Arrière plan de la barre de séparation" + msgid "Zoom Out" msgstr "Dézoomer" @@ -11313,9 +11661,30 @@ msgstr "Activité" msgid "Connection Hover Tint Color" msgstr "Couleur de la teinte au survol d'une connexion" +msgid "Connection Hover Thickness" +msgstr "Épaisseur au survol d'une connexion" + +msgid "Connection Valid Target Tint Color" +msgstr "Couleur de la teinte d'une connexion valide de cible" + msgid "Title Panel" msgstr "Panneau du titre" +msgid "Title Hover Panel" +msgstr "Panneau de titre survolé" + +msgid "Title Collapsed Panel" +msgstr "Panneau de titre réduit" + +msgid "Title Collapsed Hover Panel" +msgstr "Survol du panneau des titres compactés" + +msgid "Hover Font Color" +msgstr "Couleur au survol de la police" + +msgid "Collapsed Font Color" +msgstr "Couleur de la police réduite" + msgid "Default Theme Scale" msgstr "Thème par défaut de l'échelle" @@ -11517,12 +11886,18 @@ msgstr "Régions inclues" msgid "Path Types" msgstr "Types de chemin" +msgid "Path Owner IDs" +msgstr "Chemin des identités de propriétaire" + msgid "Path Length" msgstr "Longueur du chemin" msgid "Default Cell Size" msgstr "Taille de cellule par défaut" +msgid "Merge Rasterizer Cell Scale" +msgstr "Fusionner l'échelle des cellules de rastériseur" + msgid "Default Edge Connection Margin" msgstr "Marge de connexion des bords par défaut" @@ -11547,6 +11922,9 @@ msgstr "Couleur de géométrie de face désactivée" msgid "Link Connection Color" msgstr "Lier la couleur de connexion" +msgid "Link Connection Disabled Color" +msgstr "Lier la couleur à une connexion désactivée" + msgid "Agent Path Color" msgstr "Couleur de chemin d'agent" @@ -11775,6 +12153,9 @@ msgstr "Traitement en lot" msgid "Item Buffer Size" msgstr "Taille d'élément du buffer" +msgid "Uniform Set Cache Size" +msgstr "Définition uniforme de la taille de cache" + msgid "Shader Compiler" msgstr "Compilateur de Shader" @@ -12105,6 +12486,9 @@ msgstr "Inclure les données textuelles de serveur" msgid "Has Tracking Data" msgstr "Possède des données de suivi" +msgid "Body Flags" +msgstr "Option du corps" + msgid "Blend Shapes" msgstr "Blend Shapes" diff --git a/editor/translations/properties/ga.po b/editor/translations/properties/ga.po index f3614ed6ca6f..9c70960f6fa1 100644 --- a/editor/translations/properties/ga.po +++ b/editor/translations/properties/ga.po @@ -3,12 +3,12 @@ # Copyright (c) 2007-2014 Juan Linietsky, Ariel Manzur. # This file is distributed under the same license as the Godot source code. # Rónán Quill , 2019, 2020. -# Aindriú Mac Giolla Eoin , 2024, 2025. +# Aindriú Mac Giolla Eoin , 2024, 2025, 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" -"PO-Revision-Date: 2025-12-21 09:00+0000\n" +"PO-Revision-Date: 2026-01-21 18:57+0000\n" "Last-Translator: Aindriú Mac Giolla Eoin \n" "Language-Team: Irish \n" @@ -17,7 +17,7 @@ msgstr "" "Content-Transfer-Encoding: 8-bit\n" "Plural-Forms: nplurals=5; plural=n==1 ? 0 : n==2 ? 1 : (n>2 && n<7) ? 2 :(n>6 " "&& n<11) ? 3 : 4;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Feidhmchlár" @@ -2861,6 +2861,9 @@ msgstr "Manipulator Gizmo Méid" msgid "Manipulator Gizmo Opacity" msgstr "Teimhneacht Manipulator Gizmo" +msgid "Show Gizmo During Rotation" +msgstr "Taispeáin Gizmo le linn Rothlú" + msgid "Grid Color" msgstr "Dath na Greille" @@ -2903,6 +2906,9 @@ msgstr "Fachtóir Luas Súmáil" msgid "Ruler Width" msgstr "Leithead an Rialóra" +msgid "Auto Resample Delay" +msgstr "Moill Athshamplála Uathoibríoch" + msgid "Bone Mapper" msgstr "Mapper Cnámh" @@ -3341,6 +3347,9 @@ msgstr "XRName" msgid "OpenXR" msgstr "OpenXRName" +msgid "Target API Version" +msgstr "Leagan API Sprioc" + msgid "Default Action Map" msgstr "Mapa Gníomhaíochta Réamhshocraithe" @@ -8365,6 +8374,12 @@ msgstr "Aitheantas an Roghchláir Chórais" msgid "Prefer Native Menu" msgstr "Is Fearr Roghchlár Dúchasach" +msgid "Shrink Height" +msgstr "Airde Laghdaigh" + +msgid "Shrink Width" +msgstr "Leithead Laghdaigh" + msgid "Fill Mode" msgstr "Mód Líonta" @@ -10973,6 +10988,12 @@ msgstr "Leid Scrollaigh Ingearach" msgid "Scroll Hint Horizontal" msgstr "Leid Scrollaigh Cothrománach" +msgid "Scroll Hint Vertical Color" +msgstr "Dath Ingearach Leid Scrollaigh" + +msgid "Scroll Hint Horizontal Color" +msgstr "Leid Scrollaigh Dath Cothrománach" + msgid "Embedded Border" msgstr "Teorainn Leabaithe" @@ -11237,6 +11258,9 @@ msgstr "Dath Líne HL Leanaí" msgid "Custom Button Font Highlight" msgstr "Aibhsiú Cló Cnaipe Saincheaptha" +msgid "Scroll Hint Color" +msgstr "Dath Leid Scrollaigh" + msgid "Item Margin" msgstr "Imeall Míre" @@ -11252,6 +11276,12 @@ msgstr "Imeall Míre Istigh Ar Dheis" msgid "Inner Item Margin Top" msgstr "Barr Imeall Míre Istigh" +msgid "Check H Separation" +msgstr "Seiceáil Deighilt H" + +msgid "Icon H Separation" +msgstr "Deilbhín H Deighilt" + msgid "Button Margin" msgstr "Imeall na gCnaipí" diff --git a/editor/translations/properties/it.po b/editor/translations/properties/it.po index 2dd815372426..b619fa9a181b 100644 --- a/editor/translations/properties/it.po +++ b/editor/translations/properties/it.po @@ -97,13 +97,14 @@ # Adriano Inghingolo , 2025. # Pietro Marini , 2025. # shifenis , 2026. +# Alex B , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-05 13:02+0000\n" -"Last-Translator: shifenis \n" +"PO-Revision-Date: 2026-01-18 16:02+0000\n" +"Last-Translator: Alex B \n" "Language-Team: Italian \n" "Language: it\n" @@ -111,7 +112,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "Application" msgstr "Applicazione" @@ -425,6 +426,9 @@ msgstr "Comune" msgid "Snap Controls to Pixels" msgstr "Scatta i nodi Control ai pixel" +msgid "Show Focus State on Pointer Event" +msgstr "Mostra lo stato di messa a fuoco sull'evento del puntatore" + msgid "Fonts" msgstr "Font" @@ -1610,6 +1614,9 @@ msgstr "Modalità di scala" msgid "Delimiter" msgstr "Delimitatore" +msgid "Unescape Keys" +msgstr "Tasti di Escape" + msgid "Character Ranges" msgstr "Intervalli dei caratteri" diff --git a/editor/translations/properties/ja.po b/editor/translations/properties/ja.po index 59cccca119da..31bb073fea05 100644 --- a/editor/translations/properties/ja.po +++ b/editor/translations/properties/ja.po @@ -59,14 +59,14 @@ # rion , 2025. # Bagumeon , 2025. # Viktor Jagebrant , 2025. -# Myeongjin , 2025. +# Myeongjin , 2025, 2026. # johann carlo florin , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-25 23:00+0000\n" +"PO-Revision-Date: 2026-01-14 21:31+0000\n" "Last-Translator: Myeongjin \n" "Language-Team: Japanese \n" @@ -75,7 +75,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "Application" msgstr "アプリ" @@ -132,7 +132,7 @@ msgid "Auto Accept Quit" msgstr "プログラム終了を自動的に受け入れる" msgid "Quit on Go Back" -msgstr "戻るボタンで終了 (Android)" +msgstr "戻るボタンで終了" msgid "Accessibility" msgstr "アクセシビリティ" diff --git a/editor/translations/properties/ko.po b/editor/translations/properties/ko.po index e38602ab61d9..e0e02ca66d0f 100644 --- a/editor/translations/properties/ko.po +++ b/editor/translations/properties/ko.po @@ -62,8 +62,8 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-13 19:01+0000\n" -"Last-Translator: nulta \n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" +"Last-Translator: Myeongjin \n" "Language-Team: Korean \n" "Language: ko\n" @@ -71,7 +71,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.2-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "애플리케이션" @@ -128,10 +128,10 @@ msgid "Main Loop Type" msgstr "메인 루프 유형" msgid "Auto Accept Quit" -msgstr "종료 요청 자동 수락" +msgstr "종료를 자동 수락" msgid "Quit on Go Back" -msgstr "뒤로 가기 시 자동 종료 (Android)" +msgstr "뒤로 가기 시 종료" msgid "Accessibility" msgstr "접근성" @@ -146,7 +146,7 @@ msgid "Updates per Second" msgstr "초당 업데이트 수" msgid "Display" -msgstr "디스플레이" +msgstr "표시" msgid "Window" msgstr "창" @@ -179,7 +179,7 @@ msgid "Borderless" msgstr "테두리 없음" msgid "Always on Top" -msgstr "항상 위에 표시" +msgstr "항상 위" msgid "Transparent" msgstr "투명" @@ -194,10 +194,10 @@ msgid "Sharp Corners" msgstr "각진 모서리" msgid "Minimize Disabled" -msgstr "최소화 비활성화" +msgstr "최소화 비활성화됨" msgid "Maximize Disabled" -msgstr "최대화 비활성화" +msgstr "최대화 비활성화됨" msgid "Window Width Override" msgstr "창 너비 오버라이드" @@ -257,13 +257,13 @@ msgid "Session Category" msgstr "세션 카테고리" msgid "Mix with Others" -msgstr "다른 것과 혼합" +msgstr "다른 소리와 혼합" msgid "Subwindows" -msgstr "보조 창" +msgstr "하위 창" msgid "Embed Subwindows" -msgstr "보조 창 내장" +msgstr "하위 창 임베딩" msgid "Frame Pacing" msgstr "프레임 간격" @@ -380,7 +380,7 @@ msgid "Incremental Search Max Interval Msec" msgstr "증분 검색의 최대 간격 밀리초" msgid "Tooltip Delay (sec)" -msgstr "툴팁 딜레이 (초)" +msgstr "툴팁 지연 (초)" msgid "Common" msgstr "일반" @@ -392,7 +392,7 @@ msgid "Snap Controls to Pixels" msgstr "컨트롤을 픽셀에 스냅" msgid "Show Focus State on Pointer Event" -msgstr "포인터 이벤트에 포커스 상태 보이기" +msgstr "포인터 이벤트 시 포커스 상태 보이기" msgid "Fonts" msgstr "글꼴" @@ -443,16 +443,16 @@ msgid "Vulkan" msgstr "Vulkan" msgid "Max Descriptors per Pool" -msgstr "풀 당 최대 디스크립터" +msgstr "풀 당 최대 설명자" msgid "D3D12" msgstr "D3D12" msgid "Max Resource Descriptors" -msgstr "최대 리소스 디스크립터" +msgstr "최대 리소스 설명자" msgid "Max Sampler Descriptors" -msgstr "최대 샘플러 디스크립터" +msgstr "최대 샘플러 설명자" msgid "Agility SDK Version" msgstr "Agility SDK 버전" @@ -1412,7 +1412,7 @@ msgid "Loop Mode" msgstr "루프 모드" msgid "Keep Custom Tracks" -msgstr "맞춤 트랙 유지" +msgstr "커스텀 트랙 유지" msgid "Slices" msgstr "썰기" @@ -1622,10 +1622,10 @@ msgid "Delimiter" msgstr "한정자" msgid "Unescape Keys" -msgstr "탈출 취소 키" +msgstr "반탈출 키" msgid "Unescape Translations" -msgstr "탈출 취소 번역" +msgstr "반탈출 번역" msgid "Character Ranges" msgstr "문자 범위" @@ -1754,10 +1754,10 @@ msgid "Editor" msgstr "편집기" msgid "Scale with Editor Scale" -msgstr "편집기 스케일로 스케일" +msgstr "편집기 스케일에 따라 스케일" msgid "Convert Colors with Editor Theme" -msgstr "색상을 편집기 테마로 변환" +msgstr "편집기 테마에 따라 색상 변환" msgid "Atlas File" msgstr "아틀라스 파일" @@ -2322,7 +2322,7 @@ msgid "Max Results" msgstr "최대 결과 수" msgid "Instant Preview" -msgstr "인스턴스 미리보기" +msgstr "즉시 미리보기" msgid "Show Search Highlight" msgstr "검색 강조 보이기" @@ -2568,7 +2568,7 @@ msgid "Convert Indent on Save" msgstr "저장 시 들여쓰기 변환" msgid "Auto Reload Scripts on External Change" -msgstr "외부에서 변경 시 스크립트 자동 다시 불러옴" +msgstr "외부에서 변경 시 스크립트 자동 다시 불러오기" msgid "Auto Reload and Parse Scripts on Save" msgstr "저장 시 스크립트 자동 다시 불러오고 파싱" @@ -2628,7 +2628,7 @@ msgid "Idle Parse Delay" msgstr "유휴 구문 분석 지연" msgid "Idle Parse Delay with Errors Found" -msgstr "오류 발견으로 유휴 구문 분석 지연" +msgstr "오류 발견 시 유휴 구문 분석 지연" msgid "Auto Brace Complete" msgstr "자동 중괄호 완성" @@ -2652,7 +2652,7 @@ msgid "Add String Name Literals" msgstr "문자열 이름 리터럴 추가" msgid "Add Node Path Literals" -msgstr "NodePath 리터럴 자동 완성" +msgstr "노드 경로 리터럴 추가" msgid "Use Single Quotes" msgstr "홑따옴표 사용" @@ -2915,6 +2915,9 @@ msgstr "조작기 기즈모 크기" msgid "Manipulator Gizmo Opacity" msgstr "조작기 기즈모 불투명도" +msgid "Show Gizmo During Rotation" +msgstr "회전하는 동안 기즈모 보이기" + msgid "Grid Color" msgstr "격자 색상" @@ -2957,6 +2960,9 @@ msgstr "확대/축소 속도 계수" msgid "Ruler Width" msgstr "자 너비" +msgid "Auto Resample Delay" +msgstr "자동 리샘플링 지연" + msgid "Bone Mapper" msgstr "본 매퍼" @@ -3012,7 +3018,7 @@ msgid "Show Previous Outline" msgstr "이전 윤곽선 보이기" msgid "Auto Bake Delay" -msgstr "자동 굽기 딜레이" +msgstr "자동 굽기 지연" msgid "Default Animation Step" msgstr "디폴트 애니메이션 단계" @@ -3036,7 +3042,7 @@ msgid "Default Create Reset Tracks" msgstr "디폴트 재설정 트랙 만들기" msgid "Insert at Current Time" -msgstr "현재 시간에서 삽입" +msgstr "현재 시간에 삽입" msgid "Onion Layers Past Color" msgstr "양파 레이어 과거 색상" @@ -3375,7 +3381,7 @@ msgid "Output Latency" msgstr "출력 레이턴시" msgid "Frame Delay Msec" -msgstr "프레임 딜레이 밀리초" +msgstr "프레임 지연 밀리초" msgid "Allow High Refresh Rate" msgstr "높은 주사율 허용" @@ -3395,6 +3401,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "대상 API 버전" + msgid "Default Action Map" msgstr "디폴트 액션 맵" @@ -3453,7 +3462,7 @@ msgid "Enable Spatial Anchors" msgstr "공간 앵커 활성화" msgid "Enable Persistent Anchors" -msgstr "지속 앵커 활성화" +msgstr "영구 앵커 활성화" msgid "Enable Builtin Anchor Detection" msgstr "내장 앵커 감지 활성화" @@ -3564,7 +3573,7 @@ msgid "Solution Directory" msgstr "솔루션 디렉터리" msgid "Assembly Reload Attempts" -msgstr "어셈블리 다시 불러옴 시도 횟수" +msgstr "어셈블리 다시 불러오기 시도 횟수" msgid "Time" msgstr "시간" @@ -4128,7 +4137,7 @@ msgid "Animations" msgstr "애니메이션" msgid "Handle Binary Image Mode" -msgstr "핸들 바이너리 이미지 모드" +msgstr "바이너리 이미지 핸들 모드" msgid "Buffer View" msgstr "버퍼 보기" @@ -5226,7 +5235,7 @@ msgid "Distribution Type" msgstr "배포 유형" msgid "Liquid Glass Icon" -msgstr "액체 유리 아이콘" +msgstr "Liquid Glass 아이콘" msgid "Copyright Localized" msgstr "저작권 현지화됨" @@ -5268,13 +5277,13 @@ msgid "Codesign" msgstr "코드 서명" msgid "Installer Identity" -msgstr "인스톨러 아이덴티티" +msgstr "인스톨러 식별자" msgid "Apple Team ID" msgstr "Apple 팀 ID" msgid "Identity" -msgstr "아이덴티티" +msgstr "식별자" msgid "Certificate File" msgstr "인증서 파일" @@ -5478,7 +5487,7 @@ msgid "Head Include" msgstr "Head 포함" msgid "Canvas Resize Policy" -msgstr "Canvas 크기 조정 방식" +msgstr "Canvas 크기 조절 방식" msgid "Focus Canvas on Start" msgstr "시작할 때 Canvas에 포커스" @@ -5520,7 +5529,7 @@ msgid "osslsigncode" msgstr "osslsigncode" msgid "Identity Type" -msgstr "아이덴티티 유형" +msgstr "식별자 유형" msgid "Timestamp" msgstr "타임스탬프" @@ -5913,7 +5922,7 @@ msgid "Sections" msgstr "섹션" msgid "Section Subdivisions" -msgstr "섹션 세분" +msgstr "섹션 분할" msgid "Process Material" msgstr "처리 머티리얼" @@ -7130,7 +7139,7 @@ msgid "Source Path" msgstr "소스 경로" msgid "Reverb Bus" -msgstr "리버브 버스" +msgstr "반향 버스" msgid "Uniformity" msgstr "균일성" @@ -8419,6 +8428,12 @@ msgstr "시스템 메뉴 ID" msgid "Prefer Native Menu" msgstr "네이티브 메뉴 선호" +msgid "Shrink Height" +msgstr "수축 높이" + +msgid "Shrink Width" +msgstr "수축 너비" + msgid "Fill Mode" msgstr "채우기 모드" @@ -8579,7 +8594,7 @@ msgid "Custom Arrow Round" msgstr "커스텀 화살표 둥글기" msgid "Split Offsets" -msgstr "분할 오프셋" +msgstr "오프셋 분할" msgid "Collapsed" msgstr "접힘" @@ -9990,7 +10005,7 @@ msgid "Color Space" msgstr "색공간" msgid "Raw Data" -msgstr "원본 데이터" +msgstr "원형 데이터" msgid "Offsets" msgstr "오프셋" @@ -11027,6 +11042,12 @@ msgstr "스크롤 힌트 세로" msgid "Scroll Hint Horizontal" msgstr "스크롤 힌트 가로" +msgid "Scroll Hint Vertical Color" +msgstr "스크롤 힌트 세로 색상" + +msgid "Scroll Hint Horizontal Color" +msgstr "스크롤 힌트 가로 색상" + msgid "Embedded Border" msgstr "임베딩된 테두리" @@ -11049,7 +11070,7 @@ msgid "Title Height" msgstr "제목 높이" msgid "Resize Margin" -msgstr "여백 크기 조정" +msgstr "여백 크기 조절" msgid "Close" msgstr "닫기" @@ -11082,7 +11103,7 @@ msgid "Forward Folder" msgstr "다음 폴더" msgid "Reload" -msgstr "다시 불러옴" +msgstr "다시 불러오기" msgid "Favorite" msgstr "즐겨찾기" @@ -11172,7 +11193,7 @@ msgid "Item End Padding" msgstr "항목 끝 패딩" msgid "Gutter Compact" -msgstr "거터 컴팩트" +msgstr "컴팩트한 거터" msgid "Panel Selected" msgstr "패널 선택됨" @@ -11291,6 +11312,9 @@ msgstr "자식 HL 줄 색상" msgid "Custom Button Font Highlight" msgstr "커스텀 버튼 글꼴 강조" +msgid "Scroll Hint Color" +msgstr "스크롤 힌트 색상" + msgid "Item Margin" msgstr "항목 여백" @@ -11306,6 +11330,12 @@ msgstr "안 항목 여백 오른쪽" msgid "Inner Item Margin Top" msgstr "안 항목 여백 위" +msgid "Check H Separation" +msgstr "확인 가로 간격" + +msgid "Icon H Separation" +msgstr "아이콘 가로 간격" + msgid "Button Margin" msgstr "버튼 여백" @@ -11373,7 +11403,7 @@ msgid "Tabbar Background" msgstr "탭바 배경" msgid "Drop Mark" -msgstr "드롭 마크" +msgstr "마크 놓기" msgid "Menu Highlight" msgstr "메뉴 강조" @@ -11697,7 +11727,7 @@ msgid "Channel Disable Time" msgstr "채널 비활성화 시간" msgid "Video Delay Compensation (ms)" -msgstr "비디오 딜레이 보정 (ms)" +msgstr "비디오 지연 보정 (ms)" msgid "Bus Count" msgstr "버스 개수" @@ -11739,7 +11769,7 @@ msgid "Voice" msgstr "보이스" msgid "Delay (ms)" -msgstr "딜레이 (ms)" +msgstr "지연 (ms)" msgid "Rate Hz" msgstr "빈도 Hz" @@ -11814,13 +11844,13 @@ msgid "FFT Size" msgstr "FFT 크기" msgid "Predelay" -msgstr "선 딜레이" +msgstr "선 지연" msgid "Msec" msgstr "밀리초" msgid "Room Size" -msgstr "공간 크기" +msgstr "방 크기" msgid "High-pass" msgstr "하이패스" diff --git a/editor/translations/properties/pl.po b/editor/translations/properties/pl.po index dd5c6bf6c72d..41f98c14a8d0 100644 --- a/editor/translations/properties/pl.po +++ b/editor/translations/properties/pl.po @@ -105,7 +105,7 @@ msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-02 12:57+0000\n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" "Last-Translator: Tomek \n" "Language-Team: Polish \n" @@ -115,7 +115,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n==1 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 " "|| n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Aplikacja" @@ -2960,6 +2960,9 @@ msgstr "Regulacja wielkości uchwytu" msgid "Manipulator Gizmo Opacity" msgstr "Regulacja przezroczystości uchwytu" +msgid "Show Gizmo During Rotation" +msgstr "Pokaż uchwyt podczas obrotu" + msgid "Grid Color" msgstr "Kolor siatki" @@ -3002,6 +3005,9 @@ msgstr "Czynnik szybkości przybliżania" msgid "Ruler Width" msgstr "Grubość linijki" +msgid "Auto Resample Delay" +msgstr "Automatyczne automatycznego przepróbkowania" + msgid "Bone Mapper" msgstr "Mapper kości" @@ -3440,6 +3446,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "Docelowa wersja API" + msgid "Default Action Map" msgstr "Domyślna mapa akcji" @@ -8464,6 +8473,12 @@ msgstr "ID menu systemowego" msgid "Prefer Native Menu" msgstr "Preferuj menu natywne" +msgid "Shrink Height" +msgstr "Skurcz wysokość" + +msgid "Shrink Width" +msgstr "Skurcz szerokość" + msgid "Fill Mode" msgstr "Tryb Wypełnienia" @@ -11072,6 +11087,12 @@ msgstr "Pionowa wskazówka przewijania" msgid "Scroll Hint Horizontal" msgstr "Pozioma wskazówka przewijania" +msgid "Scroll Hint Vertical Color" +msgstr "Kolor pionowej wskazówki przewijania" + +msgid "Scroll Hint Horizontal Color" +msgstr "Kolor poziomej wskazówki przewijania" + msgid "Embedded Border" msgstr "Brzeg osadzenia" @@ -11336,6 +11357,9 @@ msgstr "Kolor podświetlonej linii dzieci" msgid "Custom Button Font Highlight" msgstr "Podświetlenie czcionki niestandardowego przycisku" +msgid "Scroll Hint Color" +msgstr "Kolor wskazówki przewijania" + msgid "Item Margin" msgstr "Margines elementu" @@ -11351,6 +11375,12 @@ msgstr "Prawy wewnętrzny margines elementu" msgid "Inner Item Margin Top" msgstr "Górny wewnętrzny margines elementu" +msgid "Check H Separation" +msgstr "Poziomy odstęp znaczka" + +msgid "Icon H Separation" +msgstr "Poziomy odstęp ikony" + msgid "Button Margin" msgstr "Margines przycisku" diff --git a/editor/translations/properties/pt_BR.po b/editor/translations/properties/pt_BR.po index 3d42bca809f8..2c398767ef1c 100644 --- a/editor/translations/properties/pt_BR.po +++ b/editor/translations/properties/pt_BR.po @@ -172,13 +172,14 @@ # Ian Pontes Louzada , 2025. # Felipe Martins , 2025. # Katarina Müller , 2025. +# Maíra Alves Rodrigues , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2016-05-30\n" -"PO-Revision-Date: 2025-07-05 04:49+0000\n" -"Last-Translator: Katarina Müller \n" +"PO-Revision-Date: 2026-01-14 15:11+0000\n" +"Last-Translator: Maíra Alves Rodrigues \n" "Language-Team: Portuguese (Brazil) \n" "Language: pt_BR\n" @@ -186,7 +187,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n > 1;\n" -"X-Generator: Weblate 5.13-dev\n" +"X-Generator: Weblate 5.15.2\n" msgid "Application" msgstr "Aplicação" @@ -207,7 +208,7 @@ msgid "Version" msgstr "Versão" msgid "Run" -msgstr "Execução" +msgstr "Executar" msgid "Main Scene" msgstr "Cena Principal" @@ -236,14 +237,17 @@ msgstr "Nome do Diretório de Usuário Personalizado" msgid "Project Settings Override" msgstr "Substituir Configurações do Projeto" +msgid "Disable Project Settings Override" +msgstr "Desativar a substituição das configurações do projeto" + msgid "Main Loop Type" -msgstr "Tipo de Loop Principal" +msgstr "Tipo de loop principal" msgid "Auto Accept Quit" -msgstr "Sair Automaticamente ao Fechar" +msgstr "Sair automaticamente ao fechar" msgid "Quit on Go Back" -msgstr "Encerrar ao Voltar" +msgstr "Encerrar ao voltar" msgid "Accessibility" msgstr "Acessibilidade" @@ -252,13 +256,13 @@ msgid "General" msgstr "Geral" msgid "Accessibility Support" -msgstr "Suporte à acessibilidade" +msgstr "Suporte de acessibilidade" msgid "Updates per Second" -msgstr "Atualizações por Segundo" +msgstr "Atualizações por segundo" msgid "Display" -msgstr "Exibição" +msgstr "Mostrar" msgid "Window" msgstr "Janela" @@ -267,22 +271,22 @@ msgid "Size" msgstr "Tamanho" msgid "Viewport Width" -msgstr "Largura da Viewport" +msgstr "Largura da janela de visualização" msgid "Viewport Height" -msgstr "Altura da Viewport" +msgstr "Altura da janela de visualização" msgid "Mode" msgstr "Modo" msgid "Initial Position Type" -msgstr "Tipo de Posição Inicial" +msgstr "Tipo de posição inicial" msgid "Initial Position" -msgstr "Posição Inicial" +msgstr "Posição inicial" msgid "Initial Screen" -msgstr "Tela Inicial" +msgstr "Tela inicial" msgid "Resizable" msgstr "Redimensionável" @@ -338,6 +342,9 @@ msgstr "Verificar Conflito em Tipo de Interpolação de Ângulo" msgid "Compatibility" msgstr "Compatibilidade" +msgid "Default Parent Skeleton in Mesh Instance 3D" +msgstr "Esqueleto pai padrão em instância de malha 3D" + msgid "Audio" msgstr "Áudio" @@ -365,6 +372,9 @@ msgstr "iOS" msgid "Session Category" msgstr "Categoria da Sessão" +msgid "Mix with Others" +msgstr "Misturar com outros" + msgid "Subwindows" msgstr "Subjanelas" @@ -491,9 +501,15 @@ msgstr "Delay do Tooltip (seg)" msgid "Common" msgstr "Comum" +msgid "Drag Threshold" +msgstr "Limiar de arrastar" + msgid "Snap Controls to Pixels" msgstr "Alinhar Controles a Pixels" +msgid "Show Focus State on Pointer Event" +msgstr "Exibir estado de foco no evento do ponteiro" + msgid "Fonts" msgstr "Fontes" @@ -623,6 +639,12 @@ msgstr "Pré-cálculo Usar Múltiplas Threads" msgid "Baking Use High Priority Threads" msgstr "Pré-cálculo Usar Threads de Alta Prioridade" +msgid "NavMesh Edge Merge Errors" +msgstr "Erros de mesclagem de arestas do NavMesh" + +msgid "NavMesh Cell Size Mismatch" +msgstr "Incompatibilidade de tamanho de célula do NavMesh" + msgid "Low Processor Usage Mode" msgstr "Modo de Baixo Uso do Processador" @@ -908,6 +930,9 @@ msgstr "TCP" msgid "Connect Timeout Seconds" msgstr "Segundos de Timeout para Conexão" +msgid "Unix" +msgstr "Unix" + msgid "Packet Peer Stream" msgstr "Transmissão de Peer de Pacotes" @@ -1022,6 +1047,9 @@ msgstr "Sincronizar Pontos de Interrupção" msgid "Title" msgstr "Título" +msgid "Global" +msgstr "Global" + msgid "Transient" msgstr "Transitória" @@ -1571,6 +1599,9 @@ msgstr "Permitir Fallback do Sistema" msgid "Force Autohinter" msgstr "Forçar Autohinter" +msgid "Modulate Color Glyphs" +msgstr "Modular glifos de cor" + msgid "Hinting" msgstr "Hinting" @@ -1590,7 +1621,7 @@ msgid "Language Support" msgstr "Idiomas Suportados" msgid "Script Support" -msgstr "Sistemas de Escrita Suportados" +msgstr "Suporte a scripts" msgid "OpenType Features" msgstr "Funcionalidades OpenType" @@ -1631,6 +1662,9 @@ msgstr "Modo de Escalonamento" msgid "Delimiter" msgstr "Delimitador" +msgid "Unescape Keys" +msgstr "Teclas Unescape" + msgid "Character Ranges" msgstr "Alcances de Caractere" @@ -1703,6 +1737,9 @@ msgstr "Fonte Normal" msgid "Process" msgstr "Processamento" +msgid "Blue" +msgstr "Azul" + msgid "Fix Alpha Border" msgstr "Corrigir Borda do Alpha" @@ -1947,6 +1984,9 @@ msgstr "Tela do Gerenciador de Projetos" msgid "Connection" msgstr "Conexão" +msgid "Check for Updates" +msgstr "Verifique se há atualizações" + msgid "Use Embedded Menu" msgstr "Usar Menu Integrado" @@ -1995,6 +2035,9 @@ msgstr "Fonte em Negrito Principal" msgid "Code Font" msgstr "Fonte do Código" +msgid "Dragging Hover Wait Seconds" +msgstr "Arrastar, passar o cursor, aguardar segundos" + msgid "Separate Distraction Mode" msgstr "Modo Sem Distrações Separado" @@ -2037,6 +2080,9 @@ msgstr "Modo de V-Sync" msgid "Update Continuously" msgstr "Atualizar Continuamente" +msgid "Collapse Main Menu" +msgstr "Recolher menu principal" + msgid "Show Scene Tree Root Selection" msgstr "Mostrar Seleção de Raiz em Novas Cenas" @@ -2157,6 +2203,9 @@ msgstr "Touchscreen" msgid "Scale Gizmo Handles" msgstr "Dimensionar Controles do Gizmo" +msgid "Touch Actions Panel" +msgstr "Painel de ações de toque" + msgid "Scene Tabs" msgstr "Abas de Cena" @@ -2226,6 +2275,9 @@ msgstr "Comprimir Recursos Binários" msgid "Safe Save on Backup then Rename" msgstr "Fazer Backup ao Salvar Arquivos" +msgid "Warn on Saving Large Text Resources" +msgstr "Aviso sobre o salvamento de recursos de texto grandes" + msgid "File Server" msgstr "Servidor de Arquivos" @@ -2352,6 +2404,9 @@ msgstr "Lista de Observações" msgid "Appearance" msgstr "Aparência" +msgid "Enable Inline Color Picker" +msgstr "Ativar seletor de cores embutido" + msgid "Caret" msgstr "Cursor" @@ -2499,6 +2554,9 @@ msgstr "Recarregar e Reinterpretar Scripts ao Salvar" msgid "Open Dominant Script on Scene Change" msgstr "Abrir Script Dominante ao Mudar de Cena" +msgid "Drop Preload Resources as UID" +msgstr "Remover recursos de pré-carregamento como UID" + msgid "Documentation" msgstr "Documentação" @@ -2694,6 +2752,9 @@ msgstr "Colisão de Osso Mola" msgid "Spring Bone Inside Collision" msgstr "Colisão Interna do Osso Mola" +msgid "IK Chain" +msgstr "Cadeia IK" + msgid "Gizmo Settings" msgstr "Configurações dos Gizmos" @@ -2925,6 +2986,9 @@ msgstr "Criar Faixa de Bezier por Padrão" msgid "Default Create Reset Tracks" msgstr "Criar Faixa RESET Por Padrão" +msgid "Insert at Current Time" +msgstr "Inserir a hora atual" + msgid "Onion Layers Past Color" msgstr "Cor do Papel Vegetal Anterior" @@ -3312,6 +3376,9 @@ msgstr "Utilidades de Depuração" msgid "Debug Message Types" msgstr "Tipos de Mensagem de Depuração" +msgid "Frame Synthesis" +msgstr "Síntese de quadros" + msgid "Hand Tracking" msgstr "Detecção de Mãos" @@ -3324,6 +3391,12 @@ msgstr "Detecção de Mãos: Fonte de Dados do Controle" msgid "Hand Interaction Profile" msgstr "Perfil de Interação da Mão" +msgid "Aruco Dict" +msgstr "Dicionário Aruco" + +msgid "April Tag Dict" +msgstr "Ditado de tags de abril" + msgid "Eye Gaze Interaction" msgstr "Interação de Olhar" @@ -3528,6 +3601,9 @@ msgstr "Compilações Desenho" msgid "Compilations Specialization" msgstr "Compilações Especialização" +msgid "Basis Universal" +msgstr "Base universal" + msgid "Operation" msgstr "Operação" @@ -3645,9 +3721,99 @@ msgstr "GDScript" msgid "Max Call Stack" msgstr "Máx. Call Stack" +msgid "Always Track Local Variables" +msgstr "Sempre acompanhe as variáveis locais" + msgid "Renamed in Godot 4 Hint" msgstr "Dica Renomeado no Godot 4" +msgid "Unassigned Variable" +msgstr "Variável não atribuída" + +msgid "Unassigned Variable Op Assign" +msgstr "Variável não atribuída Op Assign" + +msgid "Unused Private Class Variable" +msgstr "Variável de classe privada não utilizada" + +msgid "Unused Signal" +msgstr "Sinal não utilizado" + +msgid "Shadowed Variable Base Class" +msgstr "Classe base de variável sombreada" + +msgid "Unreachable Code" +msgstr "Código inacessível" + +msgid "Unreachable Pattern" +msgstr "Padrão inacessível" + +msgid "Standalone Ternary" +msgstr "Ternário independente" + +msgid "Incompatible Ternary" +msgstr "Ternário incompatível" + +msgid "Unsafe Property Access" +msgstr "Acesso inseguro à propriedade" + +msgid "Unsafe Method Access" +msgstr "Acesso a métodos inseguros" + +msgid "Unsafe Cast" +msgstr "Elenco inseguro" + +msgid "Unsafe Call Argument" +msgstr "Argumento de chamada insegura" + +msgid "Unsafe Void Return" +msgstr "Devolução anulada insegura" + +msgid "Return Value Discarded" +msgstr "Valor de retorno descartado" + +msgid "Static Called On Instance" +msgstr "Chamada estática na instância" + +msgid "Redundant Static Unload" +msgstr "Descarregamento estático redundante" + +msgid "Redundant Await" +msgstr "Redundante aguarda" + +msgid "Assert Always True" +msgstr "Afirme sempre a verdade" + +msgid "Assert Always False" +msgstr "Afirmar sempre falso" + +msgid "Integer Division" +msgstr "Divisão inteira" + +msgid "Int As Enum Without Cast" +msgstr "Int como Enum sem conversão" + +msgid "Int As Enum Without Match" +msgstr "Int como Enum sem correspondência" + +msgid "Enum Variable Without Default" +msgstr "Variável de enumeração sem valor padrão" + +msgid "Confusable Local Usage" +msgstr "Uso local que pode ser confundido" + +msgid "Confusable Capture Reassignment" +msgstr "Reatribuição de captura confusa" + +msgid "Inference On Variant" +msgstr "Inferência sobre variantes" + +msgid "Get Node Default Without Onready" +msgstr "Obter o padrão do nó sem Onready" + +msgid "Onready With Export" +msgstr "Pronto para exportação" + msgid "Language Server" msgstr "Servidor de Linguagem" @@ -4377,6 +4543,12 @@ msgstr "Limiar Ativado" msgid "Off Threshold" msgstr "Limiar Desativado" +msgid "April Dict" +msgstr "Dito de abril" + +msgid "Marker ID" +msgstr "ID do marcador" + msgid "Display Refresh Rate" msgstr "Mostrar Taxa de Atualização" @@ -4404,6 +4576,12 @@ msgstr "Mistura Alfa" msgid "Enable Hole Punch" msgstr "Habilitar Perfurador" +msgid "Green Swizzle" +msgstr "Remapeamento dos componentes de cor verde" + +msgid "Blue Swizzle" +msgstr "Remapeamento dos componentes de cor azul" + msgid "Border Color" msgstr "Cor da Borda" @@ -4551,6 +4729,9 @@ msgstr "Caminho do SDK Java" msgid "Android SDK Path" msgstr "Caminho do SDK Android" +msgid "scrcpy" +msgstr "copiar tela" + msgid "Force System User" msgstr "Forçar Usuário do Sistema" @@ -4593,6 +4774,9 @@ msgstr "Pasta do Compilador Gradle" msgid "Android Source Template" msgstr "Fonte do Modelo para Android" +msgid "Compress Native Libraries" +msgstr "Comprimir bibliotecas nativas" + msgid "Export Format" msgstr "Formato de Exportação" @@ -4812,6 +4996,9 @@ msgstr "rcodesign" msgid "Distribution Type" msgstr "Tipo de Distribuição" +msgid "Liquid Glass Icon" +msgstr "Ícone de vidro líquido" + msgid "Copyright Localized" msgstr "Copyright Traduzido" @@ -5085,6 +5272,9 @@ msgstr "Ícone 180 X 180" msgid "Icon 512 X 512" msgstr "Ícone 512 X 512" +msgid "Emscripten Pool Size" +msgstr "Tamanho da piscina Emscripten" + msgid "Windows" msgstr "Windows" @@ -5610,6 +5800,9 @@ msgstr "Simplificar Caminho" msgid "Simplify Epsilon" msgstr "Épsilon de Simplificação" +msgid "Path Search Max Polygons" +msgstr "Busca de caminho com polígonos máximos" + msgid "Neighbor Distance" msgstr "Distância dos Vizinhos" @@ -6353,6 +6546,9 @@ msgstr "Alinhamento Vertical" msgid "Uppercase" msgstr "Maiúsculo" +msgid "Autowrap Trim Flags" +msgstr "Bandeiras de acabamento Autowrap" + msgid "Justification Flags" msgstr "Flags de Justificação" @@ -6524,6 +6720,9 @@ msgstr "Dados de Luz" msgid "Exclude" msgstr "Ignorar" +msgid "Chains" +msgstr "Correntes" + msgid "Target Node" msgstr "Nó Alvo" @@ -7523,6 +7722,15 @@ msgstr "Forma do Cursor Padrão" msgid "Shortcut Context" msgstr "Contexto do Atalho" +msgid "Live" +msgstr "Ao vivo" + +msgid "Described by Nodes" +msgstr "Descrito por nós" + +msgid "Labeled by Nodes" +msgstr "Rotulado por nós" + msgid "Type Variation" msgstr "Variação de Tipo" @@ -7748,6 +7956,9 @@ msgstr "Menu de Contexto Hailitado" msgid "Emoji Menu Enabled" msgstr "Menu de Emoji Habilitado" +msgid "Backspace Deletes Composite Character Enabled" +msgstr "A função Backspace apaga caracteres compostos (ativada)" + msgid "Clear Button Enabled" msgstr "Botão de Apagar Habilitado" @@ -8012,6 +8223,9 @@ msgstr "Alinhamento das Abas" msgid "Clip Tabs" msgstr "Cortar Abas" +msgid "Close with Middle Mouse" +msgstr "Fechar com o botão do meio do mouse" + msgid "Tab Close Display Policy" msgstr "Mostrar Botão de Fechar" @@ -9522,6 +9736,9 @@ msgstr "MSDF" msgid "Pixel Range" msgstr "Intervalo de Pixel" +msgid "Stencil" +msgstr "Estêncil" + msgid "Convex Hull Downsampling" msgstr "Downsampling de Envoltória Convexa" @@ -10359,6 +10576,9 @@ msgstr "Próxima Pasta" msgid "Reload" msgstr "Recarregar" +msgid "Favorite" +msgstr "Favorito" + msgid "Toggle Hidden" msgstr "Alternar Escondidos" @@ -10371,6 +10591,12 @@ msgstr "Pasta" msgid "Create Folder" msgstr "Criar Pasta" +msgid "Favorite Up" +msgstr "Subir favorito" + +msgid "Favorite Down" +msgstr "Descer favorito" + msgid "Folder Icon Color" msgstr "Cor de Ícone de Pasta" @@ -10422,6 +10648,9 @@ msgstr "Item Preenchimento Inicial" msgid "Item End Padding" msgstr "Item Preenchimento Final" +msgid "Gutter Compact" +msgstr "Calha compacta" + msgid "Panel Selected" msgstr "Painel Selecionado" @@ -10566,6 +10795,9 @@ msgstr "Pai Linha de Relacionamento Margem" msgid "Draw Guides" msgstr "Mostrar Guias" +msgid "Dragging Unfold Wait Msec" +msgstr "Arrastar desdobrar aguardar (em milissegundos)" + msgid "Scroll Border" msgstr "Barra de Rolagem Borda" @@ -10632,6 +10864,9 @@ msgstr "Ícone Separação" msgid "Button Highlight" msgstr "Botão Realce" +msgid "Hover Switch Wait Msec" +msgstr "Aguarde o interruptor de compartilhamento de tempo (em milissegundos)" + msgid "SV Width" msgstr "SV Largura" @@ -10647,6 +10882,12 @@ msgstr "Label Largura" msgid "Center Slider Grabbers" msgstr "Slider Arrastadores Centro" +msgid "Picker Focus Rectangle" +msgstr "Retângulo de foco do seletor" + +msgid "Focused not Editing Cursor Color" +msgstr "Cursor em foco, não editável" + msgid "Menu Option" msgstr "Menu Opção" @@ -10752,6 +10993,18 @@ msgstr "Texto Realce Preenchimento H" msgid "Text Highlight V Padding" msgstr "Texto Realce Preenchimento V" +msgid "Strikethrough Alpha" +msgstr "Alfa tachado" + +msgid "H Touch Dragger" +msgstr "Arrastador H pressionado" + +msgid "V Touch Dragger" +msgstr "Arrastador V pressionado" + +msgid "Touch Dragger" +msgstr "Arrastador de toque" + msgid "H Grabber" msgstr "Arrastador H" @@ -10827,6 +11080,9 @@ msgstr "Conexão Coloração Alvo Válido" msgid "Connection Rim Color" msgstr "Conexão Cor do Aro" +msgid "Title Collapsed Hover Panel" +msgstr "Painel de título recolhido ao passar o cursor" + msgid "Port Hotzone Inner Extent" msgstr "Porta Zona Ativa Extensão Interna" @@ -11583,6 +11839,24 @@ msgstr "Usar Passe de Meia Resolução" msgid "Use Quarter Res Pass" msgstr "Usar Passe de Um Quarto de Resolução" +msgid "Float Comparison" +msgstr "Comparação flutuante" + +msgid "Unused Struct" +msgstr "Estrutura não utilizada" + +msgid "Unused Uniform" +msgstr "Uniforme não utilizado" + +msgid "Unused Varying" +msgstr "Variável não utilizada" + +msgid "Unused Local Variable" +msgstr "Variável local não utilizada" + +msgid "Device Limit Exceeded" +msgstr "Limite de dispositivos excedido" + msgid "Internal Size" msgstr "Tamanho Interno" diff --git a/editor/translations/properties/sv.po b/editor/translations/properties/sv.po index bfb438627f97..bbe6ee87011d 100644 --- a/editor/translations/properties/sv.po +++ b/editor/translations/properties/sv.po @@ -34,14 +34,14 @@ # Allan Nordhøy , 2024. # Simon Eriksson , 2024. # Isak Waltin , 2024, 2025. -# Lasse Edsvik , 2025. +# Lasse Edsvik , 2025, 2026. # "A Thousand Ships (she/her)" , 2025. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-20 02:47+0000\n" +"PO-Revision-Date: 2026-01-22 09:33+0000\n" "Last-Translator: Lasse Edsvik \n" "Language-Team: Swedish \n" @@ -50,7 +50,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Applikation" @@ -2894,6 +2894,9 @@ msgstr "Storlek på manipulator‑gizmo" msgid "Manipulator Gizmo Opacity" msgstr "Opacitet för manipulator‑gizmo" +msgid "Show Gizmo During Rotation" +msgstr "Visa gizmo under rotation" + msgid "Grid Color" msgstr "Rutnätsfärg" @@ -2936,6 +2939,9 @@ msgstr "Zoomhastighetsfaktor" msgid "Ruler Width" msgstr "Linjalbredd" +msgid "Auto Resample Delay" +msgstr "Automatisk omsamplingsfördröjning" + msgid "Bone Mapper" msgstr "Benkartläggare" @@ -3374,6 +3380,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "Målversion för API" + msgid "Default Action Map" msgstr "Standardåtgärdskarta" @@ -8398,6 +8407,12 @@ msgstr "Systemmeny‑ID" msgid "Prefer Native Menu" msgstr "Föredra inbyggd meny" +msgid "Shrink Height" +msgstr "Minska höjd" + +msgid "Shrink Width" +msgstr "Minska bredd" + msgid "Fill Mode" msgstr "Fyllnadsläge" @@ -11006,6 +11021,12 @@ msgstr "Rullningshint vertikal" msgid "Scroll Hint Horizontal" msgstr "Horisontell rullningshint" +msgid "Scroll Hint Vertical Color" +msgstr "Färg för vertikal rullningshint" + +msgid "Scroll Hint Horizontal Color" +msgstr "Färg för horisontell rullningshint" + msgid "Embedded Border" msgstr "Inbäddad ram" @@ -11270,6 +11291,9 @@ msgstr "Barn‑HL‑linjefärg" msgid "Custom Button Font Highlight" msgstr "Anpassad knapp (typsnitt, markerat)" +msgid "Scroll Hint Color" +msgstr "Färg för rullningshint" + msgid "Item Margin" msgstr "Objektmarginal" @@ -11285,6 +11309,12 @@ msgstr "Inre objektmarginal (höger)" msgid "Inner Item Margin Top" msgstr "Inre objektmarginal (övre)" +msgid "Check H Separation" +msgstr "Kontrollera horisontell separation" + +msgid "Icon H Separation" +msgstr "Ikonens horisontella separation" + msgid "Button Margin" msgstr "Knappmarginal" diff --git a/editor/translations/properties/tr.po b/editor/translations/properties/tr.po index 699ebf8f9e30..b2f325fcb1c0 100644 --- a/editor/translations/properties/tr.po +++ b/editor/translations/properties/tr.po @@ -103,13 +103,14 @@ # Murat Ugur , 2025. # Sueda Ünlü , 2025. # Fatih Serbest , 2026. +# Hasan Kara , 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2026-01-10 10:02+0000\n" -"Last-Translator: Fatih Serbest \n" +"PO-Revision-Date: 2026-01-14 14:30+0000\n" +"Last-Translator: Hasan Kara \n" "Language-Team: Turkish \n" "Language: tr\n" @@ -117,7 +118,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=n != 1;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.15.2\n" msgid "Application" msgstr "Uygulama" @@ -524,6 +525,12 @@ msgstr "Kaydırma ve Ölçekleme Parmak Hareketlerini Etkileştir" msgid "Rotary Input Scroll Axis" msgstr "Döner Giriş Kaydırma Ekseni" +msgid "Override Volume Buttons" +msgstr "ses tuşlarını yeniden tanımla" + +msgid "Disable Scroll Deadzone" +msgstr "Kaydırma Ölü Bölgesini Devre Dışı Bırak" + msgid "Navigation" msgstr "Gezinti" @@ -965,6 +972,15 @@ msgstr "Başlık" msgid "Transient" msgstr "Kısa Süreli" +msgid "Icon Name" +msgstr "Simge Adı" + +msgid "Dock Icon" +msgstr "Dock Simgesi" + +msgid "Force Show Icon" +msgstr "Simgeyi Göstermeye Zorla" + msgid "Title Color" msgstr "Başlık Rengi" @@ -1145,6 +1161,9 @@ msgstr "Salt Okunur" msgid "Flat" msgstr "Düz" +msgid "Control State" +msgstr "Denetim Durumu" + msgid "Hide Slider" msgstr "Kaydırıcıyı Gizle" @@ -1247,6 +1266,9 @@ msgstr "Örgü Sıkıştırmayı Devre Dışı Bırakmayı Zorla" msgid "Node" msgstr "Düğüm" +msgid "Node Type" +msgstr "Node Türü" + msgid "Script" msgstr "Betik" diff --git a/editor/translations/properties/uk.po b/editor/translations/properties/uk.po index 8fa48e6d1038..a965c07c52e6 100644 --- a/editor/translations/properties/uk.po +++ b/editor/translations/properties/uk.po @@ -38,13 +38,13 @@ # Максим Горпиніч , 2024. # Максим Горпиніч , 2025. # Максим Горпиніч , 2025. -# Максим Горпиніч , 2025. +# Максим Горпиніч , 2025, 2026. msgid "" msgstr "" "Project-Id-Version: Ukrainian (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-19 13:25+0000\n" +"PO-Revision-Date: 2026-01-20 09:04+0000\n" "Last-Translator: Максим Горпиніч \n" "Language-Team: Ukrainian \n" @@ -54,7 +54,7 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && " "n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "Застосування" @@ -2898,6 +2898,9 @@ msgstr "Розмір гаджета маніпулятора" msgid "Manipulator Gizmo Opacity" msgstr "Непрозорість гаджета маніпулятора" +msgid "Show Gizmo During Rotation" +msgstr "Показувати Гізмо під час обертання" + msgid "Grid Color" msgstr "Колір сітки" @@ -2940,6 +2943,9 @@ msgstr "Коефіцієнт швидкості масштабування" msgid "Ruler Width" msgstr "Ширина лінійки" +msgid "Auto Resample Delay" +msgstr "Затримка автоматичного ресемплування" + msgid "Bone Mapper" msgstr "Картограф кісток" @@ -3378,6 +3384,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "Цільова версія API" + msgid "Default Action Map" msgstr "Карта дій за замовчуванням" @@ -8402,6 +8411,12 @@ msgstr "Ідентифікатор системного меню" msgid "Prefer Native Menu" msgstr "Віддавайте перевагу рідному меню" +msgid "Shrink Height" +msgstr "Висота усадки" + +msgid "Shrink Width" +msgstr "Ширина усадки" + msgid "Fill Mode" msgstr "Режим заповнення" @@ -11010,6 +11025,12 @@ msgstr "Підказка прокручування вертикально" msgid "Scroll Hint Horizontal" msgstr "Підказка прокручування по горизонталі" +msgid "Scroll Hint Vertical Color" +msgstr "Колір вертикальної підказки прокручування" + +msgid "Scroll Hint Horizontal Color" +msgstr "Колір горизонтальної підказки прокручування" + msgid "Embedded Border" msgstr "Вбудована рамка" @@ -11274,6 +11295,9 @@ msgstr "Діти HL Колір лінії" msgid "Custom Button Font Highlight" msgstr "Підсвічений шрифт нетипової кнопки" +msgid "Scroll Hint Color" +msgstr "Колір підказки прокручування" + msgid "Item Margin" msgstr "Поле пункту" @@ -11289,6 +11313,12 @@ msgstr "Внутрішнє поле елемента справа" msgid "Inner Item Margin Top" msgstr "Верх внутрішнього поля елемента" +msgid "Check H Separation" +msgstr "Перевірте розділення H" + +msgid "Icon H Separation" +msgstr "Розділення піктограми H" + msgid "Button Margin" msgstr "Поле кнопки" diff --git a/editor/translations/properties/zh_Hans.po b/editor/translations/properties/zh_Hans.po index 9589d0bcb1f6..c2a63ba6b36d 100644 --- a/editor/translations/properties/zh_Hans.po +++ b/editor/translations/properties/zh_Hans.po @@ -76,7 +76,7 @@ # twoBornottwoB <305766341@qq.com>, 2021. # Magian , 2021, 2025. # Weiduo Xie , 2021. -# suplife <2634557184@qq.com>, 2021, 2022, 2023. +# suplife <2634557184@qq.com>, 2021, 2022, 2023, 2026. # luoji <564144019@qq.com>, 2021. # zeng haochen , 2021. # Sam Sun , 2021. @@ -84,7 +84,7 @@ # nitenook , 2021. # jker , 2021. # Ankar <1511276198@qq.com>, 2022. -# 风青山 , 2022, 2023, 2024. +# 风青山 , 2022, 2023, 2024, 2026. # 1104 EXSPIRAVIT_ , 2022. # ChairC <974833488@qq.com>, 2022. # dmit-225 , 2023. @@ -105,8 +105,8 @@ msgstr "" "Project-Id-Version: Chinese (Simplified) (Godot Engine)\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: 2018-01-20 12:15+0200\n" -"PO-Revision-Date: 2026-01-01 14:55+0000\n" -"Last-Translator: Zhen Luo <461652354@qq.com>\n" +"PO-Revision-Date: 2026-01-24 01:46+0000\n" +"Last-Translator: 风青山 \n" "Language-Team: Chinese (Simplified Han script) \n" "Language: zh_Hans\n" @@ -114,7 +114,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15.1\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "应用" @@ -2958,6 +2958,9 @@ msgstr "操作小工具大小" msgid "Manipulator Gizmo Opacity" msgstr "操作小工具不透明度" +msgid "Show Gizmo During Rotation" +msgstr "旋转时显示小工具" + msgid "Grid Color" msgstr "栅格颜色" @@ -3000,6 +3003,9 @@ msgstr "缩放速度系数" msgid "Ruler Width" msgstr "标尺宽度" +msgid "Auto Resample Delay" +msgstr "自动重采样延时" + msgid "Bone Mapper" msgstr "骨骼映射器" @@ -3438,6 +3444,9 @@ msgstr "XR" msgid "OpenXR" msgstr "OpenXR" +msgid "Target API Version" +msgstr "目标API版本" + msgid "Default Action Map" msgstr "默认动作映射" @@ -8462,6 +8471,12 @@ msgstr "系统菜单 ID" msgid "Prefer Native Menu" msgstr "首选原生菜单" +msgid "Shrink Height" +msgstr "收缩高度" + +msgid "Shrink Width" +msgstr "收缩宽度" + msgid "Fill Mode" msgstr "填充模式" @@ -11070,6 +11085,12 @@ msgstr "垂直滚动提示" msgid "Scroll Hint Horizontal" msgstr "水平滚动提示" +msgid "Scroll Hint Vertical Color" +msgstr "垂直滚动提示颜色" + +msgid "Scroll Hint Horizontal Color" +msgstr "水平滚动提示颜色" + msgid "Embedded Border" msgstr "嵌入式边框" @@ -11334,6 +11355,9 @@ msgstr "子高亮线颜色" msgid "Custom Button Font Highlight" msgstr "自定义按钮字体高亮" +msgid "Scroll Hint Color" +msgstr "滚动提示颜色" + msgid "Item Margin" msgstr "项目边距" @@ -11349,6 +11373,12 @@ msgstr "内部项目右边距" msgid "Inner Item Margin Top" msgstr "内部项目上边距" +msgid "Check H Separation" +msgstr "检查水平间距" + +msgid "Icon H Separation" +msgstr "水平间距图标" + msgid "Button Margin" msgstr "按钮边距" diff --git a/editor/translations/properties/zh_Hant.po b/editor/translations/properties/zh_Hant.po index 6b0de28b4036..553abb306b94 100644 --- a/editor/translations/properties/zh_Hant.po +++ b/editor/translations/properties/zh_Hant.po @@ -51,13 +51,14 @@ # STENYIN lee , 2025. # Myeongjin , 2025. # RogerFang , 2025. +# Wei-Fu Chen <410477jimmy@gmail.com>, 2026. msgid "" msgstr "" "Project-Id-Version: Godot Engine properties\n" "Report-Msgid-Bugs-To: https://github.com/godotengine/godot\n" "POT-Creation-Date: \n" -"PO-Revision-Date: 2025-12-08 20:00+0000\n" -"Last-Translator: RogerFang \n" +"PO-Revision-Date: 2026-01-25 00:39+0000\n" +"Last-Translator: Wei-Fu Chen <410477jimmy@gmail.com>\n" "Language-Team: Chinese (Traditional Han script) \n" "Language: zh_Hant\n" @@ -65,7 +66,7 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -"X-Generator: Weblate 5.15-dev\n" +"X-Generator: Weblate 5.16-dev\n" msgid "Application" msgstr "應用" @@ -115,6 +116,9 @@ msgstr "自訂使用者目錄名稱" msgid "Project Settings Override" msgstr "覆寫專案設定" +msgid "Disable Project Settings Override" +msgstr "停用覆寫專案設定" + msgid "Main Loop Type" msgstr "主迴圈型別" @@ -217,6 +221,9 @@ msgstr "檢查角度插值類型衝突" msgid "Compatibility" msgstr "編譯" +msgid "Default Parent Skeleton in Mesh Instance 3D" +msgstr "Mesh Instance 3D 的預設父骨架" + msgid "Audio" msgstr "音訊" diff --git a/main/main.cpp b/main/main.cpp index 064c20dab44a..65d21d45ecb0 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -2094,6 +2094,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph "DISABLE_LAYER", // GH-104154 (fpsmon). "DISABLE_MANGOHUD", // GH-57403. "DISABLE_VKBASALT", + "DISABLE_FOSSILIZE", // GH-115139. }; #if defined(WINDOWS_ENABLED) || defined(LINUXBSD_ENABLED) @@ -2788,6 +2789,7 @@ Error Main::setup(const char *execpath, int argc, char *argv[], bool p_second_ph #ifndef _3D_DISABLED // XR project settings. GLOBAL_DEF_RST_BASIC("xr/openxr/enabled", false); + GLOBAL_DEF(PropertyInfo(Variant::STRING, "xr/openxr/target_api_version"), ""); GLOBAL_DEF_BASIC(PropertyInfo(Variant::STRING, "xr/openxr/default_action_map", PROPERTY_HINT_FILE, "*.tres"), "res://openxr_action_map.tres"); GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/form_factor", PROPERTY_HINT_ENUM, "Head Mounted,Handheld"), "0"); GLOBAL_DEF_BASIC(PropertyInfo(Variant::INT, "xr/openxr/view_configuration", PROPERTY_HINT_ENUM, "Mono,Stereo"), "1"); // "Mono,Stereo,Quad,Observer" @@ -4723,6 +4725,23 @@ int Main::start() { GDExtensionManager::get_singleton()->startup(); +#ifdef MACOS_ENABLED + // TODO: Used to fix full-screen splash drawing on macOS, processing events before main loop is fully initialized cause issues on Wayland, and has no effect on other platforms. + if (minimum_time_msec) { + int64_t minimum_time = 1000 * minimum_time_msec; + uint64_t prev_time = OS::get_singleton()->get_ticks_usec(); + while (minimum_time > 0) { + DisplayServer::get_singleton()->process_events(); + OS::get_singleton()->delay_usec(100); + + uint64_t next_time = OS::get_singleton()->get_ticks_usec(); + minimum_time -= (next_time - prev_time); + prev_time = next_time; + } + } else { + DisplayServer::get_singleton()->process_events(); + } +#else if (minimum_time_msec) { uint64_t minimum_time = 1000 * minimum_time_msec; uint64_t elapsed_time = OS::get_singleton()->get_ticks_usec(); @@ -4730,6 +4749,7 @@ int Main::start() { OS::get_singleton()->delay_usec(minimum_time - elapsed_time); } } +#endif OS::get_singleton()->benchmark_end_measure("Startup", "Main::Start"); OS::get_singleton()->benchmark_dump(); diff --git a/modules/mono/editor/bindings_generator.cpp b/modules/mono/editor/bindings_generator.cpp index afa944f8eb99..056f77f69dfa 100644 --- a/modules/mono/editor/bindings_generator.cpp +++ b/modules/mono/editor/bindings_generator.cpp @@ -4263,6 +4263,11 @@ bool BindingsGenerator::_populate_object_type_interfaces() { const MethodInfo &method_info = E.value; + if (method_info.name.begins_with("_")) { + // Signals starting with an underscore are internal and not meant to be exposed. + continue; + } + isignal.name = method_info.name; isignal.cname = method_info.name; diff --git a/modules/openxr/editor/openxr_editor_plugin.cpp b/modules/openxr/editor/openxr_editor_plugin.cpp index 9042d4871a1c..4fc9c733c4c8 100644 --- a/modules/openxr/editor/openxr_editor_plugin.cpp +++ b/modules/openxr/editor/openxr_editor_plugin.cpp @@ -122,10 +122,23 @@ String OpenXRExportPlugin::get_android_manifest_element_contents(const Ref - - )n"; +#ifndef DISABLE_DEPRECATED + // This logic addresses the issue from https://github.com/GodotVR/godot_openxr_vendors/issues/429. + // The issue is caused by this plugin and the vendors plugin adding the same `uses-feature` tag to the generated + // manifest, causing a duplicate error at build time. + // In order to maintain backward compatibility, we fix the issue by disabling the addition of the `uses-feature` + // tag from this plugin when specific conditions are met. + bool meta_plugin_enabled = get_option("xr_features/enable_meta_plugin"); + int meta_boundary_mode = get_option("meta_xr_features/boundary_mode"); + if (!meta_plugin_enabled || meta_boundary_mode != 1 /* BOUNDARY_DISABLED_VALUE */) { +#endif // DISABLE_DEPRECATED + contents += " \n"; +#ifndef DISABLE_DEPRECATED + } +#endif // DISABLE_DEPRECATED + return contents; } diff --git a/modules/openxr/extensions/openxr_valve_controller_extension.cpp b/modules/openxr/extensions/openxr_valve_controller_extension.cpp index 8adb1b34e84a..31c901779685 100644 --- a/modules/openxr/extensions/openxr_valve_controller_extension.cpp +++ b/modules/openxr/extensions/openxr_valve_controller_extension.cpp @@ -31,6 +31,7 @@ #include "openxr_valve_controller_extension.h" #include "../action_map/openxr_interaction_profile_metadata.h" +#include "../openxr_api.h" // Not yet part of the published OpenXR spec #ifndef XR_VALVE_FRAME_CONTROLLER_INTERACTION_EXTENSION_NAME @@ -54,12 +55,12 @@ void OpenXRValveControllerExtension::on_register_metadata() { ERR_FAIL_NULL(openxr_metadata); { // Valve Steam Frame controller - const String profile_path = "/interaction_profiles/valve/frame_controller"; + const String profile_path = "/interaction_profiles/valve/frame_controller_valve"; openxr_metadata->register_interaction_profile("Valve Steam Frame controller", profile_path, XR_VALVE_FRAME_CONTROLLER_INTERACTION_EXTENSION_NAME); for (const String user_path : { "/user/hand/left", "/user/hand/right" }) { openxr_metadata->register_io_path(profile_path, "Grip pose", user_path, user_path + "/input/grip/pose", "", OpenXRAction::OPENXR_ACTION_POSE); openxr_metadata->register_io_path(profile_path, "Aim pose", user_path, user_path + "/input/aim/pose", "", OpenXRAction::OPENXR_ACTION_POSE); - openxr_metadata->register_io_path(profile_path, "Palm pose", user_path, user_path + "/input/palm_ext/pose", XR_EXT_PALM_POSE_EXTENSION_NAME, OpenXRAction::OPENXR_ACTION_POSE); + openxr_metadata->register_io_path(profile_path, "Grip surface pose", user_path, user_path + "/input/grip_surface/pose", XR_EXT_PALM_POSE_EXTENSION_NAME "," XR_KHR_MAINTENANCE1_EXTENSION_NAME "," XR_OPENXR_1_1_NAME, OpenXRAction::OPENXR_ACTION_POSE); openxr_metadata->register_io_path(profile_path, "System touch", user_path, user_path + "/input/system/touch", "", OpenXRAction::OPENXR_ACTION_BOOL); openxr_metadata->register_io_path(profile_path, "System click", user_path, user_path + "/input/system/click", "", OpenXRAction::OPENXR_ACTION_BOOL); diff --git a/modules/openxr/openxr_api.cpp b/modules/openxr/openxr_api.cpp index e9d23d6da221..759eec82503d 100644 --- a/modules/openxr/openxr_api.cpp +++ b/modules/openxr/openxr_api.cpp @@ -659,12 +659,21 @@ XrResult OpenXRAPI::attempt_create_instance(XrVersion p_version) { bool OpenXRAPI::create_instance() { // Create our OpenXR instance, this will query any registered extension wrappers for extensions we need to enable. - XrResult result = attempt_create_instance(XR_API_VERSION_1_1); - if (result == XR_ERROR_API_VERSION_UNSUPPORTED) { - // Couldn't initialize OpenXR 1.1, try 1.0 + XrVersion init_version = XR_API_VERSION_1_1; + + String custom_version = GLOBAL_GET("xr/openxr/target_api_version"); + if (!custom_version.is_empty()) { + Vector ints = custom_version.split_ints(".", false); + ERR_FAIL_COND_V_MSG(ints.size() != 3, false, "OpenXR target API version must be major.minor.patch."); + init_version = XR_MAKE_VERSION(ints[0], ints[1], ints[2]); + } + + XrResult result = attempt_create_instance(init_version); + if (result == XR_ERROR_API_VERSION_UNSUPPORTED && init_version == XR_API_VERSION_1_1) { print_verbose("OpenXR: Falling back to OpenXR 1.0"); - result = attempt_create_instance(XR_API_VERSION_1_0); + init_version = XR_API_VERSION_1_0; + result = attempt_create_instance(init_version); } ERR_FAIL_COND_V_MSG(XR_FAILED(result), false, "Failed to create XR instance [" + get_error_string(result) + "]."); diff --git a/platform/android/export/export_plugin.cpp b/platform/android/export/export_plugin.cpp index 050bc113d372..6ccfb254839d 100644 --- a/platform/android/export/export_plugin.cpp +++ b/platform/android/export/export_plugin.cpp @@ -1037,8 +1037,11 @@ void EditorExportPlatformAndroid::_write_tmp_manifest(const Refsupports_platform(Ref(this))) { const String contents = export_plugins[i]->get_android_manifest_element_contents(Ref(this), p_debug); if (!contents.is_empty()) { + const String export_plugin_name = export_plugins[i]->get_name(); + manifest_text += "\n"; manifest_text += contents; manifest_text += "\n"; + manifest_text += "\n"; } } } diff --git a/platform/android/export/gradle_export_util.cpp b/platform/android/export/gradle_export_util.cpp index 420c36e3959d..93527568fb2a 100644 --- a/platform/android/export/gradle_export_util.cpp +++ b/platform/android/export/gradle_export_util.cpp @@ -291,8 +291,11 @@ String _get_activity_tag(const Ref &p_export_platform, con if (export_plugins[i]->supports_platform(p_export_platform)) { const String contents = export_plugins[i]->get_android_manifest_activity_element_contents(p_export_platform, p_debug); if (!contents.is_empty()) { + const String export_plugin_name = export_plugins[i]->get_name(); + export_plugins_activity_element_contents += "\n"; export_plugins_activity_element_contents += contents; export_plugins_activity_element_contents += "\n"; + export_plugins_activity_element_contents += "\n"; } } } @@ -387,8 +390,11 @@ String _get_application_tag(const Ref &p_export_platform, if (export_plugins[i]->supports_platform(p_export_platform)) { const String contents = export_plugins[i]->get_android_manifest_application_element_contents(p_export_platform, p_debug); if (!contents.is_empty()) { + const String export_plugin_name = export_plugins[i]->get_name(); + manifest_application_text += "\n"; manifest_application_text += contents; manifest_application_text += "\n"; + manifest_application_text += "\n"; } } } diff --git a/platform/linuxbsd/wayland/display_server_wayland.cpp b/platform/linuxbsd/wayland/display_server_wayland.cpp index 6cdf0dd9b0ba..ec91ac6c306c 100644 --- a/platform/linuxbsd/wayland/display_server_wayland.cpp +++ b/platform/linuxbsd/wayland/display_server_wayland.cpp @@ -1204,11 +1204,12 @@ void DisplayServerWayland::window_set_size(const Size2i p_size, DisplayServer::W ERR_FAIL_COND(!windows.has(p_window_id)); WindowData &wd = windows[p_window_id]; - // The XDG spec doesn't allow non-interactive resizes. Let's update the - // window's internal representation to account for that. - if (wd.rect_changed_callback.is_valid()) { - wd.rect_changed_callback.call(wd.rect); + Size2i new_size = p_size; + if (wd.visible) { + new_size = wayland_thread.window_set_size(p_window_id, p_size); } + + _update_window_rect(Rect2i(wd.rect.position, new_size), p_window_id); } Size2i DisplayServerWayland::window_get_size(DisplayServer::WindowID p_window_id) const { diff --git a/platform/linuxbsd/wayland/wayland_thread.cpp b/platform/linuxbsd/wayland/wayland_thread.cpp index 8fb7ecf4d3cb..c2cefe629f3c 100644 --- a/platform/linuxbsd/wayland/wayland_thread.cpp +++ b/platform/linuxbsd/wayland/wayland_thread.cpp @@ -1197,7 +1197,7 @@ void WaylandThread::_wl_surface_on_enter(void *data, struct wl_surface *wl_surfa WindowState *ws = (WindowState *)data; ERR_FAIL_NULL(ws); - DEBUG_LOG_WAYLAND_THREAD(vformat("Window entered output %x.\n", (size_t)wl_output)); + DEBUG_LOG_WAYLAND_THREAD(vformat("Window entered output %x.", (size_t)wl_output)); ws->wl_outputs.insert(wl_output); @@ -1348,6 +1348,13 @@ void WaylandThread::_xdg_toplevel_on_configure(void *data, struct xdg_toplevel * // Expect the window to be in a plain state. It will get properly set if the // compositor reports otherwise below. ws->mode = DisplayServer::WINDOW_MODE_WINDOWED; + ws->maximized = false; + ws->fullscreen = false; + ws->resizing = false; + ws->tiled_left = false; + ws->tiled_right = false; + ws->tiled_top = false; + ws->tiled_bottom = false; ws->suspended = false; uint32_t *state = nullptr; @@ -1355,10 +1362,32 @@ void WaylandThread::_xdg_toplevel_on_configure(void *data, struct xdg_toplevel * switch (*state) { case XDG_TOPLEVEL_STATE_MAXIMIZED: { ws->mode = DisplayServer::WINDOW_MODE_MAXIMIZED; + ws->maximized = true; } break; case XDG_TOPLEVEL_STATE_FULLSCREEN: { ws->mode = DisplayServer::WINDOW_MODE_FULLSCREEN; + ws->fullscreen = true; + } break; + + case XDG_TOPLEVEL_STATE_RESIZING: { + ws->resizing = true; + } break; + + case XDG_TOPLEVEL_STATE_TILED_LEFT: { + ws->tiled_left = true; + } break; + + case XDG_TOPLEVEL_STATE_TILED_RIGHT: { + ws->tiled_right = true; + } break; + + case XDG_TOPLEVEL_STATE_TILED_TOP: { + ws->tiled_top = true; + } break; + + case XDG_TOPLEVEL_STATE_TILED_BOTTOM: { + ws->tiled_bottom = true; } break; case XDG_TOPLEVEL_STATE_SUSPENDED: { @@ -1537,15 +1566,42 @@ void WaylandThread::libdecor_frame_on_configure(struct libdecor_frame *frame, st // Expect the window to be in a plain state. It will get properly set if the // compositor reports otherwise below. ws->mode = DisplayServer::WINDOW_MODE_WINDOWED; + ws->maximized = false; + ws->fullscreen = false; + ws->resizing = false; + ws->tiled_left = false; + ws->tiled_right = false; + ws->tiled_top = false; + ws->tiled_bottom = false; ws->suspended = false; if (libdecor_configuration_get_window_state(configuration, &window_state)) { if (window_state & LIBDECOR_WINDOW_STATE_MAXIMIZED) { ws->mode = DisplayServer::WINDOW_MODE_MAXIMIZED; + ws->maximized = true; } if (window_state & LIBDECOR_WINDOW_STATE_FULLSCREEN) { ws->mode = DisplayServer::WINDOW_MODE_FULLSCREEN; + ws->fullscreen = true; + } + + // libdecor doesn't have the resizing state for whatever reason. + + if (window_state & LIBDECOR_WINDOW_STATE_TILED_LEFT) { + ws->tiled_left = true; + } + + if (window_state & LIBDECOR_WINDOW_STATE_TILED_RIGHT) { + ws->tiled_right = true; + } + + if (window_state & LIBDECOR_WINDOW_STATE_TILED_TOP) { + ws->tiled_top = true; + } + + if (window_state & LIBDECOR_WINDOW_STATE_TILED_BOTTOM) { + ws->tiled_bottom = true; } if (window_state & LIBDECOR_WINDOW_STATE_SUSPENDED) { @@ -3035,10 +3091,6 @@ void WaylandThread::_wp_text_input_on_enter(void *data, struct zwp_text_input_v3 return; } - if (ss->ime_window_id == DisplayServer::INVALID_WINDOW_ID) { - return; - } - WindowState *ws = wl_surface_get_window_state(surface); if (!ws) { return; @@ -3861,6 +3913,12 @@ void WaylandThread::window_create_popup(DisplayServer::WindowID p_window_id, Dis p_rect.position = scale_vector2i(p_rect.position, 1.0 / parent_scale); p_rect.size = scale_vector2i(p_rect.size, 1.0 / parent_scale); + // We manually scaled based on the parent. If we don't set the relevant fields, + // the resizing routines will get confused and scale once more. + ws.preferred_fractional_scale = parent.preferred_fractional_scale; + ws.fractional_scale = parent.fractional_scale; + ws.buffer_scale = parent.buffer_scale; + ws.id = p_window_id; ws.parent_id = p_parent_id; ws.registry = ®istry; @@ -3997,6 +4055,58 @@ const WaylandThread::WindowState *WaylandThread::window_get_state(DisplayServer: return windows.getptr(p_window_id); } +Size2i WaylandThread::window_set_size(DisplayServer::WindowID p_window_id, const Size2i &p_size) { + ERR_FAIL_COND_V(!windows.has(p_window_id), p_size); + WindowState &ws = windows[p_window_id]; + + double window_scale = window_state_get_scale_factor(&ws); + + if (ws.maximized) { + // Can't do anything. + return scale_vector2i(ws.rect.size, window_scale); + } + + Size2i new_size = scale_vector2i(p_size, 1 / window_scale); + + if (ws.tiled_left && ws.tiled_right) { + // Tiled left and right, we shouldn't change from our current width or else + // it'll look wonky. + new_size.width = ws.rect.size.width; + } + + if (ws.tiled_top && ws.tiled_bottom) { + // Tiled top and bottom. Same as above, but for the height. + new_size.height = ws.rect.size.height; + } + + if (ws.resizing && ws.rect.size.width > 0 && ws.rect.size.height > 0) { + // The spec says that we shall not resize further than the config size. We can + // resize less than that though. + new_size = new_size.min(ws.rect.size); + } + + // NOTE: Older versions of libdecor (~2022) do not have a way to get the max + // content size. Let's also check for its pointer so that we can preserve + // compatibility with older distros. + if (ws.libdecor_frame && libdecor_frame_get_max_content_size) { + int max_width = new_size.width; + int max_height = new_size.height; + + // NOTE: Max content size is dynamic on libdecor, as plugins can override it + // to accommodate their decorations. + libdecor_frame_get_max_content_size(ws.libdecor_frame, &max_width, &max_height); + + if (max_width > 0 && max_height > 0) { + new_size.width = MIN(new_size.width, max_width); + new_size.height = MIN(new_size.height, max_height); + } + } + + window_state_update_size(&ws, new_size.width, new_size.height); + + return scale_vector2i(new_size, window_scale); +} + void WaylandThread::beep() const { if (registry.xdg_system_bell) { xdg_system_bell_v1_ring(registry.xdg_system_bell, nullptr); @@ -4177,8 +4287,12 @@ bool WaylandThread::window_can_set_mode(DisplayServer::WindowID p_window_id, Dis }; case DisplayServer::WINDOW_MODE_MAXIMIZED: { - // NOTE: libdecor doesn't seem to have a maximize capability query? - // The fact that there's a fullscreen one makes me suspicious. + if (ws.libdecor_frame) { + // NOTE: libdecor doesn't seem to have a maximize capability query? + // The fact that there's a fullscreen one makes me suspicious. Anyways, + // let's act as if we always can. + return true; + } return ws.can_maximize; }; @@ -5436,7 +5550,9 @@ void WaylandThread::destroy() { zwp_tablet_tool_v2_destroy(tool); } - zwp_text_input_v3_destroy(ss->wp_text_input); + if (ss->wp_text_input) { + zwp_text_input_v3_destroy(ss->wp_text_input); + } memdelete(ss); } diff --git a/platform/linuxbsd/wayland/wayland_thread.h b/platform/linuxbsd/wayland/wayland_thread.h index 195c7e024034..d589b5f58410 100644 --- a/platform/linuxbsd/wayland/wayland_thread.h +++ b/platform/linuxbsd/wayland/wayland_thread.h @@ -247,15 +247,25 @@ class WaylandThread { Rect2i rect; DisplayServer::WindowMode mode = DisplayServer::WINDOW_MODE_WINDOWED; - bool suspended = false; + + // Toplevel states. + bool maximized = false; // MUST obey configure size. + bool fullscreen = false; // Can be smaller than configure size. + bool resizing = false; // Configure size is a max. + // No need for `activated` (yet) + bool tiled_left = false; + bool tiled_right = false; + bool tiled_top = false; + bool tiled_bottom = false; + bool suspended = false; // We can stop drawing. // These are true by default as it isn't guaranteed that we'll find an // xdg-shell implementation with wm_capabilities available. If and once we // receive a wm_capabilities event these will get reset and updated with // whatever the compositor says. - bool can_minimize = false; - bool can_maximize = false; - bool can_fullscreen = false; + bool can_minimize = true; + bool can_maximize = true; + bool can_fullscreen = true; HashSet wl_outputs; @@ -295,6 +305,9 @@ class WaylandThread { // NOTE: The preferred buffer scale is currently only dynamically calculated. // It can be accessed by calling `window_state_get_preferred_buffer_scale`. + // NOTE: Popups manually inherit the parent's scale on creation. Make sure to + // sync them up with any new fields. + // Override used by the fractional scale add-on object. If less or equal to 0 // (default) then the normal output-based scale is used instead. double fractional_scale = 0; @@ -1101,6 +1114,7 @@ class WaylandThread { struct wl_surface *window_get_wl_surface(DisplayServer::WindowID p_window_id) const; WindowState *window_get_state(DisplayServer::WindowID p_window_id); const WindowState *window_get_state(DisplayServer::WindowID p_window_id) const; + Size2i window_set_size(DisplayServer::WindowID p_window_id, const Size2i &p_size); void window_start_resize(DisplayServer::WindowResizeEdge p_edge, DisplayServer::WindowID p_window); diff --git a/platform/macos/editor/embedded_process_macos.h b/platform/macos/editor/embedded_process_macos.h index 82359fe86b9f..9420a4ef255e 100644 --- a/platform/macos/editor/embedded_process_macos.h +++ b/platform/macos/editor/embedded_process_macos.h @@ -118,6 +118,7 @@ class EmbeddedProcessMacOS final : public EmbeddedProcessBase { void embed_process(OS::ProcessID p_pid) override; int get_embedded_pid() const override { return current_process_id; } void reset() override; + void reset_timers() override {} void request_close() override; void queue_update_embedded_process() override { update_embedded_process(); } diff --git a/platform/windows/os_windows.cpp b/platform/windows/os_windows.cpp index e5f2d7703e3c..bfef44a06235 100644 --- a/platform/windows/os_windows.cpp +++ b/platform/windows/os_windows.cpp @@ -55,7 +55,6 @@ #include #include #include -#include #include #include #include @@ -65,6 +64,15 @@ #include #include +// Workaround missing `extern "C"` in MinGW-w64 < 12.0.0. +#if defined(__MINGW32__) && (!defined(__MINGW64_VERSION_MAJOR) || __MINGW64_VERSION_MAJOR < 12) +extern "C" { +#include +} +#else +#include +#endif + #if defined(RD_ENABLED) #include "servers/rendering/rendering_device.h" #endif diff --git a/scene/3d/sprite_3d.cpp b/scene/3d/sprite_3d.cpp index f3d8e66366b1..e9263486a63b 100644 --- a/scene/3d/sprite_3d.cpp +++ b/scene/3d/sprite_3d.cpp @@ -75,6 +75,8 @@ void SpriteBase3D::_notification(int p_what) { parent_sprite = Object::cast_to(get_parent()); if (parent_sprite) { pI = parent_sprite->children.push_back(this); + + _propagate_color_changed(); } } break; @@ -83,6 +85,8 @@ void SpriteBase3D::_notification(int p_what) { parent_sprite->children.erase(pI); pI = nullptr; parent_sprite = nullptr; + + _propagate_color_changed(); } } break; } diff --git a/scene/3d/two_bone_ik_3d.cpp b/scene/3d/two_bone_ik_3d.cpp index f76c0bfa6199..bcd4c13f9ef9 100644 --- a/scene/3d/two_bone_ik_3d.cpp +++ b/scene/3d/two_bone_ik_3d.cpp @@ -770,7 +770,6 @@ void TwoBoneIK3D::_process_ik(Skeleton3D *p_skeleton, double p_delta) { } void TwoBoneIK3D::_process_joints(double p_delta, Skeleton3D *p_skeleton, TwoBoneIK3DSetting *p_setting, const Vector3 &p_destination, const Vector3 &p_pole_destination) { - // Solve the IK for this iteration. Vector3 destination = p_destination; // Make vector from root to destination. diff --git a/scene/animation/animation_blend_tree.cpp b/scene/animation/animation_blend_tree.cpp index cf090ec9428f..87763189bbe4 100644 --- a/scene/animation/animation_blend_tree.cpp +++ b/scene/animation/animation_blend_tree.cpp @@ -590,7 +590,7 @@ AnimationNode::NodeTimeInfo AnimationNodeOneShot::_process(const AnimationMixer: } bool is_abort = cur_request == ONE_SHOT_REQUEST_ABORT; - if (is_reset && (is_fading_out || (abort_on_reset && cur_active))) { + if (is_reset && !do_start && (is_fading_out || (abort_on_reset && cur_active))) { is_abort = true; } diff --git a/scene/audio/audio_stream_player_internal.cpp b/scene/audio/audio_stream_player_internal.cpp index f738530f0948..43265007ee14 100644 --- a/scene/audio/audio_stream_player_internal.cpp +++ b/scene/audio/audio_stream_player_internal.cpp @@ -114,7 +114,8 @@ void AudioStreamPlayerInternal::notification(int p_what) { case Node::NOTIFICATION_SUSPENDED: case Node::NOTIFICATION_PAUSED: { - if (!node->can_process()) { + bool can_process = node->is_inside_tree() && node->can_process(); + if (!can_process) { // Node can't process so we start fading out to silence set_stream_paused(true); } diff --git a/scene/gui/file_dialog.cpp b/scene/gui/file_dialog.cpp index 57bc7a2d6e92..4057244dac36 100644 --- a/scene/gui/file_dialog.cpp +++ b/scene/gui/file_dialog.cpp @@ -95,6 +95,10 @@ bool FileDialog::_can_use_native_popup() const { return DisplayServer::get_singleton()->has_feature(DisplayServer::FEATURE_NATIVE_DIALOG_FILE); } +Vector2i FileDialog::_get_list_mode_icon_size() const { + return theme_cache.file->get_size(); +} + void FileDialog::_popup_base(const Rect2i &p_screen_rect) { #ifdef TOOLS_ENABLED if (is_part_of_edited_scene()) { @@ -110,6 +114,11 @@ void FileDialog::_popup_base(const Rect2i &p_screen_rect) { } } +void FileDialog::_clear_changed_status() { + favorites_changed = false; + recents_changed = false; +} + void FileDialog::set_visible(bool p_visible) { if (p_visible) { _update_option_controls(); @@ -258,6 +267,8 @@ void FileDialog::_notification(int p_what) { _update_favorite_list(); _update_recent_list(); invalidate(); // Put it here to preview in the editor. + } else { + callable_mp(this, &FileDialog::_clear_changed_status).call_deferred(); } } break; @@ -813,12 +824,13 @@ void FileDialog::update_file_list() { file_list->set_max_text_lines(2); file_list->set_text_overrun_behavior(TextServer::OVERRUN_TRIM_ELLIPSIS); file_list->set_fixed_icon_size(Size2(thumbnail_size, thumbnail_size)); + file_list->set_fixed_tag_icon_size(_get_list_mode_icon_size()); } else { file_list->set_icon_mode(ItemList::ICON_MODE_LEFT); file_list->set_max_columns(1); file_list->set_max_text_lines(1); file_list->set_fixed_column_width(0); - file_list->set_fixed_icon_size(theme_cache.file->get_size()); + file_list->set_fixed_icon_size(_get_list_mode_icon_size()); } dir_access->list_dir_begin(); @@ -1680,6 +1692,7 @@ void FileDialog::_favorite_pressed() { } else { global_favorites.push_back(directory); } + favorites_changed = true; _update_favorite_list(); } @@ -1696,6 +1709,7 @@ void FileDialog::_favorite_move_up() { return; } SWAP(global_favorites[a_idx], global_favorites[b_idx]); + favorites_changed = true; _update_favorite_list(); } @@ -1712,6 +1726,7 @@ void FileDialog::_favorite_move_down() { return; } SWAP(global_favorites[a_idx], global_favorites[b_idx]); + favorites_changed = true; _update_favorite_list(); } @@ -1811,6 +1826,7 @@ void FileDialog::_save_to_recent() { } } global_recents.insert(0, directory); + recents_changed = true; _update_recent_list(); } diff --git a/scene/gui/file_dialog.h b/scene/gui/file_dialog.h index 46dbbeb8f298..1d37fb411a9b 100644 --- a/scene/gui/file_dialog.h +++ b/scene/gui/file_dialog.h @@ -366,6 +366,9 @@ class FileDialog : public ConfirmationDialog { protected: Ref dir_access; + bool favorites_changed = false; + bool recents_changed = false; + bool _can_use_native_popup() const; virtual void _item_menu_id_pressed(int p_option); virtual void _dir_contents_changed() {} @@ -373,8 +376,10 @@ class FileDialog : public ConfirmationDialog { virtual bool _should_use_native_popup() const; virtual bool _should_hide_file(const String &p_file) const { return false; } virtual Color _get_folder_color(const String &p_path) const { return theme_cache.folder_icon_color; } + virtual Vector2i _get_list_mode_icon_size() const; virtual void _popup_base(const Rect2i &p_screen_rect = Rect2i()) override; + void _clear_changed_status(); void _validate_property(PropertyInfo &p_property) const; void _notification(int p_what); diff --git a/scene/gui/graph_edit.cpp b/scene/gui/graph_edit.cpp index cf344895471c..279716f88470 100644 --- a/scene/gui/graph_edit.cpp +++ b/scene/gui/graph_edit.cpp @@ -252,14 +252,6 @@ Control::CursorShape GraphEdit::get_cursor_shape(const Point2 &p_pos) const { return Control::get_cursor_shape(p_pos); } -PackedStringArray GraphEdit::get_configuration_warnings() const { - PackedStringArray warnings = Control::get_configuration_warnings(); - - warnings.push_back(RTR("Please be aware that GraphEdit and GraphNode will undergo extensive refactoring in a future 4.x version involving compatibility-breaking API changes.")); - - return warnings; -} - Error GraphEdit::connect_node(const StringName &p_from, int p_from_port, const StringName &p_to, int p_to_port, bool p_keep_alive) { ERR_FAIL_NULL_V_MSG(connections_layer, FAILED, "connections_layer is missing."); diff --git a/scene/gui/graph_edit.h b/scene/gui/graph_edit.h index d5f746904320..088507ccfb4e 100644 --- a/scene/gui/graph_edit.h +++ b/scene/gui/graph_edit.h @@ -405,8 +405,6 @@ class GraphEdit : public Control { virtual CursorShape get_cursor_shape(const Point2 &p_pos = Point2i()) const override; - PackedStringArray get_configuration_warnings() const override; - void key_input(const Ref &p_ev); // This method has to be public (for undo redo). diff --git a/scene/gui/tab_bar.cpp b/scene/gui/tab_bar.cpp index a914f2c110d2..7e1b87cd63b2 100644 --- a/scene/gui/tab_bar.cpp +++ b/scene/gui/tab_bar.cpp @@ -1836,12 +1836,10 @@ void TabBar::_ensure_no_over_offset() { int total_w = tabs[max_drawn_tab].ofs_cache + tabs[max_drawn_tab].size_cache - tabs[offset].ofs_cache; for (int i = offset - 1; i >= 0; i--) { - if (tabs[i].hidden) { - continue; + if (!tabs[i].hidden) { + total_w += tabs[i].size_cache; } - total_w += tabs[i].size_cache; - if (total_w < limit_with_buttons) { offset_with_buttons--; offset_with_no_button--; diff --git a/scene/gui/tree.cpp b/scene/gui/tree.cpp index e3992845af4f..4b2f82af1c20 100644 --- a/scene/gui/tree.cpp +++ b/scene/gui/tree.cpp @@ -5114,9 +5114,7 @@ void Tree::_notification(int p_what) { const Rect2 main_clip_rect = Rect2(0.0f, clip_top, get_size().x, clip_bottom - clip_top); RenderingServer *rendering_server = RenderingServer::get_singleton(); - rendering_server->canvas_item_add_clip_ignore(ci, true); bg->draw(ci, Rect2(Point2(), get_size())); - rendering_server->canvas_item_add_clip_ignore(ci, false); Rect2 header_clip_rect = Rect2(content_rect.position.x, 0.0f, content_rect.size.x, get_size().y); // Keep headers out of the scrollbar area. if (v_scroll->is_visible()) { diff --git a/scene/resources/material.cpp b/scene/resources/material.cpp index 51d54e182f89..043279a6c9c0 100644 --- a/scene/resources/material.cpp +++ b/scene/resources/material.cpp @@ -1357,7 +1357,7 @@ void vertex() {)"; if (flags[FLAG_FIXED_SIZE]) { code += R"( // Fixed Size: Enabled - if (PROJECTION_MATRIX[2][3] == 0.0) { + if (PROJECTION_MATRIX[3][3] != 0.0) { // Orthogonal matrix; try to do about the same with viewport size. float h = abs(1.0 / (2.0 * PROJECTION_MATRIX[1][1])); // Consistent with vertical FOV (Keep Height). @@ -1367,7 +1367,7 @@ void vertex() {)"; MODELVIEW_MATRIX[2] *= sc; } else { // Scale by depth. - float sc = length((MODELVIEW_MATRIX)[3].xyz); + float sc = -(MODELVIEW_MATRIX)[3].z; MODELVIEW_MATRIX[0] *= sc; MODELVIEW_MATRIX[1] *= sc; MODELVIEW_MATRIX[2] *= sc; diff --git a/scene/resources/packed_scene.cpp b/scene/resources/packed_scene.cpp index 039dd5eb2c62..c25994a3d343 100644 --- a/scene/resources/packed_scene.cpp +++ b/scene/resources/packed_scene.cpp @@ -664,9 +664,6 @@ Node *SceneState::instantiate(GenEditState p_edit_state) const { Callable callable(cto, snames[c.method]); Array binds; - if (c.flags & CONNECT_APPEND_SOURCE_OBJECT) { - binds.push_back(cfrom); - } for (int bind : c.binds) { binds.push_back(props[bind]); @@ -1193,11 +1190,6 @@ Error SceneState::_parse_connections(Node *p_owner, Node *p_node, HashMapget_unbinds(); base_callable = ccu->get_callable(); } - - // The source object may already be bound, ignore it to avoid saving the source object. - if ((c.flags & CONNECT_APPEND_SOURCE_OBJECT) && (p_node == binds[0])) { - binds.remove_at(0); - } } else { base_callable = c.callable; } diff --git a/scene/resources/resource_format_text.cpp b/scene/resources/resource_format_text.cpp index 9861e075df2d..95dd7f63f4cd 100644 --- a/scene/resources/resource_format_text.cpp +++ b/scene/resources/resource_format_text.cpp @@ -204,6 +204,7 @@ Ref ResourceLoaderText::_parse_node_tag(VariantParser::ResourcePars if (next_tag.fields.has("parent")) { NodePath np = next_tag.fields["parent"]; + np.prepend_period(); PackedInt32Array np_id; if (next_tag.fields.has("parent_id_path")) { np_id = next_tag.fields["parent_id_path"]; diff --git a/servers/display/display_server_headless.h b/servers/display/display_server_headless.h index 4069373ef04a..9026999fa860 100644 --- a/servers/display/display_server_headless.h +++ b/servers/display/display_server_headless.h @@ -49,7 +49,9 @@ class DisplayServerHeadless : public DisplayServer { static DisplayServer *create_func(const String &p_rendering_driver, DisplayServer::WindowMode p_mode, DisplayServer::VSyncMode p_vsync_mode, uint32_t p_flags, const Vector2i *p_position, const Vector2i &p_resolution, int p_screen, Context p_context, int64_t p_parent_window, Error &r_error) { r_error = OK; RasterizerDummy::make_current(); - return memnew(DisplayServerHeadless()); + DisplayServerHeadless *ds = memnew(DisplayServerHeadless()); + ds->window_size = p_resolution; + return ds; } static void _dispatch_input_events(const Ref &p_event) { @@ -64,6 +66,7 @@ class DisplayServerHeadless : public DisplayServer { NativeMenu *native_menu = nullptr; Callable input_event_callback; + Size2i window_size; public: bool has_feature(Feature p_feature) const override { return false; } @@ -75,7 +78,7 @@ class DisplayServerHeadless : public DisplayServer { int get_screen_count() const override { return 0; } int get_primary_screen() const override { return 0; } Point2i screen_get_position(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return Point2i(); } - Size2i screen_get_size(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return Size2i(); } + Size2i screen_get_size(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return window_size; } Rect2i screen_get_usable_rect(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return Rect2i(); } int screen_get_dpi(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return 96; /* 0 might cause issues */ } float screen_get_scale(int p_screen = SCREEN_OF_MAIN_WINDOW) const override { return 1; } @@ -125,9 +128,9 @@ class DisplayServerHeadless : public DisplayServer { void window_set_min_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID) override {} Size2i window_get_min_size(WindowID p_window = MAIN_WINDOW_ID) const override { return Size2i(); } - void window_set_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID) override {} - Size2i window_get_size(WindowID p_window = MAIN_WINDOW_ID) const override { return Size2i(); } - Size2i window_get_size_with_decorations(WindowID p_window = MAIN_WINDOW_ID) const override { return Size2i(); } + void window_set_size(const Size2i p_size, WindowID p_window = MAIN_WINDOW_ID) override { window_size = p_size; } + Size2i window_get_size(WindowID p_window = MAIN_WINDOW_ID) const override { return window_size; } + Size2i window_get_size_with_decorations(WindowID p_window = MAIN_WINDOW_ID) const override { return window_size; } void window_set_mode(WindowMode p_mode, WindowID p_window = MAIN_WINDOW_ID) override {} WindowMode window_get_mode(WindowID p_window = MAIN_WINDOW_ID) const override { return WINDOW_MODE_MINIMIZED; } diff --git a/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp b/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp index e723242bad4b..abc20b44d57f 100644 --- a/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp +++ b/servers/rendering/renderer_rd/renderer_canvas_render_rd.cpp @@ -1840,7 +1840,7 @@ RendererCanvasRenderRD::RendererCanvasRenderRD() { actions.base_uniform_string = "material."; actions.default_filter = ShaderLanguage::FILTER_LINEAR; actions.default_repeat = ShaderLanguage::REPEAT_DISABLE; - actions.base_varying_index = 8; + actions.base_varying_index = 9; actions.global_buffer_array_variable = "global_shader_uniforms.data"; actions.instance_uniform_index_variable = "read_draw_data_instance_offset"; diff --git a/servers/rendering/renderer_rd/shaders/canvas.glsl b/servers/rendering/renderer_rd/shaders/canvas.glsl index 58d75c761bdd..20453071f8a6 100644 --- a/servers/rendering/renderer_rd/shaders/canvas.glsl +++ b/servers/rendering/renderer_rd/shaders/canvas.glsl @@ -36,7 +36,8 @@ layout(location = 4) out flat uvec4 varying_C; #ifdef USE_NINEPATCH layout(location = 5) out flat vec4 varying_D; layout(location = 6) out flat vec4 varying_E; -layout(location = 7) out vec2 pixel_size_interp; +layout(location = 7) out flat vec4 varying_F; +layout(location = 8) out vec2 pixel_size_interp; #endif // USE_NINEPATCH #endif // !USE_ATTRIBUTES @@ -131,6 +132,7 @@ void main() { #ifdef USE_NINEPATCH varying_D = read_draw_data_ninepatch_margins; varying_E = vec4(read_draw_data_dst_rect.z, read_draw_data_dst_rect.w, read_draw_data_ninepatch_pixel_size.x, read_draw_data_ninepatch_pixel_size.y); + varying_F = read_draw_data_src_rect; #endif // USE_NINEPATCH #endif // !USE_ATTRIBUTES @@ -339,11 +341,14 @@ layout(location = 4) in flat uvec4 varying_C; #ifdef USE_NINEPATCH layout(location = 5) in flat vec4 varying_D; layout(location = 6) in flat vec4 varying_E; -layout(location = 7) in vec2 pixel_size_interp; +layout(location = 7) in flat vec4 varying_F; +layout(location = 8) in vec2 pixel_size_interp; #define read_draw_data_ninepatch_margins varying_D #define read_draw_data_dst_rect_z varying_E.x #define read_draw_data_dst_rect_w varying_E.y #define read_draw_data_ninepatch_pixel_size (varying_E.zw) +#define read_draw_data_src_rect_ninepatch (varying_F); + #endif // USE_NINEPATCH #endif // USE_ATTRIBUTES @@ -586,7 +591,9 @@ void main() { color.a = 0.0; } - uv = uv * src_rect.zw + src_rect.xy; //apply region if needed + vec4 ninepatch_src_rect = read_draw_data_src_rect_ninepatch; + + uv = uv * ninepatch_src_rect.zw + ninepatch_src_rect.xy; //apply region if needed #endif if (bool(read_draw_data_flags & INSTANCE_FLAGS_CLIP_RECT_UV)) { diff --git a/servers/rendering/rendering_device.cpp b/servers/rendering/rendering_device.cpp index c3dc971f3430..7f3cc888723c 100644 --- a/servers/rendering/rendering_device.cpp +++ b/servers/rendering/rendering_device.cpp @@ -2764,9 +2764,8 @@ RDD::RenderPassID RenderingDevice::_render_pass_create_from_graph(RenderingDevic // The graph delegates the creation of the render pass to the user according to the load and store ops that were determined as necessary after // resolving the dependencies between commands. This function creates a render pass for the framebuffer accordingly. - Framebuffer *framebuffer = (Framebuffer *)(p_user_data); - const FramebufferFormatKey &key = framebuffer->rendering_device->framebuffer_formats[framebuffer->format_id].E->key(); - return _render_pass_create(p_driver, key.attachments, key.passes, p_load_ops, p_store_ops, framebuffer->view_count, key.vrs_method, key.vrs_attachment, key.vrs_texel_size); + const FramebufferFormatKey *key = (const FramebufferFormatKey *)(p_user_data); + return _render_pass_create(p_driver, key->attachments, key->passes, p_load_ops, p_store_ops, key->view_count, key->vrs_method, key->vrs_attachment, key->vrs_texel_size); } RDG::ResourceUsage RenderingDevice::_vrs_usage_from_method(VRSMethod p_method) { @@ -2953,7 +2952,6 @@ RID RenderingDevice::framebuffer_create_empty(const Size2i &p_size, TextureSampl _THREAD_SAFE_METHOD_ Framebuffer framebuffer; - framebuffer.rendering_device = this; framebuffer.format_id = framebuffer_format_create_empty(p_samples); ERR_FAIL_COND_V(p_format_check != INVALID_FORMAT_ID && framebuffer.format_id != p_format_check, RID()); framebuffer.size = p_size; @@ -2969,7 +2967,8 @@ RID RenderingDevice::framebuffer_create_empty(const Size2i &p_size, TextureSampl set_resource_name(id, "RID:" + itos(id.get_id())); #endif - framebuffer_cache->render_pass_creation_user_data = framebuffer_owner.get_or_null(id); + // This relies on the fact that HashMap will not change the address of an object after it's been inserted into the container. + framebuffer_cache->render_pass_creation_user_data = (void *)(&framebuffer_formats[framebuffer.format_id].E->key()); return id; } @@ -3071,7 +3070,6 @@ RID RenderingDevice::framebuffer_create_multipass(const Vector &p_texture_a "The format used to check this framebuffer differs from the intended framebuffer format."); Framebuffer framebuffer; - framebuffer.rendering_device = this; framebuffer.format_id = format_id; framebuffer.texture_ids = p_texture_attachments; framebuffer.size = size; @@ -3095,7 +3093,8 @@ RID RenderingDevice::framebuffer_create_multipass(const Vector &p_texture_a } } - framebuffer_cache->render_pass_creation_user_data = framebuffer_owner.get_or_null(id); + // This relies on the fact that HashMap will not change the address of an object after it's been inserted into the container. + framebuffer_cache->render_pass_creation_user_data = (void *)(&framebuffer_formats[framebuffer.format_id].E->key()); return id; } diff --git a/servers/rendering/rendering_device.h b/servers/rendering/rendering_device.h index 13dbeaaf4c69..20ad2e50ce2c 100644 --- a/servers/rendering/rendering_device.h +++ b/servers/rendering/rendering_device.h @@ -670,7 +670,6 @@ class RenderingDevice : public RenderingDeviceCommons { HashMap framebuffer_formats; struct Framebuffer { - RenderingDevice *rendering_device = nullptr; FramebufferFormatID format_id; uint32_t storage_mask = 0; Vector texture_ids; diff --git a/servers/rendering/rendering_device_graph.cpp b/servers/rendering/rendering_device_graph.cpp index 8d8c2a0d4dea..1af1cbba9a00 100644 --- a/servers/rendering/rendering_device_graph.cpp +++ b/servers/rendering/rendering_device_graph.cpp @@ -1651,12 +1651,20 @@ void RenderingDeviceGraph::add_buffer_clear(RDD::BufferID p_dst, ResourceTracker int32_t command_index; RecordedBufferClearCommand *command = static_cast(_allocate_command(sizeof(RecordedBufferClearCommand), command_index)); command->type = RecordedCommand::TYPE_BUFFER_CLEAR; - command->self_stages = RDD::PIPELINE_STAGE_COPY_BIT; command->buffer = p_dst; command->offset = p_offset; command->size = p_size; - ResourceUsage usage = RESOURCE_USAGE_COPY_TO; + ResourceUsage usage; + if (driver_clears_with_copy_engine) { + command->self_stages = RDD::PIPELINE_STAGE_COPY_BIT; + usage = RESOURCE_USAGE_COPY_TO; + } else { + // If the driver is uncapable of using the copy engine for clearing the buffer (e.g. D3D12), we must transition it to storage buffer read/write usage. + command->self_stages = RDD::PIPELINE_STAGE_CLEAR_STORAGE_BIT; + usage = RESOURCE_USAGE_STORAGE_BUFFER_READ_WRITE; + } + _add_command_to_graph(&p_dst_tracker, &usage, 1, command_index, command); } diff --git a/tests/core/object/test_object.h b/tests/core/object/test_object.h index 34941843e152..e683568a5609 100644 --- a/tests/core/object/test_object.h +++ b/tests/core/object/test_object.h @@ -316,6 +316,29 @@ TEST_CASE("[Object] Absent name getter") { "The returned value should equal nil variant."); } +class SignalReceiver : public Object { + GDCLASS(SignalReceiver, Object); + +public: + Vector received_args; + + void callback0() { + received_args = Vector{}; + } + + void callback1(Variant p_arg1) { + received_args = Vector{ p_arg1 }; + } + + void callback2(Variant p_arg1, Variant p_arg2) { + received_args = Vector{ p_arg1, p_arg2 }; + } + + void callback3(Variant p_arg1, Variant p_arg2, Variant p_arg3) { + received_args = Vector{ p_arg1, p_arg2, p_arg3 }; + } +}; + TEST_CASE("[Object] Signals") { Object object; @@ -455,6 +478,51 @@ TEST_CASE("[Object] Signals") { object.get_all_signal_connections(&signal_connections); CHECK(signal_connections.size() == 0); } + + SUBCASE("Connecting with CONNECT_APPEND_SOURCE_OBJECT flag") { + SignalReceiver target; + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback1), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal"); + CHECK_EQ(target.received_args, Vector{ &object }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback1)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", "emit_arg"); + CHECK_EQ(target.received_args, Vector{ "emit_arg", &object }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2).bind("bind_arg"), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal"); + CHECK_EQ(target.received_args, Vector{ &object, "bind_arg" }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback3).bind("bind_arg"), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", "emit_arg"); + CHECK_EQ(target.received_args, Vector{ "emit_arg", &object, "bind_arg" }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback3)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback3).bind(&object), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", &object); + CHECK_EQ(target.received_args, Vector{ &object, &object, &object }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback3)); + + // Source should be appended regardless of unbinding. + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback1).unbind(1), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", "emit_arg"); + CHECK_EQ(target.received_args, Vector{ &object }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback1)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2).bind("bind_arg").unbind(1), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", "emit_arg"); + CHECK_EQ(target.received_args, Vector{ &object, "bind_arg" }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2)); + + object.connect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2).unbind(1).bind("bind_arg"), Object::CONNECT_APPEND_SOURCE_OBJECT); + object.emit_signal("my_custom_signal", "emit_arg"); + CHECK_EQ(target.received_args, Vector{ "emit_arg", &object }); + object.disconnect("my_custom_signal", callable_mp(&target, &SignalReceiver::callback2)); + } } class NotificationObjectSuperclass : public Object { diff --git a/version.py b/version.py index 1bd51622e8ab..30f4b372eb3b 100644 --- a/version.py +++ b/version.py @@ -3,7 +3,7 @@ major = 4 minor = 6 patch = 0 -status = "rc" +status = "stable" module_config = "" website = "https://godotengine.org" -docs = "latest" +docs = "4.6"