addons: Update to 1.29 - preliminary
This commit is contained in:
1 parent
9ebe3062ac
commit
0d91f2156a
92 files changed
+3341
-2682
No files matched your search
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "Die \"Mauscursor ansehen\"-Option könnte im Editor die Leistung beeinträchtigen.",
|
||||
"cat-blocks/@name": "Katzenblöcke",
|
||||
"cat-blocks/@settings-name-watch": "Mauscursor ansehen",
|
||||
"editor-devtools/@description": "Fügt ein Suchfeld und neue Menüoptionen zum Editor hinzu: Kopieren/Einfügen von Blöcken, besseres Aufräumen, gehe zu Definitionen von Benutzerdefinierten Blöcken und vieles mehr! Drücke Strg+F zum Suchen, Strg+Leertaste zum Öffnen des \"Block nach Namen hinzufügen\"-Popups, Strg+Links/Rechts zum Navigieren im SUchverlauf.",
|
||||
"editor-devtools/@description": "Fügt neue Menüoptionen im Editor hinzu: Blöcke kopieren/Einfügen, besseres Aufräumen und mehr! Verwende Strg+Leertaste (Umschalt+Leertaste auf macOS) um das \"Block suchen und hinzufügen\"-Fenster zu öffnen.",
|
||||
"editor-devtools/@name": "Entwicklertools",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Verbessere \"Blöcke aufräumen\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Um zu navigieren, klicke mit der mittleren Maustaste auf Variablen, benutzerdefinierte Blöcke oder Ereignisse",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Blöcke beim Mauscursor einfügen",
|
||||
"find-bar/@description": "Fügt eine Leiste neben dem Klänge-Tab im Editor hinzu, mit der du Skripte, Kostüme und Klänge durchsuchen kannst. Verwende Strg+Links und Strg+Rechts im Codebereich, um zur vorher bzw. nachher besuchten Position nach Verwendung der Finden-Leiste zu navigieren.",
|
||||
"find-bar/@info-developer-tools": "Dieses Addon gehörte früher zum \"entwicklertools\"-Addon, aber es wurde hierher verschoben.",
|
||||
"find-bar/@name": "Finden-Leiste im Editor",
|
||||
"jump-to-def/@description": "Ermöglicht das Springen zur Definition eines benutzerdefinierten Blocks durch Klicken mit der mittleren oder rechten Maustaste mit gedrückter Umschalttaste.",
|
||||
"jump-to-def/@info-developer-tools": "Dieses Addon gehörte früher zum \"Entwicklertools\"-Addon, aber es wurde hierher verschoben.",
|
||||
"jump-to-def/@name": "Zu Blockdefinition springen",
|
||||
"editor-searchable-dropdowns/@description": "Ermöglicht es dir, Block-Dropdowns zu durchsuchen.",
|
||||
"editor-searchable-dropdowns/@name": "Durchsuchbare Dropdown-Menüs",
|
||||
"data-category-tweaks-v2/@description": "Bietet Optimierungen für die Kategorie Daten (\"Variablen\") im Editor.",
|
||||
@@ -20,12 +25,12 @@
|
||||
"hide-flyout/@description": "Blendet die Blockpalette automatisch aus, wenn sich die Maus nicht darüber befindet. Klicke auf das Schlossymbol, um es temporär zu fixieren. Alternativ kannst du den \"Kategorien klicken\"-Modus verwenden.",
|
||||
"hide-flyout/@info-hoverExplanation": "Der \"Palettenbereich-Hover\"-Modus erweitert nur den angezeigten Bereich. Wenn du Blöcke dort hinziehen willst, ohne dass sie gelöscht werden, verwende einen der anderen Modi.",
|
||||
"hide-flyout/@name": "Automatisches Ausblenden für Blockpalette",
|
||||
"hide-flyout/@settings-name-speed": "Animationdauer",
|
||||
"hide-flyout/@settings-name-speed": "Animationsgeschwindigkeit",
|
||||
"hide-flyout/@settings-name-toggle": "Festlegen...",
|
||||
"hide-flyout/@settings-select-speed-default": "Standard",
|
||||
"hide-flyout/@settings-select-speed-long": "Lang",
|
||||
"hide-flyout/@settings-select-speed-none": "Keine",
|
||||
"hide-flyout/@settings-select-speed-short": "Kurz",
|
||||
"hide-flyout/@settings-select-speed-long": "Langsam",
|
||||
"hide-flyout/@settings-select-speed-none": "Sofort",
|
||||
"hide-flyout/@settings-select-speed-short": "Schnell",
|
||||
"hide-flyout/@settings-select-toggle-category": "Kategorien klicken",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Kategorien hovern",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Hover auf Palettenbereich",
|
||||
@@ -46,8 +51,12 @@
|
||||
"mute-project/@description": "Strg+Klicke auf die grüne Flagge, um das Projekt stummzuschalten bzw. die Stummschaltung aufzuheben.",
|
||||
"mute-project/@info-macOS": "Verwende auf macOS statt der Strg-Taste die Cmd-Taste.",
|
||||
"mute-project/@name": "Projektplayer stummschalten-Knopf",
|
||||
"vol-slider/@description": "Fügt einen Lautstärkeregler neben der grünen Flagge hinzu.",
|
||||
"vol-slider/@name": "Lautstärkeregler",
|
||||
"vol-slider/@settings-name-defVol": "Standard-Lautstärke",
|
||||
"clones/@description": "Fügt einen Zähler zum Editor hinzu, der die Anzahl aller Klone anzeigt.",
|
||||
"clones/@name": "Klonzähler",
|
||||
"clones/@settings-name-showicononly": "Nur Symbol anzeigen",
|
||||
"mouse-pos/@description": "Zeigt die x/y-Position des Mauszeigers über der Bühne im Editor an.",
|
||||
"mouse-pos/@name": "Mauszeigerposition",
|
||||
"color-picker/@description": "Fügt Hexadezimalcode-Eingaben zum Farbwähler hinzu.",
|
||||
@@ -74,7 +83,7 @@
|
||||
"default-costume-editor-color/@description": "Ändert die standardmäßige Farbe und Randbreite im Kostümeditor.",
|
||||
"default-costume-editor-color/@name": "Benutzerdefinierte Standardfarbe im Kostümeditor",
|
||||
"default-costume-editor-color/@settings-name-fill": "Standardmäßige Füllfarbe",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Vorherige Farbe beim Wechseln von Werkzeugen verwenden",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Beim Wechseln zwischen Werkzeugen vorherige Farbe beibehalten, anstatt sie zurückzusetzen",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Standardmäßige Randfarbe",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Standardmäßige Randbreite",
|
||||
"bitmap-copy/@description": "Ermöglicht es dir, Raster-Bilder aus dem Maleditor in die Zwischenablage des Systems zu kopieren, sodass sie auf anderen Seiten oder Programmen eingefügt werden können.",
|
||||
@@ -89,6 +98,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Durch Vergrößern an Bühne anpassen",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Durch Verkleinern an Bühne anpassen",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Originalgröße",
|
||||
"pick-colors-from-stage/@description": "Ermöglicht es dem Pipettenwerkzeug des Kostümeditors, auch Farben von der Bühne zu wählen.",
|
||||
"pick-colors-from-stage/@name": "Farben von der Bühne im Kostümeditor auswählen",
|
||||
"custom-block-shape/@description": "Ändere die Blockhöhe, den Eckenradius und die Höhe der Laschen von Scratch-Blöcken.",
|
||||
"custom-block-shape/@info-paddingWarning": "Die Änderung der Blockhöhe ist nur für dich sichtbar, deshalb könnten sich deine Skripte, wenn andere Nutzer deine Projekte ansehen, überlappen.",
|
||||
"custom-block-shape/@name": "Anpassbare Blockform",
|
||||
@@ -103,9 +114,15 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Eckengröße (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Laschenhöhe (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Blockhöhe (50-200%)",
|
||||
"zebra-striping/@description": "Macht, dass Blöcke der selben Kategorie zwischen helleren und dünkleren Schattierungen abwechseln, wenn sie ineinander verschachtelt sind. Auch als Zebrastreifen bekannt.",
|
||||
"zebra-striping/@name": "Abwechselnde Farben für verschachtelte Blöcke",
|
||||
"zebra-striping/@settings-name-intensity": "Stärke (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Schattierung",
|
||||
"zebra-striping/@settings-select-shade-darker": "Dünkler",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Heller",
|
||||
"editor-theme3/@description": "Bearbeite die Farben der Blöcke für jede Kategorie im Editor.",
|
||||
"editor-theme3/@name": "Anpassbare Blockfarben",
|
||||
"editor-theme3/@preset-description-black": "Macht Blockhintergründe schwarz",
|
||||
"editor-theme3/@preset-description-black": "Machen Blockhintergründe schwarz",
|
||||
"editor-theme3/@preset-description-dark": "Dunkle Versionen der Standardfarben",
|
||||
"editor-theme3/@preset-description-original": "Die originalen Blockfarben von Scratch 2.0",
|
||||
"editor-theme3/@preset-description-tweaks": "Ereignisse, Steuerung, und Benutzerdefinierte Blöcke mit 2.0-inspirierten Farben",
|
||||
@@ -114,6 +131,7 @@
|
||||
"editor-theme3/@preset-name-original": "2.0-Farben",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0-Optimierungen",
|
||||
"editor-theme3/@settings-name-Pen-color": "Erweiterungen",
|
||||
"editor-theme3/@settings-name-comment-color": "Kommentare",
|
||||
"editor-theme3/@settings-name-control-color": "Steuerung",
|
||||
"editor-theme3/@settings-name-custom-color": "Benutzerdefiniert",
|
||||
"editor-theme3/@settings-name-data-color": "Variablen",
|
||||
@@ -130,7 +148,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Farbig auf schwarzem Hintergrund",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Farbig auf weißem Hintergrund",
|
||||
"editor-theme3/@settings-select-text-white": "Weiß",
|
||||
"editor-theme3/@update": "Neue Einstellung zum Anwenden der Blockfarben auf Foren.",
|
||||
"editor-theme3/@update": "Die \"Dunkle Kommentare\"-Einstellung von \"Dunkler Modus und anpassbare Farben im Editor\" wurde hierher verschoben und ist jetzt anpassbar.",
|
||||
"custom-block-text/@description": "Ändert die Dicke von Text auf Blöcken und fügt einen Textschatten hinzu.",
|
||||
"custom-block-text/@name": "Benutzerdefinierter Stil von Text auf Blöcken",
|
||||
"custom-block-text/@settings-name-bold": "Fetter Text",
|
||||
@@ -144,6 +162,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Verkehrte Anordnung von Playersteuerelementen",
|
||||
"variable-manager/@description": "Fügt einen Tab neben \"Klänge\" im Editor hinzu, um Variablen und Listen einfach zu aktualisieren.",
|
||||
"variable-manager/@name": "Variablenmanager",
|
||||
"variable-manager/@update": "Listenelemente können jetzt ohne Gedrückthalten der Umschlttaste eingefügt werden.",
|
||||
"search-sprites/@description": "Fügt ein Suchfeld zur Figurenleiste hinzu.",
|
||||
"search-sprites/@name": "Figuren nach Namen suchen",
|
||||
"gamepad/@description": "Interagiere mit einem USB- oder Bluetoothcontroller/Gamepad mit Projekten.",
|
||||
@@ -251,13 +270,15 @@
|
||||
"no-script-bumping/@name": "Überlappende Skripte nicht automatisch verschieben",
|
||||
"disable-stage-drag-select/@description": "Entfernt die Möglichkeit, Figuren auf der Bühne herumzuziehen, explizit ziehbare Figuren ausgenommen. Halte Shift gedrückt, um Figuren normal zu verschieben.",
|
||||
"disable-stage-drag-select/@name": "Nicht ziehbare Figuren im Editor",
|
||||
"move-to-top-bottom/@description": "Fügt ein Kontextmenüelement zum Verschieben von Kostümen und Klängen an erste oder letzte Stelle der Liste. Früher Teil der Entwicklertools.",
|
||||
"move-to-top-bottom/@description": "Fügt Optionen zum Verschieben von Kostümen und Klängen an erste oder letzte Stelle der Liste zum Rechtsklick-Kontextmenü hinzu.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Dieses Addon gehörte früher zum \"Entwicklertools\"-Addon, aber es wurde hierher verschoben.",
|
||||
"move-to-top-bottom/@name": "Element an erste/letzte Stelle verschieben",
|
||||
"disable-paste-offset/@description": "Fügt kopierte Elemente an ihrer ursprünglichen Position im Kostümeditor ein, antstatt die leicht zu verschieben.",
|
||||
"disable-paste-offset/@name": "Eingefügte Elemente nicht verschieben",
|
||||
"block-duplicate/@description": "Dupliziere schnell ein SKript, indem du es mit gedrückter Alt-Taste ziehst. Halte gleichzeitig auch Strg gedrückt, um nur den einzelnen Block zu duplizieren.",
|
||||
"block-duplicate/@info-mac": "Verwende auf macOS die Option-Taste statt der Alt-Taste und die Command-Taste statt der Strg-Taste.",
|
||||
"block-duplicate/@name": "Skripte mit Alt-Taste duplizieren",
|
||||
"rename-broadcasts/@description": "Fügt eine Option im Dropdownmenü von Nachrichtenblöcken hinzu, mit der du Nachrichten umbenennen kannst.",
|
||||
"rename-broadcasts/@name": "Nachrichten umbenennen",
|
||||
"swap-local-global/@description": "Fügt weitere Optionen beim Umbenennen einer vorhandenen Variablen oder Liste hinzu: ermöglicht das Wechseln zwischen \"Für alle Figuren\" und \"Nur für diese Figur\" und ob Variablen in der Cloud gespeichert werden. Fügt auch eine neue Option beim Rechtsklicken auf eine Variable/Liste hinzu, um deren Typ schnell zu ändern.",
|
||||
"swap-local-global/@name": "Variablentyp ändern",
|
||||
|
||||
@@ -2,11 +2,16 @@
|
||||
"cat-blocks/@description": "Regresa los cat blocks de April Fools 2020.",
|
||||
"cat-blocks/@info-watch": "La opción \"mirar cursor\" puede afectar el rendimiento cuando está abierto el editor.",
|
||||
"cat-blocks/@settings-name-watch": "Mirar cursor",
|
||||
"editor-devtools/@description": "Agrega una barra de búsqueda y nuevas opciones de menú para el editor: copie y pegue bloques, ordene de mejor manera, vaya directamente a la definición de un bloque personalizado y más Presione Ctrl+F para enfocar la barra de búsqueda, Ctrl+Espacio para abrir la ventana flotante de \"encontrar bloque por nombre\", Ctrl+Izquierda/Derecha para navegar el historial de búsqueda.",
|
||||
"editor-devtools/@description": "Añade un nuevo menú de opciones al editor: copiar/pegar bloques, mejor ordenado, y más. Use Ctrl+Espacio (Shift+Espacio en macOS) para mostrar el popup de \"agregar bloque por nombre\"",
|
||||
"editor-devtools/@name": "Herramientas de desarrollador",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Mejorar \"Ordenar Bloques\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Click medio del mouse en variables, bloques personalizados o eventos para navegar",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Pegar bloques en la posición del cursor",
|
||||
"find-bar/@description": "Agrega una barra de búsqueda al lado de la pestaña de sonidos para encontrar y saltar a scripts, disfraces y sonidos. Use Ctrl+Izquierda y Ctrl+Derecha en el área de código para navegar a la posición visitada anterior o siguiente luego de usar la barra de búsqueda.",
|
||||
"find-bar/@info-developer-tools": "Este addon era parte de \"herramientas de desarrollador\", pero se ha mudado aquí.",
|
||||
"find-bar/@name": "Barra de búsqueda en editor",
|
||||
"jump-to-def/@description": "Le permite saltar a la definición de un bloque personalizado usando el botón del medio del ratón o presionando Shift+Click en el bloque.",
|
||||
"jump-to-def/@info-developer-tools": "Este addon era parte de \"herramientas de desarrollador\", pero se ha mudado aquí.",
|
||||
"jump-to-def/@name": "Saltar a definición de bloque personalizado",
|
||||
"editor-searchable-dropdowns/@description": "Le permite buscar en bloques que tienen menús.",
|
||||
"editor-searchable-dropdowns/@name": "Búsqueda en menús ",
|
||||
"data-category-tweaks-v2/@description": "Proporciona retoques para la categoría de bloques \"datos\" (variables).",
|
||||
@@ -19,12 +24,8 @@
|
||||
"hide-flyout/@description": "Oculta la paleta de bloques si el cursor no esta arriba de ella. Haga click en el icono de candado para mantenerlo en el lugar temporalmente. Alternativamente, use el modo \"click en categoría\".",
|
||||
"hide-flyout/@info-hoverExplanation": "El modo \"cursor sobre área de paleta\" solo extiende el área de visión. Si quiere poder arrastrar bloques a este área sin que se tiren a la basura, use alguno de los otros modos.",
|
||||
"hide-flyout/@name": "Ocultar paleta de bloques automáticamente",
|
||||
"hide-flyout/@settings-name-speed": "Duración de animación",
|
||||
"hide-flyout/@settings-name-toggle": "Activar/desactivar en...",
|
||||
"hide-flyout/@settings-select-speed-default": "Por defecto",
|
||||
"hide-flyout/@settings-select-speed-long": "Larga",
|
||||
"hide-flyout/@settings-select-speed-none": "Ninguna",
|
||||
"hide-flyout/@settings-select-speed-short": "Corta",
|
||||
"hide-flyout/@settings-select-toggle-category": "Click en categoría",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Cursor sobre categoría",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Cursor sobre área de paleta",
|
||||
@@ -46,8 +47,12 @@
|
||||
"mute-project/@description": "Presione Ctrl+Click sobre la bandera verde para silenciar o desilenciar el proyecto.",
|
||||
"mute-project/@info-macOS": "En macOS, use la tecla Cmd en vez de Ctrl.",
|
||||
"mute-project/@name": "Modo silenciado de reproductor de proyectos",
|
||||
"vol-slider/@description": "Agrega un control deslizante de volumen al lado de los controles de la bandera verde.",
|
||||
"vol-slider/@name": "Deslizador de volumen del proyecto",
|
||||
"vol-slider/@settings-name-defVol": "Volumen por defecto",
|
||||
"clones/@description": "Agrega un contador de clones arriba del escenario en el editor que muestra la cantidad total de clones del proyecto.",
|
||||
"clones/@name": "Contador de clones",
|
||||
"clones/@settings-name-showicononly": "Mostrar ícono solamente",
|
||||
"mouse-pos/@description": "Muestra la posición x/y del ratón arriba del escenario en el editor.",
|
||||
"mouse-pos/@name": "Posición del ratón",
|
||||
"color-picker/@description": "Agrega una entrada de colores hex a los selectores de color.",
|
||||
@@ -74,7 +79,7 @@
|
||||
"default-costume-editor-color/@description": "Cambia los colores predeterminados y el tamaño del borde utilizados por el editor de disfraces.",
|
||||
"default-costume-editor-color/@name": "Color predeterminado personalizable en el editor de disfraces",
|
||||
"default-costume-editor-color/@settings-name-fill": "Color de relleno predeterminado",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Usar color anterior en vez del predeterminado al cambiar de herramienta",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Usar color anterior en vez de reiniciar al cambiar de herramienta",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Color de borde predeterminado",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Tamaño de borde predeterminado",
|
||||
"bitmap-copy/@description": "Le permite copiar una imagen bitmap en el editor de disfraces al portapapeles de su sistema, para que la puedas pegar en otros sitios web o programas.",
|
||||
@@ -89,6 +94,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Estirar para llenar escenario",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Achicar para encajar en escenario",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Tamaño original",
|
||||
"pick-colors-from-stage/@description": "Permite que el cuentagotas también pueda elegir colores del escenario.",
|
||||
"pick-colors-from-stage/@name": "Seleccionar colores del escenario en el editor de disfraces",
|
||||
"custom-block-shape/@description": "Ajuste el relleno, radio de esquinas y altura de la muesca de los bloques.",
|
||||
"custom-block-shape/@info-paddingWarning": "Si baja el valor de tamaño del relleno, cuando otros usuarios vean su proyecto, podría parecer que sus scripts se superponen.",
|
||||
"custom-block-shape/@name": "Forma de bloque personalizada",
|
||||
@@ -103,6 +110,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Tamaño de esquinas (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Altura de muesca (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Tamaño de relleno/padding (50-200%)",
|
||||
"zebra-striping/@description": "Alterna entre tonos más claros y más oscuros a los bloques de la misma categoría anidados entre sí. Esto también es conocido como \"zebra striping\".",
|
||||
"zebra-striping/@name": "Alternar colores de bloques anidados",
|
||||
"zebra-striping/@settings-name-intensity": "Intensidad (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Tonalidad",
|
||||
"zebra-striping/@settings-select-shade-darker": "Oscura",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Clara",
|
||||
"editor-theme3/@description": "Edite los colores para cada categoría de bloques del editor.",
|
||||
"editor-theme3/@name": "Colores de bloques personalizables",
|
||||
"editor-theme3/@preset-description-black": "Hace negros los fondos de los bloques",
|
||||
@@ -111,9 +124,10 @@
|
||||
"editor-theme3/@preset-description-tweaks": "Usa colores inspirados en 2.0 en las categorías Eventos, Control y Mis bloques. ",
|
||||
"editor-theme3/@preset-name-black": "Negro",
|
||||
"editor-theme3/@preset-name-dark": "Oscuro",
|
||||
"editor-theme3/@preset-name-original": "Colores de 2.0",
|
||||
"editor-theme3/@preset-name-original": "Colores de la 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 Mejorado",
|
||||
"editor-theme3/@settings-name-Pen-color": "extensiones",
|
||||
"editor-theme3/@settings-name-comment-color": "Comentarios",
|
||||
"editor-theme3/@settings-name-custom-color": "personalizado",
|
||||
"editor-theme3/@settings-name-data-lists-color": "listas",
|
||||
"editor-theme3/@settings-name-events-color": "eventos",
|
||||
@@ -128,18 +142,21 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Con color en fondo negro",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Con color en fondo blanco",
|
||||
"editor-theme3/@settings-select-text-white": "Blanco",
|
||||
"editor-theme3/@update": "Nuevo ajuste para activar el cambio de color de los bloques en los foros.",
|
||||
"editor-theme3/@update": "El ajuste \"Comentarios oscuros\" de \"Modo oscuro del editor y colores personalizados\" se ha movido aquí y ahora es personalizable.",
|
||||
"custom-block-text/@description": "Cambia el grosor del texto en bloques y opcionalmente agrega una sombra al texto.",
|
||||
"custom-block-text/@name": "Estilo de texto de bloques personalizado",
|
||||
"custom-block-text/@settings-name-bold": "Texto en negrita",
|
||||
"custom-block-text/@settings-name-shadow": "Sombra bajo texto",
|
||||
"editor-colored-context-menus/@description": "Hace que los menús al dar click derecho en un bloque sean coloridos.",
|
||||
"editor-colored-context-menus/@name": "Menús coloridos",
|
||||
"editor-stage-left/@description": "Mueve el escenario al lado izquierdo del editor, como en Scratch 2.0.",
|
||||
"editor-stage-left/@info-reverseOrder": "Para cambiar la posición de los botones arriba del escenario, use el addon \"invertir orden de los controles del proyecto\".",
|
||||
"editor-stage-left/@name": "Mostrar escenario del lado izquierdo",
|
||||
"editor-buttons-reverse-order/@description": "Mueve la bandera verde y el botón de detener a la derecha, y el botón de pantalla completa a la izquierda, como en Scratch 2.0.",
|
||||
"editor-buttons-reverse-order/@name": "Invertir orden de los controles del proyecto",
|
||||
"variable-manager/@description": "Agrega una pestaña al lado de \"sonidos\" en el editor para que pueda fácilmente editar variables y listas.",
|
||||
"variable-manager/@name": "Gestor de variables",
|
||||
"variable-manager/@update": "Los elementos de las listas ahora pueden ser insertados sin estar manteniendo la tecla Shift.",
|
||||
"search-sprites/@description": "Agrega una barra de búsqueda al panel de objetos para buscar objetos por nombre.",
|
||||
"search-sprites/@name": "Buscar objetos por nombre",
|
||||
"gamepad/@description": "Interactúe con proyectos usando un control/mando de videojuegos mediante USB o Bluetooth.",
|
||||
@@ -187,9 +204,13 @@
|
||||
"custom-zoom/@settings-select-speed-short": "Corta",
|
||||
"initialise-sprite-position/@description": "Cambia la posición x/y predeterminada de nuevos objetos.",
|
||||
"initialise-sprite-position/@name": "Posición predeterminada de nuevos objetos personalizable",
|
||||
"initialise-sprite-position/@settings-name-duplicate": "Comportamiento al duplicar objetos",
|
||||
"initialise-sprite-position/@settings-name-library": "Posiciones aleatorias al agregar objetos de la librería",
|
||||
"initialise-sprite-position/@settings-name-x": "Posición X",
|
||||
"initialise-sprite-position/@settings-name-y": "Posición Y",
|
||||
"initialise-sprite-position/@settings-select-duplicate-custom": "Enviar a valores x/y especificados",
|
||||
"initialise-sprite-position/@settings-select-duplicate-keep": "Mantener como el objeto original",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "Aleatorizar",
|
||||
"blocks2image/@description": "Haga click derecho en el área de código para exportar bloques como imágenes SVG/PNG.",
|
||||
"blocks2image/@name": "Guardar bloques como imagen",
|
||||
"remove-curved-stage-border/@description": "Quita los bordes curvos alrededor del escenario, permitiéndole ver las esquinas.",
|
||||
@@ -243,7 +264,8 @@
|
||||
"no-script-bumping/@name": "No espaciar automáticamente scripts superpuestos",
|
||||
"disable-stage-drag-select/@description": "Elimina la posibilidad de arrastrar objetos en el escenario, exceptuando aquellos fijados explícitamente como arrastrables. Presione Shift mientras arrastra un objeto para moverlo normalmente.",
|
||||
"disable-stage-drag-select/@name": "Objetos no arrastrables en el editor",
|
||||
"move-to-top-bottom/@description": "Agrega un ítem al menú de click derecho para mover un disfraz o sonido a la posición primera o última de la lista. Previamente parte de las herramientas de desarrollador.",
|
||||
"move-to-top-bottom/@description": "Agrega opciones al menú de click derecho para mover un disfraz o sonido a la primera o última posición de la lista.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Este addon era parte de \"herramientas de desarrollador\", pero se ha mudado aquí.",
|
||||
"move-to-top-bottom/@name": "Mover disfraz a la cima o al fondo",
|
||||
"disable-paste-offset/@description": "Pega items copiados en su posición original en vez de movidos levemente en el editor de disfraces.",
|
||||
"disable-paste-offset/@name": "No mover items pegados",
|
||||
|
||||
@@ -3,12 +3,17 @@
|
||||
"cat-blocks/@info-watch": "L'option \"Regarder le curseur\" peut impacter les performances quand l'éditeur est ouvert.",
|
||||
"cat-blocks/@name": "Blocs chat",
|
||||
"cat-blocks/@settings-name-watch": "Regarder le curseur",
|
||||
"editor-devtools/@description": "Ajoute une boîte de recherche et de nouvelles options de menu à l'éditeur : copier/coller des blocs, un meilleur nettoyage, accéder à la définition d'un bloc personnalisé, et plus encore ! Appuyez sur Ctrl+F pour sélectionner la zone de recherche, Ctrl+Espace pour afficher le pop-up \"ajouter un bloc par nom\", Ctrl+Gauche/Droite pour naviguer dans l'historique des recherches.",
|
||||
"editor-devtools/@description": "Ajoute de nouvelles options de menu à l'éditeur : copier/coller des blocs, un meilleur nettoyage, et plus encore ! Utilisez Ctrl + Espace (Maj + Espace sur macOS) pour faire apparaître le pop-up \"ajouter un bloc par nom\".",
|
||||
"editor-devtools/@name": "Outils pour développeurs",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Améliorer l'option \"Nettoyer les blocs\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Faites un clic avec la molette sur les variables, les blocs personnalisés ou les évènements pour aller à leur définition",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Coller les blocs à l'emplacement du curseur",
|
||||
"editor-searchable-dropdowns/@description": "Vous permet de rechercher des listes déroulantes de blocs.",
|
||||
"find-bar/@description": "Ajoute une barre de recherche à côté de l'onglet des son pour rechercher et accéder à des scripts, costumes et sons. Utilisez Ctrl + Flèche gauche et Ctrl + Flèche droite dans la zone de code pour naviguer vers la position précédente ou suivante après avoir utilisé la barre de recherche.",
|
||||
"find-bar/@info-developer-tools": "Cet addon faisait auparavant partie de l'addon \"outils de développement\" mais a été déplacé ici.",
|
||||
"find-bar/@name": "Barre de recherche de l'éditeur",
|
||||
"jump-to-def/@description": "Permet d'accéder à la définition d'un bloc personnalisé à l'aide du bouton central de la souris ou de Maj + Clic sur le bloc.",
|
||||
"jump-to-def/@info-developer-tools": "Cet addon faisait auparavant partie de l'addon \"outils de développement\" mais a été déplacé ici.",
|
||||
"jump-to-def/@name": "Accéder à la définition d'un bloc personnalisé",
|
||||
"editor-searchable-dropdowns/@description": "Vous permet d'afficher une liste déroulante pour rechercher des blocs.",
|
||||
"editor-searchable-dropdowns/@name": "Menus déroulants recherchables",
|
||||
"data-category-tweaks-v2/@description": "Apporte des améliorations pour la catégorie des blocs de donnée (\"Variables\") dans l'éditeur.",
|
||||
"data-category-tweaks-v2/@name": "Améliorations pour la catégorie des blocs de donnée",
|
||||
@@ -20,12 +25,12 @@
|
||||
"hide-flyout/@description": "Cache la palette des blocs si elle n'est pas survolée. Cliquez sur l'icône de cadenas pour la maintenir en place temporairement. Sinon, utilisez le mode \"Clic sur la catégorie\".",
|
||||
"hide-flyout/@info-hoverExplanation": "Le mode \"Survol de la palette\" n'étend seulement la zone affichée. Si vous voulez pouvoir glisser les blocs dans cette zone sans qu'ils soient supprimés, utilisez un des autres modes.",
|
||||
"hide-flyout/@name": "Masquer automatiquement la palette de blocs",
|
||||
"hide-flyout/@settings-name-speed": "Durée de l'animation",
|
||||
"hide-flyout/@settings-name-speed": "Vitesse d’animation",
|
||||
"hide-flyout/@settings-name-toggle": "Activer...",
|
||||
"hide-flyout/@settings-select-speed-default": "Par défaut",
|
||||
"hide-flyout/@settings-select-speed-long": "Longue",
|
||||
"hide-flyout/@settings-select-speed-none": "Aucune",
|
||||
"hide-flyout/@settings-select-speed-short": "Courte",
|
||||
"hide-flyout/@settings-select-speed-long": "Lent",
|
||||
"hide-flyout/@settings-select-speed-none": "Instantané",
|
||||
"hide-flyout/@settings-select-speed-short": "Rapide",
|
||||
"hide-flyout/@settings-select-toggle-category": "Au clic de la catégorie",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Au survol de la catégorie",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Au survol de la palette",
|
||||
@@ -46,8 +51,12 @@
|
||||
"mute-project/@description": "Ctrl + Clic sur le drapeau vert pour couper/rétablir le son du projet.",
|
||||
"mute-project/@info-macOS": "Sur macOS, utilisez la touche Cmd plutôt que la touche Ctrl.",
|
||||
"mute-project/@name": "Mode lecture de projet en sourdine",
|
||||
"vol-slider/@description": "Ajoute un curseur de volume à côté du drapeau vert.",
|
||||
"vol-slider/@name": "Curseur de volume de projet",
|
||||
"vol-slider/@settings-name-defVol": "Volume par défaut",
|
||||
"clones/@description": "Ajoute un compteur dans l'éditeur pour voir le compte total de clones.",
|
||||
"clones/@name": "Compteur de clones",
|
||||
"clones/@settings-name-showicononly": "Afficher l'icône uniquement",
|
||||
"mouse-pos/@description": "Affiche la position X/Y de la souris a côté du drapeau vert dans l'éditeur.",
|
||||
"mouse-pos/@name": "Position de la souris",
|
||||
"color-picker/@description": "Ajoute une entrée pour code hexa aux palettes de couleurs.",
|
||||
@@ -74,7 +83,7 @@
|
||||
"default-costume-editor-color/@description": "Modifie les couleurs par défaut et la taille du contour utilisées par l'éditeur de costumes.",
|
||||
"default-costume-editor-color/@name": "Couleurs par défaut de l'éditeur de costumes personnalisables ",
|
||||
"default-costume-editor-color/@settings-name-fill": "Couleur de remplissage par défaut",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Utiliser la couleur précédente au lieu de la valeur par défaut lors du changement d'outil",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Conserve la même couleur au lieu de la changer à chaque changement d'outil",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Couleur de contour par défaut",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Taille de contour par défaut",
|
||||
"bitmap-copy/@description": "Vous permet de copier une image bitmap de l'éditeur d'images, pour pouvoir la coller ensuite dans d'autres sites ou logiciels.",
|
||||
@@ -89,6 +98,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Étirer pour remplir la scène",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Étirer pour remplir la scène",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Taille originale",
|
||||
"pick-colors-from-stage/@description": "Permet à la pipette de l'éditeur de costume de récupérer des couleur de la scène.",
|
||||
"pick-colors-from-stage/@name": "Sélectionner les couleurs de l'éditeur de costumes",
|
||||
"custom-block-shape/@description": "Ajustez les marges, le rayon des coins et la hauteur de l'entaille des blocs Scratch.",
|
||||
"custom-block-shape/@info-paddingWarning": "Diminuer la marge est uniquement visible par vous, donc si vos projets sont vus par d'autres utilisateurs, vos scripts pourraient se chevaucher.",
|
||||
"custom-block-shape/@name": "Forme de bloc personnalisable",
|
||||
@@ -101,16 +112,23 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Taille des coins (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Hauteur de l'entaille (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Taille de la marge (50-200%)",
|
||||
"zebra-striping/@description": "Fait alterner les blocs de la même catégorie entre des nuances plus claires et plus foncées lorsqu'ils sont imbriqués les uns dans les autres. Ceci est également connu sous le nom de \"rayures zébrées\" (\"zebra striping\" en Anglais).",
|
||||
"zebra-striping/@name": "Alternance de la couleur des blocs imbriqués",
|
||||
"zebra-striping/@settings-name-intensity": "Intensité (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Ombre",
|
||||
"zebra-striping/@settings-select-shade-darker": "Plus sombre",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Plus clair",
|
||||
"editor-theme3/@description": "Personnalisez la couleur des blocs pour chaque catégorie de bloc dans l'éditeur.",
|
||||
"editor-theme3/@name": "Couleurs des blocs personnalisable",
|
||||
"editor-theme3/@preset-description-black": "Rendre l'arrière-plan des blocs noir.",
|
||||
"editor-theme3/@preset-description-dark": "Version sombre des couleurs par défaut",
|
||||
"editor-theme3/@preset-description-original": "Les couleurs classiques des blocs de Scratch 2.0",
|
||||
"editor-theme3/@preset-description-tweaks": "Évènements, Contrôles et Blocs personnalisés avec les couleurs inspirées de Scratch 2.0",
|
||||
"editor-theme3/@preset-description-original": "Les couleurs originales des blocs de Scratch 2.0",
|
||||
"editor-theme3/@preset-description-tweaks": "Évènements, Contrôles et Blocs personnalisés avec les couleurs inspirées de Scratch 2.0",
|
||||
"editor-theme3/@preset-name-black": "Noir",
|
||||
"editor-theme3/@preset-name-dark": "Sombre",
|
||||
"editor-theme3/@preset-name-original": "Couleurs 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Ajustements 3.0",
|
||||
"editor-theme3/@preset-name-original": "Couleurs de la version Scratch 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Ajustements de la version Scratch 3.0",
|
||||
"editor-theme3/@settings-name-comment-color": "Commentaires",
|
||||
"editor-theme3/@settings-name-control-color": "contrôle",
|
||||
"editor-theme3/@settings-name-custom-color": "personnalisé",
|
||||
"editor-theme3/@settings-name-data-lists-color": "listes",
|
||||
@@ -126,18 +144,21 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Coloré sur fond noir",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Coloré sur fond blanc",
|
||||
"editor-theme3/@settings-select-text-white": "Blanc",
|
||||
"editor-theme3/@update": "Nouvelle option qui permet de changer les couleurs des blocs dans les forums.",
|
||||
"editor-theme3/@update": "Le paramètre \"Commentaires sombres\" de \"Thème sombre de l'éditeur et couleurs personnalisables\" a été déplacé ici et est maintenant personnalisable.",
|
||||
"custom-block-text/@description": "Change l'épaisseur du texte des blocs et y ajoute éventuellement une ombre.",
|
||||
"custom-block-text/@name": "Style de texte des blocs personnalisés",
|
||||
"custom-block-text/@settings-name-bold": "Texte en gras",
|
||||
"custom-block-text/@settings-name-shadow": "Ombre sous le texte",
|
||||
"editor-colored-context-menus/@description": "Menus contextuels colorés quuan on fait un clic droit sur un bloc ",
|
||||
"editor-colored-context-menus/@name": "Menus déroulants colorés",
|
||||
"editor-stage-left/@description": "Déplace la scène à gauche de l'éditeur, comme dans Scratch 2.0.",
|
||||
"editor-stage-left/@info-reverseOrder": "Pour modifier la position des boutons au-dessus de la scène, utilisez l'addon \"inverser l'ordre des contrôles du projet\".",
|
||||
"editor-stage-left/@name": "Afficher la scène sur le côté gauche",
|
||||
"editor-buttons-reverse-order/@description": "Bouge le drapeau vert et le bouton stop sur la droite, et le bouton plein écran à la gauche, comme dans Scratch 2.0",
|
||||
"editor-buttons-reverse-order/@name": "Inverser l'ordre des contrôles du projet",
|
||||
"editor-buttons-reverse-order/@name": "Inverse l'ordre des contrôles du projet",
|
||||
"variable-manager/@description": "Ajoute un nouvel onglet à côté de \"sons\" dans l'éditeur pour mettre à jour facilement les variables et les listes.",
|
||||
"variable-manager/@name": "Gestionnaire de variables",
|
||||
"variable-manager/@update": "Les éléments de liste peuvent désormais être insérés sans maintenir la touche Maj enfoncée.",
|
||||
"search-sprites/@description": "Ajoute un champ de recherche au volet des sprites pour les rechercher par nom.",
|
||||
"search-sprites/@name": "Recherche de sprites par nom",
|
||||
"gamepad/@description": "Interagissez avec les projets en utilisant une manette USB ou Bluetooth.",
|
||||
@@ -184,9 +205,13 @@
|
||||
"custom-zoom/@settings-select-speed-short": "Court",
|
||||
"initialise-sprite-position/@description": "Changer les position par défaut des ordonnées et abscisses lors de la création d'un nouveau costume",
|
||||
"initialise-sprite-position/@name": "Position d'un nouveau sprite personnalisable",
|
||||
"initialise-sprite-position/@settings-name-duplicate": "Comportement lors de la duplication de sprites",
|
||||
"initialise-sprite-position/@settings-name-library": "Place les sprites de la bibliothèque aléatoirement",
|
||||
"initialise-sprite-position/@settings-name-x": "Abscisse x",
|
||||
"initialise-sprite-position/@settings-name-y": "Ordonnée y",
|
||||
"initialise-sprite-position/@settings-select-duplicate-custom": "Envoyer aux valeurs x/y spécifiées",
|
||||
"initialise-sprite-position/@settings-select-duplicate-keep": "Identique au sprite d'origine",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "Randomiser",
|
||||
"blocks2image/@description": "Faites un clic droit sur la zone de code de l'éditeur pour exporter les blocs sous formes d'images SVG / PNG.",
|
||||
"blocks2image/@name": "Enregistrer les blocs en tant qu'image",
|
||||
"remove-curved-stage-border/@description": "Enlève les bords arrondis de la scène, vous permettant de voir les coins.",
|
||||
@@ -236,13 +261,15 @@
|
||||
"no-script-bumping/@name": "Ne pas espacer automatiquement les scripts qui se chevauchent",
|
||||
"disable-stage-drag-select/@description": "Supprime la possibilité de faire glisser des sprites sur la scène dans l'éditeur, à l'exception de ceux explicitement définis comme déplaçables. Maintenez la touche Maj enfoncée tout en faisant glisser un sprite pour le déplacer normalement.",
|
||||
"disable-stage-drag-select/@name": "Sprites non glissables dans l'éditeur",
|
||||
"move-to-top-bottom/@description": "Ajoute un élément au menu contextuel du clics droit pour déplacé un costume ou un son en haut ou en bas de ça liste. Précédemment dans le Scratch Developer Tools.",
|
||||
"move-to-top-bottom/@description": "Ajouter une option au menu du clic droit des costumes et des sons pour les déplacer en haut ou en bas de la liste.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Cet addon faisait auparavant partie de l'addon \"outils de développement\" mais a été déplacé ici.",
|
||||
"move-to-top-bottom/@name": "Déplacer le costume en haut ou en bas",
|
||||
"disable-paste-offset/@description": "Collez les éléments copiés à leur position d'origine au lieu de les déplacer légèrement dans l'éditeur de costumes.",
|
||||
"disable-paste-offset/@name": "Ne pas déplacer les éléments collés",
|
||||
"block-duplicate/@description": "Dupliquez rapidement un script en le déplaçant tout en maintenant la touche Alt enfoncée. Maintenez la touche Ctrl enfoncée pour ne dupliquer qu'un seul bloc au lieu de toute la pile attachée en dessous.",
|
||||
"block-duplicate/@info-mac": "Sur macOS, utilisez la touche Option au lieu de la touche Alt et la touche Commande au lieu de la touche Contrôle.",
|
||||
"block-duplicate/@name": "Dupliquer le script avec la touche Alt",
|
||||
"rename-broadcasts/@description": "Ajoute une option pour renommer les messages de diffusion dans le menu déroulant de ces blocs.",
|
||||
"rename-broadcasts/@name": "Renommer les diffusions",
|
||||
"swap-local-global/@description": "Ajoute plus d'options lors du renommage d'une variable ou d'une liste existante : permet de basculer entre « Pour tous les sprites » et « Pour ce sprite uniquement » et si les variables sont stockées dans le cloud. Ajoute également une nouvelle option lors d'un clic droit sur une variable/liste pour changer rapidement sa portée.",
|
||||
"swap-local-global/@name": "Basculer les variables entre \"Pour tous les sprites\" et \"Pour ce sprite uniquement.",
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "A <i>\"Figyeld az egérmutatót\"</i> opció hatással lehet a teljesítményre, miközben a szerkesztő meg van nyitva.",
|
||||
"cat-blocks/@name": "Cica-blokkok",
|
||||
"cat-blocks/@settings-name-watch": "Figyeld az egérmutatót",
|
||||
"editor-devtools/@description": "Hozzáad egy keresőmezőt és új menü opciókat a szerkesztőhöz: másolj/illessz be blokkokat, jobb rendrakás, ugorj saját blokk definíciójához, és még sok más! Nyomj Ctrl+F-t, hogy elkezdhess gépelni a keresőmezőbe, Ctrl+Szóközt, hogy felhozd az \"illessz be blokkot névalapján\" felugró menüt, Ctrl+Bal/Jobb Nyíl, hogy a keresési előzményekben kalandozz.",
|
||||
"editor-devtools/@description": "Új menü opciókat ad hozzá a szerkesztőhöz: blokkok másolása/beillesztése, jobb rendrakás, és még sok más! Használd a Ctrl+Szóközt (Shift+Szóköz macOS-on), hogy megjelenítsd a \"blokk hozzáadása név alapján\" felugró ablakot.",
|
||||
"editor-devtools/@name": "Fejlesztői eszközök",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Fejlesztett \"Rendrakás\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Kattints középső egérgombbal változókra, saját blokkokra vagy eseményekre, hogy navigálj",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Blokkok beillesztése a kurzorhoz",
|
||||
"find-bar/@description": "Hozzáad egy keresőmezőt a hang fültől jobbra, ami megkeresi és odavisz egy adott kód részhez, jelmezhez vagy hanghoz. Használd a Ctrl+Bal-t és Ctrl+Jobb-ot a kód mezőben, hogy navigálj az előfordulások között.",
|
||||
"find-bar/@info-developer-tools": "Ez a bővítmény korábban a \"Fejlesztői eszközök\" bővítmény része volt, de mostanra át lett helyezve ide.",
|
||||
"find-bar/@name": "Szerkesztő keresőmező",
|
||||
"jump-to-def/@description": "Megengedi, hogy egy egyéni blokk definiálásához ugorj a középső egérgombbal, vagy Shift+Kattintással az adott blokkon.",
|
||||
"jump-to-def/@info-developer-tools": "Ez a bővítmény korábban a \"Fejlesztői eszközök\" bővítmény része volt, de mostanra át lett helyezve ide.",
|
||||
"jump-to-def/@name": "Ugrás egyéni blokk definiálásához",
|
||||
"editor-searchable-dropdowns/@description": "Megengedi, hogy keress a blokkok legördülő menüiben.",
|
||||
"editor-searchable-dropdowns/@name": "Keresés a legördülő menükben",
|
||||
"data-category-tweaks-v2/@description": "Igazításokat hajt végre az Adat (\"Változók\") blokk kategórián.",
|
||||
@@ -20,12 +25,8 @@
|
||||
"hide-flyout/@description": "Elrejti a blokk választót, ha nem felette van a kurzor. Kattints a lakat ikonra, hogy átmenetileg zárold a pozícióját. Alternatívaként használd a \"kategória kattintásra\" módot.",
|
||||
"hide-flyout/@info-hoverExplanation": "A \"kurzor a választó felület felett\" mód csak a látóteredet növeli meg. Ha oda is szeretnél húzni blokkokat a törlődésük nélkül, akkor használj egy másik módot.",
|
||||
"hide-flyout/@name": "Blokk választó automatikus elrejtése",
|
||||
"hide-flyout/@settings-name-speed": "Animáció hossza",
|
||||
"hide-flyout/@settings-name-toggle": "Váltás ha...",
|
||||
"hide-flyout/@settings-select-speed-default": "Alap",
|
||||
"hide-flyout/@settings-select-speed-long": "Hosszú",
|
||||
"hide-flyout/@settings-select-speed-none": "Nincs",
|
||||
"hide-flyout/@settings-select-speed-short": "Rövid",
|
||||
"hide-flyout/@settings-select-toggle-category": "Kategória kattintásra",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Kurzor a kategóriák felett",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Kurzor a választó felület felett",
|
||||
@@ -47,11 +48,13 @@
|
||||
"mute-project/@description": "Ctrl+Kattints a zöld zászlóra, hogy némítsd/feloldd a némítást egy projektben.",
|
||||
"mute-project/@info-macOS": "MacOS-en használja a Cmd billentyűt a Ctrl helyett.",
|
||||
"mute-project/@name": "Némított projekt lejátszó mód",
|
||||
"vol-slider/@name": "Projekt-hangerőcsúszka",
|
||||
"clones/@description": "Hozzáad egy számlálót a szerkesztőhöz a színpad fölé, ami megmutatja a másolatok számát.",
|
||||
"clones/@name": "Másolatszámláló",
|
||||
"clones/@settings-name-showicononly": "Csak az ikon megjelenítése",
|
||||
"mouse-pos/@description": "Megjeleníti az egered x és y helyét a színpad fölött a szerkesztőben.",
|
||||
"mouse-pos/@name": "Egér pozíciója",
|
||||
"color-picker/@description": "Hozzáad egy hex kód bemenetet a szín választókhoz.",
|
||||
"color-picker/@description": "Hozzáad egy hexadecimális kódbemenetet a színválasztókhoz.",
|
||||
"color-picker/@name": "Hex szín választó",
|
||||
"remove-sprite-confirm/@description": "Megkérdezi egy projekten belüli szereplő törölésénél, hogy biztos vagy-e benne.",
|
||||
"remove-sprite-confirm/@name": "Szereplő törlésének megerősítése",
|
||||
@@ -74,7 +77,7 @@
|
||||
"default-costume-editor-color/@description": "Megváltoztatja az alap színeit és körvonal méreteit a jelmezszerkesztőnek.",
|
||||
"default-costume-editor-color/@name": "Személyre szabható alapértelmezett jelmezszerkesztőszínek",
|
||||
"default-costume-editor-color/@settings-name-fill": "Alapkitöltőszín",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Használja az előző színt eszközváltásnál, az alap-beállított helyett",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Használja az előző színt eszközváltásnál, alaphelyzetbe állás helyett",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Alapkörvonalszín",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Alapkörvonal-méret",
|
||||
"bitmap-copy/@description": "Engedélyezi, hogy kimásolj a rendszer vágólapjára egy bitmap képet a Scratch szerkesztőjében, amit aztán be tudsz illeszteni más weboldalaknál, vagy alkalmazásoknál.",
|
||||
@@ -89,6 +92,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Kinyújtás, hogy kitöltse a színpadot",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Összezsugorítással illesztés a színpadhoz",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Eredeti méret",
|
||||
"pick-colors-from-stage/@description": "Lehetővé teszi a jelmez szerkesztő pipetta eszközének, hogy a színpadról is felvehessen színeket.",
|
||||
"pick-colors-from-stage/@name": "Háttér színének választása a jelmez szerkesztőben",
|
||||
"custom-block-shape/@description": "Állítsd be a kipárnázást, sarok sugarat, és a bemetszés magasságát a blokkokon.",
|
||||
"custom-block-shape/@info-paddingWarning": "A kipárnázás méretének csökkentése csak általad látható, szóval ha a projektjeidet mások tekintik meg, a kódjaid lehet, hogy fedni fogják egymást.",
|
||||
"custom-block-shape/@name": "Személyre szabható blokk forma",
|
||||
@@ -103,6 +108,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Sarok méret (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Bemetszés magassága (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Kipárnázás mérete (50-200%)",
|
||||
"zebra-striping/@description": "Használatkor az ugyanazon blokk kategóriából származó blokkok színei váltakoznak világosabb és sötétebb árnyalatok között, amikor egymásba vannak ágyazva. Ezt úgy is nevezik, hogy zebra csíkozás.",
|
||||
"zebra-striping/@name": "Váltakozó egymásba ágyazott blokk színek",
|
||||
"zebra-striping/@settings-name-intensity": "Intenzitás (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Árnyalat",
|
||||
"zebra-striping/@settings-select-shade-darker": "Sötétebb",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Világosabb",
|
||||
"editor-theme3/@description": "Szerkeszd a blokkok színeit kategóriánként a szerkesztőben.",
|
||||
"editor-theme3/@name": "Személyre szabható blokk színek",
|
||||
"editor-theme3/@preset-description-black": "Sötétté teszi a blokkok háttereit",
|
||||
@@ -114,6 +125,7 @@
|
||||
"editor-theme3/@preset-name-original": "2.0-ás Színek",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 Kis Igazítással",
|
||||
"editor-theme3/@settings-name-Pen-color": "Bővítmények",
|
||||
"editor-theme3/@settings-name-comment-color": "Kommentek",
|
||||
"editor-theme3/@settings-name-control-color": "Vezérlés",
|
||||
"editor-theme3/@settings-name-custom-color": "Blokkjaim",
|
||||
"editor-theme3/@settings-name-data-color": "Változók",
|
||||
@@ -130,7 +142,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Színes fekete háttéren",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Színes fehér háttéren",
|
||||
"editor-theme3/@settings-select-text-white": "Fehér",
|
||||
"editor-theme3/@update": "Új beállítás, amivel engedélyezheted, hogy a blokkok színét a fórumokon is változtathasd.",
|
||||
"editor-theme3/@update": "A \"Sötét kommentek\" beállítás a \"Szerkesztő sötét mód és személyre szabható színek\" bővítményből ide lett áthelyezve és most már személyre szabható.",
|
||||
"custom-block-text/@description": "Megváltoztatja a szövegek vastagságát a blokkokon és ezen kívül opcionális árnyékot is adhatsz a szövegekhez.",
|
||||
"custom-block-text/@name": "Személyre szabható blokk szöveg stílus",
|
||||
"custom-block-text/@settings-name-bold": "Félkövér szöveg",
|
||||
@@ -144,6 +156,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Projektirányító gombok fordított sorrendben",
|
||||
"variable-manager/@description": "Hozzáad egy fület a \"hangok\" mellé a szerkesztőben, melyben könnyen frissítheted a változókat és listákat.",
|
||||
"variable-manager/@name": "Változó kezelő",
|
||||
"variable-manager/@update": "Lista elemek már Shift nyomvatartása nélkül is beszúrhatók.",
|
||||
"search-sprites/@description": "Hozzáad egy kereső mezőt a szereplő kijelzőhőz, hogy kereshess a szereplők között név alapján.",
|
||||
"search-sprites/@name": "Szereplők keresése név alapján",
|
||||
"gamepad/@description": "Lépj kapcsolatba projektekkel USB, vagy Bluetooth kontroller/gamepad használata által.",
|
||||
@@ -251,7 +264,8 @@
|
||||
"no-script-bumping/@name": "Ne mozgasd automatikusan a kódokat",
|
||||
"disable-stage-drag-select/@description": "Eltávolítja a lehetőséget, hogy áthelyezd a szereplőket a színpadon, kivéve azoknál, amik kifejezetten húzogathatóvá lettek beállítva. Tarsd lenyomva a Shiftet egy szereplő megragadása közben, hogy áthelyezhesd normálisan.",
|
||||
"disable-stage-drag-select/@name": "Nem-mozdítható szereplők a szerkesztőben",
|
||||
"move-to-top-bottom/@description": "Hozzáad egy helyi menü elemet, amivel mozgathatsz egy jelmezt vagy hangot a lista tetejére vagy aljára. Korábban a fejlesztői eszközök része.",
|
||||
"move-to-top-bottom/@description": "Hozzáad egy opctiót a jobb katt index menüjéhez a jelmezek és hangok mozgatására a lista legtetejére vagy legaljára.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Ez a bővítmény korábban a \"Fejlesztői eszközök\" bővítmény része volt, de mostanra át lett helyezve ide.",
|
||||
"move-to-top-bottom/@name": "Jelmez áthelyezése legfelülre vagy legalulra",
|
||||
"disable-paste-offset/@description": "A bemásolt elemeket az eredeti helyükre kerülnek, nem tolódnak el a jelmez szerkesztőben.",
|
||||
"disable-paste-offset/@name": "Ne helyezd át a bemásolt elemeket",
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "La modalità \"Guarda il puntatore del mouse\" può avere un certo impatto sulla performance quando l'editor è aperto",
|
||||
"cat-blocks/@name": "Cappelli con le orecchie del gatto",
|
||||
"cat-blocks/@settings-name-watch": "Guarda il puntatore del mouse",
|
||||
"editor-devtools/@description": "Aggiunge una casella di ricerca e nuove opzioni ai menu dell'editor: copia/incolla blocchi, riordino migliorato, vai alla definizione del blocco e altro! Premi Ctrl+F per spostarti alla casella di ricerca, Ctrl+Spazio per attivare il menu \"aggiungi blocco per nome\", Ctrl+Sinistra/Destra per navigare nella cronologia di ricerca.",
|
||||
"editor-devtools/@description": "Aggiunge nuove opzioni al menu dell'editor degli script copia/incolla blocchi, riordino migliorato e altro! Usa Ctrl+Spazio (Shift+Spazio in macOS) per far comparire il menu \"aggiungi blocco per nome\".",
|
||||
"editor-devtools/@name": "Strumenti per sviluppatori",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Migliora \"Riordina i Blocchi\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Clicca nel centro i blocchi delle variabili, i blocchi personalizzati o gli eventi per cercarne altre occorrenze",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Incolla i blocchi dove si trova il puntatore del mouse.",
|
||||
"find-bar/@description": "Aggiunge una barra di ricerca a fianco alla scheda suoni per trovare script, costumi e suoni e per passare direttamente agli elementi trovati. Usa Ctrl+Sinistra a Ctrl+Destra nell'area degli script per andare alla precedente o alla seguente posizione che hai visitato dopo che hai usato la barra di ricerca.",
|
||||
"find-bar/@info-developer-tools": " Questo addon faceva parte in precedenza dell'addon \"strumenti per sviluppatori\" ma è stato spostato qui.",
|
||||
"find-bar/@name": "Barra di ricerca dell'editor",
|
||||
"jump-to-def/@description": "Ti permette di andare alla definizione di un blocco personalizzato usando il pulsante centrale del mouse oppure cliccando il blocco mentre si preme Shift.",
|
||||
"jump-to-def/@info-developer-tools": "Questo addon faceva parte in precedenza dell'addon \"strumenti per sviluppatori\" ma è stato spostato qui.",
|
||||
"jump-to-def/@name": "Vai alla definizione del blocco personalizzato",
|
||||
"editor-searchable-dropdowns/@description": "TI permette di cercare nel menu contestuale dei blocchi",
|
||||
"editor-searchable-dropdowns/@name": "Ricerca nei Menu drop-down",
|
||||
"data-category-tweaks-v2/@description": "Modifica nell'editor la categoria \"Variabili\".",
|
||||
@@ -20,12 +25,12 @@
|
||||
"hide-flyout/@description": "Nasconde il pannello dei blocchi se non è a contatto con il mouse. Clicca il lucchetto per bloccarlo temporaneamente. In alternativa, usa la modalità \"Clic categoria\".",
|
||||
"hide-flyout/@info-hoverExplanation": "La modalità \"Movimento del mouse sull'area dei blocchi\" estende soltanto l'area degli script. Se vuoi poter trascinarvi i blocchi in questa aria senza che vengano cancellati, usa una delle altre modalità.",
|
||||
"hide-flyout/@name": "Nascondi pannello blocchi automaticamente",
|
||||
"hide-flyout/@settings-name-speed": "Durata animazione",
|
||||
"hide-flyout/@settings-name-speed": "Velocità animazione",
|
||||
"hide-flyout/@settings-name-toggle": "Nascondi quando...",
|
||||
"hide-flyout/@settings-select-speed-default": "Predefinita",
|
||||
"hide-flyout/@settings-select-speed-long": "Lunga",
|
||||
"hide-flyout/@settings-select-speed-none": "Nessuna",
|
||||
"hide-flyout/@settings-select-speed-short": "Corta",
|
||||
"hide-flyout/@settings-select-speed-long": "Lenta",
|
||||
"hide-flyout/@settings-select-speed-none": "Istantanea",
|
||||
"hide-flyout/@settings-select-speed-short": "Veloce",
|
||||
"hide-flyout/@settings-select-toggle-category": "Clic categoria",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Movimento del mouse sull'area delle categorie",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Movimento del mouse sull'area dei blocchi",
|
||||
@@ -46,6 +51,9 @@
|
||||
"mute-project/@description": "Ctrl+Clic sulla bandiera verde per attivare o disattivare l'audio del progetto.",
|
||||
"mute-project/@info-macOS": "In macOS usa il tasto Cmd invece del tasto Ctrl.",
|
||||
"mute-project/@name": "Modalità dell'editor di progetti con audio disattivato",
|
||||
"vol-slider/@description": "Aggiunge un cursore per il volume vicino ai controlli della bandiera verde.",
|
||||
"vol-slider/@name": "Cursore volume progetto ",
|
||||
"vol-slider/@settings-name-defVol": "Volume predefinito",
|
||||
"clones/@description": "Mostra sopra lo stage dell'editor il numero totale di cloni.",
|
||||
"clones/@name": "Numero dei cloni",
|
||||
"clones/@settings-name-showicononly": "Mostra solo icona",
|
||||
@@ -75,7 +83,7 @@
|
||||
"default-costume-editor-color/@description": "Cambia i colori e la dimensione del contorno predefiniti nell'editor di immagini.",
|
||||
"default-costume-editor-color/@name": "Colori predefiniti dell'editor di immagini personalizzabili",
|
||||
"default-costume-editor-color/@settings-name-fill": "Colore di riempimento predefinito",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Usa i colori precedenti invece di quelli predefiniti quando si cambia editor",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Usa colore precedente invece di resettare dopo aver cambiato gli strumenti",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Colore di contorno predefinito",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Dimensione contorno predefinita",
|
||||
"bitmap-copy/@description": "Ti permette di copiare negli appunti un'immagine bitmap dall'editor di immagini per poterla poi incollare in altri siti o in altre app.",
|
||||
@@ -90,6 +98,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Estendi per riempire lo stage",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Riduci per entrare tutta nello stage",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Dimensione originale",
|
||||
"pick-colors-from-stage/@description": "Permetti al contagocce dell'editor di costumi di selezionare colori anche dallo Stage.",
|
||||
"pick-colors-from-stage/@name": "Seleziona i colori dello Stage nell'editor dei costumi",
|
||||
"custom-block-shape/@description": "Modifica lo spazio interno, l'ampiezza degli angoli e l'altezza degli agganci dei blocchi di Scratch.",
|
||||
"custom-block-shape/@info-paddingWarning": "La diminuzione dello spazio interno è visibile soltanto a te, quindi se i tuoi progetti vengono visualizzati da altri utenti i tuoi script potrebbero essere sovrapposti.",
|
||||
"custom-block-shape/@name": "Forma dei blocchi personalizzata",
|
||||
@@ -104,6 +114,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Dimensione angoli (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Altezza agganci (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Spaziatura interna (50-200%)",
|
||||
"zebra-striping/@description": "Rende i blocchi della stessa categoria più chiari o più scuri quando sono annidati uno dentro l'altro. E' conosciuto anche come \"zebra striping\".",
|
||||
"zebra-striping/@name": "Colorazione alternata dei blocchi annidati. ",
|
||||
"zebra-striping/@settings-name-intensity": "Intensità (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Tonalità",
|
||||
"zebra-striping/@settings-select-shade-darker": "Più scuro",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Più chiaro",
|
||||
"editor-theme3/@description": "Modifica i colori dei blocchi per ogni categoria nell'editor.",
|
||||
"editor-theme3/@name": "Colori blocchi personalizzabili",
|
||||
"editor-theme3/@preset-description-black": "Rende nero lo sfondo dei blocchi",
|
||||
@@ -115,6 +131,7 @@
|
||||
"editor-theme3/@preset-name-original": "Colori 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Variazioni 3.0",
|
||||
"editor-theme3/@settings-name-Pen-color": "estensioni",
|
||||
"editor-theme3/@settings-name-comment-color": "Commenti",
|
||||
"editor-theme3/@settings-name-control-color": "controllo",
|
||||
"editor-theme3/@settings-name-custom-color": "personalizzati",
|
||||
"editor-theme3/@settings-name-data-color": "variabili",
|
||||
@@ -131,7 +148,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Colorato su sfondo nero",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Colorato su sfondo bianco",
|
||||
"editor-theme3/@settings-select-text-white": "Bianco",
|
||||
"editor-theme3/@update": "Nuova impostazione per abilitare la possibilità di cambiare i colori dei blocchi nei forum.",
|
||||
"editor-theme3/@update": "L'impostazione \"Commenti scuri\" è stato spostata da \"Modalità scura dell'editor e colori personalizzabili\" a qui ed è ora personalizzabile.",
|
||||
"custom-block-text/@description": "Modifica lo spessore del testo dei blocchi e opzionalmente aggiunge un'ombreggiatura al testo.",
|
||||
"custom-block-text/@name": "Stile del testo dei blocchi personalizzato",
|
||||
"custom-block-text/@settings-name-bold": "Testo grassetto",
|
||||
@@ -145,6 +162,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Inverti l'ordine dei controlli del progetto",
|
||||
"variable-manager/@description": "Aggiunge una scheda nell'editor a fianco a \"suoni\" per gestire facilmente variabili e liste.",
|
||||
"variable-manager/@name": "Gestore variabili",
|
||||
"variable-manager/@update": "Gli elementi delle liste possono ora essere aggiunti senza premere il tasto Shift. ",
|
||||
"search-sprites/@description": "Aggiunge una casella di ricerca all'area degli sprite per cercare uno sprite basandosi sul nome.",
|
||||
"search-sprites/@name": "Cerca gli sprite per nome",
|
||||
"gamepad/@description": "Interagisci con i progetti usando un controller/gamepad USB o bluetooth.",
|
||||
@@ -252,7 +270,8 @@
|
||||
"no-script-bumping/@name": "Non spaziare automaticamente gli script che si sovrappongono",
|
||||
"disable-stage-drag-select/@description": "Impedisce di trascinare gli sprite visibili sullo stage, tranne quelli esplicitamente indicati come trascinabili. Tieni premuto Shift mentre li trascini per spostarli normalmente.",
|
||||
"disable-stage-drag-select/@name": "Sprite non trascinabili nell'editor",
|
||||
"move-to-top-bottom/@description": "Aggiunge una opzione al menu contestuale per spostare un costume o un suono in cima o in fondo alla lista. In precedenza era un'opzione inserita negli strumenti per sviluppatori.",
|
||||
"move-to-top-bottom/@description": "Aggiunge opzione al menu contestuale per spostare i costumi e i suoni in cima o in fondo alla lista.",
|
||||
"move-to-top-bottom/@info-developer-tools": " Questo addon faceva parte in precedenza dell'addon \"strumenti per sviluppatori\" ma è stato spostato qui.",
|
||||
"move-to-top-bottom/@name": "Sposta costumi in cima o in fondo",
|
||||
"disable-paste-offset/@description": "Nell'editor dei costumi incolla gli elementi copiati nella loro posizione originale invece di spostarli leggermente.",
|
||||
"disable-paste-offset/@name": "Non spostare gli elementi copiati",
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "「カーソルを向く」オプションを使用すると、エディターが重くなるかもしれません。",
|
||||
"cat-blocks/@name": "キャットブロック",
|
||||
"cat-blocks/@settings-name-watch": "カーソルを向く",
|
||||
"editor-devtools/@description": "検索ボックス、メニューオプション、ブロックのコピペ、きれいにする、定義ブロックに移動、その他さまざまな機能を追加する。 Ctrl+Fを押して検索ボックスをフォーカスし、Ctrl+スペースで「名前でブロックを追加」ポップアップを表示し、Ctrl+左右キーで検索履歴を見る。",
|
||||
"editor-devtools/@description": "検索ボックス、メニューオプション、ブロックのコピペ、きれいにする、その他さまざまな機能を追加する。 Ctrl+Fを押して検索ボックスをフォーカスし、Ctrl+スペース(macOSではShift+スペース)で「名前でブロックを追加」ポップアップを表示し、Ctrl+左右キーで検索履歴を見る。",
|
||||
"editor-devtools/@name": "開発者ツール",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "きれいにする +",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "変数、カスタムブロック、イベントをマウスの中ボタンでクリックして案内",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "カーソルの位置にブロックを配置",
|
||||
"find-bar/@description": "スクリプト、コスチューム、音を検索する検索バーを音タブの横に追加する。Ctrl+左右キーで検索履歴から移動する。",
|
||||
"find-bar/@info-developer-tools": "このアドオンは以前「開発者ツール」の一部でしたが、移動しました。",
|
||||
"find-bar/@name": "エディター検索バー",
|
||||
"jump-to-def/@description": "中マウスボタンやShift+Clickで、カスタムブロックの定義ブロックに移動できるようにする。",
|
||||
"jump-to-def/@info-developer-tools": "このアドオンは以前「開発者ツール」の一部でしたが、移動しました。",
|
||||
"jump-to-def/@name": "カスタムブロック定義に移動",
|
||||
"editor-searchable-dropdowns/@description": "ブロックのドロップダウンの選択肢を検索する。",
|
||||
"editor-searchable-dropdowns/@name": "ドロップダウン検索",
|
||||
"data-category-tweaks-v2/@description": "変数ブロックの表示を改良する。",
|
||||
@@ -20,11 +25,11 @@
|
||||
"hide-flyout/@description": "ブロックパレットをホバーしていないときに隠す。ロックアイコンをクリックして表示し続けたり、「カテゴリー・クリック」を使うこともできる。",
|
||||
"hide-flyout/@info-hoverExplanation": "「パレット部分のホバー」は、閲覧部分のみ拡大します。誤ってブロックを削除しないようにするには、他のモードを使ってください。",
|
||||
"hide-flyout/@name": "ブロックパレット隠し",
|
||||
"hide-flyout/@settings-name-speed": "隠すときのアニメーション",
|
||||
"hide-flyout/@settings-name-speed": "アニメーションの速さ",
|
||||
"hide-flyout/@settings-name-toggle": "固定方法",
|
||||
"hide-flyout/@settings-select-speed-default": "既定",
|
||||
"hide-flyout/@settings-select-speed-long": "遅く",
|
||||
"hide-flyout/@settings-select-speed-none": "なし",
|
||||
"hide-flyout/@settings-select-speed-none": "即時",
|
||||
"hide-flyout/@settings-select-speed-short": "速く",
|
||||
"hide-flyout/@settings-select-toggle-category": "カテゴリー・クリック",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "カテゴリーのホバー",
|
||||
@@ -47,6 +52,9 @@
|
||||
"mute-project/@description": "緑の旗をCtr+クリックでミュートする。",
|
||||
"mute-project/@info-macOS": "macOSでは、Ctrlの代わりにCommandキーを押してください。",
|
||||
"mute-project/@name": "プロジェクトをミュート",
|
||||
"vol-slider/@description": "緑の旗の横に音量スライダーを追加する。",
|
||||
"vol-slider/@name": "プロジェクト音量スライダー",
|
||||
"vol-slider/@settings-name-defVol": "デフォルトの音量",
|
||||
"clones/@description": "クローンの合計数をステージの上に表示する。",
|
||||
"clones/@name": "クローンカウンター",
|
||||
"clones/@settings-name-showicononly": "アイコンのみ表示",
|
||||
@@ -76,7 +84,7 @@
|
||||
"default-costume-editor-color/@description": "コスチュームエディターの既定の色と輪郭の大きさを変更する。",
|
||||
"default-costume-editor-color/@name": "コスチュームエディターの既定の色を変更",
|
||||
"default-costume-editor-color/@settings-name-fill": "既定の塗りつぶし色",
|
||||
"default-costume-editor-color/@settings-name-persistence": "ツール変更時に既定値ではなく以前の色を使用する",
|
||||
"default-costume-editor-color/@settings-name-persistence": "ツール変更時に色をリセットせず、以前の色を使用する",
|
||||
"default-costume-editor-color/@settings-name-stroke": "既定の輪郭色",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "既定の輪郭の大きさ",
|
||||
"bitmap-copy/@description": "ペイントエディターでビットマップ画像をコピー可能にする。",
|
||||
@@ -91,6 +99,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "伸ばす",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "縮める",
|
||||
"better-img-uploads/@settings-select-fitting-full": "元サイズ",
|
||||
"pick-colors-from-stage/@description": "コスチュームエディターのカラーピッカーでステージから色を選べるようにする。",
|
||||
"pick-colors-from-stage/@name": "コスチュームエディターでステージの色を選択",
|
||||
"custom-block-shape/@description": "ブロックのパディング、角、切れ込みを調節する。",
|
||||
"custom-block-shape/@info-paddingWarning": "パディングのサイズは他のユーザーには適用されません。",
|
||||
"custom-block-shape/@name": "ブロックの形をカスタマイズ",
|
||||
@@ -105,6 +115,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "角のサイズ (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "切れ込みの高さ (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "パディングのサイズ (50-200%)",
|
||||
"zebra-striping/@description": "重なっている同じカテゴリーのブロックの色の彩度を交互に変える。「ゼブラストライピング」とも呼ばれている。",
|
||||
"zebra-striping/@name": "ブロックの色を交互に変更",
|
||||
"zebra-striping/@settings-name-intensity": "倍率 (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "明るさ",
|
||||
"zebra-striping/@settings-select-shade-darker": "暗く",
|
||||
"zebra-striping/@settings-select-shade-lighter": "明るく",
|
||||
"editor-theme3/@description": "ブロックの色をカテゴリーごとに変更する。",
|
||||
"editor-theme3/@name": "ブロックの色をカスタマイズ",
|
||||
"editor-theme3/@preset-description-black": "ブロックの背景色を黒にする",
|
||||
@@ -115,6 +131,7 @@
|
||||
"editor-theme3/@preset-name-dark": "ダーク",
|
||||
"editor-theme3/@preset-name-original": "2.0の色",
|
||||
"editor-theme3/@settings-name-Pen-color": "拡張機能",
|
||||
"editor-theme3/@settings-name-comment-color": "コメント",
|
||||
"editor-theme3/@settings-name-control-color": "制御",
|
||||
"editor-theme3/@settings-name-custom-color": "定義",
|
||||
"editor-theme3/@settings-name-data-color": "変数",
|
||||
@@ -131,7 +148,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "黒背景に色",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "白背景に色",
|
||||
"editor-theme3/@settings-select-text-white": "白",
|
||||
"editor-theme3/@update": "フォーラム内のブロックの色を変更する設定が追加されました。",
|
||||
"editor-theme3/@update": "「エディターのダークモードとカスタマイズ」アドオンの「コメントにダークモードを適用」設定がここに移動され、色を変更できるようになりました。",
|
||||
"custom-block-text/@description": "ブロック内のテキストの太さを変更したり、影を追加したりする。",
|
||||
"custom-block-text/@name": "ブロック内のテキスト装飾変更",
|
||||
"custom-block-text/@settings-name-bold": "太字",
|
||||
@@ -145,6 +162,7 @@
|
||||
"editor-buttons-reverse-order/@name": "プロジェクト操作ボタン反転",
|
||||
"variable-manager/@description": "エディターに変数とリストを管理するためのタブを追加する。",
|
||||
"variable-manager/@name": "変数マネージャー",
|
||||
"variable-manager/@update": "リスト項目がShiftキーを押さずに追加できるようになりました。",
|
||||
"search-sprites/@description": "スプライトペインに、スプライトを名前で検索する項目を追加する。",
|
||||
"search-sprites/@name": "スプライトを検索",
|
||||
"gamepad/@description": "USBかBluetoothのコントローラーやゲームパッドを利用する。",
|
||||
@@ -252,7 +270,8 @@
|
||||
"no-script-bumping/@name": "スクリプト重ね配置",
|
||||
"disable-stage-drag-select/@description": "ステージではShiftキーを押さないとスプライトをドラッグできないようにする。",
|
||||
"disable-stage-drag-select/@name": "ドラッグできないスプライト",
|
||||
"move-to-top-bottom/@description": "コスチュームや音を一覧の一番上や一番下に移動する右クリックメニュー項目を追加する。以前は「開発者ツール」の一部であった。",
|
||||
"move-to-top-bottom/@description": "コスチュームや音を一覧の一番上や一番下に移動する右クリックメニュー項目を追加する。",
|
||||
"move-to-top-bottom/@info-developer-tools": "このアドオンは以前「開発者ツール」の一部でしたが、移動しました。",
|
||||
"move-to-top-bottom/@name": "コスチュームを一番上や一番下に移動",
|
||||
"disable-paste-offset/@description": "コスチュームエディター上に張り付けるとき、元の場所からずらさずに張り付ける。",
|
||||
"disable-paste-offset/@name": "貼り付けたコスチュームの移動を防止",
|
||||
|
||||
@@ -5,8 +5,13 @@
|
||||
"cat-blocks/@settings-name-watch": "마우스 커서 바라보기",
|
||||
"editor-devtools/@name": "개발자 도구",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "\"블럭 정리하기\" 향상",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "변수 마우스 가운데 클릭, 탐색할 사용자 지정 블록 또는 이벤트",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "마우스 커서로 블럭 붙여넣기",
|
||||
"find-bar/@description": "스크립트, 모양, 소리 바 옆에 검색 창을 추가합니다. 검색 창을 이용한 후 코드 창에서 Ctrl+Left과 Ctrl+Right를 눌러 이전, 이후 위치로 이동합니다.",
|
||||
"find-bar/@info-developer-tools": "이 애드온은 과거에 \"개발자 도구\"의 일부였지만 분리되었습니다.",
|
||||
"find-bar/@name": "에디터 찾기 바",
|
||||
"jump-to-def/@description": "마우스 중간 버튼 클릭이나 쉬프트+클릭으로 함수 블록의 정의하기 블록으로 이동합니다.",
|
||||
"jump-to-def/@info-developer-tools": "이 기능은 본래 \"개발자 도구\"의 일부였으나 여기로 이동되었습니다.",
|
||||
"jump-to-def/@name": "함수 블록의 정의하기 블록으로 이동하기",
|
||||
"editor-searchable-dropdowns/@description": "블록 드롭다운을 검색할 수 있도록 합니다.",
|
||||
"editor-searchable-dropdowns/@name": "검색 가능한 드롭다운",
|
||||
"data-category-tweaks-v2/@description": "블록 카테고리에서 데이터(\"변수\") 카테고리를 개선합니다.",
|
||||
@@ -19,12 +24,8 @@
|
||||
"hide-flyout/@description": "사용되지 않은 경우 블록 팔레트를 숨깁니다. 잠금 아이콘을 클릭하여 일시적으로 제자리에 잠그거나 또는 \"카테고리 클릭\" 모드를 사용하세요.",
|
||||
"hide-flyout/@info-hoverExplanation": "\"팔레트 영역 미사용\" 모드는 보이는 영역만 확장합니다. 블록을 삭제하지 않고 해당 영역으로 드래그하려면 다른 모드 중 하나를 사용하세요.",
|
||||
"hide-flyout/@name": "블록 팔레트 자동으로 숨기기",
|
||||
"hide-flyout/@settings-name-speed": "모션 시간",
|
||||
"hide-flyout/@settings-name-toggle": "토글 켜기",
|
||||
"hide-flyout/@settings-select-speed-default": "기본",
|
||||
"hide-flyout/@settings-select-speed-long": "길게",
|
||||
"hide-flyout/@settings-select-speed-none": "없음",
|
||||
"hide-flyout/@settings-select-speed-short": "짧게",
|
||||
"hide-flyout/@settings-select-toggle-category": "카테고리 클릭",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "카테고리에 접근",
|
||||
"hide-flyout/@settings-select-toggle-hover": "팔레트 영역 접근",
|
||||
@@ -35,13 +36,18 @@
|
||||
"drag-drop/@settings-name-use-hd-upload": "고해상도 업로드 사용하기",
|
||||
"debugger/@name": "디버거",
|
||||
"debugger/@settings-name-log_broadcasts": "신호 기록하기",
|
||||
"debugger/@settings-name-log_clear_greenflag": "초록 깃발을 누르면 초기화하기",
|
||||
"debugger/@settings-name-log_clone_create": "복제본 생성 기록하기",
|
||||
"debugger/@settings-name-log_failed_clone_creation": "복제본 개수 제한에 도달했을 때 기록하기",
|
||||
"debugger/@settings-name-log_greenflag": "녹색 깃발 클릭 기록하기",
|
||||
"debugger/@update": "\"실행 중인 작업\"과 \"성능\" 탭이 새롭게 추가되었습니다.",
|
||||
"pause/@description": "초록 깃발 옆에 일시 정지 버튼을 추가합니다.",
|
||||
"pause/@name": "일시정지 버튼",
|
||||
"mute-project/@description": "녹색 깃발을 Ctrl+클릭하여 프로젝트를 음소거/음소거 해제합니다.",
|
||||
"mute-project/@name": "프로젝트 플레이어 음소거 모드",
|
||||
"vol-slider/@description": "정지 버튼 옆에 음량 슬라이더를 추가합니다.",
|
||||
"vol-slider/@name": "프로젝트 음량 슬라이더",
|
||||
"vol-slider/@settings-name-defVol": "기본 음량",
|
||||
"clones/@description": "전체 복제본의 수를 편집기 무대 상단에 표시합니다.",
|
||||
"clones/@name": "복제본 개수 표시",
|
||||
"mouse-pos/@description": "마우스의 x/y위치를 편집기 무대의 상단에 표시합니다.",
|
||||
@@ -67,6 +73,12 @@
|
||||
"onion-skinning/@settings-select-layering-front": "앞",
|
||||
"onion-skinning/@settings-select-mode-merge": "이미지 병합",
|
||||
"onion-skinning/@settings-select-mode-tint": "단색으로 표시",
|
||||
"default-costume-editor-color/@description": "모양 편집기에서 사용되는 기본 색상과 테두리 크기를 변경합니다.",
|
||||
"default-costume-editor-color/@name": "모양 편집기 기본 색상 변경",
|
||||
"default-costume-editor-color/@settings-name-fill": "기본 채우기 색",
|
||||
"default-costume-editor-color/@settings-name-persistence": "도구를 바꿀 때 색상을 초기화하지 않고 이전 색상을 그대로 사용하기",
|
||||
"default-costume-editor-color/@settings-name-stroke": "기본 외곽선 색",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "기본 외곽선 사이즈",
|
||||
"bitmap-copy/@description": "다른 웹사이트나 소프트웨어에 붙여넣을 수 있도록 모양 편집기에서 비트맵 이미지를 시스템 클립보드에 복사합니다.",
|
||||
"bitmap-copy/@info-norightclick": "\"우클릭 → 복사하기\"는 지원하지 않습니다. 당신은 항상 비트맵 이미지를 선택하기 위해선 Ctrl+C를 눌러야 합니다.",
|
||||
"bitmap-copy/@name": "비트맵 사진 복사",
|
||||
@@ -79,6 +91,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "이미지를 늘려 무대에 채우기",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "이미지를 줄여 무대에 채우기",
|
||||
"better-img-uploads/@settings-select-fitting-full": "기존 크기",
|
||||
"pick-colors-from-stage/@description": "모양 편집기의 색상 선택기가 무대에서도 색상을 고를 수 있도록 합니다.",
|
||||
"pick-colors-from-stage/@name": "모양 편집기에서 무대 색상 고르기",
|
||||
"custom-block-shape/@description": "블록의 높이, 모서리 곡률. 홈 높이를 조정합니다.",
|
||||
"custom-block-shape/@info-paddingWarning": "블럭 높이를 줄이는 것은 당신만 볼 수 있기에 프로젝트를 다른 사용자가 볼 때 스크립트가 겹쳐 보일 수 있습니다.",
|
||||
"custom-block-shape/@name": "블록 모양 사용자 지정",
|
||||
@@ -93,17 +107,24 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "모서리 크기 (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "홈 높이 (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "블럭 높이 (50-200%)",
|
||||
"zebra-striping/@description": "같은 카테고리의 블록이 서로 포개어져 있을 때, 블록의 색상을 더 연하고 진하게 바꿉니다.",
|
||||
"zebra-striping/@name": "포개진 블록의 색상 변경",
|
||||
"zebra-striping/@settings-name-intensity": "채도 (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "어둡게",
|
||||
"zebra-striping/@settings-select-shade-darker": "어둡게",
|
||||
"zebra-striping/@settings-select-shade-lighter": "더 밝게",
|
||||
"editor-theme3/@description": "편집기의 각 카테고리에 대한 블록 색상을 편집합니다.",
|
||||
"editor-theme3/@name": "블록 색상 사용자 지정하기",
|
||||
"editor-theme3/@preset-description-black": "블럭 배경을 검정으로 만듭니다.",
|
||||
"editor-theme3/@name": "블록 색상 지정하기",
|
||||
"editor-theme3/@preset-description-black": "블럭의 배경을 검은색으로 설정합니다.",
|
||||
"editor-theme3/@preset-description-dark": "기본 색상의 어두운 버전",
|
||||
"editor-theme3/@preset-description-original": "2.0의 원 색상",
|
||||
"editor-theme3/@preset-description-tweaks": "2.0에서의 색상과 비슷한 색상의 이벤트, 제어, 새 블록",
|
||||
"editor-theme3/@preset-description-tweaks": "이벤트, 제어, 나의 블록 색상을 2.0 블록 색상으로 설정하기",
|
||||
"editor-theme3/@preset-name-black": "검은색",
|
||||
"editor-theme3/@preset-name-dark": "어두운 테마",
|
||||
"editor-theme3/@preset-name-original": "2.0 색상",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 개선",
|
||||
"editor-theme3/@settings-name-Pen-color": "확장 기능",
|
||||
"editor-theme3/@settings-name-comment-color": "댓글",
|
||||
"editor-theme3/@settings-name-control-color": "제어",
|
||||
"editor-theme3/@settings-name-custom-color": "사용자 지정",
|
||||
"editor-theme3/@settings-name-data-color": "변수",
|
||||
@@ -120,14 +141,17 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "검은 배경에서의 색",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "흰 배경에서의 색",
|
||||
"editor-theme3/@settings-select-text-white": "하양",
|
||||
"editor-theme3/@update": "토론방에서 블록의 색상을 변경할 수 있는 새로운 설정입니다.",
|
||||
"custom-block-text/@description": "블록 글자의 두께를 변경하거나 글자 그림자를 선택적으로 추가합니다",
|
||||
"custom-block-text/@name": "블록 글자 스타일 설정",
|
||||
"custom-block-text/@settings-name-bold": "글자 굵게 하기",
|
||||
"custom-block-text/@settings-name-shadow": "글자 아래에 그림자 추가하기",
|
||||
"editor-colored-context-menus/@description": "우클릭 메뉴에 색상을 입힙니다.",
|
||||
"editor-colored-context-menus/@name": "우클릭 메뉴 색상",
|
||||
"editor-stage-left/@name": "무대 왼쪽에서 보이기",
|
||||
"editor-stage-left/@description": "스크래치 2.0 처럼 무대를 코드 편집기의 왼쪽으로 옮깁니다.",
|
||||
"editor-stage-left/@info-reverseOrder": "깃발 버튼과 멈춤 버튼, 전체화면 버튼의 위치를 바꾸려면 \"프로젝트 버튼 위치 반전\" 애드온을 사용하세요.",
|
||||
"editor-stage-left/@name": "무대를 왼쪽에서 나타내기",
|
||||
"editor-buttons-reverse-order/@description": "스크래치 2.0처럼 깃발 버튼과 멈춤 버튼을 오른쪽으로, 전체 화면 버튼을 왼쪽으로 옮깁니다.",
|
||||
"editor-buttons-reverse-order/@name": "프로젝트 버튼 위치 반전",
|
||||
"variable-manager/@description": "변수 및 리스트를 쉽게 업데이트할 수 있도록 편집기의 \"소리\"탭 옆에 탭을 추가합니다.",
|
||||
"variable-manager/@name": "변수 관리자",
|
||||
"search-sprites/@description": "스프라이트 창에 검색창을 추가해 이름으로 스프라이트를 검색합니다.",
|
||||
@@ -165,6 +189,7 @@
|
||||
"custom-zoom/@description": "프로젝트 코드 편집기에서 줌의 최소, 최대, 속도 및 시작 크기를 사용자 지정하고 조작을 자동으로 숨깁니다",
|
||||
"custom-zoom/@name": "코드 영역 확대/축소 사용자 지정하기",
|
||||
"custom-zoom/@settings-name-autohide": "줌 제어 자동 숨기기",
|
||||
"custom-zoom/@settings-name-maxZoom": "최대 확대 (100-500%)",
|
||||
"custom-zoom/@settings-name-minZoom": "최소 줌 (1-100%)",
|
||||
"custom-zoom/@settings-name-speed": "동작 시간 자동 숨기기",
|
||||
"custom-zoom/@settings-name-startZoom": "시작 줌 (50-500%)",
|
||||
@@ -178,6 +203,7 @@
|
||||
"initialise-sprite-position/@settings-name-library": "라이브러리 스프라이트의 위치 임의 지정",
|
||||
"initialise-sprite-position/@settings-name-x": "X 좌표",
|
||||
"initialise-sprite-position/@settings-name-y": "Y 좌표",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "무작위",
|
||||
"blocks2image/@description": "코드 영역을 우클릭해 블럭을 SVG/PNG 사진으로 내보냅니다.",
|
||||
"blocks2image/@name": "블럭을 이미지로 저장",
|
||||
"remove-curved-stage-border/@description": "모서리를 볼 수 있도록 무대 주위의 곡선 테두리를 제거합니다.",
|
||||
@@ -229,14 +255,18 @@
|
||||
"hide-delete-button/@settings-name-sprites": "스프라이트",
|
||||
"no-script-bumping/@description": "스크립트를 움직이고 변경해도 스크립트끼리 겹칠 때 스크립트가 돌아다니지 않게 합니다.",
|
||||
"no-script-bumping/@name": "스크립트끼리 겹칠 때 자동 여백 만들지 않기",
|
||||
"disable-stage-drag-select/@description": "편집기 무대에서(드래그가 가능하도록 설정된 스프라이트 제외) 스프라이트 드래그를 막습니다. 시프트 키를 누르면 스프라이트가 정상적으로 드래그됩니다.",
|
||||
"disable-stage-drag-select/@name": "편집기에서 스프라이트 드래그 끄기",
|
||||
"move-to-top-bottom/@description": "기존에는 개발자 도구에 있었던 모양이나 소리를 리스트의 맨 아래나 맨 위로 보내는 우클릭 메뉴를 추가합니다.",
|
||||
"move-to-top-bottom/@description": "모양이나 음악을 리스트의 시작이나 끝으로 음직일 수 있는 우클릭 매뉴를 추가합니다.",
|
||||
"move-to-top-bottom/@info-developer-tools": "이 애드온은 과거에 \"개발자 도구\"의 일부였지만 분리되었습니다.",
|
||||
"move-to-top-bottom/@name": "모양 블록을 맨 위로 올리거나 맨 아래로 내리기",
|
||||
"disable-paste-offset/@description": "모양 편집기에서 복사한 모양을 살짝 이동시키지 않고 원래 위치에 붙여넣습니다.",
|
||||
"disable-paste-offset/@name": "불여넣어진 아이템 원래 자리에 놓기",
|
||||
"block-duplicate/@description": "Alt 키를 누르면서 스크립트를 드래그해 빠르게 복제합니다. Ctrl 키를 같이 누르면 한 개의 스크립트만 복사됩니다.",
|
||||
"block-duplicate/@info-mac": "맥OS에서는 Alt 키 대신 옵션 키를 이용하고, Ctrl 키 대신 Cmd키를 이용하세요.",
|
||||
"block-duplicate/@name": "Alt 키로 스크립트 복제하기",
|
||||
"rename-broadcasts/@description": "신호 블록 드롭다운에 신호 이름을 변경할 수 있는 옵션을 제공합니다.",
|
||||
"rename-broadcasts/@name": "신호 이름 변경하기",
|
||||
"swap-local-global/@description": "기존 변수 또는 목록의 이름을 바꿀 때 추가 설정을 추가합니다. \"모든 스프라이트의 경우\"와 \"이 스프라이트의 경우에만\" 사이에서 변경할 수 있고 변수가 클라우드에 저장되는지 여부를 변경할 수 있습니다. 또한 변수/리스트를 마우스 오른쪽 단추로 클릭하여 범위를 빠르게 변경할 수 있는 설정을 추가합니다.",
|
||||
"swap-local-global/@name": "변수의 '모든 스프라이트에서 사용'과 '이 스프라이트에서만 사용'을 전환하기",
|
||||
"editor-comment-previews/@description": "접혀 있는 주석이나 블록 위에 마우스를 올려놓아 주석의 내용을 미리볼 수 있도록 합니다. 이를 통해 화면 밖에서 주석을 보고, 미리보기로 루프 블록을 아래쪽에서 확인하며, 작은 공간에 많은 긴 주석을 맞추는 등의 작`업을 수행할 수 있습니다.",
|
||||
@@ -251,7 +281,7 @@
|
||||
"editor-comment-previews/@settings-select-delay-long": "길게",
|
||||
"editor-comment-previews/@settings-select-delay-none": "없음",
|
||||
"editor-comment-previews/@settings-select-delay-short": "짧게",
|
||||
"columns/@description": "블럭 카테고리 메뉴를 2열로 쪼개 스크래치 2.0처럼 블록 팔레트의 맨 위로 옮깁니다.",
|
||||
"columns/@description": "블럭 카테고리 메뉴를 두 줄로 쪼개 스크래치 2.0처럼 블록 팔레트의 맨 위로 옮깁니다.",
|
||||
"columns/@name": "2열 카테고리 메뉴",
|
||||
"script-snap/@description": "스크립트를 드래그해 코드 영역 점에 자동으로 정렬합니다.",
|
||||
"script-snap/@name": "스크립트를 격자에 맟추기",
|
||||
@@ -264,6 +294,8 @@
|
||||
"fullscreen/@name": "향상된 전체 화면",
|
||||
"fullscreen/@settings-name-browserFullscreen": "전체 화면 플레리어를 전체 화면 브라우저 모드에서 열기",
|
||||
"fullscreen/@settings-name-hideToolbar": "전체 화면에서 툴바 숨기기",
|
||||
"hide-stage/@description": "무대와 스프라이트 탭을 숨기는 \"무대 숨기기\" 버튼을 추가하여 코드 편집기를 더 크게 사용할 수 있습니다.",
|
||||
"hide-stage/@name": "무대와 스프라이트 탭 숨기기",
|
||||
"editor-stepping/@description": "프로젝트에서 현재 실행 중인 블록을 색으로 강조합니다.",
|
||||
"editor-stepping/@name": "실행 블록 테두리",
|
||||
"editor-stepping/@settings-name-highlight-color": "강조색"
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "De \"Kijk naar muisaanwijzer\"-optie kan mogelijk de prestaties verminderen wanneer de editor openstaat.",
|
||||
"cat-blocks/@name": "Kat-blokken",
|
||||
"cat-blocks/@settings-name-watch": "Kijk naar muisaanwijzer",
|
||||
"editor-devtools/@description": "Voegt een zoekbalk en nieuwe menuopties toe aan de editor: blokken kopiëren/plakken, betere opruimer, naar blokdefinitie springen, en meer! Druk op Ctrl+F om de zoekbalk te focussen, Ctrl+Spatie om de \"blok bij naam toevoegen\"-pop-up tevoorschijn te brengen, Ctrl+Links/Rechts om zoekgeschiedenis te navigeren.",
|
||||
"editor-devtools/@description": "Voegt nieuwe menuopties toe aan de editor: blokken kopiëren/plakken, betere opruimer, en meer! Druk op Ctrl+Spatie (Shift+Spatie op macOS) om de \"blok bij naam toevoegen\"-pop-up tevoorschijn te brengen.",
|
||||
"editor-devtools/@name": "Ontwikkelaarstools",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "\"Blokken opruimen\" Verbeteren",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Gebruik de middelste muisknop op variabelen, eigen blokken of gebeurtenissen om te navigeren",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Blokken plakken bij muisaanwijzer",
|
||||
"find-bar/@description": "Maakt een nieuwe zoekbalk waarmee je scripts, uiterlijken en geluiden kunt zoeken en ernaar kunt springen, naast het geluidentabblad. Gebruik Ctrl+Links en Ctrl+Rechts in het codegebied om te navigeren naar vorige of volgende bezochte posities na het gebruiken van de zoekbalk.",
|
||||
"find-bar/@info-developer-tools": "Deze addon maakte voorheen deel uit van de \"ontwikkelaarstools\"-addon maar is nu hierheen verhuisd.",
|
||||
"find-bar/@name": "Zoekbalk in editor",
|
||||
"jump-to-def/@description": "Spring naar een definitie van een eigen blok met de scrolwielknop of Shift+Klik op het blok.",
|
||||
"jump-to-def/@info-developer-tools": "Deze addon maakte voorheen deel uit van de \"ontwikkelaarstools\"-addon maar is nu hierheen verhuisd.",
|
||||
"jump-to-def/@name": "Springen naar definitie van eigen blok",
|
||||
"editor-searchable-dropdowns/@description": "Geeft je de mogelijkheid om blok-dropdownitems te zoeken.",
|
||||
"editor-searchable-dropdowns/@name": "Doorzoekbare dropdowns",
|
||||
"data-category-tweaks-v2/@description": "Maakt aanpassingen aan de Gegevens (\"Variabelen\")-blokcategorie.",
|
||||
@@ -15,17 +20,17 @@
|
||||
"data-category-tweaks-v2/@settings-name-moveReportersDown": "Verplaats gegevensblokken boven variabelenlijst",
|
||||
"data-category-tweaks-v2/@settings-name-separateListCategory": "Aparte Lijstcategorie",
|
||||
"data-category-tweaks-v2/@settings-name-separateLocalVariables": "Aparte \"Voor Deze Sprite\"-Variabelen",
|
||||
"block-palette-icons/@description": "Voegt iconen binnen de gekleurde cirkels van blokcategorieën toe.",
|
||||
"block-palette-icons/@name": "Blokpalet categorie-iconen",
|
||||
"hide-flyout/@description": "Verbergt het blokpalet als niet gefocust. Klik op het sloticoon om het tijdelijk vast te zetten. Gebruik de \"categorie-klik\"-modus als alternatief.",
|
||||
"block-palette-icons/@description": "Voegt pictogrammen binnen de gekleurde cirkels van blokcategorieën toe.",
|
||||
"block-palette-icons/@name": "Pictogrammen voor categorieën in blokpalet",
|
||||
"hide-flyout/@description": "Verbergt het blokpalet als niet gefocust. Klik op het slotpictogram om het tijdelijk vast te zetten. Gebruik de \"categorie-klik\"-modus als alternatief.",
|
||||
"hide-flyout/@info-hoverExplanation": "\"Over paletgebied zweven\" verbreedt alleen het zichtgebied. Als je blokken naar dat gebied wilt slepen zonder dat ze verwijderd worden, gebruik dan een van de andere modi.",
|
||||
"hide-flyout/@name": "Blokpalet automatisch verbergen",
|
||||
"hide-flyout/@settings-name-speed": "Animatielengte",
|
||||
"hide-flyout/@settings-name-speed": "Animatiesnelheid",
|
||||
"hide-flyout/@settings-name-toggle": "Aanzetten...",
|
||||
"hide-flyout/@settings-select-speed-default": "Standaard",
|
||||
"hide-flyout/@settings-select-speed-long": "Lang",
|
||||
"hide-flyout/@settings-select-speed-none": "Geen",
|
||||
"hide-flyout/@settings-select-speed-short": "Kort",
|
||||
"hide-flyout/@settings-select-speed-long": "Traag",
|
||||
"hide-flyout/@settings-select-speed-none": "Meteen",
|
||||
"hide-flyout/@settings-select-speed-short": "Vlug",
|
||||
"hide-flyout/@settings-select-toggle-category": "Categorieën klikken",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Over categorieën zweven",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Over paletgebied zweven",
|
||||
@@ -46,6 +51,9 @@
|
||||
"mute-project/@description": "Ctrl+Klik de groene vlag om het project te dempen/dempen opheffen.",
|
||||
"mute-project/@info-macOS": "Gebruik de Cmd-toets in plaats van Ctrl op macOS.",
|
||||
"mute-project/@name": "Gedempte projectspeler",
|
||||
"vol-slider/@description": "Voegt een volumeschuifregelaar toe naast de start-/stopbesturingen",
|
||||
"vol-slider/@name": "Volumeschuifregelaar in projecten",
|
||||
"vol-slider/@settings-name-defVol": "Standaardvolume",
|
||||
"clones/@description": "Voegt een teller boven het speelveld toe in de editor die het totale aantal klonen laat zien.",
|
||||
"clones/@name": "Kloonteller",
|
||||
"clones/@settings-name-showicononly": "Alleen pictogram tonen",
|
||||
@@ -75,13 +83,13 @@
|
||||
"default-costume-editor-color/@description": "Verandert de standaardkleuren en -randgrootte in de uiterlijkeditor.",
|
||||
"default-costume-editor-color/@name": "Aanpasbare standaardkleuren in uiterlijkeditor",
|
||||
"default-costume-editor-color/@settings-name-fill": "Standaard opvulkluur",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Gebruik vorige kleur in plaats van standaard bij het veranderen van gereedschappen",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Gebruik vorige kleur in plaats van resetten na het veranderen van gereedschappen",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Standaard randkleur",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Standaard randgrootte",
|
||||
"bitmap-copy/@description": "Geeft je de mogelijkheid om bitmapafbeeldingen van de kostuumeditor te kopiëren naar je klembord, zodat je het in andere websites of software kunt plakken.",
|
||||
"bitmap-copy/@info-norightclick": "\"Rechterklik → kopiëren\" is niet ondersteund. Je moet Ctrl+C indrukken terwijl een bitmapafbeelding is geselecteerd.",
|
||||
"bitmap-copy/@name": "Bitmapafbeeldingen kopiëren",
|
||||
"2d-color-picker/@description": "Vervangt saturatie en helderheidsliders in de kostuumeditor met een 2D-kleurenkiezer. Houd Shift ingedrukt en beweeg de muisaanwijzer om de waarden op een enkele as te veranderen.",
|
||||
"2d-color-picker/@description": "Vervangt saturatie- en helderheidschuifregelaars in de uiterlijkeditor met een 2D-kleurenkiezer. Houd Shift ingedrukt en beweeg de muisaanwijzer om de waarden op een enkele as te veranderen.",
|
||||
"2d-color-picker/@name": "2D-kleurenkiezer",
|
||||
"better-img-uploads/@description": "Voegt een nieuwe knop toe boven de \"upload uiterlijk\"-knop die geüploade bitmapafbeeldingen automatisch converteert naar SVG (vector)-afbeeldingen om de kwaliteit te behouden.",
|
||||
"better-img-uploads/@info-notSuitableEdit": "Vermijd het gebruiken van de HD-uploadknop als je later nog de afbeelding wilt bewerken.",
|
||||
@@ -90,6 +98,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Rekken om speelveld te vullen",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Krimpen om in speelveld te passen",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Originele grootte",
|
||||
"pick-colors-from-stage/@description": "Kies kleuren in het speelveld met de kleurenkiezer van de uiterlijkeditor.",
|
||||
"pick-colors-from-stage/@name": "Speelveldkleuren selecteren in de uiterlijkeditor",
|
||||
"custom-block-shape/@description": "Verander de opvulling, hoekgrootte, en inkepingshoogte van blokken.",
|
||||
"custom-block-shape/@info-paddingWarning": "De opvulling verminderen is alleen zichtbaar voor jou, dus als anderen je project bekijken, kunnen je scripts elkaar bedekken.",
|
||||
"custom-block-shape/@name": "Aanpasbare blokvorm",
|
||||
@@ -104,6 +114,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Hoekgrootte (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Inkepinghoogte (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Opvulling (50-200%)",
|
||||
"zebra-striping/@description": "Wisselt de tinten van blokken met dezelfde kleur tussen licht en donker af wanneer ze in elkaar genest zijn. Dit staat ook bekend als zebrastrepen.",
|
||||
"zebra-striping/@name": "Afwisselende kleuren van geneste blokken",
|
||||
"zebra-striping/@settings-name-intensity": "Intensiteit (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Tint",
|
||||
"zebra-striping/@settings-select-shade-darker": "Donkerder",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Lichter",
|
||||
"editor-theme3/@description": "Pas blokkleuren aan voor elke categorie in de editor.",
|
||||
"editor-theme3/@name": "Aanpasbare blokkleuren",
|
||||
"editor-theme3/@preset-description-black": "Maakt blok-achtergronden zwart",
|
||||
@@ -115,6 +131,7 @@
|
||||
"editor-theme3/@preset-name-original": "2.0-kleuren",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0-Aanpassingen",
|
||||
"editor-theme3/@settings-name-Pen-color": "extensies",
|
||||
"editor-theme3/@settings-name-comment-color": "Opmerkingen",
|
||||
"editor-theme3/@settings-name-control-color": "besturen",
|
||||
"editor-theme3/@settings-name-custom-color": "aanpasbaar",
|
||||
"editor-theme3/@settings-name-data-color": "variabelen",
|
||||
@@ -131,7 +148,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Gekleurd op zwarte achtergrond",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Gekleurd op witte achtergrond",
|
||||
"editor-theme3/@settings-select-text-white": "Wit",
|
||||
"editor-theme3/@update": "Nieuwe instelling om het veranderen van kleur van blokken in de forums in te schakelen.",
|
||||
"editor-theme3/@update": "De \"Donkere opmerkingen\"-instelling van \"Donkere modus in editor en aanpasbare kleuren\" is hierheen verplaatst en is nu aanpasbaar.",
|
||||
"custom-block-text/@description": "Verandert de dikte van de bloktekst en voegt eventueel een tekstschaduw toe.",
|
||||
"custom-block-text/@name": "Bewerkbare bloktekststijlen",
|
||||
"custom-block-text/@settings-name-bold": "Dikgedrukte tekst",
|
||||
@@ -145,6 +162,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Volgorde van projectbesturingen omkeren",
|
||||
"variable-manager/@description": "Voegt een tabblad naast \"geluiden\" toe in de editor om makkelijk variabelen en lijsten aan te passen.",
|
||||
"variable-manager/@name": "Variabele manager",
|
||||
"variable-manager/@update": "Lijstvoorwerpen kunnen nu ingevoegd worden zonder de Shifttoets ingedrukt te houden.",
|
||||
"search-sprites/@description": "Voegt een zoekbalk aan het spritevenster toe om sprites bij naam te zoeken.",
|
||||
"search-sprites/@name": "Sprites bij naam zoeken",
|
||||
"gamepad/@description": "Gebruik projecten met een USB- of Bluetooth-controller/gamepad",
|
||||
@@ -250,13 +268,15 @@
|
||||
"no-script-bumping/@name": "Overlappende scripts niet automatisch verplaatsen",
|
||||
"disable-stage-drag-select/@description": "Maakt het niet meer mogelijk om sprites rond te slepen in de editor, behalve diegene die ingesteld zijn als sleepbaar. Houd Shift ingedrukt om sprites zoals normaal te slepen.",
|
||||
"disable-stage-drag-select/@name": "Niet-sleepbare sprites in editor",
|
||||
"move-to-top-bottom/@description": "Voegt een optie toe in het rechterklikmenu om een uiterlijk of geluid naar boven of beneden te sturen in de lijst. Hoorde eerst bij de ontwikkelaarstools.",
|
||||
"move-to-top-bottom/@description": "Voegt opties toe in de rechterklikmenu's van uiterlijken of geluiden om ze helemaal boven of beneden in de lijst te plaatsen.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Deze addon maakte voorheen deel uit van de \"ontwikkelaarstools\"-addon maar is nu hierheen verhuisd.",
|
||||
"move-to-top-bottom/@name": "Verplaats uiterlijk naar boven of beneden",
|
||||
"disable-paste-offset/@description": "Plak gekopieerde items op hun originele plek in plaats van een beetje verplaatst in de uiterlijkeditor.",
|
||||
"disable-paste-offset/@name": "Geplakte items niet verplaatsen",
|
||||
"block-duplicate/@description": "Dupliceer snel een script door het te slepen met de Alt-toets ingedrukt. Houd Ctrl ook ingedrukt om alleen een enkel blok te dupliceren in plaats van het hele script eronder.",
|
||||
"block-duplicate/@info-mac": "Gebruik de Option-toets in plaats van de Alt-toets en de Command-toets in plaats van de Control-toets op macOS.",
|
||||
"block-duplicate/@name": "Scripts dupliceren met de Alt-toets",
|
||||
"rename-broadcasts/@description": "Verander de naam van signalen in de dropdowns van signaalblokken.",
|
||||
"rename-broadcasts/@name": "Signalen hernoemen",
|
||||
"swap-local-global/@description": "Geeft meer opties voor het hernoemen van variabelen of lijsten: laat je kiezen tussen \"Voor alle sprites\" en \"Alleen voor deze sprite\" en of variabelen voor de cloud moeten zijn. Voegt ook een optie toe voor rechterklikken op een variabele/lijst om snel zijn type te veranderen.",
|
||||
"swap-local-global/@name": "Wissel variabelen tussen \"Voor alle sprites\" en \"Alleen voor deze sprite\"",
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
"cat-blocks/@info-watch": "Opcja „Obserwuj kursor myszy” może wpływać na wydajność, gdy edytor jest otwarty.",
|
||||
"cat-blocks/@name": "Kocie Bloki",
|
||||
"cat-blocks/@settings-name-watch": "Patrz na kursor myszy",
|
||||
"editor-devtools/@description": "Dodaje pole wyszukiwania i kilka nowych opcji w menu edytora jak: kopiuj/wklej bloki, lepsze sprzątanie bloków, przejdź do definicji bloku i więcej! Naciśnij Ctr+F, aby zacząć wyszukiwanie, i Ctr+Spacja, aby wyświetlić menu \"dodaj blok po nazwie\", oraz Ctr+Prawo/Lewo, aby przenieść się w historii wyszukiwania.",
|
||||
"editor-devtools/@name": "Narzędzia Developerskie",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Ulepszone „Wyczyść bloki”",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Kliknij środkowym przyciskiem myszy zmienne, niestandardowe bloki lub zdarzenia, aby nawigować",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Wklej bloki w miejscu kursora myszy",
|
||||
"find-bar/@info-developer-tools": "Ten dodatek był wcześniej częścią dodatku „narzędzia developerskie”, ale został przeniesiony tutaj.",
|
||||
"jump-to-def/@name": "Przejdź do definicji bloku",
|
||||
"editor-searchable-dropdowns/@description": "Umożliwia wyszukiwanie zawartości list rozwijanych należących do bloków. ",
|
||||
"editor-searchable-dropdowns/@name": "Możliwość szukania w liście",
|
||||
"data-category-tweaks-v2/@description": "Zapewnia poprawki dla kategorii bloków Dane („Zmienne”). ",
|
||||
@@ -20,12 +20,8 @@
|
||||
"hide-flyout/@description": "Ukrywa paletę bloków, jeśli na nią nie najedziesz myszką. Kliknij ikonę kłódki, aby tymczasowo zablokować ją w miejscu. Możesz także użyć trybu „kliknięcie kategorii”.",
|
||||
"hide-flyout/@info-hoverExplanation": "Tryb „Wyświetl, gdy najedziesz na listę bloków” tylko rozszerza obszar wyświetlania. Jeśli chcesz mieć możliwość przeciągania bloków do tego obszaru bez ich usuwania w koszu, użyj jednego z pozostałych trybów.",
|
||||
"hide-flyout/@name": "Automatycznie chowana lista bloków",
|
||||
"hide-flyout/@settings-name-speed": "Czas trwania animacji",
|
||||
"hide-flyout/@settings-name-toggle": "Wyświetl, gdy...",
|
||||
"hide-flyout/@settings-select-speed-default": "Normalny",
|
||||
"hide-flyout/@settings-select-speed-long": "Długi",
|
||||
"hide-flyout/@settings-select-speed-none": "Brak",
|
||||
"hide-flyout/@settings-select-speed-short": "Krótki",
|
||||
"hide-flyout/@settings-select-toggle-category": "Klikniesz na kategorię",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Najedziesz na kategorie",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Najedziesz na listę bloków",
|
||||
@@ -48,6 +44,7 @@
|
||||
"mute-project/@name": "Wycisz odtwarzacz projektu",
|
||||
"clones/@description": "Dodaje licznik nad sceną pokazujący ilość klonów.",
|
||||
"clones/@name": "Licznik klonów",
|
||||
"clones/@settings-name-showicononly": "Pokaż tylko ikonę",
|
||||
"mouse-pos/@description": "Wyświetla pozycję x/y twojej myszy nad sceną w edytorze.",
|
||||
"mouse-pos/@name": "Pozycja kursora",
|
||||
"color-picker/@description": "Dodaje opcję koloru hex do menu wyboru kolorów.",
|
||||
@@ -73,7 +70,6 @@
|
||||
"default-costume-editor-color/@description": "Zmienia domyślne parametry narzędzi w edytorze kostiumów.",
|
||||
"default-costume-editor-color/@name": "Domyślne kolory w edytorze kostiumów",
|
||||
"default-costume-editor-color/@settings-name-fill": "Domyślny kolor wypełnienia",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Używaj poprzedniego koloru zamiast domyślnego po zamianie narzędzia.",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Domyślny kolor zarysu",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Domyślna wielkość zarysu",
|
||||
"bitmap-copy/@description": "Pozwala ci kopiować zdjęcie z edytora kostiumu do schowka w systemie, abyś mógł wkleić do innych programów.",
|
||||
@@ -102,6 +98,10 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Rozmiar zaokrąglenia rogów (0--300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Wielkość nacięcia (0-150%) ",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Rozmiar obramowania (50-200%)",
|
||||
"zebra-striping/@settings-name-intensity": "Intensywność (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Cień",
|
||||
"zebra-striping/@settings-select-shade-darker": "Ciemniej",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Jaśniej",
|
||||
"editor-theme3/@description": "Edytuj kolory bloków dla każdej kategorii w edytorze.",
|
||||
"editor-theme3/@name": "Niestandardowe kolory bloków",
|
||||
"editor-theme3/@preset-description-black": "Zmienia tło bloków na czarne",
|
||||
@@ -129,7 +129,6 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Kolorowe na czarnym tle",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Kolorowe na białym tle",
|
||||
"editor-theme3/@settings-select-text-white": "Biały",
|
||||
"editor-theme3/@update": "Nowe ustawienie pozwalające zmieniać kolory bloków na forum.",
|
||||
"custom-block-text/@description": "Zmienia nasycenie tekstu na blokach, opcjonalnie dodaje cień obok nich.",
|
||||
"custom-block-text/@name": "Konfigurowalny styl tekstu bloków",
|
||||
"custom-block-text/@settings-name-bold": "Pogrubiony tekst",
|
||||
@@ -250,7 +249,7 @@
|
||||
"no-script-bumping/@name": "Wyłącz automatyczne przesuwanie nakładających się skryptów",
|
||||
"disable-stage-drag-select/@description": "Blokuje możliwość przesuwania duszków na scenie w edytorze projektu, z wyjątkiem tych, które są ustawione na \"przesuwalne\". Przytrzymać Shift, aby normalnie przesuwać duszki.",
|
||||
"disable-stage-drag-select/@name": "Blokada przesuwania duszków w edytorze",
|
||||
"move-to-top-bottom/@description": "Dodaje przycisk, który przesuwa kostium lub dźwięk na górę lub na dół listy. Wcześniej część narzędzi developerskich. ",
|
||||
"move-to-top-bottom/@info-developer-tools": "Ten dodatek był wcześniej częścią dodatku „narzędzia developerskie”, ale został przeniesiony tutaj.",
|
||||
"move-to-top-bottom/@name": "Przenieś kostium do góry albo do dołu",
|
||||
"disable-paste-offset/@description": "Wklej skopiowane kostiumy w jej oryginalnej pozycji, zamiast delikatnie je przesuwać.",
|
||||
"disable-paste-offset/@name": "Nie przesuwaj wklejonych obiektów",
|
||||
|
||||
@@ -3,11 +3,10 @@
|
||||
"cat-blocks/@info-watch": "A opção \"Monitorar ponteiro do mouse\" pode piorar a performance com o editor aberto.",
|
||||
"cat-blocks/@name": "Blocos de gato",
|
||||
"cat-blocks/@settings-name-watch": "Monitorar ponteiro do mouse",
|
||||
"editor-devtools/@description": "Adiciona uma caixa de busca e novas opções de menu ao editor: copiar/colar blocos, organização melhorada, ir para a definição de um bloco customizado, e mais! Aperte Ctrl+F para focar na caixa de localizar, Ctrl+Espaço para abrir o pop-up de \"adicionar bloco por nome\", Ctrl+Esquerda/Direita para navegar através do histórico de busca.",
|
||||
"editor-devtools/@name": "Ferramentas de desenvolvedor",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Melhorar opção \"Limpar Blocos\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Clique com a rodinha do mouse em variáveis, blocos customizados ou eventos para navegar",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Colar blocos na posição do mouse",
|
||||
"find-bar/@name": "Barra localizar do editor",
|
||||
"editor-searchable-dropdowns/@description": "Te deixa pesquisar nos dropdowns de blocos.",
|
||||
"editor-searchable-dropdowns/@name": "Dropdowns buscáveis",
|
||||
"data-category-tweaks-v2/@description": "Adiciona melhorias na categoria de Dados (\"Variáveis\").",
|
||||
@@ -20,15 +19,12 @@
|
||||
"hide-flyout/@description": "Esconde a paleta de blocos se o mouse não estiver em cima. Clique no ícone do cadeado para trancá-la temporariamente. Você também pode usar o modo \"ao clicar em uma categoria\".",
|
||||
"hide-flyout/@info-hoverExplanation": "O modo \"Passar o mouse na área da paleta\" só aumenta a área visível. Se você quer poder arrastar blocos até aquela área sem jogar eles fora, use outro modo.",
|
||||
"hide-flyout/@name": "Auto-esconder paleta de blocos",
|
||||
"hide-flyout/@settings-name-speed": "Duração da animação",
|
||||
"hide-flyout/@settings-name-toggle": "Alternar ao...",
|
||||
"hide-flyout/@settings-select-speed-default": "Padrão",
|
||||
"hide-flyout/@settings-select-speed-long": "Longa",
|
||||
"hide-flyout/@settings-select-speed-none": "Imediata",
|
||||
"hide-flyout/@settings-select-speed-short": "Curta",
|
||||
"hide-flyout/@settings-select-toggle-category": "Clicar em uma categoria",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Passar o mouse em uma categoria",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Passar o mouse na área da paleta",
|
||||
"hide-flyout/@update": "Este addon foi revisado e diversos bugs foram corrigidos.",
|
||||
"mediarecorder/@description": "Adiciona um botão \"começar a gravar\" à barra superior do editor que te deixa gravar o palco do projeto.",
|
||||
"mediarecorder/@name": "Gravador de vídeo do projeto",
|
||||
"drag-drop/@description": "Te deixa arrastar imagens e sons do seu computador até a lista de atores, fantasias ou sons. Você também pode arrastar arquivos de texto até listas ou a entrada de resposta do bloco \"pergunte e espere\".",
|
||||
@@ -46,8 +42,11 @@
|
||||
"mute-project/@description": "Ctrl+Clique na bandeira verde para mutar/desmutar o projeto.",
|
||||
"mute-project/@info-macOS": "No macOS, use a tecla Cmd ao invés de Ctrl.",
|
||||
"mute-project/@name": "Modo projeto mutado",
|
||||
"vol-slider/@name": "Slider de volume do projeto",
|
||||
"vol-slider/@settings-name-defVol": "Volume padrão",
|
||||
"clones/@description": "Adiciona um contador acima do palco no editor que mostra o número total de clones.",
|
||||
"clones/@name": "Contador de clones",
|
||||
"clones/@settings-name-showicononly": "Mostrar apenas o ícone",
|
||||
"mouse-pos/@description": "Mostra a posição do mouse próxima à bandeira acima do palco no editor.",
|
||||
"mouse-pos/@name": "Posição do mouse",
|
||||
"color-picker/@description": "Adiciona entradas para código hex à paleta de cores.",
|
||||
@@ -73,7 +72,6 @@
|
||||
"default-costume-editor-color/@description": "Muda o padrão das cores e do tamanho da borda usado pelo editor de fantasias.",
|
||||
"default-costume-editor-color/@name": "Customizar padrões de cor do editor de fantasias",
|
||||
"default-costume-editor-color/@settings-name-fill": "Cor de preenchimento padrão",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Usar a cor anterior ao invés da padrão quando alternar entre ferramentas",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Cor da borda padrão",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Tamanho da borda padrão",
|
||||
"bitmap-copy/@description": "Te deixa copiar uma imagem bitmap do editor de fantasia e colar em outros sites ou programas.",
|
||||
@@ -102,6 +100,10 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Raio de canto (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Altura do encaixe (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Tamanho do bloco (50-200%)",
|
||||
"zebra-striping/@settings-name-intensity": "Intensidade (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Sombrear",
|
||||
"zebra-striping/@settings-select-shade-darker": "Escurecer",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Clarear",
|
||||
"editor-theme3/@description": "Edite as cores dos blocos de cada categoria no editor.",
|
||||
"editor-theme3/@name": "Cores de bloco customizadas",
|
||||
"editor-theme3/@preset-description-black": "Deixa os blocos pretos",
|
||||
@@ -113,6 +115,7 @@
|
||||
"editor-theme3/@preset-name-original": "Cores do 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Ajustes ao 3.0",
|
||||
"editor-theme3/@settings-name-Pen-color": "extensões",
|
||||
"editor-theme3/@settings-name-comment-color": "Comentários",
|
||||
"editor-theme3/@settings-name-control-color": "controle",
|
||||
"editor-theme3/@settings-name-custom-color": "meus blocos",
|
||||
"editor-theme3/@settings-name-data-color": "variáveis",
|
||||
@@ -129,7 +132,6 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Colorido no fundo preto",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Colorido no fundo branco",
|
||||
"editor-theme3/@settings-select-text-white": "Branco",
|
||||
"editor-theme3/@update": "Nova opção de mudar as cores dos blocos no fórum.",
|
||||
"custom-block-text/@description": "Muda a grossura do texto nos blocos e pode também adicionar uma sombra ao texto.",
|
||||
"custom-block-text/@name": "Mudar estilo de texto dos blocos",
|
||||
"custom-block-text/@settings-name-bold": "Texto em negrito",
|
||||
@@ -189,9 +191,13 @@
|
||||
"custom-zoom/@settings-select-speed-short": "Curta",
|
||||
"initialise-sprite-position/@description": "Muda a posição x/y padrão de novos atores.",
|
||||
"initialise-sprite-position/@name": "Posição padrão customizável para novos atores",
|
||||
"initialise-sprite-position/@settings-name-duplicate": "Comportamento ao duplicar sprites",
|
||||
"initialise-sprite-position/@settings-name-library": "Posição aleatória para atores da biblioteca",
|
||||
"initialise-sprite-position/@settings-name-x": "Posição X",
|
||||
"initialise-sprite-position/@settings-name-y": "Posição Y",
|
||||
"initialise-sprite-position/@settings-select-duplicate-custom": "Enviar para valores x/y específicos",
|
||||
"initialise-sprite-position/@settings-select-duplicate-keep": "Manter o mesmo como o sprite original",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "Randomizar",
|
||||
"blocks2image/@description": "Clique com o botão direito na área de scripts para exportar blocos como imagens SVG/PNG.",
|
||||
"blocks2image/@name": "Salvar blocos como imagem",
|
||||
"remove-curved-stage-border/@description": "Remove a borda arredondada do palco, e assim te deixa ver os cantos.",
|
||||
@@ -245,7 +251,6 @@
|
||||
"no-script-bumping/@name": "Não mover scripts sobrepostos automaticamente",
|
||||
"disable-stage-drag-select/@description": "Remove a habilidade de arrastar atores no palco no Editor, exceto aqueles que explicitamente estão definidos como arrastável. Segure Shift enquanto arrasta um personagem pra movê-lo normalmente.",
|
||||
"disable-stage-drag-select/@name": "Atores não arrastáveis no editor",
|
||||
"move-to-top-bottom/@description": "Adiciona uma opção no menu de botão direito de uma fantasia ou som para movê-lo para o topo ou fundo da lista. Antes parte das ferramentas de desenvolvedor.",
|
||||
"move-to-top-bottom/@name": "Mover fantasia ao topo ou ao fundo da lista",
|
||||
"disable-paste-offset/@description": "Cola itens copiados em sua posição original ao invés de movê-los no editor de fantasia.",
|
||||
"disable-paste-offset/@name": "Não mover itens colados",
|
||||
|
||||
@@ -10,12 +10,8 @@
|
||||
"block-palette-icons/@name": "Pictograme ale categoriilor din paleta de blocuri",
|
||||
"hide-flyout/@description": "Ascunde paleta de blocuri dacă nu se ține mouse-ul deasupra ei. Apasă pe pictograma blochează pentru a o ține la locul ei temporar. Altfel, folosește modul „clic pe categorie”.",
|
||||
"hide-flyout/@info-hoverExplanation": "Modul „Pune cursorul deasupra zonei paletei” doar extinde zona vizuală. Dacă vrei să poți trage blocuri în acea zonă fără ca acestea să fie șterse, folosește unul dintre celelalte moduri.",
|
||||
"hide-flyout/@settings-name-speed": "Durata animației",
|
||||
"hide-flyout/@settings-name-toggle": "Pornește...",
|
||||
"hide-flyout/@settings-select-speed-default": "Implicit",
|
||||
"hide-flyout/@settings-select-speed-long": "Lungă",
|
||||
"hide-flyout/@settings-select-speed-none": "Niciuna",
|
||||
"hide-flyout/@settings-select-speed-short": "Scurtă",
|
||||
"hide-flyout/@settings-select-toggle-category": "Clic pe categorie",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Pune cursorul deasupra categoriei",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Pune cursorul deasupra zonei paletei",
|
||||
|
||||
@@ -3,30 +3,41 @@
|
||||
"cat-blocks/@info-watch": "Когда открыт редактор, параметр \"Следить за указателем мыши\" может влиять на производительность.",
|
||||
"cat-blocks/@name": "Котоблоки",
|
||||
"cat-blocks/@settings-name-watch": "Следить за указателем мыши",
|
||||
"editor-devtools/@description": "Добавляет новые функции в редактор: вставка/копирование блоков,улучшенную очистку,и ещё кучу функций! Используйте Ctrl+Space(в macOS Shift+space)чтобы вызвать меню вызова блока по имени",
|
||||
"editor-devtools/@name": "Инструменты разработчика",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Улучшение \"Очистить блоки\"",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Вставлять блоки под курсором мыши",
|
||||
"find-bar/@description": "Добавляет строку поиска чтобы искать скрипты,костюмы и звуки во вкладке звуков.Используйте Ctrl + стрелка влево и Ctrl + стрелка вправо в зоне с кодом,для перехода к ледующей и предыдущей посещённой позиции,после использования строки поиска",
|
||||
"find-bar/@info-developer-tools": "Этот аддон раньше был частью \"инструментов разработчика\" ,но теперь переехал сюда",
|
||||
"find-bar/@name": "Строка поиска в редакторе",
|
||||
"jump-to-def/@description": "Вызывает меню с поиском блоков и переменных при одновременном нажатии shift и левого клика мыши либо клика колёсиком мыши",
|
||||
"jump-to-def/@info-developer-tools": "Этот аддон раньше был частью \"инструментов разработчика\" ,но теперь переехал сюда",
|
||||
"jump-to-def/@name": "Вызывать быстрое меню вызова блоков",
|
||||
"editor-searchable-dropdowns/@description": "Позволяет искать в раскрывающемся списке блоков.",
|
||||
"editor-searchable-dropdowns/@name": "Поиск в выпадающих списках",
|
||||
"data-category-tweaks-v2/@description": "Предоставляет настройки для категории блоков Данных (\"Переменные\").",
|
||||
"data-category-tweaks-v2/@name": "Поправки категории данных ",
|
||||
"data-category-tweaks-v2/@settings-name-moveReportersDown": "Переместить блоки данных выше списка переменных.",
|
||||
"data-category-tweaks-v2/@settings-name-separateListCategory": "Отдельная категория списков.",
|
||||
"data-category-tweaks-v2/@settings-name-separateLocalVariables": "Отделить переменные только для одного спрайта",
|
||||
"block-palette-icons/@description": "Добавляет значки внутри цветных кружков, обозначающих категории блоков.",
|
||||
"block-palette-icons/@name": "Значки категорий на палитре блоков",
|
||||
"hide-flyout/@description": "Скрывает палитру блоков, если не наведено. Щелкните значок замкА, чтобы временно заблокировать его. Как вариант, используйте режим «щелчок по категории».",
|
||||
"hide-flyout/@description": "Скрывает палитру блоков, если не наведен курсор мыши. Нажмите значок замка́, чтобы временно заблокировать её. Как вариант, используйте режим \"Нажатие категории\".",
|
||||
"hide-flyout/@info-hoverExplanation": "Режим \"Наведение на область палитры\" только расширяет область просмотра. Если вы хотите иметь возможность перетаскивать блоки в эту область без их уничтожения, используйте один из других режимов.",
|
||||
"hide-flyout/@name": "Автоскрытие палитры блоков",
|
||||
"hide-flyout/@settings-name-speed": "Длительность анимации",
|
||||
"hide-flyout/@settings-name-speed": "Скорость анимации:",
|
||||
"hide-flyout/@settings-name-toggle": "Включить...",
|
||||
"hide-flyout/@settings-select-speed-default": "По умолчанию",
|
||||
"hide-flyout/@settings-select-speed-long": "Длинный",
|
||||
"hide-flyout/@settings-select-speed-none": "Nul",
|
||||
"hide-flyout/@settings-select-speed-short": "Короткий",
|
||||
"hide-flyout/@settings-select-speed-long": "Медленная",
|
||||
"hide-flyout/@settings-select-speed-none": "Моментальная",
|
||||
"hide-flyout/@settings-select-speed-short": "Быстрая",
|
||||
"hide-flyout/@settings-select-toggle-category": "Нажатие категории",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Наведение на категорию",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Наведение на область палитры",
|
||||
"hide-flyout/@update": "Этот аддон был обновлён,и было пофикшено много багов",
|
||||
"mediarecorder/@description": "Добавляет кнопку \"начать запись\" в меню редактора, которая позволяет записывать сцену проекта.",
|
||||
"mediarecorder/@name": "Запись проекта на видео",
|
||||
"drag-drop/@description": "Позволяет перетаскивать файлы с компьютера прямо во вкладку костюмов/звуков спрайта",
|
||||
"drag-drop/@name": "Перетаскивание файлов",
|
||||
"drag-drop/@settings-name-use-hd-upload": "Использовать HD загрузку",
|
||||
"debugger/@name": "Отладчик",
|
||||
@@ -41,13 +52,21 @@
|
||||
"mute-project/@description": "Клавиша Ctrl + Клик по зелёному флагу чтобы выключить/включить звук проекта.",
|
||||
"mute-project/@info-macOS": "В macOS используйте клавишу Cmd вместо клавиши Ctrl.",
|
||||
"mute-project/@name": "Беззвучный режим проектов",
|
||||
"vol-slider/@description": "Добавляет слайдер громкости к элементам управления проектом",
|
||||
"vol-slider/@name": "Слайдер громкости проекта",
|
||||
"vol-slider/@settings-name-defVol": "Стандартная громкость:",
|
||||
"clones/@description": "Добавляет счётчик над сценой,который показывает список клонов",
|
||||
"clones/@name": "Счётчик клонов",
|
||||
"clones/@settings-name-showicononly": "Показывать только иконку",
|
||||
"mouse-pos/@description": "Отображает координаты курсора мыши x/y в редакторе над сценой.",
|
||||
"mouse-pos/@name": "Позиция мыши",
|
||||
"color-picker/@description": "Добавляет ввод кодов hex в выбор цветов.",
|
||||
"color-picker/@name": "Выбор цветов типа Hex",
|
||||
"remove-sprite-confirm/@description": "Спрашивает, уверены ли вы при удалении спрайта внутри проекта.",
|
||||
"remove-sprite-confirm/@name": "Подтверждение удаления спрайтов",
|
||||
"block-count/@description": "Показывает количество блоков в проекте в верхней панели редактора. Раньше было частью «счётчик спрайтов и скриптов».",
|
||||
"block-count/@name": "Счёт блоков",
|
||||
"onion-skinning/@description": "Показывает полупрозрачное наслоение предыдущих/следующих костюмов в редакторе,как в программе для анимирования.Настройки рядом с кнопками размера",
|
||||
"onion-skinning/@name": "Отображение Onion",
|
||||
"onion-skinning/@settings-name-afterTint": "Следующая тонировка костюма",
|
||||
"onion-skinning/@settings-name-beforeTint": "Предыдущий оттенок костюма",
|
||||
@@ -56,7 +75,7 @@
|
||||
"onion-skinning/@settings-name-mode": "Режим по умолчанию",
|
||||
"onion-skinning/@settings-name-next": "Следующие костюмы по умолчанию",
|
||||
"onion-skinning/@settings-name-opacity": "Непрозрачность (%)",
|
||||
"onion-skinning/@settings-name-opacityStep": "Шаг непрозрачности (%)",
|
||||
"onion-skinning/@settings-name-opacityStep": "Уровень непрозрачности (%)",
|
||||
"onion-skinning/@settings-name-previous": "Предыдущие костюмы по умолчанию",
|
||||
"onion-skinning/@settings-select-layering-behind": "Сзади",
|
||||
"onion-skinning/@settings-select-layering-front": "Впереди",
|
||||
@@ -65,9 +84,10 @@
|
||||
"default-costume-editor-color/@description": "Меняет цвета по умолчанию и размер контура, которые используются редактором костюмов.",
|
||||
"default-costume-editor-color/@name": "Настраиваемые заводские цвета в редакторе костюмов",
|
||||
"default-costume-editor-color/@settings-name-fill": "Цвет заливки",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Использовать предыдущий цвет вместо цвета по умолчанию при смены инструментов",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Использует прошлый цвет,вместо перезапуска",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Цвет контура",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Размер контура",
|
||||
"bitmap-copy/@description": "Позволяет копировать растровое изображение из редактора костюмов в системный буфер обмена, чтобы его можно было вставить на другие веб-сайты или в программное обеспечение.",
|
||||
"bitmap-copy/@info-norightclick": "\"ПКМ → Копировать\" не поддерживается. Вам нужно нажать Ctrl+C пока растровое изображение выбрано.",
|
||||
"bitmap-copy/@name": "Копирование растровых изображений",
|
||||
"2d-color-picker/@description": "Заменяет ползунки насыщенности и яркости в редакторе костюмов двухмерной палитрой цветов. Удерживая нажатой клавишу Shift, перетащите курсор, чтобы изменить значения на одной оси.",
|
||||
@@ -79,6 +99,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Растянуть, чтобы заполнить сцену",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Уменьшить, чтобы соответствовать сцене",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Оригинальный размер",
|
||||
"pick-colors-from-stage/@description": "Теперь пипетка из редактора костюмов будет захватывать цвета и со сцены!",
|
||||
"pick-colors-from-stage/@name": "Выбор цвета сцены в редакторе костюмов",
|
||||
"custom-block-shape/@description": "Отрегулируйте отступы, радиус угла и высоту надреза блоков.",
|
||||
"custom-block-shape/@info-paddingWarning": "Уменьшение размера отступа видно только вам, поэтому, когда ваши проекты просматриваются другими пользователями, ваши скрипты могут перекрываться.",
|
||||
"custom-block-shape/@name": "Настраиваемая форма блоков",
|
||||
@@ -93,19 +115,26 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Размер угла (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Высота паза (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Размер отступов (50-200%)",
|
||||
"zebra-striping/@description": "Делает цвета блоков одной категории ,которые вложены в другие блоки этой же категории ярче. Как у зебры.",
|
||||
"zebra-striping/@name": "Другие цвета вложенных блоков",
|
||||
"zebra-striping/@settings-name-intensity": "интенсивность (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Оттенок",
|
||||
"zebra-striping/@settings-select-shade-darker": "затемнение",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Яркость",
|
||||
"editor-theme3/@description": "Отредактируйте цвета блоков для каждой категории в редакторе.",
|
||||
"editor-theme3/@name": "Настраиваемые цвета блоков",
|
||||
"editor-theme3/@preset-description-black": "Делает фоны блоков чёрными",
|
||||
"editor-theme3/@preset-description-dark": "Тёмные версии цветов по умолчанию",
|
||||
"editor-theme3/@preset-description-original": "Оригинальные цвета блоков из Scratch 2.0",
|
||||
"editor-theme3/@preset-description-tweaks": "Блоки событий, управления и другие с цветами, вдохновленными 2.0",
|
||||
"editor-theme3/@preset-description-tweaks": "Цвета блоков событий, управления и другие теперь можно сделать как в версии 2.0",
|
||||
"editor-theme3/@preset-name-black": "Чёрный",
|
||||
"editor-theme3/@preset-name-dark": "Тёмная",
|
||||
"editor-theme3/@preset-name-original": "Цвета 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 повторение",
|
||||
"editor-theme3/@preset-name-original": "Цвета версии 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Цвета версии 3.0",
|
||||
"editor-theme3/@settings-name-Pen-color": "расширения",
|
||||
"editor-theme3/@settings-name-comment-color": "Комментарии",
|
||||
"editor-theme3/@settings-name-control-color": "управление",
|
||||
"editor-theme3/@settings-name-custom-color": "свой",
|
||||
"editor-theme3/@settings-name-custom-color": "свои блоки",
|
||||
"editor-theme3/@settings-name-data-color": "переменные",
|
||||
"editor-theme3/@settings-name-data-lists-color": "списки",
|
||||
"editor-theme3/@settings-name-events-color": "события",
|
||||
@@ -120,17 +149,21 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Цветной на чёрном фоне",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Цветной на белом фоне",
|
||||
"editor-theme3/@settings-select-text-white": "Белый",
|
||||
"editor-theme3/@update": "Новая настройка, чтобы предоставлять изменение цветов блоков на форумах.",
|
||||
"editor-theme3/@update": "\"Тёмные комментарии\" переехали из \"Тёмной темы редактора\" сюда, и теперь их можно настраивать",
|
||||
"custom-block-text/@description": "Изменяет толщину текста на блоках и дополнительно добавляет тень к тексту.",
|
||||
"custom-block-text/@name": "Настраиваемый стиль текста блоков",
|
||||
"custom-block-text/@settings-name-bold": "Жирный текст",
|
||||
"custom-block-text/@settings-name-shadow": "Тень под текстом",
|
||||
"editor-colored-context-menus/@description": "Делает контекстные меню, щёлкнутые ПКМ по блоку более красочными.",
|
||||
"editor-colored-context-menus/@description": "Делает контекстные меню, щёлкнутые правой кнопкой мыши по блоку более красочными.",
|
||||
"editor-colored-context-menus/@name": "Цветные контекстные меню",
|
||||
"editor-stage-left/@description": "Перемещает сцену в левую часть редактора, как в Scratch 2.0.",
|
||||
"editor-stage-left/@info-reverseOrder": "Чтобы изменить положение кнопок над сценой, используйте аддон «поменять местами флажок и кнопку стоп».",
|
||||
"editor-stage-left/@name": "Отображать сцену на левой стороне",
|
||||
"editor-buttons-reverse-order/@description": "переместить кнопки флага и остановки направо,а кнопку полного экрана налево,как в scratch 2.0",
|
||||
"editor-buttons-reverse-order/@name": "перевернуть элементы управления ",
|
||||
"variable-manager/@description": "Добавляет вкладку рядом с \"звуки\" в редакторе для удобного обновления переменных и списков.",
|
||||
"variable-manager/@name": "Менеджер переменных",
|
||||
"variable-manager/@update": "Элементы в списках можно добавлять без зажатой клавиши shift",
|
||||
"search-sprites/@description": "Добавляет поле поиска к панели спрайтов, чтобы искать спрайты по имени.",
|
||||
"search-sprites/@name": "Поиск спрайтов по имени",
|
||||
"gamepad/@description": "Взаимодействовать с проектами используя USB или Bluetooth контроллер/геймпад.",
|
||||
@@ -138,6 +171,7 @@
|
||||
"gamepad/@settings-name-hide": "Спрятать кнопку настроек, если контроллеров не обнаружено",
|
||||
"editor-sounds/@description": "Воспроизводит звуковые эффекты при соединении или удалении блоков.",
|
||||
"editor-sounds/@name": "Звуковые эффекты редактора",
|
||||
"folders/@description": "Добавляет папки в панель спрайтов,а также костюмов и звуков. Чтобы сделать папку, нажми по спрайту/звуку/костюму, нажми создать папку и назови её, чтобы добавить в папку звук/костюм/спрайт нажми правой кнопкой мыши и выбери добавить к папке",
|
||||
"folders/@info-notice-folders-are-public": "Пользователи, у которых включена эта функция, смогут видеть папки в вашем проекте. Все остальные будут видеть списки спрайтов в обычном режиме (без папок).",
|
||||
"folders/@name": "Папки спрайтов",
|
||||
"block-switching/@description": "Щёлкните правой кнопкой мыши по блоку, чтобы заменить его на связанный блок.",
|
||||
@@ -163,6 +197,7 @@
|
||||
"load-extensions/@settings-name-pen": "Перо",
|
||||
"load-extensions/@settings-name-text2speech": "Текст в речь",
|
||||
"load-extensions/@settings-name-translate": "Перевод",
|
||||
"custom-zoom/@description": "Выберите свои настройки максимального размера,минимального,скорость,и начальное увеличение зоны с кодом\nа также,автоскрытие управления.",
|
||||
"custom-zoom/@name": "Настраиваемое масштабирование области кода",
|
||||
"custom-zoom/@settings-name-autohide": "Автоматическое скрытие элементов управления масштабированием",
|
||||
"custom-zoom/@settings-name-maxZoom": "Максимальное увеличение (100-500%)",
|
||||
@@ -176,15 +211,22 @@
|
||||
"custom-zoom/@settings-select-speed-short": "Быстро",
|
||||
"initialise-sprite-position/@description": "Изменяет позицию x/y по умолчанию для новых спрайтов",
|
||||
"initialise-sprite-position/@name": "Настраиваемая позиция нового спрайта",
|
||||
"initialise-sprite-position/@settings-name-duplicate": "Поведение при дублировании спрайтов",
|
||||
"initialise-sprite-position/@settings-name-library": "Случайное расположение спрайтов из библиотеки",
|
||||
"initialise-sprite-position/@settings-name-x": "Позиция X",
|
||||
"initialise-sprite-position/@settings-name-y": "Позиция Y",
|
||||
"blocks2image/@description": "Кликните ПКМ в область кода, чтобы экспортировать блоки как изображения SVG или PNG.",
|
||||
"initialise-sprite-position/@settings-select-duplicate-custom": "Определённые значения x/y",
|
||||
"initialise-sprite-position/@settings-select-duplicate-keep": "Те же,что и у оригинального спрайта",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "Случайные",
|
||||
"blocks2image/@description": "Кликните правой кнопкой мыши в область кода, чтобы экспортировать блоки как изображения SVG или PNG.",
|
||||
"blocks2image/@name": "Сохранить блоки как изображение",
|
||||
"remove-curved-stage-border/@description": "Убирает фигурную обводку вокруг сцены, позволяя увидеть углы.",
|
||||
"remove-curved-stage-border/@name": "Убирает фигурную обводку сцены",
|
||||
"transparent-orphans/@description": "Добавляет прозрачность блокам в редакторе,с отдельными опциями для отдельных блоков(которые без блока действий),и блоков которые перетаскиваются",
|
||||
"transparent-orphans/@name": "Прозрачность блоков",
|
||||
"transparent-orphans/@settings-name-block": "Прозрачность блоков (%)",
|
||||
"transparent-orphans/@settings-name-dragged": "прозрачность перетаскиваемых блоков (%)",
|
||||
"transparent-orphans/@settings-name-orphan": "прозрачность отдельных блоков (%)",
|
||||
"paint-by-default/@description": "Изменяет действие по умолчанию кнопок «выберите спрайт/костюм/фон/звук», которые по умолчанию открывают библиотеку.",
|
||||
"paint-by-default/@name": "Рисовать костюм по умолчанию",
|
||||
"paint-by-default/@settings-name-backdrop": "Добавить фон",
|
||||
@@ -229,14 +271,17 @@
|
||||
"no-script-bumping/@name": "Не делать автоматически пробел между перекрывающими скриптами",
|
||||
"disable-stage-drag-select/@description": "Удаляет возможность перетаскивать спрайты по сцене в редакторе, за исключением тех, которые установлены как перетаскиваемые. Удерживайте Shift при перетаскивании спрайта, чтобы переместить его в обычном режиме.",
|
||||
"disable-stage-drag-select/@name": "Неперетаскиваемые спрайты в редакторе",
|
||||
"move-to-top-bottom/@description": "Добавляет кнопку к контекстному меню ПКМ для перемещения костюма в самый верх или в самый низ списка. Первоначально было частью инструментов разработчика.",
|
||||
"move-to-top-bottom/@description": "Добавляет новый пункт в контекстное меню костюма или звука, позволяющее переместить его наверх или вниз",
|
||||
"move-to-top-bottom/@info-developer-tools": "Этот аддон раньше был частью \"инструментов разработчика\" ,но теперь переехал сюда",
|
||||
"move-to-top-bottom/@name": "Переместить костюм на самый вверх или в самый низ",
|
||||
"disable-paste-offset/@description": "Вставляет скопированные предметы на их оригинальные позиции вместо слегка сдвинутого в редакторе костюмов.",
|
||||
"disable-paste-offset/@name": "Не двигать вставленные предметы",
|
||||
"disable-paste-offset/@name": "Не двигать вставленные предметы в редакторе костюмов",
|
||||
"block-duplicate/@description": "Быстро дублирует скрипт, зажимая клавишу Alt и передвигая скрипт. Также зажимайте Ctrl, чтобы дублировать один блок.",
|
||||
"block-duplicate/@info-mac": "Если у Вас macOS, то используйте клавишу ⌥, вместо Alt и клавишу ⌘, вместо Control.",
|
||||
"block-duplicate/@name": "Дублировать скрипт с клавишей Alt",
|
||||
"swap-local-global/@description": "Добавляет больше опций во время переименования существующей переменной или существующего списка: позволяет переключаться между «Для всех спрайтов», «Только для этого спрайта» и облачными переменнами. Также добавляет новую опцию при нажатии ПКМ по переменной/списку, чтобы быстро сменить свойства.",
|
||||
"rename-broadcasts/@description": "Позволяет изменять названия сообщений в блоках их передачи и получения",
|
||||
"rename-broadcasts/@name": "Переименовать сообщения",
|
||||
"swap-local-global/@description": "Добавляет больше опций во время переименования существующей переменной или существующего списка: позволяет переключаться между «Для всех спрайтов», «Только для этого спрайта» и облачными переменными. Также добавляет новую опцию при нажатии правой кнопкой мыши по переменной/списку, чтобы быстро сменить свойства.",
|
||||
"swap-local-global/@name": "Переключить переменные между «Для всех спрайтов» и «Только для этого спрайта»",
|
||||
"editor-comment-previews/@description": "Позволяет делать превью комментариев, наводя на свёрнутые комментарии и блоки. Вы можете использовать это, чтобы просматривать комментарии, которые вне экрана, определять блок цикла снизу с помощью превью, вместить длинные комментарии в маленькое место и другое.",
|
||||
"editor-comment-previews/@name": "Предварительный просмотр комментариев в редакторе",
|
||||
|
||||
@@ -3,10 +3,16 @@
|
||||
"cat-blocks/@info-watch": "Možnost \"spremljaj kazalec miške\" lahko vpliva na hitrost delovanja urejevalnika.",
|
||||
"cat-blocks/@name": "Mačji bloki",
|
||||
"cat-blocks/@settings-name-watch": "Spremljaj kazalec miške",
|
||||
"editor-devtools/@description": "Doda iskalno polje in nove možnosti v menijih v urejevalnik: kopiranje blokov, boljše čiščenje, skok k definiciji bloka, in drugo! Pritisnite Ctrl+F za premik na iskalno polje, Ctrl+presledek za prikaz okna za dodajanje bloka po imenu, Ctrl+levo/desno za premikanje po zgodovini iskanja.",
|
||||
"editor-devtools/@description": "Doda nove možnosti v menije v urejevalniku: kopiranje blokov, izboljšano čiščenje, in več! Uporabite Ctrl+presledek (Shift+presledek, če uporabljate macOS) za prikaz okna za dodajanje blokov po imenu.",
|
||||
"editor-devtools/@name": "Orodje za razvijalce",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "Izboljšaj možnost \"Počisti bloke\"",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Omogoči klik spremenljivk, mojih blokov ali dogodkov s srednjo miškino tipko za navigacijo",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Prilepi bloke poleg kazalca miške",
|
||||
"find-bar/@description": "Poleg zavihka Zvoki doda vrstico, s katero lahko poiščete in se premaknete na skripto, videz ali zvok. Uporabite Ctrl+levo ali Ctrl+desno v prostoru za kodo, da se premaknete na prejšnji ali naslednji položaj.",
|
||||
"find-bar/@info-developer-tools": "Ta funkcija je bila prej del dodatka \"orodje za razvijalce\", vendar smo jo premaknili sem.",
|
||||
"find-bar/@name": "Iskalna vrstica v urejevalniku",
|
||||
"jump-to-def/@description": "Omogoča, da se premaknete na definicijo \"mojega bloka\" s srednjim miškinim gumbom ali Shift+klikom.",
|
||||
"jump-to-def/@info-developer-tools": "Ta funkcija je bila prej del dodatka \"orodje za razvijalce\", vendar smo jo premaknili sem.",
|
||||
"jump-to-def/@name": "Skoči na definicijo \"mojega bloka\"",
|
||||
"editor-searchable-dropdowns/@description": "Omogoči iskanje po spustnih menijih blokov.",
|
||||
"editor-searchable-dropdowns/@name": "Iskanje po spustnih menijih",
|
||||
"data-category-tweaks-v2/@description": "Izboljša kategorijo blokov Podatki (\"Spremenljivke\").",
|
||||
@@ -19,12 +25,12 @@
|
||||
"hide-flyout/@description": "Skrije paleto blokov, če miška ni na njej. Kliknite ikono ključavnice, da jo začasno zaklenete. Lahko pa uporabite tudi način \"Ko kliknem kategorijo\".",
|
||||
"hide-flyout/@info-hoverExplanation": "Način \"ko premaknem miško na območje palete\" poveča samo območje, v katerem so bloki vidni. Če želite tja vleči bloke, ne da bi bili ti izbrisani, uporabite enega od drugih načinov.",
|
||||
"hide-flyout/@name": "Samodejno skrivanje palete blokov",
|
||||
"hide-flyout/@settings-name-speed": "Trajanje animacije",
|
||||
"hide-flyout/@settings-name-speed": "Hitrost animacije",
|
||||
"hide-flyout/@settings-name-toggle": "Pokaži ko...",
|
||||
"hide-flyout/@settings-select-speed-default": "Navadno",
|
||||
"hide-flyout/@settings-select-speed-long": "Dolgo",
|
||||
"hide-flyout/@settings-select-speed-none": "Brez",
|
||||
"hide-flyout/@settings-select-speed-short": "Kratko",
|
||||
"hide-flyout/@settings-select-speed-default": "Navadna",
|
||||
"hide-flyout/@settings-select-speed-long": "Počasna",
|
||||
"hide-flyout/@settings-select-speed-none": "Trenutna",
|
||||
"hide-flyout/@settings-select-speed-short": "Hitra",
|
||||
"hide-flyout/@settings-select-toggle-category": "Kliknem kategorijo",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Premaknem miško na kategorijo",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Premaknem miško na območje palete",
|
||||
@@ -46,8 +52,12 @@
|
||||
"mute-project/@description": "Ctrl+kliknite zeleno zastavico, da vključite ali izključite zvok v projektu.",
|
||||
"mute-project/@info-macOS": "Če uporabljate macOS, uporabite tipko Cmd namesto Ctrl.",
|
||||
"mute-project/@name": "Utišaj predvajalnik projekta",
|
||||
"vol-slider/@description": "Doda drsnik za glasnost poleg gumbov za nadzor projekta.",
|
||||
"vol-slider/@name": "Drsnik za glasnost projekta",
|
||||
"vol-slider/@settings-name-defVol": "Začetna glasnost",
|
||||
"clones/@description": "Nad oder v urejevalniku doda števec, ki prikaže skupno število dvojnikov figur.",
|
||||
"clones/@name": "Števec dvojnikov",
|
||||
"clones/@settings-name-showicononly": "Pokaži samo ikono",
|
||||
"mouse-pos/@description": "Prikaže x/y položaj miške nad odrom v urejevalniku.",
|
||||
"mouse-pos/@name": "Položaj miške",
|
||||
"color-picker/@description": "Doda polje za vnos šestnajstiške kode, ko izbirate barvo.",
|
||||
@@ -88,6 +98,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Raztegni na velikost odra",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Pomanjšaj prevelike slike do velikosti odra",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Izvirna velikost",
|
||||
"pick-colors-from-stage/@description": "Omogoči, da s kapalko v urejevalniku videzov izberete tudi barve iz odra.",
|
||||
"pick-colors-from-stage/@name": "Izberi barve iz odra v urejevalniku videzov",
|
||||
"custom-block-shape/@description": "Spremenite velikost, zaobljenost robov in velikost zareze blokov.",
|
||||
"custom-block-shape/@info-paddingWarning": "Spremembo velikosti praznega prostora vidite samo vi, zato se za druge uporabnike skripte v vašem projektu lahko prekrivajo.",
|
||||
"custom-block-shape/@name": "Prilagoditev oblike blokov",
|
||||
@@ -102,6 +114,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Zaobljenost robov (0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Višina zareze (0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Velikost praznega prostora (50-200%)",
|
||||
"zebra-striping/@description": "Bloke iste kategorije pobarva izmenično s svetlejšimi in temnejšimi odtenki, kadar so postavljeni drug v drugega. To se imenuje tudi zebrine proge.",
|
||||
"zebra-striping/@name": "Izmenično obarvani ugnezdeni bloki",
|
||||
"zebra-striping/@settings-name-intensity": "Intenzivnost (0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "Odtenek",
|
||||
"zebra-striping/@settings-select-shade-darker": "Temnejši",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Svetlejši",
|
||||
"editor-theme3/@description": "Uredite barve blokov za vsako kategorijo v urejevalniku.",
|
||||
"editor-theme3/@name": "Prilagoditev barv blokov",
|
||||
"editor-theme3/@preset-description-black": "Naredi ozadje blokov črno",
|
||||
@@ -113,6 +131,7 @@
|
||||
"editor-theme3/@preset-name-original": "Barve Scratcha 2.0",
|
||||
"editor-theme3/@preset-name-tweaks": "Izboljšane barve Scratcha 3.0",
|
||||
"editor-theme3/@settings-name-Pen-color": "razširitve",
|
||||
"editor-theme3/@settings-name-comment-color": "Komentarji",
|
||||
"editor-theme3/@settings-name-control-color": "krmiljenje",
|
||||
"editor-theme3/@settings-name-custom-color": "moji bloki",
|
||||
"editor-theme3/@settings-name-data-color": "spremenljivke",
|
||||
@@ -129,7 +148,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Barva na črnem ozadju",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Barva na belem ozadju",
|
||||
"editor-theme3/@settings-select-text-white": "Bela",
|
||||
"editor-theme3/@update": "Nova nastavitev, ki omogoči spreminjanje barv blokov v forumih.",
|
||||
"editor-theme3/@update": "Nastavitev \"Temni komentarji\" smo iz dodatka \"Temni način in prilagoditev barv v urejevalniku\" smo premaknili sem. Zdaj lahko spremenite tudi barvo komentarjev.",
|
||||
"custom-block-text/@description": "Spremeni debelino besedila na blokih, lahko pa doda tudi senco.",
|
||||
"custom-block-text/@name": "Prilagoditev sloga besedila blokov",
|
||||
"custom-block-text/@settings-name-bold": "Krepko besedilo",
|
||||
@@ -143,6 +162,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Obratno zaporedje gumbov za nadzor projekta",
|
||||
"variable-manager/@description": "Doda zavihek za enostavno urejanje spremenljivk in seznamov v urejevalnik, poleg zavihka \"zvoki\".",
|
||||
"variable-manager/@name": "Upravitelj spremenljivk",
|
||||
"variable-manager/@update": "Za dodajanje predmetov v sezname ni več treba držati tipke Shift.",
|
||||
"search-sprites/@description": "Poleg seznama figur doda polje za iskanje figur glede na ime.",
|
||||
"search-sprites/@name": "Išči figure po imenu",
|
||||
"gamepad/@description": "Uporabljajte USB ali Bluetooth igralni plošček v projektih.",
|
||||
@@ -250,13 +270,15 @@
|
||||
"no-script-bumping/@name": "Ne razmakni prekrivajočih se skript",
|
||||
"disable-stage-drag-select/@description": "Odstrani možnost vlečenja figur na odru v urejevalniku, razen tistih, ki vlečenje omogočijo z ukazom \"možnost premika\". Med vlečenjem figure držite Shift, da jo premaknete na običajen način.",
|
||||
"disable-stage-drag-select/@name": "Onemogoči vlečenje figur v urejevalniku",
|
||||
"move-to-top-bottom/@description": "V meni desne miškine tipke doda možnost, ki videz ali zvok premakne na vrh ali na dno seznama. Prej del dodatka Developer Tools.",
|
||||
"move-to-top-bottom/@description": "V meni desne miškine tipke za videze in zvoke doda možnost, ki predmet premakne na vrh ali na dno seznama.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Ta funkcija je bila prej del dodatka \"orodje za razvijalce\", vendar smo jo premaknili sem.",
|
||||
"move-to-top-bottom/@name": "Premakni videz na vrh ali na dno",
|
||||
"disable-paste-offset/@description": "V urejevalniku videzov kopiranih predmetov ne premakne, ampak jih prilepi na njihovem prejšnjem položaju.",
|
||||
"disable-paste-offset/@name": "Ne premakni prilepljenih predmetov",
|
||||
"block-duplicate/@description": "Hitro podvojite skripto tako, da jo potegnete, medtem ko držite tipko Alt. Držite tudi tipko Ctrl, da podvojite samo en block namesto vseh povezanih blokov.",
|
||||
"block-duplicate/@info-mac": "Če uporabljate macOS, uporabite tipko Option namesto Alt in Command namesto Control.",
|
||||
"block-duplicate/@name": "Podvoji skripto s tipko Alt",
|
||||
"rename-broadcasts/@description": "V meni bloka \"objavi\" doda možnost za preimenovanje sporočila.",
|
||||
"rename-broadcasts/@name": "Preimenovanje sporočil",
|
||||
"swap-local-global/@description": "V okno za preimenovanje spremenljivke ali seznama doda več možnosti: omogoči spremembo spremenljivk \"Za vse figure\" v \"Samo za to figuro\" in obratno ter navadnih spremenljivk v spremenljivke v oblaku. Poleg tega doda novo možnost za hitro spremembo vidnosti, ko kliknete spremenljivko/seznam z desno miškino tipko.",
|
||||
"swap-local-global/@name": "Zamenjaj spremenljivke \"za vse figure\" in \"samo za to figuro\"",
|
||||
|
||||
@@ -3,11 +3,16 @@
|
||||
"cat-blocks/@info-watch": "\"Fare imlecini izle\" seçeneği, editör açıkken performansı etkileyebilir.",
|
||||
"cat-blocks/@name": "Kedi blokları",
|
||||
"cat-blocks/@settings-name-watch": "Fare imlecini izle",
|
||||
"editor-devtools/@description": "Düzenleyiciye bir arama kutusu ve yeni menü seçenekleri ekler: blokları kopyala/yapıştır, daha iyi temizle, özel blok tanımına git ve çok daha fazlası! Arama kutusuna odaklanmak için Ctrl+F, \"ada göre blok ekle\" açılır penceresini açmak için Ctrl+Boşluk, arama geçmişinde gezinmek için Ctrl+Sol/Sağ tuşlarına basın.",
|
||||
"editor-devtools/@description": "Düzenleyiciye yeni menü seçenekleri ekler: blokları kopyalama/yapıştırma, daha iyi temizlik ve çok daha fazlası! \"Ada göre blok ekle\" açılır penceresini açmak için Ctrl+Boşluk'u (macOS'ta Shift+Boşluk'u) kullanın.",
|
||||
"editor-devtools/@name": "Geliştirici araçları",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "\"Blokları temizle\"yi geliştir",
|
||||
"editor-devtools/@settings-name-enableMiddleClickFinder": "Orta fare düğmesine tıklayarak değişkenleri, özel blokları ve olayları yönlendir",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Blokları fare imlecine yapıştır",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "Blokları fare imlecinin bulunduğu konuma yapıştır",
|
||||
"find-bar/@description": "Sesler sekmesinin yanına kodları, kostümleri ve sesleri bulmak ve onlara gitmek için bir arama çubuğu ekler. Arama çubuğunu kullandıktan sonra önceki veya sonraki ziyaret edilen konuma gitmek için kod alanında Ctrl+Sol ve Ctrl+Sağ tuşlarını kullanın.",
|
||||
"find-bar/@info-developer-tools": "Bu eklenti öncesinde \"geliştirici araçları\" eklentisinin bir parçasıydı ancak artık buraya taşındı.",
|
||||
"find-bar/@name": "Editörde arama çubuğu",
|
||||
"jump-to-def/@description": "Orta fare düğmesiyle veya bloğa Shift+Tıklayarak özel bir bloğun tanımına gitmenize izin verir.",
|
||||
"jump-to-def/@info-developer-tools": "Bu eklenti öncesinde \"geliştirici araçları\" eklentisinin bir parçasıydı ancak artık buraya taşındı.",
|
||||
"jump-to-def/@name": "Özel blok tanımına git",
|
||||
"editor-searchable-dropdowns/@description": "Blok listelerini aramanıza olanak tanır.",
|
||||
"editor-searchable-dropdowns/@name": "Arama yapılabilen açılır listeler",
|
||||
"data-category-tweaks-v2/@description": "Verideki (\"Değişkenler\") blok kategorisi için ince ayarlar sağlar.",
|
||||
@@ -20,12 +25,12 @@
|
||||
"hide-flyout/@description": "İmleç üzerine getirilmezse blok paletini gizler. Geçici olarak gizlenmesini önlemek için kilit simgesine tıklayın. Alternatif olarak, \"kategori tıklaması\" modunu kullanın.",
|
||||
"hide-flyout/@info-hoverExplanation": "\"Palet alanı üzerine gelin\" modu yalnızca görüntüleme alanını genişletir. Blokları çöpe atılmadan o alana sürükleyebilmek istiyorsanız, diğer modlardan birini kullanın.",
|
||||
"hide-flyout/@name": "Otomatik gizlenen blok paleti",
|
||||
"hide-flyout/@settings-name-speed": "Animasyon süresi",
|
||||
"hide-flyout/@settings-name-speed": "Animasyon hızı",
|
||||
"hide-flyout/@settings-name-toggle": "Açık...",
|
||||
"hide-flyout/@settings-select-speed-default": "Varsayılan",
|
||||
"hide-flyout/@settings-select-speed-long": "Uzun",
|
||||
"hide-flyout/@settings-select-speed-none": "Yok",
|
||||
"hide-flyout/@settings-select-speed-short": "Kısa",
|
||||
"hide-flyout/@settings-select-speed-long": "Yavaş",
|
||||
"hide-flyout/@settings-select-speed-none": "Anında",
|
||||
"hide-flyout/@settings-select-speed-short": "Hızlı",
|
||||
"hide-flyout/@settings-select-toggle-category": "Kategori tıklaması",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "Kategori vurgusu",
|
||||
"hide-flyout/@settings-select-toggle-hover": "Palet alanı kaydırıcısı",
|
||||
@@ -47,6 +52,9 @@
|
||||
"mute-project/@description": "Projeyi susturmak/susturmayı kaldırmak için yeşil bayrağa ctrl ile tıklayın.",
|
||||
"mute-project/@info-macOS": "MacOS'ta Ctrl tuşu yerine Cmd tuşunu kullanın.",
|
||||
"mute-project/@name": "Sessiz proje oynatma modu",
|
||||
"vol-slider/@description": "Sesi ayarlamak için yeşil bayrağın yanına bir çubuk ekler.",
|
||||
"vol-slider/@name": "Projelerde ses ayarı",
|
||||
"vol-slider/@settings-name-defVol": "Varsayılan ses düzeyi",
|
||||
"clones/@description": "Düzenleyicide sahnedeki toplam ikiz sayısını gösteren bir sayaç ekler.",
|
||||
"clones/@name": "İkiz sayacı",
|
||||
"clones/@settings-name-showicononly": "Sadece simgeyi göster",
|
||||
@@ -76,14 +84,14 @@
|
||||
"default-costume-editor-color/@description": "Kostüm düzenleyici tarafından kullanılan varsayılan renkleri ve kenarlık boyutunu değiştirir.",
|
||||
"default-costume-editor-color/@name": "Özelleştirilebilir varsayılan kostüm düzenleyicisi renkleri",
|
||||
"default-costume-editor-color/@settings-name-fill": "Varsayılan doldurma rengi",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Araçlar arasında geçiş yaparken varsayılan yerine önceki rengi kullan",
|
||||
"default-costume-editor-color/@settings-name-persistence": "Araçları değiştirdikten sonra sıfırlanması yerine önceki rengi kullan",
|
||||
"default-costume-editor-color/@settings-name-stroke": "Varsayılan kenarlık rengi",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "Varsayılan kenarlık boyutu",
|
||||
"bitmap-copy/@description": "Kostüm düzenleyiciden bir bitmap görüntüsünü sistem panosuna kopyalamanıza izin verir. Böylece görselleri başka sitelerle veya yazılımlarla paylaşabilirsiniz.",
|
||||
"bitmap-copy/@info-norightclick": "\"Sağ tıkla → kopyala\" desteklenmez. Bir bitmap görüntüsü seçiliyken Ctrl + C tuşlarına basmalısınız.",
|
||||
"bitmap-copy/@name": "Bitmap resimleri kopyala",
|
||||
"2d-color-picker/@description": "Kostüm düzenleyicideki doygunluk ve parlaklık kaydırıcılarını 2B renk seçiciyle değiştirir. Tek bir eksendeki değerleri değiştirmek için imleci sürüklerken Shift tuşunu basılı tutun.",
|
||||
"2d-color-picker/@name": "2D renk seçici",
|
||||
"2d-color-picker/@name": "2B renk seçici",
|
||||
"better-img-uploads/@description": "Kalite kaybını önlemek için, yüklenen bitmap görüntüleri otomatik olarak SVG (vektörel) görüntülere dönüştüren \"kostüm yükle\" düğmesinin üzerine yeni bir düğme ekler.",
|
||||
"better-img-uploads/@info-notSuitableEdit": "Resmi yükledikten sonra düzenlemeyi düşünüyorsanız, HD yükle düğmesini kullanmaktan kaçının.",
|
||||
"better-img-uploads/@name": "HD görsel yüklemeleri",
|
||||
@@ -91,6 +99,8 @@
|
||||
"better-img-uploads/@settings-select-fitting-fill": "Sahneyi doldurmak için gerdir",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "Sahneye sığdırmak için küçült",
|
||||
"better-img-uploads/@settings-select-fitting-full": "Orijinal boyut",
|
||||
"pick-colors-from-stage/@description": "Kostüm editöründeki damla aracının da sahneden renkleri seçmesine izin verir.",
|
||||
"pick-colors-from-stage/@name": "Kostüm düzenleyicide sahne renklerini seç",
|
||||
"custom-block-shape/@description": "Blokların dolgusunu, köşe yarıçapını ve çentik yüksekliğini ayarlayın.",
|
||||
"custom-block-shape/@info-paddingWarning": "Dolgu boyutunun küçültülmesi yalnızca sizin tarafınızdan görülebilir. Bu nedenle projeleriniz diğer kullanıcılar tarafından görüntülendiğinde komut dosyalarınız çakışabilir.",
|
||||
"custom-block-shape/@name": "Özelleştirilebilir blok şekli",
|
||||
@@ -105,6 +115,12 @@
|
||||
"custom-block-shape/@settings-name-cornerSize": "Köşe boyutu (%0-300)",
|
||||
"custom-block-shape/@settings-name-notchSize": "Çentik yüksekliği (%0-150)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "Dolgu boyutu (%50-200)",
|
||||
"zebra-striping/@description": "Aynı tür blokların, birbiri içine yerleştirildiğinde açık ve koyu tonlar arasında geçiş yapmasını sağlar. Bu aynı zamanda zebra çizgileri olarak da bilinir.",
|
||||
"zebra-striping/@name": "İç içe olan blok renklerini değiştir",
|
||||
"zebra-striping/@settings-name-intensity": "Yoğunluk (%0-100)",
|
||||
"zebra-striping/@settings-name-shade": "Ton",
|
||||
"zebra-striping/@settings-select-shade-darker": "Daha koyu",
|
||||
"zebra-striping/@settings-select-shade-lighter": "Daha açık",
|
||||
"editor-theme3/@description": "Düzenleyicide her bir kategori için blok renklerini düzenleyin.",
|
||||
"editor-theme3/@name": "Özelleştirilebilir blok renkleri",
|
||||
"editor-theme3/@preset-description-black": "Blok arka planlarını siyah yapar",
|
||||
@@ -116,6 +132,7 @@
|
||||
"editor-theme3/@preset-name-original": "2.0 Renkleri",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 İnce Ayarları",
|
||||
"editor-theme3/@settings-name-Pen-color": "uzantılar",
|
||||
"editor-theme3/@settings-name-comment-color": "Yorumlar",
|
||||
"editor-theme3/@settings-name-control-color": "kontrol",
|
||||
"editor-theme3/@settings-name-custom-color": "özel",
|
||||
"editor-theme3/@settings-name-data-color": "değişkenler",
|
||||
@@ -132,7 +149,7 @@
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "Siyah arka plan üzerine renkli",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "Beyaz arka plan üzerine renkli",
|
||||
"editor-theme3/@settings-select-text-white": "Beyaz",
|
||||
"editor-theme3/@update": "Forumlardaki blokların renklerini değiştirmeye olanak sağlayan yeni ayar.",
|
||||
"editor-theme3/@update": "\"Düzenleyici koyu modu ve özelleştirilebilir renkler\"indeki \"Koyu yorumlar\" ayarı buraya taşındı ve artık özelleştirilebilir.",
|
||||
"custom-block-text/@description": "Bloklardaki metnin kalınlığını değiştirir ve isteğe bağlı olarak bir metin gölgesi ekler.",
|
||||
"custom-block-text/@name": "Özelleştirilebilir blok metin stili",
|
||||
"custom-block-text/@settings-name-bold": "Kalın metin",
|
||||
@@ -146,6 +163,7 @@
|
||||
"editor-buttons-reverse-order/@name": "Ters çevrilmiş proje kontrolleri",
|
||||
"variable-manager/@description": "Editörde \"sesler\" sekmesinin yanına değişken ve listelerinizi kolaylıkla yönetebileceğiniz bir sekme ekler.",
|
||||
"variable-manager/@name": "Değişken yöneticisi",
|
||||
"variable-manager/@update": "Liste ögeleri artık Shift tuşuna basılmadan eklenebilir.",
|
||||
"search-sprites/@description": "Karakterleri ismine göre aramak için kukla bölmesine bir arama kutusu ekler.",
|
||||
"search-sprites/@name": "İsmine göre kukla arama",
|
||||
"gamepad/@description": "Bir USB veya Bluetooth denetleyicisi/oyun kumandası kullanarak projelerle etkileşim kurun.",
|
||||
@@ -253,7 +271,8 @@
|
||||
"no-script-bumping/@name": "Üst üste binen kodları otomatik olarak yana kaydırmama",
|
||||
"disable-stage-drag-select/@description": "Özellikle sürüklenebilir olarak ayarlanmış olanlar dışında, düzenleyicideyken sahnedeki kuklaları sürükleme özelliğini kaldırır. Bir kuklayı normal şekilde taşımak için sürüklerken Shift tuşuna basılı tutun.",
|
||||
"disable-stage-drag-select/@name": "Düzenleyicide sürüklenemeyen kuklalar",
|
||||
"move-to-top-bottom/@description": "Bir kostümü veya sesi listenin üstüne veya altına taşımak için sağ tıklama bağlam menüsü öğesi ekler. Önceden geliştirici araçlarının bir parçasıydı.",
|
||||
"move-to-top-bottom/@description": "Kostümleri ve sesleri, listenin en üstüne ya da en altına taşımak için sağ tıklama bağlam menüsüne seçenekler ekler.",
|
||||
"move-to-top-bottom/@info-developer-tools": "Bu eklenti öncesinde \"geliştirici araçları\" eklentisinin bir parçasıydı ancak artık buraya taşındı.",
|
||||
"move-to-top-bottom/@name": "Kostümü yukarı veya aşağı taşı",
|
||||
"disable-paste-offset/@description": "Çoğaltılan ögeleri kostüm düzenleyicide hafifçe kaydırmak yerine orijinal konumlarına yapıştırın.",
|
||||
"disable-paste-offset/@name": "Yapıştırılan öğeleri kenara kaydırmama",
|
||||
|
||||
@@ -1,3 +1,311 @@
|
||||
{
|
||||
"rename-broadcasts/@name": "重新命名廣播訊息"
|
||||
"cat-blocks/@description": "顯示來自 2020 愚人節的貓貓積木。",
|
||||
"cat-blocks/@info-watch": "「注視游標」會讓貓貓積木的眼睛跟著滑鼠游標移動。",
|
||||
"cat-blocks/@name": "貓積木",
|
||||
"cat-blocks/@settings-name-watch": "注視游標",
|
||||
"editor-devtools/@description": "添加了新的功能到選單:複製/貼上積木、比較好的整理積木…還有更多!使用 Ctrl+空白鍵(macOS 用 Shift+空白鍵)可以把「以名稱添加積木」的功能喚出。",
|
||||
"editor-devtools/@name": "開發者工具",
|
||||
"editor-devtools/@settings-name-enableCleanUpPlus": "增強的「整理積木」功能",
|
||||
"editor-devtools/@settings-name-enablePasteBlocksAtMouse": "在游標停駐處貼上積木",
|
||||
"find-bar/@description": "讓你快速找到程式、造型、音效的查找工具。在你開始查找後,你還可以在程式編輯區裡用 Ctrl+向左鍵、Ctrl+向右鍵來找到上一個、下一個所要查找的內容。",
|
||||
"find-bar/@info-developer-tools": "這個擴充功能之前是在「開發工具」裡,現在移至這兒了!",
|
||||
"find-bar/@name": "查找程式功能",
|
||||
"jump-to-def/@description": "讓你能用滑鼠中鍵或是 Shift+左鍵來快速找到函式的定義。",
|
||||
"jump-to-def/@info-developer-tools": "這個擴充功能之前是在「開發工具」裡,現在移至這兒了!",
|
||||
"jump-to-def/@name": "移至函式定義積木",
|
||||
"editor-searchable-dropdowns/@description": "在積木下拉清單多了一個可搜尋的欄位。",
|
||||
"editor-searchable-dropdowns/@name": "可搜尋的下拉清單",
|
||||
"data-category-tweaks-v2/@description": "讓積木類別中的資料(變量、清單)有更好的分類。",
|
||||
"data-category-tweaks-v2/@name": "更好的資料分類",
|
||||
"data-category-tweaks-v2/@settings-name-moveReportersDown": "將積木移動到創建資料的上方",
|
||||
"data-category-tweaks-v2/@settings-name-separateListCategory": "單獨將清單分類",
|
||||
"data-category-tweaks-v2/@settings-name-separateLocalVariables": "把適用於當前角色的資料分類",
|
||||
"block-palette-icons/@description": "除了以顏色分類積木,在裡面加上類別圖示。",
|
||||
"block-palette-icons/@name": "積木分類圖示",
|
||||
"hide-flyout/@description": "隱藏工具箱,在某些條件下才顯示。顯示的工具箱還可以用圖釘按鈕暫時固定它!",
|
||||
"hide-flyout/@info-hoverExplanation": "「懸停在工具箱上」模式可能會在你拖曳編輯區上的積木時不小心移除,如果你怕出事,可以先試試其它模式。",
|
||||
"hide-flyout/@name": "自動隱藏程式工具箱",
|
||||
"hide-flyout/@settings-name-toggle": "觸發條件",
|
||||
"hide-flyout/@settings-select-speed-default": "預設",
|
||||
"hide-flyout/@settings-select-toggle-category": "點擊類別時",
|
||||
"hide-flyout/@settings-select-toggle-cathover": "懸停在類別上",
|
||||
"hide-flyout/@settings-select-toggle-hover": "懸停在工具箱上",
|
||||
"hide-flyout/@update": "這個擴充功能修正過了,很多已知問題已經修復。",
|
||||
"mediarecorder/@description": "在程式編輯頁上的工具列添加一個「開始錄影」的功能,讓你可以將專案運行的過程錄製下來。",
|
||||
"mediarecorder/@name": "專案視頻錄製",
|
||||
"drag-drop/@description": "讓你可以把檔案直接拖入角色面板區然後直接上傳,當然,你還能將文字文件拖曳到文字輸入框裡。",
|
||||
"drag-drop/@name": "拖曳檔案上傳",
|
||||
"drag-drop/@settings-name-use-hd-upload": "使用高清圖片上傳",
|
||||
"debugger/@name": "偵錯器",
|
||||
"debugger/@settings-name-log_broadcasts": "記錄廣播訊息",
|
||||
"debugger/@settings-name-log_clear_greenflag": "當綠旗被點擊後清除紀錄",
|
||||
"debugger/@settings-name-log_clone_create": "記錄分身創建",
|
||||
"debugger/@settings-name-log_failed_clone_creation": "當分身的創建超過時記錄",
|
||||
"debugger/@settings-name-log_greenflag": "記錄綠旗點擊",
|
||||
"debugger/@update": "偵錯器面板裡的新的「執行緒」與「效能」頁籤。",
|
||||
"pause/@description": "在點擊綠旗按鈕旁添加一個暫停的按鈕。",
|
||||
"pause/@name": "編譯器暫停按鈕",
|
||||
"mute-project/@description": "在你點擊綠旗時同時按住 Ctrl 鍵可以切換靜音模式。",
|
||||
"mute-project/@info-macOS": "在 macOS 上,用 Cmd 鍵代替 Ctrl 鍵。",
|
||||
"mute-project/@name": "專案播放時靜音",
|
||||
"vol-slider/@description": "在綠旗控制項旁添加一個可以調整音量的控制桿。",
|
||||
"vol-slider/@name": "專案音量控制桿",
|
||||
"vol-slider/@settings-name-defVol": "預設音量",
|
||||
"clones/@description": "在舞台上方添加一個計數器,顯示當前建立的分身數量。",
|
||||
"clones/@name": "分身計數器",
|
||||
"clones/@settings-name-showicononly": "只顯示圖標",
|
||||
"mouse-pos/@description": "當鼠標在舞台上移動時,顯示所停駐的座標位置。",
|
||||
"mouse-pos/@name": "鼠標的座標",
|
||||
"color-picker/@description": "在選色器裡添加一個可以直接輸入十六進制色碼的欄位。",
|
||||
"color-picker/@name": "代碼選色器",
|
||||
"remove-sprite-confirm/@description": "當你刪除專案的某個角色前,顯示一個確認的詢問視窗。",
|
||||
"remove-sprite-confirm/@name": "角色刪除確認",
|
||||
"block-count/@description": "在編輯器的工具列上顯示目前專案已使用的程式積木數量。這個擴充功能是之前「角色與程式計數」的一部分。",
|
||||
"block-count/@name": "程式積木計數",
|
||||
"onion-skinning/@description": "當編輯造型時,以半透明的方式顯示上一個或下一個造型,有助於製作動畫。在編輯器下方縮放控制旁有額外的控制按鈕。",
|
||||
"onion-skinning/@name": "動畫描圖紙",
|
||||
"onion-skinning/@settings-name-afterTint": "下個造型要染的顏色",
|
||||
"onion-skinning/@settings-name-beforeTint": "上個造型要染的顏色",
|
||||
"onion-skinning/@settings-name-default": "預設啟用",
|
||||
"onion-skinning/@settings-name-layering": "預設圖層排列",
|
||||
"onion-skinning/@settings-name-mode": "預設顯示模式",
|
||||
"onion-skinning/@settings-name-next": "預設顯示下個造型",
|
||||
"onion-skinning/@settings-name-opacity": "透明度(%)",
|
||||
"onion-skinning/@settings-name-opacityStep": "透明漸進(%)",
|
||||
"onion-skinning/@settings-name-previous": "預設顯示上個造型",
|
||||
"onion-skinning/@settings-select-layering-behind": "在後面",
|
||||
"onion-skinning/@settings-select-layering-front": "在前面",
|
||||
"onion-skinning/@settings-select-mode-merge": "合併",
|
||||
"onion-skinning/@settings-select-mode-tint": "染色",
|
||||
"default-costume-editor-color/@description": "變更在造型編輯器上填滿與外框的預選色彩,以及線條的預設寬度。",
|
||||
"default-costume-editor-color/@name": "自訂造型編輯器上工具預設值",
|
||||
"default-costume-editor-color/@settings-name-fill": "填滿的預設色彩",
|
||||
"default-costume-editor-color/@settings-name-persistence": "切換工具後使用上一個顏色而非預設顏色",
|
||||
"default-costume-editor-color/@settings-name-stroke": "外框的預設色彩",
|
||||
"default-costume-editor-color/@settings-name-strokeSize": "外框的預設寬度",
|
||||
"bitmap-copy/@description": "允許你直接複製繪圖編輯器上的點陣圖,然後貼到其它的網站或是軟體上。",
|
||||
"bitmap-copy/@info-norightclick": "不支援「滑鼠右鍵 → 複製」的方式,請使用 Ctrl + C 的快速鍵。",
|
||||
"bitmap-copy/@name": "點陣圖像複製功能",
|
||||
"2d-color-picker/@description": "用二維選色器取代編輯器中的彩度與亮度控制桿。在拖曳游標的同時按住 Shift 鍵可以只調整直向或橫向的值。",
|
||||
"2d-color-picker/@name": "二維選色器",
|
||||
"better-img-uploads/@description": "在「上傳造型」按鈕的上方添加一個按鈕,可以將上傳的點陣圖自動轉換成向量圖(SVG),以避免丟失質量。",
|
||||
"better-img-uploads/@info-notSuitableEdit": "如果你在上傳圖片還需要編輯,請不要使用高清圖片上傳功能。",
|
||||
"better-img-uploads/@name": "高清圖片上傳",
|
||||
"better-img-uploads/@settings-name-fitting": "圖像尺寸",
|
||||
"better-img-uploads/@settings-select-fitting-fill": "放大以填滿舞台",
|
||||
"better-img-uploads/@settings-select-fitting-fit": "縮小以適應舞台",
|
||||
"better-img-uploads/@settings-select-fitting-full": "原始尺寸",
|
||||
"pick-colors-from-stage/@description": "允許造型或背景編輯器上的揀色工具能夠挑選舞台視窗裡的顏色。",
|
||||
"pick-colors-from-stage/@name": "揀色工具能選到舞台裡的色彩",
|
||||
"custom-block-shape/@description": "調整積木內邊距、圓角、缺口高度。",
|
||||
"custom-block-shape/@info-paddingWarning": "這些設置的效果只有你才看得到,如果是其它使用者觀看你的程式時,可能會有程式重疊的問題。",
|
||||
"custom-block-shape/@name": "自訂程式積木外形",
|
||||
"custom-block-shape/@preset-description-default2": "與 Scratch 2.0 相似的積木外觀",
|
||||
"custom-block-shape/@preset-description-default3": "Scratch 3.0 版所顯示的積木形狀",
|
||||
"custom-block-shape/@preset-description-flat2": "把 Scratch 2.0 的積木去除圓角與缺口",
|
||||
"custom-block-shape/@preset-description-flat3": "把 Scratch 3.0 的積木去除圓角與缺口",
|
||||
"custom-block-shape/@preset-name-default2": "2.0 積木外形",
|
||||
"custom-block-shape/@preset-name-default3": "3.0 積木外形",
|
||||
"custom-block-shape/@preset-name-flat2": "2.0 積木扁平化",
|
||||
"custom-block-shape/@preset-name-flat3": "3.0 積木扁平化",
|
||||
"custom-block-shape/@settings-name-cornerSize": "圓角率(0-300%)",
|
||||
"custom-block-shape/@settings-name-notchSize": "缺口高度(0-150%)",
|
||||
"custom-block-shape/@settings-name-paddingSize": "內邊距(50-200%)",
|
||||
"zebra-striping/@description": "讓控制類程式在巢狀化的時候,能夠替換裡面程式的積木顏色,這樣會比較好辨識(這種高亮語法的方式叫 zebra striping)。",
|
||||
"zebra-striping/@name": "替換巢狀程式顏色",
|
||||
"zebra-striping/@settings-name-intensity": "程式(0-100%)",
|
||||
"zebra-striping/@settings-name-shade": "陰影",
|
||||
"zebra-striping/@settings-select-shade-darker": "變暗",
|
||||
"zebra-striping/@settings-select-shade-lighter": "變亮",
|
||||
"editor-theme3/@description": "修改編輯器上每種積木的色彩。",
|
||||
"editor-theme3/@name": "自訂積木色彩",
|
||||
"editor-theme3/@preset-description-black": "把所有的積木變黑",
|
||||
"editor-theme3/@preset-description-dark": "把原來的積木色彩變暗",
|
||||
"editor-theme3/@preset-description-original": "修改成與 Scratch 2.0 版一樣的積木顔色",
|
||||
"editor-theme3/@preset-description-tweaks": "將事件、控制和函式積木調整成類似 2.0 版的顏色",
|
||||
"editor-theme3/@preset-name-black": "黑色調",
|
||||
"editor-theme3/@preset-name-dark": "暗色調",
|
||||
"editor-theme3/@preset-name-original": "2.0 色調",
|
||||
"editor-theme3/@preset-name-tweaks": "3.0 調整版",
|
||||
"editor-theme3/@settings-name-Pen-color": "擴充功能",
|
||||
"editor-theme3/@settings-name-comment-color": "註解",
|
||||
"editor-theme3/@settings-name-control-color": "控制",
|
||||
"editor-theme3/@settings-name-custom-color": "函式積木",
|
||||
"editor-theme3/@settings-name-data-color": "變數",
|
||||
"editor-theme3/@settings-name-data-lists-color": "清單",
|
||||
"editor-theme3/@settings-name-events-color": "事件",
|
||||
"editor-theme3/@settings-name-input-color": "函式積木輸入欄位",
|
||||
"editor-theme3/@settings-name-looks-color": "外觀",
|
||||
"editor-theme3/@settings-name-motion-color": "動作",
|
||||
"editor-theme3/@settings-name-operators-color": "運算",
|
||||
"editor-theme3/@settings-name-sensing-color": "偵測",
|
||||
"editor-theme3/@settings-name-sounds-color": "音效",
|
||||
"editor-theme3/@settings-name-text": "文字顔色",
|
||||
"editor-theme3/@settings-select-text-black": "黑色",
|
||||
"editor-theme3/@settings-select-text-colorOnBlack": "為文字著色,背景改成黑色",
|
||||
"editor-theme3/@settings-select-text-colorOnWhite": "為文字著色,背景改成白色",
|
||||
"editor-theme3/@settings-select-text-white": "白色",
|
||||
"editor-theme3/@update": "在「編輯器深色模式與自訂色彩」中關於「深色調註解」的設置已移至此處並且可以進一步自訂。",
|
||||
"custom-block-text/@description": "變更文字的粗細度,並可選擇增加陰影效果。",
|
||||
"custom-block-text/@name": "自訂積木文字樣式",
|
||||
"custom-block-text/@settings-name-bold": "粗體字",
|
||||
"custom-block-text/@settings-name-shadow": "文字加陰影",
|
||||
"editor-colored-context-menus/@description": "在程式積木上點擊右鍵會開啟選單,讓開啟的選單有和積木相同的背景顏色。",
|
||||
"editor-colored-context-menus/@name": "讓右鍵選單有顏色",
|
||||
"editor-stage-left/@description": "將舞台區移動到編輯器畫面的左側,就像 Scratch 2.0 那樣。",
|
||||
"editor-stage-left/@info-reverseOrder": "如果要修改專案預覽視窗上的按鈕位置,可以使用另一個擴充功能 - 「對調專案控制項工具的順序」。",
|
||||
"editor-stage-left/@name": "將舞台顯示在編輯器左側",
|
||||
"editor-buttons-reverse-order/@description": "在專案預覽視窗的上方有些按鈕,把右邊的綠旗與停止按鈕,與左邊的顯示模式按鈕對調顯示順序,就像 Scratch 2.0 那樣。",
|
||||
"editor-buttons-reverse-order/@name": "對調專案控制項工具的順序",
|
||||
"variable-manager/@description": "在編輯器的音效頁籤右側添加一個變量與清單的頁籤,讓你更方便的管理它們。",
|
||||
"variable-manager/@name": "變數管理器",
|
||||
"variable-manager/@update": "清單現在不需按住 Shift 鍵就可以插入項目。",
|
||||
"search-sprites/@description": "在角色面板添加一個搜尋欄位,用來查找以名稱查找角色。",
|
||||
"search-sprites/@name": "依名稱搜尋角色",
|
||||
"gamepad/@description": "用 USB 或藍芽控制器(遊戲手柄)與專案互動。",
|
||||
"gamepad/@name": "遊戲手柄支持",
|
||||
"gamepad/@settings-name-hide": "當未偵測到遊戲手柄時隱藏設置按鈕。",
|
||||
"editor-sounds/@description": "在你貼合或刪除積木的時候發出音效。",
|
||||
"editor-sounds/@name": "編輯器音效",
|
||||
"folders/@description": "將文件夾添加到角色面板,造型和音效清單上也可以。要創建資料夾,請在任何物件上點擊右鍵,使用選單中「創建資料夾」功能。建立後,點擊資料夾可以開啟或是關閉它。在其它物件上點右鍵可以指定放進哪個資料夾,也可以用拖曳的方式。",
|
||||
"folders/@info-notice-folders-are-public": "啟用這個功能後,只有你自己看得到資料夾,其他用戶是看不到的。",
|
||||
"folders/@name": "角色資料夾",
|
||||
"block-switching/@description": "在編輯區上用滑鼠右鍵點擊積木,就能選擇相關的積木進行切換。",
|
||||
"block-switching/@name": "程式積木切換",
|
||||
"block-switching/@settings-name-border": "添加分隔線",
|
||||
"block-switching/@settings-name-control": "控制類積木",
|
||||
"block-switching/@settings-name-customargs": "函式積木參數",
|
||||
"block-switching/@settings-name-customargsmode": "要顯示的函式參數",
|
||||
"block-switching/@settings-name-data": "資料類積木",
|
||||
"block-switching/@settings-name-event": "事件類積木",
|
||||
"block-switching/@settings-name-extension": "擴展類積木",
|
||||
"block-switching/@settings-name-looks": "外觀類積木",
|
||||
"block-switching/@settings-name-motion": "動作類積木",
|
||||
"block-switching/@settings-name-noop": "能切換的積木中包含自己",
|
||||
"block-switching/@settings-name-operator": "運算類積木",
|
||||
"block-switching/@settings-name-sensing": "偵測類積木",
|
||||
"block-switching/@settings-name-sound": "音效類積木",
|
||||
"block-switching/@settings-select-customargsmode-all": "全部函式用到的參數",
|
||||
"block-switching/@settings-select-customargsmode-defOnly": "函式本身的參數",
|
||||
"load-extensions/@description": "在新建專案時自動添加音樂、畫筆或其它的擴展到編輯器上。",
|
||||
"load-extensions/@name": "自動添加擴展應用",
|
||||
"load-extensions/@settings-name-music": "音樂",
|
||||
"load-extensions/@settings-name-pen": "畫筆",
|
||||
"load-extensions/@settings-name-text2speech": "文字轉語音",
|
||||
"load-extensions/@settings-name-translate": "翻譯",
|
||||
"custom-zoom/@description": "自訂縮小、放大的閾值、速度還有初始的縮放率,還可以設定是否顯示縮放控制項。",
|
||||
"custom-zoom/@name": "自訂程式編輯區的縮放率",
|
||||
"custom-zoom/@settings-name-autohide": "自動隱藏縮放控制項",
|
||||
"custom-zoom/@settings-name-maxZoom": "最大可放大到(100-500%)",
|
||||
"custom-zoom/@settings-name-minZoom": "最小可縮小到(1-100%)",
|
||||
"custom-zoom/@settings-name-speed": "自動隱藏動畫持續時間",
|
||||
"custom-zoom/@settings-name-startZoom": "初始的縮放率(50-500%)",
|
||||
"custom-zoom/@settings-name-zoomSpeed": "縮放速度(50-200%)",
|
||||
"custom-zoom/@settings-select-speed-default": "預設",
|
||||
"custom-zoom/@settings-select-speed-long": "較長",
|
||||
"custom-zoom/@settings-select-speed-none": "無",
|
||||
"custom-zoom/@settings-select-speed-short": "較短",
|
||||
"initialise-sprite-position/@description": "更改新的角色的初始 x/y 座標。",
|
||||
"initialise-sprite-position/@name": "自訂新建角色位置",
|
||||
"initialise-sprite-position/@settings-name-duplicate": "複製角色時的行為",
|
||||
"initialise-sprite-position/@settings-name-library": "角色庫的角色位置隨機",
|
||||
"initialise-sprite-position/@settings-name-x": "X 座標",
|
||||
"initialise-sprite-position/@settings-name-y": "Y 座標",
|
||||
"initialise-sprite-position/@settings-select-duplicate-custom": "移至指定的座標位置",
|
||||
"initialise-sprite-position/@settings-select-duplicate-keep": "與原來的角色位置一致",
|
||||
"initialise-sprite-position/@settings-select-duplicate-randomize": "隨機位置",
|
||||
"blocks2image/@description": "在程式編輯區上點擊滑鼠右鍵,可以把指定的積木匯出成 SVG/PNG 圖像。",
|
||||
"blocks2image/@name": "保存積木為圖像",
|
||||
"remove-curved-stage-border/@description": "拿掉舞台四周的圓角修飾,讓你能看見舞台的四個角。",
|
||||
"remove-curved-stage-border/@name": "移除舞台邊緣圓角",
|
||||
"transparent-orphans/@description": "調整編輯器中積木的透明度,可以為單一塊積木或是正在拖曳的積木個別設定透明值。",
|
||||
"transparent-orphans/@name": "積木透明度",
|
||||
"transparent-orphans/@settings-name-block": "程式區塊透明度(%)",
|
||||
"transparent-orphans/@settings-name-dragged": "正在拖曳的積木透明度(%)",
|
||||
"transparent-orphans/@settings-name-orphan": "單一積木透明度(%)",
|
||||
"paint-by-default/@description": "選個角色/選個造型/選個背景/選個音效這些大按鈕預設都是從範例庫中選擇,改成其他操作,像是畫個造型、畫個背景…",
|
||||
"paint-by-default/@name": "更改「選個xx」按鈕的預設操作",
|
||||
"paint-by-default/@settings-name-backdrop": "添加背景",
|
||||
"paint-by-default/@settings-name-costume": "添加造型",
|
||||
"paint-by-default/@settings-name-sound": "添加音效",
|
||||
"paint-by-default/@settings-name-sprite": "添加角色",
|
||||
"paint-by-default/@settings-select-backdrop-library": "範例庫",
|
||||
"paint-by-default/@settings-select-backdrop-paint": "繪畫",
|
||||
"paint-by-default/@settings-select-backdrop-surprise": "驚喜",
|
||||
"paint-by-default/@settings-select-backdrop-upload": "上傳",
|
||||
"paint-by-default/@settings-select-costume-library": "範例庫",
|
||||
"paint-by-default/@settings-select-costume-paint": "繪畫",
|
||||
"paint-by-default/@settings-select-costume-surprise": "驚喜",
|
||||
"paint-by-default/@settings-select-costume-upload": "上傳",
|
||||
"paint-by-default/@settings-select-sound-library": "範例庫",
|
||||
"paint-by-default/@settings-select-sound-record": "錄製",
|
||||
"paint-by-default/@settings-select-sound-surprise": "驚喜",
|
||||
"paint-by-default/@settings-select-sound-upload": "上傳",
|
||||
"paint-by-default/@settings-select-sprite-library": "範例庫",
|
||||
"paint-by-default/@settings-select-sprite-paint": "繪畫",
|
||||
"paint-by-default/@settings-select-sprite-surprise": "驚喜",
|
||||
"paint-by-default/@settings-select-sprite-upload": "上傳",
|
||||
"block-cherry-picking/@description": "讓你可以按住 Ctrl 鍵把單個積木從程式區塊裡拖曳出來(原來會拖曳出黏在後面的所有積木)。",
|
||||
"block-cherry-picking/@info-flipControls": "如果啟用「功能反轉」,那麼拖曳單個積木就會變成預設動作,按住 Ctrl 則會變成拖曳整個程式區塊。",
|
||||
"block-cherry-picking/@info-macContextDisabled": "在 macOS 上,用 Cmd 鍵代替 Ctrl 鍵。",
|
||||
"block-cherry-picking/@name": "按住 Ctrl 鍵拖曳單個程式積木",
|
||||
"block-cherry-picking/@settings-name-invertDrag": "功能反轉",
|
||||
"hide-new-variables/@description": "建立新的變數後,不要自動在舞台上顯示變數面板(清單也適用)。",
|
||||
"hide-new-variables/@name": "隱藏新的變數面板",
|
||||
"editor-extra-keys/@description": "在「()鍵被按下?」與「當()鍵被按下」積木添加額外的按鈕,像是 Enter 鍵、英文句點、英文逗點…等。",
|
||||
"editor-extra-keys/@info-experimentalKeysWarn": "「實驗中按鍵」包含等號、斜槓號、分號等。它們可能不適用於所有操作系統或是鍵盤佈局。",
|
||||
"editor-extra-keys/@info-shiftKeysWarn": "「Shift 按鍵」通常是結合鍵,像是 Shift+數字鍵,像是井字符號、感嘆號等。這些按鍵僅適用於「當()鍵被按下」積木,而且也不一定能在所有操作系統或鍵盤佈局上使用。",
|
||||
"editor-extra-keys/@name": "支援額外的按鍵",
|
||||
"editor-extra-keys/@settings-name-experimentalKeys": "啟用實驗中按鍵",
|
||||
"editor-extra-keys/@settings-name-shiftKeys": "啟用 Shift 按鍵",
|
||||
"hide-delete-button/@description": "隱藏角色、造型、音效上的刪除按鈕(垃圾桶圖示)。如果要刪除,要在項目上點擊滑鼠右鍵,使用選單上的刪除功能。",
|
||||
"hide-delete-button/@name": "隱藏刪除按鈕",
|
||||
"hide-delete-button/@settings-name-costumes": "造型與背景",
|
||||
"hide-delete-button/@settings-name-sounds": "音效",
|
||||
"hide-delete-button/@settings-name-sprites": "角色",
|
||||
"no-script-bumping/@description": "讓你在移動或修改程式時,不會因為一時的程式重疊導致程式原來的位置被亂改變。",
|
||||
"no-script-bumping/@name": "停止自動分開重疊的程式",
|
||||
"disable-stage-drag-select/@description": "移除原來在編輯器上可以任意拖曳舞台上的角色的功能。除非設定該角色為可拖曳,或是你可以按住 Shift 鍵加以拖曳。",
|
||||
"disable-stage-drag-select/@name": "編輯器內不可拖曳角色",
|
||||
"move-to-top-bottom/@description": "在造型或是音效項目右鍵開啟選單時,會有移至最上面、移至最下面的選項。",
|
||||
"move-to-top-bottom/@info-developer-tools": "這個擴充功能之前是在「開發工具」裡,現在移至這兒了!",
|
||||
"move-to-top-bottom/@name": "移至最上面或最下面",
|
||||
"disable-paste-offset/@description": "在造型編輯器上使用複製貼上功能時,在原位置貼上,不要向右下偏移。",
|
||||
"disable-paste-offset/@name": "複製圖案時不要偏移",
|
||||
"block-duplicate/@description": "透過按住 Alt 按鍵與拖曳程式積木,能讓你更快的複製整個程式區塊。加上 Ctrl 鍵則可以複製出你停駐的單個積木。",
|
||||
"block-duplicate/@info-mac": "macOS 上使用 Option 按鍵代替 Alt 鍵,Command 鍵取代 Ctrl 鍵。",
|
||||
"block-duplicate/@name": "按住 Alt 鍵以複製積木",
|
||||
"rename-broadcasts/@name": "重新命名廣播訊息",
|
||||
"swap-local-global/@description": "在本來的重新命名變數或清單的面板上添加了更多功能:在「適用於所有角色」和「僅適用當前角色」之間轉換。也可以用滑鼠右鍵點擊變數,在功能表中直接轉換。",
|
||||
"swap-local-global/@name": "在「適用於所有角色」和「僅適用當前角色」之間轉換",
|
||||
"editor-comment-previews/@description": "當你把游標停駐在積木或者摺疊的註解上,能夠馬上預覽到註解的內容。當連接的註解離積木太遠,或是很多註解需要摺疊時,這會很有用。",
|
||||
"editor-comment-previews/@name": "預覽註解",
|
||||
"editor-comment-previews/@settings-name-delay": "延遲時間",
|
||||
"editor-comment-previews/@settings-name-follow-mouse": "跟隨滑鼠游標",
|
||||
"editor-comment-previews/@settings-name-hover-view": "停駐在已摺疊註解時預覽內容",
|
||||
"editor-comment-previews/@settings-name-hover-view-block": "停駐在已連接註解的積木上時預覽註解內容",
|
||||
"editor-comment-previews/@settings-name-hover-view-procedure": "停駐在函式積木上時顯示定義的註解內容",
|
||||
"editor-comment-previews/@settings-name-reduce-animation": "減少彈出動畫",
|
||||
"editor-comment-previews/@settings-name-reduce-transparency": "減少透明度",
|
||||
"editor-comment-previews/@settings-select-delay-long": "較長",
|
||||
"editor-comment-previews/@settings-select-delay-none": "無",
|
||||
"editor-comment-previews/@settings-select-delay-short": "較短",
|
||||
"columns/@description": "把工具箱的積木分類改成兩列顯示,並把面板放置在編輯器頂部,就像 Scratch 2.0 版那樣。",
|
||||
"columns/@name": "兩列式積木選單",
|
||||
"script-snap/@description": "在程式編輯區上拖曳程式時,會自動與畫面的網格貼齊。",
|
||||
"script-snap/@name": "程式積木貼齊網格",
|
||||
"script-snap/@preset-name-default": "預設",
|
||||
"script-snap/@preset-name-half-block": "半個積木",
|
||||
"script-snap/@preset-name-whole-block": "整個積木",
|
||||
"script-snap/@settings-name-grid": "格點間距(像素)",
|
||||
"fullscreen/@description": "修復了一些全屏顯示模式下的一些問題,讓全屏時同時讓瀏覽器也以全屏展開,且可以選擇隱藏綠旗等工具列。",
|
||||
"fullscreen/@info-hideToolbarNotice": "如果你啟用全屏時隱藏工具列,你可以用 ESC 鍵來退出全屏模式。",
|
||||
"fullscreen/@name": "增強全屏",
|
||||
"fullscreen/@settings-name-browserFullscreen": "全屏模式時同時讓瀏覽器進入全屏",
|
||||
"fullscreen/@settings-name-hideToolbar": "全屏模式時隱藏工具列",
|
||||
"hide-stage/@description": "在專案預覽視窗上添加一個按鈕,用來隱藏舞台和角色面板,按鈕按鈕後能讓編輯區的空間變大。",
|
||||
"hide-stage/@name": "添加隱藏舞台與角色面板按鈕",
|
||||
"editor-stepping/@description": "專案運行時,以顏色高亮正在執行的程式積木。",
|
||||
"editor-stepping/@name": "高亮執行中的程式",
|
||||
"editor-stepping/@settings-name-highlight-color": "高亮顏色"
|
||||
}
|
||||
@@ -1,52 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "an unterste Stelle verschieben",
|
||||
"editor-devtools/clean-plus": "Blöcke aufräumen +",
|
||||
"editor-devtools/code-tab-features": "Code-Tab-Funktionen",
|
||||
"editor-devtools/copy-all": "Alle Kopieren",
|
||||
"editor-devtools/copy-block": "Kopieren",
|
||||
"editor-devtools/copy-to-clipboard": "In Zwischenablage kopieren",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Wenn mit der rechten Maustaste auf einen Block geklickt wird, stehen 3 neue Optionen zur Verfügung: Alle Kopieren, Block Kopieren und Block Ausschneiden. Die Option Alles Kopieren kopiert alles einschließlich die Blöcke unterhalb des angeklickten Blockes in die Zwischenablage. Block Kopieren kopiert nur den angeklickten Block und seinen Inhalt, sonst nichts, was sich darunter befindet. Block Ausschneiden kopiert ihn und entfernt ihn aus dem Arbeitsbereich.",
|
||||
"editor-devtools/costume-tab-features": "Kostüm-Tab Funktionen",
|
||||
"editor-devtools/ctrl-lr": "Strg + Links, Strg + Rechts",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Diese Tasten navigieren dich zum vorherigen/nächsten Kostüm in der Figur.",
|
||||
"editor-devtools/ctrl-lr-desc": "Navigiere im Codebereich zur vorherigen / nächsten besuchten Position (nach Verwendung der zum-Block-navigieren oder Suchleiste). Auf diese Weise kann mit einem Mittelklick auf einen Benutzerdefinierten Block zu seiner Definition gesprungen und danach mit Strg + Links zur Stelle, an der man sich zuvor befunden hat, zurückgekehrt werden.",
|
||||
"editor-devtools/ctrl-space": "Strg + Leertaste, Mittelklick oder Umschalt + Klick",
|
||||
"editor-devtools/ctrl-space-desc": "Erstellt ein Pop-up, in dem du den Namen eines Blocks (oder nur Teile davon) eingeben kannst, um den Block dann von dort aus in deinem Code verwenden zu können. Halt während dem Ziehen die Umschalttaste gedrückt, um das EIngabefeld geöffnet zu lassen.",
|
||||
"editor-devtools/cut-block": "Ausschneiden",
|
||||
"editor-devtools/deep": "Tief",
|
||||
"editor-devtools/find": "Finden",
|
||||
"editor-devtools/find-bar": "Suchleiste",
|
||||
"editor-devtools/find-bar-costume-desc": "Klicke, um alle Kostüme nach Namen aufzulisten und gib etwas ein, um eines zu finden. Wähle mit den Pfeiltasten oder der Maus einen Namen, um direkt zu diesem Kostüm zu gelangen.",
|
||||
"editor-devtools/find-placeholder": "Finden (Strg + F)",
|
||||
"editor-devtools/help": "Hilfe",
|
||||
"editor-devtools/help-make-space": "Platz machen",
|
||||
"editor-devtools/help-make-space-desc": "Mache mehr Platz um ein Skript, indem du mit der rechten Maustaste auf einen Codestapel klickst und \"Platz machen\" auswählst.",
|
||||
"editor-devtools/help-new": "★Neu★",
|
||||
"editor-devtools/help-title": "Scratch 3-Entwicklertools",
|
||||
"editor-devtools/improved-tidy-up": "Verbessertes Aufräumen von Blöcken",
|
||||
"editor-devtools/improved-tidy-up-desc": "Klicke mit der rechten Maustaste auf das Skriptfenster, um das Menü aufzurufen, und die Option zum Aufräumen der Blöcke wird durch die Option Blöcke aufräumen + ersetzt worden sein. Wenn diese Option angeklickt wird, bleiben Skriptspalten erhalten, es wird versucht, die Kommentare richtig auszurichten und alle verwaisten Variablen usw. zu entfernen.",
|
||||
"editor-devtools/insert": "Einfügen",
|
||||
"editor-devtools/interactive-find-bar": "Interaktive Suchleiste (Strg + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Finde und springe schnell zu jedem Benutzerdefinierten Block, jeder Variable, jedem Ereignis- oder Startblock, der in einer Figur definiert ist, indem du auf die neue Suchleiste rechts neben den Skripte-, Kostüme- und Klänge-Tabs klickst. Beginne mit der Eingabe, um die Liste herunterzufiltern. Verwende die Pfeiltasten oben und unten, um zwischen den möglichen Einträgen zu wechseln, und die Pfeile links und rechts, um zwischen allen gefundenen Instanzen dieses Blocks zu wechseln.",
|
||||
"editor-devtools/lists": "Listen",
|
||||
"editor-devtools/make-space": "Platz machen",
|
||||
"editor-devtools/middleclick": "Gehe Zu",
|
||||
"editor-devtools/middleclick-desc": "Bei Benutzung der mittleren Maustaste oder Umschalt + Klick auf einer Variable oder einem Benutzerdefinierten Block springt man zu seiner Definition oder öffnet ihn in der interaktiven Suchleiste.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Entwicklertools: 1 alleinstehenden Variablenblock löschen?} other {Entwicklertools: # alleinstehende Variablenblöcke löschen?} }",
|
||||
"editor-devtools/paste": "Einfügen",
|
||||
"editor-devtools/paste-from-clipboard": "Aus Zwischenablage einfügen",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Fügt von der Zwischenablage ein, aber an der Stelle, an der sich der Mauszeiger befindet, damit du es dann platzieren kannst (und nicht wie bei der aktuellen Scratch-Implementierung an der Stelle vom kopierten Block).",
|
||||
"editor-devtools/replace": "Entwicklertools: Alle {name} in dieser Figur austauschen mit der Variable namens:",
|
||||
"editor-devtools/start-typing": "Beginne mit der Eingabe...",
|
||||
"editor-devtools/swap": "{var} in dieser Figur austauschen",
|
||||
"editor-devtools/swap-variable": "Variable in Figur austauschen",
|
||||
"editor-devtools/swap-variable-desc": "Klicke mit der rechten Maustaste auf eine Variable in den Skripten für diese neue Option. Mit ihr kannst du alle Verweise auf diese Variable in der aktuellen Figur auf einmal auf eine andere Variable umtauschen. Eignet sich hervorragend, wenn ein Fehler gemacht wurde und von einer Variable zu einer anderen gewechselt werden soll oder um von \"Für alle Figuren\" zu \"Nur für diese Figur\" zu wechseln. Diese Option wird die alte Variable nicht entfernen und wird keine Variablen in anderen Figuren beeinflussen.",
|
||||
"editor-devtools/top": "an oberste Stelle verschieben",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Entwicklertools: 1 unbenutzte lokale Liste entfernen? Hier ist sie:\n} other {Entwicklertools: # unbenutzte lokale Listen entfernen? Hier sind sie:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Entwicklertools: 1 unbenutzte lokale Variable löschen? Hier ist sie:\n} other {Entwicklertools: # unbenutzte lokale Variablen löschen? Hier sind sie:\n} }",
|
||||
"editor-devtools/var-not-exist": "Diese Variable existiert nicht...",
|
||||
"editor-devtools/variables": "Variablen",
|
||||
"editor-devtools/youtube": "YouTube-Tutorials",
|
||||
"find-bar/find": "Finden",
|
||||
"find-bar/find-placeholder": "Finden (Strg+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Nachricht „{name}“ erstellen",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Liste „{name}“ für alle Figuren erstellen",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Variable „{name}“ für alle Figuren erstellen",
|
||||
@@ -128,6 +98,7 @@
|
||||
"gamepad/axis-none": "Keine",
|
||||
"gamepad/browser-support": "Dieser Browser und dieses Betriebssystem haben bekannte Bugs, die die Verwendung dieses Addons erschweren könnten. Versuche einen anderen Browser, falls du auf Probleme stößt.",
|
||||
"gamepad/button-n": "Knopf {n}",
|
||||
"gamepad/clear": "Alle Steuerungen löschen",
|
||||
"gamepad/config-header": "Dieser Kommentar enthält die Konfiguration für Gamepad-Steuerung in Tools von Drittanbietern oder Websites wie https://turbowarp.org/\nNicht eigenhändig bearbeiten",
|
||||
"gamepad/key-click": "Klicken",
|
||||
"gamepad/key-down": "Unten",
|
||||
@@ -138,6 +109,7 @@
|
||||
"gamepad/key-up": "Oben",
|
||||
"gamepad/keyinput-title": "Klicke und drücke eine Taste oder klicke, um Knopf zu wechseln. Drücke Esc zum abbrechen. Löschen oder Entf zum Löschen.",
|
||||
"gamepad/no-controllers": "Keine Controller gefunden. Schließe einen an und drücke einen der Knöpfe.",
|
||||
"gamepad/reset": "Alle Steuerungen zu Projektstandards zurücksetzen",
|
||||
"gamepad/settings": "Gamepad-Einstellungen",
|
||||
"gamepad/store-in-project": "Speichere diese Einstellungen im Projekt, um die Standardkonfiguration zu ersetzen (Experimentelles Werkzeug für Projektentwickler)",
|
||||
"folders/add-to-folder": "zu Ordner \"{folder}\" hinzufügen",
|
||||
@@ -225,6 +197,9 @@
|
||||
"editor-extra-keys/enter-key": "Enter",
|
||||
"move-to-top-bottom/bottom": "an letzte Stelle verschieben",
|
||||
"move-to-top-bottom/top": "an erste Stelle verschieben",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "Nachricht umbenennen",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "Nachricht umbenennen",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "Alle \"{name}\"-Nachrichten umbenennen nach:",
|
||||
"swap-local-global/cant-convert-cloud": "Cloudvariablen können nicht in nur für diese Figur umgewandelt werden.",
|
||||
"swap-local-global/cant-convert-conflict": "Konnte nicht umwandeln, weil Konflikte mit Variablen in einer anderen Figur auftreten würden: {sprites}",
|
||||
"swap-local-global/cant-convert-stage": "Die Bühne kann nicht Variablen nur für diese Figur haben.",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "send to bottom",
|
||||
"editor-devtools/clean-plus": "Clean up Blocks +",
|
||||
"editor-devtools/code-tab-features": "Code Tab Features",
|
||||
"editor-devtools/copy-all": "Copy All",
|
||||
"editor-devtools/copy-block": "Copy Block",
|
||||
"editor-devtools/copy-to-clipboard": "Copy to Clipboard",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Right click a block and 3 new options are available to Copy All, Copy Block, and Cut Block. The Copy All will copy to the clipboard everything including and below the block you clicked on. Copy block will only copy the current block and its contents, but nothing below. And cut block will copy it and remove it from the code area.",
|
||||
"editor-devtools/costume-tab-features": "Costumes Tab Features",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Left, Ctrl + Right",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "These keys navigate you to the previous / next costume in the sprite.",
|
||||
"editor-devtools/ctrl-lr-desc": "Navigate to previous / next visited position in the code area (after using the navigate to block or find bar). This allows you to middle click a custom block to go to its definition, then press ctrl + Left to go back to where you were before.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Space, Middle Click, or Shift + Click",
|
||||
"editor-devtools/ctrl-space-desc": "Pops up a floating input box where you can type the name of a block (or parts of it) and drag the block into the code to make use of it right there. Hold Shift while dragging to avoid closing the box when adding multiple blocks at once.",
|
||||
"editor-devtools/cut-block": "Cut Block",
|
||||
"editor-devtools/deep": "Deep",
|
||||
"editor-devtools/find": "Find",
|
||||
"editor-devtools/find-bar": "Find Bar",
|
||||
"editor-devtools/find-bar-costume-desc": "Click to list all costumes by name, and type to locate one. Use the arrow keys or mouse to click a name to jump straight to that costume.",
|
||||
"editor-devtools/find-placeholder": "Find (Ctrl+F)",
|
||||
"editor-devtools/help": "Help",
|
||||
"editor-devtools/help-make-space": "Make Space",
|
||||
"editor-devtools/help-make-space-desc": "Make extra space around a script by right clicking on the script and choosing \"Make Space\".",
|
||||
"editor-devtools/help-new": "★New★",
|
||||
"editor-devtools/help-title": "Scratch 3 Developer Tools",
|
||||
"editor-devtools/improved-tidy-up": "Improved Code Clean Up",
|
||||
"editor-devtools/improved-tidy-up-desc": "Right click on the code area to pop up the menu and the Clean up Blocks option will have been replaced by a Clean up Blocks + option. Use this to tidy your scripts and it will preserve your scripts columns as well as attempt to align the comments and remove all those orphaned variables, etc.",
|
||||
"editor-devtools/insert": "Insert",
|
||||
"editor-devtools/interactive-find-bar": "Interactive Find Bar (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Quickly find and jump to any Custom Block, Variable, Event, or Hat block defined in a sprite by clicking on the new find bar located to the right of the Code, Costumes and Sounds tabs. Begin typing to filter down the list. Use the up and down arrow keys to switch between the possible entries, and the left and right arrows to cycle between all found instances of that block.",
|
||||
"editor-devtools/lists": "lists",
|
||||
"editor-devtools/make-space": "Make Space",
|
||||
"editor-devtools/middleclick": "Jump To",
|
||||
"editor-devtools/middleclick-desc": "Using the middle mouse button or Shift + Click on a variable or custom block allows you to jump to its definition or open it in the interactive find bar.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Developer tools: Delete 1 orphaned reporter block?} other {Developer tools: Delete # orphaned reporter blocks?} }",
|
||||
"editor-devtools/paste": "Paste",
|
||||
"editor-devtools/paste-from-clipboard": "Paste from Clipboard",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Pastes from the clipboard, but importantly pastes it where your mouse cursor is so you can then place it (rather than placing it where you copied it from like the current scratch implementation).",
|
||||
"editor-devtools/replace": "Developer tools: Switch all {name} in this sprite for the variable named:",
|
||||
"editor-devtools/start-typing": "Start Typing...",
|
||||
"editor-devtools/swap": "Swap {var} in Sprite",
|
||||
"editor-devtools/swap-variable": "Swap Variable in Sprite",
|
||||
"editor-devtools/swap-variable-desc": "Right click a variable in your scripts for this new option. It allows you to switch all references to this variable in the current sprite all in one go to another variable. This is great for when you made a mistake and want to switch from one variable to another or need to change from a 'for all sprites' to a 'for this sprite only'. This option will not remove the old variable and will not affect any other sprites variables.",
|
||||
"editor-devtools/top": "send to top",
|
||||
"editor-devtools/tutorials": "Tutorials",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Developer tools: Delete 1 unused local list? Here it is:\n} other {Developer tools: Delete # unused local lists? Here they are:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Developer tools: Delete 1 unused local variable? Here it is:\n} other {Developer tools: Delete # unused local variables? Here they are:\n} }",
|
||||
"editor-devtools/var-not-exist": "That variable does not exist...",
|
||||
"editor-devtools/variables": "variables",
|
||||
"editor-devtools/youtube": "YouTube tutorials",
|
||||
"find-bar/find": "Find",
|
||||
"find-bar/find-placeholder": "Find (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Create message \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Create list \"{name}\" for all sprites",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Create variable \"{name}\" for all sprites",
|
||||
|
||||
@@ -1,52 +1,21 @@
|
||||
{
|
||||
"editor-devtools/bottom": "enviar abajo",
|
||||
"editor-devtools/clean-plus": "Ordenar Bloques +",
|
||||
"editor-devtools/code-tab-features": "Funciones de la Pestaña de Código",
|
||||
"editor-devtools/copy-all": "Copiar Todos",
|
||||
"editor-devtools/copy-block": "Copiar Bloque",
|
||||
"editor-devtools/copy-to-clipboard": "Copiar al Portapapeles",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Haga click derecho a un bloque y 3 nuevas opciones estarán disponisbles: Copiar Todos, Copiar Bloque y Cortar Bloque. El botón Copiar Todos copiará todo incluido abajo del bloque que clickeaste. Copiar Bloque solo copiará el bloque actual y sus contenidos, pero nada de abajo. Cortar Bloque lo copiará y lo eliminará del área de código.",
|
||||
"editor-devtools/costume-tab-features": "Funciones de la Pestaña de Disfraces",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Izquierda, Ctrl + Derecha",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Estas flechas le permiten navegar al anterior o próximo disfraz del objeto.",
|
||||
"editor-devtools/ctrl-lr-desc": "Navegue a la posición siguiente o anterior del área de código (luego de usar la función \"navegar a bloque\" o la barra de búsqueda). Esto le permite hacer click medio en un bloque propio para ir a su definición, luego presione Ctrl + Izquierda para volver donde estaba antes.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Espacio, Click medio o Shift + Click",
|
||||
"editor-devtools/ctrl-space-desc": "Pone una ventana flotante donde puedes escribir el nombre de un bloque (o partes de él) y arrastrar el bloque al código para usarlo allí. Deje apretado Shift mientras arrastra para evitar cerrar la ventana al agregar muchos bloques al mismo tiempo.",
|
||||
"editor-devtools/cut-block": "Cortar Bloque",
|
||||
"editor-devtools/deep": "Profundo",
|
||||
"editor-devtools/find": "Buscar",
|
||||
"editor-devtools/find-bar": "Barra de Búsqueda",
|
||||
"editor-devtools/find-bar-costume-desc": "Haga click para listar todos los disfraces por nombre, y escriba para encontrar uno solo. Use las flechas o el ratón para clickear un nombre e ir directamente a ese disfraz.",
|
||||
"editor-devtools/find-placeholder": "Buscar (Ctrl+F)",
|
||||
"editor-devtools/help": "Ayuda",
|
||||
"editor-devtools/help-make-space": "Hacer Espacio",
|
||||
"editor-devtools/help-make-space-desc": "Haga espacio extra alrededor de un script haciéndole click derecho y eligiendo \"Hacer Espacio\".",
|
||||
"editor-devtools/help-new": "★Nuevo★",
|
||||
"editor-devtools/help-title": "Herramientas de Desarrollador de Scratch 3",
|
||||
"editor-devtools/improved-tidy-up": "Ordenado de Bloques Mejorado",
|
||||
"editor-devtools/improved-tidy-up-desc": "Haga click derecho en el área de código para mostrar el menú y la opción de ordenar bloques será reemplazada por una opción de \"Ordenar Bloques +\". Use esto para ordenar sus scripts, preservando las columnas como también intentando alinear los comentarios y quitar todas las variables huérfanas, etc.",
|
||||
"editor-devtools/insert": "Insertar",
|
||||
"editor-devtools/interactive-find-bar": "Barra de Búsqueda Interactiva (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Rápidamente busque y salte a cualquier bloque propio, variable, evento o bloque sombrero definido en un objeto clickeando en la nueva barra de búsqueda ubicada a la derecha de las pestañas de Código, Disfraces y Sonidos. Empiece a escribir para filtrar la lista. Use las teclas arriba y abajo para cambiar entre las posibles entradas y las flechas izquierda y derecha para revisar cada resultado de ese bloque.",
|
||||
"editor-devtools/lists": "listas",
|
||||
"editor-devtools/make-space": "Hacer Espacio",
|
||||
"editor-devtools/middleclick": "Saltar a",
|
||||
"editor-devtools/middleclick-desc": "Usando el botón del medio del ratón o Shift + Click en una variable o bloque propio, puedes saltar a su definición o abrirlo en la barra de búsqueda interactiva.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Herramientas de desarrollador: ¿borrar 1 bloque reportero huérfano?} many {Herramientas de desarrollador: ¿borrar # bloques reporteros huérfanos?} other {Herramientas de desarrollador: ¿borrar # bloques reporteros huérfanos?} }",
|
||||
"editor-devtools/paste": "Pegar",
|
||||
"editor-devtools/paste-from-clipboard": "Pegar del Portapapeles",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Pega del portapapeles, pero lo pega donde está su cursor del ratón para que puedas posicionarlo (en vez de ponerlo donde lo copió, como la implementación actual de Scratch).",
|
||||
"editor-devtools/replace": "Herramientas de desarrollador: cambiar todos los {name} en este objeto por la variable llamada:",
|
||||
"editor-devtools/start-typing": "Empiece a escribir...",
|
||||
"editor-devtools/swap": "Intercambiar Variable {var} en Objeto",
|
||||
"editor-devtools/swap-variable": "Intercambiar Variable en Objeto",
|
||||
"editor-devtools/swap-variable-desc": "Haga click derecho a una variable en la parte de código para esta nueva opción. Te permite intercambiar todas las referencias a esta variable en el objeto actual a otra variable. Esto es bueno para cuando cometió un error y quiere cambiar todas las referencias a una variable a otra o tiene que cambiar \"para todos los objetos\" a \"solo para este objeto\". Esta opción no quitará la variable antigua y no afectará las variables de otros objetos.",
|
||||
"editor-devtools/top": "enviar arriba",
|
||||
"editor-devtools/tutorials": "Tutoriales",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Herramientas de desarrollador: ¿borrar 1 lista local sin usar? Esta es:\n} many {Herramientas de desarrollador: ¿borrar # listas locales sin usar? Estas son:\n} other {Herramientas de desarrollador: ¿borrar # listas locales sin usar? Estas son:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Herramientas de desarrollador: ¿borrar 1 variable local sin usar? Estas son:\n} many {Herramientas de desarrollador: ¿borrar # variables locales sin usar? Estas son:\n} other {Herramientas de desarrollador: ¿borrar # variables locales sin usar? Estas son:\n} }",
|
||||
"editor-devtools/var-not-exist": "Esa variable no existe..",
|
||||
"editor-devtools/youtube": "Tutoriales en YouTube",
|
||||
"find-bar/find": "Buscar",
|
||||
"find-bar/find-placeholder": "Buscar (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Crear mensaje \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Crear lista \"{name}\" para todos los objetos",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Crear variable \"{name}\" para todos los objetos",
|
||||
@@ -126,6 +95,7 @@
|
||||
"gamepad/axis-none": "Ninguno",
|
||||
"gamepad/browser-support": "Este navegador y sistema operativo tienen bugs conocidos que pueden causar que este addon sea difícil de usar. Pruebe otro navegador si encuentra problemas.",
|
||||
"gamepad/button-n": "Botón {n}",
|
||||
"gamepad/clear": "Borrar todos los controles",
|
||||
"gamepad/config-header": "Este comentario contiene configuración de soporte de mando de videojuegos para herramientas de terceros o páginas web como https://turbowarp.org/\nNo editar a mano",
|
||||
"gamepad/key-down": "Abajo",
|
||||
"gamepad/key-left": "Izquierda",
|
||||
@@ -135,6 +105,7 @@
|
||||
"gamepad/key-up": "Arriba",
|
||||
"gamepad/keyinput-title": "Haga click y presione una tecla para cambiar el botón. Esc para cancelar. Retroceso o Suprimir para borrar.",
|
||||
"gamepad/no-controllers": "No se detectó ningún mando. Intente conectar uno y presionar cualquier botón de él.",
|
||||
"gamepad/reset": "Restablecer todos los controles a los predeterminados del proyecto",
|
||||
"gamepad/settings": "Ajustes del Mando",
|
||||
"gamepad/store-in-project": "Guardar estos ajustes en el proyecto para reemplazar la configuración por defecto (herramienta experimental para creadores de proyectos)",
|
||||
"folders/add-to-folder": "agregar a carpeta: {folder}",
|
||||
|
||||
@@ -1,57 +1,26 @@
|
||||
{
|
||||
"editor-devtools/bottom": "envoyer en bas",
|
||||
"editor-devtools/clean-plus": "Nettoyer les blocs +",
|
||||
"editor-devtools/code-tab-features": "Fonctionnalités De l'Onglet de Code",
|
||||
"editor-devtools/copy-all": "Tout Copier",
|
||||
"editor-devtools/copy-block": "Copier Le Bloc",
|
||||
"editor-devtools/copy-to-clipboard": "Copier dans le Presse-Papiers",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Faites un clic droit sur un bloc et 3 nouvelles options seront disponibles : Copier tout, Copier le Bloc et Couper le Bloc. Le bouton Copier Tout copiera le bloc entier dans le presse-papiers, comprenant les blocs intégrés dans celui-ci et ceux accrochés au dessous. Copier le Bloc copiera uniquement le bloc ainsi que les blocs intégrés dans celui-ci, mais aucun en dessous. Couper le Bloc copiera le bloc et le supprimera ensuite de l'espace de travail.",
|
||||
"editor-devtools/costume-tab-features": "Fonctionnalités De l'Onglet Des Costumes",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Gauche, Ctrl + Droite",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Ces touches vous font naviguer au précédent/prochain costume dans le sprite.",
|
||||
"editor-devtools/ctrl-lr-desc": "Naviguer à la précédente/prochaine position visitée dans la fenêtre de code (après avoir utilisé aller au bloc ou la barre de recherche). Cela vous permet d'effectuer un clic du milieu sur un bloc personnalisé pour aller à sa définition, puis d'appuyer sur Ctrl+Gauche pour revenir là où vous étiez juste avant.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Espace, Clic mollete ou Maj + Clic",
|
||||
"editor-devtools/ctrl-space-desc": "Affiche une boîte de texte dans laquelle vous pouvez taper le nom d'un bloc (ou une partie de celui-ci) et glisser le bloc dans votre code pour l'utiliser directement.",
|
||||
"editor-devtools/cut-block": "Couper le bloc",
|
||||
"editor-devtools/deep": "Profond",
|
||||
"editor-devtools/find": "Chercher",
|
||||
"editor-devtools/find-bar": "Barre De Recherche",
|
||||
"editor-devtools/find-bar-costume-desc": "Cliquez pour lister tous les costumes par nom, et écrivez son nom pour le trouver. Utilisez les flèches ou la souris pour cliquer sur le nom et aller directement au costume.",
|
||||
"editor-devtools/find-placeholder": "Chercher (Ctrl + F)",
|
||||
"editor-devtools/help": "Aide",
|
||||
"editor-devtools/help-make-space": "Espacer",
|
||||
"editor-devtools/help-make-space-desc": "Ajoute de l'espace supplémentaire autour d'un script en faisant un clic droit sur le script et en choisissant \"Espacer\".",
|
||||
"editor-devtools/help-new": "★ Nouveau ★",
|
||||
"editor-devtools/help-title": "Outils de Développement pour Scratch 3",
|
||||
"editor-devtools/improved-tidy-up": "Nettoyage Des Blocs Amélioré",
|
||||
"editor-devtools/improved-tidy-up-desc": "Faites un clic droit dans la zone des scripts pour afficher le menu, où l'option \"Nettoyer les blocs\" aura été remplacée par l'option \"Nettoyer les blocs +\" . Utilisez-la pour ranger vos scripts tout en conservant vos colonnes de scripts et tentera d'aligner les commentaires et de supprimer toutes les variables non utilisées, etc.",
|
||||
"editor-devtools/insert": "Insérer",
|
||||
"editor-devtools/interactive-find-bar": "Barre De Recherche Interactive (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Trouvez rapidement n'importe quel bloc personnalisé, variable, événement ou bloc chapeau défini dans un sprite en cliquant sur la nouvelle barre de recherche à droite des onglets code, costumes et son. Commencez par écrire pour filtrer la liste le plus possible. Utilisez les flèches haut et bas pour changer entre les différentes possibilités, et utilisez les flèches gauche et droite pour trouver chaque copie de ce bloc dans votre code.",
|
||||
"editor-devtools/lists": "listes",
|
||||
"editor-devtools/make-space": "Espacer",
|
||||
"editor-devtools/middleclick": "Sauter Vers",
|
||||
"editor-devtools/middleclick-desc": "Utiliser le clic mollete sur une variable ou un bloc personnalisé vous permet d'aller directement à sa définition ou l'ouvre dans la barre de recherche interactive.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Outils développeur : Supprimer 1 bloc de valeur seul ?} many {Outils développeur : Supprimer les # blocs de valeur seuls ?} other {Outils développeur : Supprimer les # blocs de valeur seuls ?} }",
|
||||
"editor-devtools/paste": "Coller",
|
||||
"editor-devtools/paste-from-clipboard": "Coller à partir du presse-papiers",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Colle depuis le presse-papiers, mais surtout le colle où votre souris se situe pour pouvoir le placer (meilleur que le placer là où vous l'avez copié, système actuellement implémenté dans Scratch)",
|
||||
"editor-devtools/replace": "Outils développeur : Remplacer toutes les utilisations de la variable {name} dans ce sprite par la variable nommée :",
|
||||
"editor-devtools/start-typing": "Commencez à écrire...",
|
||||
"editor-devtools/swap": "Remplacer la variable \"{var}\" dans le sprite",
|
||||
"editor-devtools/swap-variable": "Echanger des Variables dans un Sprite",
|
||||
"editor-devtools/swap-variable-desc": "Faites un clic droit sur une variable dans votre code pour cette nouvelle option. Elle vous permet d'échanger toutes les références à cette variable dans le sprite actuel d'un seul coup vers une autre variable. C'est idéal lorsque vous avez fait une erreur et que vous voulez échanger d'une variable à une autre ou que vous voulez changer de \"pour tous les sprites\" à \"pour ce sprite uniquement\". Cette option ne supprimera pas l'ancienne variable et n'affectera aucun autre variable du sprite.",
|
||||
"editor-devtools/top": "envoyer en haut",
|
||||
"editor-devtools/tutorials": "Tutoriels",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Outils développeur : Supprimer 1 liste locale inutilisée ? La voici :\n} many {Outils développeur : Supprimer # listes locales inutilisées ? Les voici :\n} other {Outils développeur : Supprimer # listes locales inutilisées ? Les voici :\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Outils développeur : Supprimer 1 variable locale inutilisée ? Là voilà :\n} many {Outils développeur : Supprimer les # variables locales inutilisées ? Les voici :\n} other {Outils développeur : Supprimer les # variables locales inutilisées ? Les voici :\n} }",
|
||||
"editor-devtools/var-not-exist": "Cette variable n'existe pas...",
|
||||
"editor-devtools/youtube": "Tutoriels YouTube",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Créer le message \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Créer la liste \"{name}\" pour tous les sprites",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Créer la variable \"{name}\" pour tous les sprites",
|
||||
"editor-searchable-dropdowns/createLocalList": "Créer la liste \"{name}\" pour ce sprite uniquement",
|
||||
"editor-searchable-dropdowns/createLocalVariable": "Créer la variable \"{name}\" pour ce sprite uniquement",
|
||||
"find-bar/find": "Rechercher",
|
||||
"find-bar/find-placeholder": "Rechercher (Ctrl + F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Créer un message nommé \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Créer une liste \"{name}\" pour tous les sprites",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Créer une variable \"{name}\" pour tous les sprites",
|
||||
"editor-searchable-dropdowns/createLocalList": "Créer une liste \"{name}\" pour ce sprite uniquement",
|
||||
"editor-searchable-dropdowns/createLocalVariable": "Créer une variable \"{name}\" pour ce sprite uniquement",
|
||||
"data-category-tweaks-v2/for-all-sprites": "Pour tous les sprites :",
|
||||
"data-category-tweaks-v2/for-this-sprite-only": "Pour ce sprite uniquement :",
|
||||
"data-category-tweaks-v2/list-category": "Listes",
|
||||
@@ -129,6 +98,7 @@
|
||||
"gamepad/axis-none": "Aucun",
|
||||
"gamepad/browser-support": "Ce navigateur et ce système d'exploitation ont des bugs connus qui peuvent rendre cet addon difficile à utiliser. Essayez un autre navigateur si vous rencontrez des problèmes.",
|
||||
"gamepad/button-n": "Bouton {n}",
|
||||
"gamepad/clear": "Effacer tous les contrôles",
|
||||
"gamepad/config-header": "Ce commentaire contient la configuration pour le support de la manette dans d'autres outils et sites web, tels que https://turbowarp.org/\nNe le modifiez pas à la main",
|
||||
"gamepad/key-click": "Clic",
|
||||
"gamepad/key-down": "Bas",
|
||||
@@ -140,6 +110,7 @@
|
||||
"gamepad/key-up": "Haut",
|
||||
"gamepad/keyinput-title": "Cliquez et appuyez sur une touche ou cliquez pour modifier le bouton. Échap pour annuler. Retour arrière ou supprimer pour effacer.",
|
||||
"gamepad/no-controllers": "Aucuns contrôleurs détectés. Essayez d'en brancher un et d'appuyer sur un bouton.",
|
||||
"gamepad/reset": "Réinitialiser tous les contrôles aux paramètres par défaut du projet",
|
||||
"gamepad/settings": "Paramètres de la manette",
|
||||
"gamepad/store-in-project": "Stockez ces paramètres dans le projet pour remplacer la configuration par défaut (Outil expérimental pour les créateurs de projets)",
|
||||
"folders/add-to-folder": "ajouter au dossier : {folder}",
|
||||
@@ -228,6 +199,9 @@
|
||||
"editor-extra-keys/enter-key": "entrée",
|
||||
"move-to-top-bottom/bottom": "Déplacé en bas",
|
||||
"move-to-top-bottom/top": "Déplacé en haut",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "Renommer le message",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "Renommer le message",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "Renommer tous les messages \"{name}\" en :",
|
||||
"swap-local-global/cant-convert-cloud": "Les variables cloud ne peuvent pas être converties uniquement dans ce sprite.",
|
||||
"swap-local-global/cant-convert-conflict": "Impossible d'effectuer la conversion car cela entrerait en conflit avec les variables d'un autre sprite : {sprites}",
|
||||
"swap-local-global/cant-convert-stage": "La scène ne peut pas avoir de variables uniquement pour ce sprite.",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "küldés alulra",
|
||||
"editor-devtools/clean-plus": "Rendrakás +",
|
||||
"editor-devtools/code-tab-features": "Kód Sáv Funkciók",
|
||||
"editor-devtools/copy-all": "Minden Másolása",
|
||||
"editor-devtools/copy-block": "Blokk Másolása",
|
||||
"editor-devtools/copy-to-clipboard": "Másolás a Vágólapra",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Kattints jobb egérgombbal egy blokkra és 3 új opció lesz elérhető, ezek a Minden Másolása, Blokk Másolása és a Blokk Kivágása. A Minden Másolása opció vágólapra másolja a blokkot és az alatta elhelyezkedő többi blokkot is. A Blokk Másolása csak a jelenlegi blokkot fogja másolni, alóla semmit. A blokk kivágása pedig kimásolja, majd eltávolvítja a blokkot a kód mezőből.",
|
||||
"editor-devtools/costume-tab-features": "Jelmezek Fül Funkciók",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Bal, Ctrl + Jobb",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Ezek a gombok az előző / következő jelmezhez navigálnak az adott szereplőben.",
|
||||
"editor-devtools/ctrl-lr-desc": "Navigálás előző / következő látogatott pozícióhoz a kód mezőben (miután használtad a navigálás blokkhoz funkciót vagy a keresőmezőt). Lehetővé teszi, hogy középső egérgombbal rákattints egy saját blokkra és a definíciójához ugorj, ezt követően a ctrl + balra nyíllal visszatérhetsz oda, ahol korábban voltál.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Szóköz, Középső egérgomb, vagy Shift + Kattintás",
|
||||
"editor-devtools/ctrl-space-desc": "Megjelenít egy lebegő gépelő ablakot, ahova beírhatod egy blokknak a nevét (vagy részleteket belőle) és behúzhatod a blokkot a kódba, hogy ott hasznát vehesd. Ha egyszerre több blokkot akarsz hozzáadni, a Shift nyomvatartásával nyitvatarthatod az ablakot.",
|
||||
"editor-devtools/cut-block": "Blokk Kivágása",
|
||||
"editor-devtools/deep": "Mély",
|
||||
"editor-devtools/find": "Keresés",
|
||||
"editor-devtools/find-bar": "Keresőmező",
|
||||
"editor-devtools/find-bar-costume-desc": "Kattints minden jelmez rendezéséhez név szerint, majd gépelj, hogy kereshess. Használd a nyilakat vagy kattints az egérrel, hogy válassz egy jelmezt, amelyhez odaugrasz.",
|
||||
"editor-devtools/find-placeholder": "Keresés (Ctrl+F)",
|
||||
"editor-devtools/help": "Súgó",
|
||||
"editor-devtools/help-make-space": "Csinálj Helyet",
|
||||
"editor-devtools/help-make-space-desc": "Csinálj extra helyet az adott kód körül, azzal hogy jobb kattintasz rá és a \"Csinálj Helyet\" opciót választod.",
|
||||
"editor-devtools/help-new": "★Új★",
|
||||
"editor-devtools/help-title": "Scratch 3 Fejlesztői Eszközök",
|
||||
"editor-devtools/improved-tidy-up": "Fejlesztett Kód Rendrakás",
|
||||
"editor-devtools/improved-tidy-up-desc": "Jobb kattints a kódoló területre, hogy megjelenítsd a menüt és a Rendrakás opció helyén egy Rendrakás + opciót fogsz találni. Használd ezt, hogy feltakaríts a kódok között az oszlopokat is figyelembe véve, illetve mozgatva a kommenteket és eltávolítva az összes kódon kívüli változót, stb.",
|
||||
"editor-devtools/insert": "Beszúrás",
|
||||
"editor-devtools/interactive-find-bar": "Interaktív Keresőmező (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Találj meg és ugorj gyorsan bármely Egyéni Blokkhoz, Változóhoz, Üzenethez, vagy Felső blokkhoz egy szereplőben, azzal hogy rákattintasz az új keresőmezőre, amely a Kód, Jelmezek és Hangok fülektől jobbra található. Kezdj el gépelni, hogy leszűrd a listát. Használd a fel és a le nyilakat, hogy váltogass a lehetséges opciók közt, illetve a balra és jobbra nyilakat, hogy válts a blokk összes talált előfordulási helye közt.",
|
||||
"editor-devtools/lists": "listák",
|
||||
"editor-devtools/make-space": "Csinálj Helyet",
|
||||
"editor-devtools/middleclick": "Ugorj a definícióhoz",
|
||||
"editor-devtools/middleclick-desc": "A középső egérgomb, vagy a Shift gomb használata mellett változók, vagy saját blokkokra történő kattintás esetén lehetővé teszi, hogy rögtön odaugorj a definiáláshoz, vagy megnyissad az interaktív keresőmezőt.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Fejlesztői eszközök: Törölni szeretnél 1 kódon kívüli értékadó blokkot?} other {Fejlesztői eszközök: Törölni szeretnél # kódon kívüli értékadó blokkot?} }",
|
||||
"editor-devtools/paste": "Beillesztés",
|
||||
"editor-devtools/paste-from-clipboard": "Másolás a Vágólapról",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Bemásolja a vágólapról a lemásolt blokkokat, de fontos, hogy oda másolja, ahol a kurzorod éppen van, szóval te helyezheted el (a helyett, hogy ugyanoda tenné, mint a jelenlegi scratch implementáció).",
|
||||
"editor-devtools/replace": "Fejlesztői eszközök: Lecserélsz minden {name} változót ebben a szereplőben egy másik változóra, amit úgy hívnak:",
|
||||
"editor-devtools/start-typing": "Kezdj Gépelni...",
|
||||
"editor-devtools/swap": "{var} cserélye a Szereplőben",
|
||||
"editor-devtools/swap-variable": "Változó Cseréje a Szereplőben",
|
||||
"editor-devtools/swap-variable-desc": "Jobb kattints egy változóra a kódjaidban ezért az új opcióért. Megengedi, hogy egyszerre kicserélj minden hivatkozást az adott változóra a jelenlegi szereplőben egy másik változóra. Ez akkor jó, amikor hibát követsz el és át kell válts egy másik változóra egy szereplőben vagy váltanod kell a 'Minden szereplőé'-ről 'A kiválasztott szereplőé'-re. Ez az opció nem fogja eltávolítani az eredeti változót és más szereplők változóit sem cseréli le.",
|
||||
"editor-devtools/top": "küldés felülre",
|
||||
"editor-devtools/tutorials": "Tutorialok",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Fejlesztői eszközök: Törölni szeretnél 1 nem használt helyi listát? Itt van:\n} other {Fejlesztői eszközök: Törölni szeretnél # nem használt heliy listát? Itt vannak:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Fejlesztői eszközök: Törölni szeretnél 1 nem használt helyi változót? Itt van:\n} other {Fejlesztői eszközök: Törölni szeretnél # nem használt helyi változót? Itt vannak:\n} }",
|
||||
"editor-devtools/var-not-exist": "Ez a változó nem létezik...",
|
||||
"editor-devtools/variables": "változók",
|
||||
"editor-devtools/youtube": "YouTube tutorialok",
|
||||
"find-bar/find": "Keresés",
|
||||
"find-bar/find-placeholder": "Keresés (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "\"{name}\" üzenet létrehozása",
|
||||
"editor-searchable-dropdowns/createGlobalList": "\"{name}\" lista létrehozása minden szereplőnek",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "\"{name}\" változó létrehozása minden szereplőnek",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "sposta in ultima posizione",
|
||||
"editor-devtools/clean-plus": "Riordina i Blocchi (+)",
|
||||
"editor-devtools/code-tab-features": "Funzioni Scheda Codice",
|
||||
"editor-devtools/copy-all": "Copia Tutti",
|
||||
"editor-devtools/copy-block": "Copia il Blocco",
|
||||
"editor-devtools/copy-to-clipboard": "Copia negli Appunti",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Il clic destro su un blocco rende disponibili 3 nuove opzioni Copia Tutti, Copia un Blocco e Taglia un Blocco. Copia Tutti copierà negli appunti il blocco e tutti i blocchi sotto di esso. Copia Blocco copierà solo il blocco corrente e i blocchi in esso contenuti. Taglia Blocco invece lo copierà e lo rimuoverà al contempo dall'area degli script.",
|
||||
"editor-devtools/costume-tab-features": "Funzioni nella Scheda dei Costumi",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Destra, Ctrl + Sinistro",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Usa questi tasti per navigare al costume precedente/seguente nello sprite.",
|
||||
"editor-devtools/ctrl-lr-desc": "Naviga alla posizione visitata precedentemente/successivamente nell'area degli script (dopo aver usato la funzione naviga al blocco o la barra di ricerca). Questo ti permette di fare clic centralmente su un blocco personalizzato per andare alla sua definizione e di tornare poi dove eri prima premendo Ctrl + Sinistra.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Spazio, Pulsante Centrale o Shift + Click",
|
||||
"editor-devtools/ctrl-space-desc": "Fa comparire una casella dove puoi inserire il nome del blocco (o parte del nome) e trascinare poi direttamente nel codice il blocco trovato. Tieni premuto Shift mentre lo trascini per evitare di chiudere la casella nel caso tu voglia aggiungere più blocchi.",
|
||||
"editor-devtools/cut-block": "Taglia il Blocco",
|
||||
"editor-devtools/deep": "Profondo",
|
||||
"editor-devtools/find": "Trova",
|
||||
"editor-devtools/find-bar": "Barra di Ricerca",
|
||||
"editor-devtools/find-bar-costume-desc": "Clicca per vedere l'elenco di tutti i costumi ordinato per nome, e inserisci il nome per trovarne uno. Usa le frecce o il mouse per cliccare un nome e andare direttamente a quel costume.",
|
||||
"editor-devtools/find-placeholder": "Trova (Ctrl + F)",
|
||||
"editor-devtools/help": "Aiuto",
|
||||
"editor-devtools/help-make-space": "Fai Spazio",
|
||||
"editor-devtools/help-make-space-desc": "Crea spazio maggiore attorno ad uno script cliccandolo con il tasto destro e selezionando \"Fai Spazio\"",
|
||||
"editor-devtools/help-new": "★Nuovo★",
|
||||
"editor-devtools/help-title": "Strumenti per Sviluppatori di Scratch 3",
|
||||
"editor-devtools/improved-tidy-up": "Funzione migliorata di Riordino degli Script ",
|
||||
"editor-devtools/improved-tidy-up-desc": "Clicca con il tasto destro nell'area degli script per far comparire il menu e l'opzione Riordina i Blocchi sarà stata rimpiazzata dall'opzione Riordina i blocchi (+). Puoi usarla per riordinare gli script preservando le colonne in cui li hai disposti ma anche per provare ad allineare i commenti e per rimuovere le variabili inutilizzate, ecc.",
|
||||
"editor-devtools/insert": "Inserisci",
|
||||
"editor-devtools/interactive-find-bar": "Barra di Ricerca Interattiva (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Trova e passa rapidamente a qualunque Blocco Personalizzato, Variabile, Evento o Cappello definito in uno sprite cliccando la nuova barra di ricerca che trovi a destra delle schede Codice, Costumi e Suoni. Usa le frecce su e giù per scorrere le opzioni e le frecce destra e sinistra per spostarti da un'istanza all'altra del blocco.",
|
||||
"editor-devtools/lists": "liste",
|
||||
"editor-devtools/make-space": "Fai Spazio",
|
||||
"editor-devtools/middleclick": "Vai a",
|
||||
"editor-devtools/middleclick-desc": "L'uso del pulsante centrale del mouse o di Shift+Click su una variabile o su un blocco personalizzato permette di passare alla sua definizione o di aprirlo nella barra di ricerca interattiva.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Strumenti per sviluppatori: Rimuovere 1 blocco monitor non collegato agli script?} many {Strumenti per sviluppatori: Rimuovere # blocchi monitor non collegati agli script?} other {Strumenti per sviluppatori: Rimuovere # blocchi monitor non collegati agli script?} }",
|
||||
"editor-devtools/paste": "Incolla",
|
||||
"editor-devtools/paste-from-clipboard": "Incolla dagli Appunti",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Incolla dagli appunti nel punto in cui si trova il cursore del mouse in modo che tu possa posizionare i blocchi in quel punto (invece di posizionarli nel punto da cui li hai copiati, come accade normalmente in Scratch).",
|
||||
"editor-devtools/replace": "Strumenti per sviluppatori: Scambia tutti le occorrenze della variabile {name} in questo sprite con la variabile:",
|
||||
"editor-devtools/start-typing": "Inizia a Scrivere...",
|
||||
"editor-devtools/swap": "Scambia {var} nello Sprite",
|
||||
"editor-devtools/swap-variable": "Sostituisci Variabile nello Sprite",
|
||||
"editor-devtools/swap-variable-desc": "Clic destro su una variabile nei tuoi script. Ti permette di sostituire tutti i riferimenti a questa variabile nello sprite attuale con un'altra variabile. Questo è utile per quando fai un errore e vuoi passare da una variabile a un'altra o se hai bisogno di passare da 'Per tutti gli sprite' a 'Solo per questo sprite' o viceversa. La variabile vecchia non verrà rimossa.",
|
||||
"editor-devtools/top": "porta in prima posizione",
|
||||
"editor-devtools/tutorials": "Tutorial",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Strumenti per sviluppatori: Rimuovere 1 lista locale inutilizzata? Eccola qui:\n} many {Strumenti per sviluppatori: Rimuovere # liste locali inutilizzate? Eccole qui:\n} other {Strumenti per sviluppatori: Rimuovere # liste locali inutilizzate? Eccole qui:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Strumenti per sviluppatori: Rimuovere 1 variabile locale inutilizzata? Eccola qui:\n} many {Strumenti per sviluppatori: Rimuovere # variabili locali inutilizzate? Eccole qui:\n} other {Strumenti per sviluppatori: Rimuovere # variabili locali inutilizzate? Eccole qui:\n} }",
|
||||
"editor-devtools/var-not-exist": "Questa variabile non esiste...",
|
||||
"editor-devtools/variables": "variabili",
|
||||
"editor-devtools/youtube": "Tutorial YouTube",
|
||||
"find-bar/find": "Cerca",
|
||||
"find-bar/find-placeholder": "Cerca (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Crea il messaggio \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Crea la lista \"{name}\" per tutti gli sprite",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Crea la variabile \"{name}\" per tutti gli sprite.",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "一番下に移動",
|
||||
"editor-devtools/clean-plus": "きれいにする +",
|
||||
"editor-devtools/code-tab-features": "コードタブの機能",
|
||||
"editor-devtools/copy-all": "すべてコピー",
|
||||
"editor-devtools/copy-block": "ブロックをコピー",
|
||||
"editor-devtools/copy-to-clipboard": "クリップボードにコピー",
|
||||
"editor-devtools/copy-to-clipboard-desc": "右クリックメニューに「すべてコピー」「ブロックをコピー」「ブロックを切り取り」を追加する。「すべてコピー」で選択したブロックとそれ以下のブロックをコピー。「ブロックをコピー」で選択したブロックをコピー。「ブロックを切り取り」で、ブロックをコピーして削除。",
|
||||
"editor-devtools/costume-tab-features": "コスチュームタブの機能",
|
||||
"editor-devtools/ctrl-lr": "Ctrl+左右キー",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "スプライトのコスチュームを前のコスチューム・次のコスチュームにする。",
|
||||
"editor-devtools/ctrl-lr-desc": "中ボタンクリックや検索バーを使用後、使用前の場所に移動する。これで、中ボタンクリックで定義ブロックを確認し、すぐに戻ることができる。",
|
||||
"editor-devtools/ctrl-space": "Ctrl+スペース・中ボタンクリック・Shiftクリック",
|
||||
"editor-devtools/ctrl-space-desc": "表示される入力欄にブロックの名前を入力してドラッグすると、ブロックを追加できる。Shiftキーを押しながらドラッグすると、画面を閉じずに複数のブロックを追加できる。",
|
||||
"editor-devtools/cut-block": "ブロックを切り取り",
|
||||
"editor-devtools/deep": "再帰的に検索",
|
||||
"editor-devtools/find": "検索",
|
||||
"editor-devtools/find-bar": "検索バー",
|
||||
"editor-devtools/find-bar-costume-desc": "クリックしてコスチューム一覧を表示し、入力して絞り込む。矢印キーやマウスでクリックしてコスチュームを選択する。",
|
||||
"editor-devtools/find-placeholder": "検索 (Ctrl+F)",
|
||||
"editor-devtools/help": "ヘルプ",
|
||||
"editor-devtools/help-make-space": "スペースを確保",
|
||||
"editor-devtools/help-make-space-desc": "スクリプトを右クリックして「スペースを確保」を押して、スクリプトの周りにスペースを確保する。",
|
||||
"editor-devtools/help-new": "新機能!",
|
||||
"editor-devtools/help-title": "Scratch 3 開発者ツール",
|
||||
"editor-devtools/improved-tidy-up": "「きれいにする」改善",
|
||||
"editor-devtools/improved-tidy-up-desc": "コードエリアを右クリックしたときに表示されるコンテキストメニューの「きれいにする」を「きれいにする +」で置き換える。スクリプトやコメントを整列させ、未使用の変数を削除する。",
|
||||
"editor-devtools/insert": "挿入",
|
||||
"editor-devtools/interactive-find-bar": "検索バー (Ctrl+F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "タブの横の検索バーをクリックし、スプライト内の定義ブロック、変数、イベント、ハットブロックに移動する。入力し、上下キーでブロックの種類を選び、左右キーでブロックを選ぶ。",
|
||||
"editor-devtools/lists": "リスト",
|
||||
"editor-devtools/make-space": "スペースを確保",
|
||||
"editor-devtools/middleclick": "定義へ移動",
|
||||
"editor-devtools/middleclick-desc": "中ボタンクリックかShiftクリックで、定義ブロックに移動したり検索バーを開く。",
|
||||
"editor-devtools/orphaned": "{count, plural, other {開発者ツール: 未使用の値ブロックを # 個見つけました。削除しますか?} }",
|
||||
"editor-devtools/paste": "貼り付け",
|
||||
"editor-devtools/paste-from-clipboard": "クリップボードを貼り付け",
|
||||
"editor-devtools/paste-from-clipboard-desc": "クリップボードの中身をマウスの位置に貼り付け。",
|
||||
"editor-devtools/replace": "開発者ツール: このスプライト内の変数{name}をすべて置き換える:",
|
||||
"editor-devtools/start-typing": "入力してください...",
|
||||
"editor-devtools/swap": "スプライト内の{var}を一括切り替え",
|
||||
"editor-devtools/swap-variable": "スプライト内の変数を入れ替え",
|
||||
"editor-devtools/swap-variable-desc": "変数を右クリックし、スプライト内のすべての変数を別の変数に置き換える。古い変数は削除せず、他のスプライトは変更しない。",
|
||||
"editor-devtools/top": "一番上に移動",
|
||||
"editor-devtools/tutorials": "チュートリアル",
|
||||
"editor-devtools/unused-list": "{count, plural, other {開発者ツール: 未使用のこのスプライトのみのリストを # 個見つけました。削除しますか? 以下が一覧です:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, other {開発者ツール: 未使用のこのスプライトのみの変数を # 個見つけました。削除しますか? 以下が一覧です:\n} }",
|
||||
"editor-devtools/var-not-exist": "その変数は存在しません。",
|
||||
"editor-devtools/variables": "変数",
|
||||
"editor-devtools/youtube": "YouTubeチュートリアル",
|
||||
"find-bar/find": "検索",
|
||||
"find-bar/find-placeholder": "検索 (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "メッセージ「{name}」を作成",
|
||||
"editor-searchable-dropdowns/createGlobalList": "すべてのスプライト用のリスト「{name}」を作成",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "すべてのスプライト用の変数「{name}」を作成",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "아래로 보내기",
|
||||
"editor-devtools/clean-plus": "블럭 정리하기 +",
|
||||
"editor-devtools/code-tab-features": "코드 탭 기능",
|
||||
"editor-devtools/copy-all": "모두 복사하기",
|
||||
"editor-devtools/copy-block": "블럭 복사하기",
|
||||
"editor-devtools/copy-to-clipboard": "클립보드에 추가하기",
|
||||
"editor-devtools/copy-to-clipboard-desc": "블록은 우클릭하면 모두 복사하기, 블록 복사하기, 블록 잘라내기라는 세 설정이 있습니다. 모두 복사하기는 블록의 아래에 있는 블록까지 포함해 모두 복사합니다. 블록 복사하기는 현재 블록과 그 내용만 복사합니다. 블록 잘라내기는 복사 후 코드 영역에서 제거됩니다.",
|
||||
"editor-devtools/costume-tab-features": "모양 탭 기능",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + 좌클릭, Ctrl +우클릭",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "이런 키는 스프라이트의 이전/다음 모양으로 이동합니다.",
|
||||
"editor-devtools/ctrl-lr-desc": "블록이나 탐색창으로 이동한 후 코드 영역의 이전/다음 위치로 이동합니다. 이렇게 하면 사용자 지정 블록을 마우스 휠 단추로 클릭하여 함수의 정의로 이동할 수 있고, Ctrl + 왼쪽 화살표을 눌러 이전 위치로 돌아갈 수 있습니다.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Space, 휠클릭, Shift + Click",
|
||||
"editor-devtools/ctrl-space-desc": "블록 이름(또는 블록 일부)을 입력하고 해당 블록을 코드로 드래그해 바로 사용할 수 있는 입력 상자를 엽니다. 드래그하는 동안 Shift를 눌러 많은 블록들을 한번에 눌러 박스가 닫히는 것을 방지하세요.",
|
||||
"editor-devtools/cut-block": "블럭 잘라내기",
|
||||
"editor-devtools/deep": "깊은",
|
||||
"editor-devtools/find": "검색",
|
||||
"editor-devtools/find-bar": "검색창",
|
||||
"editor-devtools/find-bar-costume-desc": "모든 모양을 이름별로 나열하려면 클릭하고 이름을 입력하여 찾습니다. 화살표 키 또는 마우스를 사용하여 이름을 클릭하면 해당 모양으로 바로 이동할 수 있습니다.",
|
||||
"editor-devtools/find-placeholder": "검색 (Ctrl + F)",
|
||||
"editor-devtools/help": "도움말",
|
||||
"editor-devtools/help-make-space": "여백 만들기",
|
||||
"editor-devtools/help-make-space-desc": "스크립트를 우클릭 후 \"여백 만들기\"버튼을 골라 스크립트 주위에 여백의 공간을 생성합니다",
|
||||
"editor-devtools/help-new": "★새 기능★",
|
||||
"editor-devtools/help-title": "스크래치 3 개발자 도구",
|
||||
"editor-devtools/improved-tidy-up": "개선된 코드 정리",
|
||||
"editor-devtools/improved-tidy-up-desc": "코드 영역에서 우클릭 메뉴를 열면 블럭 정리하기 설정이 블록 정리하기 +로 변경되어 있을 것입니다. 이것을 이용해 스크립트를 정리하고 코드의 열을 보존하며, 주석을 스크립트와 맞추고 사용되지 않는 변수를 제거합니다.",
|
||||
"editor-devtools/insert": "삽입",
|
||||
"editor-devtools/interactive-find-bar": "대화형 탐색 표시줄(Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "코드, 모양, 소리 탭의 오른쪽에 검색창을 클릭해 스프라이트의 사용자 지정 블록, 변수, 이벤트 또는 모자 블록을 빠르게 찾아 이동합니다. 위쪽 및 아래쪽 화살표 키를 사용하여 가능한 항목 사이를 전환하고 왼쪽 및 오른쪽 화살표를 사용하여 해당 블록의 검색 결과를 전환합니다.",
|
||||
"editor-devtools/lists": "리스트",
|
||||
"editor-devtools/make-space": "여백 만들기",
|
||||
"editor-devtools/middleclick": "넘어가기:",
|
||||
"editor-devtools/middleclick-desc": "휠버튼이나 Shift + 클릭을 이용해 변수 또는 사용자 지정 블록을 정의로 이동하거나 반응형 검색창에서 열 수 있습니다.",
|
||||
"editor-devtools/orphaned": "{count, plural, other {개발자 도구: #개의 사용하지 않는 리포터 블럭을 삭제하시겠습니까?} }",
|
||||
"editor-devtools/paste": "붙여넣기",
|
||||
"editor-devtools/paste-from-clipboard": "클립보드에서 붙여넣기",
|
||||
"editor-devtools/paste-from-clipboard-desc": "클립보드에서 붙여넣지만 중요한 것은 마우스 커서가 있는 위치에 붙여넣기 때문에 현재 스크래치처럼 복사한 위치에 붙여넣는 것이 아니라 배치할 수 있습니다.",
|
||||
"editor-devtools/replace": "개발자 도구: 다음에 나올 이름의 변수에 대해 이 스프라이트의 모든 {name}을(를) 전환합니다:",
|
||||
"editor-devtools/start-typing": "작성 시작하기",
|
||||
"editor-devtools/swap": "스프라이트에서 {var} 치환하기",
|
||||
"editor-devtools/swap-variable": "스프라이트에서 변수 치환하기",
|
||||
"editor-devtools/swap-variable-desc": "이 새 설정의 스크립트에서 변수를 마우스 오른쪽 버튼으로 누르세요. 현재 스프라이트에 있는 해당 변수를 모두 다른 변수로 한 번에 전환할 수 있습니다. 이 기능은 실수하여 한 변수에서 다른 변수로 전환하거나 '모든 스프라이트에서 이 스프라이트 전용'으로 변경해야 할 경우에 적합합니다. 이 옵션은 이전 변수를 제거하지 않으며 다른 스프라이트 변수에도 영향을 주지 않습니다.",
|
||||
"editor-devtools/top": "위로 보내기",
|
||||
"editor-devtools/tutorials": "튜토리얼",
|
||||
"editor-devtools/unused-list": "{count, plural, other {개발자 도구: #개의 사용하지 않는 지역 리스트를 제거하시겠습니까? 사용하지 않는 지역 리스트:} }",
|
||||
"editor-devtools/unused-var": "{count, plural, other {개발자 도구: #개의 사용하지 않는 지역변수를 삭제하시겠습니까?} }",
|
||||
"editor-devtools/var-not-exist": "이 변수는 존재하지 않습니다.",
|
||||
"editor-devtools/variables": "변수",
|
||||
"editor-devtools/youtube": "YouTube 튜토리얼",
|
||||
"find-bar/find": "찾기",
|
||||
"find-bar/find-placeholder": "찾기 (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "메시지 \"{name}\"을(를) 생성하기",
|
||||
"editor-searchable-dropdowns/createGlobalList": "전역 리스트 \"{name}\"을(를) 생성하기",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "전역변수 \"{name}\"을(를) 생성하기",
|
||||
@@ -113,7 +82,7 @@
|
||||
"onion-skinning/merge": "병합",
|
||||
"onion-skinning/mode": "모드",
|
||||
"onion-skinning/next": "다음 모양",
|
||||
"onion-skinning/opacity": "불투명도 (%)",
|
||||
"onion-skinning/opacity": "투명도 (%)",
|
||||
"onion-skinning/opacityStep": "투명도 스푸마토 (%)",
|
||||
"onion-skinning/previous": "전 모양",
|
||||
"onion-skinning/settings": "어니언 스키닝 설정",
|
||||
@@ -152,11 +121,13 @@
|
||||
"folders/create-folder": "폴더 생성",
|
||||
"folders/name-not-allowed": "잘못된 폴더 이름",
|
||||
"folders/name-prompt": "폴더 이름:",
|
||||
"folders/name-prompt-title": "폴더 만들기",
|
||||
"folders/open-folder": "열림",
|
||||
"folders/remove-folder": "폴더 삭제하기",
|
||||
"folders/remove-from-folder": "폴더에서 삭제하기",
|
||||
"folders/rename-folder": "폴더 이름 변경하기",
|
||||
"folders/rename-folder-prompt": "폴더 이름 변경:",
|
||||
"folders/rename-folder-prompt-title": "폴더의 이름을 다시 정하기",
|
||||
"block-switching/control_forever": "무한 반복하기",
|
||||
"block-switching/control_if": "만약",
|
||||
"block-switching/control_if_else": "만약... 아니라면",
|
||||
@@ -230,6 +201,9 @@
|
||||
"editor-extra-keys/enter-key": "엔터",
|
||||
"move-to-top-bottom/bottom": "맨 아래로 옮기기",
|
||||
"move-to-top-bottom/top": "맨 위로 옮기기",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "메시지 이름 변경하기",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "메시지 이름 변경하기",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "모든 \"{name}\" 메시지를 다음으로 변경:",
|
||||
"swap-local-global/cant-convert-cloud": "클라우드 변수는 '이 스프라이트에서만 사용'으로 변경할 수 없습니다.",
|
||||
"swap-local-global/cant-convert-conflict": "다른 스프라이트 {sprites}의 변수와 충돌하기 때문에 변환할 수 없습니다.",
|
||||
"swap-local-global/cant-convert-stage": "무대는 '모든 스프라이트에서 사용'만 사용할 수 있습니다.",
|
||||
@@ -241,5 +215,6 @@
|
||||
"swap-local-global/edit-variable-header": "변수 편집하기",
|
||||
"swap-local-global/edit-variable-option": "이름을 변경하거나 리스트를 편집하기",
|
||||
"swap-local-global/to-global": "\"모든 스프라이트에서 사용\"으로 바꾸기",
|
||||
"swap-local-global/to-local": "\"이 스프라이트에서만 사용\"으로 바꾸기"
|
||||
"swap-local-global/to-local": "\"이 스프라이트에서만 사용\"으로 바꾸기",
|
||||
"hide-stage/hide-stage": "무대 숨기기"
|
||||
}
|
||||
@@ -1,52 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "naar onder",
|
||||
"editor-devtools/clean-plus": "Blokken Opruimen +",
|
||||
"editor-devtools/code-tab-features": "Codetabbladfuncties",
|
||||
"editor-devtools/copy-all": "Alles Kopiëren",
|
||||
"editor-devtools/copy-block": "Blok Kopiëren",
|
||||
"editor-devtools/copy-to-clipboard": "Naar Klembord Kopiëren",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Rechterklik op een blok voor 3 nieuwe opties: Alles Kopiëren, Blok Kopiëren, en Blok Knippen. De Alles Kopiëren-optie kopieert alles, inclusief alles onder en het blok dat je hebt geklikt. Blok Kopiëren kopieert alleen het huidige blok en zijn inhoud, maar niets eronder. Blok Knippen kopieert het en verwijdert het van het codegebied.",
|
||||
"editor-devtools/costume-tab-features": "Uiterlijkstabbladfuncties",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Links, Ctrl + Rechts",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Deze toetsen navigeren je naar het vorige / volgende uiterlijk in de sprite.",
|
||||
"editor-devtools/ctrl-lr-desc": "Naar vorige / volgende bezochte positie in het codegebied navigeren (na het gebruiken van blok navigeren of zoekbalk). Dit laat je met de middelste muisknop klikken op een eigen blok om naar zijn definitie te gaan, druk dan op ctrl + Links om terug te gaan naar waar je eerst was.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Spatie, Middelklik, of Shift + Klik",
|
||||
"editor-devtools/ctrl-space-desc": "Laat een zwevende invoerbox zien waar je de naam van een blok (of delen ervan) kunt intypen om vervolgens het blok te slepen naar de code om daar te gebruiken. Houd Shift ingedrukt bij het slepen om de box niet te sluiten als je meerdere blokken tegelijk wilt toevoegen.",
|
||||
"editor-devtools/cut-block": "Blok Knippen",
|
||||
"editor-devtools/deep": "Diep",
|
||||
"editor-devtools/find": "Zoeken",
|
||||
"editor-devtools/find-bar": "Zoekbalk",
|
||||
"editor-devtools/find-bar-costume-desc": "Klik om alle uiterlijken op naam te sorteren, en typ om er een te vinden. Gebruik de pijltjestoetsen of muis om op een naam te klikken om naar dat uiterlijk te springen.",
|
||||
"editor-devtools/find-placeholder": "Zoeken (Ctrl+F)",
|
||||
"editor-devtools/help-make-space": "Ruimte Maken",
|
||||
"editor-devtools/help-make-space-desc": "Maak extra ruimte rond een script door te rechterklikken op het script en kies \"Ruimte Maken\".",
|
||||
"editor-devtools/help-new": "★Nieuw★",
|
||||
"editor-devtools/help-title": "Scratch 3-Ontwikkelaarstools",
|
||||
"editor-devtools/improved-tidy-up": "Verbeterde Codeopruiming",
|
||||
"editor-devtools/improved-tidy-up-desc": "Rechterklik op het codegebied voor het rechterklikmenu waar Blokken Opruimen is vervangen met Blokken Opruimen +. Gebruik dit om je scripts overzichtelijk te houden en je scripts in kolommen te houden, en ook probeert het de opmerkingen recht te houden en het verwijderd alle ongebruikte variabelen.",
|
||||
"editor-devtools/insert": "Invoegen",
|
||||
"editor-devtools/interactive-find-bar": "Interactieve Zoekbalk (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Zoek en spring naar je Eigen Blokken, Variabelen, Gebeurtenis, of Hoedblok gedefinieerd in een sprite door op de nieuwe zoekbalk rechts van de Code-, Uiterlijken- en Geluiden-tabbladen. Start met typen om de lijst te filteren. Gebruik de omhoog- en omlaagpijltjestoetsen om te schakelen tussen de verschillende mogelijkheden, en de links- en rechtspijltjestoetsen om te wisselen tussen alle gevonden blokken.",
|
||||
"editor-devtools/lists": "lijsten",
|
||||
"editor-devtools/make-space": "Ruimte Maken",
|
||||
"editor-devtools/middleclick": "Springen Naar",
|
||||
"editor-devtools/middleclick-desc": "Spring met de middelste muisknop of Shift + Klik naar een variabele of eigen blokdefinitie of open het in de interactieve zoekbalk.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Ontwikkelaarstools: 1 los meldingsblok verwijderen?} other {Ontwikkelaarstools: # losse meldingsblokken verwijderen?} }",
|
||||
"editor-devtools/paste": "Plakken",
|
||||
"editor-devtools/paste-from-clipboard": "Plakken vanaf Klembord",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Plakt vanaf het klembord, maar meest belangrijk, het plakt waar je muisaanwijzer nu is zodat je het in een script kunt plaatsen (in tegenstelling tot plaatsen waar je het hebt gekopieerd zoals in de huidige scratchimplementatie).",
|
||||
"editor-devtools/replace": "Ontwikkelaarstools: Alle {name} in deze sprite wisselen voor de variabele genaamd:",
|
||||
"editor-devtools/start-typing": "Begin met typen...",
|
||||
"editor-devtools/swap": "Wissel {var} in Sprite",
|
||||
"editor-devtools/swap-variable": "Variabelen Wisselen in Sprite",
|
||||
"editor-devtools/swap-variable-desc": "Rechterklik op een variabele in je scripts voor deze nieuwe optie. Het laat je alle verwijzingen naar deze variabele in de huidige sprite allemaal tegelijk wisselen naar een andere variabele. Dit is geweldig als je een fout hebt gemaakt en je van een naar een andere variabele wilt wisselen of moet veranderen van 'voor alle sprites' naar 'alleen voor deze sprite'. Deze optie verwijdert of beïnvloedt de andere variabelen niet.",
|
||||
"editor-devtools/top": "naar boven",
|
||||
"editor-devtools/tutorials": "Lessen",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Ontwikkelaarstools: 1 ongebruikte lokale lijst verwijderen? Hier is het:\n} other {Ontwikkelaarstools: # ongebruikte lokale lijsten verwijderen? Hier zijn ze:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Ontwikkelaarstools: 1 ongebruikte lokale variabele verwijderen? Hier is het:\n} other {Ontwikkelaarstools: # ongebruikte lokale variabelen verwijderen? Hier zijn ze:\n} }",
|
||||
"editor-devtools/var-not-exist": "Die variabele bestaat niet...",
|
||||
"editor-devtools/variables": "variabelen",
|
||||
"editor-devtools/youtube": "YouTube-lessen",
|
||||
"find-bar/find": "Zoeken",
|
||||
"find-bar/find-placeholder": "Zoeken (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Bericht \"{name}\" maken",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Lijst \"{name}\" maken voor alle sprites",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Variabele \"{name}\" maken voor alle sprites",
|
||||
@@ -220,6 +190,9 @@
|
||||
"blocks2image/export_selected_to_SVG": "Blok exporteren als SVG",
|
||||
"move-to-top-bottom/bottom": "naar beneden",
|
||||
"move-to-top-bottom/top": "naar boven",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "Signaal hernoemen",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "Signaal Hernoemen",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "Alle \"{name}\"-signalen hernoemen naar:",
|
||||
"swap-local-global/cant-convert-cloud": "Cloudvariabelen kunnen niet alleen voor deze sprite zijn.",
|
||||
"swap-local-global/cant-convert-conflict": "Kan niet veranderen omdat variabelen in andere sprites dezelfde naam hebben: {sprites}",
|
||||
"swap-local-global/cant-convert-stage": "Het speelveld kan geen variabelen voor alleen deze sprite hebben.",
|
||||
|
||||
@@ -1,52 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "przesuń na spód",
|
||||
"editor-devtools/clean-plus": "Wyczyść bloki +",
|
||||
"editor-devtools/code-tab-features": "Funkcjonalności Zakładki Kodu",
|
||||
"editor-devtools/copy-all": "Kopiuj wszystko",
|
||||
"editor-devtools/copy-block": "Kopiuj Blok",
|
||||
"editor-devtools/copy-to-clipboard": "Skopiuj do schowka",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Po kliknięciu prawym przyciskiem myszy na blok dostępne są 3 nowe opcje: Kopiuj wszystko, Kopiuj blok i Wytnij blok. Kopiuj Wszystko skopiuje do schowka wszystko, łącznie z blokiem, na którym kliknąłeś i poniżej niego. Kopiuj blok będzie tylko skopiować bieżący blok i jego zawartość, ale nic poniżej. A Wytnij blok skopiuje go i usunie z obszaru kodu.",
|
||||
"editor-devtools/costume-tab-features": "Funkcje zakładki Kostiumy",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Klawisze te nawigują do poprzedniego / następnego kostiumu w duszku.",
|
||||
"editor-devtools/ctrl-lr-desc": "Przejdź do poprzedniej / następnej odwiedzonej pozycji w kodzie (po użyciu wyszukiwania bloku, lub przejściu do jego definicji). Aby to zrobić należy kliknąć \"Crt + Lewy Przycisk\"",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Spacja, Kliknięcie środkowym przyciskiem myszy, lub Shift + klikniecie",
|
||||
"editor-devtools/ctrl-space-desc": "Wyskakujące pole w którym możesz podać nazwę bloku (lub jej część) i wyjąć dany blok z niego i użyć go w kodzie. Przytrzymaj klawisz Shift w trakcie przesuwania, aby menu nie zamknęło się automatycznie.",
|
||||
"editor-devtools/cut-block": "Wytnij Blok",
|
||||
"editor-devtools/deep": "Głębokość",
|
||||
"editor-devtools/find": "Wyszukaj",
|
||||
"editor-devtools/find-bar": "Szukaj",
|
||||
"editor-devtools/find-bar-costume-desc": "Kliknij, aby wyświetlić listę wszystkich kostiumów według nazwy, i wpisz, aby zlokalizować jeden z nich. Użyj klawiszy strzałek lub myszy, aby przejść bezpośrednio do tego kostiumu.",
|
||||
"editor-devtools/find-placeholder": "Wyszukaj (Ctrl+F)",
|
||||
"editor-devtools/help": "Pomoc",
|
||||
"editor-devtools/help-make-space": "Zrób miejsce",
|
||||
"editor-devtools/help-make-space-desc": "Tworzy puste miejsce do okoła kodu. Tą funkcję możesz wywołać za pomocą klikaniu na blok i wybierając opcję \"Stwórz Miejsce\".",
|
||||
"editor-devtools/help-new": "★Nowe★",
|
||||
"editor-devtools/help-title": "Narzędzia deweloperskie Scratch 3",
|
||||
"editor-devtools/improved-tidy-up": "Poprawione Czyszczenie Bloków",
|
||||
"editor-devtools/improved-tidy-up-desc": "Po kliknięciu prawym klawiszem za miast funkcji \"Posprzątaj Bloki\", znajdziesz \"Posprzątaj Bloki +\". Za pomocą tej funkcji kod będzie ułożony w kolumny, a porzucone zmienne i bloki zostaną usunięte itd.",
|
||||
"editor-devtools/insert": "Wstaw",
|
||||
"editor-devtools/interactive-find-bar": "Interaktywne Pole Wyszukiwania (Crt + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Szybko znajdź i przejdź do Mojego Bloku, Zmiennej, Zdarzenia zdefiniowanego w duszku klikając w polu wyszukiwania. Po zaczęciu wpisywania wyniki zaczną się pojawiać na dole listy. Użyj klawiszy w gorę i w dół aby wybrać podaną odpowiedź. Po wybraniu możesz użyć klawiszy w prawo i lewo, aby przemieścić się między różnymi blokami tego samego rodzaju.",
|
||||
"editor-devtools/lists": "listy",
|
||||
"editor-devtools/make-space": "Zrób miejsce",
|
||||
"editor-devtools/middleclick": "Przejdź do",
|
||||
"editor-devtools/middleclick-desc": "Użycie środkowego przyciska myszy lub kliknięcie trzymając przycisk \"Shift\" na zmiennej lub \"Moim Bloku\", aby przejść do jego definicji, lub otwiera w interaktywnym polu wyszukiwania.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Narzędzia Developerskie: Usunąć 1 odłączony blok?} few {Narzędzia Developerskie: Usunąć # odłączonych bloków?} many {Narzędzia Developerskie: Usunąć # odłączonych bloków?} other {Narzędzia Developerskie: Usunąć # odłączonych bloków?} }",
|
||||
"editor-devtools/paste": "Wklej",
|
||||
"editor-devtools/paste-from-clipboard": "Wklej z schowka",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Wkleja ze schowka, ale co ważne, wkleja go tam, gdzie znajduje się kursor myszy, dzięki czemu można go umieścić (zamiast umieszczać go w miejscu, z którego został skopiowany, tak jak w przypadku obecnej implementacji scratch).",
|
||||
"editor-devtools/replace": "Narzędzia Developerskie: Zmień nazwy wszystkie zmiennych {name} w tym duszku na:",
|
||||
"editor-devtools/start-typing": "Zacznij pisać...",
|
||||
"editor-devtools/swap": "Zamień {var} w Duszku",
|
||||
"editor-devtools/swap-variable": "Zamień zmienną w Duszku",
|
||||
"editor-devtools/swap-variable-desc": "Kliknij prawym przyciskiem myszy zmienną w skryptach dla tej nowej opcji. Pozwala na przełączenie wszystkich odwołań do tej zmiennej w aktualnym duszku za jednym razem do innej zmiennej. Jest to świetne rozwiązanie, gdy popełniłeś błąd i chcesz przełączyć się z jednej zmiennej na inną lub musisz zmienić z „dla wszystkich duszków” na „tylko dla tego duszka”. Ta opcja nie usunie starej zmiennej i nie wpłynie na żadne inne zmienne duszków.",
|
||||
"editor-devtools/top": "przesuń na wierzch",
|
||||
"editor-devtools/tutorials": "Przewodniki",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Narzędzia Developerskie: Usunąć 1 nieużywaną listę o nazwie:\n} few {Narzędzia Developerskie: Usunąć # nieużywanych list? Oto one: \n} many {Narzędzia Developerskie: Usunąć # nieużywanych list? Oto one: \n} other {Narzędzia Developerskie: Usunąć # nieużywanych list? Oto one: \n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Narzędzia Developerskie: Usunąć 1 nieużywaną zmienną o nazwie: \n} few {Narzędzia Developerskie: Usunąć # nieużywanych zmiennych? Oto one: \n} many {Narzędzia Developerskie: Usunąć # nieużywanych zmiennych? Oto one: \n} other {Narzędzia Developerskie: Usunąć # nieużywanych zmiennych? Oto one: \n} }",
|
||||
"editor-devtools/var-not-exist": "Ta zmienna nie istnieje...",
|
||||
"editor-devtools/variables": "zmienne",
|
||||
"editor-devtools/youtube": "przewodniki na YouTube",
|
||||
"find-bar/find": "Szukaj",
|
||||
"find-bar/find-placeholder": "Szukaj (Ctr+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Stwórz wiadomość \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Utwórz listę \"{name}\" dla wszystkich duszków",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Utwórz zmienną \"{name}\" dla wszystkich duszków",
|
||||
@@ -133,6 +103,7 @@
|
||||
"gamepad/axis-none": "Nic",
|
||||
"gamepad/browser-support": "Ta przeglądarka i system operacyjny zawierają znane błędy, które mogą utrudniać korzystanie z tego dodatku. Wypróbuj inną przeglądarkę, jeśli napotkasz problemy. ",
|
||||
"gamepad/button-n": "Przycisk {n}",
|
||||
"gamepad/clear": "Wyczyść wszystkie ustawione przyciski",
|
||||
"gamepad/config-header": "Ten komentarz zawiera konfigurację dla obsług pada do gier w programach jak https://turbowarp.org/\nNie edytuj ręcznie!",
|
||||
"gamepad/key-click": "Kliknięcie",
|
||||
"gamepad/key-down": "Dół",
|
||||
@@ -143,6 +114,7 @@
|
||||
"gamepad/key-up": "Góra",
|
||||
"gamepad/keyinput-title": "Naciśnij i kliknij klawisz, aby zmienić przycisk. Kliknij escape, aby anulować. Aby wyczyścić naciśnij Backspace lub Cancel.",
|
||||
"gamepad/no-controllers": "Nie wykryto żadnego kontrolera. Spróbuj podłączyć jeden z nich i nacisnąć przycisk na nim.",
|
||||
"gamepad/reset": "Resetuj wszystkie przyciski do ustawień fabrycznych",
|
||||
"gamepad/settings": "Ustawienia Gamepada",
|
||||
"gamepad/store-in-project": "Zapisz ustawienia w projekcie, aby zastąpić domyślną konfigurację (narzędzie eksperymentalne dla twórców projektów) .",
|
||||
"folders/add-to-folder": "dodaj do folderu: {folder}",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "enviar ao fundo",
|
||||
"editor-devtools/clean-plus": "Limpar Blocos +",
|
||||
"editor-devtools/code-tab-features": "Funções da Aba de Código",
|
||||
"editor-devtools/copy-all": "Copiar Pilha",
|
||||
"editor-devtools/copy-block": "Copiar Bloco",
|
||||
"editor-devtools/copy-to-clipboard": "Copiar para a Área de Transferência",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Clique com o botão direito em um bloco e 3 novas opções aparecem para Copiar Pilha, Copiar Bloco e Recortar Bloco. Copiar Pilha vai copiar para a área de transferência todos os blocos conectados abaixo do que você clicou. Copiar Bloco vai copiar só o bloco que você clicou e os seus conteúdos, nada conectado nele abaixo. E Recortar Bloco vai copiá-lo e removê-lo da área de scripts.",
|
||||
"editor-devtools/costume-tab-features": "Funções da Aba de Fantasias",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Esquerda, Ctrl + Direita",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Essas setas te levam à fantasia anterior / posterior no ator.",
|
||||
"editor-devtools/ctrl-lr-desc": "Navegar até a posição anterior / posterior visitada na janela de scripts (depois de usar a função de navegar até um bloco ou a barra de busca). Isso te deixa clicar com o botão do meio em um bloco customizado para ver a definição e apertar Ctrl + Esquerda para voltar até onde você estava.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Espaço, botão da rodinha do mouse, ou Shift + Click",
|
||||
"editor-devtools/ctrl-space-desc": "Abre uma caixa flutuante onde você pode digitar o nome de um bloco (ou partes dele) e arrastar o bloco ao seu código para usá-lo. Segure Shift enquanto arrasta para que a caixa não feche e você possa adicionar vários blocos de uma vez.",
|
||||
"editor-devtools/cut-block": "Recortar Bloco",
|
||||
"editor-devtools/deep": "Profundo",
|
||||
"editor-devtools/find": "Buscar",
|
||||
"editor-devtools/find-bar": "Barra de Busca",
|
||||
"editor-devtools/find-bar-costume-desc": "Clique para ver todas as fantasias por ordem alfabética, e digite para procurar uma. Use as setas ou o mouse para clicar em um nome e ir direto àquela fantasia.",
|
||||
"editor-devtools/find-placeholder": "Buscar (Ctrl+F)",
|
||||
"editor-devtools/help": "Ajuda",
|
||||
"editor-devtools/help-make-space": "Abrir Espaço",
|
||||
"editor-devtools/help-make-space-desc": "Crie espaço ao redor de um script clicando com o botão direito na pilha de blocos e escolhendo \"Abrir Espaço\".",
|
||||
"editor-devtools/help-new": "★Novo★",
|
||||
"editor-devtools/help-title": "Ferramentas de Desenvolvedor do Scratch 3",
|
||||
"editor-devtools/improved-tidy-up": "Organização de Blocos Melhorada",
|
||||
"editor-devtools/improved-tidy-up-desc": "Clique com o botão direito na janela de scripts para abrir o menu e a opção de limpar blocos será trocada pela opção Limpar Blocos +. Clique para organizar seus blocos e as colunas serão mantidas, seus comentários também serão alinhados, seus variáveis órfãos removidos, etc.",
|
||||
"editor-devtools/insert": "Inserir",
|
||||
"editor-devtools/interactive-find-bar": "Barra de Busca Interativa (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Encontre e vá para qualquer Bloco Customizado, Variável, Evento ou bloco de Chapéu definido em um ator rapidamente clicando na nova barra de busca localizada à direita das abas de Código, Fantasias e Som. Comece a digitar para pesquisar. Use as setas de cima e baixo para passar pelas opções possíveis, e as setas de esquerda e direita para trocar entre todas as aparições daquele bloco.",
|
||||
"editor-devtools/lists": "listas",
|
||||
"editor-devtools/make-space": "Abrir Espaço",
|
||||
"editor-devtools/middleclick": "Pular Para",
|
||||
"editor-devtools/middleclick-desc": "Use o botão da rodinha do mouse ou Shift + Click em uma variável ou bloco customizável para ir até a sua definição ou abri-lo na barra de pesquisa interativa.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Ferramentas de desenvolvedor: Deletar 1 bloco redondo órfão?} many {Ferramentas de desenvolvedor: Deletar # blocos redondos órfãos?} other {Ferramentas de desenvolvedor: Deletar # blocos redondos órfãos?} }",
|
||||
"editor-devtools/paste": "Colar",
|
||||
"editor-devtools/paste-from-clipboard": "Colar da Área de Trabalho",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Cola da área de trabalho onde o seu mouse estiver para que você possa colocar o bloco onde quiser (ao invés de colar o bloco na mesma posição onde você copiou como a implementação atual do Scratch faz).",
|
||||
"editor-devtools/replace": "Ferramentas de desenvolvedor: Trocar {name} nesse ator pela variável chamada:",
|
||||
"editor-devtools/start-typing": "Comece a Digitar...",
|
||||
"editor-devtools/swap": "Trocar {var} no Ator",
|
||||
"editor-devtools/swap-variable": "Trocar Variável no Ator",
|
||||
"editor-devtools/swap-variable-desc": "Clique com o botão direito em uma variável para ver essa opção. Ela te deixa trocar todas as aparições dessa variável no ator atual de uma vez por outra variável. Isso é ótimo para quando você fez um erro e quer trocar uma variável por outra ou precisa trocar uma variável 'para todos os atores' por uma 'apenas para este ator'. Essa opção não remove a variável antiga e não vai afetar as variáveis de outros atores.",
|
||||
"editor-devtools/top": "enviar ao topo",
|
||||
"editor-devtools/tutorials": "Tutoriais",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Ferramentas de desenvolvedor: Deletar 1 lista local não utilizada? Aqui estão:\n} many {Ferramentas de desenvolvedor: Deletar # listas locais não utilizadas? Aqui está:\n} other {Ferramentas de desenvolvedor: Deletar # listas locais não utilizadas? Aqui está:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Ferramentas de desenvolvedor: Deletar 1 variável local não utilizada? Aqui está:\n} many {Ferramentas de desenvolvedor: Deletar # variáveis locais não utilizadas? Aqui estão:\n} other {Ferramentas de desenvolvedor: Deletar # variáveis locais não utilizadas? Aqui estão:\n} }",
|
||||
"editor-devtools/var-not-exist": "Essa variável não existe...",
|
||||
"editor-devtools/variables": "variáveis",
|
||||
"editor-devtools/youtube": "Tutoriais no YouTube",
|
||||
"find-bar/find": "Localizar",
|
||||
"find-bar/find-placeholder": "Localizar (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Criar mensagem \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Criar lista \"{name}\" para todos os atores",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Criar variável \"{name}\" para todos os atores",
|
||||
@@ -129,6 +98,7 @@
|
||||
"gamepad/axis-none": "Nenhum",
|
||||
"gamepad/browser-support": "Esse navegador e sistema operacional têm bugs que dificultam o uso desse addon. Tente outro navegador se você encontrar problemas.",
|
||||
"gamepad/button-n": "Botão {n}",
|
||||
"gamepad/clear": "Limpar todos os controles",
|
||||
"gamepad/config-header": "Esse comentário contém configuração de suporte para controle em sites e ferramentas de terceiros como https://turbowarp.org/\nNão edite manualmente",
|
||||
"gamepad/key-click": "Clique",
|
||||
"gamepad/key-down": "Baixo",
|
||||
@@ -139,6 +109,7 @@
|
||||
"gamepad/key-up": "Cima",
|
||||
"gamepad/keyinput-title": "Clique e aperte uma tecla ou clique para trocar o botão. Aperte Esc para cancelar. Aperte Backspace ou Delete para apagar.",
|
||||
"gamepad/no-controllers": "Nenhum controle detectado. Tente conectar um e apertar um botão nele.",
|
||||
"gamepad/reset": "Redefinir todos os controles ao padrão do projeto",
|
||||
"gamepad/settings": "Configurações do Controle",
|
||||
"gamepad/store-in-project": "Guardar essas configurações no projeto para sobrescrever configuração padrão (Ferramenta experimental para criadores de projeto)",
|
||||
"folders/add-to-folder": "adicionar à pasta: {folder}",
|
||||
|
||||
@@ -1,36 +1,14 @@
|
||||
{
|
||||
"editor-devtools/bottom": "trimite în partea de jos",
|
||||
"editor-devtools/code-tab-features": "Funcții pentru Fila Codului",
|
||||
"editor-devtools/copy-all": "Copiază Toate",
|
||||
"editor-devtools/copy-block": "Copiază Blocul",
|
||||
"editor-devtools/copy-to-clipboard": "Copiază în Clipboard",
|
||||
"editor-devtools/costume-tab-features": "Funcții pentru Fila Costumelor",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Stânga, Ctrl + Dreapta",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Aceste taste te mută la costumul anterior / următor în personaj.",
|
||||
"editor-devtools/cut-block": "Decupează Blocul",
|
||||
"editor-devtools/deep": "Adâncime",
|
||||
"editor-devtools/find": "Caută",
|
||||
"editor-devtools/find-bar": "Bara de Căutare",
|
||||
"editor-devtools/find-placeholder": "Caută (Ctrl+F)",
|
||||
"editor-devtools/help": "Ajutor",
|
||||
"editor-devtools/help-make-space": "Fă spațiu",
|
||||
"editor-devtools/help-new": "Nou✨",
|
||||
"editor-devtools/help-title": "Instrumente pentru Dezvoltatori Scratch 3",
|
||||
"editor-devtools/insert": "Inserează",
|
||||
"editor-devtools/interactive-find-bar": "Bară de căutare interactivă (Ctrl + F)",
|
||||
"editor-devtools/lists": "liste",
|
||||
"editor-devtools/make-space": "Fă spațiu",
|
||||
"editor-devtools/paste": "Inserează",
|
||||
"editor-devtools/paste-from-clipboard": "Inserează din Clipboard",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Inserează din clipboard, dar cel mai important, inserează unde este cursorul mouse-ului tău ca tu apoi să poți să îl plasezi (mai bine decât să-l plasezi de unde l-ai copiat, ca în implementarea Scratch actuală).",
|
||||
"editor-devtools/start-typing": "Începe să Tastezi...",
|
||||
"editor-devtools/swap-variable": "Transferă Variabila în Personaj",
|
||||
"editor-devtools/swap-variable-desc": "Clic dreapta pe o variabilă în script-urile tale pentru această nouă opțiune. Îți permite să schimbi în același timp toate referințele la această variabilă în personajul actual cu o altă variabilă. Este folositor când ai făcut o greșeală și vrei să schimbi variabilele dintr-una într-alta sau trebuie să schimbi dintr-o variabilă „pentru toate personajele” într-una „doar pentru acest personaj”. Această opțiune nu va elimina variabila cea veche și nu va afecta alte variabile ale personajelor.",
|
||||
"editor-devtools/top": "trimite în vârf",
|
||||
"editor-devtools/tutorials": "Tutoriale",
|
||||
"editor-devtools/var-not-exist": "Acea variabilă nu există...",
|
||||
"editor-devtools/variables": "variabile",
|
||||
"editor-devtools/youtube": "Tutoriale YouTube",
|
||||
"data-category-tweaks-v2/for-all-sprites": "Pentru toate personajele:",
|
||||
"data-category-tweaks-v2/for-this-sprite-only": "Doar pentru acest personaj:",
|
||||
"data-category-tweaks-v2/list-category": "Liste",
|
||||
|
||||
@@ -1,28 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "отправить вниз",
|
||||
"editor-devtools/clean-plus": "Очистить блоки +",
|
||||
"editor-devtools/copy-all": "Копировать все",
|
||||
"editor-devtools/copy-block": "Копировать блок",
|
||||
"editor-devtools/copy-to-clipboard": "Скопировать в буфер обмена",
|
||||
"editor-devtools/cut-block": "Вырезать блок",
|
||||
"editor-devtools/deep": "глубокий",
|
||||
"editor-devtools/find": "Поиск",
|
||||
"editor-devtools/find-bar": "Панель поиска",
|
||||
"editor-devtools/find-placeholder": "Найти (Ctrl+F)",
|
||||
"editor-devtools/help": "Помощь",
|
||||
"editor-devtools/help-title": "Инструменты разработчика Scratch 3",
|
||||
"editor-devtools/insert": "Вставка",
|
||||
"editor-devtools/interactive-find-bar": "Интерактивная строка поиска (Ctrl + F)",
|
||||
"editor-devtools/lists": "списки",
|
||||
"editor-devtools/make-space": "Сделать пространство",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Инструменты разработчика: Удалить неиспользуемый блок сенсора?} few {Инструменты разработчика: Удалить # неиспользуемых блоков сенсора?} many {Инструменты разработчика: Удалить # неиспользуемых блоков сенсора?} other {Инструменты разработчика: Удалить # неиспользуемых блоков сенсора? } }",
|
||||
"editor-devtools/paste": "Вставить",
|
||||
"editor-devtools/paste-from-clipboard": "Вставить из буфера обмена",
|
||||
"editor-devtools/replace": "Инструменты разработчика: Сделать все {name} у этого спрайта переменной названной:",
|
||||
"editor-devtools/start-typing": "Начните Печатать...",
|
||||
"editor-devtools/top": "отправить наверх",
|
||||
"editor-devtools/tutorials": "Учебники",
|
||||
"editor-devtools/swap": "Сделать {var} для спрайта",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Инструменты разработчика: Удалить неиспользуемый локальный список? Вот он:\n} few {Инструменты разработчика: удалить # не используемых локальных списков? Вот они:\n} many {Инструменты разработчика: Удалить # неиспользуемых локальных листов? Вот они:\n} other {Инструменты разработчика: Удалить # неиспользуемых локальных списков? Вот они:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Инструменты разработчика: Удалить неиспользуемую локальную переменную? Вот она:\n} few {Инструменты разработчика: Удалить # неиспользуемых локальных переменных? Вот они:\n} many {Инструменты разработчика: Удалить # неиспользуемых локальных переменных? Вот они:\n} other {Инструменты разработчика: Удалить # неиспользуемых локальных переменных? Вот они:\n} }",
|
||||
"editor-devtools/var-not-exist": "Эта переменная не существует...",
|
||||
"editor-devtools/variables": "переменные",
|
||||
"editor-devtools/youtube": "Учебники на YouTube",
|
||||
"find-bar/find": "Поиск",
|
||||
"find-bar/find-placeholder": "Поиск (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Создать сообщение \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Создать список \"{name}\" для всех спрайтов",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Создать переменную \"{name}\" для всех спрайтов",
|
||||
@@ -110,6 +104,7 @@
|
||||
"gamepad/axis-none": "Ничего",
|
||||
"gamepad/browser-support": "Этот браузер и операционная система имеют известные баги, которые могут повлиять на использование этого аддона. Попробуйте др. браузер, если у Вас появятся проблемы.",
|
||||
"gamepad/button-n": "Кнопка{n}",
|
||||
"gamepad/clear": "Очистить все элементы управления",
|
||||
"gamepad/config-header": "Этот комментарий содержит конфигурацию для поддержки геймпада в сторонних инструментах или сайтах по типу https://turbowarp.org/\nНе редактировать самим",
|
||||
"gamepad/key-click": "Нажатие",
|
||||
"gamepad/key-down": "Вниз",
|
||||
@@ -120,7 +115,8 @@
|
||||
"gamepad/key-space": "Пробел",
|
||||
"gamepad/key-up": "Вверх",
|
||||
"gamepad/keyinput-title": "Кликните и нажмите клавишу или кликните для смены кнопки. Esc для отмены. Backspace или Delete для очистки.",
|
||||
"gamepad/no-controllers": "Не обнаружены контроллеры. Попробуйте подключить какой-нибудь контроллер и нажать на ней кнопку.",
|
||||
"gamepad/no-controllers": "Не обнаружены контроллеры. Попробуйте подключить какой-нибудь контроллер и нажать на нём кнопку.",
|
||||
"gamepad/reset": "Сменить управление на стандартное",
|
||||
"gamepad/settings": "Настройки геймпада",
|
||||
"gamepad/store-in-project": "Хранить эти настройки в проекте для обхода конфигурации по умолчанию (Экспериментальный инструмент для создателей проектов)",
|
||||
"folders/add-to-folder": "добавить к папке: {folder}",
|
||||
@@ -149,6 +145,9 @@
|
||||
"block-switching/data_setvariableto": "установить переменную",
|
||||
"block-switching/data_showlist": "показать список",
|
||||
"block-switching/data_showvariable": "показать переменную",
|
||||
"block-switching/debugger_error": "ошибка",
|
||||
"block-switching/debugger_log": "лог",
|
||||
"block-switching/debugger_warn": "предупредить",
|
||||
"block-switching/event_broadcast": "передать",
|
||||
"block-switching/event_broadcastandwait": "передать и ждать до конца",
|
||||
"block-switching/looks_backdropnumbername": "номер фона или имя фона",
|
||||
@@ -178,6 +177,7 @@
|
||||
"block-switching/music_changeTempo": "изменить темп",
|
||||
"block-switching/music_setTempo": "задать темп",
|
||||
"block-switching/operator_and": "и",
|
||||
"block-switching/operator_mod": "мод",
|
||||
"block-switching/operator_or": "или",
|
||||
"block-switching/pen_changePenColorParamBy": "изменить параметр",
|
||||
"block-switching/pen_changePenHueBy": "изменить цвет",
|
||||
@@ -198,13 +198,16 @@
|
||||
"block-switching/sound_seteffectto": "задать эффект",
|
||||
"block-switching/sound_setvolumeto": "задать громкость",
|
||||
"blocks2image/error_blocks_not_added": "Добавить блоки на рабочую область!",
|
||||
"blocks2image/export_all_to_PNG": "Экспорт всех как PNG",
|
||||
"blocks2image/export_all_to_SVG": "Экспорт всех как SVG",
|
||||
"blocks2image/export_all_to_PNG": "Экспорт всех блоков в формате PNG",
|
||||
"blocks2image/export_all_to_SVG": "Экспорт всех блоков в SVG",
|
||||
"blocks2image/export_selected_to_PNG": "Экспорт блока как PNG",
|
||||
"blocks2image/export_selected_to_SVG": "Экспорт блока как SVG",
|
||||
"blocks2image/export_selected_to_SVG": "Экспорт блока в формате SVG",
|
||||
"editor-extra-keys/enter-key": "ввод",
|
||||
"move-to-top-bottom/bottom": "переместить вниз",
|
||||
"move-to-top-bottom/top": "переместить наверх",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "Переименовать сообщение",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "Переименовать Сообщение",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "переименовать \"{name}\" сообщений в:",
|
||||
"swap-local-global/cant-convert-cloud": "Облачные переменные нельзя преобразовать только в этот спрайт.",
|
||||
"swap-local-global/cant-convert-conflict": "Невозможно сконвертировать, так как будет конфликт с переменными в другом спрайте: {sprites}",
|
||||
"swap-local-global/cant-convert-stage": "В сцене не может быть переменных только для этого спрайта.",
|
||||
|
||||
@@ -1,52 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "na dno",
|
||||
"editor-devtools/clean-plus": "Počisti bloke +",
|
||||
"editor-devtools/code-tab-features": "Funkcije na zavihku Koda",
|
||||
"editor-devtools/copy-all": "Kopiraj vse",
|
||||
"editor-devtools/copy-block": "Kopiraj blok",
|
||||
"editor-devtools/copy-to-clipboard": "Kopiraj v odložišče",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Kliknite na blok z desno tipko in na voljo bodo 3 nove možnosti: Kopiraj vse, Kopiraj blok in Izreži blok. Kopiraj vse kopira blok, ki ste ga kliknili, in vse, kar je pod njim. Kopiraj blok kopira trenutni blok, ne pa tudi blokov pod njim. In Izreži blok ga kopira in odstrani iz prostora za kodo.",
|
||||
"editor-devtools/costume-tab-features": "Funkcije na zavihku Videzi",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + desno, Ctrl + levo",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Ti tipki izbereta prejšnji / naslednji videz figure.",
|
||||
"editor-devtools/ctrl-lr-desc": "Premaknite se na prejšnji / naslednji obiskan položaj v prostoru za kodo (potem ko uporabite srednji miškin gumb ali iskalno vrstico). To vam omogoča, da kliknete blok s srednjo miškino tipko, da se premaknete na njegovo definicijo, potem pa pritisnete Ctrl + levo, da se vrnete na prejšnji položaj.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + presledek, srednji miškin gumb ali Shift + klik",
|
||||
"editor-devtools/ctrl-space-desc": "Pokaže polje, v katerega lahko vnesete ime (ali del imena) bloka in ta blok povlečete v kodo, da ga takoj uporabite. Držite Shift med vlečenjem, da se okno ne zapre, če dodajate več blokov naenkrat.",
|
||||
"editor-devtools/cut-block": "Izreži blok",
|
||||
"editor-devtools/deep": "Globoko iskanje",
|
||||
"editor-devtools/find": "Iskanje",
|
||||
"editor-devtools/find-bar": "Iskalna vrstica",
|
||||
"editor-devtools/find-bar-costume-desc": "Kliknite za seznam vseh videzov, razvrščenih po imenu, in vnesite ime za iskanje. Uporabite tipke s puščicami ali kliknite ime z miško, da se premaknete na izbran videz.",
|
||||
"editor-devtools/find-placeholder": "Iskanje (Ctrl+F)",
|
||||
"editor-devtools/help": "Pomoč",
|
||||
"editor-devtools/help-make-space": "Naredi prostor",
|
||||
"editor-devtools/help-make-space-desc": "Naredite dodaten prostor okrog skripte, tako da jo kliknite z desno miškino tipko in izberete \"Naredi prostor\".",
|
||||
"editor-devtools/help-new": "★Novo★",
|
||||
"editor-devtools/improved-tidy-up": "Izboljšano čiščenje kode",
|
||||
"editor-devtools/improved-tidy-up-desc": "Kliknite na prostor za kodo z desno miškino tipko, da odprete meni, in možnost Počisti bloke bo zamenjana s Počisti bloke +. Uporabite jo, da uredite svoje skripte, in ohranila bo razporeditev po stolpcih ter poskusila poravnati komentarje in odstraniti vse tiste neuporabljene spremenljivke, itd.",
|
||||
"editor-devtools/insert": "Vstavi",
|
||||
"editor-devtools/interactive-find-bar": "Interaktivna iskalna vrstica (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Hitro najdite katerikoli \"moj blok\", spremenljivko ali dogodek v figuri, tako da kliknete novo iskalno vrstico desno od zavihkov Koda, Videzi in Zvoki. Začnite tipkati za iskanje po seznamu. Uporabite tipki gor in dol za premikanje po možnih zadetkih ter tipki levo in desno za izbiro posamezne pojavitve tistega bloka.",
|
||||
"editor-devtools/lists": "seznami",
|
||||
"editor-devtools/make-space": "Naredi prostor",
|
||||
"editor-devtools/middleclick": "Skoči na",
|
||||
"editor-devtools/middleclick-desc": "Če uporabite srednji miškin gumb ali Shift + kliknete spremenljivko ali \"moj blok\", lahko skočite na njegovo definicijo ali spremenljivko odprete v interaktivnem iskalnem polju.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljen okrogel blok?} two {Developer tools: Naj izbrišem 2 neuporabljena okrogla bloka?} few {Developer tools: Naj izbrišem # neuporabljene okrogle bloke?} other {Developer tools: Naj izbrišem # neuporabljenih okroglih blokov?} }",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljen okrogel blok?} two {Developer tools: Naj izbrišem 2 neuporabljena okrogla bloka?} few {Developer tools: Naj izbrišem # neuporabljene okrogle bloke?} other {Orodje za razvijalce: Naj izbrišem # neuporabljenih okroglih blokov?} }",
|
||||
"editor-devtools/paste": "Prilepi",
|
||||
"editor-devtools/paste-from-clipboard": "Prilepi z odložišča",
|
||||
"editor-devtools/paste-from-clipboard-desc": "Prilepi bloke z odložišča, ampak jih postavi tja, kjer je miškin kazalec, da jih lahko potem postavite, kamor želite (namesto da bi jih prilepil tja, od koder ste jih kopirali, kakor trenutna različica Scratcha).",
|
||||
"editor-devtools/replace": "Developer tools: Zamenjaj vse {name} v tej figuri s spremenljivko z imenom:",
|
||||
"editor-devtools/replace": "Orodje za razvijalce: Zamenjaj vse {name} v tej figuri s spremenljivko z imenom:",
|
||||
"editor-devtools/start-typing": "Začnite tipkati...",
|
||||
"editor-devtools/swap": "Zamenjaj {var} v figuri",
|
||||
"editor-devtools/swap-variable": "Zamenjaj spremenljivko v figuri",
|
||||
"editor-devtools/swap-variable-desc": "Kliknite spremenljivko v kodi z desno miškino tipko, da uporabite to novo možnost. Omogoča, da spremenite vso kodo v trenutni figuri, ki se nanaša na to spremenljivko, v drugo spremenljivko. To je odlično, če ste se zmotili in bi radi uporabili drugo spremenljivko ali pa morate spremeniti spremenljivko za vse figure v spremenljivko za to figuro. Ta možnost ne bo odstranila stare spremenljivke in ne vpliva na spremenljivke v ostalih figurah.",
|
||||
"editor-devtools/top": "na vrh",
|
||||
"editor-devtools/tutorials": "Vodiči",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljen lokalni seznam? Tukaj je:\n} two {Developer tools: Naj izbrišem 2 neuporabljena lokalna seznama? Tukaj sta:\n} few {Developer tools: Naj izbrišem # neuporabljene lokalne sezname? Tukaj so:\n} other {Developer tools: Naj izbrišem # neuporabljenih lokalnih seznamov? Tukaj so:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljeno lokalno spremenljivko? Tukaj je:\n} two {Developer tools: Naj izbrišem 2 neuporabljeni lokalni spremenljivki? Tukaj sta:\n} few {Developer tools: Naj izbrišem # neuporabljene lokalne spremenljivke? Tukaj so:\n} other {Developer tools: Naj izbrišem # neuporabljenih lokalnih spremenljivk? Tukaj so:\n} }",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljen lokalni seznam? Tukaj je:\n} two {Developer tools: Naj izbrišem 2 neuporabljena lokalna seznama? Tukaj sta:\n} few {Developer tools: Naj izbrišem # neuporabljene lokalne sezname? Tukaj so:\n} other {Orodje za razvijalce: Naj izbrišem # neuporabljenih lokalnih seznamov? Tukaj so:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Developer tools: Naj izbrišem 1 neuporabljeno lokalno spremenljivko? Tukaj je:\n} two {Developer tools: Naj izbrišem 2 neuporabljeni lokalni spremenljivki? Tukaj sta:\n} few {Developer tools: Naj izbrišem # neuporabljene lokalne spremenljivke? Tukaj so:\n} other {Orodje za razvijalce: Naj izbrišem # neuporabljenih lokalnih spremenljivk? Tukaj so:\n} }",
|
||||
"editor-devtools/var-not-exist": "Ta spremenljivka ne obstaja...",
|
||||
"editor-devtools/variables": "spremenljivke",
|
||||
"editor-devtools/youtube": "Vodiči na YouTube",
|
||||
"find-bar/find": "Iskanje",
|
||||
"find-bar/find-placeholder": "Iskanje (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "Ustvari sporočilo \"{name}\"",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Ustvari seznam \"{name}\" za vse figure",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Ustvari spremenljivko \"{name}\" za vse figure",
|
||||
@@ -133,6 +103,7 @@
|
||||
"gamepad/axis-none": "Brez",
|
||||
"gamepad/browser-support": "Ta brskalnik in operacijski sistem imata znane napake, ki lahko naredijo uporabo tega dodatka težjo. Če pride do težav, preizkusite drug brskalnik.",
|
||||
"gamepad/button-n": "Gumb {n}",
|
||||
"gamepad/clear": "Izbriši vse",
|
||||
"gamepad/config-header": "Ta komentar vsebuje nastavitve za podporo igralnih ploščkov v orodju ali spletnih straneh, kot je https://turbowarp.org/\nNe spreminjajte ročno",
|
||||
"gamepad/key-click": "Klik miške",
|
||||
"gamepad/key-down": "Dol",
|
||||
@@ -143,6 +114,7 @@
|
||||
"gamepad/key-up": "Gor",
|
||||
"gamepad/keyinput-title": "Kliknite in pritisnite tipko ali kliknite z miško, da izberete gumb. Pritisnite tipko Escape za preklic ali Backspace/Delete, da izbrišete vnos.",
|
||||
"gamepad/no-controllers": "Noben igralni plošček ni bil zaznan. Poskusite ga priključiti in pritisniti gumb na njem.",
|
||||
"gamepad/reset": "Povrni privzete nastavitve",
|
||||
"gamepad/settings": "Nastavitve igralnih ploščkov",
|
||||
"gamepad/store-in-project": "Shrani te nastavitve v projektu, da nadomestijo privzete nastavitve (Preizkusna možnost za ustvarjalce projektov)",
|
||||
"folders/add-to-folder": "dodaj v mapo: {folder}",
|
||||
@@ -229,6 +201,9 @@
|
||||
"blocks2image/export_selected_to_SVG": "Izvozi blok kot SVG",
|
||||
"move-to-top-bottom/bottom": "na dno",
|
||||
"move-to-top-bottom/top": "na vrh",
|
||||
"rename-broadcasts/RENAME_BROADCAST": "Preimenuj sporočilo",
|
||||
"rename-broadcasts/RENAME_BROADCAST_MODAL_TITLE": "Preimenuj sporočilo",
|
||||
"rename-broadcasts/RENAME_BROADCAST_TITLE": "Preimenuj vsa sporočila \"{name}\" v:",
|
||||
"swap-local-global/cant-convert-cloud": "Spremenljivke v oblaku ne morejo biti samo za to figuro.",
|
||||
"swap-local-global/cant-convert-conflict": "Spremenljivke ni mogoče spremeniti, ker ima enako ime kot spremenljivka v drugi figuri: {sprites}",
|
||||
"swap-local-global/cant-convert-stage": "Oder ne more imeti spremenljivk samo za to figuro.",
|
||||
|
||||
@@ -1,53 +1,22 @@
|
||||
{
|
||||
"editor-devtools/bottom": "aşağıya gönder",
|
||||
"editor-devtools/clean-plus": "Blokları temizle +",
|
||||
"editor-devtools/code-tab-features": "Kod Sekmesi Özellikleri",
|
||||
"editor-devtools/copy-all": "Hepsini Kopyala",
|
||||
"editor-devtools/copy-block": "Bloğu Kopyala",
|
||||
"editor-devtools/copy-to-clipboard": "Panoya Kopyala",
|
||||
"editor-devtools/copy-to-clipboard-desc": "Sağ tıklama menüsüne 3 yeni özellik ekler. \"Tümünü Kopyala\", \"Bloğu Kopyala\" ve \"Bloğu Kes\" öğelerini ekler. \"Tümünü Kopyala\", seçilen blokları ve altındaki blokları kopyalar. \"Bloğu Kopyala\", seçilen bloğu kopyalar. \"Bloğu Kes\" ise bloğu kopyalar ve siler.",
|
||||
"editor-devtools/costume-tab-features": "Kostüm Sekmesi Özellikleri",
|
||||
"editor-devtools/ctrl-lr": "Ctrl + Sol, Ctrl + Sağ",
|
||||
"editor-devtools/ctrl-lr-costume-desc": "Bu tuşlar sizi kukladaki önceki / sonraki kostüme götürür.",
|
||||
"editor-devtools/ctrl-lr-desc": "Kod alanında önceki/sonraki ziyaret edilen konuma gidin (engellemek veya aramak için gezinme çubuğunu kullandıktan sonra). Bu, tanımına gitmek için özel bir bloğun ortasına tıklamanıza, ardından daha önce bulunduğunuz yere geri dönmek için Ctrl + Sol tuşlarına basmanıza olanak tanır.",
|
||||
"editor-devtools/ctrl-space": "Ctrl + Boşluk, Orta Tekerlek ya da Üst Karakter + Tıkla",
|
||||
"editor-devtools/ctrl-space-desc": "Bir bloğun (veya bir bölümünün) adını yazabileceğiniz ve bloğu hemen orada kullanmak için kodun içine sürükleyebileceğiniz bir kayar giriş kutusu açar. Aynı anda birden fazla blok eklerken kutunun kapanmaması için sürüklerken Shift tuşuna basılı tutun.",
|
||||
"editor-devtools/cut-block": "Bloğu Kes",
|
||||
"editor-devtools/deep": "Derin",
|
||||
"editor-devtools/find": "Bul",
|
||||
"editor-devtools/find-bar": "Arama Çubuğu",
|
||||
"editor-devtools/find-bar-costume-desc": "Tüm kostümleri isme göre sıralamak için tıklayın ve birini bulmak için yazın. Doğrudan istediğin kostüme atlamak ve bir isme tıklamak için ok tuşlarını veya fareyi kullanın.",
|
||||
"editor-devtools/find-placeholder": "Bul (Ctrl+F)",
|
||||
"editor-devtools/help": "Yardım",
|
||||
"editor-devtools/help-make-space": "Yer Aç",
|
||||
"editor-devtools/help-make-space-desc": "Bloğa sağ tıklayarak ve \"Yer Aç\" seçeneğini seçerek bir bloğun etrafında fazladan boşluk bırakın.",
|
||||
"editor-devtools/help-new": "★Yeni★",
|
||||
"editor-devtools/help-title": "Scratch 3 Geliştirici Araçları",
|
||||
"editor-devtools/improved-tidy-up": "Gelişmiş Kod Temizlemesi ",
|
||||
"editor-devtools/improved-tidy-up-desc": "Kod alanına sağ tıkladığınızda görünen içerik menüsündeki \"Temizle\"yi \"Temizle +\" olarak değiştirir. Blokları ve yorumları hizalar ve kullanılmayan değişkenleri kaldırır.",
|
||||
"editor-devtools/insert": "Ekle",
|
||||
"editor-devtools/interactive-find-bar": "Etkileşimli Arama Çubuğu (Ctrl + F)",
|
||||
"editor-devtools/interactive-find-bar-desc": "Kodlar, Kostümler ve Sesler sekmelerinin sağında bulunan yeni arama çubuğuna tıklayarak bir kuklada tanımlanan Özel Blok, Değişken, Etkinlik veya Şapka bloklarını hızla bulun ve onları kullanın. Listeyi filtrelemek için yazmaya başlayın. Olası sonuçlar arasında geçiş yapmak için yukarı, aşağı ok tuşlarını ve o bloğun bulunan tüm örnekleri arasında geçiş yapmak için sol sağ okları kullanın.",
|
||||
"editor-devtools/lists": "listeler",
|
||||
"editor-devtools/make-space": "Boşluk Yap",
|
||||
"editor-devtools/middleclick": "Tanıma Git",
|
||||
"editor-devtools/middleclick-desc": "Tanım bloğuna gitmek veya arama çubuğunu açmak için farenizin orta düğmesine veya Shift'e tıklayın.",
|
||||
"editor-devtools/orphaned": "{count, plural, one {Geliştirici araçları: Tanımsız 1 haberci bloğu silinsin mi?} other {Geliştirici araçları: Tanımsız # haberci bloğu silinsin mi?} }",
|
||||
"editor-devtools/paste": "Yapıştır",
|
||||
"editor-devtools/paste-from-clipboard": "Panodan Yapıştır",
|
||||
"editor-devtools/paste-from-clipboard-desc": "(Mevcut Scratch gibi kopyaladığınız yere yerleştirmek yerine) fare imlecinizin olduğu yere yapıştırır. Böylece daha sonra yerleştirebilirsiniz.",
|
||||
"editor-devtools/replace": "Geliştirici araçları: {name} değişkeni için bu kuklanın tümünü değiştirin:",
|
||||
"editor-devtools/start-typing": "Yazmaya Başla...",
|
||||
"editor-devtools/swap": "Kuklada {var}'i değiştir",
|
||||
"editor-devtools/swap-variable": "Kukla'daki Değişken ile Değiştirme",
|
||||
"editor-devtools/swap-variable-desc": "Bu yeni seçenek için bir değişkene sağ tıklayın. Mevcut kukladaki bu değişkene yapılan tüm referansları tek seferde başka bir değişkene geçirmenize olanak tanır. Bu, bir hata yaptığınızda ve bir değişkenden diğerine geçmek istediğinizde ya da 'tüm hareketli karakterler için' ile 'yalnızca bu hareketli grafik için' arasında değişiklik yapmanız gerektiğinde harikadır. Bu seçenek eski değişkeni kaldırmayacak ve diğer kuklaların değişkenlerini etkilemeyecektir.",
|
||||
"editor-devtools/top": "yukarıya gönder",
|
||||
"editor-devtools/tutorials": "Öğreticiler",
|
||||
"editor-devtools/unused-list": "{count, plural, one {Geliştirici araçları: Kullanılmayan 1 yerel liste silinsin mi? İşte buradalar:\n} other {Geliştirici araçları: Kullanılmayan # yerel liste silinsin mi? İşte buradalar:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, one {Geliştirici araçları: Kullanılmayan 1 yerel değişken silinsin mi? İşte buradalar:\n} other {Geliştirici araçları: Kullanılmayan # yerel değişken silinsin mi? İşte buradalar:\n} }",
|
||||
"editor-devtools/var-not-exist": "Bu değişken mevcut değil...",
|
||||
"editor-devtools/variables": "değişkenler",
|
||||
"editor-devtools/youtube": "YouTube öğreticileri",
|
||||
"find-bar/find": "Ara",
|
||||
"find-bar/find-placeholder": "Ara (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "\"{name}\" mesajını oluştur",
|
||||
"editor-searchable-dropdowns/createGlobalList": "Tüm kuklalar için \"{name}\" listesini oluştur",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "Tüm kuklalar için \"{name}\" değişkenini oluştur",
|
||||
@@ -127,7 +96,7 @@
|
||||
"variable-manager/for-this-sprite": "Bu kuklanın değişkenleri",
|
||||
"variable-manager/search": "Ara",
|
||||
"variable-manager/variables": "Değişkenler",
|
||||
"search-sprites/placeholder": "Kukla ara...",
|
||||
"search-sprites/placeholder": "Kuklalarda ara...",
|
||||
"gamepad/axes-a-b": "{a} ve {b} eksenleri",
|
||||
"gamepad/axis-arrows": "Ok Tuşları",
|
||||
"gamepad/axis-cursor": "İmleç",
|
||||
@@ -163,8 +132,8 @@
|
||||
"folders/rename-folder-prompt": "Klasörün adını şununla değiştir: ",
|
||||
"folders/rename-folder-prompt-title": "Klasörü Yeniden Adlandır",
|
||||
"block-switching/control_forever": "sürekli",
|
||||
"block-switching/control_if": "eğer",
|
||||
"block-switching/control_if_else": "eğer... değilse",
|
||||
"block-switching/control_if": "eğer ise",
|
||||
"block-switching/control_if_else": "eğer ise... değilse",
|
||||
"block-switching/control_repeat_until": "olana kadar tekrarla",
|
||||
"block-switching/control_wait_until": "olana kadar bekle",
|
||||
"block-switching/data_changevariableby": "değişkeni değiştir",
|
||||
@@ -227,8 +196,8 @@
|
||||
"block-switching/sound_seteffectto": "efekti ayarla",
|
||||
"block-switching/sound_setvolumeto": "sesi ayarla",
|
||||
"blocks2image/error_blocks_not_added": "Çalışma alanına blok ekleyin!",
|
||||
"blocks2image/export_all_to_PNG": "Herşeyi PNG olarak dışa aktar",
|
||||
"blocks2image/export_all_to_SVG": "Herşeyi SVG olarak dışa aktar",
|
||||
"blocks2image/export_all_to_PNG": "Her şeyi PNG olarak dışa aktar",
|
||||
"blocks2image/export_all_to_SVG": "Her şeyi SVG olarak dışa aktar",
|
||||
"blocks2image/export_selected_to_PNG": "Bloğu PNG olarak dışa aktar",
|
||||
"blocks2image/export_selected_to_SVG": "Bloğu SVG olarak dışa aktar",
|
||||
"move-to-top-bottom/bottom": "en alta taşı",
|
||||
|
||||
@@ -1 +1,221 @@
|
||||
{}
|
||||
{
|
||||
"editor-devtools/clean-plus": "整理積木 +",
|
||||
"editor-devtools/copy-all": "複製全部",
|
||||
"editor-devtools/copy-block": "複製積木",
|
||||
"editor-devtools/cut-block": "剪下積木",
|
||||
"editor-devtools/insert": "插入",
|
||||
"editor-devtools/lists": "清單",
|
||||
"editor-devtools/make-space": "騰出空間",
|
||||
"editor-devtools/orphaned": "{count, plural, other {要刪除 # 個單獨存在的積木嗎?} }",
|
||||
"editor-devtools/paste": "貼上",
|
||||
"editor-devtools/replace": "將這個角色上的變數 {name} 全部替換成:",
|
||||
"editor-devtools/start-typing": "開始輸入...",
|
||||
"editor-devtools/swap": "替換角色中的所有{var}",
|
||||
"editor-devtools/unused-list": "{count, plural, other {要刪除 # 個沒有用到的清單嗎?這些清單包含:\n} }",
|
||||
"editor-devtools/unused-var": "{count, plural, other {要刪除 # 個沒有用到的變數嗎?這些變數包含:\n} }",
|
||||
"editor-devtools/var-not-exist": "這個變數不存在…",
|
||||
"editor-devtools/variables": "變數",
|
||||
"find-bar/find": "查找",
|
||||
"find-bar/find-placeholder": "查找 (Ctrl+F)",
|
||||
"editor-searchable-dropdowns/createBroadcast": "建立廣播訊息 {name}",
|
||||
"editor-searchable-dropdowns/createGlobalList": "建立全域清單 {name}",
|
||||
"editor-searchable-dropdowns/createGlobalVariable": "建立全域變數 {name} ",
|
||||
"editor-searchable-dropdowns/createLocalList": "建立區域清單 {name}",
|
||||
"editor-searchable-dropdowns/createLocalVariable": "建立區域變數 {name}",
|
||||
"data-category-tweaks-v2/for-all-sprites": "適用於所有角色:",
|
||||
"data-category-tweaks-v2/for-this-sprite-only": "僅適用於當前角色:",
|
||||
"data-category-tweaks-v2/list-category": "清單",
|
||||
"hide-flyout/lock": "固定工具箱",
|
||||
"hide-flyout/unlock": "取消固定工具箱",
|
||||
"mediarecorder/cancel": "取消",
|
||||
"mediarecorder/click-flag": "正在等待…",
|
||||
"mediarecorder/click-flag-description": "點擊綠旗就會開始錄製,點擊這個按鈕可以停止。",
|
||||
"mediarecorder/option-title": "錄製設定",
|
||||
"mediarecorder/record": "開始錄影",
|
||||
"mediarecorder/record-after-flag": "在綠旗被點擊時才開始錄製",
|
||||
"mediarecorder/record-audio": "包含專案的聲音",
|
||||
"mediarecorder/record-audio-description": "這不包括文字轉語音的聲音。",
|
||||
"mediarecorder/record-description": "錄製的視頻格式為 WebM。在錄製結束後你就可以把它儲存在你的電腦。",
|
||||
"mediarecorder/record-duration": "錄製時長(秒)",
|
||||
"mediarecorder/record-mic": "包含來自麥克風的聲音",
|
||||
"mediarecorder/record-until-stop": "在停止專案運行時也停止錄製",
|
||||
"mediarecorder/record-until-stop-disabled": "你必須啟用「{afterFlagOption}」才可以設定這個項目。",
|
||||
"mediarecorder/start": "開始",
|
||||
"mediarecorder/start-delay": "開始時延遲(秒)",
|
||||
"mediarecorder/starting-in": "錄影倒數 {secs}...",
|
||||
"mediarecorder/stop": "停止錄影",
|
||||
"debugger/block-breakpoint": "中斷點",
|
||||
"debugger/block-error": "錯誤 %s",
|
||||
"debugger/block-log": "記錄 %s",
|
||||
"debugger/block-warn": "警告 %s",
|
||||
"debugger/cannot-pause-player": "中斷點積木只能在編輯器中使用。",
|
||||
"debugger/clear": "清除",
|
||||
"debugger/clone-of": "{sprite}的分身",
|
||||
"debugger/close": "關閉",
|
||||
"debugger/console": "紀錄<br>",
|
||||
"debugger/debug": "偵錯",
|
||||
"debugger/empty-string": "(空字串)",
|
||||
"debugger/enter-format": "輸入匯出格式:",
|
||||
"debugger/export": "匯出",
|
||||
"debugger/export-desc": "按住 Shift 鍵並點擊以自訂匯出格式",
|
||||
"debugger/icon-error": "錯誤",
|
||||
"debugger/icon-warn": "警告",
|
||||
"debugger/log-msg-broadcasted": "廣播了訊息{broadcast}",
|
||||
"debugger/log-msg-clone-cap": "創建{sprite}的分身時失敗,分身的創建不能超過 300 個。",
|
||||
"debugger/log-msg-clone-created": "建立了{sprite}的分身。",
|
||||
"debugger/log-msg-flag-clicked": "綠旗被點擊。",
|
||||
"debugger/no-logs": "沒有可顯示的紀錄。",
|
||||
"debugger/no-threads-running": "沒有運行中的執行緒。",
|
||||
"debugger/step": "步進",
|
||||
"debugger/step-desc": "執行一個積木",
|
||||
"debugger/tab-logs": "紀錄",
|
||||
"debugger/tab-threads": "執行緒",
|
||||
"debugger/thread": "執行緒 {id}",
|
||||
"debugger/unknown-sprite": "(未知角色)",
|
||||
"debugger/unpause": "繼續",
|
||||
"pause/pause": "暫停",
|
||||
"clones/clones": "分身數:{cloneCount}",
|
||||
"color-picker/hex": "hex 色碼",
|
||||
"remove-sprite-confirm/confirm": "確定要刪除這個角色?",
|
||||
"block-count/blocks": "{num, plural, other {# 個程式積木}}",
|
||||
"onion-skinning/behind": "在後面",
|
||||
"onion-skinning/front": "在前面",
|
||||
"onion-skinning/layering": "圖層排列",
|
||||
"onion-skinning/merge": "合併",
|
||||
"onion-skinning/mode": "顯示模式",
|
||||
"onion-skinning/next": "下一個造型",
|
||||
"onion-skinning/opacity": "透明度(%)",
|
||||
"onion-skinning/opacityStep": "透明漸進(%)",
|
||||
"onion-skinning/previous": "上一個造型",
|
||||
"onion-skinning/settings": "描圖紙設定",
|
||||
"onion-skinning/tint": "染色",
|
||||
"onion-skinning/toggle": "描圖紙顯示切換",
|
||||
"2d-color-picker/shade": "陰影",
|
||||
"better-img-uploads/upload": "高清圖片上傳",
|
||||
"variable-manager/for-all-sprites": "所有角色使用的變數",
|
||||
"variable-manager/for-this-sprite": "僅這個角色使用的變數",
|
||||
"variable-manager/search": "搜尋",
|
||||
"variable-manager/variables": "變數",
|
||||
"search-sprites/placeholder": "搜尋角色…",
|
||||
"gamepad/axes-a-b": "軸 {a} 與 {b}",
|
||||
"gamepad/axis-arrows": "方向鍵",
|
||||
"gamepad/axis-cursor": "滑鼠游標",
|
||||
"gamepad/axis-custom": "自訂",
|
||||
"gamepad/axis-none": "無",
|
||||
"gamepad/browser-support": "這個瀏覽器和操作系統有些已知錯誤,可能使這個插件難以使用,如果你碰到了一些問題,請試試其它的瀏覽器。",
|
||||
"gamepad/button-n": "按鈕 {n}",
|
||||
"gamepad/clear": "清空所有控制設置",
|
||||
"gamepad/config-header": "這個註解包含第三方工具或網站(如 https://turbowarp.org/)中的遊戲手柄配置。\n請勿手動修改",
|
||||
"gamepad/key-click": "點擊",
|
||||
"gamepad/key-down": "向下鍵",
|
||||
"gamepad/key-enter": "Enter 鍵",
|
||||
"gamepad/key-left": "向左鍵",
|
||||
"gamepad/key-none": "(無)",
|
||||
"gamepad/key-right": "向右鍵",
|
||||
"gamepad/key-space": "空白鍵",
|
||||
"gamepad/key-up": "向上鍵",
|
||||
"gamepad/keyinput-title": "點擊並按下一個鍵或單擊更改按鈕。ESC 鍵可取消。返回鍵或 Delete 鍵可刪除。",
|
||||
"gamepad/no-controllers": "未檢測到遊戲手柄,請在連接後再按一次按鈕。",
|
||||
"gamepad/reset": "重設所有控制設置到專案預設值",
|
||||
"gamepad/settings": "遊戲手柄設置",
|
||||
"gamepad/store-in-project": "將這些設置儲存在專案裡以覆寫原來的設定(項目創建者的實驗工具)",
|
||||
"folders/add-to-folder": "放進資料夾:{folder}",
|
||||
"folders/closed-folder": "資料夾",
|
||||
"folders/confirm-backpack-folder": "將整個資料夾放進背包?",
|
||||
"folders/create-folder": "創建資料夾",
|
||||
"folders/name-not-allowed": "無效的資料夾名稱",
|
||||
"folders/name-prompt": "資料夾名稱:",
|
||||
"folders/name-prompt-title": "創建資料夾",
|
||||
"folders/open-folder": "已開啟",
|
||||
"folders/remove-folder": "移除資料夾",
|
||||
"folders/remove-from-folder": "移出資料夾",
|
||||
"folders/rename-folder": "更名資料夾",
|
||||
"folders/rename-folder-prompt": "將資料夾重新命名為:",
|
||||
"folders/rename-folder-prompt-title": "重新命名資料夾",
|
||||
"block-switching/control_forever": "重複無限次",
|
||||
"block-switching/control_if": "如果",
|
||||
"block-switching/control_if_else": "如果…否則",
|
||||
"block-switching/control_repeat_until": "等待直到",
|
||||
"block-switching/control_wait_until": "等待直到",
|
||||
"block-switching/data_changevariableby": "變數改變",
|
||||
"block-switching/data_hidelist": "清單隱藏",
|
||||
"block-switching/data_hidevariable": "變數隱藏",
|
||||
"block-switching/data_insertatlist": "插入項目",
|
||||
"block-switching/data_replaceitemoflist": "替換項目",
|
||||
"block-switching/data_setvariableto": "變數設為",
|
||||
"block-switching/data_showlist": "清單顯示",
|
||||
"block-switching/data_showvariable": "變數顯示",
|
||||
"block-switching/debugger_error": "錯誤",
|
||||
"block-switching/debugger_log": "紀錄",
|
||||
"block-switching/debugger_warn": "警告",
|
||||
"block-switching/event_broadcast": "廣播訊息",
|
||||
"block-switching/event_broadcastandwait": "廣播訊息並等待",
|
||||
"block-switching/looks_backdropnumbername": "背景編號或名稱",
|
||||
"block-switching/looks_changeeffectby": "圖像效果改變",
|
||||
"block-switching/looks_changesizeby": "尺寸改變",
|
||||
"block-switching/looks_costumenumbername": "造型編號或名稱",
|
||||
"block-switching/looks_hide": "隱藏",
|
||||
"block-switching/looks_nextbackdrop": "背景換成下一個",
|
||||
"block-switching/looks_nextcostume": "造型換成下一個",
|
||||
"block-switching/looks_say": "說出",
|
||||
"block-switching/looks_sayforsecs": "說出持續",
|
||||
"block-switching/looks_seteffectto": "圖像效果設為",
|
||||
"block-switching/looks_setsizeto": "尺寸設為",
|
||||
"block-switching/looks_show": "顯示",
|
||||
"block-switching/looks_switchbackdropto": "背景換成",
|
||||
"block-switching/looks_switchbackdroptoandwait": "背景換成並等待",
|
||||
"block-switching/looks_think": "想著",
|
||||
"block-switching/looks_thinkforsecs": "想著持續",
|
||||
"block-switching/motion_changexby": "x 改變",
|
||||
"block-switching/motion_changeyby": "y 改變",
|
||||
"block-switching/motion_setx": "x 設為",
|
||||
"block-switching/motion_sety": "y 設為",
|
||||
"block-switching/motion_turnleft": "左轉",
|
||||
"block-switching/motion_turnright": "右轉",
|
||||
"block-switching/motion_xposition": "x 座標",
|
||||
"block-switching/motion_yposition": "y 座標",
|
||||
"block-switching/music_changeTempo": "演奏速度改變",
|
||||
"block-switching/music_setTempo": "演奏速度設為",
|
||||
"block-switching/operator_and": "且",
|
||||
"block-switching/operator_mod": "取餘數",
|
||||
"block-switching/operator_or": "或",
|
||||
"block-switching/pen_changePenColorParamBy": "參數改變",
|
||||
"block-switching/pen_changePenHueBy": "顏色改變",
|
||||
"block-switching/pen_changePenShadeBy": "陰影改變",
|
||||
"block-switching/pen_changePenSizeBy": "筆跡寬度改變",
|
||||
"block-switching/pen_penDown": "下筆",
|
||||
"block-switching/pen_penUp": "停筆",
|
||||
"block-switching/pen_setPenColorParamTo": "參數設為",
|
||||
"block-switching/pen_setPenHueToNumber": "顏色設為",
|
||||
"block-switching/pen_setPenShadeToNumber": "陰影設為",
|
||||
"block-switching/pen_setPenSizeTo": "筆跡寬度設為",
|
||||
"block-switching/sensing_mousex": "鼠標的 x",
|
||||
"block-switching/sensing_mousey": "鼠標的 y",
|
||||
"block-switching/sound_changeeffectby": "聲音效果改變",
|
||||
"block-switching/sound_changevolumeby": "音量改變",
|
||||
"block-switching/sound_play": "播放音效",
|
||||
"block-switching/sound_playuntildone": "播放音效直到結束",
|
||||
"block-switching/sound_seteffectto": "聲音效果設為",
|
||||
"block-switching/sound_setvolumeto": "音量設為",
|
||||
"blocks2image/error_blocks_not_added": "添加積木到編輯區!",
|
||||
"blocks2image/export_all_to_PNG": "匯出全部積木成 PNG 圖像",
|
||||
"blocks2image/export_all_to_SVG": "匯出全部積木成 SVG 圖像",
|
||||
"blocks2image/export_selected_to_PNG": "匯出積木成 PNG 圖像",
|
||||
"blocks2image/export_selected_to_SVG": "匯出積木成 SVG 圖像",
|
||||
"editor-extra-keys/enter-key": "Enter",
|
||||
"move-to-top-bottom/bottom": "移至最下面",
|
||||
"move-to-top-bottom/top": "移至最上面",
|
||||
"swap-local-global/cant-convert-cloud": "無法轉換,雲端變數不能被轉換成「僅適用當前角色」。",
|
||||
"swap-local-global/cant-convert-conflict": "無法轉換,因為會和其它角色中相同名稱的變數衝突:{sprites}",
|
||||
"swap-local-global/cant-convert-stage": "舞台不能有「僅適用當前角色」的變數。",
|
||||
"swap-local-global/cant-convert-to-local": "無法轉換,因為有其它角色也在使用這個變數:{sprites}",
|
||||
"swap-local-global/cant-convert-used-elsewhere": "無法轉換,因為有另一個角色也在使用這個變數:{sprite}",
|
||||
"swap-local-global/edit": "編輯屬性:",
|
||||
"swap-local-global/edit-list-header": "編輯清單",
|
||||
"swap-local-global/edit-list-option": "編輯清單",
|
||||
"swap-local-global/edit-variable-header": "編輯變數",
|
||||
"swap-local-global/edit-variable-option": "編輯變數",
|
||||
"swap-local-global/to-global": "轉換成「適用於所有角色」",
|
||||
"swap-local-global/to-local": "轉換成「僅適用當前角色」",
|
||||
"hide-stage/hide-stage": "隱藏舞台"
|
||||
}
|
||||
@@ -3,6 +3,8 @@
|
||||
const addons = [
|
||||
'cat-blocks',
|
||||
'editor-devtools',
|
||||
'find-bar',
|
||||
'jump-to-def',
|
||||
'editor-searchable-dropdowns',
|
||||
'data-category-tweaks-v2',
|
||||
'block-palette-icons',
|
||||
@@ -12,6 +14,7 @@ const addons = [
|
||||
'debugger',
|
||||
'pause',
|
||||
'mute-project',
|
||||
'vol-slider',
|
||||
'clones',
|
||||
'mouse-pos',
|
||||
'color-picker',
|
||||
@@ -67,6 +70,7 @@ const addons = [
|
||||
];
|
||||
|
||||
const newAddons = [
|
||||
'vol-slider',
|
||||
'rename-broadcasts'
|
||||
];
|
||||
|
||||
|
||||
@@ -1,46 +1,56 @@
|
||||
.scratchCategoryItemBubble {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.scratchCategoryItemBubble::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
background-position: center;
|
||||
background-repeat: no-repeat;
|
||||
background-size: cover;
|
||||
}
|
||||
|
||||
.scratchCategoryId-motion .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-motion .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/motion_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-looks .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-looks .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/looks_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-sound .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-sound .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/sound_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-events .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-events .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/events_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-control .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-control .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/control_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-sensing .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-sensing .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/sensing_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-operators .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-operators .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/operators_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-variables .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-variables .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/variables_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-lists .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-lists .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/list_icon.svg);
|
||||
}
|
||||
|
||||
.scratchCategoryId-myBlocks .scratchCategoryItemBubble {
|
||||
.scratchCategoryId-myBlocks .scratchCategoryItemBubble::after {
|
||||
background-image: url(icons/block_icon.svg);
|
||||
}
|
||||
|
||||
|
||||
@@ -1,21 +1,35 @@
|
||||
export default async function ({ addon, global, console, msg }) {
|
||||
let style = document.createElement("style");
|
||||
style.textContent = `
|
||||
.blocklyText {
|
||||
fill: #fff;
|
||||
font-family: "Helvetica Neue", Helvetica, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: 500;
|
||||
function makeStyle() {
|
||||
let style = document.createElement("style");
|
||||
style.textContent = `
|
||||
.blocklyText {
|
||||
fill: #fff;
|
||||
font-family: "Helvetica Neue", Helvetica, sans-serif;
|
||||
font-size: 12pt;
|
||||
font-weight: 500;
|
||||
}
|
||||
.blocklyNonEditableText>text, .blocklyEditableText>text {
|
||||
fill: #575E75;
|
||||
}
|
||||
.blocklyDropdownText {
|
||||
fill: #fff !important;
|
||||
}
|
||||
`;
|
||||
for (let userstyle of document.querySelectorAll(".scratch-addons-style[data-addon-id='editor-theme3']")) {
|
||||
if (userstyle.disabled) continue;
|
||||
style.textContent += userstyle.textContent;
|
||||
}
|
||||
return style;
|
||||
}
|
||||
.blocklyNonEditableText>text, .blocklyEditableText>text {
|
||||
fill: #575E75;
|
||||
|
||||
function setCSSVars(element) {
|
||||
for (let property of document.documentElement.style) {
|
||||
if (property.startsWith("--editorTheme3-"))
|
||||
element.style.setProperty(property, document.documentElement.style.getPropertyValue(property));
|
||||
}
|
||||
}
|
||||
.blocklyDropdownText {
|
||||
fill: #fff !important;
|
||||
}
|
||||
`;
|
||||
let exSVG = document.createElement("svg");
|
||||
exSVG.setAttribute("xmlns", "http://www.w3.org/2000/svg");
|
||||
|
||||
let exSVG = document.createElementNS("http://www.w3.org/2000/svg", "svg");
|
||||
exSVG.setAttribute("xmlns:html", "http://www.w3.org/1999/xhtml");
|
||||
exSVG.setAttribute("xmlns:xlink", "http://www.w3.org/1999/xlink");
|
||||
exSVG.setAttribute("version", "1.1");
|
||||
@@ -149,9 +163,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
}
|
||||
});
|
||||
if (!isExportPNG) {
|
||||
let tmp = document.createElement("div");
|
||||
tmp.appendChild(svg);
|
||||
exportData(tmp.innerHTML);
|
||||
exportData(new XMLSerializer().serializeToString(svg));
|
||||
} else {
|
||||
exportPNG(svg);
|
||||
}
|
||||
@@ -167,7 +179,8 @@ export default async function ({ addon, global, console, msg }) {
|
||||
"transform",
|
||||
`translate(0,${dataShapes === "hat" ? "18" : "0"}) ${isExportPNG ? "scale(2)" : ""}`
|
||||
);
|
||||
svg.append(style);
|
||||
setCSSVars(svg);
|
||||
svg.append(makeStyle());
|
||||
svg.append(svgchild);
|
||||
return svg;
|
||||
}
|
||||
@@ -195,7 +208,8 @@ export default async function ({ addon, global, console, msg }) {
|
||||
isExportPNG ? "scale(2)" : ""
|
||||
}`
|
||||
);
|
||||
svg.append(style);
|
||||
setCSSVars(svg);
|
||||
svg.append(makeStyle());
|
||||
svg.append(svgchild);
|
||||
return svg;
|
||||
}
|
||||
@@ -218,13 +232,12 @@ export default async function ({ addon, global, console, msg }) {
|
||||
}
|
||||
|
||||
function exportPNG(svg) {
|
||||
const div = document.createElement("div");
|
||||
div.appendChild(svg);
|
||||
const serializer = new XMLSerializer();
|
||||
|
||||
const iframe = document.createElement("iframe");
|
||||
// iframe.style.display = "none"
|
||||
document.body.append(iframe);
|
||||
iframe.contentDocument.write(div.innerHTML);
|
||||
iframe.contentDocument.write(serializer.serializeToString(svg));
|
||||
let { width, height } = iframe.contentDocument.body.querySelector("svg g").getBoundingClientRect();
|
||||
height = height + 20 * 2; // hat block height restore
|
||||
svg.setAttribute("width", width + "px");
|
||||
@@ -235,7 +248,10 @@ export default async function ({ addon, global, console, msg }) {
|
||||
|
||||
let img = document.createElement("img");
|
||||
|
||||
img.setAttribute("src", "data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(div.innerHTML))));
|
||||
img.setAttribute(
|
||||
"src",
|
||||
"data:image/svg+xml;base64," + btoa(unescape(encodeURIComponent(serializer.serializeToString(svg))))
|
||||
);
|
||||
img.onload = function () {
|
||||
canvas.height = img.height;
|
||||
canvas.width = img.width;
|
||||
|
||||
@@ -1,3 +1,7 @@
|
||||
/**
|
||||
* !!! TW: This file is unused.
|
||||
*/
|
||||
|
||||
import { normalizeHex, getHexRegex } from "../../libraries/common/cs/normalize-color.js";
|
||||
import RateLimiter from "../../libraries/common/cs/rate-limiter.js";
|
||||
import tinycolor from "../../libraries/thirdparty/cs/tinycolor-min.js";
|
||||
@@ -36,7 +40,9 @@ export default async ({ addon, console, msg }) => {
|
||||
setTimeout(() => {
|
||||
const previousTool = addon.tab.redux.state.scratchPaint.color.eyeDropper.previousTool;
|
||||
if (previousTool) previousTool.activate();
|
||||
addon.tab.redux.state.scratchPaint.color.eyeDropper.callback(hex);
|
||||
addon.tab.redux.state.scratchPaint.color.eyeDropper.callback(
|
||||
tinycolor(hex).setAlpha(scratchAddons.opacitySliderAlpha).toRgbString()
|
||||
);
|
||||
addon.tab.redux.dispatch({
|
||||
type: "scratch-paint/eye-dropper/DEACTIVATE_COLOR_PICKER",
|
||||
});
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
<svg width="20" height="20" xmlns="http://www.w3.org/2000/svg"><g stroke="#4C97FF" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"><path style="fill:#575e75;fill-opacity:1;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1;paint-order:markers stroke fill" d="M4 3.5c-.831 0-1.5.669-1.5 1.5v10c0 .831.669 1.5 1.5 1.5h12c.831 0 1.5-.669 1.5-1.5V5c0-.831-.669-1.5-1.5-1.5Zm0 1h12c.277 0 .5.223.5.5v10c0 .277-.223.5-.5.5H4a.499.499 0 0 1-.5-.5V5c0-.277.223-.5.5-.5Z" stroke="none"/><path d="m5.417 7.5 3.75 2.5-3.75 2.5m5 0h4.166" style="fill:none;stroke:#8f8f8f;stroke-width:1;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"/></g><circle fill="#4C97FF" cx="16" cy="4" r="3"/></svg>
|
||||
|
Before Width: | Height: | Size: 799 B |
@@ -1,31 +1,29 @@
|
||||
/* inserted by pull.js */
|
||||
import _twAsset0 from "!url-loader!./icons/close.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug-unread.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset12 from "!url-loader!./icons/warning.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/warning.svg";
|
||||
const _twGetAsset = (path) => {
|
||||
if (path === "/icons/close.svg") return _twAsset0;
|
||||
if (path === "/icons/debug-unread.svg") return _twAsset1;
|
||||
if (path === "/icons/debug.svg") return _twAsset2;
|
||||
if (path === "/icons/delete.svg") return _twAsset3;
|
||||
if (path === "/icons/download-white.svg") return _twAsset4;
|
||||
if (path === "/icons/error.svg") return _twAsset5;
|
||||
if (path === "/icons/logs.svg") return _twAsset6;
|
||||
if (path === "/icons/performance.svg") return _twAsset7;
|
||||
if (path === "/icons/play.svg") return _twAsset8;
|
||||
if (path === "/icons/step.svg") return _twAsset9;
|
||||
if (path === "/icons/subthread.svg") return _twAsset10;
|
||||
if (path === "/icons/threads.svg") return _twAsset11;
|
||||
if (path === "/icons/warning.svg") return _twAsset12;
|
||||
if (path === "/icons/debug.svg") return _twAsset1;
|
||||
if (path === "/icons/delete.svg") return _twAsset2;
|
||||
if (path === "/icons/download-white.svg") return _twAsset3;
|
||||
if (path === "/icons/error.svg") return _twAsset4;
|
||||
if (path === "/icons/logs.svg") return _twAsset5;
|
||||
if (path === "/icons/performance.svg") return _twAsset6;
|
||||
if (path === "/icons/play.svg") return _twAsset7;
|
||||
if (path === "/icons/step.svg") return _twAsset8;
|
||||
if (path === "/icons/subthread.svg") return _twAsset9;
|
||||
if (path === "/icons/threads.svg") return _twAsset10;
|
||||
if (path === "/icons/warning.svg") return _twAsset11;
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,31 +1,29 @@
|
||||
/* inserted by pull.js */
|
||||
import _twAsset0 from "!url-loader!./icons/close.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug-unread.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset12 from "!url-loader!./icons/warning.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/warning.svg";
|
||||
const _twGetAsset = (path) => {
|
||||
if (path === "/icons/close.svg") return _twAsset0;
|
||||
if (path === "/icons/debug-unread.svg") return _twAsset1;
|
||||
if (path === "/icons/debug.svg") return _twAsset2;
|
||||
if (path === "/icons/delete.svg") return _twAsset3;
|
||||
if (path === "/icons/download-white.svg") return _twAsset4;
|
||||
if (path === "/icons/error.svg") return _twAsset5;
|
||||
if (path === "/icons/logs.svg") return _twAsset6;
|
||||
if (path === "/icons/performance.svg") return _twAsset7;
|
||||
if (path === "/icons/play.svg") return _twAsset8;
|
||||
if (path === "/icons/step.svg") return _twAsset9;
|
||||
if (path === "/icons/subthread.svg") return _twAsset10;
|
||||
if (path === "/icons/threads.svg") return _twAsset11;
|
||||
if (path === "/icons/warning.svg") return _twAsset12;
|
||||
if (path === "/icons/debug.svg") return _twAsset1;
|
||||
if (path === "/icons/delete.svg") return _twAsset2;
|
||||
if (path === "/icons/download-white.svg") return _twAsset3;
|
||||
if (path === "/icons/error.svg") return _twAsset4;
|
||||
if (path === "/icons/logs.svg") return _twAsset5;
|
||||
if (path === "/icons/performance.svg") return _twAsset6;
|
||||
if (path === "/icons/play.svg") return _twAsset7;
|
||||
if (path === "/icons/step.svg") return _twAsset8;
|
||||
if (path === "/icons/subthread.svg") return _twAsset9;
|
||||
if (path === "/icons/threads.svg") return _twAsset10;
|
||||
if (path === "/icons/warning.svg") return _twAsset11;
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@import url("../editor-theme3/compatibility.css");
|
||||
|
||||
[dir="ltr"] .sa-debugger-container {
|
||||
margin-right: 0.2rem;
|
||||
}
|
||||
@@ -10,6 +12,22 @@
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.sa-debugger-container [class*="button_content_"] {
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.sa-debugger-unread::after {
|
||||
content: "";
|
||||
position: absolute;
|
||||
top: 1px;
|
||||
right: 0;
|
||||
display: block;
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
background-color: var(--editorDarkMode-highlightText, #4d97ff);
|
||||
border-radius: 50%;
|
||||
}
|
||||
|
||||
.sa-debugger-interface {
|
||||
display: none;
|
||||
position: absolute;
|
||||
@@ -257,9 +275,10 @@
|
||||
}
|
||||
|
||||
.sa-debugger-block-preview {
|
||||
color: white;
|
||||
padding: 1px 6px;
|
||||
margin-right: 4px;
|
||||
background-color: var(--sa-block-colored-background);
|
||||
color: var(--sa-block-text);
|
||||
}
|
||||
.sa-debugger-block-preview[data-shape="round"] {
|
||||
border-radius: 100px;
|
||||
|
||||
@@ -1,31 +1,29 @@
|
||||
/* inserted by pull.js */
|
||||
import _twAsset0 from "!url-loader!./icons/close.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug-unread.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset12 from "!url-loader!./icons/warning.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/warning.svg";
|
||||
const _twGetAsset = (path) => {
|
||||
if (path === "/icons/close.svg") return _twAsset0;
|
||||
if (path === "/icons/debug-unread.svg") return _twAsset1;
|
||||
if (path === "/icons/debug.svg") return _twAsset2;
|
||||
if (path === "/icons/delete.svg") return _twAsset3;
|
||||
if (path === "/icons/download-white.svg") return _twAsset4;
|
||||
if (path === "/icons/error.svg") return _twAsset5;
|
||||
if (path === "/icons/logs.svg") return _twAsset6;
|
||||
if (path === "/icons/performance.svg") return _twAsset7;
|
||||
if (path === "/icons/play.svg") return _twAsset8;
|
||||
if (path === "/icons/step.svg") return _twAsset9;
|
||||
if (path === "/icons/subthread.svg") return _twAsset10;
|
||||
if (path === "/icons/threads.svg") return _twAsset11;
|
||||
if (path === "/icons/warning.svg") return _twAsset12;
|
||||
if (path === "/icons/debug.svg") return _twAsset1;
|
||||
if (path === "/icons/delete.svg") return _twAsset2;
|
||||
if (path === "/icons/download-white.svg") return _twAsset3;
|
||||
if (path === "/icons/error.svg") return _twAsset4;
|
||||
if (path === "/icons/logs.svg") return _twAsset5;
|
||||
if (path === "/icons/performance.svg") return _twAsset6;
|
||||
if (path === "/icons/play.svg") return _twAsset7;
|
||||
if (path === "/icons/step.svg") return _twAsset8;
|
||||
if (path === "/icons/subthread.svg") return _twAsset9;
|
||||
if (path === "/icons/threads.svg") return _twAsset10;
|
||||
if (path === "/icons/warning.svg") return _twAsset11;
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
|
||||
@@ -1,38 +1,37 @@
|
||||
/* inserted by pull.js */
|
||||
import _twAsset0 from "!url-loader!./icons/close.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug-unread.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset12 from "!url-loader!./icons/warning.svg";
|
||||
import _twAsset1 from "!url-loader!./icons/debug.svg";
|
||||
import _twAsset2 from "!url-loader!./icons/delete.svg";
|
||||
import _twAsset3 from "!url-loader!./icons/download-white.svg";
|
||||
import _twAsset4 from "!url-loader!./icons/error.svg";
|
||||
import _twAsset5 from "!url-loader!./icons/logs.svg";
|
||||
import _twAsset6 from "!url-loader!./icons/performance.svg";
|
||||
import _twAsset7 from "!url-loader!./icons/play.svg";
|
||||
import _twAsset8 from "!url-loader!./icons/step.svg";
|
||||
import _twAsset9 from "!url-loader!./icons/subthread.svg";
|
||||
import _twAsset10 from "!url-loader!./icons/threads.svg";
|
||||
import _twAsset11 from "!url-loader!./icons/warning.svg";
|
||||
const _twGetAsset = (path) => {
|
||||
if (path === "/icons/close.svg") return _twAsset0;
|
||||
if (path === "/icons/debug-unread.svg") return _twAsset1;
|
||||
if (path === "/icons/debug.svg") return _twAsset2;
|
||||
if (path === "/icons/delete.svg") return _twAsset3;
|
||||
if (path === "/icons/download-white.svg") return _twAsset4;
|
||||
if (path === "/icons/error.svg") return _twAsset5;
|
||||
if (path === "/icons/logs.svg") return _twAsset6;
|
||||
if (path === "/icons/performance.svg") return _twAsset7;
|
||||
if (path === "/icons/play.svg") return _twAsset8;
|
||||
if (path === "/icons/step.svg") return _twAsset9;
|
||||
if (path === "/icons/subthread.svg") return _twAsset10;
|
||||
if (path === "/icons/threads.svg") return _twAsset11;
|
||||
if (path === "/icons/warning.svg") return _twAsset12;
|
||||
if (path === "/icons/debug.svg") return _twAsset1;
|
||||
if (path === "/icons/delete.svg") return _twAsset2;
|
||||
if (path === "/icons/download-white.svg") return _twAsset3;
|
||||
if (path === "/icons/error.svg") return _twAsset4;
|
||||
if (path === "/icons/logs.svg") return _twAsset5;
|
||||
if (path === "/icons/performance.svg") return _twAsset6;
|
||||
if (path === "/icons/play.svg") return _twAsset7;
|
||||
if (path === "/icons/step.svg") return _twAsset8;
|
||||
if (path === "/icons/subthread.svg") return _twAsset9;
|
||||
if (path === "/icons/threads.svg") return _twAsset10;
|
||||
if (path === "/icons/warning.svg") return _twAsset11;
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
import { isPaused, setPaused, onPauseChanged, setup } from "./module.js";
|
||||
import createLogsTab from "./logs.js";
|
||||
import createThreadsTab from "./threads.js";
|
||||
import DevtoolsUtils from "../editor-devtools/blockly/Utils.js";
|
||||
import createPerformanceTab from "./performance.js";
|
||||
import Utils from "../find-bar/blockly/Utils.js";
|
||||
|
||||
const removeAllChildren = (element) => {
|
||||
while (element.firstChild) {
|
||||
@@ -115,11 +114,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
debuggerButton.addEventListener("click", () => setInterfaceVisible(true));
|
||||
|
||||
const setHasUnreadMessage = (unreadMessage) => {
|
||||
// setting image.src is slow, only do it when necessary
|
||||
const newImage = _twGetAsset((unreadMessage ? "/icons/debug-unread.svg" : "/icons/debug.svg"));
|
||||
if (debuggerButtonImage.src !== newImage) {
|
||||
debuggerButtonImage.src = newImage;
|
||||
}
|
||||
debuggerButtonContent.classList.toggle("sa-debugger-unread", unreadMessage);
|
||||
};
|
||||
|
||||
const interfaceContainer = Object.assign(document.createElement("div"), {
|
||||
@@ -349,7 +344,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
// Don't scroll to blocks in the flyout
|
||||
if (block.workspace.isFlyout) return;
|
||||
|
||||
new DevtoolsUtils(addon).scrollBlockIntoView(blockId);
|
||||
new Utils(addon).scrollBlockIntoView(blockId);
|
||||
};
|
||||
|
||||
// May be slightly incorrect in some edge cases.
|
||||
@@ -421,7 +416,6 @@ export default async function ({ addon, global, console, msg }) {
|
||||
let text;
|
||||
let category;
|
||||
let shape;
|
||||
let color;
|
||||
if (
|
||||
block.opcode === "data_variable" ||
|
||||
block.opcode === "data_listcontents" ||
|
||||
@@ -443,7 +437,6 @@ export default async function ({ addon, global, console, msg }) {
|
||||
const customBlock = addon.tab.getCustomBlock(proccode);
|
||||
if (customBlock) {
|
||||
category = "addon-custom-block";
|
||||
color = customBlock.color;
|
||||
} else {
|
||||
category = "more";
|
||||
}
|
||||
@@ -479,7 +472,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
if (!text) {
|
||||
return null;
|
||||
}
|
||||
category = jsonData.category;
|
||||
category = jsonData.extensions.includes("scratch_extension") ? "pen" : jsonData.category;
|
||||
const isStatement =
|
||||
(jsonData.extensions &&
|
||||
(jsonData.extensions.includes("shape_statement") ||
|
||||
@@ -493,33 +486,18 @@ export default async function ({ addon, global, console, msg }) {
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!color) {
|
||||
const blocklyCategoryMap = {
|
||||
"data-lists": "data_lists",
|
||||
list: "data_lists",
|
||||
events: "event",
|
||||
};
|
||||
const blocklyColor = ScratchBlocks.Colours[blocklyCategoryMap[category] || category];
|
||||
if (blocklyColor) {
|
||||
color = blocklyColor.primary;
|
||||
} else {
|
||||
// block probably belongs to an extension
|
||||
color = ScratchBlocks.Colours.pen.primary;
|
||||
}
|
||||
}
|
||||
|
||||
const element = document.createElement("span");
|
||||
element.className = "sa-debugger-block-preview";
|
||||
element.className = "sa-debugger-block-preview sa-block-color";
|
||||
element.textContent = text;
|
||||
element.style.backgroundColor = color;
|
||||
element.dataset.shape = shape;
|
||||
|
||||
// data-category is used for editor-theme3 compatibility
|
||||
const colorCategoryMap = {
|
||||
list: "data-lists",
|
||||
more: "custom",
|
||||
const colorIds = {
|
||||
"addon-custom-block": "sa",
|
||||
"data-lists": "data_lists",
|
||||
list: "data_lists",
|
||||
events: "event",
|
||||
};
|
||||
element.dataset.category = colorCategoryMap[category] || category;
|
||||
element.classList.add(`sa-block-color-${colorIds[category] || category}`);
|
||||
|
||||
return element;
|
||||
};
|
||||
|
||||
@@ -40,7 +40,7 @@ const manifest = {
|
||||
},
|
||||
{
|
||||
"dynamic": true,
|
||||
"name": "Use previous color instead of default when switching tools",
|
||||
"name": "Use previous color instead of resetting after switching tools",
|
||||
"id": "persistence",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
|
||||
@@ -77,7 +77,7 @@ export default async function ({ addon, global, console }) {
|
||||
callback = async (files) => {
|
||||
const text = (await Promise.all(Array.from(files, (file) => file.text())))
|
||||
.join("")
|
||||
// Match pasting behaviour: remove all newline characters at the end
|
||||
// Match pasting behavior: remove all newline characters at the end
|
||||
.replace(/[\r\n]+$/, "")
|
||||
.replace(/\r?\n|\r/g, " ");
|
||||
const selectionStart = el.selectionStart;
|
||||
|
||||
@@ -4,12 +4,12 @@
|
||||
}
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem-highlight,
|
||||
.sa-contextmenu-colored .s3dev-mi:hover {
|
||||
background-color: var(--sa-contextmenu-hover) !important;
|
||||
background-color: #0001;
|
||||
border-color: transparent !important;
|
||||
}
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem[style*="border-top"] {
|
||||
border-top-color: var(--sa-contextmenu-border) !important;
|
||||
}
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem .goog-menuitem-content {
|
||||
color: var(--sa-contextmenu-text);
|
||||
color: white;
|
||||
}
|
||||
@@ -1,3 +1,5 @@
|
||||
import { removeAlpha } from "../../libraries/common/cs/text-color.esm.js";
|
||||
|
||||
export default async function ({ addon, global, console }) {
|
||||
const ScratchBlocks = await addon.tab.traps.getBlockly();
|
||||
|
||||
@@ -10,16 +12,11 @@ export default async function ({ addon, global, console }) {
|
||||
if (!background) {
|
||||
return;
|
||||
}
|
||||
const style = window.getComputedStyle(background);
|
||||
const fill = style.getPropertyValue("fill");
|
||||
const border = style.getPropertyValue("stroke") || "#0003";
|
||||
const textColor = style.getPropertyValue("--sa-block-text-color") || "#fff";
|
||||
const hoverBg = style.getPropertyValue("--sa-block-secondary-color") || "#0001";
|
||||
const fill = removeAlpha(background.getAttribute("fill"));
|
||||
const border = background.getAttribute("stroke") || "#0003";
|
||||
widgetDiv.classList.add("sa-contextmenu-colored");
|
||||
widgetDiv.style.setProperty("--sa-contextmenu-bg", fill);
|
||||
widgetDiv.style.setProperty("--sa-contextmenu-border", border);
|
||||
widgetDiv.style.setProperty("--sa-contextmenu-text", textColor);
|
||||
widgetDiv.style.setProperty("--sa-contextmenu-hover", hoverBg);
|
||||
};
|
||||
|
||||
const originalHandleRightClick = ScratchBlocks.Gesture.prototype.handleRightClick;
|
||||
|
||||
File diff suppressed because it is too large.
Load diff
File renamed without changes.
@@ -2,7 +2,7 @@
|
||||
const manifest = {
|
||||
"editorOnly": true,
|
||||
"name": "Developer tools",
|
||||
"description": "Adds a find box and new menu options to the editor: copy/paste blocks, better clean up, go to custom block definition, and more! Press Ctrl+F to focus the find box, Ctrl+Space to bring up the \"add block by name\" popup, Ctrl+Left/Right to navigate find history.",
|
||||
"description": "Adds new menu options to the editor: copy/paste blocks, better clean up, and more! Use Ctrl+Space (Shift+Space on macOS) to bring up the \"add block by name\" popup.",
|
||||
"credits": [
|
||||
{
|
||||
"name": "griffpatch"
|
||||
@@ -22,13 +22,6 @@ const manifest = {
|
||||
"id": "enablePasteBlocksAtMouse",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
},
|
||||
{
|
||||
"dynamic": true,
|
||||
"name": "Middle mouse click variables, custom blocks or events to navigate",
|
||||
"id": "enableMiddleClickFinder",
|
||||
"type": "boolean",
|
||||
"default": true
|
||||
}
|
||||
],
|
||||
"userscripts": [
|
||||
|
||||
@@ -1,9 +1,4 @@
|
||||
#s3devToolBar {
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
width: 100%;
|
||||
}
|
||||
@import url("../editor-theme3/compatibility.css");
|
||||
|
||||
.s3devLabel {
|
||||
display: flex;
|
||||
@@ -28,16 +23,6 @@
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.s3devAction {
|
||||
transition: opacity 200ms ease-in;
|
||||
/*font-weight: bold;*/
|
||||
opacity: 0;
|
||||
}
|
||||
|
||||
.s3devLabel:hover .s3devAction {
|
||||
opacity: 0.7;
|
||||
}
|
||||
|
||||
/* Wrapper around find button and drop down */
|
||||
.s3devWrap {
|
||||
overflow: visible;
|
||||
@@ -45,20 +30,6 @@
|
||||
position: relative;
|
||||
}
|
||||
|
||||
#s3devFind {
|
||||
height: 2rem;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
/* We need to modify Scratch styles so that the place where the find bar is injected */
|
||||
/* has actually correct size information, which is used to make the find bar not cover up controls */
|
||||
[class*="gui_tab-list_"] {
|
||||
width: 100%;
|
||||
}
|
||||
[class*="gui_tab_"] {
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
/* Find Input Box */
|
||||
input.s3devInp {
|
||||
width: 100%;
|
||||
@@ -136,6 +107,7 @@ ul.s3devDD {
|
||||
padding: 0.5em 0.3em;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
color: var(--sa-block-colored-text);
|
||||
font-weight: bold;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
@@ -149,7 +121,8 @@ ul.s3devDD {
|
||||
/* Drop down items */
|
||||
.s3devDD > li:hover,
|
||||
.s3devDD > li.sel {
|
||||
color: white;
|
||||
background-color: var(--sa-block-bright-background);
|
||||
color: var(--sa-block-text-on-bright-background);
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
@@ -157,190 +130,37 @@ ul.s3devDD {
|
||||
content: "\25CF "; /* ● */
|
||||
}
|
||||
|
||||
.define {
|
||||
color: rgb(255, 102, 128);
|
||||
}
|
||||
.define:hover,
|
||||
.define.sel {
|
||||
background-color: rgb(255, 102, 128);
|
||||
}
|
||||
|
||||
.flag {
|
||||
color: #4cbf56;
|
||||
}
|
||||
.flag:hover,
|
||||
.flag.sel {
|
||||
background-color: #4cbf56;
|
||||
}
|
||||
|
||||
.receive {
|
||||
color: rgb(255, 191, 0);
|
||||
}
|
||||
.receive:hover,
|
||||
.receive.sel {
|
||||
background-color: rgb(255, 191, 0);
|
||||
}
|
||||
|
||||
.event {
|
||||
color: rgb(255, 191, 0);
|
||||
}
|
||||
.event:hover,
|
||||
.event.sel {
|
||||
background-color: rgb(255, 191, 0);
|
||||
}
|
||||
|
||||
.var,
|
||||
.VAR {
|
||||
color: rgb(255, 120, 26);
|
||||
}
|
||||
.var:hover,
|
||||
.var.sel,
|
||||
.VAR:hover,
|
||||
.VAR.sel {
|
||||
background-color: rgb(255, 120, 26);
|
||||
}
|
||||
|
||||
.list,
|
||||
.LIST {
|
||||
color: rgb(255, 102, 26);
|
||||
}
|
||||
.list:hover,
|
||||
.list.sel,
|
||||
.LIST:hover,
|
||||
.LIST.sel {
|
||||
background-color: rgb(255, 102, 26);
|
||||
}
|
||||
|
||||
.costume {
|
||||
color: rgb(26, 66, 255);
|
||||
}
|
||||
.costume:hover,
|
||||
.costume.sel {
|
||||
background-color: rgb(26, 66, 255);
|
||||
}
|
||||
|
||||
.operators {
|
||||
background-color: rgb(64, 191, 74);
|
||||
color: rgb(56, 148, 56);
|
||||
}
|
||||
.operators:hover,
|
||||
.operators.sel {
|
||||
background-color: rgb(56, 148, 56);
|
||||
}
|
||||
|
||||
.data {
|
||||
background-color: rgb(255, 140, 26);
|
||||
color: rgb(219, 110, 0);
|
||||
}
|
||||
.data:hover,
|
||||
.data.sel {
|
||||
background-color: rgb(219, 110, 0);
|
||||
}
|
||||
|
||||
.data-lists {
|
||||
background-color: rgb(255, 102, 26);
|
||||
color: rgb(255, 102, 26);
|
||||
}
|
||||
.data-lists:hover,
|
||||
.data-lists.sel {
|
||||
background-color: rgb(207, 81, 20);
|
||||
}
|
||||
|
||||
.sensing {
|
||||
background-color: rgb(76, 191, 230);
|
||||
color: rgb(46, 142, 184);
|
||||
}
|
||||
.sensing:hover,
|
||||
.sensing.sel {
|
||||
background-color: rgb(46, 142, 184);
|
||||
}
|
||||
|
||||
.looks {
|
||||
background-color: rgb(153, 102, 255);
|
||||
color: rgb(119, 77, 203);
|
||||
}
|
||||
.looks:hover,
|
||||
.looks.sel {
|
||||
background-color: rgb(119, 77, 203);
|
||||
}
|
||||
|
||||
.sounds {
|
||||
background-color: rgb(214, 92, 214);
|
||||
color: rgb(189, 66, 189);
|
||||
}
|
||||
.sounds:hover,
|
||||
.sounds.sel {
|
||||
background-color: rgb(189, 66, 189);
|
||||
}
|
||||
|
||||
.motion {
|
||||
background-color: rgb(76, 151, 255);
|
||||
color: rgb(51, 115, 204);
|
||||
}
|
||||
.motion:hover,
|
||||
.motion.sel {
|
||||
background-color: rgb(51, 115, 204);
|
||||
}
|
||||
|
||||
.events {
|
||||
background-color: rgb(255, 213, 0);
|
||||
color: rgb(204, 153, 0);
|
||||
}
|
||||
.events:hover,
|
||||
.events.sel {
|
||||
background-color: rgb(204, 153, 0);
|
||||
}
|
||||
|
||||
.control {
|
||||
background-color: rgb(255, 171, 25);
|
||||
color: rgb(207, 139, 23);
|
||||
}
|
||||
.control:hover,
|
||||
.control.sel {
|
||||
background-color: rgb(207, 139, 23);
|
||||
}
|
||||
|
||||
.TurboWarp {
|
||||
background-color: #ff4c4c;
|
||||
color: rgb(207, 139, 23);
|
||||
}
|
||||
.TurboWarp:hover,
|
||||
.TurboWarp.sel {
|
||||
background-color: #e64444;
|
||||
}
|
||||
|
||||
.null {
|
||||
background-color: rgb(255, 102, 128);
|
||||
color: rgb(255, 77, 106);
|
||||
}
|
||||
.null:hover,
|
||||
.null.sel {
|
||||
background-color: rgb(255, 77, 106);
|
||||
}
|
||||
|
||||
.extension {
|
||||
background-color: rgb(15 189 140);
|
||||
}
|
||||
.extension:hover,
|
||||
.extension.sel {
|
||||
background-color: rgb(11 158 117);
|
||||
}
|
||||
|
||||
/*.s3devDD>li.hat::before { content: '◠ ';}*/
|
||||
/*.s3devDD>li.hat::before { content: '▲ ';}*/
|
||||
/*.s3devDD>li.block::before { content: '■ ';}*/
|
||||
/*.s3devDD>li.reporter::before { content: '● ';}*/
|
||||
/*.s3devDD>li.boolean::before { content: '◆ ';}*/
|
||||
|
||||
#s3devDD > li.flag {
|
||||
color: #4cbf56;
|
||||
}
|
||||
|
||||
#s3devDD > li.flag:hover,
|
||||
#s3devDD > li.flag.sel {
|
||||
background-color: #4cbf56;
|
||||
color: white;
|
||||
}
|
||||
|
||||
#s3devIDD > li {
|
||||
height: 19px;
|
||||
padding: 3px 8px;
|
||||
margin: 2px 0.3em;
|
||||
box-sizing: border-box;
|
||||
position: relative;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
width: min-content;
|
||||
background-color: var(--sa-block-colored-background);
|
||||
color: var(--sa-block-text);
|
||||
}
|
||||
|
||||
#s3devIDD > li:hover,
|
||||
#s3devIDD > li.sel {
|
||||
background-color: var(--sa-block-colored-background-secondary);
|
||||
}
|
||||
|
||||
.s3devDD > li.hat {
|
||||
@@ -387,86 +207,6 @@ ul.s3devDD {
|
||||
border-bottom-color: #111;
|
||||
}
|
||||
|
||||
#s3devOverlay {
|
||||
position: fixed;
|
||||
top: 0;
|
||||
left: 0;
|
||||
right: 0;
|
||||
bottom: 0;
|
||||
background-color: rgba(80, 80, 80, 0.5);
|
||||
z-index: 9999;
|
||||
padding: 10em;
|
||||
color: white;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
.s3devMulti {
|
||||
font-weight: normal;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
white-space: nowrap;
|
||||
background-color: inherit;
|
||||
z-index: 1;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.s3devNav {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.s3devNav:hover {
|
||||
color: #ffff80;
|
||||
}
|
||||
|
||||
.s3devAction {
|
||||
margin-left: 2em;
|
||||
}
|
||||
|
||||
@media screen and (max-width: 1180px) {
|
||||
.s3devAction {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.s3devHide {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.s3dev-mi:hover {
|
||||
background-color: #d6e9f8;
|
||||
}
|
||||
[theme="dark"] .s3dev-mi:hover {
|
||||
background-color: var(--ui-tertiary);
|
||||
}
|
||||
|
||||
#s3devHelpPop > div {
|
||||
box-sizing: border-box;
|
||||
width: 800px;
|
||||
height: 60vh;
|
||||
max-height: 800px;
|
||||
max-width: 85%;
|
||||
margin: auto;
|
||||
margin-top: 20vh;
|
||||
}
|
||||
|
||||
#s3devHelpPop [class*="modal_header-item-title"] {
|
||||
margin: 0 -20rem 0 0;
|
||||
}
|
||||
#s3devHelpPop[dir="rtl"] [class*="modal_header-item-title"] {
|
||||
margin: 0 0 0 -20rem;
|
||||
}
|
||||
|
||||
#s3devHelpContent {
|
||||
height: calc(100% - 3.125rem);
|
||||
overflow-y: auto;
|
||||
padding: 1em 2em 4em;
|
||||
background-color: white;
|
||||
user-select: text;
|
||||
}
|
||||
[theme="dark"] #s3devHelpPop > div {
|
||||
background: #111;
|
||||
}
|
||||
|
||||
#s3devFloatingBar {
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
|
||||
@@ -1,51 +1,6 @@
|
||||
/* inserted by pull.js */
|
||||
import _twAsset0 from "!url-loader!./icon--close.svg";
|
||||
const _twGetAsset = (path) => {
|
||||
if (path === "/icon--close.svg") return _twAsset0;
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
import DevTools from "./DevTools.js";
|
||||
|
||||
export default async function ({ addon, global, console, msg, safeMsg: m }) {
|
||||
const guiDirection = addon.tab.direction;
|
||||
const helpHTML = `
|
||||
<div id="s3devHelpPop" class="${addon.tab.scratchClass("modal_modal-overlay")}" dir="${guiDirection}">
|
||||
<div class="${addon.tab.scratchClass("modal_modal-content")}">
|
||||
<div class="${addon.tab.scratchClass("modal_header")}">
|
||||
<div class="${addon.tab.scratchClass("modal_header-item", "modal_header-item-title")}">${m("help-title")}</div>
|
||||
<div class="${addon.tab.scratchClass("modal_header-item", "modal_header-item-close")}">
|
||||
<div class="${addon.tab.scratchClass("close-button_close-button", "close-button_large", {
|
||||
others: "close-button",
|
||||
})}">
|
||||
<img class="${addon.tab.scratchClass("close-button_close-icon")}" src="${_twGetAsset("/icon--close.svg")}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="s3devHelpContent">
|
||||
<h2><strong>${m("code-tab-features")}</strong></h2>
|
||||
<p dir="auto"><strong>${m("interactive-find-bar")}</strong> – ${m("interactive-find-bar-desc")}</p>
|
||||
<p dir="auto"><strong>${m("improved-tidy-up")}</strong> – ${m("improved-tidy-up-desc")}</p>
|
||||
<p dir="auto"><strong>${m("help-make-space")} ${m("help-new")}</strong> – ${m("help-make-space-desc")}</p>
|
||||
<p dir="auto"><strong>${m("copy-to-clipboard")}</strong> – ${m("copy-to-clipboard-desc")}</p>
|
||||
<p dir="auto"><strong>${m("paste-from-clipboard")}</strong> – ${m("paste-from-clipboard-desc")}</p>
|
||||
<p dir="auto"><strong>${m("swap-variable")}</strong> – ${m("swap-variable-desc")}</p>
|
||||
<p dir="auto"><strong>${m("middleclick")}</strong> – ${m("middleclick-desc")}</p>
|
||||
<p dir="auto"><strong>${m("ctrl-lr")}</strong> – ${m("ctrl-lr-desc")}</p>
|
||||
<p dir="auto"><strong>${m("ctrl-space")}</strong> – ${m("ctrl-space-desc")}</p>
|
||||
<hr />
|
||||
<h2><strong>${m("costume-tab-features")}</strong></h2>
|
||||
<p dir="auto"><strong>${m("find-bar")}</strong> – ${m("find-bar-costume-desc")}</p>
|
||||
<p dir="auto"><strong>${m("ctrl-lr")}</strong> – ${m("ctrl-lr-costume-desc")}</p>
|
||||
<hr />
|
||||
<p>${m(
|
||||
"youtube"
|
||||
)} - <a target="_blank" href="https://www.youtube.com/griffpatch" rel="noopener noreferrer">https://www.youtube.com/user/griffpatch</a></p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
`;
|
||||
|
||||
const devTools = new DevTools(addon, msg, m, helpHTML);
|
||||
const devTools = new DevTools(addon, msg, m);
|
||||
devTools.init();
|
||||
}
|
||||
@@ -13,6 +13,104 @@ const manifest = {
|
||||
"link": "https://scratch.mit.edu/users/TheColaber/"
|
||||
}
|
||||
],
|
||||
"customCssVariables": [
|
||||
{
|
||||
"name": "inputColor-text",
|
||||
"value": {
|
||||
"type": "alphaThreshold",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "input-color"
|
||||
},
|
||||
"opaque": {
|
||||
"type": "textColor",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "input-color"
|
||||
}
|
||||
},
|
||||
"transparent": {
|
||||
"type": "map",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "text"
|
||||
},
|
||||
"options": {
|
||||
"white": "#ffffff",
|
||||
"black": "#575e75",
|
||||
"colorOnWhite": "#575e75",
|
||||
"colorOnBlack": "#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "inputColor-forumText",
|
||||
"value": {
|
||||
"type": "alphaThreshold",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "input-color"
|
||||
},
|
||||
"opaque": {
|
||||
"type": "textColor",
|
||||
"black": "#000000",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "input-color"
|
||||
}
|
||||
},
|
||||
"transparent": {
|
||||
"type": "map",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "text"
|
||||
},
|
||||
"options": {
|
||||
"white": "#ffffff",
|
||||
"black": "#000000",
|
||||
"colorOnWhite": "#000000",
|
||||
"colorOnBlack": "#ffffff"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "commentText",
|
||||
"value": {
|
||||
"type": "textColor",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "comment-color"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "commentTextTransparent",
|
||||
"value": {
|
||||
"type": "textColor",
|
||||
"black": "rgba(0, 0, 0, 0.50)",
|
||||
"white": "rgba(255, 255, 255, 0.50)",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "comment-color"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "commentBorder",
|
||||
"value": {
|
||||
"type": "multiply",
|
||||
"source": {
|
||||
"type": "settingValue",
|
||||
"settingId": "comment-color"
|
||||
},
|
||||
"r": 0.7,
|
||||
"g": 0.7,
|
||||
"b": 0.7
|
||||
}
|
||||
}
|
||||
],
|
||||
"dynamicDisable": true,
|
||||
"updateUserstylesOnSettingsChange": true,
|
||||
"userscripts": [
|
||||
@@ -23,6 +121,30 @@ const manifest = {
|
||||
"userstyles": [
|
||||
{
|
||||
"url": "theme3.css"
|
||||
},
|
||||
{
|
||||
"url": "black_text.css",
|
||||
"if": {
|
||||
"settings": {
|
||||
"text": "black"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "color_on_white.css",
|
||||
"if": {
|
||||
"settings": {
|
||||
"text": "colorOnWhite"
|
||||
}
|
||||
}
|
||||
},
|
||||
{
|
||||
"url": "color_on_black.css",
|
||||
"if": {
|
||||
"settings": {
|
||||
"text": "colorOnBlack"
|
||||
}
|
||||
}
|
||||
}
|
||||
],
|
||||
"settings": [
|
||||
@@ -140,7 +262,15 @@ const manifest = {
|
||||
"name": "Block inputs",
|
||||
"id": "input-color",
|
||||
"type": "color",
|
||||
"default": "#FFFFFF"
|
||||
"default": "#FFFFFF",
|
||||
"allowTransparency": true
|
||||
},
|
||||
{
|
||||
"dynamic": true,
|
||||
"name": "Comments",
|
||||
"id": "comment-color",
|
||||
"type": "color",
|
||||
"default": "#FEF49C"
|
||||
},
|
||||
{
|
||||
"dynamic": true,
|
||||
@@ -190,6 +320,7 @@ const manifest = {
|
||||
"custom-color": "#5f49d8",
|
||||
"Pen-color": "#0FBD8C",
|
||||
"sa-color": "#29BEB8",
|
||||
"comment-color": "#FEF49C",
|
||||
"input-color": "#FFFFFF",
|
||||
"text": "white"
|
||||
}
|
||||
@@ -211,6 +342,7 @@ const manifest = {
|
||||
"custom-color": "#632d99",
|
||||
"Pen-color": "#0e9a6c",
|
||||
"sa-color": "#29beb8",
|
||||
"comment-color": "#FFFFD2",
|
||||
"input-color": "#ffffff",
|
||||
"text": "white"
|
||||
}
|
||||
@@ -233,6 +365,7 @@ const manifest = {
|
||||
"Pen-color": "#064734",
|
||||
"tw-color": "#660000",
|
||||
"sa-color": "#166966",
|
||||
"comment-color": "#423f24",
|
||||
"input-color": "#202020",
|
||||
"text": "white"
|
||||
}
|
||||
@@ -254,6 +387,7 @@ const manifest = {
|
||||
"custom-color": "#FF6680",
|
||||
"Pen-color": "#0FBD8C",
|
||||
"sa-color": "#29BEB8",
|
||||
"comment-color": "#FEF49C",
|
||||
"input-color": "#202020",
|
||||
"text": "colorOnBlack"
|
||||
}
|
||||
|
||||
@@ -1,7 +1,13 @@
|
||||
/* generated by pull.js */
|
||||
import _js from "./theme3.js";
|
||||
import _css from "!css-loader!./theme3.css";
|
||||
import _css2 from "!css-loader!./black_text.css";
|
||||
import _css3 from "!css-loader!./color_on_white.css";
|
||||
import _css4 from "!css-loader!./color_on_black.css";
|
||||
export const resources = {
|
||||
"theme3.js": _js,
|
||||
"theme3.css": _css,
|
||||
"black_text.css": _css2,
|
||||
"color_on_white.css": _css3,
|
||||
"color_on_black.css": _css4,
|
||||
};
|
||||
@@ -0,0 +1,21 @@
|
||||
.scratchCategoryItemBubble::after {
|
||||
/* block-palette-icons */
|
||||
filter: brightness(0);
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.blocklyDropDownDiv .goog-menuitem,
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem .goog-menuitem-content {
|
||||
color: #575e75;
|
||||
}
|
||||
.blocklyDropDownDiv .blocklyText {
|
||||
fill: #575e75;
|
||||
}
|
||||
|
||||
/* Compatibility */
|
||||
|
||||
.sa-block-color {
|
||||
--sa-block-text: #575e75;
|
||||
--sa-block-gray-text: #575e75;
|
||||
--sa-block-text-on-bright-background: #575e75;
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
.u-dropdown-searchbar {
|
||||
border-color: rgba(255, 255, 255, 0.15);
|
||||
}
|
||||
.u-dropdown-searchbar:focus {
|
||||
background-color: var(--editorTheme3-hoveredItem);
|
||||
}
|
||||
.blocklyDropDownDiv .goog-menuitem-checkbox {
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
|
||||
.scratchCommentRect {
|
||||
fill: #282828;
|
||||
}
|
||||
.scratchCommentBody,
|
||||
.scratchCommentTextarea {
|
||||
background-color: #282828;
|
||||
}
|
||||
.scratchWorkspaceCommentBorder {
|
||||
stroke: var(--editorTheme3-commentColor);
|
||||
}
|
||||
.scratchCommentTextarea::placeholder {
|
||||
color: rgba(255, 255, 255, 0.5);
|
||||
}
|
||||
.scratchCommentText {
|
||||
fill: #ffffff;
|
||||
color: #ffffff;
|
||||
}
|
||||
|
||||
/* Compatibility */
|
||||
|
||||
.sa-block-color {
|
||||
--sa-block-colored-background: var(--sa-block-background-secondary);
|
||||
--sa-block-colored-background-secondary: var(--sa-block-field-background);
|
||||
--sa-block-bright-background: var(--sa-block-background-tertiary);
|
||||
--sa-block-text: var(--sa-block-background-tertiary);
|
||||
--sa-block-gray-text: white;
|
||||
--sa-block-colored-text: var(--sa-block-background-tertiary);
|
||||
--sa-block-text-on-bright-background: white;
|
||||
}
|
||||
@@ -0,0 +1,51 @@
|
||||
.scratchCategoryItemBubble::after {
|
||||
/* block-palette-icons */
|
||||
filter: brightness(0);
|
||||
opacity: 0.6;
|
||||
}
|
||||
|
||||
.u-dropdown-searchbar,
|
||||
.u-dropdown-searchbar:focus,
|
||||
.blocklyDropDownDiv .goog-menuitem,
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem .goog-menuitem-content {
|
||||
color: #575e75;
|
||||
}
|
||||
.u-dropdown-searchbar:focus {
|
||||
background-color: var(--editorTheme3-hoveredItem);
|
||||
}
|
||||
|
||||
.blocklyAngleDragHandle {
|
||||
stroke: black;
|
||||
stroke-opacity: 0.15;
|
||||
paint-order: stroke fill;
|
||||
}
|
||||
|
||||
.scratchCommentRect {
|
||||
fill: #feffff;
|
||||
}
|
||||
.scratchCommentBody,
|
||||
.scratchCommentTextarea {
|
||||
background-color: #ffffff;
|
||||
}
|
||||
.scratchWorkspaceCommentBorder {
|
||||
stroke: var(--editorTheme3-commentColor);
|
||||
}
|
||||
.scratchCommentTextarea::placeholder {
|
||||
color: rgba(0, 0, 0, 0.5);
|
||||
}
|
||||
.scratchCommentText {
|
||||
fill: #575e75;
|
||||
color: #575e75;
|
||||
}
|
||||
|
||||
/* Compatibility */
|
||||
|
||||
.sa-block-color {
|
||||
--sa-block-colored-background: var(--sa-block-background-secondary);
|
||||
--sa-block-colored-background-secondary: var(--sa-block-field-background);
|
||||
--sa-block-bright-background: var(--sa-block-background-tertiary);
|
||||
--sa-block-text: var(--sa-block-background-tertiary);
|
||||
--sa-block-gray-text: #575e75;
|
||||
--sa-block-colored-text: var(--sa-block-background-tertiary);
|
||||
--sa-block-text-on-bright-background: white;
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
/* Imported by other addons */
|
||||
|
||||
.sa-block-color {
|
||||
--sa-block-colored-background: var(--sa-block-background-primary);
|
||||
--sa-block-colored-background-secondary: var(--sa-block-background-tertiary);
|
||||
--sa-block-bright-background: var(--sa-block-background-primary);
|
||||
--sa-block-text: white;
|
||||
--sa-block-gray-text: white;
|
||||
--sa-block-colored-text: var(--sa-block-background-primary);
|
||||
--sa-block-text-on-bright-background: white;
|
||||
}
|
||||
|
||||
.sa-block-color-motion {
|
||||
--sa-block-background-primary: var(--editorTheme3-motion-primary, #4c97ff);
|
||||
--sa-block-background-secondary: var(--editorTheme3-motion-secondary, #4280d7);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-motion-tertiary, #3373cc);
|
||||
--sa-block-field-background: var(--editorTheme3-motion-field, #3373cc);
|
||||
}
|
||||
|
||||
.sa-block-color-looks {
|
||||
--sa-block-background-primary: var(--editorTheme3-looks-primary, #9966ff);
|
||||
--sa-block-background-secondary: var(--editorTheme3-looks-secondary, #855cd6);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-looks-tertiary, #774dcb);
|
||||
--sa-block-field-background: var(--editorTheme3-looks-field, #774dcb);
|
||||
}
|
||||
|
||||
.sa-block-color-sounds {
|
||||
--sa-block-background-primary: var(--editorTheme3-sounds-primary, #cf63cf);
|
||||
--sa-block-background-secondary: var(--editorTheme3-sounds-secondary, #c94fc9);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-sounds-tertiary, #bd42bd);
|
||||
--sa-block-field-background: var(--editorTheme3-sounds-field, #bd42bd);
|
||||
}
|
||||
|
||||
.sa-block-color-event {
|
||||
--sa-block-background-primary: var(--editorTheme3-event-primary, #ffbf00);
|
||||
--sa-block-background-secondary: var(--editorTheme3-event-secondary, #e6ac00);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-event-tertiary, #cc9900);
|
||||
--sa-block-field-background: var(--editorTheme3-event-field, #cc9900);
|
||||
}
|
||||
|
||||
.sa-block-color-control {
|
||||
--sa-block-background-primary: var(--editorTheme3-control-primary, #ffab19);
|
||||
--sa-block-background-secondary: var(--editorTheme3-control-secondary, #ec9c13);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-control-tertiary, #cf8b17);
|
||||
--sa-block-field-background: var(--editorTheme3-control-field, #cf8b17);
|
||||
}
|
||||
|
||||
.sa-block-color-sensing {
|
||||
--sa-block-background-primary: var(--editorTheme3-sensing-primary, #5cb1d6);
|
||||
--sa-block-background-secondary: var(--editorTheme3-sensing-secondary, #47a8d1);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-sensing-tertiary, #2e8eb8);
|
||||
--sa-block-field-background: var(--editorTheme3-sensing-field, #2e8eb8);
|
||||
}
|
||||
|
||||
.sa-block-color-operators {
|
||||
--sa-block-background-primary: var(--editorTheme3-operators-primary, #59c059);
|
||||
--sa-block-background-secondary: var(--editorTheme3-operators-secondary, #46b946);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-operators-tertiary, #389438);
|
||||
--sa-block-field-background: var(--editorTheme3-operators-field, #389438);
|
||||
}
|
||||
|
||||
.sa-block-color-data {
|
||||
--sa-block-background-primary: var(--editorTheme3-data-primary, #ff8c1a);
|
||||
--sa-block-background-secondary: var(--editorTheme3-data-secondary, #ff8000);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-data-tertiary, #db6e00);
|
||||
--sa-block-field-background: var(--editorTheme3-data-field, #db6e00);
|
||||
}
|
||||
|
||||
.sa-block-color-data_lists {
|
||||
--sa-block-background-primary: var(--editorTheme3-data_lists-primary, #ff661a);
|
||||
--sa-block-background-secondary: var(--editorTheme3-data_lists-secondary, #ff5500);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-data_lists-tertiary, #e64d00);
|
||||
--sa-block-field-background: var(--editorTheme3-data_lists-field, #e64d00);
|
||||
}
|
||||
|
||||
.sa-block-color-more {
|
||||
--sa-block-background-primary: var(--editorTheme3-more-primary, #ff6680);
|
||||
--sa-block-background-secondary: var(--editorTheme3-more-secondary, #ff4d6a);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-more-tertiary, #ff3355);
|
||||
--sa-block-field-background: var(--editorTheme3-more-field, #ff3355);
|
||||
}
|
||||
|
||||
.sa-block-color-pen {
|
||||
--sa-block-background-primary: var(--editorTheme3-pen-primary, #0fbd8c);
|
||||
--sa-block-background-secondary: var(--editorTheme3-pen-secondary, #0da57a);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-pen-tertiary, #0b8e69);
|
||||
--sa-block-field-background: var(--editorTheme3-pen-field, #0b8e69);
|
||||
}
|
||||
|
||||
.sa-block-color-sa {
|
||||
--sa-block-background-primary: var(--editorTheme3-sa-primary, #29beb8);
|
||||
--sa-block-background-secondary: var(--editorTheme3-sa-secondary, #3aa8a4);
|
||||
--sa-block-background-tertiary: var(--editorTheme3-sa-tertiary, #3aa8a4);
|
||||
--sa-block-field-background: var(--editorTheme3-sa-field, #3aa8a4);
|
||||
}
|
||||
@@ -154,6 +154,18 @@
|
||||
--sa-block-color: var(--editorTheme3-PenColor);
|
||||
}
|
||||
|
||||
.sb-comment,
|
||||
.sb3-comment,
|
||||
.sb-comment-line,
|
||||
.sb3-comment-line {
|
||||
fill: var(--editorTheme3-commentColor);
|
||||
stroke: var(--editorTheme3-commentBorder);
|
||||
}
|
||||
.sb-comment-label,
|
||||
.sb3-comment-label {
|
||||
fill: var(--editorTheme3-commentText);
|
||||
}
|
||||
|
||||
.sb-input-number,
|
||||
.sb-input-number-dropdown,
|
||||
.sb-input-string {
|
||||
|
||||
@@ -39,6 +39,14 @@
|
||||
flood-opacity: 0.05;
|
||||
}
|
||||
|
||||
.sb-comment,
|
||||
.sb3-comment {
|
||||
fill: #282828;
|
||||
stroke: var(--editorTheme3-commentColor);
|
||||
}
|
||||
|
||||
.sb-label,
|
||||
.sb3-label,
|
||||
.sb-input-dropdown ~ polygon {
|
||||
fill: white;
|
||||
}
|
||||
@@ -39,7 +39,13 @@
|
||||
flood-opacity: 0.3;
|
||||
}
|
||||
|
||||
.sb-label {
|
||||
.sb-comment,
|
||||
.sb3-comment {
|
||||
fill: white;
|
||||
stroke: var(--editorTheme3-commentColor);
|
||||
}
|
||||
.sb-label,
|
||||
.sb3-label {
|
||||
fill: black;
|
||||
}
|
||||
#sb3-dropdownArrow path {
|
||||
|
||||
@@ -1,37 +1,3 @@
|
||||
path.blocklyBlockBackground[fill="#FF6680"],
|
||||
path.blocklyBlockBackground[fill="#5CB1D6"],
|
||||
path.blocklyBlockBackground[fill="#FFBF00"],
|
||||
path.blocklyBlockBackground[fill="#29beb8"],
|
||||
g[data-category] > path.blocklyBlockBackground {
|
||||
stroke: #0003;
|
||||
}
|
||||
g[data-argument-type="dropdown"] > path,
|
||||
g[data-argument-type="variable"] > path,
|
||||
path[data-argument-type="boolean"],
|
||||
g[data-shapes="c-block c-1 hat"] > g[data-shapes="stack"]:not(.blocklyDraggable) > path /* block preview in define block */ {
|
||||
stroke: #0003;
|
||||
fill: #0001;
|
||||
}
|
||||
g[data-argument-type="dropdown"] > rect,
|
||||
g[data-argument-type="variable"] > rect {
|
||||
stroke: #0003;
|
||||
fill: #0000;
|
||||
}
|
||||
g[data-argument-type*="text"] > path,
|
||||
[data-category] g > line {
|
||||
stroke: #0002;
|
||||
}
|
||||
.scratchCategoryItemBubble {
|
||||
border-color: #0003 !important;
|
||||
}
|
||||
|
||||
.fieldTextInput {
|
||||
border-color: #0003 !important;
|
||||
}
|
||||
|
||||
.blocklyBlockBackground[fill="#FFFFFF"] {
|
||||
fill: var(--editorTheme3-inputColor);
|
||||
}
|
||||
.blocklyEditableText > text {
|
||||
fill: var(--editorTheme3-inputColor-text);
|
||||
}
|
||||
@@ -39,3 +5,27 @@ g[data-argument-type*="text"] > path,
|
||||
background-color: var(--editorTheme3-inputColor);
|
||||
color: var(--editorTheme3-inputColor-text);
|
||||
}
|
||||
|
||||
.blocklyDropDownDiv .goog-menuitem-highlight,
|
||||
.blocklyDropDownDiv .goog-menuitem-hover,
|
||||
.sa-contextmenu-colored .blocklyContextMenu .goog-menuitem-highlight {
|
||||
background-color: var(--editorTheme3-hoveredItem, rgba(0, 0, 0, 0.2));
|
||||
}
|
||||
|
||||
.scratchCommentRect {
|
||||
fill: var(--editorTheme3-commentColor);
|
||||
}
|
||||
.scratchCommentBody,
|
||||
.scratchCommentTextarea {
|
||||
background-color: var(--editorTheme3-commentColor);
|
||||
}
|
||||
.scratchWorkspaceCommentBorder {
|
||||
stroke: var(--editorTheme3-commentBorder);
|
||||
}
|
||||
.scratchCommentTextarea::placeholder {
|
||||
color: var(--editorTheme3-commentTextTransparent);
|
||||
}
|
||||
.scratchCommentText {
|
||||
fill: var(--editorTheme3-commentText);
|
||||
color: var(--editorTheme3-commentText);
|
||||
}
|
||||
@@ -1,407 +1,312 @@
|
||||
import { textColor, multiply } from "../../libraries/common/cs/text-color.esm.js";
|
||||
import { removeAlpha, multiply, alphaBlend, recolorFilter } from "../../libraries/common/cs/text-color.esm.js";
|
||||
|
||||
function updateSettings(addon, newStyle) {
|
||||
document.documentElement.style.setProperty('--editorTheme3-inputColor-text', textColor(addon.settings.get('input-color')));
|
||||
var stylesheet = "";
|
||||
const textMode = addon.settings.get("text");
|
||||
if (textMode === "black") {
|
||||
stylesheet += `
|
||||
.blocklyText {
|
||||
fill: #575e75;
|
||||
}
|
||||
.blocklyDropdownText {
|
||||
fill: #575e75 !important;
|
||||
}
|
||||
.blocklyDropDownDiv .goog-menuitem,
|
||||
#s3devIDD > li {
|
||||
color: #575e75;
|
||||
}`;
|
||||
}
|
||||
if (textMode === "colorOnWhite") {
|
||||
stylesheet += `
|
||||
.blocklyDropDownDiv:not([style*="rgb(255, 255, 255)"]) .goog-menuitem {
|
||||
color: #575e75;
|
||||
}`;
|
||||
}
|
||||
if (textMode === "colorOnBlack") {
|
||||
stylesheet += `
|
||||
.blocklyDropDownDiv:not([style*="rgb(255, 255, 255)"]) .goog-option-selected .goog-menuitem-checkbox {
|
||||
filter: brightness(0) invert(1);
|
||||
}
|
||||
.u-dropdown-searchbar {
|
||||
border-color: rgba(255, 255, 255, 0.15);
|
||||
}`;
|
||||
}
|
||||
var categories = {
|
||||
motion: {
|
||||
color: "#4C97FF",
|
||||
tertiaryColor: "#3373CC",
|
||||
},
|
||||
looks: {
|
||||
color: "#9966FF",
|
||||
tertiaryColor: "#774DCB",
|
||||
},
|
||||
sounds: {
|
||||
color: "#CF63CF",
|
||||
tertiaryColor: "#BD42BD",
|
||||
alt: "sound",
|
||||
},
|
||||
events: {
|
||||
color: "#DE9E2E",
|
||||
tertiaryColor: "#CC9900",
|
||||
},
|
||||
control: {
|
||||
color: "#FFBF00",
|
||||
tertiaryColor: "#CF8B17",
|
||||
},
|
||||
sensing: {
|
||||
color: "#5CB1D6",
|
||||
tertiaryColor: "#2E8EB8",
|
||||
},
|
||||
operators: {
|
||||
color: "#59C059",
|
||||
tertiaryColor: "#389438",
|
||||
},
|
||||
data: {
|
||||
color: "#FF8C1A",
|
||||
tertiaryColor: "#DB6E00",
|
||||
alt: "variables",
|
||||
},
|
||||
"data-lists": {
|
||||
color: "#FF661A",
|
||||
tertiaryColor: "#E64D00",
|
||||
alt: "lists",
|
||||
var: "dataLists",
|
||||
},
|
||||
custom: {
|
||||
color: "#FF6680",
|
||||
tertiaryColor: "#FF6355",
|
||||
alt: "myBlocks",
|
||||
},
|
||||
Pen: {
|
||||
// For historical reasons, this is called "Pen".
|
||||
color: "#0FBD8C",
|
||||
tertiaryColor: "#0B8E69",
|
||||
alt: "pen",
|
||||
},
|
||||
TurboWarp: {
|
||||
color: "#ff4c4c",
|
||||
tertiaryColor: "#e64444", // TODO fix
|
||||
alt: "tw",
|
||||
var: "tw",
|
||||
},
|
||||
sa: {
|
||||
color: "#29beb8",
|
||||
tertiaryColor: "#3aa8a4",
|
||||
alt: "a-b",
|
||||
},
|
||||
const extensionsCategory = {
|
||||
id: null,
|
||||
settingId: "Pen-color",
|
||||
colorId: "pen",
|
||||
};
|
||||
const saCategory = {
|
||||
settingId: "sa-color",
|
||||
colorId: "sa",
|
||||
};
|
||||
const categories = [
|
||||
{
|
||||
id: "motion",
|
||||
settingId: "motion-color",
|
||||
colorId: "motion",
|
||||
},
|
||||
{
|
||||
id: "looks",
|
||||
settingId: "looks-color",
|
||||
colorId: "looks",
|
||||
},
|
||||
{
|
||||
id: "sound",
|
||||
settingId: "sounds-color",
|
||||
colorId: "sounds",
|
||||
},
|
||||
{
|
||||
id: "events",
|
||||
settingId: "events-color",
|
||||
colorId: "event",
|
||||
},
|
||||
{
|
||||
id: "control",
|
||||
settingId: "control-color",
|
||||
colorId: "control",
|
||||
},
|
||||
{
|
||||
id: "sensing",
|
||||
settingId: "sensing-color",
|
||||
colorId: "sensing",
|
||||
},
|
||||
{
|
||||
id: "operators",
|
||||
settingId: "operators-color",
|
||||
colorId: "operators",
|
||||
},
|
||||
{
|
||||
id: "variables",
|
||||
settingId: "data-color",
|
||||
colorId: "data",
|
||||
},
|
||||
{
|
||||
id: "lists",
|
||||
settingId: "data-lists-color",
|
||||
colorId: "data_lists",
|
||||
},
|
||||
{
|
||||
id: "myBlocks",
|
||||
settingId: "custom-color",
|
||||
colorId: "more",
|
||||
},
|
||||
extensionsCategory,
|
||||
saCategory,
|
||||
];
|
||||
|
||||
export default async function ({ addon, console }) {
|
||||
const Blockly = await addon.tab.traps.getBlockly();
|
||||
|
||||
const originalColors = JSON.parse(JSON.stringify(Blockly.Colours));
|
||||
originalColors.sa = {
|
||||
primary: "#29beb8",
|
||||
secondary: "#3aa8a4",
|
||||
tertiary: "#3aa8a4",
|
||||
};
|
||||
|
||||
for (var prop of Object.keys(categories)) {
|
||||
var settingName = categories[prop].var ? categories[prop].var : prop;
|
||||
var propNameForSettings = prop === "TurboWarp" ? "tw" : prop;
|
||||
if (textMode === "white" || textMode === "black") {
|
||||
let tertiary = multiply(addon.settings.get(propNameForSettings + "-color"), { r: 0.8, g: 0.8, b: 0.8 });
|
||||
stylesheet += `g[data-category="${prop}"] > path.blocklyBlockBackground {
|
||||
fill: var(--editorTheme3-${settingName}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
let textMode = addon.settings.get("text");
|
||||
const isColoredTextMode = () => !addon.self.disabled && (textMode === "colorOnWhite" || textMode === "colorOnBlack");
|
||||
|
||||
const primaryColor = (category) => {
|
||||
if (addon.self.disabled) return originalColors[category.colorId].primary;
|
||||
// Colored on white: can't use #ffffff because of editor-dark-mode dropdown div handling
|
||||
if (textMode === "colorOnWhite") return "#feffff";
|
||||
if (textMode === "colorOnBlack") return "#282828";
|
||||
return addon.settings.get(category.settingId);
|
||||
};
|
||||
const secondaryColor = (category) => {
|
||||
if (addon.self.disabled) return originalColors[category.colorId].secondary;
|
||||
if (isColoredTextMode())
|
||||
return alphaBlend(primaryColor(category), multiply(addon.settings.get(category.settingId), { a: 0.15 }));
|
||||
return multiply(addon.settings.get(category.settingId), { r: 0.9, g: 0.9, b: 0.9 });
|
||||
};
|
||||
const tertiaryColor = (category) => {
|
||||
if (addon.self.disabled) return originalColors[category.colorId].tertiary;
|
||||
if (isColoredTextMode()) return addon.settings.get(category.settingId);
|
||||
return multiply(addon.settings.get(category.settingId), { r: 0.8, g: 0.8, b: 0.8 });
|
||||
};
|
||||
const fieldBackground = (category) => {
|
||||
// Background color for open dropdowns and Boolean inputs
|
||||
// The argument can be a block, field, or category
|
||||
if (category instanceof Blockly.Block || category instanceof Blockly.Field) {
|
||||
const block = category instanceof Blockly.Block ? category : category.sourceBlock_;
|
||||
if (isColoredTextMode()) {
|
||||
let primary;
|
||||
if (block.isShadow() && block.getParent()) primary = block.getParent().getColour();
|
||||
else primary = block.getColour();
|
||||
return alphaBlend(primary, multiply(block.getColourTertiary(), { a: 0.25 }));
|
||||
}
|
||||
.blocklyBlockBackground[fill="${categories[prop].tertiaryColor}"] /* open dropdown */ {
|
||||
fill: #0003;
|
||||
}
|
||||
.scratchCategoryId-${categories[prop].alt ? categories[prop].alt : prop} > .scratchCategoryItemBubble {
|
||||
background-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[data-category="${prop}"]:not([style*="rgb(255, 255, 255)"]) {
|
||||
background-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
border-color: #0003 !important;
|
||||
}
|
||||
.blocklyBubbleCanvas [stroke="${categories[prop].tertiaryColor}"] {
|
||||
stroke: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.${prop} {
|
||||
background-color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.${prop}:hover,
|
||||
#s3devIDD > li.${prop}.sel {
|
||||
background-color: ${tertiary};
|
||||
}
|
||||
.sa-debugger-block-preview[data-category="${prop}"] {
|
||||
background-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
`;
|
||||
if (prop === "custom") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#FF6680"] {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
}
|
||||
#s3devIDD > li.null {
|
||||
background-color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.null:hover,
|
||||
#s3devIDD > li.null.sel {
|
||||
background-color: ${tertiary};
|
||||
}`;
|
||||
}
|
||||
if (prop === "sensing") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#5CB1D6"] {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
}`;
|
||||
}
|
||||
if (prop === "events") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#FFBF00"] {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(255, 191, 0)"] {
|
||||
background-color: var(--editorTheme3-${prop}Color) !important;
|
||||
border-color: #0003 !important;
|
||||
}`;
|
||||
}
|
||||
if (prop === "Pen") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#0FBD8C"] {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(15, 189, 140)"] {
|
||||
background-color: var(--editorTheme3-${prop}Color) !important;
|
||||
border-color: #0003 !important;
|
||||
}
|
||||
#s3devIDD > li.extension {
|
||||
background-color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.extension:hover,
|
||||
#s3devIDD > li.extension.sel {
|
||||
background-color: ${tertiary};
|
||||
}`;
|
||||
}
|
||||
if (prop === "sa") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#29beb8"] {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
${textMode === "black" ? "--sa-block-text-color: #575e75;" : ""}
|
||||
}`;
|
||||
}
|
||||
} else {
|
||||
let background = { colorOnWhite: "#fff", colorOnBlack: "#282828" }[textMode];
|
||||
let inputShadow = { colorOnWhite: "#00000026", colorOnBlack: "#fff3" }[textMode];
|
||||
let secondary = multiply(addon.settings.get(propNameForSettings + "-color"), { a: 0.15 });
|
||||
let secondaryActive = multiply(addon.settings.get(propNameForSettings + "-color"), { a: 0.25 });
|
||||
let menuText = { colorOnWhite: "#575e75", colorOnBlack: "#fff" }[textMode];
|
||||
stylesheet += `g[data-category="${prop}"] > path.blocklyBlockBackground,
|
||||
g[data-category="${prop}"] > g[data-argument-type="dropdown"] > rect,
|
||||
g[data-category="${prop}"] > g[data-argument-type="variable"] > rect {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${settingName}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
g[data-category="${prop}"] > .blocklyText,
|
||||
g[data-category="${prop}"] > g:not([data-id]) > .blocklyText /* variable and list reporters */ {
|
||||
fill: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
g[data-category="${prop}"] > g[data-argument-type="dropdown"] > .blocklyDropdownText,
|
||||
g[data-category="${prop}"] > g[data-argument-type="variable"] > .blocklyDropdownText,
|
||||
g[data-category="${prop}"] > g[data-argument-type="dropdown"] > g > .blocklyDropdownText {
|
||||
fill: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
g[data-category="${prop}"] > g[data-argument-type="dropdown"] > path,
|
||||
g[data-category="${prop}"] > g[data-argument-type="variable"] > path,
|
||||
g[data-category="${prop}"] > path[data-argument-type="boolean"] {
|
||||
fill: ${secondary};
|
||||
stroke: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
.blocklyBlockBackground[fill="${categories[prop].tertiaryColor}"] /* open dropdown */ {
|
||||
fill: ${secondaryActive} !important;
|
||||
}
|
||||
.scratchCategoryId-${categories[prop].alt ? categories[prop].alt : prop} > .scratchCategoryItemBubble {
|
||||
background-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[data-category="${prop}"]:not([style*="rgb(255, 255, 255)"]) {
|
||||
background-color: ${background} !important;
|
||||
border-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[data-category="${prop}"] .goog-menuitem-highlight {
|
||||
background-color: ${secondaryActive};
|
||||
}
|
||||
.blocklyBubbleCanvas [stroke="${categories[prop].tertiaryColor}"],
|
||||
g[data-category=${prop}] > g[data-argument-type*="text"] > path,
|
||||
g[data-category=${prop}] > g > line {
|
||||
stroke: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
.blocklyWidgetDiv.fieldTextInput[style*="box-shadow"] {
|
||||
box-shadow: 0 0 0 4px ${inputShadow} !important;
|
||||
}
|
||||
#s3devIDD > li.${prop} {
|
||||
background-color: ${secondary};
|
||||
color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.${prop}:hover,
|
||||
#s3devIDD > li.${prop}.sel {
|
||||
background-color: ${secondaryActive};
|
||||
}`;
|
||||
if (prop === "custom") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#FF6680"] {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#FF6680"] ~ .blocklyText,
|
||||
g[data-shapes="c-block c-1 hat"] > g[data-shapes="stack"]:not(.blocklyDraggable) > .blocklyText,
|
||||
.blocklyEditableText > rect[fill="#FF3355"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#FF6680"] ~ [data-argument-type="text"] > path {
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
g[data-shapes="c-block c-1 hat"] > g[data-shapes="stack"]:not(.blocklyDraggable) > path,
|
||||
path[data-argument-type="boolean"][fill="#FF3355"] {
|
||||
fill: ${secondary};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
.blocklyEditableText > rect[fill="#FF3355"] {
|
||||
fill: ${secondary};
|
||||
}
|
||||
#s3devIDD > li.null {
|
||||
background-color: ${secondary};
|
||||
color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.null:hover,
|
||||
#s3devIDD > li.null.sel {
|
||||
background-color: ${secondaryActive};
|
||||
}`;
|
||||
}
|
||||
if (prop === "sensing") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#5CB1D6"],
|
||||
g[data-argument-type="dropdown"] > rect[fill="#5CB1D6"] {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
g[data-argument-type="dropdown"] > path[fill="#47A8D1"] {
|
||||
fill: ${secondary};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#5CB1D6"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
g[data-argument-type="dropdown"] > rect[fill="#5CB1D6"] ~ .blocklyText,
|
||||
g[data-argument-type="dropdown"] > rect[fill="#2E8EB8"] ~ .blocklyText,
|
||||
g[data-argument-type="dropdown"] > path[fill="#47A8D1"] ~ * > .blocklyText,
|
||||
g[data-argument-type="dropdown"] > path[fill="#2E8EB8"] ~ * > .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(92, 177, 214)"] {
|
||||
background-color: ${background} !important;
|
||||
border-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(92, 177, 214)"] .goog-menuitem-highlight {
|
||||
background-color: ${secondaryActive};
|
||||
}`;
|
||||
}
|
||||
if (prop === "events") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#FFBF00"],
|
||||
g[data-argument-type="dropdown"] > rect[fill="#FFBF00"],
|
||||
g[data-argument-type="dropdown"] > rect[fill="#CC9900"] {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${settingName}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#FFBF00"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#FFBF00"] ~ g[data-argument-type="variable"] > g > .blocklyDropdownText {
|
||||
fill: var(--editorTheme3-${prop}Color) !important;
|
||||
}
|
||||
g[data-argument-type="dropdown"] > rect[fill="#FFBF00"] ~ .blocklyText,
|
||||
g[data-argument-type="dropdown"] > rect[fill="#CC9900"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(255, 191, 0)"] {
|
||||
background-color: ${background} !important;
|
||||
border-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(255, 191, 0)"] .goog-menuitem-highlight {
|
||||
background-color: ${secondaryActive};
|
||||
}`;
|
||||
}
|
||||
if (prop === "Pen") {
|
||||
stylesheet += `g[data-category] /* specificity */ > path.blocklyBlockBackground[fill="#0FBD8C"] {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#0FBD8C"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#0FBD8C"] ~ g[data-argument-type="dropdown"] > g > .blocklyDropdownText {
|
||||
fill: var(--editorTheme3-${prop}Color) !important;
|
||||
}
|
||||
g[data-argument-type="dropdown"] > path[fill="#0DA57A"] {
|
||||
fill: ${secondary};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(15, 189, 140)"] {
|
||||
background-color: ${background} !important;
|
||||
border-color: var(--editorTheme3-${settingName}Color) !important;
|
||||
}
|
||||
.blocklyDropDownDiv[style*="rgb(15, 189, 140)"] .goog-menuitem-highlight {
|
||||
background-color: ${secondaryActive};
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#0FBD8C"] ~ [data-argument-type="text"] > path,
|
||||
path.blocklyBlockBackground[fill="#0FBD8C"] ~ g > line {
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
#s3devIDD > li.extension {
|
||||
background-color: ${secondary};
|
||||
color: var(--editorTheme3-${settingName}Color);
|
||||
}
|
||||
#s3devIDD > li.extension:hover,
|
||||
#s3devIDD > li.extension.sel {
|
||||
background-color: ${secondaryActive};
|
||||
}`;
|
||||
}
|
||||
if (prop === "sa") {
|
||||
stylesheet += `path.blocklyBlockBackground[fill="#29beb8"] {
|
||||
fill: ${background};
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
--sa-block-text-color: ${menuText};
|
||||
--sa-block-secondary-color: ${secondaryActive};
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#29beb8"] ~ .blocklyText {
|
||||
fill: var(--editorTheme3-${prop}Color);
|
||||
}
|
||||
path.blocklyBlockBackground[fill="#29beb8"] ~ [data-argument-type="text"] > path {
|
||||
stroke: var(--editorTheme3-${prop}Color);
|
||||
}`;
|
||||
return block.getColourTertiary();
|
||||
}
|
||||
if (isColoredTextMode())
|
||||
return alphaBlend(primaryColor(category), multiply(addon.settings.get(category.settingId), { a: 0.25 }));
|
||||
return tertiaryColor(category);
|
||||
};
|
||||
const textColor = (field) => {
|
||||
if (addon.self.disabled || textMode === "white") return "#ffffff";
|
||||
if (textMode === "black") return "#575e75";
|
||||
if (field) return field.sourceBlock_.getColourTertiary();
|
||||
return "#000000";
|
||||
};
|
||||
const uncoloredTextColor = () => {
|
||||
if (addon.self.disabled) return "#ffffff";
|
||||
return {
|
||||
white: "#ffffff",
|
||||
black: "#575e75",
|
||||
colorOnWhite: "#575e75",
|
||||
colorOnBlack: "#ffffff",
|
||||
}[textMode];
|
||||
};
|
||||
const otherColor = (settingId, colorId) => {
|
||||
if (addon.self.disabled) return originalColors[colorId];
|
||||
return addon.settings.get(settingId);
|
||||
};
|
||||
|
||||
// Blockly doesn't handle colors with transparency
|
||||
const oldBlockMakeColor = Blockly.Block.prototype.makeColour_;
|
||||
Blockly.Block.prototype.makeColour_ = function (color) {
|
||||
if (typeof color === "string" && /^#(?:[0-9A-Za-z]{2}){3,4}$/.test(color)) return color;
|
||||
return oldBlockMakeColor(color);
|
||||
};
|
||||
|
||||
const oldCategoryCreateDom = Blockly.Toolbox.Category.prototype.createDom;
|
||||
Blockly.Toolbox.Category.prototype.createDom = function () {
|
||||
// Category bubbles
|
||||
oldCategoryCreateDom.call(this);
|
||||
if (this.iconURI_) return;
|
||||
const category = categories.find((item) => item.id === this.id_);
|
||||
if (!category) return;
|
||||
this.bubble_.style.backgroundColor = isColoredTextMode() ? fieldBackground(category) : primaryColor(category);
|
||||
this.bubble_.style.borderColor = tertiaryColor(category);
|
||||
};
|
||||
|
||||
const oldBlockSetColour = Blockly.Block.prototype.setColour;
|
||||
Blockly.Block.prototype.setColour = function (colour, colourSecondary, colourTertiary) {
|
||||
// Extension blocks (color is set by VM)
|
||||
if (colour.toLowerCase() === originalColors.pen.primary.toLowerCase()) {
|
||||
colour = primaryColor(extensionsCategory);
|
||||
colourSecondary = secondaryColor(extensionsCategory);
|
||||
colourTertiary = tertiaryColor(extensionsCategory);
|
||||
}
|
||||
return oldBlockSetColour.call(this, colour, colourSecondary, colourTertiary);
|
||||
};
|
||||
|
||||
const oldBlockUpdateColour = Blockly.BlockSvg.prototype.updateColour;
|
||||
Blockly.BlockSvg.prototype.updateColour = function () {
|
||||
oldBlockUpdateColour.call(this);
|
||||
// Boolean inputs
|
||||
for (const input of this.inputList) {
|
||||
if (input.outlinePath) {
|
||||
input.outlinePath.setAttribute("fill", fieldBackground(this));
|
||||
}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
document.documentElement.style.setProperty(
|
||||
"--editorTheme3-inputColor-text",
|
||||
textColor(addon.settings.get("input-color"))
|
||||
);
|
||||
newStyle.textContent = stylesheet;
|
||||
}
|
||||
|
||||
export default async function ({ addon, global, console }) {
|
||||
const otherStyle = document.querySelector(`[data-addon-id='${addon.self.id}']`);
|
||||
const newStyle = document.createElement("style");
|
||||
updateSettings(addon, newStyle);
|
||||
addon.settings.addEventListener("change", () => {
|
||||
updateSettings(addon, newStyle);
|
||||
});
|
||||
newStyle.className = "scratch-addons-style";
|
||||
newStyle.setAttribute("data-addon-id", addon.self.id);
|
||||
newStyle.setAttribute("data-addon-index", otherStyle.getAttribute("data-addon-index"));
|
||||
|
||||
otherStyle.parentElement.insertBefore(newStyle, otherStyle.nextSibling);
|
||||
|
||||
// Look for reenable event to enable the style. cs.js cannot handle an appended style.
|
||||
addon.self.addEventListener("reenabled", () => (newStyle.disabled = false));
|
||||
const oldBlockShowContextMenu = Blockly.BlockSvg.prototype.showContextMenu_;
|
||||
Blockly.BlockSvg.prototype.showContextMenu_ = function (e) {
|
||||
Blockly.WidgetDiv.DIV.style.setProperty("--editorTheme3-hoveredItem", fieldBackground(this));
|
||||
return oldBlockShowContextMenu.call(this, e);
|
||||
};
|
||||
|
||||
const oldFieldLabelInit = Blockly.FieldLabel.prototype.init;
|
||||
Blockly.FieldLabel.prototype.init = function () {
|
||||
// Labels
|
||||
oldFieldLabelInit.call(this);
|
||||
this.textElement_.style.fill = textColor(this);
|
||||
};
|
||||
|
||||
const oldFieldTextInputInit = Blockly.FieldTextInput.prototype.init;
|
||||
Blockly.FieldTextInput.prototype.init = function () {
|
||||
// Text inputs
|
||||
oldFieldTextInputInit.call(this);
|
||||
if (this.sourceBlock_.isShadow()) return;
|
||||
// Labels in custom block editor
|
||||
this.box_.setAttribute("fill", fieldBackground(this));
|
||||
};
|
||||
|
||||
const oldFieldDropdownInit = Blockly.FieldDropdown.prototype.init;
|
||||
Blockly.FieldDropdown.prototype.init = function () {
|
||||
// Dropdowns
|
||||
oldFieldDropdownInit.call(this);
|
||||
this.textElement_.style.setProperty("fill", textColor(this), "important");
|
||||
if (textColor(this) !== "#ffffff") this.arrow_.style.filter = recolorFilter(textColor(this));
|
||||
};
|
||||
|
||||
const oldFieldDropdownShowEditor = Blockly.FieldDropdown.prototype.showEditor_;
|
||||
Blockly.FieldDropdown.prototype.showEditor_ = function () {
|
||||
oldFieldDropdownShowEditor.call(this);
|
||||
|
||||
// Open dropdowns
|
||||
if (!this.disableColourChange_) {
|
||||
if (this.sourceBlock_.isShadow()) {
|
||||
this.sourceBlock_.setShadowColour(fieldBackground(this));
|
||||
} else if (this.box_) {
|
||||
this.box_.setAttribute("fill", fieldBackground(this));
|
||||
}
|
||||
}
|
||||
|
||||
// Dropdown menus
|
||||
let primaryColor;
|
||||
if (this.sourceBlock_.isShadow() && this.sourceBlock_.getParent())
|
||||
primaryColor = this.sourceBlock_.getParent().getColour();
|
||||
else primaryColor = this.sourceBlock_.getColour();
|
||||
Blockly.DropDownDiv.DIV_.style.backgroundColor = removeAlpha(primaryColor);
|
||||
if (isColoredTextMode()) {
|
||||
Blockly.DropDownDiv.getContentDiv().style.setProperty("--editorTheme3-hoveredItem", fieldBackground(this));
|
||||
} else {
|
||||
Blockly.DropDownDiv.getContentDiv().style.removeProperty("--editorTheme3-hoveredItem");
|
||||
}
|
||||
};
|
||||
|
||||
const oldFieldVariableInit = Blockly.FieldVariable.prototype.init;
|
||||
Blockly.FieldVariable.prototype.init = function () {
|
||||
// Variable dropdowns
|
||||
oldFieldVariableInit.call(this);
|
||||
this.textElement_.style.setProperty("fill", textColor(this), "important");
|
||||
};
|
||||
|
||||
const oldFieldVariableGetterInit = Blockly.FieldVariableGetter.prototype.init;
|
||||
Blockly.FieldVariableGetter.prototype.init = function () {
|
||||
// Variable reporters
|
||||
oldFieldVariableGetterInit.call(this);
|
||||
this.textElement_.style.fill = textColor(this);
|
||||
};
|
||||
|
||||
const oldFieldMatrixUpdateMatrix = Blockly.FieldMatrix.prototype.updateMatrix_;
|
||||
Blockly.FieldMatrix.prototype.updateMatrix_ = function () {
|
||||
// Matrix inputs
|
||||
oldFieldMatrixUpdateMatrix.call(this);
|
||||
for (let i = 0; i < this.matrix_.length; i++) {
|
||||
if (this.matrix_[i] !== "0") {
|
||||
this.fillMatrixNode_(this.ledButtons_, i, uncoloredTextColor());
|
||||
this.fillMatrixNode_(this.ledThumbNodes_, i, uncoloredTextColor());
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
const oldFieldMatrixCreateButton = Blockly.FieldMatrix.prototype.createButton_;
|
||||
Blockly.FieldMatrix.prototype.createButton_ = function (fill) {
|
||||
if (fill === "#FFFFFF") fill = uncoloredTextColor();
|
||||
return oldFieldMatrixCreateButton.call(this, fill);
|
||||
};
|
||||
|
||||
const updateColors = () => {
|
||||
const vm = addon.tab.traps.vm;
|
||||
|
||||
textMode = addon.settings.get("text");
|
||||
|
||||
for (const category of categories) {
|
||||
// CSS variables are used for compatibility with other addons
|
||||
const prefix = `--editorTheme3-${category.colorId}`;
|
||||
for (const [name, value] of Object.entries({
|
||||
primary: primaryColor(category),
|
||||
secondary: secondaryColor(category),
|
||||
tertiary: tertiaryColor(category),
|
||||
field: fieldBackground(category),
|
||||
})) {
|
||||
document.documentElement.style.setProperty(`${prefix}-${name}`, value);
|
||||
}
|
||||
|
||||
// Update Blockly.Colours
|
||||
if (!Blockly.Colours[category.colorId]) continue;
|
||||
Blockly.Colours[category.colorId].primary = primaryColor(category);
|
||||
Blockly.Colours[category.colorId].secondary = secondaryColor(category);
|
||||
Blockly.Colours[category.colorId].tertiary = tertiaryColor(category);
|
||||
}
|
||||
addon.tab.setCustomBlockColor({
|
||||
color: primaryColor(saCategory),
|
||||
secondaryColor: secondaryColor(saCategory),
|
||||
tertiaryColor: tertiaryColor(saCategory),
|
||||
});
|
||||
Blockly.Colours.textField = otherColor("input-color", "textField");
|
||||
if (uncoloredTextColor() === "#575e75") Blockly.Colours.fieldShadow = "rgba(0, 0, 0, 0.15)";
|
||||
else Blockly.Colours.fieldShadow = originalColors.fieldShadow;
|
||||
|
||||
const workspace = Blockly.getMainWorkspace();
|
||||
const flyout = workspace.getFlyout();
|
||||
const toolbox = workspace.getToolbox();
|
||||
|
||||
// Reload toolbox
|
||||
if (vm.editingTarget) {
|
||||
vm.emitWorkspaceUpdate();
|
||||
}
|
||||
const flyoutWorkspace = flyout.getWorkspace();
|
||||
Blockly.Xml.clearWorkspaceAndLoadFromXml(Blockly.Xml.workspaceToDom(flyoutWorkspace), flyoutWorkspace);
|
||||
toolbox.populate_(workspace.options.languageTree);
|
||||
};
|
||||
|
||||
updateColors();
|
||||
addon.settings.addEventListener("change", updateColors);
|
||||
addon.self.addEventListener("disabled", updateColors);
|
||||
addon.self.addEventListener("reenabled", updateColors);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/* generated by pull.js */
|
||||
const manifest = {
|
||||
"name": "Editor find bar",
|
||||
"description": "Adds a find bar to find and jump to scripts, costumes and sounds next to the sounds tab. Use Ctrl+Left and Ctrl+Right in the code area to navigate to previous or next visited position after using the find bar.",
|
||||
"info": [
|
||||
{
|
||||
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
||||
"id": "developer-tools"
|
||||
}
|
||||
],
|
||||
"credits": [
|
||||
{
|
||||
"name": "griffpatch"
|
||||
},
|
||||
{
|
||||
"name": "TheColaber",
|
||||
"link": "https://scratch.mit.edu/users/thecolaber/"
|
||||
}
|
||||
],
|
||||
"dynamicDisable": true,
|
||||
"userscripts": [
|
||||
{
|
||||
"url": "userscript.js"
|
||||
}
|
||||
],
|
||||
"userstyles": [
|
||||
{
|
||||
"url": "userstyle.css"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"recommended"
|
||||
],
|
||||
"enabledByDefault": true
|
||||
};
|
||||
export default manifest;
|
||||
@@ -0,0 +1,7 @@
|
||||
/* generated by pull.js */
|
||||
import _js from "./userscript.js";
|
||||
import _css from "!css-loader!./userstyle.css";
|
||||
export const resources = {
|
||||
"userscript.js": _js,
|
||||
"userstyle.css": _css,
|
||||
};
|
||||
File renamed without changes.
File renamed without changes.
File renamed without changes.
+17
-22
@@ -1,8 +1,9 @@
|
||||
import BlockInstance from "../BlockInstance.js";
|
||||
import BlockInstance from "./BlockInstance.js";
|
||||
import BlockFlasher from "./BlockFlasher.js";
|
||||
|
||||
// A file to split Editor Devtools by features.
|
||||
|
||||
// Make these global so that every addon uses the same arrays.
|
||||
let views = [];
|
||||
let forward = [];
|
||||
export default class Utils {
|
||||
constructor(addon) {
|
||||
this.addon = addon;
|
||||
@@ -17,7 +18,7 @@ export default class Utils {
|
||||
// this._myFlash = { block: null, timerID: null, colour: null };
|
||||
this.offsetX = 32;
|
||||
this.offsetY = 32;
|
||||
this.navigationHistory = new NavigationHistory(this);
|
||||
this.navigationHistory = new NavigationHistory();
|
||||
/**
|
||||
* The workspace
|
||||
*/
|
||||
@@ -113,7 +114,7 @@ export default class Utils {
|
||||
}
|
||||
|
||||
/**
|
||||
* Find the top stack block of a stack
|
||||
* Find the top stack block of a stack
|
||||
* @param block a block in a stack
|
||||
* @returns {*} a block that is the top of the stack of blocks
|
||||
*/
|
||||
@@ -127,32 +128,26 @@ export default class Utils {
|
||||
}
|
||||
|
||||
class NavigationHistory {
|
||||
constructor(utils) {
|
||||
this.utils = utils;
|
||||
this.views = [];
|
||||
this.forward = [];
|
||||
}
|
||||
|
||||
/**
|
||||
* Keep a record of the scroll and zoom position
|
||||
*/
|
||||
storeView(next, dist) {
|
||||
this.forward = [];
|
||||
let workspace = this.utils.getWorkspace(),
|
||||
forward = [];
|
||||
let workspace = Blockly.getMainWorkspace(),
|
||||
s = workspace.getMetrics();
|
||||
|
||||
let pos = { left: s.viewLeft, top: s.viewTop };
|
||||
if (!next || distance(pos, next) > dist) {
|
||||
this.views.push(pos);
|
||||
views.push(pos);
|
||||
}
|
||||
}
|
||||
|
||||
peek() {
|
||||
return this.views.length > 0 ? this.views[this.views.length - 1] : null;
|
||||
return views.length > 0 ? views[views.length - 1] : null;
|
||||
}
|
||||
|
||||
goBack() {
|
||||
const workspace = this.utils.getWorkspace(),
|
||||
const workspace = Blockly.getMainWorkspace(),
|
||||
s = workspace.getMetrics();
|
||||
|
||||
let pos = { left: s.viewLeft, top: s.viewTop };
|
||||
@@ -162,9 +157,9 @@ class NavigationHistory {
|
||||
}
|
||||
if (distance(pos, view) < 64) {
|
||||
// Go back to current if we are already far away from it
|
||||
if (this.views.length > 1) {
|
||||
this.views.pop();
|
||||
this.forward.push(view);
|
||||
if (views.length > 1) {
|
||||
views.pop();
|
||||
forward.push(view);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -198,13 +193,13 @@ class NavigationHistory {
|
||||
}
|
||||
|
||||
goForward() {
|
||||
let view = this.forward.pop();
|
||||
let view = forward.pop();
|
||||
if (!view) {
|
||||
return;
|
||||
}
|
||||
this.views.push(view);
|
||||
views.push(view);
|
||||
|
||||
let workspace = this.utils.getWorkspace(),
|
||||
let workspace = Blockly.getMainWorkspace(),
|
||||
s = workspace.getMetrics();
|
||||
|
||||
let sx = view.left - s.contentLeft,
|
||||
@@ -0,0 +1,796 @@
|
||||
import BlockItem from "./blockly/BlockItem.js";
|
||||
import BlockInstance from "./blockly/BlockInstance.js";
|
||||
import Utils from "./blockly/Utils.js";
|
||||
|
||||
export default async function ({ addon, msg, console }) {
|
||||
const Blockly = await addon.tab.traps.getBlockly();
|
||||
|
||||
class FindBar {
|
||||
constructor() {
|
||||
this.utils = new Utils(addon);
|
||||
|
||||
this.prevValue = "";
|
||||
|
||||
this.findLabel = null;
|
||||
this.findWrapper = null;
|
||||
this.findInput = null;
|
||||
this.dropdownOut = null;
|
||||
this.dropdown = new Dropdown(this.utils);
|
||||
}
|
||||
|
||||
get workspace() {
|
||||
return Blockly.getMainWorkspace();
|
||||
}
|
||||
|
||||
createDom(root) {
|
||||
const findBar = root.appendChild(document.createElement("div"));
|
||||
findBar.className = "sa-find-bar";
|
||||
addon.tab.displayNoneWhileDisabled(findBar, { display: "flex" });
|
||||
|
||||
this.findLabel = findBar.appendChild(document.createElement("label"));
|
||||
this.findLabel.htmlFor = "sa-find-input";
|
||||
this.findLabel.textContent = msg("find");
|
||||
|
||||
this.findWrapper = findBar.appendChild(document.createElement("span"));
|
||||
this.findWrapper.className = "sa-find-wrapper";
|
||||
|
||||
this.dropdownOut = this.findWrapper.appendChild(document.createElement("label"));
|
||||
this.dropdownOut.className = "sa-find-dropdown-out";
|
||||
|
||||
this.findInput = this.dropdownOut.appendChild(document.createElement("input"));
|
||||
this.findInput.className = addon.tab.scratchClass("input_input-form", {
|
||||
others: "sa-find-input",
|
||||
});
|
||||
this.findInput.type = "search";
|
||||
this.findInput.placeholder = msg("find-placeholder");
|
||||
this.findInput.autocomplete = "off";
|
||||
|
||||
this.dropdownOut.appendChild(this.dropdown.createDom());
|
||||
|
||||
this.bindEvents();
|
||||
}
|
||||
|
||||
bindEvents() {
|
||||
this.findInput.addEventListener("focus", () => this.inputChange());
|
||||
this.findInput.addEventListener("keydown", (e) => this.inputKeyDown(e));
|
||||
this.findInput.addEventListener("keyup", () => this.inputChange());
|
||||
this.findInput.addEventListener("focusout", () => this.hideDropDown());
|
||||
|
||||
document.addEventListener("keydown", (e) => this.eventKeyDown(e), true);
|
||||
}
|
||||
|
||||
inputChange() {
|
||||
this.showDropDown();
|
||||
|
||||
// Filter the list...
|
||||
let val = (this.findInput.value || "").toLowerCase();
|
||||
if (val === this.prevValue) {
|
||||
// No change so don't re-filter
|
||||
return;
|
||||
}
|
||||
this.prevValue = val;
|
||||
|
||||
this.dropdown.blocks = null;
|
||||
|
||||
// Hide items in list that do not contain filter text
|
||||
let listLI = this.dropdown.items;
|
||||
for (const li of listLI) {
|
||||
let procCode = li.data.procCode;
|
||||
let i = li.data.lower.indexOf(val);
|
||||
if (i >= 0) {
|
||||
li.style.display = "block";
|
||||
while (li.firstChild) {
|
||||
li.removeChild(li.firstChild);
|
||||
}
|
||||
if (i > 0) {
|
||||
li.appendChild(document.createTextNode(procCode.substring(0, i)));
|
||||
}
|
||||
let bText = document.createElement("b");
|
||||
bText.appendChild(document.createTextNode(procCode.substr(i, val.length)));
|
||||
li.appendChild(bText);
|
||||
if (i + val.length < procCode.length) {
|
||||
li.appendChild(document.createTextNode(procCode.substr(i + val.length)));
|
||||
}
|
||||
} else {
|
||||
li.style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
inputKeyDown(e) {
|
||||
this.dropdown.inputKeyDown(e);
|
||||
|
||||
// Enter
|
||||
if (e.keyCode === 13) {
|
||||
this.findInput.blur();
|
||||
return;
|
||||
}
|
||||
|
||||
// Escape
|
||||
if (e.keyCode === 27) {
|
||||
if (this.findInput.value.length > 0) {
|
||||
this.findInput.value = ""; // Clear search first, then close on second press
|
||||
this.inputChange();
|
||||
} else {
|
||||
this.findInput.blur();
|
||||
}
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
eventKeyDown(e) {
|
||||
if (addon.self.disabled) return;
|
||||
|
||||
let ctrlKey = e.ctrlKey || e.metaKey;
|
||||
|
||||
if (e.key === "f" && ctrlKey && !e.shiftKey) {
|
||||
// Ctrl + F (Override default Ctrl+F find)
|
||||
this.findInput.focus();
|
||||
this.findInput.select();
|
||||
e.cancelBubble = true;
|
||||
e.preventDefault();
|
||||
return true;
|
||||
}
|
||||
|
||||
if (e.keyCode === 37 && ctrlKey) {
|
||||
// Ctrl + Left Arrow Key
|
||||
if (document.activeElement.tagName === "INPUT") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.selectedTab === 0) {
|
||||
this.utils.navigationHistory.goBack();
|
||||
e.cancelBubble = true;
|
||||
e.preventDefault();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
if (e.keyCode === 39 && ctrlKey) {
|
||||
// Ctrl + Right Arrow Key
|
||||
if (document.activeElement.tagName === "INPUT") {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.selectedTab === 0) {
|
||||
this.utils.navigationHistory.goForward();
|
||||
e.cancelBubble = true;
|
||||
e.preventDefault();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
showDropDown(focusID, instanceBlock) {
|
||||
if (!focusID && this.dropdownOut.classList.contains("visible")) {
|
||||
return;
|
||||
}
|
||||
|
||||
// special '' vs null... - null forces a reevaluation
|
||||
this.prevValue = focusID ? "" : null; // Clear the previous value of the input search
|
||||
|
||||
this.dropdownOut.classList.add("visible");
|
||||
let scratchBlocks =
|
||||
this.selectedTab === 0
|
||||
? this.getScratchBlocks()
|
||||
: this.selectedTab === 1
|
||||
? this.getScratchCostumes()
|
||||
: this.selectedTab === 2
|
||||
? this.getScratchSounds()
|
||||
: [];
|
||||
|
||||
this.dropdown.empty();
|
||||
|
||||
for (const proc of scratchBlocks) {
|
||||
let item = this.dropdown.addItem(proc);
|
||||
|
||||
if (focusID) {
|
||||
if (proc.matchesID(focusID)) {
|
||||
this.dropdown.onItemClick(item, instanceBlock);
|
||||
} else {
|
||||
item.style.display = "none";
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.utils.offsetX =
|
||||
this.dropdownOut.getBoundingClientRect().right - this.findLabel.getBoundingClientRect().left + 26;
|
||||
this.utils.offsetY = 32;
|
||||
}
|
||||
|
||||
hideDropDown() {
|
||||
this.dropdownOut.classList.remove("visible");
|
||||
}
|
||||
|
||||
get selectedTab() {
|
||||
return addon.tab.redux.state.scratchGui.editorTab.activeTabIndex;
|
||||
}
|
||||
|
||||
getScratchBlocks() {
|
||||
let myBlocks = [];
|
||||
let myBlocksByProcCode = {};
|
||||
|
||||
let topBlocks = this.workspace.getTopBlocks();
|
||||
|
||||
/**
|
||||
* @param cls
|
||||
* @param txt
|
||||
* @param root
|
||||
* @returns BlockItem
|
||||
*/
|
||||
function addBlock(cls, txt, root) {
|
||||
let id = root.id ? root.id : root.getId ? root.getId() : null;
|
||||
let clone = myBlocksByProcCode[txt];
|
||||
if (clone) {
|
||||
if (!clone.clones) {
|
||||
clone.clones = [];
|
||||
}
|
||||
clone.clones.push(id);
|
||||
return clone;
|
||||
}
|
||||
let items = new BlockItem(cls, txt, id, 0);
|
||||
items.y = root.getRelativeToSurfaceXY ? root.getRelativeToSurfaceXY().y : null;
|
||||
myBlocks.push(items);
|
||||
myBlocksByProcCode[txt] = items;
|
||||
return items;
|
||||
}
|
||||
|
||||
function getDescFromField(root) {
|
||||
let fields = root.inputList[0];
|
||||
let desc;
|
||||
for (const fieldRow of fields.fieldRow) {
|
||||
desc = (desc ? desc + " " : "") + fieldRow.getText();
|
||||
}
|
||||
return desc;
|
||||
}
|
||||
|
||||
for (const root of topBlocks) {
|
||||
if (root.type === "procedures_definition") {
|
||||
const label = root.getChildren()[0];
|
||||
const procCode = label.getProcCode();
|
||||
if (!procCode) {
|
||||
continue;
|
||||
}
|
||||
const indexOfLabel = root.inputList.findIndex((i) => i.fieldRow.length > 0);
|
||||
if (indexOfLabel === -1) {
|
||||
continue;
|
||||
}
|
||||
const translatedDefine = root.inputList[indexOfLabel].fieldRow[0].getText();
|
||||
const message = indexOfLabel === 0 ? `${translatedDefine} ${procCode}` : `${procCode} ${translatedDefine}`;
|
||||
addBlock("define", message, root);
|
||||
continue;
|
||||
}
|
||||
|
||||
if (root.type === "event_whenflagclicked") {
|
||||
addBlock("flag", getDescFromField(root), root); // "When Flag Clicked"
|
||||
continue;
|
||||
}
|
||||
|
||||
if (root.type === "event_whenbroadcastreceived") {
|
||||
const fieldRow = root.inputList[0].fieldRow;
|
||||
let eventName = fieldRow.find((input) => input.name === "BROADCAST_OPTION").getText();
|
||||
addBlock("receive", "event " + eventName, root).eventName = eventName;
|
||||
|
||||
continue;
|
||||
}
|
||||
|
||||
if (root.type.substr(0, 10) === "event_when") {
|
||||
addBlock("event", getDescFromField(root), root); // "When Flag Clicked"
|
||||
continue;
|
||||
}
|
||||
|
||||
if (root.type === "control_start_as_clone") {
|
||||
addBlock("event", getDescFromField(root), root); // "when I start as a clone"
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
let map = this.workspace.getVariableMap();
|
||||
|
||||
let vars = map.getVariablesOfType("");
|
||||
for (const row of vars) {
|
||||
addBlock(row.isLocal ? "var" : "VAR", (row.isLocal ? "var " : "VAR ") + row.name, row);
|
||||
}
|
||||
|
||||
let lists = map.getVariablesOfType("list");
|
||||
for (const row of lists) {
|
||||
addBlock(row.isLocal ? "list" : "LIST", (row.isLocal ? "list " : "LIST ") + row.name, row);
|
||||
}
|
||||
|
||||
const events = this.getCallsToEvents();
|
||||
for (const event of events) {
|
||||
addBlock("receive", "event " + event.eventName, event.block).eventName = event.eventName;
|
||||
}
|
||||
|
||||
const clsOrder = { flag: 0, receive: 1, event: 2, define: 3, var: 4, VAR: 5, list: 6, LIST: 7 };
|
||||
|
||||
myBlocks.sort((a, b) => {
|
||||
let t = clsOrder[a.cls] - clsOrder[b.cls];
|
||||
if (t !== 0) {
|
||||
return t;
|
||||
}
|
||||
if (a.lower < b.lower) {
|
||||
return -1;
|
||||
}
|
||||
if (a.lower > b.lower) {
|
||||
return 1;
|
||||
}
|
||||
return a.y - b.y;
|
||||
});
|
||||
|
||||
return myBlocks;
|
||||
}
|
||||
|
||||
getScratchCostumes() {
|
||||
let costumes = this.utils.getEditingTarget().getCostumes();
|
||||
|
||||
let items = [];
|
||||
|
||||
let i = 0;
|
||||
for (const costume of costumes) {
|
||||
let item = new BlockItem("costume", costume.name, costume.assetId, i);
|
||||
items.push(item);
|
||||
i++;
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
getScratchSounds() {
|
||||
let sounds = this.utils.getEditingTarget().getSounds();
|
||||
|
||||
let items = [];
|
||||
|
||||
let i = 0;
|
||||
for (const sound of sounds) {
|
||||
let item = new BlockItem("sound", sound.name, sound.assetId, i);
|
||||
items.push(item);
|
||||
i++;
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
getCallsToEvents() {
|
||||
const uses = []; // Definition First, then calls to it
|
||||
const found = {};
|
||||
|
||||
let topBlocks = this.workspace.getTopBlocks();
|
||||
for (const topBlock of topBlocks) {
|
||||
/** @type {!Array<!Blockly.Block>} */
|
||||
let kids = topBlock.getDescendants();
|
||||
for (const block of kids) {
|
||||
if (block.type === "event_broadcast" || block.type === "event_broadcastandwait") {
|
||||
const eventName = block.getChildren()[0].inputList[0].fieldRow[0].getText();
|
||||
if (!found[eventName]) {
|
||||
found[eventName] = block;
|
||||
uses.push({ eventName: eventName, block: block });
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return uses;
|
||||
}
|
||||
}
|
||||
|
||||
class Dropdown {
|
||||
constructor(utils) {
|
||||
this.utils = utils;
|
||||
|
||||
this.el = null;
|
||||
this.items = [];
|
||||
this.selected = null;
|
||||
this.carousel = new Carousel(this.utils);
|
||||
}
|
||||
|
||||
get workspace() {
|
||||
return Blockly.getMainWorkspace();
|
||||
}
|
||||
|
||||
createDom() {
|
||||
this.el = document.createElement("ul");
|
||||
this.el.className = "sa-find-dropdown";
|
||||
return this.el;
|
||||
}
|
||||
|
||||
inputKeyDown(e) {
|
||||
// Up Arrow
|
||||
if (e.keyCode === 38) {
|
||||
this.navigateFilter(-1);
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
// Down Arrow
|
||||
if (e.keyCode === 40) {
|
||||
this.navigateFilter(1);
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
// Enter
|
||||
if (e.keyCode === 13) {
|
||||
// Any selected on enter? if not select now
|
||||
if (this.selected) {
|
||||
this.navigateFilter(1);
|
||||
}
|
||||
e.preventDefault();
|
||||
return;
|
||||
}
|
||||
|
||||
this.carousel.inputKeyDown(e);
|
||||
}
|
||||
|
||||
navigateFilter(dir) {
|
||||
let nxt;
|
||||
if (this.selected && this.selected.style.display !== "none") {
|
||||
nxt = dir === -1 ? this.selected.previousSibling : this.selected.nextSibling;
|
||||
} else {
|
||||
nxt = this.items[0];
|
||||
dir = 1;
|
||||
}
|
||||
while (nxt && nxt.style.display === "none") {
|
||||
nxt = dir === -1 ? nxt.previousSibling : nxt.nextSibling;
|
||||
}
|
||||
if (nxt) {
|
||||
this.onItemClick(nxt);
|
||||
}
|
||||
}
|
||||
|
||||
addItem(proc) {
|
||||
const item = document.createElement("li");
|
||||
item.innerText = proc.procCode;
|
||||
item.data = proc;
|
||||
const colorIds = {
|
||||
receive: "event",
|
||||
event: "event",
|
||||
define: "more",
|
||||
var: "data",
|
||||
VAR: "data",
|
||||
list: "data_lists",
|
||||
LIST: "data_lists",
|
||||
costume: "looks",
|
||||
sound: "sounds",
|
||||
};
|
||||
if (proc.cls === "flag") {
|
||||
item.className = "sa-find-flag";
|
||||
} else {
|
||||
const colorId = colorIds[proc.cls];
|
||||
item.className = `sa-block-color sa-block-color-${colorId}`;
|
||||
}
|
||||
item.addEventListener("mousedown", (e) => {
|
||||
this.onItemClick(item);
|
||||
e.preventDefault();
|
||||
e.cancelBubble = true;
|
||||
return false;
|
||||
});
|
||||
this.items.push(item);
|
||||
this.el.appendChild(item);
|
||||
return item;
|
||||
}
|
||||
|
||||
onItemClick(item, instanceBlock) {
|
||||
if (this.selected && this.selected !== item) {
|
||||
this.selected.classList.remove("sel");
|
||||
this.selected = null;
|
||||
}
|
||||
if (this.selected !== item) {
|
||||
item.classList.add("sel");
|
||||
this.selected = item;
|
||||
}
|
||||
|
||||
let cls = item.data.cls;
|
||||
if (cls === "costume" || cls === "sound") {
|
||||
// Viewing costumes/sounds - jump to selected costume/sound
|
||||
const assetPanel = document.querySelector("[class^=asset-panel_wrapper]");
|
||||
if (assetPanel) {
|
||||
const reactInstance = assetPanel[addon.tab.traps.getInternalKey(assetPanel)];
|
||||
const reactProps = reactInstance.pendingProps.children[0].props;
|
||||
reactProps.onItemClick(item.data.y);
|
||||
const selectorList = assetPanel.firstChild.firstChild;
|
||||
selectorList.children[item.data.y].scrollIntoView({
|
||||
behavior: "auto",
|
||||
block: "center",
|
||||
inline: "start",
|
||||
});
|
||||
// The wrapper seems to scroll when we use the function above.
|
||||
let wrapper = assetPanel.closest("div[class*=gui_flex-wrapper]");
|
||||
wrapper.scrollTop = 0;
|
||||
}
|
||||
} else if (cls === "var" || cls === "VAR" || cls === "list" || cls === "LIST") {
|
||||
// Search now for all instances
|
||||
let blocks = this.getVariableUsesById(item.data.labelID);
|
||||
this.carousel.build(item, blocks, instanceBlock);
|
||||
} else if (cls === "define") {
|
||||
let blocks = this.getCallsToProcedureById(item.data.labelID);
|
||||
this.carousel.build(item, blocks, instanceBlock);
|
||||
} else if (cls === "receive") {
|
||||
/*
|
||||
let blocks = [this.workspace.getBlockById(li.data.labelID)];
|
||||
if (li.data.clones) {
|
||||
for (const cloneID of li.data.clones) {
|
||||
blocks.push(this.workspace.getBlockById(cloneID))
|
||||
}
|
||||
}
|
||||
blocks = blocks.concat(getCallsToEventsByName(li.data.eventName));
|
||||
*/
|
||||
// Now, fetch the events from the scratch runtime instead of blockly
|
||||
let blocks = this.getCallsToEventsByName(item.data.eventName);
|
||||
if (!instanceBlock) {
|
||||
// Can we start by selecting the first block on 'this' sprite
|
||||
const currentTargetID = this.utils.getEditingTarget().id;
|
||||
for (const block of blocks) {
|
||||
if (block.targetId === currentTargetID) {
|
||||
instanceBlock = block;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
this.carousel.build(item, blocks, instanceBlock);
|
||||
} else if (item.data.clones) {
|
||||
let blocks = [this.workspace.getBlockById(item.data.labelID)];
|
||||
for (const cloneID of item.data.clones) {
|
||||
blocks.push(this.workspace.getBlockById(cloneID));
|
||||
}
|
||||
this.carousel.build(item, blocks, instanceBlock);
|
||||
} else {
|
||||
this.utils.scrollBlockIntoView(item.data.labelID);
|
||||
this.carousel.remove();
|
||||
}
|
||||
}
|
||||
|
||||
getVariableUsesById(id) {
|
||||
let uses = [];
|
||||
|
||||
let topBlocks = this.workspace.getTopBlocks();
|
||||
for (const topBlock of topBlocks) {
|
||||
/** @type {!Array<!Blockly.Block>} */
|
||||
let kids = topBlock.getDescendants();
|
||||
for (const block of kids) {
|
||||
/** @type {!Array<!Blockly.VariableModel>} */
|
||||
let blockVariables = block.getVarModels();
|
||||
if (blockVariables) {
|
||||
for (const blockVar of blockVariables) {
|
||||
if (blockVar.getId() === id) {
|
||||
uses.push(block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return uses;
|
||||
}
|
||||
|
||||
getCallsToProcedureById(id) {
|
||||
let procBlock = this.workspace.getBlockById(id);
|
||||
let label = procBlock.getChildren()[0];
|
||||
let procCode = label.getProcCode();
|
||||
|
||||
let uses = [procBlock]; // Definition First, then calls to it
|
||||
let topBlocks = this.workspace.getTopBlocks();
|
||||
for (const topBlock of topBlocks) {
|
||||
/** @type {!Array<!Blockly.Block>} */
|
||||
let kids = topBlock.getDescendants();
|
||||
for (const block of kids) {
|
||||
if (block.type === "procedures_call") {
|
||||
if (block.getProcCode() === procCode) {
|
||||
uses.push(block);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return uses;
|
||||
}
|
||||
|
||||
getCallsToEventsByName(name) {
|
||||
let uses = []; // Definition First, then calls to it
|
||||
|
||||
const runtime = addon.tab.traps.vm.runtime;
|
||||
const targets = runtime.targets; // The sprites / stage
|
||||
|
||||
for (const target of targets) {
|
||||
if (!target.isOriginal) {
|
||||
continue; // Skip clones
|
||||
}
|
||||
|
||||
const blocks = target.blocks;
|
||||
if (!blocks._blocks) {
|
||||
continue;
|
||||
}
|
||||
|
||||
for (const id of Object.keys(blocks._blocks)) {
|
||||
const block = blocks._blocks[id];
|
||||
// To find event broadcaster blocks, we look for the nested "event_broadcast_menu" blocks first that match the event name
|
||||
if (block.opcode === "event_broadcast_menu" && block.fields.BROADCAST_OPTION.value === name) {
|
||||
// Now get the parent block that is the actual broadcast or broadcast and wait
|
||||
const broadcastBlock = blocks.getBlock(block.parent);
|
||||
uses.push(new BlockInstance(target, broadcastBlock));
|
||||
} else if (block.opcode === "event_whenbroadcastreceived" && block.fields.BROADCAST_OPTION.value === name) {
|
||||
uses.push(new BlockInstance(target, block));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return uses;
|
||||
}
|
||||
|
||||
empty() {
|
||||
for (const item of this.items) {
|
||||
if (this.el.contains(item)) {
|
||||
this.el.removeChild(item);
|
||||
}
|
||||
}
|
||||
this.items = [];
|
||||
this.selected = null;
|
||||
}
|
||||
}
|
||||
|
||||
class Carousel {
|
||||
constructor(utils) {
|
||||
this.utils = utils;
|
||||
|
||||
this.el = null;
|
||||
this.count = null;
|
||||
this.blocks = [];
|
||||
this.idx = 0;
|
||||
}
|
||||
|
||||
build(item, blocks, instanceBlock) {
|
||||
if (this.el && this.el.parentNode === item) {
|
||||
// Same control... click again to go to next
|
||||
this.navRight();
|
||||
} else {
|
||||
this.remove();
|
||||
this.blocks = blocks;
|
||||
item.appendChild(this.createDom());
|
||||
|
||||
this.idx = 0;
|
||||
if (instanceBlock) {
|
||||
for (const idx of Object.keys(this.blocks)) {
|
||||
const block = this.blocks[idx];
|
||||
if (block.id === instanceBlock.id) {
|
||||
this.idx = Number(idx);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (this.idx < this.blocks.length) {
|
||||
this.utils.scrollBlockIntoView(this.blocks[this.idx]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
createDom() {
|
||||
this.el = document.createElement("span");
|
||||
this.el.className = "sa-find-carousel";
|
||||
|
||||
const leftControl = this.el.appendChild(document.createElement("span"));
|
||||
leftControl.className = "sa-find-carousel-control";
|
||||
leftControl.textContent = "◀";
|
||||
leftControl.addEventListener("mousedown", (e) => this.navLeft(e));
|
||||
|
||||
this.count = this.el.appendChild(document.createElement("span"));
|
||||
this.count.innerText = this.blocks.length > 0 ? this.idx + 1 + " / " + this.blocks.length : "0";
|
||||
|
||||
const rightControl = this.el.appendChild(document.createElement("span"));
|
||||
rightControl.className = "sa-find-carousel-control";
|
||||
rightControl.textContent = "▶";
|
||||
rightControl.addEventListener("mousedown", (e) => this.navRight(e));
|
||||
|
||||
return this.el;
|
||||
}
|
||||
|
||||
inputKeyDown(e) {
|
||||
// Left Arrow
|
||||
if (e.keyCode === 37) {
|
||||
if (this.el && this.blocks) {
|
||||
this.navLeft(e);
|
||||
}
|
||||
}
|
||||
|
||||
// Right Arrow
|
||||
if (e.keyCode === 39) {
|
||||
if (this.el && this.blocks) {
|
||||
this.navRight(e);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
navLeft(e) {
|
||||
return this.navSideways(e, -1);
|
||||
}
|
||||
|
||||
navRight(e) {
|
||||
return this.navSideways(e, 1);
|
||||
}
|
||||
|
||||
navSideways(e, dir) {
|
||||
if (this.blocks.length > 0) {
|
||||
this.idx = (this.idx + dir + this.blocks.length) % this.blocks.length; // + length to fix negative modulo js issue.
|
||||
this.count.innerText = this.idx + 1 + " / " + this.blocks.length;
|
||||
this.utils.scrollBlockIntoView(this.blocks[this.idx]);
|
||||
}
|
||||
|
||||
if (e) {
|
||||
e.cancelBubble = true;
|
||||
e.preventDefault();
|
||||
}
|
||||
}
|
||||
|
||||
remove() {
|
||||
if (this.el) {
|
||||
this.el.remove();
|
||||
this.blocks = [];
|
||||
this.idx = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
const findBar = new FindBar();
|
||||
|
||||
const _doBlockClick_ = Blockly.Gesture.prototype.doBlockClick_;
|
||||
Blockly.Gesture.prototype.doBlockClick_ = function () {
|
||||
if (!addon.self.disabled && (this.mostRecentEvent_.button === 1 || this.mostRecentEvent_.shiftKey)) {
|
||||
// Wheel button...
|
||||
// Intercept clicks to allow jump to...?
|
||||
let block = this.startBlock_;
|
||||
for (; block; block = block.getSurroundParent()) {
|
||||
if (block.type === "procedures_definition" || (!this.jumpToDef && block.type === "procedures_call")) {
|
||||
let id = block.id ? block.id : block.getId ? block.getId() : null;
|
||||
|
||||
findBar.findInput.focus();
|
||||
findBar.showDropDown(id);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
block.type === "data_variable" ||
|
||||
block.type === "data_changevariableby" ||
|
||||
block.type === "data_setvariableto"
|
||||
) {
|
||||
let id = block.getVars()[0];
|
||||
|
||||
findBar.findInput.focus();
|
||||
findBar.showDropDown(id, block);
|
||||
|
||||
findBar.selVarID = id;
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
if (
|
||||
block.type === "event_whenbroadcastreceived" ||
|
||||
block.type === "event_broadcastandwait" ||
|
||||
block.type === "event_broadcast"
|
||||
) {
|
||||
// todo: actually index the broadcasts...!
|
||||
let id = block.id;
|
||||
|
||||
findBar.findInput.focus();
|
||||
findBar.showDropDown(id, block);
|
||||
|
||||
findBar.selVarID = id;
|
||||
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_doBlockClick_.call(this);
|
||||
};
|
||||
|
||||
while (true) {
|
||||
const root = await addon.tab.waitForElement("ul[class*=gui_tab-list_]", {
|
||||
markAsSeen: true,
|
||||
reduxEvents: ["scratch-gui/mode/SET_PLAYER", "fontsLoaded/SET_FONTS_LOADED", "scratch-gui/locales/SELECT_LOCALE"],
|
||||
reduxCondition: (state) => !state.scratchGui.mode.isPlayerOnly,
|
||||
});
|
||||
findBar.createDom(root);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,160 @@
|
||||
@import url("../editor-theme3/compatibility.css");
|
||||
|
||||
.sa-find-bar {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
white-space: nowrap;
|
||||
font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.sa-find-bar > label {
|
||||
/* padding instead of margin so clicking on the empty area will select the input */
|
||||
padding-left: 1.5em;
|
||||
padding-right: 1em;
|
||||
font-weight: bold;
|
||||
font-size: 0.625rem;
|
||||
user-select: none;
|
||||
cursor: default;
|
||||
white-space: nowrap;
|
||||
padding-top: 2px;
|
||||
}
|
||||
|
||||
[dir="rtl"] .sa-find-bar > label {
|
||||
padding-right: 1.5em;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
.sa-find-wrapper {
|
||||
overflow: visible;
|
||||
position: relative;
|
||||
height: 2rem;
|
||||
width: 100%;
|
||||
max-width: 16em;
|
||||
}
|
||||
|
||||
.sa-find-dropdown-out {
|
||||
display: block;
|
||||
top: -6px;
|
||||
z-index: 100;
|
||||
width: 100%;
|
||||
max-width: 16em;
|
||||
position: relative;
|
||||
padding: 4px;
|
||||
border: none;
|
||||
border-radius: 4px;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.sa-find-dropdown-out.visible {
|
||||
position: absolute;
|
||||
width: 16em;
|
||||
box-shadow: 0px 0px 8px 1px rgba(0, 0, 0, 0.3);
|
||||
background-color: white;
|
||||
}
|
||||
|
||||
/* We need to modify Scratch styles so that the place where the find bar is injected */
|
||||
/* has actually correct size information, which is used to make the find bar not cover up controls */
|
||||
[class*="gui_tab-list_"] {
|
||||
width: 100%;
|
||||
}
|
||||
[class*="gui_tab_"] {
|
||||
flex-grow: 0;
|
||||
}
|
||||
|
||||
.sa-find-input {
|
||||
width: 100%;
|
||||
box-sizing: border-box !important;
|
||||
/* !important required for extension, because CSS injection method (and hence order) differs from addon */
|
||||
height: 1.5rem;
|
||||
|
||||
/* Change Scratch default styles */
|
||||
border-radius: 0.25rem;
|
||||
font-size: 0.75rem;
|
||||
padding-left: 0.4em;
|
||||
}
|
||||
|
||||
.sa-find-input:focus {
|
||||
/* Change Scratch default styles */
|
||||
box-shadow: none;
|
||||
}
|
||||
|
||||
.sa-find-dropdown {
|
||||
display: none;
|
||||
position: relative;
|
||||
padding: 0.2em 0;
|
||||
font-size: 0.75rem;
|
||||
line-height: 1;
|
||||
overflow-y: auto;
|
||||
min-height: 128px;
|
||||
max-height: 65vh;
|
||||
user-select: none;
|
||||
max-width: 100%;
|
||||
margin-top: 6px;
|
||||
border: none;
|
||||
}
|
||||
|
||||
.sa-find-dropdown-out.visible > .sa-find-dropdown {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sa-find-dropdown > li {
|
||||
display: block;
|
||||
padding: 0.5em 0.3em;
|
||||
white-space: nowrap;
|
||||
margin: 0;
|
||||
font-weight: bold;
|
||||
text-overflow: ellipsis;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.sa-find-dropdown > li > b {
|
||||
background-color: #aaffaa;
|
||||
color: black;
|
||||
}
|
||||
|
||||
/* Drop down items */
|
||||
.sa-find-dropdown > li:hover,
|
||||
.sa-find-dropdown > li.sel {
|
||||
color: white;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.sa-find-dropdown > li::before {
|
||||
content: "\25CF "; /* ● */
|
||||
}
|
||||
|
||||
.sa-find-flag {
|
||||
color: #4cbf56;
|
||||
}
|
||||
.sa-find-flag:hover,
|
||||
.sa-find-flag.sel {
|
||||
background-color: #4cbf56;
|
||||
}
|
||||
|
||||
.sa-find-dropdown .sa-block-color {
|
||||
color: var(--sa-block-colored-text);
|
||||
}
|
||||
.sa-find-dropdown .sa-block-color:hover,
|
||||
.sa-find-dropdown .sa-block-color.sel {
|
||||
background-color: var(--sa-block-bright-background);
|
||||
}
|
||||
|
||||
.sa-find-carousel {
|
||||
font-weight: normal;
|
||||
position: absolute;
|
||||
right: 0;
|
||||
white-space: nowrap;
|
||||
background-color: inherit;
|
||||
z-index: 1;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.sa-find-carousel-control {
|
||||
padding: 0 6px;
|
||||
}
|
||||
|
||||
.sa-find-carousel-control:hover {
|
||||
color: #ffff80;
|
||||
}
|
||||
@@ -55,17 +55,17 @@ const manifest = {
|
||||
},
|
||||
{
|
||||
"dynamic": true,
|
||||
"name": "Animation duration",
|
||||
"name": "Animation speed",
|
||||
"id": "speed",
|
||||
"type": "select",
|
||||
"potentialValues": [
|
||||
{
|
||||
"id": "none",
|
||||
"name": "None"
|
||||
"name": "Instant"
|
||||
},
|
||||
{
|
||||
"id": "short",
|
||||
"name": "Short"
|
||||
"name": "Quick"
|
||||
},
|
||||
{
|
||||
"id": "default",
|
||||
@@ -73,7 +73,7 @@ const manifest = {
|
||||
},
|
||||
{
|
||||
"id": "long",
|
||||
"name": "Long"
|
||||
"name": "Slow"
|
||||
}
|
||||
],
|
||||
"default": "default"
|
||||
|
||||
@@ -44,9 +44,9 @@ export default async function ({ addon, global, console, msg }) {
|
||||
function getSpeedValue() {
|
||||
let data = {
|
||||
none: "0",
|
||||
short: "0.25",
|
||||
default: "0.5",
|
||||
long: "1",
|
||||
short: "0.2",
|
||||
default: "0.3",
|
||||
long: "0.5",
|
||||
};
|
||||
return data[addon.settings.get("speed")];
|
||||
}
|
||||
@@ -119,7 +119,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
addon.tab.redux.addEventListener("statechanged", (e) => {
|
||||
switch (e.detail.action.type) {
|
||||
// Event casted when you switch between tabs
|
||||
case "scratch-gui/navigation/ACTIVATE_TAB":
|
||||
case "scratch-gui/navigation/ACTIVATE_TAB": {
|
||||
// always 0, 1, 2
|
||||
const toggleSetting = getToggleSetting();
|
||||
if (
|
||||
@@ -131,6 +131,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
toggle = false;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
/* generated by pull.js */
|
||||
const manifest = {
|
||||
"name": "Jump to custom block definition",
|
||||
"description": "Allows you to jump to a custom block's definition using the middle mouse button or Shift+Click on the block.",
|
||||
"info": [
|
||||
{
|
||||
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
||||
"id": "developer-tools"
|
||||
}
|
||||
],
|
||||
"credits": [
|
||||
{
|
||||
"name": "griffpatch"
|
||||
}
|
||||
],
|
||||
"userscripts": [
|
||||
{
|
||||
"url": "userscript.js"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"recommended"
|
||||
],
|
||||
"enabledByDefault": true,
|
||||
"dynamicDisable": true
|
||||
};
|
||||
export default manifest;
|
||||
@@ -0,0 +1,5 @@
|
||||
/* generated by pull.js */
|
||||
import _js from "./userscript.js";
|
||||
export const resources = {
|
||||
"userscript.js": _js,
|
||||
};
|
||||
@@ -0,0 +1,41 @@
|
||||
import Utils from "../find-bar/blockly/Utils.js";
|
||||
export default async function ({ addon, msg, global, console }) {
|
||||
const utils = new Utils(addon);
|
||||
|
||||
const Blockly = await addon.tab.traps.getBlockly();
|
||||
|
||||
Object.defineProperty(Blockly.Gesture.prototype, "jumpToDef", {
|
||||
get() {
|
||||
return !addon.self.disabled;
|
||||
},
|
||||
});
|
||||
|
||||
const _doBlockClick_ = Blockly.Gesture.prototype.doBlockClick_;
|
||||
Blockly.Gesture.prototype.doBlockClick_ = function () {
|
||||
if (!addon.self.disabled && (this.mostRecentEvent_.button === 1 || this.mostRecentEvent_.shiftKey)) {
|
||||
// Wheel button...
|
||||
// Intercept clicks to allow jump to...?
|
||||
let block = this.startBlock_;
|
||||
for (; block; block = block.getSurroundParent()) {
|
||||
if (block.type === "procedures_call") {
|
||||
let findProcCode = block.getProcCode();
|
||||
|
||||
let topBlocks = utils.getWorkspace().getTopBlocks();
|
||||
for (const root of topBlocks) {
|
||||
if (root.type === "procedures_definition") {
|
||||
let label = root.getChildren()[0];
|
||||
let procCode = label.getProcCode();
|
||||
if (procCode && procCode === findProcCode) {
|
||||
// Found... navigate to it!
|
||||
utils.scrollBlockIntoView(root);
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
_doBlockClick_.call(this);
|
||||
};
|
||||
}
|
||||
@@ -3,7 +3,13 @@ const manifest = {
|
||||
"enabledByDefault": true,
|
||||
"editorOnly": true,
|
||||
"name": "Move costume to top or bottom",
|
||||
"description": "Adds a right click context menu item to move a costume or a sound to the top or the bottom of the list. Previously part of the developer tools.",
|
||||
"description": "Adds options to the right click context menu for costumes and sounds to move them to the top or the bottom of the list.",
|
||||
"info": [
|
||||
{
|
||||
"text": "This addon was previously part of the \"developer tools\" addon but has moved here.",
|
||||
"id": "developer-tools"
|
||||
}
|
||||
],
|
||||
"tags": [],
|
||||
"userscripts": [
|
||||
{
|
||||
|
||||
@@ -20,6 +20,16 @@ const manifest = {
|
||||
"url": "userscript.js"
|
||||
}
|
||||
],
|
||||
"userstyles": [
|
||||
{
|
||||
"url": "hide-icon.css",
|
||||
"if": {
|
||||
"addonEnabled": [
|
||||
"vol-slider"
|
||||
]
|
||||
}
|
||||
}
|
||||
],
|
||||
"dynamicDisable": true,
|
||||
"enabledByDefault": true,
|
||||
"tags": [
|
||||
|
||||
@@ -1,5 +1,7 @@
|
||||
/* generated by pull.js */
|
||||
import _js from "./userscript.js";
|
||||
import _css from "!css-loader!./hide-icon.css";
|
||||
export const resources = {
|
||||
"userscript.js": _js,
|
||||
"hide-icon.css": _css,
|
||||
};
|
||||
@@ -0,0 +1,3 @@
|
||||
.sa-mute-icon {
|
||||
display: none !important;
|
||||
}
|
||||
@@ -5,30 +5,30 @@ const _twGetAsset = (path) => {
|
||||
throw new Error(`Unknown asset: ${path}`);
|
||||
};
|
||||
|
||||
import { setup, isMuted, setVol, getDefVol } from "../vol-slider/module.js";
|
||||
|
||||
export default async function ({ addon, global, console }) {
|
||||
const vm = addon.tab.traps.vm;
|
||||
let muted = false;
|
||||
let icon = document.createElement("img");
|
||||
icon.loading = "lazy";
|
||||
icon.src = _twGetAsset("/icon--mute.svg");
|
||||
icon.style.display = "none";
|
||||
icon.className = "sa-mute-icon";
|
||||
const toggleMute = (e) => {
|
||||
if (!addon.self.disabled && (e.ctrlKey || e.metaKey)) {
|
||||
e.cancelBubble = true;
|
||||
e.preventDefault();
|
||||
muted = !muted;
|
||||
if (muted) {
|
||||
vm.runtime.audioEngine.inputNode.gain.value = 0;
|
||||
icon.style.display = "block";
|
||||
} else {
|
||||
vm.runtime.audioEngine.inputNode.gain.value = 1;
|
||||
if (isMuted()) {
|
||||
setVol(getDefVol());
|
||||
icon.style.display = "none";
|
||||
} else {
|
||||
setVol(0);
|
||||
icon.style.display = "block";
|
||||
}
|
||||
}
|
||||
};
|
||||
addon.self.addEventListener("disabled", () => {
|
||||
muted = false;
|
||||
vm.runtime.audioEngine.inputNode.gain.value = 1;
|
||||
setVol(1);
|
||||
icon.style.display = "none";
|
||||
});
|
||||
|
||||
@@ -38,6 +38,7 @@ export default async function ({ addon, global, console }) {
|
||||
reduxEvents: ["scratch-gui/mode/SET_PLAYER", "fontsLoaded/SET_FONTS_LOADED", "scratch-gui/locales/SELECT_LOCALE"],
|
||||
});
|
||||
addon.tab.appendToSharedSpace({ space: "afterStopButton", element: icon, order: 0 });
|
||||
setup(vm);
|
||||
button.addEventListener("click", toggleMute);
|
||||
button.addEventListener("contextmenu", toggleMute);
|
||||
}
|
||||
|
||||
@@ -28,7 +28,7 @@ export default async function ({ addon, msg, global, console }) {
|
||||
// To work around this, we will re-enable the color picker before running the callback.
|
||||
addon.tab.redux.dispatch({
|
||||
...action,
|
||||
[brand]: true
|
||||
[brand]: true,
|
||||
});
|
||||
action.callback(color);
|
||||
if (action.previousMode) {
|
||||
@@ -36,11 +36,11 @@ export default async function ({ addon, msg, global, console }) {
|
||||
}
|
||||
addon.tab.redux.dispatch({
|
||||
type: "scratch-paint/eye-dropper/DEACTIVATE_COLOR_PICKER",
|
||||
[brand]: true
|
||||
[brand]: true,
|
||||
});
|
||||
setIsPicking(false);
|
||||
});
|
||||
}
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ export default async function ({ addon, msg, global, console }) {
|
||||
if (addon.tab.redux.state.scratchGui.colorPicker.active) {
|
||||
addon.tab.redux.dispatch({
|
||||
type: "scratch-gui/color-picker/DEACTIVATE_COLOR_PICKER",
|
||||
[brand]: true
|
||||
[brand]: true,
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -128,7 +128,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
if (this.scratchVariable.name.toLowerCase().includes(search.toLowerCase()) || !search) {
|
||||
// fuzzy searches are lame we are too cool for fuzzy searches (& i doubt they're even the right thing to use here, this should work fine enough)
|
||||
this.row.style.display = ""; // make the row normal
|
||||
this.updateValue(true); // force it to update because its hidden and it wouldnt be able to otherwise
|
||||
this.updateValue(true); // force it to update because its hidden and it wouldn't be able to otherwise
|
||||
} else {
|
||||
this.row.style.display = "none"; // set the entire row as hidden
|
||||
}
|
||||
@@ -199,7 +199,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
}
|
||||
};
|
||||
label.addEventListener("keydown", (e) => {
|
||||
if (e.key === "Enter" && !e.shiftKey) e.target.blur();
|
||||
if (e.key === "Enter") e.target.blur();
|
||||
});
|
||||
label.addEventListener("focusout", onLabelOut);
|
||||
|
||||
@@ -245,7 +245,7 @@ export default async function ({ addon, global, console, msg }) {
|
||||
};
|
||||
|
||||
input.addEventListener("keydown", (e) => {
|
||||
if (e.key === "Enter" && !e.shiftKey) e.target.blur();
|
||||
if (e.target.nodeName === "INPUT" && e.key === "Enter") e.target.blur();
|
||||
});
|
||||
input.addEventListener("focusout", onInputOut);
|
||||
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/* generated by pull.js */
|
||||
const manifest = {
|
||||
"noTranslations": true,
|
||||
"name": "Project volume slider",
|
||||
"description": "Adds a volume slider next to the green flag controls.",
|
||||
"credits": [
|
||||
{
|
||||
"name": "samq64",
|
||||
"link": "https://scratch.mit.edu/users/samq64/"
|
||||
}
|
||||
],
|
||||
"userscripts": [
|
||||
{
|
||||
"url": "userscript.js"
|
||||
}
|
||||
],
|
||||
"userstyles": [
|
||||
{
|
||||
"url": "userstyle.css"
|
||||
}
|
||||
],
|
||||
"settings": [
|
||||
{
|
||||
"name": "Default volume",
|
||||
"id": "defVol",
|
||||
"type": "integer",
|
||||
"min": 0,
|
||||
"max": 100,
|
||||
"default": 100
|
||||
}
|
||||
],
|
||||
"dynamicDisable": true,
|
||||
"tags": [
|
||||
"recommended",
|
||||
"new"
|
||||
]
|
||||
};
|
||||
export default manifest;
|
||||
@@ -0,0 +1,7 @@
|
||||
/* generated by pull.js */
|
||||
import _js from "./userscript.js";
|
||||
import _css from "!css-loader!./userstyle.css";
|
||||
export const resources = {
|
||||
"userscript.js": _js,
|
||||
"userstyle.css": _css,
|
||||
};
|
||||
@@ -0,0 +1,40 @@
|
||||
const muteIcon = "/static/assets/e21225ab4b675bc61eed30cfb510c288.svg";
|
||||
const quietIcon = "/static/assets/3547fa1f2678a483a19f46852f36b426.svg";
|
||||
const loudIcon = "/static/assets/b2c44c738c9cbc1a99cd6edfd0c2b85b.svg";
|
||||
|
||||
let vm;
|
||||
let vmVol;
|
||||
let defVol = 1;
|
||||
|
||||
export const setVol = (v) => {
|
||||
vmVol.value = v;
|
||||
let slider = document.getElementById("sa-vol-slider");
|
||||
let icon = document.getElementById("sa-vol-icon");
|
||||
if (!slider) return;
|
||||
slider.value = v;
|
||||
if (v == 0) {
|
||||
icon.src = muteIcon;
|
||||
} else if (v < 0.5) {
|
||||
icon.src = quietIcon;
|
||||
} else {
|
||||
icon.src = loudIcon;
|
||||
}
|
||||
};
|
||||
|
||||
export const setDefVol = (v) => {
|
||||
defVol = v;
|
||||
};
|
||||
|
||||
export const getDefVol = () => {
|
||||
return defVol;
|
||||
};
|
||||
|
||||
export const isMuted = () => {
|
||||
return vmVol.value === 0;
|
||||
};
|
||||
|
||||
export const setup = (_vm) => {
|
||||
if (vm) return;
|
||||
vm = _vm;
|
||||
vmVol = vm.runtime.audioEngine.inputNode.gain;
|
||||
};
|
||||
@@ -0,0 +1,69 @@
|
||||
import { setup, setVol, getDefVol, setDefVol, isMuted } from "./module.js";
|
||||
|
||||
export default async function ({ addon, global, console }) {
|
||||
const vm = addon.tab.traps.vm;
|
||||
let icon = document.createElement("img");
|
||||
icon.loading = "lazy";
|
||||
icon.id = "sa-vol-icon";
|
||||
let slider = document.createElement("input");
|
||||
slider.id = "sa-vol-slider";
|
||||
slider.type = "range";
|
||||
slider.min = 0;
|
||||
slider.max = 1;
|
||||
slider.step = 0.02;
|
||||
const container = document.createElement("div");
|
||||
container.className = "sa-volume";
|
||||
|
||||
if (addon.tab.redux.state && addon.tab.redux.state.scratchGui.stageSize.stageSize === "small") {
|
||||
document.body.classList.add("sa-vol-slider-small");
|
||||
}
|
||||
document.addEventListener(
|
||||
"click",
|
||||
(e) => {
|
||||
if (e.target.closest("[class*='stage-header_stage-button-first']")) {
|
||||
document.body.classList.add("sa-vol-slider-small");
|
||||
} else if (e.target.closest("[class*='stage-header_stage-button-last']")) {
|
||||
document.body.classList.remove("sa-vol-slider-small");
|
||||
}
|
||||
},
|
||||
{ capture: true }
|
||||
);
|
||||
|
||||
addon.self.addEventListener("disabled", () => {
|
||||
setVol(1);
|
||||
});
|
||||
|
||||
addon.self.addEventListener("reenabled", () => {
|
||||
setVol(getDefVol());
|
||||
});
|
||||
|
||||
addon.settings.addEventListener("change", () => {
|
||||
setDefVol(addon.settings.get("defVol") / 100);
|
||||
});
|
||||
|
||||
icon.addEventListener("click", function (e) {
|
||||
// Same logic as mute-project
|
||||
if (isMuted()) {
|
||||
setVol(getDefVol());
|
||||
} else {
|
||||
setVol(0);
|
||||
}
|
||||
});
|
||||
slider.addEventListener("input", function (e) {
|
||||
setVol(this.value);
|
||||
});
|
||||
|
||||
while (true) {
|
||||
await addon.tab.waitForElement("[class^='green-flag_green-flag']", {
|
||||
markAsSeen: true,
|
||||
reduxEvents: ["scratch-gui/mode/SET_PLAYER", "fontsLoaded/SET_FONTS_LOADED", "scratch-gui/locales/SELECT_LOCALE"],
|
||||
});
|
||||
addon.tab.displayNoneWhileDisabled(container, { display: "inline-block" });
|
||||
addon.tab.appendToSharedSpace({ space: "afterStopButton", element: container, order: 0 });
|
||||
container.appendChild(icon);
|
||||
container.appendChild(slider);
|
||||
setup(vm);
|
||||
setDefVol(addon.settings.get("defVol") / 100);
|
||||
setVol(getDefVol());
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
.sa-volume {
|
||||
/* Same lateral padding as .clone-container-container */
|
||||
padding-left: 0.25rem;
|
||||
padding-right: 0.25rem;
|
||||
}
|
||||
|
||||
.sa-vol-slider-small .sa-volume {
|
||||
display: none !important;
|
||||
}
|
||||
|
||||
.sa-volume > * {
|
||||
vertical-align: middle;
|
||||
margin-top: 6px;
|
||||
}
|
||||
|
||||
.sa-volume input[type="range"] {
|
||||
-webkit-appearance: none;
|
||||
width: 50px;
|
||||
height: 6px;
|
||||
border-radius: 3px;
|
||||
background-color: #de91de;
|
||||
margin-left: 3px;
|
||||
}
|
||||
|
||||
.sa-volume input[type="range"]::-webkit-slider-thumb {
|
||||
-webkit-appearance: none;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border-radius: 50%;
|
||||
background-color: #cf63cf;
|
||||
}
|
||||
|
||||
.sa-volume input[type="range"]::-moz-range-thumb {
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
border: none;
|
||||
border-radius: 50%;
|
||||
background-color: #cf63cf;
|
||||
}
|
||||
@@ -62,7 +62,7 @@ export default async function ({ addon, msg, global, console }) {
|
||||
// when the workspace is reloaded (which includes loading the page and
|
||||
// seeing the project page then seeing inside).
|
||||
// As we need to stack the filter with the striping filter in the
|
||||
// userstyle, we need to use the usersciript to get the filter's ID
|
||||
// userstyle, we need to use the userscript to get the filter's ID
|
||||
// and set a CSS variable on the document's root.
|
||||
while (true) {
|
||||
const replacementGlowEl = await addon.tab.waitForElement('filter[id*="blocklyReplacementGlowFilter"]', {
|
||||
|
||||
@@ -539,6 +539,10 @@ class Tab extends EventTargetShim {
|
||||
return vm.getAddonBlock(procedureCode);
|
||||
}
|
||||
|
||||
setCustomBlockColor () {
|
||||
// TODO
|
||||
}
|
||||
|
||||
createBlockContextMenu (callback, {workspace = false, blocks = false, flyout = false, comments = false} = {}) {
|
||||
contextMenuCallbacks.push({addonId: this._id, callback, workspace, blocks, flyout, comments});
|
||||
contextMenuCallbacks.sort((b, a) => (
|
||||
|
||||
@@ -2,6 +2,8 @@
|
||||
export default {
|
||||
"cat-blocks": () => import(/* webpackChunkName: "addon-entry-cat-blocks" */ "../addons/cat-blocks/_runtime_entry.js"),
|
||||
"editor-devtools": () => import(/* webpackChunkName: "addon-default-entry" */ "../addons/editor-devtools/_runtime_entry.js"),
|
||||
"find-bar": () => require("../addons/find-bar/_runtime_entry.js"),
|
||||
"jump-to-def": () => require("../addons/jump-to-def/_runtime_entry.js"),
|
||||
"editor-searchable-dropdowns": () => import(/* webpackChunkName: "addon-default-entry" */ "../addons/editor-searchable-dropdowns/_runtime_entry.js"),
|
||||
"data-category-tweaks-v2": () => import(/* webpackChunkName: "addon-entry-data-category-tweaks-v2" */ "../addons/data-category-tweaks-v2/_runtime_entry.js"),
|
||||
"block-palette-icons": () => import(/* webpackChunkName: "addon-entry-block-palette-icons" */ "../addons/block-palette-icons/_runtime_entry.js"),
|
||||
@@ -11,6 +13,7 @@ export default {
|
||||
"debugger": () => import(/* webpackChunkName: "addon-entry-debugger" */ "../addons/debugger/_runtime_entry.js"),
|
||||
"pause": () => require("../addons/pause/_runtime_entry.js"),
|
||||
"mute-project": () => require("../addons/mute-project/_runtime_entry.js"),
|
||||
"vol-slider": () => import(/* webpackChunkName: "addon-entry-vol-slider" */ "../addons/vol-slider/_runtime_entry.js"),
|
||||
"clones": () => import(/* webpackChunkName: "addon-entry-clones" */ "../addons/clones/_runtime_entry.js"),
|
||||
"mouse-pos": () => import(/* webpackChunkName: "addon-entry-mouse-pos" */ "../addons/mouse-pos/_runtime_entry.js"),
|
||||
"color-picker": () => import(/* webpackChunkName: "addon-default-entry" */ "../addons/color-picker/_runtime_entry.js"),
|
||||
|
||||
@@ -1,6 +1,8 @@
|
||||
/* generated by pull.js */
|
||||
import _cat_blocks from "../addons/cat-blocks/_manifest_entry.js";
|
||||
import _editor_devtools from "../addons/editor-devtools/_manifest_entry.js";
|
||||
import _find_bar from "../addons/find-bar/_manifest_entry.js";
|
||||
import _jump_to_def from "../addons/jump-to-def/_manifest_entry.js";
|
||||
import _editor_searchable_dropdowns from "../addons/editor-searchable-dropdowns/_manifest_entry.js";
|
||||
import _data_category_tweaks_v2 from "../addons/data-category-tweaks-v2/_manifest_entry.js";
|
||||
import _block_palette_icons from "../addons/block-palette-icons/_manifest_entry.js";
|
||||
@@ -10,6 +12,7 @@ import _drag_drop from "../addons/drag-drop/_manifest_entry.js";
|
||||
import _debugger from "../addons/debugger/_manifest_entry.js";
|
||||
import _pause from "../addons/pause/_manifest_entry.js";
|
||||
import _mute_project from "../addons/mute-project/_manifest_entry.js";
|
||||
import _vol_slider from "../addons/vol-slider/_manifest_entry.js";
|
||||
import _clones from "../addons/clones/_manifest_entry.js";
|
||||
import _mouse_pos from "../addons/mouse-pos/_manifest_entry.js";
|
||||
import _color_picker from "../addons/color-picker/_manifest_entry.js";
|
||||
@@ -65,6 +68,8 @@ import _editor_stepping from "../addons/editor-stepping/_manifest_entry.js";
|
||||
export default {
|
||||
"cat-blocks": _cat_blocks,
|
||||
"editor-devtools": _editor_devtools,
|
||||
"find-bar": _find_bar,
|
||||
"jump-to-def": _jump_to_def,
|
||||
"editor-searchable-dropdowns": _editor_searchable_dropdowns,
|
||||
"data-category-tweaks-v2": _data_category_tweaks_v2,
|
||||
"block-palette-icons": _block_palette_icons,
|
||||
@@ -74,6 +79,7 @@ export default {
|
||||
"debugger": _debugger,
|
||||
"pause": _pause,
|
||||
"mute-project": _mute_project,
|
||||
"vol-slider": _vol_slider,
|
||||
"clones": _clones,
|
||||
"mouse-pos": _mouse_pos,
|
||||
"color-picker": _color_picker,
|
||||
|
||||
@@ -1 +1 @@
|
||||
{"commit":"769edbf"}
|
||||
{"commit":"c866345"}
|
||||
@@ -23,6 +23,8 @@ function convertToHex(obj) {
|
||||
|
||||
function convertFromHsv({ h, s, v }) {
|
||||
if (s === 0) return { r: 255 * v, g: 255 * v, b: 255 * v };
|
||||
h %= 360;
|
||||
if (h < 0) h += 360;
|
||||
const h1 = h / 60;
|
||||
const hi = Math.floor(h1);
|
||||
const x = v * (1 - s * (1 - h1 + hi));
|
||||
@@ -41,9 +43,6 @@ function convertFromHsv({ h, s, v }) {
|
||||
return { r: 255 * x, g: 255 * z, b: 255 * v };
|
||||
case 5:
|
||||
return { r: 255 * v, g: 255 * z, b: 255 * y };
|
||||
default:
|
||||
// ???
|
||||
return { r: 0, g: 0, b: 0 };
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,6 +114,10 @@ function alphaBlend(opaqueHex, transparentHex) {
|
||||
});
|
||||
}
|
||||
|
||||
function removeAlpha(hex) {
|
||||
return hex.substring(0, 7);
|
||||
}
|
||||
|
||||
function makeHsv(hSource, sSource, vSource) {
|
||||
const h = typeof hSource === "number" ? hSource : convertToHsv(parseHex(hSource)).h;
|
||||
const s =
|
||||
@@ -132,7 +135,7 @@ function recolorFilter(hex) {
|
||||
return `url("data:image/svg+xml,
|
||||
<svg xmlns='http://www.w3.org/2000/svg'>
|
||||
<filter id='recolor'>
|
||||
<feColorMatrix values='
|
||||
<feColorMatrix color-interpolation-filters='sRGB' values='
|
||||
0 0 0 0 ${r / 255}
|
||||
0 0 0 0 ${g / 255}
|
||||
0 0 0 0 ${b / 255}
|
||||
@@ -155,6 +158,7 @@ export {
|
||||
multiply,
|
||||
brighten,
|
||||
alphaBlend,
|
||||
removeAlpha,
|
||||
makeHsv,
|
||||
recolorFilter,
|
||||
};
|
||||
Reference in new issue
Block a user