mirror of
https://github.com/google/blockly.git
synced 2026-01-09 18:10:08 +01:00
release: Merge branch 'develop' into rc/v11.0.0
This commit is contained in:
@@ -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.
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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%;
|
||||
}
|
||||
`);
|
||||
|
||||
@@ -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));
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -500,7 +500,7 @@ input[type=number] {
|
||||
margin-right: -24px;
|
||||
}
|
||||
|
||||
.blocklyBlockDragSurface {
|
||||
.blocklyBlockDragSurface, .blocklyAnimationLayer {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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;`,
|
||||
|
||||
@@ -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'])) {
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 |
@@ -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"
|
||||
}
|
||||
|
||||
231
msg/json/el.json
231
msg/json/el.json
@@ -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": "Ακύρωση"
|
||||
}
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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": "همراه جداساز",
|
||||
|
||||
@@ -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": "Aujourd’hui",
|
||||
"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 qu’elle 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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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/함수_(컴퓨터_과학)",
|
||||
|
||||
@@ -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.",
|
||||
|
||||
237
msg/json/ne.json
237
msg/json/ne.json
@@ -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": "हुदैन"
|
||||
}
|
||||
|
||||
@@ -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.",
|
||||
|
||||
@@ -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",
|
||||
|
||||
@@ -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/Функция_(программирование)",
|
||||
|
||||
@@ -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": "தற்போக்கில் ஒரு நிறத்தை தேர்ந்தெடுக்கவும்.",
|
||||
|
||||
@@ -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": "ᥙᥥᥢᥴᥐᥤᥐᥲ"
|
||||
}
|
||||
|
||||
@@ -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:",
|
||||
|
||||
@@ -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:",
|
||||
|
||||
@@ -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": "移除",
|
||||
|
||||
@@ -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/子程式",
|
||||
|
||||
@@ -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,
|
||||
|
||||
@@ -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:
|
||||
<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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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'
|
||||
|
||||
Reference in New Issue
Block a user