release: Merge branch 'develop' into rc/v11.0.0

This commit is contained in:
Maribeth Moffatt
2024-05-20 11:39:11 -07:00
42 changed files with 655 additions and 358 deletions

View File

@@ -675,6 +675,17 @@ export class Block implements IASTNodeLocation {
return block;
}
/**
* Returns this block if it is a shadow block, or the first non-shadow parent.
*
* @internal
*/
getFirstNonShadowBlock(): this {
if (!this.isShadow()) return this;
// We can assert the parent is non-null because shadows must have parents.
return this.getParent()!.getFirstNonShadowBlock();
}
/**
* Find all the blocks that are directly nested inside this one.
* Includes value and statement inputs, as well as any following statement.

View File

@@ -42,15 +42,11 @@ export function disposeUiEffect(block: BlockSvg) {
// Deeply clone the current block.
const clone: SVGGElement = svgGroup.cloneNode(true) as SVGGElement;
clone.setAttribute('transform', 'translate(' + xy.x + ',' + xy.y + ')');
if (workspace.isDragging()) {
workspace.getLayerManager()?.moveToDragLayer({
getSvgRoot: () => {
return clone;
},
});
} else {
workspace.getLayerManager()?.getBlockLayer().appendChild(clone);
}
workspace.getLayerManager()?.appendToAnimationLayer({
getSvgRoot: () => {
return clone;
},
});
const cloneRect = {
'x': xy.x,
'y': xy.y,

View File

@@ -208,7 +208,7 @@ export class BlockSvg
icon.updateEditable();
}
this.applyColour();
this.pathObject.updateMovable(this.isMovable());
this.pathObject.updateMovable(this.isMovable() || this.isInFlyout);
const svg = this.getSvgRoot();
if (!this.workspace.options.readOnly && svg) {
browserEvents.conditionalBind(

View File

@@ -143,7 +143,7 @@ export class TextInputBubble extends Bubble {
/** Binds events to the text area element. */
private bindTextAreaEvents(textArea: HTMLTextAreaElement) {
// Don't zoom with mousewheel.
// Don't zoom with mousewheel; let it scroll instead.
browserEvents.conditionalBind(textArea, 'wheel', this, (e: Event) => {
e.stopPropagation();
});
@@ -198,19 +198,12 @@ export class TextInputBubble extends Bubble {
const heightMinusBorder = size.height - Bubble.DOUBLE_BORDER;
this.inputRoot.setAttribute('width', `${widthMinusBorder}`);
this.inputRoot.setAttribute('height', `${heightMinusBorder}`);
this.textArea.style.width = `${widthMinusBorder - 4}px`;
this.textArea.style.height = `${heightMinusBorder - 4}px`;
this.resizeGroup.setAttribute('y', `${heightMinusBorder}`);
if (this.workspace.RTL) {
this.resizeGroup.setAttribute(
'transform',
`translate(${Bubble.DOUBLE_BORDER}, ${heightMinusBorder}) scale(-1 1)`,
);
this.resizeGroup.setAttribute('x', `${-Bubble.DOUBLE_BORDER}`);
} else {
this.resizeGroup.setAttribute(
'transform',
`translate(${widthMinusBorder}, ${heightMinusBorder})`,
);
this.resizeGroup.setAttribute('x', `${widthMinusBorder}`);
}
super.setSize(size, relayout);
@@ -310,11 +303,12 @@ Css.register(`
.blocklyTextInputBubble .blocklyTextarea {
background-color: var(--commentFillColour);
border: 0;
box-sizing: border-box;
display: block;
margin: 0;
outline: 0;
padding: 3px;
padding: 5px;
resize: none;
text-overflow: hidden;
width: 100%;
height: 100%;
}
`);

View File

@@ -30,11 +30,21 @@ export class BlockPaster implements IPaster<BlockCopyData, BlockSvg> {
copyData.blockState['y'] = coordinate.y;
}
// After appending the block to the workspace, it will be bumped from its neighbors
// However, the algorithm for deciding where to paste a block depends on
// the starting position of the copied block, so we'll pass those coordinates along
const initialCoordinates =
coordinate ||
new Coordinate(
copyData.blockState['x'] || 0,
copyData.blockState['y'] || 0,
);
eventUtils.disable();
let block;
try {
block = append(copyData.blockState, workspace) as BlockSvg;
moveBlockToNotConflict(block);
moveBlockToNotConflict(block, initialCoordinates);
} finally {
eventUtils.enable();
}
@@ -56,12 +66,20 @@ export class BlockPaster implements IPaster<BlockCopyData, BlockSvg> {
* Exported for testing.
*
* @param block The block to move to an unambiguous location.
* @param originalPosition The initial coordinate to start searching from,
* likely the position of the copied block.
* @internal
*/
export function moveBlockToNotConflict(block: BlockSvg) {
export function moveBlockToNotConflict(
block: BlockSvg,
originalPosition: Coordinate,
) {
const workspace = block.workspace;
const snapRadius = config.snapRadius;
const coord = block.getRelativeToSurfaceXY();
const bumpOffset = Coordinate.difference(
originalPosition,
block.getRelativeToSurfaceXY(),
);
const offset = new Coordinate(0, 0);
// getRelativeToSurfaceXY is really expensive, so we want to cache this.
const otherCoords = workspace
@@ -70,8 +88,11 @@ export function moveBlockToNotConflict(block: BlockSvg) {
.map((b) => b.getRelativeToSurfaceXY());
while (
blockOverlapsOtherExactly(Coordinate.sum(coord, offset), otherCoords) ||
blockIsInSnapRadius(block, offset, snapRadius)
blockOverlapsOtherExactly(
Coordinate.sum(originalPosition, offset),
otherCoords,
) ||
blockIsInSnapRadius(block, Coordinate.sum(bumpOffset, offset), snapRadius)
) {
if (workspace.RTL) {
offset.translate(-snapRadius, snapRadius * 2);
@@ -80,7 +101,7 @@ export function moveBlockToNotConflict(block: BlockSvg) {
}
}
block!.moveTo(Coordinate.sum(coord, offset));
block!.moveTo(Coordinate.sum(originalPosition, offset));
}
/**

View File

@@ -286,9 +286,12 @@ export class CommentView implements IRenderedElement {
return this.svgRoot;
}
/** Returns the current size of the comment in workspace units. */
/**
* Returns the current size of the comment in workspace units.
* Respects collapsing.
*/
getSize(): Size {
return this.size;
return this.collapsed ? this.topBarBackground.getBBox() : this.size;
}
/**
@@ -401,8 +404,6 @@ export class CommentView implements IRenderedElement {
if (this.workspace.RTL) {
this.foreignObject.setAttribute('x', `${-size.width}`);
}
this.textArea.style.width = `${size.width}px`;
this.textArea.style.height = `${size.height}px`;
}
/**
@@ -773,14 +774,13 @@ css.register(`
.blocklyComment .blocklyTextarea {
background-color: var(--commentFillColour);
border: 1px solid var(--commentBorderColour);
outline: 0;
resize: none;
overflow: hidden;
box-sizing: border-box;
padding: 8px;
display: block;
outline: 0;
padding: 5px;
resize: none;
width: 100%;
height: 100%;
display: block;
}
.blocklyReadonly.blocklyComment .blocklyTextarea {
@@ -810,6 +810,7 @@ css.register(`
}
.blocklyCommentTopbarBackground {
cursor: grab;
fill: var(--commentBorderColour);
height: 24px;
}

View File

@@ -66,6 +66,15 @@ export class RenderedWorkspaceComment
this,
this.startGesture,
);
// Don't zoom with mousewheel; let it scroll instead.
browserEvents.conditionalBind(
this.view.getSvgRoot(),
'wheel',
this,
(e: Event) => {
e.stopPropagation();
},
);
}
/**
@@ -120,11 +129,31 @@ export class RenderedWorkspaceComment
return this.view.getSvgRoot();
}
/** Returns the bounding rectangle of this comment in workspace coordinates. */
/**
* Returns the comment's size in workspace units.
* Does not respect collapsing.
*/
getSize(): Size {
return super.getSize();
}
/**
* Returns the bounding rectangle of this comment in workspace coordinates.
* Respects collapsing.
*/
getBoundingRectangle(): Rect {
const loc = this.getRelativeToSurfaceXY();
const size = this.getSize();
return new Rect(loc.y, loc.y + size.height, loc.x, loc.x + size.width);
const size = this.view?.getSize() ?? this.getSize();
let left;
let right;
if (this.workspace.RTL) {
left = loc.x - size.width;
right = loc.x;
} else {
left = loc.x;
right = loc.x + size.width;
}
return new Rect(loc.y, loc.y + size.height, left, right);
}
/** Move the comment by the given amounts in workspace coordinates. */
@@ -138,7 +167,6 @@ export class RenderedWorkspaceComment
override moveTo(location: Coordinate, reason?: string[] | undefined): void {
super.moveTo(location, reason);
this.view.moveTo(location);
this.snapToGrid();
}
/**
@@ -209,7 +237,6 @@ export class RenderedWorkspaceComment
/** Ends the drag on the comment. */
endDrag(): void {
this.snapToGrid();
this.dragStrategy.endDrag();
}

View File

@@ -500,7 +500,7 @@ input[type=number] {
margin-right: -24px;
}
.blocklyBlockDragSurface {
.blocklyBlockDragSurface, .blocklyAnimationLayer {
position: absolute;
top: 0;
left: 0;

View File

@@ -55,24 +55,15 @@ export class BlockDragStrategy implements IDragStrategy {
private dragging = false;
/**
* If this is a shadow block, the offset between this block and the parent
* block, to add to the drag location. In workspace units.
*/
private dragOffset = new Coordinate(0, 0);
constructor(private block: BlockSvg) {
this.workspace = block.workspace;
}
/** Returns true if the block is currently movable. False otherwise. */
isMovable(): boolean {
if (this.block.isShadow()) {
return this.block.getParent()?.isMovable() ?? false;
}
return (
this.block.isOwnMovable() &&
!this.block.isShadow() &&
!this.block.isDeadOrDying() &&
!this.workspace.options.readOnly &&
// We never drag blocks in the flyout, only create new blocks that are
@@ -86,11 +77,6 @@ export class BlockDragStrategy implements IDragStrategy {
* from any parent blocks.
*/
startDrag(e?: PointerEvent): void {
if (this.block.isShadow()) {
this.startDraggingShadow(e);
return;
}
this.dragging = true;
if (!eventUtils.getGroup()) {
eventUtils.setGroup(true);
@@ -120,22 +106,6 @@ export class BlockDragStrategy implements IDragStrategy {
this.workspace.getLayerManager()?.moveToDragLayer(this.block);
}
/** Starts a drag on a shadow, recording the drag offset. */
private startDraggingShadow(e?: PointerEvent) {
const parent = this.block.getParent();
if (!parent) {
throw new Error(
'Tried to drag a shadow block with no parent. ' +
'Shadow blocks should always have parents.',
);
}
this.dragOffset = Coordinate.difference(
parent.getRelativeToSurfaceXY(),
this.block.getRelativeToSurfaceXY(),
);
parent.startDrag(e);
}
/**
* Whether or not we should disconnect the block when a drag is started.
*
@@ -204,11 +174,6 @@ export class BlockDragStrategy implements IDragStrategy {
/** Moves the block and updates any connection previews. */
drag(newLoc: Coordinate): void {
if (this.block.isShadow()) {
this.block.getParent()?.drag(Coordinate.sum(newLoc, this.dragOffset));
return;
}
this.block.moveDuringDrag(newLoc);
this.updateConnectionPreview(
this.block,
@@ -352,12 +317,7 @@ export class BlockDragStrategy implements IDragStrategy {
* Cleans up any state at the end of the drag. Applies any pending
* connections.
*/
endDrag(e?: PointerEvent): void {
if (this.block.isShadow()) {
this.block.getParent()?.endDrag(e);
return;
}
endDrag(): void {
this.fireDragEndEvent();
this.fireMoveEvent();
@@ -413,11 +373,6 @@ export class BlockDragStrategy implements IDragStrategy {
* including reconnecting connections.
*/
revertDrag(): void {
if (this.block.isShadow()) {
this.block.getParent()?.revertDrag();
return;
}
this.startChildConn?.connect(this.block.nextConnection);
if (this.startParentConn) {
switch (this.startParentConn.type) {

View File

@@ -42,13 +42,15 @@ export class CommentDragStrategy implements IDragStrategy {
endDrag(): void {
this.fireMoveEvent();
this.workspace.setResizesEnabled(true);
eventUtils.setGroup(false);
this.workspace
.getLayerManager()
?.moveOffDragLayer(this.comment, layers.BLOCK);
this.comment.setDragging(false);
this.comment.snapToGrid();
this.workspace.setResizesEnabled(true);
eventUtils.setGroup(false);
}
private fireMoveEvent() {

View File

@@ -13,6 +13,9 @@ import {WorkspaceSvg} from '../workspace_svg.js';
import {ComponentManager} from '../component_manager.js';
import {IDeleteArea} from '../interfaces/i_delete_area.js';
import * as registry from '../registry.js';
import * as eventUtils from '../events/utils.js';
import * as blockAnimations from '../block_animations.js';
import {BlockSvg} from '../block_svg.js';
export class Dragger implements IDragger {
protected startLoc: Coordinate;
@@ -94,6 +97,7 @@ export class Dragger implements IDragger {
/** Handles any drag cleanup. */
onDragEnd(e: PointerEvent) {
const origGroup = eventUtils.getGroup();
const dragTarget = this.workspace.getDragTarget(e);
if (dragTarget) {
this.dragTarget?.onDrop(this.draggable);
@@ -103,13 +107,24 @@ export class Dragger implements IDragger {
this.draggable.revertDrag();
}
const wouldDelete =
isDeletable(this.draggable) &&
this.wouldDeleteDraggable(e, this.draggable);
// TODO(#8148): use a generalized API instead of an instanceof check.
if (wouldDelete && this.draggable instanceof BlockSvg) {
blockAnimations.disposeUiEffect(this.draggable);
}
this.draggable.endDrag(e);
if (
isDeletable(this.draggable) &&
this.wouldDeleteDraggable(e, this.draggable)
) {
if (wouldDelete && isDeletable(this.draggable)) {
// We want to make sure the delete gets grouped with any possible
// move event.
const newGroup = eventUtils.getGroup();
eventUtils.setGroup(origGroup);
this.draggable.dispose();
eventUtils.setGroup(newGroup);
}
}

View File

@@ -1015,7 +1015,7 @@ export class Gesture {
// If the gesture already went through a bubble, don't set the start block.
if (!this.startBlock && !this.startBubble) {
this.startBlock = block;
common.setSelected(this.startBlock);
common.setSelected(this.startBlock.getFirstNonShadowBlock());
if (block.isInFlyout && block !== block.getRootBlock()) {
this.setTargetBlock(block.getRootBlock());
} else {

View File

@@ -15,15 +15,6 @@ import * as registry from './registry.js';
import {Renderer as ZelosRenderer} from './renderers/zelos/renderer.js';
import {ConnectionType} from './connection_type.js';
/**
* An error message to throw if the block created by createMarkerBlock_ is
* missing any components.
*/
const DUPLICATE_BLOCK_ERROR =
'The insertion marker previewer tried to create a marker but the result ' +
'is missing a connection. If you are using a mutator, make sure your ' +
'domToMutation method is properly defined.';
export class InsertionMarkerPreviewer implements IConnectionPreviewer {
private readonly workspace: WorkspaceSvg;
@@ -88,16 +79,6 @@ export class InsertionMarkerPreviewer implements IConnectionPreviewer {
eventUtils.disable();
try {
this.hidePreview();
const dragged = draggedConn.getSourceBlock();
const marker = this.createInsertionMarker(dragged);
const markerConn = this.getMatchingConnection(
dragged,
marker,
draggedConn,
);
if (!markerConn) {
throw Error(DUPLICATE_BLOCK_ERROR);
}
// TODO(7898): Instead of special casing, we should change the dragger to
// track the change in distance between the dragged connection and the
@@ -132,13 +113,11 @@ export class InsertionMarkerPreviewer implements IConnectionPreviewer {
private previewMarker(
draggedConn: RenderedConnection,
staticConn: RenderedConnection,
): RenderedConnection {
): RenderedConnection | null {
const dragged = draggedConn.getSourceBlock();
const marker = this.createInsertionMarker(dragged);
const markerConn = this.getMatchingConnection(dragged, marker, draggedConn);
if (!markerConn) {
throw Error('Could not create insertion marker to preview connection');
}
if (!markerConn) return null;
// Render disconnected from everything else so that we have a valid
// connection location.
@@ -154,6 +133,7 @@ export class InsertionMarkerPreviewer implements IConnectionPreviewer {
};
const originalOffsetInBlock = markerConn.getOffsetInBlock().clone();
renderManagement.finishQueuedRenders().then(() => {
if (marker.isDeadOrDying()) return;
eventUtils.disable();
try {
// Position so that the existing block doesn't move.
@@ -210,7 +190,7 @@ export class InsertionMarkerPreviewer implements IConnectionPreviewer {
orig: BlockSvg,
marker: BlockSvg,
origConn: RenderedConnection,
) {
): RenderedConnection | null {
const origConns = orig.getConnections_(true);
const markerConns = marker.getConnections_(true);
if (origConns.length !== markerConns.length) return null;

View File

@@ -15,6 +15,8 @@ import {Coordinate} from './utils/coordinate.js';
export class LayerManager {
/** The layer elements being dragged are appended to. */
private dragLayer: SVGGElement | undefined;
/** The layer elements being animated are appended to. */
private animationLayer: SVGGElement | undefined;
/** The layers elements not being dragged are appended to. */
private layers = new Map<number, SVGGElement>();
@@ -26,6 +28,7 @@ export class LayerManager {
// been appended yet.
if (injectionDiv) {
this.dragLayer = this.createDragLayer(injectionDiv);
this.animationLayer = this.createAnimationLayer(injectionDiv);
}
// We construct these manually so we can add the css class for backwards
@@ -48,6 +51,35 @@ export class LayerManager {
return dom.createSvgElement(Svg.G, {}, svg);
}
private createAnimationLayer(injectionDiv: Element) {
const svg = dom.createSvgElement(Svg.SVG, {
'class': 'blocklyAnimationLayer',
'xmlns': dom.SVG_NS,
'xmlns:html': dom.HTML_NS,
'xmlns:xlink': dom.XLINK_NS,
'version': '1.1',
});
injectionDiv.append(svg);
return dom.createSvgElement(Svg.G, {}, svg);
}
/**
* Appends the element to the animation layer. The animation layer doesn't
* move when the workspace moves, so e.g. delete animations don't move
* when a block delete triggers a workspace resize.
*
* @internal
*/
appendToAnimationLayer(elem: IRenderedElement) {
const currentTransform = this.dragLayer?.getAttribute('transform');
// Only update the current transform when appending, so animations don't
// move if the workspace moves.
if (currentTransform) {
this.animationLayer?.setAttribute('transform', currentTransform);
}
this.animationLayer?.appendChild(elem.getSvgRoot());
}
/**
* Translates layers when the workspace is dragged or zoomed.
*

View File

@@ -794,6 +794,10 @@ export class ConstantProvider extends BaseConstantProvider {
`pt ${this.FIELD_TEXT_FONTFAMILY};`,
`}`,
`${selector} .blocklyTextInputBubble textarea {`,
`font-weight: normal;`,
`}`,
// Fields.
`${selector} .blocklyText {`,
`fill: #fff;`,

View File

@@ -10,7 +10,6 @@ import type {Block} from '../block.js';
import type {BlockSvg} from '../block_svg.js';
import type {Connection} from '../connection.js';
import {MANUALLY_DISABLED} from '../constants.js';
import * as deprecation from '../utils/deprecation.js';
import * as eventUtils from '../events/utils.js';
import {inputTypes} from '../inputs/input_types.js';
import {isSerializable} from '../interfaces/i_serializable.js';
@@ -30,6 +29,8 @@ import {
} from './exceptions.js';
import * as priorities from './priorities.js';
import * as serializationRegistry from './registry.js';
import * as Variables from '../variables.js';
import {VariableModel} from '../variable_model.js';
// TODO(#5160): Remove this once lint is fixed.
/* eslint-disable no-use-before-define */
@@ -418,6 +419,7 @@ export function appendInternal(
}
eventUtils.disable();
const variablesBeforeCreation = workspace.getAllVariables();
let block;
try {
block = appendPrivate(state, workspace, {parentConnection, isShadow});
@@ -425,7 +427,12 @@ export function appendInternal(
eventUtils.enable();
}
// Fire a VarCreate event for each (if any) new variable created.
checkNewVariables(workspace, variablesBeforeCreation);
if (eventUtils.isEnabled()) {
// Block events come after var events, in case they refer to newly created
// variables.
eventUtils.fire(new (eventUtils.get(eventUtils.BLOCK_CREATE))(block));
}
eventUtils.setGroup(existingGroup);
@@ -486,6 +493,33 @@ function appendPrivate(
return block;
}
/**
* Checks the workspace for any new variables that were created during the
* deserialization of a block and fires a VarCreate event for each.
*
* @param workspace The workspace where new variables are being created
* @param originalVariables The array of variables that existed in the workspace
* before adding the new block.
*/
function checkNewVariables(
workspace: Workspace,
originalVariables: VariableModel[],
) {
if (eventUtils.isEnabled()) {
const newVariables = Variables.getAddedVariables(
workspace,
originalVariables,
);
// Fire a VarCreate event for each (if any) new variable created.
for (let i = 0; i < newVariables.length; i++) {
const thisVariable = newVariables[i];
eventUtils.fire(
new (eventUtils.get(eventUtils.VAR_CREATE))(thisVariable),
);
}
}
}
/**
* Applies any coordinate information available on the state object to the
* block.
@@ -523,12 +557,8 @@ function loadAttributes(block: Block, state: State) {
block.setEditable(false);
}
if (state['enabled'] === false) {
deprecation.warn(
'enabled',
'v11',
'v12',
'disabledReasons with the value ["' + MANUALLY_DISABLED + '"]',
);
// Before May 2024 we just used 'enabled', with no reasons.
// Contiune to support this syntax.
block.setDisabledReason(true, MANUALLY_DISABLED);
}
if (Array.isArray(state['disabledReasons'])) {

View File

@@ -10,7 +10,6 @@ import type {Block} from './block.js';
import type {BlockSvg} from './block_svg.js';
import type {Connection} from './connection.js';
import {MANUALLY_DISABLED} from './constants.js';
import * as deprecation from './utils/deprecation.js';
import * as eventUtils from './events/utils.js';
import type {Field} from './field.js';
import {IconType} from './icons/icon_types.js';
@@ -1023,12 +1022,8 @@ function domToBlockHeadless(
}
const disabled = xmlBlock.getAttribute('disabled');
if (disabled) {
deprecation.warn(
'disabled',
'v11',
'v12',
'disabled-reasons with the value "' + MANUALLY_DISABLED + '"',
);
// Before May 2024 we just used 'disabled', with no reasons.
// Contiune to support this syntax.
block.setDisabledReason(
disabled === 'true' || disabled === 'disabled',
MANUALLY_DISABLED,

View File

@@ -4,10 +4,10 @@
<meta charset="utf-8">
<meta name="viewport" content="target-densitydpi=device-dpi, height=660, initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
<title>Blockly Demo: Blockly Developer Tools</title>
<script src="../../dist/blockly_compressed.js"></script>
<script src="../../dist/blocks_compressed.js"></script>
<script src="../../dist/javascript_compressed.js"></script>
<script src="../../build/msg/en.js"></script>
<script src="https://unpkg.com/blockly@10.4.3/blockly_compressed.js"></script>
<script src="https://unpkg.com/blockly@10.4.3/blocks_compressed.js"></script>
<script src="https://unpkg.com/blockly@10.4.3/javascript_compressed.js"></script>
<script src="https://unpkg.com/blockly@10.4.3/msg/en.js"></script>
<script src="analytics.js"></script>
<script src="block_definition_extractor.js"></script>
<script src="factory_utils.js"></script>

View File

@@ -1,3 +1,3 @@
<svg xmlns="http://www.w3.org/2000/svg" height="8" viewBox="0 0 8 8" width="8" fill="#041E49" stroke="#000">
<g><line x1="2.6666666666666665" y1="7" x2="7" y2="2.6666666666666665"></line><line x1="5.333333333333333" y1="7" x2="7" y2="5.333333333333333"></line></g>
<g><line x1="2.67" y1="7" x2="7" y2="2.67"></line><line x1="5.33" y1="7" x2="7" y2="5.33"></line></g>
</svg>

Before

Width:  |  Height:  |  Size: 272 B

After

Width:  |  Height:  |  Size: 218 B

View File

@@ -14,6 +14,7 @@
"Sushi",
"THINK",
"Tiin",
"TomatoCake",
"Zgtm",
"아라"
]
@@ -42,7 +43,7 @@
"REDO": "Wiederholen",
"CHANGE_VALUE_TITLE": "Wert ändern:",
"RENAME_VARIABLE": "Variable umbenennen …",
"RENAME_VARIABLE_TITLE": "Alle \"%1\"-Variablen umbenennen in:",
"RENAME_VARIABLE_TITLE": "Alle „%1“-Variablen umbenennen in:",
"NEW_VARIABLE": "Variable erstellen …",
"NEW_STRING_VARIABLE": "Zeichenfolgenvariable erstellen …",
"NEW_NUMBER_VARIABLE": "Zahlenvariable erstellen …",
@@ -51,6 +52,7 @@
"NEW_VARIABLE_TITLE": "Name der neuen Variable:",
"VARIABLE_ALREADY_EXISTS": "Eine Variable namens „%1“ ist bereits vorhanden.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Eine Variable namens „%1“ ist bereits für einen anderen Typ vorhanden: „%2“.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Eine Variable mit dem Namen „%1“ ist bereits als Parameter in der Funktion „%2“ vorhanden.",
"DELETE_VARIABLE_CONFIRMATION": "%1 Verwendungen der Variable „%2“ löschen?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Die Variable „%1“ kann nicht gelöscht werden, da sie Teil der Definition der Funktion „%2“ ist.",
"DELETE_VARIABLE": "Die Variable „%1“ löschen",
@@ -72,7 +74,7 @@
"CONTROLS_REPEAT_TITLE": "wiederhole %1-mal:",
"CONTROLS_REPEAT_INPUT_DO": "mache",
"CONTROLS_REPEAT_TOOLTIP": "Eine Anweisung mehrfach ausführen.",
"CONTROLS_WHILEUNTIL_HELPURL": "https://de.wikipedia.org/wiki/Schleife_%28Programmierung%29",
"CONTROLS_WHILEUNTIL_HELPURL": "https://de.wikipedia.org/wiki/Schleife_(Programmierung)#Kopfgesteuerte_Schleife",
"CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "wiederhole solange",
"CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "wiederhole bis",
"CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Führt Anweisungen aus, solange die Bedingung wahr ist.",
@@ -99,7 +101,7 @@
"CONTROLS_IF_IF_TOOLTIP": "Hinzufügen, entfernen oder sortieren von Sektionen",
"CONTROLS_IF_ELSEIF_TOOLTIP": "Eine weitere Bedingung hinzufügen.",
"CONTROLS_IF_ELSE_TOOLTIP": "Eine sonst-Bedingung hinzufügen. Führt eine Anweisung aus, falls keine Bedingung zutrifft.",
"LOGIC_COMPARE_HELPURL": "https://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29",
"LOGIC_COMPARE_HELPURL": "https://de.wikipedia.org/wiki/Vergleich_(Zahlen)",
"LOGIC_COMPARE_TOOLTIP_EQ": "Ist wahr, falls beide Werte gleich sind.",
"LOGIC_COMPARE_TOOLTIP_NEQ": "Ist wahr, falls beide Werte unterschiedlich sind.",
"LOGIC_COMPARE_TOOLTIP_LT": "Ist wahr, falls der erste Wert kleiner als der zweite Wert ist.",
@@ -108,7 +110,7 @@
"LOGIC_COMPARE_TOOLTIP_GTE": "Ist wahr, falls der erste Wert größer als oder gleich groß wie der zweite Wert ist.",
"LOGIC_OPERATION_TOOLTIP_AND": "Ist wahr, falls beide Werte wahr sind.",
"LOGIC_OPERATION_AND": "und",
"LOGIC_OPERATION_TOOLTIP_OR": "Ist wahr, falls einer der beiden Werte wahr ist.",
"LOGIC_OPERATION_TOOLTIP_OR": "Ist wahr, falls mindestens einer der beiden Werte wahr ist.",
"LOGIC_OPERATION_OR": "oder",
"LOGIC_NEGATE_TITLE": "nicht %1",
"LOGIC_NEGATE_TOOLTIP": "Ist wahr, falls der Eingabewert unwahr ist. Ist unwahr, falls der Eingabewert wahr ist.",
@@ -140,8 +142,8 @@
"MATH_SINGLE_HELPURL": "https://de.wikipedia.org/wiki/Quadratwurzel",
"MATH_SINGLE_OP_ROOT": "Quadratwurzel",
"MATH_SINGLE_TOOLTIP_ROOT": "Ist die Quadratwurzel einer Zahl.",
"MATH_SINGLE_OP_ABSOLUTE": "Betrag",
"MATH_SINGLE_TOOLTIP_ABS": "Ist der Betrag einer Zahl.",
"MATH_SINGLE_OP_ABSOLUTE": "Absolutbetrag",
"MATH_SINGLE_TOOLTIP_ABS": "Ist der Absolutbetrag einer Zahl.",
"MATH_SINGLE_TOOLTIP_NEG": "Negiert eine Zahl.",
"MATH_SINGLE_TOOLTIP_LN": "Ist der natürliche Logarithmus einer Zahl.",
"MATH_SINGLE_TOOLTIP_LOG10": "Ist der dekadische Logarithmus einer Zahl.",
@@ -149,7 +151,7 @@
"MATH_SINGLE_TOOLTIP_POW10": "Rechnet 10 hoch eine Zahl.",
"MATH_TRIG_HELPURL": "https://de.wikipedia.org/wiki/Trigonometrie",
"MATH_TRIG_TOOLTIP_SIN": "Ist der Sinus des Winkels (nicht Radiant).",
"MATH_TRIG_TOOLTIP_COS": "Ist der Kosinus des Winkels.",
"MATH_TRIG_TOOLTIP_COS": "Ist der Kosinus des Winkels (nicht Radiant).",
"MATH_TRIG_TOOLTIP_TAN": "Ist der Tangens des Winkels (nicht Radiant).",
"MATH_TRIG_TOOLTIP_ASIN": "Ist der Arkussinus des Eingabewertes.",
"MATH_TRIG_TOOLTIP_ACOS": "Ist der Arkuskosinus des Eingabewertes.",
@@ -166,7 +168,7 @@
"MATH_IS_TOOLTIP": "Überprüft, ob eine Zahl gerade, ungerade, eine Primzahl, ganzzahlig, positiv, negativ oder durch eine zweite Zahl teilbar ist. Gibt wahr oder falsch zurück.",
"MATH_CHANGE_HELPURL": "https://de.wikipedia.org/wiki/Inkrement_und_Dekrement",
"MATH_CHANGE_TITLE": "erhöhe %1 um %2",
"MATH_CHANGE_TOOLTIP": "Addiert eine Zahl zu \"%1\".",
"MATH_CHANGE_TOOLTIP": "Addiert eine Zahl zur Variable „%1“.",
"MATH_ROUND_HELPURL": "https://de.wikipedia.org/wiki/Runden",
"MATH_ROUND_TOOLTIP": "Eine Zahl auf- oder abrunden.",
"MATH_ROUND_OPERATOR_ROUND": "runde",
@@ -216,7 +218,7 @@
"TEXT_LENGTH_TOOLTIP": "Die Anzahl von Zeichen in einem Text (inkl. Leerzeichen).",
"TEXT_ISEMPTY_TITLE": "%1 ist leer",
"TEXT_ISEMPTY_TOOLTIP": "Ist wahr, falls der Text keine Zeichen enthält.",
"TEXT_INDEXOF_TOOLTIP": "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text. Gibt die Position des Begriffs zurück oder %1 falls der Suchbegriff nicht gefunden wurde.",
"TEXT_INDEXOF_TOOLTIP": "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text. Gibt die Position des Begriffs zurück oder %1, falls der Suchbegriff nicht gefunden wurde.",
"TEXT_INDEXOF_TITLE": "im Text %1 %2 %3",
"TEXT_INDEXOF_OPERATOR_FIRST": "suche erstes Auftreten des Begriffs",
"TEXT_INDEXOF_OPERATOR_LAST": "suche letztes Auftreten des Begriffs",
@@ -264,7 +266,7 @@
"LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Liste",
"LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Hinzufügen, entfernen und sortieren von Elementen.",
"LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ein Element zur Liste hinzufügen.",
"LISTS_REPEAT_TOOLTIP": "Erzeugt eine Liste mit einer variablen Anzahl von Elementen.",
"LISTS_REPEAT_TOOLTIP": "Erzeugt eine Liste mit der angegebenen Anzahl an Elementen des angegebenen Wertes.",
"LISTS_REPEAT_TITLE": "erzeuge Liste mit %2-mal dem Element %1",
"LISTS_LENGTH_TITLE": "Länge von %1",
"LISTS_LENGTH_TOOLTIP": "Die Anzahl von Elementen in der Liste.",
@@ -279,9 +281,9 @@
"LISTS_GET_INDEX_REMOVE": "entferne",
"LISTS_GET_INDEX_FROM_START": "das",
"LISTS_GET_INDEX_FROM_END": "von hinten das",
"LISTS_GET_INDEX_FIRST": "Erste",
"LISTS_GET_INDEX_LAST": "Letzte",
"LISTS_GET_INDEX_RANDOM": "Zufällig",
"LISTS_GET_INDEX_FIRST": "das erste",
"LISTS_GET_INDEX_LAST": "das letzte",
"LISTS_GET_INDEX_RANDOM": "ein zufälliges",
"LISTS_GET_INDEX_TAIL": "Element",
"LISTS_INDEX_FROM_START_TOOLTIP": "%1 ist das erste Element.",
"LISTS_INDEX_FROM_END_TOOLTIP": "%1 ist das letzte Element.",
@@ -306,7 +308,7 @@
"LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setzt ein zufälliges Element in der Liste.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Fügt das Element an der angegebenen Position in die Liste ein.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Fügt das Element an den Anfang der Liste an.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Fügt das Element ans Ende der Liste an.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Fügt das Element an das Ende der Liste an.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Fügt das Element zufällig in die Liste ein.",
"LISTS_GET_SUBLIST_START_FROM_START": "nimm Teilliste ab",
"LISTS_GET_SUBLIST_START_FROM_END": "nimm Teilliste ab von hinten",
@@ -348,9 +350,9 @@
"PROCEDURES_ALLOW_STATEMENTS": "Anweisungen erlauben",
"PROCEDURES_DEF_DUPLICATE_WARNING": "Warnung: Dieser Funktionsblock hat zwei gleich benannte Parameter.",
"PROCEDURES_CALLNORETURN_HELPURL": "https://de.wikipedia.org/wiki/Unterprogramm",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Rufe einen Funktionsblock ohne Rückgabewert auf.",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Ruft die benutzerdefinierte Funktion „%1“ auf.",
"PROCEDURES_CALLRETURN_HELPURL": "https://de.wikipedia.org/wiki/Unterprogramm",
"PROCEDURES_CALLRETURN_TOOLTIP": "Rufe einen Funktionsblock mit Rückgabewert auf.",
"PROCEDURES_CALLRETURN_TOOLTIP": "Ruft die benutzerdefinierte Funktion „%1“ auf und verwendet ihre Ausgabe.",
"PROCEDURES_MUTATORCONTAINER_TITLE": "Parameter",
"PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.",
"PROCEDURES_MUTATORARG_TITLE": "Variable:",
@@ -360,8 +362,8 @@
"PROCEDURES_IFRETURN_TOOLTIP": "Gibt den zweiten Wert zurück und verlässt die Funktion, falls der erste Wert wahr ist.",
"PROCEDURES_IFRETURN_WARNING": "Warnung: Dieser Block darf nur innerhalb eines Funktionsblocks genutzt werden.",
"WORKSPACE_COMMENT_DEFAULT_TEXT": "Teile etwas mit…",
"WORKSPACE_ARIA_LABEL": "Blockly Arbeitsbereich",
"WORKSPACE_ARIA_LABEL": "Blockly-Arbeitsbereich",
"COLLAPSED_WARNINGS_WARNING": "Eingeklappte Blöcke enthalten Warnungen.",
"DIALOG_OK": "OK",
"DIALOG_OK": "Okay",
"DIALOG_CANCEL": "Abbrechen"
}

View File

@@ -3,6 +3,7 @@
"authors": [
"Azountas",
"Ch.zarafidis",
"Dimitris131",
"Espertus",
"Evropi",
"GR",
@@ -32,75 +33,75 @@
"ADD_COMMENT": "Προσθήκη σχολίου",
"REMOVE_COMMENT": "Αφαίρεση σχολίου",
"DUPLICATE_COMMENT": "Αντιγραφή σχόλιου",
"EXTERNAL_INPUTS": "Εξωτερικές προσθήκες",
"INLINE_INPUTS": "Εσωτερικές προσθήκες",
"EXTERNAL_INPUTS": "Εξωτερικές είσοδοι",
"INLINE_INPUTS": "Ενσωματωμένες είσοδοι",
"DELETE_BLOCK": "Διαγραφή μπλοκ",
"DELETE_X_BLOCKS": "Διαγραφή %1 μπλοκ",
"DELETE_ALL_BLOCKS": "Να διαγραφούν όλα τα %1 μπλοκ;",
"CLEAN_UP": "Ταξινομείστε τα Μπλοκ",
"COLLAPSE_BLOCK": "Σύμπτυξε Το Μπλοκ",
"COLLAPSE_ALL": "Σύμπτυξε Όλα Τα Μπλοκ",
"EXPAND_BLOCK": "Επέκτεινε Το Μπλοκ",
"EXPAND_ALL": "Επέκτεινε Όλα Τα Μπλοκ",
"DISABLE_BLOCK": "Απενεργοποίησε Το Μπλοκ",
"ENABLE_BLOCK": "Ενεργοποίησε Το Μπλοκ",
"CLEAN_UP": "Εκκαθάριση μπλοκ",
"COLLAPSE_BLOCK": "Σύμπτυξη μπλοκ",
"COLLAPSE_ALL": "Σύμπτυξη μπλοκ",
"EXPAND_BLOCK": "Ανάπτυξη μπλοκ",
"EXPAND_ALL": "Ανάπτυξη μπλοκ",
"DISABLE_BLOCK": "Απενεργοποίηση μπλοκ",
"ENABLE_BLOCK": "Ενεργοποίηση μπλοκ",
"HELP": "Βοήθεια",
"UNDO": "Αναίρεση",
"REDO": "Ακύρωση αναίρεσης",
"CHANGE_VALUE_TITLE": "Άλλαξε την τιμή:",
"RENAME_VARIABLE": "Μετονόμασε τη μεταβλητή...",
"RENAME_VARIABLE_TITLE": "Μετονόμασε όλες τις μεταβλητές «%1» σε:",
"RENAME_VARIABLE_TITLE": "Μετονόμασε όλες τις μεταβλητές '%1' σε:",
"NEW_VARIABLE": "Δημιουργήστε μεταβλητή...",
"NEW_STRING_VARIABLE": "Δημιουργία μεταβλητή συμβολοσειράς...",
"NEW_NUMBER_VARIABLE": "Δημιουργία μεταβλητής αριθμού...",
"NEW_COLOUR_VARIABLE": "Δημιουργία μεταβλητής χρώματος...",
"NEW_STRING_VARIABLE": "Δημιούργησε μεταβλητή συμβολοσειράς...",
"NEW_NUMBER_VARIABLE": "Δημιούργησε μεταβλητή αριθμού...",
"NEW_COLOUR_VARIABLE": "Δημιούργησε μεταβλητή χρώματος...",
"NEW_VARIABLE_TYPE_TITLE": "Νέος τύπος μεταβλητής:",
"NEW_VARIABLE_TITLE": "Νέο όνομα μεταβλητής:",
"VARIABLE_ALREADY_EXISTS": "Η μεταβλητή με το όνομα '%1' υπάρχει ήδη.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Μια μεταβλητή με όνομα '%1' υπάρχει πάντα για έναν άλλο τύπο: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Μια μεταβλητή με το όνομα «%1» υπάρχει ήδη ως παράμετρος στη διαδικασία «%2».",
"DELETE_VARIABLE_CONFIRMATION": "Θέλετε να διαγράψετε το %1 που χρησιμοποιείτε από την μεταβλητή '%2'?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Δεν μπορώ να διαγράψω την μεταβλητή '%1' διότι είναι μέρος του ορισμού της λειτουργίας '%2'",
"DELETE_VARIABLE": "Διαγράψτε την μεταβλητή '%1'",
"COLOUR_PICKER_TOOLTIP": "Επιτρέπει επιλογή χρώματος από την παλέτα.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Μια μεταβλητή με όνομα '%1' υπάρχει ήδη για έναν άλλο τύπο: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Μια μεταβλητή με το όνομα '%1' υπάρχει ήδη ως παράμετρος στη διαδικασία '%2'.",
"DELETE_VARIABLE_CONFIRMATION": "Θέλετε να διαγράψετε %1 χρήσεις της μεταβλητής '%2'?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Δεν μπορείς να διαγράψεις την μεταβλητή '%1' διότι είναι μέρος του ορισμού της συνάρτησης '%2'",
"DELETE_VARIABLE": "Διάγραψε την μεταβλητή '%1'",
"COLOUR_PICKER_TOOLTIP": "Επέλεξε ένα χρώμα από την παλέτα.",
"COLOUR_RANDOM_TITLE": "τυχαίο χρώμα",
"COLOUR_RANDOM_TOOLTIP": "Επιλέγει χρώμα τυχαία.",
"COLOUR_RANDOM_TOOLTIP": "Επέλεξε ένα χρώμα τυχαία.",
"COLOUR_RGB_TITLE": "χρώμα με",
"COLOUR_RGB_RED": "κόκκινο",
"COLOUR_RGB_GREEN": "πράσινο",
"COLOUR_RGB_BLUE": "μπλε",
"COLOUR_RGB_TOOLTIP": "Δημιουργήστε ένα χρώμα με την καθορισμένη ποσότητα κόκκινου, πράσινου και μπλε. Όλες οι τιμές πρέπει να είναι μεταξύ 0 και 100.",
"COLOUR_RGB_TOOLTIP": "Δημιούργησε ένα χρώμα με την καθορισμένη ποσότητα κόκκινου, πράσινου και μπλε. Όλες οι τιμές πρέπει να είναι μεταξύ 0 και 100.",
"COLOUR_BLEND_TITLE": "μείγμα",
"COLOUR_BLEND_COLOUR1": "χρώμα 1",
"COLOUR_BLEND_COLOUR2": "χρώμα 2",
"COLOUR_BLEND_RATIO": "αναλογία",
"COLOUR_BLEND_TOOLTIP": "Συνδυάζει δύο χρώματα μαζί με μια δεδομένη αναλογία (0.0 - 1,0).",
"COLOUR_BLEND_TOOLTIP": "Συνδυάζει μαζί δύο χρώματα στην δοσμένη αναλογία (0.0 - 1.0).",
"CONTROLS_REPEAT_TITLE": "επανάλαβε %1 φορές",
"CONTROLS_REPEAT_INPUT_DO": "κάνε",
"CONTROLS_REPEAT_TOOLTIP": "Εκτελεί κάποιες εντολές αρκετές φορές.",
"CONTROLS_REPEAT_TOOLTIP": "Εκτέλεσε κάποιες εντολές αρκετές φορές.",
"CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "επανάλαβε ενώ",
"CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "επανάλαβε μέχρι",
"CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Εφόσον μια τιμή είναι αληθής, τότε εκτελεί κάποιες εντολές.",
"CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Εφόσον μια τιμή είναι ψευδής, τότε εκτελεί κάποιες εντολές.",
"CONTROLS_FOR_TOOLTIP": "Η μεταβλητή «%1» παίρνει τιμές ξεκινώντας από τον αριθμό έναρξης μέχρι τον αριθμό τέλους αυξάνοντας κάθε φορά με το καθορισμένο βήμα και εκτελώντας το καθορισμένο μπλοκ.",
"CONTROLS_FOR_TOOLTIP": "Βάλε τη μεταβλητή '%1' να πάρει τιμές από τον αριθμό έναρξης μέχρι τον αριθμό λήξης αυξάνοντας κάθε φορά με το καθορισμένο βήμα και εκτελώντας τα καθορισμένα μπλοκ.",
"CONTROLS_FOR_TITLE": "μέτρησε με %1 από το %2 έως το %3 ανά %4",
"CONTROLS_FOREACH_TITLE": "για κάθε στοιχείο %1 στη λίστα %2",
"CONTROLS_FOREACH_TOOLTIP": "Για κάθε στοιχείο σε μια λίστα, ορίζει τη μεταβλητή «%1» στο στοιχείο και, στη συνέχεια, εκτελεί κάποιες εντολές.",
"CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": εύγει από το μπλοκ επαναλήψεως",
"CONTROLS_FOREACH_TOOLTIP": "Για κάθε στοιχείο σε μια λίστα, όρισε τη μεταβλητή '%1' στο στοιχείο και, στη συνέχεια, εκτέλεσε κάποιες εντολές.",
"CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "φύγε από το μπλοκ επαναλήψεως",
"CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "συνέχισε με την επόμενη επανάληψη του μπλοκ επαναλήψεως",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Ξεφεύγει (βγαίνει έξω) από την επανάληψη.",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Παραλείπει το υπόλοιπο τμήμα αυτού του μπλοκ επαναλήψεως, και συνεχίζει με την επόμενη επανάληψη.",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Φύγε από την περιεχόμενη επανάληψη.",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Παρέλειψε το υπόλοιπο αυτού του μπλοκ επαναλήψεως, και συνέχισε με την επόμενη επανάληψη.",
"CONTROLS_FLOW_STATEMENTS_WARNING": "Προειδοποίηση: Αυτό το μπλοκ μπορεί να χρησιμοποιηθεί μόνο μέσα σε μια επανάληψη.",
"CONTROLS_IF_TOOLTIP_1": "Αν μια τιμή είναι αληθής, τότε εκτελεί κάποιες εντολές.",
"CONTROLS_IF_TOOLTIP_2": "Αν μια τιμή είναι αληθής, τότε εκτελεί το πρώτο τμήμα εντολών. Διαφορετικά, εκτελεί το δεύτερο τμήμα εντολών.",
"CONTROLS_IF_TOOLTIP_3": "Αν η πρώτη τιμή είναι αληθής, τότε εκτελεί το πρώτο τμήμα εντολών. Διαφορετικά, αν η δεύτερη τιμή είναι αληθής, εκτελεί το δεύτερο μπλοκ εντολών.",
"CONTROLS_IF_TOOLTIP_4": "Αν η πρώτη τιμή είναι αληθής, τότε εκτελεί το πρώτο τμήμα εντολών. Διαφορετικά, αν η δεύτερη τιμή είναι αληθής, εκτελεί το δεύτερο τμήμα εντολών. Αν καμία από τις τιμές δεν είναι αληθής, εκτελεί το τελευταίο τμήμα εντολών.",
"CONTROLS_IF_TOOLTIP_1": "Αν μια τιμή είναι αληθής, τότε εκτέλεσε κάποιες εντολές.",
"CONTROLS_IF_TOOLTIP_2": "Αν μια τιμή είναι αληθής, τότε εκτέλεσε το πρώτο μπλοκ εντολών. Διαφορετικά, εκτέλεσε το δεύτερο μπλοκ εντολών.",
"CONTROLS_IF_TOOLTIP_3": "Αν η πρώτη τιμή είναι αληθής, τότε εκτέλεσε το πρώτο τμήμα εντολών. Διαφορετικά, αν η δεύτερη τιμή είναι αληθής, εκτέλεσε το δεύτερο μπλοκ εντολών.",
"CONTROLS_IF_TOOLTIP_4": "Αν η πρώτη τιμή είναι αληθής, τότε εκτέλεσε το πρώτο μπλοκ εντολών. Διαφορετικά, αν η δεύτερη τιμή είναι αληθής, εκτέλεσε το δεύτερο μπλοκ εντολών. Αν καμία από τις τιμές δεν είναι αληθής, εκτέλεσε το τελευταίο τμήμα εντολών.",
"CONTROLS_IF_MSG_IF": "εάν",
"CONTROLS_IF_MSG_ELSEIF": "εναλλακτικά εάν",
"CONTROLS_IF_MSG_ELSE": "αλλιώς",
"CONTROLS_IF_MSG_ELSE": "εναλλακτικά",
"CONTROLS_IF_IF_TOOLTIP": "Προσθέτει, αφαιρεί ή αναδιατάσσει τα τμήματα για να αναδιαμορφώσει αυτό το μπλοκ «εάν».",
"CONTROLS_IF_ELSEIF_TOOLTIP": "Πρόσθετει μια κατάσταση/συνθήκη στο μπλοκ «εάν».",
"CONTROLS_IF_ELSE_TOOLTIP": "Προσθέτει μια τελική κατάσταση/συνθήκη, που πιάνει όλες τις άλλες περιπτώσεις, στο μπλοκ «εάν».",
"CONTROLS_IF_ELSEIF_TOOLTIP": "Πρόσθεσε μια συνθήκη στο μπλοκ «εάν».",
"CONTROLS_IF_ELSE_TOOLTIP": "Πρόσθεσε μια τελική συνθήκη, που πιάνει όλες τις άλλες περιπτώσεις, στο μπλοκ «εάν».",
"LOGIC_COMPARE_TOOLTIP_EQ": "Επιστρέφει αληθής αν και οι δύο είσοδοι είναι ίσες μεταξύ τους.",
"LOGIC_COMPARE_TOOLTIP_NEQ": "Επιστρέφει αληθής αν και οι δύο είσοδοι δεν είναι ίσες μεταξύ τους.",
"LOGIC_COMPARE_TOOLTIP_LT": "Επιστρέφει αληθής αν η πρώτη είσοδος είναι μικρότερη από τη δεύτερη είσοδο.",
@@ -121,7 +122,7 @@
"LOGIC_TERNARY_CONDITION": "έλεγχος",
"LOGIC_TERNARY_IF_TRUE": "εάν είναι αληθής",
"LOGIC_TERNARY_IF_FALSE": "εάν είναι ψευδής",
"LOGIC_TERNARY_TOOLTIP": "Ελέγχει την κατάσταση/συνθήκη στον «έλεγχο». Αν η κατάσταση/συνθήκη είναι αληθής, επιστρέφει την τιμή «εάν αληθής», διαφορετικά επιστρέφει την τιμή «εάν ψευδής».",
"LOGIC_TERNARY_TOOLTIP": "Ελέγχει την συνθήκη στον «έλεγχο». Αν η συνθήκη είναι αληθής, επιστρέφει την τιμή 'εάν αληθής', διαφορετικά επιστρέφει την τιμή 'εάν ψευδής'.",
"MATH_NUMBER_HELPURL": "https://el.wikipedia.org/wiki/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82",
"MATH_NUMBER_TOOLTIP": "Ένας αριθμός.",
"MATH_POWER_SYMBOL": "^ ύψωση σε δύναμη",
@@ -142,15 +143,15 @@
"MATH_SINGLE_TOOLTIP_ROOT": "Επιστρέφει την τετραγωνική ρίζα ενός αριθμού.",
"MATH_SINGLE_OP_ABSOLUTE": "απόλυτη",
"MATH_SINGLE_TOOLTIP_ABS": "Επιστρέφει την απόλυτη τιμή ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_NEG": "Επιστρέφει την αρνητική ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_LN": "Επιστρέφει τον νεπέρειο λογάριθμο ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_NEG": "Επιστρέφει την αρνητική τιμή ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_LN": "Επιστρέφει τον φυσικό λογάριθμο ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_LOG10": "Επιστρέφει τον λογάριθμο με βάση το 10 ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_EXP": "Επιστρέφει το e υψωμένο στη δύναμη ενός αριθμού.",
"MATH_SINGLE_TOOLTIP_POW10": "Επιστρέφει το 10 υψωμένο στη δύναμη ενός αριθμού.",
"MATH_TRIG_HELPURL": "https://el.wikipedia.org/wiki/%CE%A4%CF%81%CE%B9%CE%B3%CF%89%CE%BD%CE%BF%CE%BC%CE%B5%CF%84%CF%81%CE%B9%CE%BA%CE%AE_%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7",
"MATH_TRIG_TOOLTIP_SIN": "Επιστρέφει το ημίτονο ενός βαθμού (όχι ακτινίου).",
"MATH_TRIG_TOOLTIP_COS": "Επιστρέφει το συνημίτονο ενός βαθμού (όχι ακτινίου).",
"MATH_TRIG_TOOLTIP_TAN": "Επιστρέφει την εφαπτομένη ενός βαθμού (όχι ακτινίου).",
"MATH_TRIG_TOOLTIP_SIN": "Επιστρέφει το ημίτονο μία γωνίας σε μοίρες (όχι ακτίνια).",
"MATH_TRIG_TOOLTIP_COS": "Επιστρέφει το συνημίτονο μίας γωνίας σε μοίρες (όχι ακτίνια).",
"MATH_TRIG_TOOLTIP_TAN": "Επιστρέφει την εφαπτομένη μία γωνίας σε μοίρες (όχι ακτίνια).",
"MATH_TRIG_TOOLTIP_ASIN": "Επιστρέφει το τόξο ημίτονου ενός αριθμού.",
"MATH_TRIG_TOOLTIP_ACOS": "Επιστρέφει το τόξο συνημίτονου ενός αριθμού.",
"MATH_TRIG_TOOLTIP_ATAN": "Επιστρέφει το τόξο εφαπτομένης ενός αριθμού.",
@@ -165,8 +166,8 @@
"MATH_IS_TOOLTIP": "Ελέγχει αν ένας αριθμός είναι άρτιος, περιττός, πρώτος, ακέραιος, θετικός, αρνητικός, ή αν είναι διαιρετός από έναν ορισμένο αριθμό. Επιστρέφει αληθής ή ψευδής.",
"MATH_CHANGE_HELPURL": "https://el.wikipedia.org/wiki/%CE%A0%CF%81%CF%8C%CF%83%CE%B8%CE%B5%CF%83%CE%B7",
"MATH_CHANGE_TITLE": "άλλαξε %1 αυξάνοντας κατά %2",
"MATH_CHANGE_TOOLTIP": "Προσθέτει έναν αριθμό στη μεταβλητή «%1».",
"MATH_ROUND_TOOLTIP": "Στρογγυλοποιεί έναν αριθμό προς τα πάνω ή προς τα κάτω.",
"MATH_CHANGE_TOOLTIP": "Πρόσθεσε έναν αριθμό στη μεταβλητή '%1'.",
"MATH_ROUND_TOOLTIP": "Στρογγυλοποίησε έναν αριθμό προς τα πάνω ή προς τα κάτω.",
"MATH_ROUND_OPERATOR_ROUND": "στρογγυλοποίησε",
"MATH_ROUND_OPERATOR_ROUNDUP": "στρογγυλοποίησε προς τα πάνω",
"MATH_ROUND_OPERATOR_ROUNDDOWN": "στρογγυλοποίησε προς τα κάτω",
@@ -179,9 +180,9 @@
"MATH_ONLIST_OPERATOR_AVERAGE": "μέσος όρος λίστας",
"MATH_ONLIST_TOOLTIP_AVERAGE": "Επιστρέφει τον αριθμητικό μέσο όρο από τις αριθμητικές τιμές στη λίστα.",
"MATH_ONLIST_OPERATOR_MEDIAN": "διάμεσος λίστας",
"MATH_ONLIST_TOOLTIP_MEDIAN": "Επιστρέφει τον διάμεσο της λίστας.",
"MATH_ONLIST_OPERATOR_MODE": ορφές λίστας",
"MATH_ONLIST_TOOLTIP_MODE": "Επιστρέφει μια λίστα με τα πιο κοινά στοιχεία στη λίστα.",
"MATH_ONLIST_TOOLTIP_MEDIAN": "Επιστρέφει τον διάμεσο αριθμό της λίστας.",
"MATH_ONLIST_OPERATOR_MODE": "επικρατούσες τιμές λίστας",
"MATH_ONLIST_TOOLTIP_MODE": "Επιστρέφει μια λίστα με τα πιο συνηθισμένα στοιχεία της λίστας, δηλαδή τις επικρατούσες τιμές.",
"MATH_ONLIST_OPERATOR_STD_DEV": "τυπική απόκλιση λίστας",
"MATH_ONLIST_TOOLTIP_STD_DEV": "Επιστρέφει την τυπική απόκλιση της λίστας.",
"MATH_ONLIST_OPERATOR_RANDOM": "τυχαίο στοιχείο λίστας",
@@ -189,28 +190,28 @@
"MATH_MODULO_TITLE": "υπόλοιπο της %1 ÷ %2",
"MATH_MODULO_TOOLTIP": "Επιστρέφει το υπόλοιπο της διαίρεσης των δύο αριθμών.",
"MATH_CONSTRAIN_TITLE": "περιόρισε %1 χαμηλή %2 υψηλή %3",
"MATH_CONSTRAIN_TOOLTIP": "Περιορίζει έναν αριθμό μεταξύ των προβλεπόμενων ορίων (χωρίς αποκλεισμούς).",
"MATH_CONSTRAIN_TOOLTIP": "Περιορίζει έναν αριθμό μεταξύ των προβλεπόμενων ορίων (συμπεριλαμβανομένων και των ακραίων τιμών).",
"MATH_RANDOM_INT_TITLE": "τυχαίος ακέραιος από το %1 έως το %2",
"MATH_RANDOM_INT_TOOLTIP": "Επιστρέφει έναν τυχαίο ακέραιο αριθμό μεταξύ δύο συγκεκριμένων ορίων (εντός - συμπεριλαμβανομένων και των ακραίων τιμών).",
"MATH_RANDOM_INT_TOOLTIP": "Επέστρεψε έναν τυχαίο ακέραιο αριθμό μεταξύ δύο συγκεκριμένων ορίων (συμπεριλαμβανομένων και των ακραίων τιμών).",
"MATH_RANDOM_FLOAT_HELPURL": "https://el.wikipedia.org/wiki/%CE%93%CE%B5%CE%BD%CE%BD%CE%AE%CF%84%CF%81%CE%B9%CE%B1_%CE%A4%CF%85%CF%87%CE%B1%CE%AF%CF%89%CE%BD_%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8E%CE%BD",
"MATH_RANDOM_FLOAT_TITLE_RANDOM": "τυχαίο κλάσμα",
"MATH_RANDOM_FLOAT_TOOLTIP": "Επιστρέψει ένα τυχαία κλάσμα μεταξύ 0,0 (κλειστό) και 1,0 (ανοικτό).",
"MATH_ATAN2_TITLE": "atan2 από X:%1 Y:%2",
"MATH_ATAN2_TOOLTIP": "Επιστρέφει την διαφορά τόξου των σημείων (X, Y) σε μοίρες από -180 σε 180.",
"MATH_RANDOM_FLOAT_TOOLTIP": "Επιστρέψει ένα τυχαία κλάσμα μεταξύ 0.0 (συμπεριλαμβανομένου) και 1.0 (χωρίς).",
"MATH_ATAN2_TITLE": "atan2 του X:%1 Y:%2",
"MATH_ATAN2_TOOLTIP": "Επιστρέφει το τόξο εφαπτομένης του σημείου (X, Y) σε μοίρες από -180 σε 180.",
"TEXT_TEXT_HELPURL": "https://el.wikipedia.org/wiki/%CE%A3%CF%85%CE%BC%CE%B2%CE%BF%CE%BB%CE%BF%CF%83%CE%B5%CE%B9%CF%81%CE%AC",
"TEXT_TEXT_TOOLTIP": "Ένα γράμμα, μια λέξη ή μια γραμμή κειμένου.",
"TEXT_JOIN_TITLE_CREATEWITH": "δημιούργησε κείμενο με",
"TEXT_JOIN_TOOLTIP": "Δημιουργεί ένα κομμάτι κειμένου ενώνοντας έναν απεριόριστο αριθμό αντικειμένων.",
"TEXT_JOIN_TOOLTIP": "Δημιούργησε ένα κομμάτι κειμένου ενώνοντας έναν απεριόριστο αριθμό αντικειμένων.",
"TEXT_CREATE_JOIN_TITLE_JOIN": "ένωσε",
"TEXT_CREATE_JOIN_TOOLTIP": "Προσθέτει, αφαιρεί ή αναδιατάσσει τους τομείς για να αναδιαμορφώσει αυτό το μπλοκ κειμένου.",
"TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Προσθέτει ένα στοιχείο στο κείμενο.",
"TEXT_APPEND_TITLE": "έως %1 ανάθεσε κείμενο %2",
"TEXT_APPEND_TOOLTIP": "Αναθέτει κείμενο στη μεταβλητή «%1».",
"TEXT_LENGTH_TITLE": "το μήκος του %1",
"TEXT_LENGTH_TOOLTIP": "Επιστρέφει το πλήθος των γραμμάτων (συμπεριλαμβανομένων και των κενών διαστημάτων) στο παρεχόμενο κείμενο.",
"TEXT_CREATE_JOIN_TOOLTIP": "Πρόσθεσε, αφαίρεσε ή αναδιάταξε τα τμήματα για να αναδιαμορφώσεις αυτό το μπλοκ κειμένου.",
"TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Πρόσθεσε ένα στοιχείο στο κείμενο.",
"TEXT_APPEND_TITLE": "στο %1 πρόσθεσε το κείμενο %2",
"TEXT_APPEND_TOOLTIP": "Πρόσθεσε κάποιο κείμενο στη μεταβλητή '%1'.",
"TEXT_LENGTH_TITLE": "μήκος του %1",
"TEXT_LENGTH_TOOLTIP": "Επιστρέφει το πλήθος των γραμμάτων (συμπεριλαμβανομένων και των κενών διαστημάτων) στο δοσμένο κείμενο.",
"TEXT_ISEMPTY_TITLE": "το %1 είναι κενό",
"TEXT_ISEMPTY_TOOLTIP": "Επιστρέφει αληθής αν το παρεχόμενο κείμενο είναι κενό.",
"TEXT_INDEXOF_TOOLTIP": "Επιστρέφει τον δείκτη της πρώτης/τελευταίας εμφάνισης του πρώτου κειμένου στο δεύτερο κείμενο. Επιστρέφει τιμή %1, αν δε βρει το κείμενο.",
"TEXT_ISEMPTY_TOOLTIP": "Επιστρέφει αληθής αν το δοσμένο κείμενο είναι κενό.",
"TEXT_INDEXOF_TOOLTIP": "Επιστρέφει τον δείκτη της πρώτης/τελευταίας εμφάνισης του πρώτου κειμένου στο δεύτερο κείμενο. Επιστρέφει %1, αν δε βρει το κείμενο.",
"TEXT_INDEXOF_TITLE": "στο κείμενο %1 %2 %3",
"TEXT_INDEXOF_OPERATOR_FIRST": "βρες την πρώτη εμφάνιση του κειμένου",
"TEXT_INDEXOF_OPERATOR_LAST": "βρες την τελευταία εμφάνιση του κειμένου",
@@ -223,49 +224,49 @@
"TEXT_CHARAT_TOOLTIP": "Επιστρέφει το γράμμα στην καθορισμένη θέση.",
"TEXT_GET_SUBSTRING_TOOLTIP": "Επιστρέφει ένα συγκεκριμένο τμήμα του κειμένου.",
"TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "στο κείμενο",
"TEXT_GET_SUBSTRING_START_FROM_START": "πάρε τη δευτερεύουσα συμβολοσειρά από το # γράμμα",
"TEXT_GET_SUBSTRING_START_FROM_END": "πάρε τη δευτερεύουσα συμβολοσειρά από το # γράμμα από το τέλος",
"TEXT_GET_SUBSTRING_START_FIRST": "πάρε τη δευτερεύουσα συμβολοσειρά από το πρώτο γράμμα",
"TEXT_GET_SUBSTRING_START_FROM_START": "πάρε τη υποσυμβολοσειρά από το γράμμα #",
"TEXT_GET_SUBSTRING_START_FROM_END": "πάρε την υποσυμβολοσειρά από το # γράμμα από το τέλος",
"TEXT_GET_SUBSTRING_START_FIRST": "πάρε την υποσυμβολοσειρά από το πρώτο γράμμα",
"TEXT_GET_SUBSTRING_END_FROM_START": "μέχρι το # γράμμα",
"TEXT_GET_SUBSTRING_END_FROM_END": "μέχρι το # γράμμα από το τέλος",
"TEXT_GET_SUBSTRING_END_LAST": "μέχρι το τελευταίο γράμμα",
"TEXT_CHANGECASE_TOOLTIP": "Επιστρέφει ένα αντίγραφο του κειμένου σε διαφορετική μορφή γραμμάτων.",
"TEXT_CHANGECASE_TOOLTIP": "Επιστρέφει ένα αντίγραφο του κειμένου σε διαφορετική μορφή γραμμάτων (πεζά/κεφαλαία).",
"TEXT_CHANGECASE_OPERATOR_UPPERCASE": "σε ΚΕΦΑΛΑΙΑ",
"TEXT_CHANGECASE_OPERATOR_LOWERCASE": "σε πεζά",
"TEXT_CHANGECASE_OPERATOR_TITLECASE": "σε Λέξεις Με Πρώτα Κεφαλαία",
"TEXT_TRIM_TOOLTIP": "Επιστρέφει ένα αντίγραφο του κειμένου με αφαιρεμένα τα κενά από το ένα ή και τα δύο άκρα.",
"TEXT_TRIM_OPERATOR_BOTH": "περίκοψε τα κενά και από τις δυο πλευρές του",
"TEXT_TRIM_OPERATOR_LEFT": "περίκοψε τα κενά από την αριστερή πλευρά του",
"TEXT_TRIM_OPERATOR_RIGHT": "περίκοψε τα κενά από την δεξιά πλευρά του",
"TEXT_TRIM_OPERATOR_BOTH": "Αφαίρεσε τα κενά και από τις δυο πλευρές του",
"TEXT_TRIM_OPERATOR_LEFT": "Αφαίρεσε τα κενά από την αριστερή πλευρά του",
"TEXT_TRIM_OPERATOR_RIGHT": "Αφαίρεσε τα κενά από την δεξιά πλευρά του",
"TEXT_PRINT_TITLE": "εκτύπωσε %1",
"TEXT_PRINT_TOOLTIP": "Εκτυπώνει το καθορισμένο κείμενο, αριθμό ή άλλη τιμή.",
"TEXT_PROMPT_TYPE_TEXT": "πρότρεψε με μήνυμα για να δοθεί κείμενο",
"TEXT_PROMPT_TYPE_NUMBER": "πρότρεψε με μήνυμα για να δοθεί αριθμός",
"TEXT_PROMPT_TOOLTIP_NUMBER": "Δημιουργεί προτροπή για τον χρήστη για να δώσει ένα αριθμό.",
"TEXT_PROMPT_TYPE_TEXT": "προτροπή για κείμενο με μήνυμα",
"TEXT_PROMPT_TYPE_NUMBER": "προτροπή για αριθμό με μήνυμα",
"TEXT_PROMPT_TOOLTIP_NUMBER": "Δημιουργεί προτροπή για τον χρήστη για να δώσει έναν αριθμό.",
"TEXT_PROMPT_TOOLTIP_TEXT": "Δημιουργεί προτροπή για το χρήστη για να δώσει κάποιο κείμενο.",
"TEXT_COUNT_MESSAGE0": "αριθμός %1 σε %2",
"TEXT_COUNT_TOOLTIP": "Μετρά πόσες φορές κάποιο κείμενο εμφανίζεται μέσα σε ένα άλλο κείμενο.",
"TEXT_REPLACE_MESSAGE0": "αντικαταστήσετε το %1 με %2 σε %3",
"TEXT_REPLACE_TOOLTIP": "Αντικαταστήστε όλα τα ήδη υπάρχοντα στοιχεία μέρους του κειμένου με κάποιο άλλο κείμενο",
"TEXT_REVERSE_MESSAGE0": "ανάκληση %1",
"TEXT_REVERSE_TOOLTIP": "Αναγραμματισμός των χαρακτήρων του κειμένου",
"TEXT_COUNT_MESSAGE0": "πλήθος %1 στο %2",
"TEXT_COUNT_TOOLTIP": "Μέτρα πόσες φορές κάποιο κείμενο εμφανίζεται μέσα σε ένα άλλο κείμενο.",
"TEXT_REPLACE_MESSAGE0": "αντικατάσταση του %1 με %2 στο %3",
"TEXT_REPLACE_TOOLTIP": "Αντικατάσταση όλων των εμφανίσεων ενός κειμένου μέσα σε κάποιο άλλο κείμενο",
"TEXT_REVERSE_MESSAGE0": "αντιστροφή %1",
"TEXT_REVERSE_TOOLTIP": "Αντιστρέφει τη σειρά των χαρακτήρων του κειμένου.",
"LISTS_CREATE_EMPTY_TITLE": "δημιούργησε κενή λίστα",
"LISTS_CREATE_EMPTY_TOOLTIP": "Επιστρέφει μια λίστα, με μήκος 0, η οποία δεν περιέχει εγγραφές δεδομένων",
"LISTS_CREATE_EMPTY_TOOLTIP": "Επιστρέφει μια λίστα, με μήκος 0, η οποία δεν έχει στοιχεία",
"LISTS_CREATE_WITH_TOOLTIP": "Δημιουργεί λίστα με οποιονδήποτε αριθμό αντικειμένων.",
"LISTS_CREATE_WITH_INPUT_WITH": "δημιούργησε λίστα με",
"LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "λίστα",
"LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Προσθέτει, αφαιρεί ή αναδιατάσσει τα τμήματα για να αναδιαμορφώσει αυτό το μπλοκ λίστας.",
"LISTS_CREATE_WITH_ITEM_TOOLTIP": "Προσθέτει αντικείμενο στη λίστα.",
"LISTS_REPEAT_TOOLTIP": "Δημιουργεί μια λίστα που αποτελείται από την δεδομένη τιμή που επαναλαμβάνεται για συγκεκριμένο αριθμό επαναλήψεων.",
"LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Πρόσθεσε, αφαίρεσε ή αναδιάταξε τμήματα για να αναδιαμορφώσει αυτό το μπλοκ λίστας.",
"LISTS_CREATE_WITH_ITEM_TOOLTIP": "Πρόσθεσε ένα αντικείμενο στη λίστα.",
"LISTS_REPEAT_TOOLTIP": "Δημιουργεί μια λίστα που αποτελείται από την δοσμένη τιμή που επαναλαμβάνεται για έναν δοσμένο αριθμό φορών.",
"LISTS_REPEAT_TITLE": "δημιούργησε λίστα με το στοιχείο %1 να επαναλαμβάνεται %2 φορές",
"LISTS_LENGTH_TITLE": "το μήκος του %1",
"LISTS_LENGTH_TOOLTIP": "Επιστρέφει το μήκος μιας λίστας.",
"LISTS_LENGTH_TOOLTIP": "Επιστρέφει το μήκος μίας λίστας.",
"LISTS_ISEMPTY_TITLE": "το %1 είναι κενό",
"LISTS_ISEMPTY_TOOLTIP": "Επιστρέφει αληθής αν η λίστα είναι κενή.",
"LISTS_INLIST": "στη λίστα",
"LISTS_INDEX_OF_FIRST": "βρες την πρώτη εμφάνιση του στοιχείου",
"LISTS_INDEX_OF_LAST": "βρες την τελευταία εμφάνιση του στοιχείου",
"LISTS_INDEX_OF_TOOLTIP": "Επιστρέφει τον δείκτη της πρώτης/τελευταίας εμφάνισης του στοιχείου στη λίστα. Επιστρέφει τιμή %1, αν το στοιχείο δεν βρεθεί.",
"LISTS_INDEX_OF_TOOLTIP": "Επιστρέφει τον δείκτη της πρώτης/τελευταίας εμφάνισης του στοιχείου στη λίστα. Επιστρέφει %1, αν το στοιχείο δεν βρεθεί.",
"LISTS_GET_INDEX_GET": "πάρε",
"LISTS_GET_INDEX_GET_REMOVE": "πάρε και αφαίρεσε",
"LISTS_GET_INDEX_REMOVE": "αφαίρεσε",
@@ -276,28 +277,28 @@
"LISTS_GET_INDEX_RANDOM": "τυχαίο",
"LISTS_INDEX_FROM_START_TOOLTIP": "Το %1 είναι το πρώτο στοιχείο.",
"LISTS_INDEX_FROM_END_TOOLTIP": "Το %1 είναι το τελευταίο στοιχείο.",
"LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Επιστρέφει το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Επιστρέφει το στοιχείο στην δοσμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Επιστρέφει το πρώτο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Επιστρέφει το τελευταίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Επιστρέφει ένα τυχαίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Καταργεί και επιστρέφει το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Καταργεί και επιστρέφει το πρώτο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Καταργεί και επιστρέφει το τελευταίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Αφαιρεί και επιστρέφει το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Αφαιρεί και επιστρέφει το πρώτο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Αφαιρεί και επιστρέφει το τελευταίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Καταργεί και επιστρέφει ένα τυχαίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Καταργεί το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Αφαιρεί το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Καταργεί το πρώτο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Καταργεί το τελευταίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Καταργεί ένα τυχαίο στοιχείο σε μια λίστα.",
"LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Αφαιρεί ένα τυχαίο στοιχείο σε μια λίστα.",
"LISTS_SET_INDEX_SET": "όρισε",
"LISTS_SET_INDEX_INSERT": "είσαγε στο",
"LISTS_SET_INDEX_INPUT_TO": "σε",
"LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Ορίζει το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_SET_INDEX_INPUT_TO": "ως",
"LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Ορίζει το στοιχείο στην δοσμένη θέση σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Ορίζει το πρώτο στοιχείο σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Ορίζει το τελευταίο στοιχείο σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Ορίζει ένα τυχαίο στοιχείο σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Εισάγει το στοιχείο στην καθορισμένη θέση σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Εισάγει το στοιχείο στην δοσμένη θέση σε μια λίστα.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Εισάγει το στοιχείο στην αρχή μιας λίστας.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Αναθέτει το στοιχείο στο τέλος μιας λίστας.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Πρόσθεσε το στοιχείο στο τέλος μιας λίστας.",
"LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Εισάγει το στοιχείο τυχαία σε μια λίστα.",
"LISTS_GET_SUBLIST_START_FROM_START": "πάρε υπολίστα από #",
"LISTS_GET_SUBLIST_START_FROM_END": "πάρε υπολίστα από # από το τέλος",
@@ -306,50 +307,50 @@
"LISTS_GET_SUBLIST_END_FROM_END": "έως # από το τέλος",
"LISTS_GET_SUBLIST_END_LAST": "έως το τελευταίο",
"LISTS_GET_SUBLIST_TOOLTIP": "Δημιουργεί ένα αντίγραφο του καθορισμένου τμήματος μιας λίστας.",
"LISTS_SORT_TITLE": "επιλογή %1 %2 %3",
"LISTS_SORT_TOOLTIP": "Επιλέξετε ένα αντίγραφο της λίστας.",
"LISTS_SORT_ORDER_ASCENDING": "Αύξουσα",
"LISTS_SORT_ORDER_DESCENDING": "Φθίνουσα",
"LISTS_SORT_TYPE_NUMERIC": "αριθμητικό",
"LISTS_SORT_TITLE": "ταξινόμησε %1 %2 %3",
"LISTS_SORT_TOOLTIP": "Ταξινομήστε ένα αντίγραφο μιας λίστας.",
"LISTS_SORT_ORDER_ASCENDING": "αύξουσα",
"LISTS_SORT_ORDER_DESCENDING": "φθίνουσα",
"LISTS_SORT_TYPE_NUMERIC": "αριθμητικά",
"LISTS_SORT_TYPE_TEXT": "Αλφαβητικά",
"LISTS_SORT_TYPE_IGNORECASE": "αλφαβητικά, αγνοήστε το στοιχείο",
"LISTS_SORT_TYPE_IGNORECASE": "αλφαβητικά, αγνοώντας πεζά/κεφαλαία γράμματα",
"LISTS_SPLIT_LIST_FROM_TEXT": "κάνετε λίστα από το κείμενο",
"LISTS_SPLIT_TEXT_FROM_LIST": "κάνετε κείμενο από τη λίστα",
"LISTS_SPLIT_TEXT_FROM_LIST": "δημιούργησε κείμενο από τη λίστα",
"LISTS_SPLIT_WITH_DELIMITER": "με διαχωριστικό",
"LISTS_SPLIT_TOOLTIP_SPLIT": "Διαίρεση του κειμένου σε μια λίστα κειμένων, με σπάσιμο σε κάθε διαχωριστικό.",
"LISTS_SPLIT_TOOLTIP_SPLIT": "Διαχώρισε το κείμενο σε μια λίστα κειμένων, σπάζοντας το σε κάθε διαχωριστικό.",
"LISTS_SPLIT_TOOLTIP_JOIN": "Ενώστε μια λίστα κειμένων σε ένα κείμενο, που χωρίζονται από ένα διαχωριστικό.",
"LISTS_REVERSE_MESSAGE0": "ανάκληση %1",
"LISTS_REVERSE_TOOLTIP": "Α",
"LISTS_REVERSE_MESSAGE0": "αντιστροφή %1",
"LISTS_REVERSE_TOOLTIP": "Αντιστρέφει ένα αντίγραφο της λίστας.",
"VARIABLES_GET_TOOLTIP": "Επιστρέφει την τιμή αυτής της μεταβλητής.",
"VARIABLES_GET_CREATE_SET": "Δημιούργησε «όρισε %1»",
"VARIABLES_SET": "ανάθεσε στην %1 το %2",
"VARIABLES_GET_CREATE_SET": "Δημιούργησε 'όρισε %1'",
"VARIABLES_SET": "όρισε το %1 σε %2",
"VARIABLES_SET_TOOLTIP": "Ορίζει αυτή τη μεταβλητή να είναι ίση με την είσοδο.",
"VARIABLES_SET_CREATE_GET": "Δημιούργησε «πάρε %1»",
"PROCEDURES_DEFNORETURN_TITLE": "στο",
"VARIABLES_SET_CREATE_GET": "Δημιούργησε 'πάρε %1'",
"PROCEDURES_DEFNORETURN_TITLE": "σε",
"PROCEDURES_DEFNORETURN_PROCEDURE": "κάνε κάτι",
"PROCEDURES_BEFORE_PARAMS": "με:",
"PROCEDURES_CALL_BEFORE_PARAMS": "με:",
"PROCEDURES_DEFNORETURN_TOOLTIP": "Δημιουργεί μια συνάρτηση χωρίς έξοδο.",
"PROCEDURES_DEFNORETURN_COMMENT": "Περιγράψετε αυτήν την ιδιότητα..",
"PROCEDURES_DEFNORETURN_COMMENT": "Περίγραψε αυτή την συνάρτηση..",
"PROCEDURES_DEFRETURN_RETURN": "επέστρεψε",
"PROCEDURES_DEFRETURN_TOOLTIP": "Δημιουργεί μια συνάρτηση με μια έξοδο.",
"PROCEDURES_ALLOW_STATEMENTS": "να επιτρέπονται οι δηλώσεις",
"PROCEDURES_ALLOW_STATEMENTS": "επέτρεψε δηλώσεις",
"PROCEDURES_DEF_DUPLICATE_WARNING": "Προειδοποίηση: Αυτή η συνάρτηση έχει διπλότυπες παραμέτρους.",
"PROCEDURES_CALLNORETURN_HELPURL": "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Εκτελεί την ορισμένη από τον χρήστη συνάρτηση «%1».",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Εκτέλεσε την ορισμένη από τον χρήστη συνάρτηση '%1'.",
"PROCEDURES_CALLRETURN_HELPURL": "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29",
"PROCEDURES_CALLRETURN_TOOLTIP": "Εκτελεί την ορισμένη από τον χρήστη συνάρτηση «%1» και χρησιμοποίησε την έξοδό της.",
"PROCEDURES_CALLRETURN_TOOLTIP": "Εκτέλεσε την ορισμένη από τον χρήστη συνάρτηση '%1' και χρησιμοποίησε την έξοδό της.",
"PROCEDURES_MUTATORCONTAINER_TITLE": "είσοδοι",
"PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Προσθέτει, αφαιρεί ή αναδιατάσσει εισόδους σε αυτήν τη λειτουργία",
"PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Πρόσθεσε, αφαίρεσε ή αναδιάταξε τις εισόδους σε αυτήν τη συνάρτηση.",
"PROCEDURES_MUTATORARG_TITLE": "όνομα εισόδου:",
"PROCEDURES_MUTATORARG_TOOLTIP": "Πρόσθεσε μια είσοδος στη συνάρτηση",
"PROCEDURES_MUTATORARG_TOOLTIP": "Πρόσθεσε μια είσοδο στη συνάρτηση",
"PROCEDURES_HIGHLIGHT_DEF": "Επισημάνετε τον ορισμό συνάρτησης",
"PROCEDURES_CREATE_DO": "Δημιούργησε «%1»",
"PROCEDURES_CREATE_DO": "Δημιούργησε '%1'",
"PROCEDURES_IFRETURN_TOOLTIP": "Αν μια τιμή είναι αληθής, τότε επιστρέφει τη δεύτερη τιμή.",
"PROCEDURES_IFRETURN_WARNING": "Προειδοποίηση: Αυτό το μπλοκ μπορεί να χρησιμοποιηθεί μόνο στον ορισμό μιας συνάρτησης.",
"WORKSPACE_COMMENT_DEFAULT_TEXT": "Πείτε κάτι...",
"WORKSPACE_COMMENT_DEFAULT_TEXT": "Πες κάτι...",
"WORKSPACE_ARIA_LABEL": "Χώρος εργασίας Blockly",
"COLLAPSED_WARNINGS_WARNING": "Υπάρχουν προειδοποιήσεις για συμπτυγμένα μπλοκ.",
"COLLAPSED_WARNINGS_WARNING": "Υπάρχουν προειδοποιήσεις στα συμπτυγμένα μπλοκ.",
"DIALOG_OK": "Εντάξει",
"DIALOG_CANCEL": "Ακύρωση"
}

View File

@@ -4,6 +4,7 @@
"Ajeje Brazorf",
"Atzerritik",
"Codynguyen1116",
"Eulalio",
"Fitoschido",
"Harvest",
"Indiralena",
@@ -267,6 +268,7 @@
"LISTS_INDEX_OF_FIRST": "encontrar la primera aparición del elemento",
"LISTS_INDEX_OF_LAST": "encontrar la última aparición del elemento",
"LISTS_INDEX_OF_TOOLTIP": "Devuelve el índice de la primera/última aparición del elemento en la lista. Devuelve %1 si el elemento no se encuentra.",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "obtener",
"LISTS_GET_INDEX_GET_REMOVE": "obtener y eliminar",
"LISTS_GET_INDEX_REMOVE": "eliminar",

View File

@@ -299,8 +299,8 @@
"LISTS_SORT_ORDER_ASCENDING": "صعودی",
"LISTS_SORT_ORDER_DESCENDING": "نزولی",
"LISTS_SORT_TYPE_NUMERIC": "عددی",
"LISTS_SORT_TYPE_TEXT": "حروفی ، الفبایی",
"LISTS_SORT_TYPE_IGNORECASE": "حروفی ، رد کردن مورد",
"LISTS_SORT_TYPE_TEXT": "حروفی، الفبایی",
"LISTS_SORT_TYPE_IGNORECASE": "حروفی، در نظر نگرفتن حروف بزرگ و کوچک",
"LISTS_SPLIT_LIST_FROM_TEXT": "ایجاد فهرست از متن",
"LISTS_SPLIT_TEXT_FROM_LIST": "ایجاد متن از فهرست",
"LISTS_SPLIT_WITH_DELIMITER": "همراه جداساز",

View File

@@ -3,6 +3,7 @@
"authors": [
"Alacabe",
"Appr",
"Ashleyzeldin",
"Chrisbansart",
"Espertus",
"Fredlefred",
@@ -24,7 +25,7 @@
},
"VARIABLES_DEFAULT_NAME": "élément",
"UNNAMED_KEY": "non nommé",
"TODAY": "Aujourd'hui",
"TODAY": "Aujourdhui",
"DUPLICATE_BLOCK": "Dupliquer",
"ADD_COMMENT": "Ajouter un commentaire",
"REMOVE_COMMENT": "Supprimer un commentaire",
@@ -55,7 +56,7 @@
"NEW_VARIABLE_TITLE": "Nom de la nouvelle variable:",
"VARIABLE_ALREADY_EXISTS": "Une variable nommée « %1» existe déjà.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Une variable nommée « %1» existe déjà pour un autre type: « %2».",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Une variable nommée '%1' existe déjà comme paramètre dans la procédure '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Une variable nommée « %1» existe déjà comme paramètre dans la procédure « %2».",
"DELETE_VARIABLE_CONFIRMATION": "Supprimer %1 utilisations de la variable « %2»?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Impossible de supprimer la variable « %1» parce quelle fait partie de la définition de la fonction « %2»",
"DELETE_VARIABLE": "Supprimer la variable « %1»",
@@ -111,7 +112,7 @@
"LOGIC_COMPARE_TOOLTIP_LT": "Renvoyer vrai si la première entrée est plus petite que la seconde.",
"LOGIC_COMPARE_TOOLTIP_LTE": "Renvoyer vrai si la première entrée est plus petite ou égale à la seconde.",
"LOGIC_COMPARE_TOOLTIP_GT": "Renvoyer vrai si la première entrée est plus grande que la seconde.",
"LOGIC_COMPARE_TOOLTIP_GTE": "Renvoyer true si la première entrée est supérieure ou égale à la seconde.",
"LOGIC_COMPARE_TOOLTIP_GTE": "Renvoyer vrai si la première entrée est supérieure ou égale à la seconde.",
"LOGIC_OPERATION_HELPURL": "https://fr.wikipedia.org/wiki/Connecteur_logique",
"LOGIC_OPERATION_TOOLTIP_AND": "Renvoyer vrai si les deux entrées sont vraies.",
"LOGIC_OPERATION_AND": "et",

View File

@@ -249,6 +249,7 @@
"LISTS_INDEX_OF_FIRST": "atopar a primeira aparición do elemento",
"LISTS_INDEX_OF_LAST": "atopar a derradeira aparición do elemento",
"LISTS_INDEX_OF_TOOLTIP": "Devolve o índice da primeira/derradeira aparición do primeiro elemento na lista. Devolve %1 se non se atopa o elemento.",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "obter",
"LISTS_GET_INDEX_GET_REMOVE": "obter e eliminar",
"LISTS_GET_INDEX_REMOVE": "eliminar",
@@ -312,6 +313,7 @@
"PROCEDURES_DEFNORETURN_PROCEDURE": "facer algo",
"PROCEDURES_BEFORE_PARAMS": "con:",
"PROCEDURES_CALL_BEFORE_PARAMS": "con:",
"PROCEDURES_CALL_DISABLED_DEF_WARNING": "Non se pode executar a función \"%1\" definida polo usuario porque o bloque de definición está desactivado.",
"PROCEDURES_DEFNORETURN_TOOLTIP": "Crea unha función sen devolución.",
"PROCEDURES_DEFNORETURN_COMMENT": "Describe esta función...",
"PROCEDURES_DEFRETURN_RETURN": "devolver",

View File

@@ -248,6 +248,7 @@
"LISTS_INDEX_OF_FIRST": "cercar le prime occurrentia del elemento",
"LISTS_INDEX_OF_LAST": "cercar le ultime occurrentia del elemento",
"LISTS_INDEX_OF_TOOLTIP": "Retorna le indice del prime/ultime occurrentia del elemento in le lista. Retorna %1 si le elemento non es trovate.",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "prender",
"LISTS_GET_INDEX_GET_REMOVE": "prender e remover",
"LISTS_GET_INDEX_REMOVE": "remover",
@@ -311,6 +312,7 @@
"PROCEDURES_DEFNORETURN_PROCEDURE": "facer qualcosa",
"PROCEDURES_BEFORE_PARAMS": "con:",
"PROCEDURES_CALL_BEFORE_PARAMS": "con:",
"PROCEDURES_CALL_DISABLED_DEF_WARNING": "Non es possibile executar le function definite per le usator %1 perque le bloco de definition es disactivate.",
"PROCEDURES_DEFNORETURN_TOOLTIP": "Crea un function que non retorna un valor.",
"PROCEDURES_DEFNORETURN_COMMENT": "Describe iste function...",
"PROCEDURES_DEFRETURN_RETURN": "retornar",

View File

@@ -5,6 +5,7 @@
"Amire80",
"Codenstory",
"Delanoor",
"Dr1t jg",
"Gongsoonyee",
"Hym411",
"JeonHK",
@@ -19,6 +20,7 @@
"Revi",
"SeoJeongHo",
"Snddl3",
"Suleiman the Magnificent Television",
"Ykhwong",
"아라"
]
@@ -56,6 +58,7 @@
"NEW_VARIABLE_TITLE": "새 변수 이름:",
"VARIABLE_ALREADY_EXISTS": "'%1' 변수는 이미 존재합니다.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' 변수는 다른 유형에 대해 이미 존재합니다: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "'%1' 변수가 이미 '%2' 프로시저의 변수로 존재합니다.",
"DELETE_VARIABLE_CONFIRMATION": "'%2' 변수에서 %1을(를) 삭제하시겠습니까?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "'%2' 함수 정의의 일부이기 때문에 '%1' 변수를 삭제할 수 없습니다",
"DELETE_VARIABLE": "'%1' 변수를 삭제합니다",
@@ -341,6 +344,7 @@
"PROCEDURES_DEFNORETURN_PROCEDURE": "함수 이름",
"PROCEDURES_BEFORE_PARAMS": "사용:",
"PROCEDURES_CALL_BEFORE_PARAMS": "사용:",
"PROCEDURES_CALL_DISABLED_DEF_WARNING": "정의 블록이 비활성화되었기 때문에 사용자 정의 함수 '%1'를 실행할 수 없습니다.",
"PROCEDURES_DEFNORETURN_TOOLTIP": "실행 후, 결과 값을 돌려주지 않는 함수를 만듭니다.",
"PROCEDURES_DEFNORETURN_COMMENT": "이 함수를 설명하세요...",
"PROCEDURES_DEFRETURN_HELPURL": "https://ko.wikipedia.org/wiki/함수_(컴퓨터_과학)",

View File

@@ -2,7 +2,8 @@
"@metadata": {
"authors": [
"Anakmalaysia",
"Espertus"
"Espertus",
"Hakimi97"
]
},
"VARIABLES_DEFAULT_NAME": "Perkara",
@@ -282,7 +283,7 @@
"PROCEDURES_DEFNORETURN_COMMENT": "Terangkan fungsi ini...",
"PROCEDURES_DEFRETURN_RETURN": "kembali",
"PROCEDURES_DEFRETURN_TOOLTIP": "Mencipta satu fungsi dengan pengeluaran.",
"PROCEDURES_ALLOW_STATEMENTS": "bolehkan kenyataan",
"PROCEDURES_ALLOW_STATEMENTS": "membenarkan kenyataan",
"PROCEDURES_DEF_DUPLICATE_WARNING": "Amaran: Fungsi ini mempunyai parameter yang berganda.",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Run the user-defined function '%1'.",
"PROCEDURES_CALLRETURN_TOOLTIP": "Run the user-defined function '%1' and use its output.",

View File

@@ -2,47 +2,246 @@
"@metadata": {
"authors": [
"Bada Kaji",
"Yadav Bhattarai",
"बडा काजी",
"सरोज कुमार ढकाल"
]
},
"VARIABLES_DEFAULT_NAME": "वस्तु",
"UNNAMED_KEY": "अज्ञात",
"TODAY": "आज",
"DUPLICATE_BLOCK": "प्रतिलिपी गर्ने",
"DUPLICATE_BLOCK": "प्रतिलिपी",
"ADD_COMMENT": "टिप्पणी थप्ने",
"REMOVE_COMMENT": "टिप्पणी हटाउने",
"DUPLICATE_COMMENT": "समिक्षाको प्रतिलिपीकरण",
"EXTERNAL_INPUTS": "बाह्य इन्पुटहरू",
"INLINE_INPUTS": "इनलाइन इन्पुटहरू",
"INLINE_INPUTS": "यहीका इन्पुटहरू",
"DELETE_BLOCK": "ब्लक हटाउने",
"DELETE_X_BLOCKS": "%1 ब्लकहरू हटाउने",
"CLEAN_UP": "ब्लकहरू हटाउनुहोस्",
"DELETE_ALL_BLOCKS": "सबै %1 ब्लकहरू मेट्ने हो?",
"CLEAN_UP": "ब्लकहरू सफा गर्नुहोस्",
"COLLAPSE_BLOCK": "ब्लक भत्काउनुहोस्",
"COLLAPSE_ALL": "ब्लक भत्काउनुहोस्",
"COLLAPSE_ALL": "ब्लकहरू भत्काउनुहोस्",
"EXPAND_BLOCK": "ब्लकहरू फिजाउने",
"EXPAND_ALL": "ब्लकहरू फिजाउने",
"DISABLE_BLOCK": "ब्लकलाई सक्रिय पार्ने",
"ENABLE_BLOCK": "ब्लकलाई निश्कृयपार्ने",
"DISABLE_BLOCK": "ब्लकलाई निस्कृय पार्ने",
"ENABLE_BLOCK": "ब्लकलाई कृय पार्ने",
"HELP": "सहायता",
"UNDO": "रद्द गर्ने",
"REDO": "पुन: कायम गर्ने",
"CHANGE_VALUE_TITLE": "मान बदल्नुहोस :",
"RENAME_VARIABLE": "भेरिएबल पुन: नामाकरण गर्ने ...",
"NEW_VARIABLE": "नयाँ भेरिएबल ...",
"NEW_VARIABLE_TITLE": "नयाँ भेरिएबल नाम:",
"COLOUR_RANDOM_TITLE": "जुनसुकै रङ्ग",
"COLOUR_RGB_TITLE": "यस रङ्गको",
"REDO": "फेरी गर्ने",
"CHANGE_VALUE_TITLE": "मान बदल्नुहोस:",
"RENAME_VARIABLE": "चरको पुन: नामाकरण गर्ने ...",
"RENAME_VARIABLE_TITLE": "सबै '%1' चरहरूको नाम परिवर्तन गर्नुहोस्:",
"NEW_VARIABLE": "चर बनाउ...",
"NEW_STRING_VARIABLE": "स्ट्रिङ चर बनाउनुहोस्...",
"NEW_NUMBER_VARIABLE": "अंक चर बनाउनुहोस्...",
"NEW_COLOUR_VARIABLE": "रङ्ग चर बनाउनुहोस्...",
"NEW_VARIABLE_TYPE_TITLE": "नयाँ चरको प्रकार:",
"NEW_VARIABLE_TITLE": "नयाँ चरको नाम:",
"VARIABLE_ALREADY_EXISTS": "'%1' नाम भएको चर पहिल्यै छ।",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' नाम भएको चर अर्को प्रकार:'%2' कोलागी पहिल्यै छ।",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "'%1' नामको चल पहिले नै '%2' प्रक्रियामा प्यारामिटर हो।",
"DELETE_VARIABLE_CONFIRMATION": "'%2' चलको %1 प्रयोगहरू हटाउने हो?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "चर '%1' मेटाउन सकिँदैन किनभने यो प्रकार्य '%2' को परिभाषाको अंश हो।",
"DELETE_VARIABLE": "'%1' चर हटाउनुहोस्",
"COLOUR_PICKER_TOOLTIP": "रङ् थालीबाट छान्नुहोस्।",
"COLOUR_RANDOM_TITLE": "कुनै रङ्ग",
"COLOUR_RANDOM_TOOLTIP": "अनियमित रूपमा रङ छान्नुहोस्।",
"COLOUR_RGB_TITLE": "रङ्गाउ",
"COLOUR_RGB_RED": "रातो",
"COLOUR_RGB_GREEN": "हरियो",
"COLOUR_RGB_BLUE": "निलो",
"COLOUR_RGB_TOOLTIP": "रातो, हरियो र नीलो को निर्दिष्ट मात्रा लिएर एउटा रङ बनाउनुहोस्। सबै मात्राहरू देखी १०० को बीचको हुनुपर्छ।",
"COLOUR_BLEND_TITLE": "मिश्रण",
"COLOUR_BLEND_COLOUR1": "रङ्ग १",
"COLOUR_BLEND_COLOUR2": "रङ्ग २",
"COLOUR_BLEND_RATIO": "अनुपात",
"MATH_IS_EVEN": "जोर संख्या हो",
"MATH_IS_ODD": "बिजोर संख्या हो",
"MATH_IS_PRIME": "रुढ संख्या हो",
"MATH_IS_POSITIVE": "धनात्मक संख्या हो",
"MATH_IS_NEGATIVE": "ऋणात्मक संख्या हो",
"COLOUR_BLEND_TOOLTIP": "दिइएको अनुपात(0.0 - 1.0)मा दुई रङहरू मिलाउँछ।",
"CONTROLS_REPEAT_TITLE": "%1 पटक दोहोऱ्याउनुहोस्",
"CONTROLS_REPEAT_INPUT_DO": "गर्नुहोस्",
"CONTROLS_REPEAT_TOOLTIP": "केही कथनहरू केही पटक दोहोऱ्याउनुहोस्।",
"CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "भएसम्म दोहोऱ्याउनुहोस्",
"CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "यस सम्म दोहोर्‌याउने",
"CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "मान साँचो भईन्जेल केहि कथनहरू दोहोऱ्याउनुहोस्।",
"CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "मान असत्य भईन्जेल केहि कथनहरू दोहोऱ्याउनुहोस्।",
"CONTROLS_FOR_TOOLTIP": "चर '%1' लाई सुरु देखि अन्त्य सङ्ख्यासम्मका मानहरू लिन दिनुहोस्, निर्दिष्ट अन्तरालमा गन्दै निर्दिष्ट ब्लकहरू दोहोऱ्याउनुहोस्।",
"CONTROLS_FOR_TITLE": "%1लाई %2 देखी %3 सम्म %4 जोड्दै गन्नुहोस्।",
"CONTROLS_FOREACH_TITLE": "सूची %2 का प्रत्येक वस्तु %1 लाई",
"CONTROLS_FOREACH_TOOLTIP": "सूचीका बस्तुहरूमा एक पटकमा एक वस्तु चल '%1' मा राखेर केही कथनहरू गर्नुहोस्।",
"CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "नदोहोऱ्याउनुहोस्",
"CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "अर्को चरणमा जानुहोस्",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "आन्तरिक दोहोरान सकियो।",
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "बाँकी छाडेर अर्को चरणमा सुरू गर्नुहोस्।",
"CONTROLS_FLOW_STATEMENTS_WARNING": "सावधान: यो ब्लक बृत्त भित्रमात्र प्रयोग गरिन्छ।",
"CONTROLS_IF_TOOLTIP_1": "यदि मान साँचो भए केही कथनहरू गर्नुहोस्।",
"CONTROLS_IF_TOOLTIP_2": "यदि मान सत्य भए बयानको पहिलो ब्लक गर्नुहोस् नत्र दोस्रो।",
"CONTROLS_IF_TOOLTIP_3": "यदि पहिलो मान सत्य भए बयानको पहिलो ब्लक नत्र यदि दोस्रो मान सत्य भए दोस्रो ब्लक गर्नुहोस्।",
"CONTROLS_IF_TOOLTIP_4": "यदि पहिलो मान सत्य भए कथनको पहिलो ब्लक नत्र यदि दोस्रो मान सत्य भए दोस्रो ब्लक नत्र ती दुबै सत्य नभए अन्तिम ब्लक गर्नुहोस्।",
"CONTROLS_IF_MSG_IF": "if",
"CONTROLS_IF_MSG_ELSEIF": "else if",
"CONTROLS_IF_MSG_ELSE": "else",
"CONTROLS_IF_IF_TOOLTIP": "यो if भनाईलाई मिलाउन खण्डहरू थप्ने, हटाउने वा मिलाउने गर्नुहोस्।",
"CONTROLS_IF_ELSEIF_TOOLTIP": "यो if भनाईमा एउटा प्रश्न थप्नुहोस्।",
"CONTROLS_IF_ELSE_TOOLTIP": "यो if भनाईमा एउटा final, catch-all सर्त थप्नुहोस्।",
"LOGIC_COMPARE_TOOLTIP_EQ": "यदि दुबै दिइएका कुराहरू बराबर भए true फर्काउनुहोस।",
"LOGIC_COMPARE_TOOLTIP_NEQ": "यदि दुबै दिइएका कुराहरू आफुमा बराबर नभए true फर्काउनुहोस।",
"LOGIC_COMPARE_TOOLTIP_LT": "यदि दिइएका पहिलो, दोश्रो भन्दा सानो भए true फर्काउनुहोस।",
"LOGIC_COMPARE_TOOLTIP_LTE": "यदि दिइएका पहिलो, दोश्रो भन्दा सानो वा बराबर भए true फर्काउनुहोस।",
"LOGIC_COMPARE_TOOLTIP_GT": "यदि दिइएका पहिलो, दोश्रो भन्दा ठुलो भए true फर्काउनुहोस।",
"LOGIC_COMPARE_TOOLTIP_GTE": "यदि दिइएका पहिलो, दोश्रो भन्दा ठुलो वा बराबर भए true फर्काउनुहोस।",
"LOGIC_OPERATION_TOOLTIP_AND": "यदि दिइएका दुबै सत्य भए true फर्काउनुहोस्।",
"LOGIC_OPERATION_AND": "and",
"LOGIC_OPERATION_TOOLTIP_OR": "यदि कम्तिमा एउटा दिइएको कुरा साँचो छ भने true फर्काउनुहोस्।",
"LOGIC_OPERATION_OR": "or",
"LOGIC_NEGATE_TITLE": "not %1",
"LOGIC_NEGATE_TOOLTIP": "यदि दिइएको गलत भए true फर्काउँछ। यदि दिइएको सही छ भने false फर्काउँछ।",
"LOGIC_BOOLEAN_TRUE": "true",
"LOGIC_BOOLEAN_FALSE": "false",
"LOGIC_BOOLEAN_TOOLTIP": "true वा false फर्काउँछ।",
"LOGIC_NULL": "null",
"LOGIC_NULL_TOOLTIP": "null फर्काउछ।",
"LOGIC_TERNARY_CONDITION": "परीक्षण",
"LOGIC_TERNARY_IF_TRUE": "सत्य भए",
"LOGIC_TERNARY_IF_FALSE": "गलत भए",
"LOGIC_TERNARY_TOOLTIP": "'परीक्षण' मा अवस्था जाँच गर्नुहोस्। यदि सर्त सत्य भए, 'if true' मान फर्काउँछ; अन्यथा 'if false'।",
"MATH_NUMBER_TOOLTIP": "एउटा सङ्ख्या।",
"MATH_TRIG_SIN": "sin",
"MATH_TRIG_COS": "cos",
"MATH_TRIG_TAN": "tan",
"MATH_TRIG_ASIN": "asin",
"MATH_TRIG_ACOS": "acos",
"MATH_TRIG_ATAN": "atan",
"MATH_ARITHMETIC_TOOLTIP_ADD": "दुई सङ्ख्याको योग फर्काउनुहोस्।",
"MATH_ARITHMETIC_TOOLTIP_MINUS": "दुई संख्याको भिन्नता फर्काउनुहोस्।",
"MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "दुई सङ्ख्याको गुणन फर्काउनुहोस्।",
"MATH_ARITHMETIC_TOOLTIP_DIVIDE": "दुई संख्याको भागफल फर्काउनुहोस्।",
"MATH_ARITHMETIC_TOOLTIP_POWER": "पहिलो सङ्ख्यालाई दोस्रो सङ्ख्या पटक गुणा गरेर आएको सङ्ख्या फर्काउनुहोस्।",
"MATH_SINGLE_OP_ROOT": "वर्गमूल",
"MATH_SINGLE_TOOLTIP_ROOT": "संख्याको वर्गमूल फर्काउनुहोस्।",
"MATH_SINGLE_OP_ABSOLUTE": "निरपेक्ष",
"MATH_SINGLE_TOOLTIP_ABS": "एउटा संख्याको निरपेक्ष मान फर्काउनुहोस्।",
"MATH_SINGLE_TOOLTIP_NEG": "संख्याको नकारात्मक मान फर्काउनुहोस्।",
"MATH_SINGLE_TOOLTIP_LN": "एउटा सङ्ख्याको प्राकृतिक लघुगणक फर्काउनुहोस्।",
"MATH_SINGLE_TOOLTIP_LOG10": "एउटा सङ्ख्याको आधार १० को लघुगणक फर्काउनुहोस्।",
"MATH_SINGLE_TOOLTIP_EXP": "संख्याको e को पावर फर्काउनुहोस्।",
"MATH_SINGLE_TOOLTIP_POW10": "सङ्ख्याको 10 को पावर फर्काउनुहोस्।",
"MATH_TRIG_TOOLTIP_SIN": "एउटा कोणको sine फर्काउनुहोस् (रेडियन होईन)।",
"MATH_TRIG_TOOLTIP_COS": "एउटा कोणको cosine फर्काउनुहोस् (रेडियन होईन)।",
"MATH_TRIG_TOOLTIP_TAN": "एउटा कोणको tangent फर्काउनुहोस् (रेडियन होईन)।",
"MATH_TRIG_TOOLTIP_ASIN": "एउटा कोणको arcsine फर्काउनुहोस्।",
"MATH_TRIG_TOOLTIP_ACOS": "एउटा कोणको arccosine फर्काउनुहोस्।",
"MATH_TRIG_TOOLTIP_ATAN": "एउटा कोणको arctangent फर्काउनुहोस्।",
"MATH_CONSTANT_TOOLTIP": "सामान्य स्थिरांक मध्ये एउटा फर्काउनुहोस्: π (3.141…), e (2.718…), φ (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), वा ∞ (अनन्तता)।",
"MATH_IS_EVEN": "जोर",
"MATH_IS_ODD": "बिजोर",
"MATH_IS_PRIME": "अविभाज्य",
"MATH_IS_WHOLE": "पूर्ण छ",
"MATH_IS_POSITIVE": "धनात्मक",
"MATH_IS_NEGATIVE": "ऋणात्मक",
"MATH_IS_DIVISIBLE_BY": "द्वारा विभाजित छ",
"MATH_IS_TOOLTIP": "जाँच गर्नुहोस् कि संख्या एक सम, बिजोड, अभाज्य, पूर्ण, धनात्मक, ऋणात्मक, वा यदि यो निश्चित संख्या द्वारा विभाजित छ। सही वा गलत फर्काउँछ।",
"MATH_CHANGE_TITLE": "%1 लाई %2 ले परिवर्तन गर्नुहोस्",
"MATH_CHANGE_TOOLTIP": "चल '%1' मा संख्या थप्नुहोस्।",
"MATH_ROUND_TOOLTIP": "सङ्ख्यालाई ठुलो वा सानो पूर्ण सङ्ख्या बनाउनुहोस्।",
"MATH_ROUND_OPERATOR_ROUND": "पूर्ण सङ्ख्या",
"MATH_ROUND_OPERATOR_ROUNDUP": "ठुलो पूर्ण सङ्ख्या",
"MATH_ROUND_OPERATOR_ROUNDDOWN": "सानो पूर्ण सङ्ख्या",
"MATH_ONLIST_OPERATOR_SUM": "सूचीको योगफल",
"MATH_ONLIST_TOOLTIP_SUM": "सूचीमा भएका सबै सङ्ख्याहरूको योगफल फर्काउनुहोस्।",
"MATH_ONLIST_OPERATOR_MIN": "सूचीको न्यूनतम",
"MATH_ONLIST_TOOLTIP_MIN": "सूचीमा सबैभन्दा सानो सङ्ख्या फर्काउनुहोस्।",
"MATH_ONLIST_OPERATOR_MAX": "सूचीको अधिकतम",
"MATH_ONLIST_TOOLTIP_MAX": "सूचीमा सबैभन्दा ठूलो सङ्ख्या फर्काउनुहोस्।",
"MATH_ONLIST_OPERATOR_AVERAGE": "सूचीको औसत",
"MATH_ONLIST_TOOLTIP_AVERAGE": "सूचीमा संख्यात्मक मानहरूको औसत (अंकगणितीय माध्य) फिर्ता गर्नुहोस्।",
"MATH_ONLIST_OPERATOR_MEDIAN": "सूचीको मध्यमा",
"MATH_ONLIST_TOOLTIP_MEDIAN": "सूचीमा मध्य संख्या फर्काउनुहोस्।",
"MATH_ONLIST_TOOLTIP_MODE": "सूचीबाट सबैभन्दा सामान्य वस्तु(हरू) को सूची फर्काउनुहोस्।",
"MATH_ONLIST_OPERATOR_STD_DEV": "सूचीको मानक विचलन",
"MATH_ONLIST_TOOLTIP_STD_DEV": "सूचीको मानक विचलन फर्काउनुहोस्।",
"MATH_ONLIST_OPERATOR_RANDOM": "सूचीको कुनै वस्तु",
"MATH_ONLIST_TOOLTIP_RANDOM": "सूचीबाट कुनै एक फर्काउनुहोस्।",
"MATH_MODULO_TITLE": "%1 ÷ %2 को बाँकी",
"MATH_MODULO_TOOLTIP": "दुई संख्याहरूको भाग गरेर बाँकी फर्काउनुहोस्।",
"MATH_CONSTRAIN_TITLE": "सीमित %1 सानो %2 ठुलो %3",
"MATH_CONSTRAIN_TOOLTIP": "एउटा सङ्ख्यालाई निर्दिष्ट सीमाहरूमा (समावेशी) सीमित गर्नुहोस्।",
"MATH_RANDOM_INT_TITLE": "%1 देखि %2 बिचको कुनै पूर्ण सङ्खया",
"MATH_RANDOM_INT_TOOLTIP": "दुई निर्दिष्ट समावेशी सीमाहरू बीचको कुनै पूर्णांक फर्काउनुहोस्।",
"MATH_RANDOM_FLOAT_TITLE_RANDOM": "कुनै अंश",
"MATH_RANDOM_FLOAT_TOOLTIP": ". (समावेशी) र १. (विशेष) बीचको कुनै अंश फर्काउनुहोस्।",
"MATH_ATAN2_TITLE": "X:%1 Y:%2 को atan2",
"MATH_ATAN2_TOOLTIP": "-180 देखि 180 डिग्रीमा पर्ने (X, Y) बिन्दु को आर्कट्यान्जेन्ट फर्काउनुहोस्।",
"TEXT_TEXT_TOOLTIP": "अक्षर, शब्द वा वाक्य रेखा।",
"TEXT_JOIN_TITLE_CREATEWITH": "यसबाट पाठ बनाउनुहोस्",
"TEXT_JOIN_TOOLTIP": "केही कुराहरू जोडेर पाठ्यांस बनाउनुहोस्।",
"TEXT_CREATE_JOIN_TITLE_JOIN": "मिलाउ",
"TEXT_CREATE_JOIN_TOOLTIP": "यो पाठ्यांस पुन: मिलाउनलाई खण्डहरू थप्नुहोस्, हटाउनुहोस् वा पुन: क्रमबद्ध गर्नुहोस्।",
"TEXT_CREATE_JOIN_ITEM_TOOLTIP": "पाठमा एक चिज थप्नुहोस्।",
"TEXT_APPEND_TITLE": "%1 मा पाठ %2 थप्नुहोस्",
"TEXT_APPEND_TOOLTIP": "चर '%1' मा केही पाठ थप्नुहोस्।",
"TEXT_LENGTH_TITLE": "%1 को लम्बाइ",
"TEXT_LENGTH_TOOLTIP": "दिइएको पाठमा अक्षरहरूको संख्या (स्पेस सहित) फर्काउँछ।",
"TEXT_ISEMPTY_TITLE": "%1 खाली छ",
"TEXT_ISEMPTY_TOOLTIP": "यदि दिइएको पाठ खाली छ भने true फर्काउँछ।",
"TEXT_INDEXOF_TOOLTIP": "दोस्रो पाठमा पहिलो पाठ भेटिएको पहिलो/अन्तिम अनुक्रमणिका फर्काउँछ। पाठ फेला परेन भने %1 फर्काउँछ।",
"TEXT_INDEXOF_TITLE": "पाठमा %1 %2 %3",
"TEXT_INDEXOF_OPERATOR_FIRST": "पाठको पहिलो ठाँउ फेला पार्नुहोस्",
"TEXT_INDEXOF_OPERATOR_LAST": "पाठको अन्तिम ठाँउ फेला पार्नुहोस्",
"TEXT_CHARAT_TITLE": "पाठमा %1 %2",
"TEXT_CHARAT_FROM_START": "अक्षर # निकाल",
"TEXT_CHARAT_FROM_END": "अन्तबाट अक्षर # निकाल",
"TEXT_CHARAT_FIRST": "पहिलो अक्षर निकाल",
"TEXT_CHARAT_LAST": "अन्तिम अक्षर निकाल",
"TEXT_CHARAT_RANDOM": "कुनै अक्षर निकाल",
"TEXT_CHARAT_TOOLTIP": "निर्दिष्ट स्थानको अक्षर फर्काउँछ।",
"TEXT_GET_SUBSTRING_TOOLTIP": "पाठको निर्दिष्ट भाग फर्काउँछ।",
"TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "पाठमा",
"TEXT_GET_SUBSTRING_START_FROM_START": "अक्षर # देखि बाँकी निकाल",
"TEXT_GET_SUBSTRING_START_FROM_END": "अन्तिमको अक्षर # बाट बाँकी निकाल",
"TEXT_GET_SUBSTRING_START_FIRST": "पहिलो अक्षरबाट बाँकी निकाल",
"TEXT_GET_SUBSTRING_END_FROM_START": "अक्षर # सम्म",
"TEXT_GET_SUBSTRING_END_FROM_END": "अन्त्यबाट # अक्षर सम्म",
"TEXT_GET_SUBSTRING_END_LAST": "अन्तिम अक्षरसम्म",
"TEXT_CHANGECASE_TOOLTIP": "फरक अवस्थामा पाठको प्रतिलिपि फर्काउनुहोस्।",
"TEXT_CHANGECASE_OPERATOR_UPPERCASE": "to UPPER CASE",
"TEXT_CHANGECASE_OPERATOR_LOWERCASE": "to lower case",
"TEXT_CHANGECASE_OPERATOR_TITLECASE": "to Title Case",
"TEXT_TRIM_TOOLTIP": "एक वा दुबै छेउबाट खाली ठाउँहरू हटाएर पाठको प्रतिलिपि फर्काउनुहोस्।",
"TEXT_TRIM_OPERATOR_BOTH": "दुबै छेउबाट खाली ठाउँहरू हटाउनुहोस्",
"TEXT_TRIM_OPERATOR_LEFT": "बायाँबाट खाली ठाउँहरू हटाउनुहोस्",
"TEXT_TRIM_OPERATOR_RIGHT": "दायाँ छेउबाट खाली ठाउँहरू हटाउनुहोस्",
"TEXT_PRINT_TITLE": "%1 छाप्नुहोस्",
"TEXT_PRINT_TOOLTIP": "निर्दिष्ट पाठ, नम्बर वा अन्य मान छाप्नुहोस्।",
"TEXT_PROMPT_TYPE_TEXT": "सन्देशको साथ पाठको लागि भन्नुहोस्",
"TEXT_PROMPT_TYPE_NUMBER": "सन्देशको साथ नम्बरको लागि भन्नुहोस्",
"TEXT_PROMPT_TOOLTIP_NUMBER": "नम्बरको लागि प्रयोगकर्तालाई भन्नुहोस्",
"TEXT_PROMPT_TOOLTIP_TEXT": "केहि पाठ को लागी प्रयोगकर्तालाई भन्नुहोस्।",
"TEXT_COUNT_MESSAGE0": "%2 मा %1 गणना गर्नुहोस्",
"TEXT_COUNT_TOOLTIP": "कति पटक केहि पाठ केहि अन्य पाठ भित्र छन्, गणना गर्नुहोस्।",
"TEXT_REPLACE_MESSAGE0": "%3 मा %2 ले %1 लाई प्रतिस्थापन गर्नुहोस्",
"TEXT_REPLACE_TOOLTIP": "केही पाठका सबै घटनाहरू केही अन्य पाठभित्र प्रतिस्थापन गर्नुहोस्।",
"TEXT_REVERSE_MESSAGE0": "%1 लाई उल्टो",
"TEXT_REVERSE_TOOLTIP": "पाठमा अक्षरहरूको क्रमलाई उल्टाउँछ।",
"LISTS_CREATE_EMPTY_TITLE": "खाली सूची बनाउनुहोस्",
"LISTS_CREATE_EMPTY_TOOLTIP": "कुनै तथ्याङ्क नराखी, लम्बाइको सूची फिर्ता गर्दछ",
"LISTS_CREATE_WITH_TOOLTIP": "कुनै संख्याको वस्तुहरूको सूची सिर्जना गर्नुहोस्।",
"LISTS_CREATE_WITH_INPUT_WITH": "यसबाट सूची बनाउनुहोस्",
"LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "सूची",
"LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "यो ब्लकको सूची पुन: मिलाउनलाई खण्डहरू थप्नुहोस्, हटाउनुहोस् वा पुन: क्रमबद्ध गर्नुहोस्।",
"LISTS_CREATE_WITH_ITEM_TOOLTIP": "सूचीमा एउटा थप्नुहोस्।",
"LISTS_REPEAT_TOOLTIP": "दिइएको मान निर्दिष्ट सङ्ख्यामा दोहोऱ्याएर सूची सिर्जना गर्दछ।",
"LISTS_REPEAT_TITLE": "%1 लाई %2 पटक राखेर सूची बनाउनुहोस्",
"LISTS_LENGTH_TITLE": "%1 को लम्बाइ",
"LISTS_LENGTH_TOOLTIP": "सूचीको लम्बाइ फर्काउँछ।",
"LISTS_ISEMPTY_TITLE": "%1 खाली छ",
"LISTS_ISEMPTY_TOOLTIP": "यदि सूची खाली छ भने true फर्काउँछ।",
"LISTS_INLIST": "सूचीमा",
"LISTS_INDEX_OF_FIRST": "पहिलो घटना फेला पार्नुहोस्",
"LISTS_INDEX_OF_LAST": "अन्तिम घटना फेला पार्नुहोस्",
"LISTS_INDEX_OF_TOOLTIP": "सूचीबाट वस्तुको पहिलो/अन्तिम घटनाको अनुक्रमणिका फर्काउँछ। वस्तु फेला परेन भने %1 फर्काउँछ।",
"LISTS_GET_INDEX_GET": "निकाल",
"LISTS_GET_INDEX_GET_REMOVE": "निकाल र हटाउ",
"PROCEDURES_MUTATORCONTAINER_TITLE": "इन्पुटहरू",
"DIALOG_OK": "हुन्छ",
"DIALOG_CANCEL": "रद्द गर्नुहोस्"
"DIALOG_CANCEL": "हुदैन"
}

View File

@@ -46,13 +46,13 @@
"RENAME_VARIABLE": "Variabele hernoemen...",
"RENAME_VARIABLE_TITLE": "Alle variabelen \"%1\" hernoemen naar:",
"NEW_VARIABLE": "Variabele maken...",
"NEW_STRING_VARIABLE": "Creëer tekstvariabele",
"NEW_NUMBER_VARIABLE": "Creëer numeriek variabele",
"NEW_COLOUR_VARIABLE": "Creëer kleurvariabele",
"NEW_VARIABLE_TYPE_TITLE": "Nieuw soort variabele",
"NEW_STRING_VARIABLE": "Tekstvariabele maken...",
"NEW_NUMBER_VARIABLE": "Numeriek variabele maken...",
"NEW_COLOUR_VARIABLE": "Kleurvariabele maken...",
"NEW_VARIABLE_TYPE_TITLE": "Nieuw variabeletype:",
"NEW_VARIABLE_TITLE": "Nieuwe variabelenaam:",
"VARIABLE_ALREADY_EXISTS": "Er bestaat al een variabele met de naam \"%1\".",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Een variabele met de naam '%1' bestaat al voor een ander soort variabele: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Een variabele met de naam '%1' bestaat al voor een ander variabeletype: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Een variabele met de naam '%1' bestaat al als parameter in de procedure '%2'.",
"DELETE_VARIABLE_CONFIRMATION": "%1 gebruiken van de variabele \"%2\" verwijderen?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "De variabele \"%1\" kan niet verwijderd worden omdat die onderdeel uitmaakt van de definitie van de functie \"%2\"",
@@ -196,7 +196,7 @@
"MATH_RANDOM_FLOAT_TITLE_RANDOM": "willekeurige fractie",
"MATH_RANDOM_FLOAT_TOOLTIP": "Geeft een willekeurige fractie tussen 0.0 (inclusief) en 1.0 (exclusief).",
"MATH_ATAN2_TITLE": "atan2 van X:%1 Y:%2",
"MATH_ATAN2_TOOLTIP": "Geef de boogtangens van punt (X, Y) terug in graden tussen -180 naar 180.",
"MATH_ATAN2_TOOLTIP": "Geef de boogtangens van punt (X, Y) terug in graden tussen -180 en 180.",
"TEXT_TEXT_HELPURL": "https://nl.wikipedia.org/wiki/Tekenreeks",
"TEXT_TEXT_TOOLTIP": "Een letter, woord of een regel tekst.",
"TEXT_JOIN_TITLE_CREATEWITH": "maak tekst met",
@@ -204,7 +204,7 @@
"TEXT_CREATE_JOIN_TITLE_JOIN": "samenvoegen",
"TEXT_CREATE_JOIN_TOOLTIP": "Toevoegen, verwijderen of volgorde wijzigen van secties om dit tekstblok opnieuw in te stellen.",
"TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Voegt een item aan de tekst toe.",
"TEXT_APPEND_TITLE": "voor%1 voeg tekst toe van %2",
"TEXT_APPEND_TITLE": "voor %1 voeg tekst toe: %2",
"TEXT_APPEND_TOOLTIP": "Voeg tekst toe aan de variabele \"%1\".",
"TEXT_LENGTH_TITLE": "lengte van %1",
"TEXT_LENGTH_TOOLTIP": "Geeft het aantal tekens terug (inclusief spaties) in de opgegeven tekst.",

View File

@@ -14,6 +14,7 @@
"Fasouzafreitas",
"Felipe L. Ewald",
"Glaucia Japui Gonçalves",
"Lc97",
"Lowvy",
"Luk3",
"Mauricio",
@@ -62,13 +63,13 @@
"NEW_VARIABLE_TYPE_TITLE": "Tipo da nova variável:",
"NEW_VARIABLE_TITLE": "Nome da nova variável:",
"VARIABLE_ALREADY_EXISTS": "A variável chamada '%1' já existe.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Já existe uma variável chamada '%1' para outra do tipo: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Já existe uma variável chamada '%1' para outro tipo: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Já existe uma variável chamada '%1' como parâmetro no procedimento '%2",
"DELETE_VARIABLE_CONFIRMATION": "Deletar %1 usos da variável '%2'?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Não se pode deletar a variável '%1' porque é parte da definição da função '%2'",
"DELETE_VARIABLE": "Deletar a variável '%1'",
"COLOUR_PICKER_HELPURL": "https://pt.wikipedia.org/wiki/Cor",
"COLOUR_PICKER_TOOLTIP": "Escolher uma cor da palheta de cores.",
"COLOUR_PICKER_TOOLTIP": "Escolher uma cor da palheta.",
"COLOUR_RANDOM_TITLE": "cor aleatória",
"COLOUR_RANDOM_TOOLTIP": "Escolher cor de forma aleatória.",
"COLOUR_RGB_TITLE": "colorir com",

View File

@@ -118,7 +118,7 @@
"LOGIC_BOOLEAN_TOOLTIP": "Возвращает значение истина или ложь.",
"LOGIC_NULL": "ничто",
"LOGIC_NULL_TOOLTIP": "Возвращает ничто.",
"LOGIC_TERNARY_HELPURL": "https://ru.wikipedia.org/wiki/Тернарная_условная_операция",
"LOGIC_TERNARY_HELPURL": "https://ru.wikipedia.org/wiki/%3F#Вомпьютерах",
"LOGIC_TERNARY_CONDITION": "выбрать по",
"LOGIC_TERNARY_IF_TRUE": "если истина",
"LOGIC_TERNARY_IF_FALSE": "если ложь",
@@ -270,6 +270,7 @@
"LISTS_INDEX_OF_FIRST": "найти первое вхождение элемента",
"LISTS_INDEX_OF_LAST": "найти последнее вхождение элемента",
"LISTS_INDEX_OF_TOOLTIP": "Возвращает номер позиции первого/последнего вхождения элемента в списке. Возвращает %1, если элемент не найден.",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "взять",
"LISTS_GET_INDEX_GET_REMOVE": "взять и удалить",
"LISTS_GET_INDEX_REMOVE": "удалить",
@@ -334,6 +335,7 @@
"PROCEDURES_DEFNORETURN_PROCEDURE": "выполнить что-то",
"PROCEDURES_BEFORE_PARAMS": "с:",
"PROCEDURES_CALL_BEFORE_PARAMS": "с:",
"PROCEDURES_CALL_DISABLED_DEF_WARNING": "Невозможно запустить пользовательскую функцию '%1', поскольку блок определения отключен.",
"PROCEDURES_DEFNORETURN_TOOLTIP": "Создаёт процедуру, не возвращающую значение.",
"PROCEDURES_DEFNORETURN_COMMENT": "Опишите эту функцию…",
"PROCEDURES_DEFRETURN_HELPURL": "https://ru.wikipedia.org/wiki/Функция_(программирование)",

View File

@@ -7,7 +7,8 @@
"Fahimrazick",
"Karuthan",
"Mahir78",
"Thangamani-arun"
"Thangamani-arun",
"தமிழ்நேரம்"
]
},
"VARIABLES_DEFAULT_NAME": "உருப்படி",
@@ -16,11 +17,13 @@
"DUPLICATE_BLOCK": "மறுநகல்",
"ADD_COMMENT": "கருத்தை சேர்",
"REMOVE_COMMENT": "கருத்தை நீக்கு",
"DUPLICATE_COMMENT": "கருத்தை நகலெடு",
"EXTERNAL_INPUTS": "வெளி கருவிகளுடன் உள்ளீடு",
"INLINE_INPUTS": "சூழமைவில் உள்ளீடு",
"DELETE_BLOCK": "உறுப்பை நீக்கு",
"DELETE_X_BLOCKS": "%1 உறுப்பை நீக்கு",
"DELETE_ALL_BLOCKS": "அனைத்து %1 நிரல் துண்டுகளையும் அழிக்கவா??",
"CLEAN_UP": "தொகுதிகளைச் சுத்தம் செய்",
"COLLAPSE_BLOCK": "உறுப்பை மரை",
"COLLAPSE_ALL": "உறுப்புகளை மரை",
"EXPAND_BLOCK": "உறுப்பை காட்டு",
@@ -34,8 +37,12 @@
"RENAME_VARIABLE": "மாறிலியை மறுபெயரிடுக...",
"RENAME_VARIABLE_TITLE": "அனைத்து '%1' மாறிலிகளையும் பின்வருமாறு மறுபெயரிடுக:",
"NEW_VARIABLE": "மாறிலியை உருவாக்குக...",
"NEW_STRING_VARIABLE": "சரம் மாறியை உருவாக்கு...",
"NEW_NUMBER_VARIABLE": "எண் மாறியை உருவாக்கு...",
"NEW_COLOUR_VARIABLE": "வண்ண மாறியை உருவாக்கு...",
"NEW_VARIABLE_TYPE_TITLE": "புதிய மாறிலியின் பெயர்:",
"NEW_VARIABLE_TITLE": "புதிய மாறிலியின் பெயர்:",
"VARIABLE_ALREADY_EXISTS": "'%1' என்ற பெயர் கொண்ட ஒரு மாறி ஏற்கனவே உள்ளது.",
"COLOUR_PICKER_TOOLTIP": "வண்ண தட்டிலிருந்து ஒரு நிறத்தைத் தேர்ந்தெடுக்கவும்.",
"COLOUR_RANDOM_TITLE": "தற்போக்கு நிறம்",
"COLOUR_RANDOM_TOOLTIP": "தற்போக்கில் ஒரு நிறத்தை தேர்ந்தெடுக்கவும்.",

View File

@@ -1,6 +1,7 @@
{
"@metadata": {
"authors": [
"AeyTaiNuea",
"咽頭べさ"
]
},
@@ -71,7 +72,7 @@
"LOGIC_COMPARE_TOOLTIP_GT": "ᥔᥒᥴᥝᥣᥲ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥟᥩᥢᥴᥖᥣᥒᥰ ᥕᥬᥱᥘᥫᥴ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥛᥣᥭᥴᥔᥩᥒᥴᥓᥪᥒᥴ ᥛᥦᥰᥑᥪᥢᥰ ᥞᥬᥲᥛᥣᥢᥱᥛᥦᥢᥲ.",
"LOGIC_COMPARE_TOOLTIP_GTE": "ᥔᥒᥴᥝᥣᥲ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥟᥩᥢᥴᥖᥣᥒᥰ ᥕᥬᥱᥘᥫᥴ ᥟᥛᥱᥢᥢᥴ ᥚᥥᥒᥱᥙᥥᥒᥰ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥛᥣᥭᥴᥔᥩᥒᥴᥓᥪᥒᥴ ᥛᥦᥰᥑᥪᥢᥰ ᥞᥬᥲᥛᥣᥢᥱᥛᥦᥢᥲ.",
"LOGIC_OPERATION_TOOLTIP_AND": "ᥔᥒᥴᥝᥣᥲ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥖᥒᥰᥔᥩᥒᥴᥟᥢᥴ ᥛᥣᥢᥱᥛᥦᥢᥲᥓᥪᥒᥴᥓᥪᥒᥴ ᥛᥦᥰᥑᥪᥢᥰ ᥞᥬᥲᥛᥣᥢᥱᥛᥦᥢᥲ.",
"LOGIC_OPERATION_AND": "ᥘᥦ",
"LOGIC_OPERATION_AND": "ᥘᥦ",
"LOGIC_OPERATION_TOOLTIP_OR": "ᥔᥒᥴᥝᥣᥲ ᥟᥢᥴᥚᥫᥛᥳᥔᥬᥱ ᥐᥛᥰᥘᥪᥢᥰᥔᥧᥖᥰ ᥛᥣᥢᥱᥛᥦᥢᥲᥓᥪᥒᥴ ᥛᥦᥰᥑᥪᥢᥰ ᥞᥬᥲᥛᥣᥢᥱᥛᥦᥢᥲ.",
"LOGIC_OPERATION_OR": "ᥟᥛᥱᥢᥢᥴ",
"LOGIC_NEGATE_TITLE": "ᥟᥛᥱᥓᥬᥲ %1",
@@ -101,8 +102,8 @@
"MATH_SINGLE_TOOLTIP_NEG": "ᥘᥥᥝᥴᥑᥪᥢᥰ ᥟᥢᥴᥔᥣᥢᥴᥑᥖᥰ ᥢᥬᥰ ᥛᥣᥭᥴᥢᥙᥳ.",
"MATH_SINGLE_TOOLTIP_LN": "ᥘᥥᥝᥴᥑᥪᥢᥰ ᥘᥩᥐᥰᥘᥣᥭᥰᥢᥙᥳ ᥢᥬᥰᥛᥣᥭᥴᥢᥙᥳ.",
"MATH_SINGLE_TOOLTIP_LOG10": "ᥘᥥᥝᥴᥑᥪᥢᥰ ᥙᥪᥢᥳᥗᥣᥢᥴ 10 ᥘᥩᥐᥰᥘᥣᥭᥰᥢᥙᥳ ᥢᥬᥰᥛᥣᥭᥴᥢᥙᥳ.",
"MATH_SINGLE_TOOLTIP_EXP": "ᥘᥥᥝᥴᥑᥪᥢᥰ e ᥐᥣᥱᥖᥤ ᥙᥣᥱᥝᥣᥱ ᥬᥰᥛᥣᥭᥴᥙᥳ.",
"MATH_SINGLE_TOOLTIP_POW10": "ᥘᥥᥝᥴᥑᥪᥢᥰ 10 ᥐᥣᥱᥖᥤ ᥙᥣᥱᥝᥣᥱ ᥬᥰᥛᥣᥭᥴᥙᥳ.",
"MATH_SINGLE_TOOLTIP_EXP": "ᥘᥥᥝᥴ ᥑᥪᥢᥰ e ᥐᥣᥱ ᥖᥤ ᥙᥣᥱ ᥝᥣᥱ ᥬᥰ ᥛᥣᥭᥴᥙᥳ.",
"MATH_SINGLE_TOOLTIP_POW10": "ᥘᥥᥝᥴ ᥑᥪᥢᥰ 10 ᥐᥣᥱ ᥖᥤ ᥙᥣᥱ ᥝᥣᥱ ᥬᥰ ᥛᥣᥭᥴᥙᥳ.",
"MATH_IS_EVEN": "ᥙᥥᥢᥴᥐᥨᥙᥳ",
"MATH_IS_ODD": "ᥙᥥᥢᥴᥐᥤᥐᥲ"
}

View File

@@ -17,6 +17,7 @@
"McAang",
"Meelo",
"MuratTheTurkish",
"RuzDD",
"Stonecy",
"Uncitoyen",
"Uğurkent",
@@ -28,7 +29,7 @@
"VARIABLES_DEFAULT_NAME": "öge",
"UNNAMED_KEY": "isimsiz",
"TODAY": "Bugün",
"DUPLICATE_BLOCK": "Yinelenen",
"DUPLICATE_BLOCK": "Yinele",
"ADD_COMMENT": "Yorum Ekle",
"REMOVE_COMMENT": "Yorumu Sil",
"DUPLICATE_COMMENT": "Yinelenen Yorum",
@@ -51,7 +52,7 @@
"RENAME_VARIABLE": "Değişkeni yeniden adlandır...",
"RENAME_VARIABLE_TITLE": "Tüm '%1' değişkenini yeniden adlandır:",
"NEW_VARIABLE": "Değişken oluştur...",
"NEW_STRING_VARIABLE": "Dizi değişkeni oluştur...",
"NEW_STRING_VARIABLE": "Karakter dizisi değişkeni oluştur...",
"NEW_NUMBER_VARIABLE": "Sayı değişkeni oluştur...",
"NEW_COLOUR_VARIABLE": "Renk değişkeni oluştur...",
"NEW_VARIABLE_TYPE_TITLE": "Yeni değişken tipi:",

View File

@@ -9,6 +9,7 @@
"Nguyenvanduocit",
"Nguyễn Mạnh An",
"Qneutron",
"Quangkhanhhuynh",
"SierraNguyen",
"TARGET6tidiem",
"Withoutaname"
@@ -47,6 +48,7 @@
"NEW_VARIABLE_TITLE": "Tên của biến mới:",
"VARIABLE_ALREADY_EXISTS": "Một biến có tên '%1' đã tồn tại.",
"VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Giá trị '%1' đã tồn tại dưới dạng: '%2'.",
"VARIABLE_ALREADY_EXISTS_FOR_A_PARAMETER": "Một biến có tên '%1' đã tồn tại dưới dạng tham số trong quy trình '%2'.",
"DELETE_VARIABLE_CONFIRMATION": "Xóa %1 lần dùng của giá trị '%2'?",
"CANNOT_DELETE_VARIABLE_PROCEDURE": "Không thể xóa giá trị '%1' vì nó được bao gồm trong định nghĩa của chức năng '%2'",
"DELETE_VARIABLE": "Xóa giá trị '%1'",
@@ -324,9 +326,9 @@
"PROCEDURES_ALLOW_STATEMENTS": "cho phép báo cáo",
"PROCEDURES_DEF_DUPLICATE_WARNING": "Chú ý: Thủ tục này có lặp lại tên các tham số.",
"PROCEDURES_CALLNORETURN_HELPURL": "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Chạy một thủ tục không có giá trị hoàn trả.",
"PROCEDURES_CALLNORETURN_TOOLTIP": "Thực hiện hàm được xác định bởi người dùng '%1'.",
"PROCEDURES_CALLRETURN_HELPURL": "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con",
"PROCEDURES_CALLRETURN_TOOLTIP": "Chạy một thủ tục có giá trị hoàn trả.",
"PROCEDURES_CALLRETURN_TOOLTIP": "Thực hiện hàm được xác định bởi người dùng '%1' và sử dụng đầu ra của nó.",
"PROCEDURES_MUTATORCONTAINER_TITLE": "các tham số",
"PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Thêm, xóa hoặc sắp xếp lại các đầu vào cho hàm này.",
"PROCEDURES_MUTATORARG_TITLE": "biến:",

View File

@@ -4,6 +4,7 @@
")8",
"A Chinese Wikipedian",
"Ambeta",
"Anterdc99",
"DGCK81LNN",
"Deathkon",
"Duzc2",
@@ -24,6 +25,7 @@
"WindWood",
"Xiaomingyan",
"Yfdyh000",
"人间百态",
"佛壁灯",
"沈澄心",
"아라"
@@ -125,7 +127,7 @@
"LOGIC_BOOLEAN_TOOLTIP": "返回 true 或 false。",
"LOGIC_NULL": "空",
"LOGIC_NULL_TOOLTIP": "返回空值。",
"LOGIC_TERNARY_HELPURL": "https://zh.wikipedia.org/wiki/条件运算符",
"LOGIC_TERNARY_HELPURL": "https://zh.wikipedia.org/wiki/条件运算符%3F:",
"LOGIC_TERNARY_CONDITION": "断言",
"LOGIC_TERNARY_IF_TRUE": "如果为 true",
"LOGIC_TERNARY_IF_FALSE": "如果为 false",
@@ -278,6 +280,7 @@
"LISTS_INDEX_OF_FIRST": "寻找第一次出现的项",
"LISTS_INDEX_OF_LAST": "寻找最后一次出现的项",
"LISTS_INDEX_OF_TOOLTIP": "返回在列表中的第一/最后一个匹配项的索引值。如果找不到项目则返回%1。",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "取得",
"LISTS_GET_INDEX_GET_REMOVE": "取得并移除",
"LISTS_GET_INDEX_REMOVE": "移除",

View File

@@ -11,6 +11,7 @@
"Kly",
"LNDDYL",
"Liuxinyu970226",
"Sdovan1",
"Sean0115",
"Wehwei",
"列维劳德",
@@ -22,8 +23,8 @@
"VARIABLES_DEFAULT_NAME": "項目",
"UNNAMED_KEY": "未命名",
"TODAY": "今天",
"DUPLICATE_BLOCK": "重複",
"ADD_COMMENT": "加入註解",
"DUPLICATE_BLOCK": "再製",
"ADD_COMMENT": "添加評論",
"REMOVE_COMMENT": "移除註解",
"DUPLICATE_COMMENT": "複製註解",
"EXTERNAL_INPUTS": "外部輸入",
@@ -88,28 +89,28 @@
"CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "跳過這個循環的其餘步驟,並繼續下一次的循環。",
"CONTROLS_FLOW_STATEMENTS_WARNING": "警告:此區塊僅可用於循環內。",
"CONTROLS_IF_TOOLTIP_1": "當值為 true 時,執行一些陳述式。",
"CONTROLS_IF_TOOLTIP_2": "值為是(true就執行第一塊陳述式,否則執行第二塊。",
"CONTROLS_IF_TOOLTIP_2": "如果值為 true 就執行第一塊陳述式,否則執行第二塊。",
"CONTROLS_IF_TOOLTIP_3": "如果第一個值為 true則執行第一塊陳述式。否則當第二個值為 true 時,則執行第二塊陳述式。",
"CONTROLS_IF_TOOLTIP_4": "如果第一個值為 true則執行第一塊陳述式。否則當第二個值為 true 時,則執行第二塊陳述式。如果前幾個敘述都不為 ture則執行最後一塊陳述式。",
"CONTROLS_IF_TOOLTIP_4": "如果第一個值為 true則執行第一塊陳述式。否則當第二個值為 true 時,則執行第二塊陳述式。如果前幾個敘述都不為 true則執行最後一塊陳述式。",
"CONTROLS_IF_MSG_IF": "如果",
"CONTROLS_IF_MSG_ELSEIF": "否則,如果",
"CONTROLS_IF_MSG_ELSE": "否則",
"CONTROLS_IF_IF_TOOLTIP": "添加、刪除或重新排列各部份以重新配置這個「如果」區塊。",
"CONTROLS_IF_ELSEIF_TOOLTIP": "添加條件到「如果」區塊。",
"CONTROLS_IF_ELSE_TOOLTIP": "加一個最終、所有條件都執行的部份到「如果」區塊中。",
"CONTROLS_IF_ELSE_TOOLTIP": "加一個最終、所有條件都執行的部份到「如果」區塊中。",
"LOGIC_COMPARE_HELPURL": "https://zh.wikipedia.org/wiki/不等",
"LOGIC_COMPARE_TOOLTIP_EQ": "如果兩個輸入的結果相等,返回 true。",
"LOGIC_COMPARE_TOOLTIP_NEQ": "如果兩個輸入的結果不相等,返回 true。",
"LOGIC_COMPARE_TOOLTIP_EQ": "如果兩個輸入的結果相等,返回 true。",
"LOGIC_COMPARE_TOOLTIP_NEQ": "如果兩個輸入的結果不相等,返回 true。",
"LOGIC_COMPARE_TOOLTIP_LT": "如果第一個輸入結果比第二個小,返回 true。",
"LOGIC_COMPARE_TOOLTIP_LTE": "如果第一個輸入結果小於或等於第二個,返回 true。",
"LOGIC_COMPARE_TOOLTIP_GT": "如果第一個輸入結果大於第二個,返回 true。",
"LOGIC_COMPARE_TOOLTIP_GTE": "如果第一個輸入結果大於或等於第二個,返回 true。",
"LOGIC_OPERATION_TOOLTIP_AND": "如果兩個輸入結果都為 true則返回 true。",
"LOGIC_OPERATION_AND": "",
"LOGIC_OPERATION_AND": "",
"LOGIC_OPERATION_TOOLTIP_OR": "如果至少一個輸入結果為 true返回 true。",
"LOGIC_OPERATION_OR": "或",
"LOGIC_NEGATE_TITLE": "%1 不成立",
"LOGIC_NEGATE_TOOLTIP": "如果輸入結果是 false則返回 true如果輸入結果是 true則返回 false。",
"LOGIC_NEGATE_TOOLTIP": "如果輸入結果是 false則返回 true如果輸入結果是 true則返回 false。",
"LOGIC_BOOLEAN_TRUE": "真",
"LOGIC_BOOLEAN_FALSE": "假",
"LOGIC_BOOLEAN_TOOLTIP": "返回真或假。",
@@ -203,7 +204,7 @@
"TEXT_TEXT_TOOLTIP": "一個字母、一個字詞或一行字",
"TEXT_JOIN_TITLE_CREATEWITH": "字串組合",
"TEXT_JOIN_TOOLTIP": "通過連接任意數量的項目來建立一串文字。",
"TEXT_CREATE_JOIN_TITLE_JOIN": "加入",
"TEXT_CREATE_JOIN_TITLE_JOIN": "串連",
"TEXT_CREATE_JOIN_TOOLTIP": "添加、刪除或重新排列各部份以重新配置這個文字區塊。",
"TEXT_CREATE_JOIN_ITEM_TOOLTIP": "添加一個項目到字串中。",
"TEXT_APPEND_TITLE": "至 %1 套用文字 %2",
@@ -268,6 +269,7 @@
"LISTS_INDEX_OF_FIRST": "從 最前面 索引項目",
"LISTS_INDEX_OF_LAST": "從 最後面 索引項目",
"LISTS_INDEX_OF_TOOLTIP": "在清單中檢索是否有包含項目,如果有,返回從頭/倒數算起的索引值。如果沒有則返回 %1。",
"LISTS_GET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
"LISTS_GET_INDEX_GET": "取得",
"LISTS_GET_INDEX_GET_REMOVE": "取得並移除",
"LISTS_GET_INDEX_REMOVE": "移除",
@@ -332,6 +334,7 @@
"PROCEDURES_DEFNORETURN_PROCEDURE": "做些什麼",
"PROCEDURES_BEFORE_PARAMS": "與:",
"PROCEDURES_CALL_BEFORE_PARAMS": "與:",
"PROCEDURES_CALL_DISABLED_DEF_WARNING": "無法執行使用者定義的函式「%1」因為定義區塊已停用。",
"PROCEDURES_DEFNORETURN_TOOLTIP": "創建一個無回傳值的函式。",
"PROCEDURES_DEFNORETURN_COMMENT": "描述此函式...",
"PROCEDURES_DEFRETURN_HELPURL": "https://zh.wikipedia.org/wiki/子程式",

View File

@@ -15,7 +15,7 @@ import {
suite('Workspace comment', function () {
setup(function () {
sharedTestSetup.call(this);
this.clock = sharedTestSetup.call(this, {fireEventsNow: false}).clock;
this.workspace = new Blockly.inject('blocklyDiv', {});
});
@@ -31,6 +31,8 @@ suite('Workspace comment', function () {
this.workspace,
);
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentCreate,
@@ -47,6 +49,8 @@ suite('Workspace comment', function () {
this.renderedComment.dispose();
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentDelete,
@@ -63,6 +67,8 @@ suite('Workspace comment', function () {
this.renderedComment.moveTo(new Blockly.utils.Coordinate(42, 42));
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentMove,
@@ -83,6 +89,8 @@ suite('Workspace comment', function () {
this.renderedComment.setText('test text');
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentChange,
@@ -103,6 +111,8 @@ suite('Workspace comment', function () {
this.renderedComment.setCollapsed(true);
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentCollapse,
@@ -123,6 +133,8 @@ suite('Workspace comment', function () {
this.renderedComment.setCollapsed(false);
this.clock.runAll();
assertEventFired(
spy,
Blockly.Events.CommentCollapse,

View File

@@ -275,7 +275,7 @@
console.log(e);
}
function airstrike(n) {
function scatter(n) {
var prototypes = [];
var toolbox = getToolboxElement();
var blocks = toolbox.getElementsByTagName('block');
@@ -440,8 +440,8 @@
.addEventListener('click', () => toCode('Dart'));
document
.getElementById('airstrike')
.addEventListener('click', () => airstrike(100));
.getElementById('scatter')
.addEventListener('click', () => scatter(100));
document
.getElementById('spaghetti-xml')
.addEventListener('click', () => spaghetti(8));
@@ -566,7 +566,7 @@
<p>
Stress test: &nbsp;
<input id="airstrike" type="button" value="Airstrike!" />
<input id="scatter" type="button" value="Scatter!" />
<input id="spaghetti-xml" type="button" value="Spaghetti!" />
<input id="spaghetti-js" type="button" value="JS Spaghetti!" />
</p>

View File

@@ -26,7 +26,6 @@
function createWorkspace(blocklyDiv, options) {
var workspace = Blockly.inject(blocklyDiv, options);
workspace.configureContextMenu = configureContextMenu.bind(workspace);
return workspace;
}
@@ -101,6 +100,8 @@
},
};
Blockly.ContextMenuItems.registerCommentOptions();
createPlayground(
document.getElementById('root'),
createWorkspace,
@@ -125,23 +126,6 @@
document.body.style.backgroundColor = '#d6d6ff'; // Familliar lilac.
}
}
function configureContextMenu(menuOptions, e) {
var workspace = this;
var screenshotOption = {
text: 'Download Screenshot',
enabled: workspace.getTopBlocks().length,
callback: function () {
downloadScreenshot(workspace);
},
};
menuOptions.push(screenshotOption);
// Adds a default-sized workspace comment to the workspace.
menuOptions.push(
Blockly.ContextMenu.workspaceCommentOption(workspace, e),
);
}
start();
</script>

View File

@@ -38,7 +38,8 @@ readonly RELEASE_DIR='dist'
# Q3 2023 10.1.3 898859
# Q4 2023 10.2.2 903535
# Q1 2024 10.3.1 914366
readonly BLOCKLY_SIZE_EXPECTED=914366
# Q2 2024 11.0.0 905365
readonly BLOCKLY_SIZE_EXPECTED=905365
# Size of blocks_compressed.js
# Q2 2019 2.20190722.0 75618
@@ -62,7 +63,8 @@ readonly BLOCKLY_SIZE_EXPECTED=914366
# Q3 2023 10.1.3 90150
# Q4 2023 10.2.2 90269
# Q1 2024 10.3.1 90269
readonly BLOCKS_SIZE_EXPECTED=90269
# Q2 2024 11.0.0 88376
readonly BLOCKS_SIZE_EXPECTED=88376
# Size of blockly_compressed.js.gz
# Q2 2019 2.20190722.0 180925
@@ -87,7 +89,8 @@ readonly BLOCKS_SIZE_EXPECTED=90269
# Q3 2023 10.1.3 180553
# Q4 2023 10.2.2 181474
# Q1 2024 10.3.1 184237
readonly BLOCKLY_GZ_SIZE_EXPECTED=184237
# Q2 2024 11.0.0 182249
readonly BLOCKLY_GZ_SIZE_EXPECTED=182249
# Size of blocks_compressed.js.gz
# Q2 2019 2.20190722.0 14552
@@ -111,7 +114,8 @@ readonly BLOCKLY_GZ_SIZE_EXPECTED=184237
# Q3 2023 10.1.3 16508
# Q4 2023 10.2.2 16442
# Q1 2024 10.3.1 16533
readonly BLOCKS_GZ_SIZE_EXPECTED=16533
# Q2 2024 11.0.0 15815
readonly BLOCKS_GZ_SIZE_EXPECTED=15815
# ANSI colors
readonly BOLD_GREEN='\033[1;32m'