From f0383097461be9b791c1deb47e68c989142c37bb Mon Sep 17 00:00:00 2001 From: jmoenig Date: Fri, 20 Feb 2015 12:14:34 +0100 Subject: [PATCH] Malayam, Tamil and Telagu translations, thanks, Vinay Kumar!! --- history.txt | 3 + lang-ml.js | 1282 ++++++++++++++++++++++++++++++++++++++++++++++++++ lang-ta.js | 1283 +++++++++++++++++++++++++++++++++++++++++++++++++++ lang-te.js | 1283 +++++++++++++++++++++++++++++++++++++++++++++++++++ locale.js | 38 +- 5 files changed, 3888 insertions(+), 1 deletion(-) create mode 100644 lang-ml.js create mode 100644 lang-ta.js create mode 100644 lang-te.js diff --git a/history.txt b/history.txt index bac4a70a..eae70127 100755 --- a/history.txt +++ b/history.txt @@ -2435,3 +2435,6 @@ ______ ------ * GUI: Added url switch #cloud: to open a shared project in edit mode +150220 +------ +* Malayam, Tamil and Telagu translations, thanks, Vinay Kumar!! diff --git a/lang-ml.js b/lang-ml.js new file mode 100644 index 00000000..415a280e --- /dev/null +++ b/lang-ml.js @@ -0,0 +1,1282 @@ +/* + + lang-de.js + + German translation for SNAP! + + written by Jens Mönig + + Copyright (C) 2014 by Jens Mönig + + This file is part of Snap!. + + Snap! is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + + + Note to Translators: + -------------------- + At this stage of development, Snap! can be translated to any LTR language + maintaining the current order of inputs (formal parameters in blocks). + + Translating Snap! is easy: + + + 1. Download + + Download the sources and extract them into a local folder on your + computer: + + + + Use the German translation file (named 'lang-de.js') as template for your + own translations. Start with editing the original file, because that way + you will be able to immediately check the results in your browsers while + you're working on your translation (keep the local copy of snap.html open + in your web browser, and refresh it as you progress with your + translation). + + + 2. Edit + + Edit the translation file with a regular text editor, or with your + favorite JavaScript editor. + + In the first non-commented line (the one right below this + note) replace "de" with the two-letter ISO 639-1 code for your language, + e.g. + + fr - French => SnapTranslator.dict.fr = { + it - Italian => SnapTranslator.dict.it = { + pl - Polish => SnapTranslator.dict.pl = { + pt - Portuguese => SnapTranslator.dict.pt = { + es - Spanish => SnapTranslator.dict.es = { + el - Greek => => SnapTranslator.dict.el = { + + etc. (see ) + + + 3. Translate + + Then work through the dictionary, replacing the German strings against + your translations. The dictionary is a straight-forward JavaScript ad-hoc + object, for review purposes it should be formatted as follows: + + { + 'English string': + 'Translation string', + 'last key': + } 'last value' + + and you only edit the indented value strings. Note that each key-value + pair needs to be delimited by a comma, but that there shouldn't be a comma + after the last pair (again, just overwrite the template file and you'll be + fine). + + If something doesn't work, or if you're unsure about the formalities you + should check your file with + + + + This will inform you about any missed commas etc. + + + 4. Accented characters + + Depending on which text editor and which file encoding you use you can + directly enter special characters (e.g. Umlaut, accented characters) on + your keyboard. However, I've noticed that some browsers may not display + special characters correctly, even if other browsers do. So it's best to + check your results in several browsers. If you want to be on the safe + side, it's even better to escape these characters using Unicode. + + see: + + + 5. Block specs: + + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + + + 6. Submit + + When you're done, rename the edited file by replacing the "de" part of the + filename with the two-letter ISO 639-1 code for your language, e.g. + + fr - French => lang-fr.js + it - Italian => lang-it.js + pl - Polish => lang-pl.js + pt - Portuguese => lang-pt.js + es - Spanish => lang-es.js + el - Greek => => lang-el.js + + and send it to me for inclusion in the official Snap! distribution. + Once your translation has been included, Your name will the shown in the + "Translators" tab in the "About Snap!" dialog box, and you will be able to + directly launch a translated version of Snap! in your browser by appending + + lang:xx + + to the URL, xx representing your translations two-letter code. + + + 7. Known issues + + In some browsers accents or ornaments located in typographic ascenders + above the cap height are currently (partially) cut-off. + + Enjoy! + -Jens +*/ + +/*global SnapTranslator*/ + +SnapTranslator.dict.ml = { + +/* + Special characters: (see ) + + Ä, ä \u00c4, \u00e4 + Ö, ö \u00d6, \u00f6 + Ü, ü \u00dc, \u00fc + ß \u00df +*/ + + // translations meta information + 'language_name': + 'Malayalam', // the name as it should appear in the language menu + 'language_translator': + 'vinayakumar R', // your name for the Translators tab + 'translator_e-mail': + 'vnkmr7620@gmail.com', // optional + 'last_changed': + '2015-02-20', // this, too, will appear in the Translators tab + + // GUI + // control bar: + 'untitled': + 'തലക്കെട്ടില്ലാത്ത', + 'development mode': + 'വികസനം സമ്പ്രദായം', + + // categories: + 'Motion': + 'ചലനം', + 'Looks': + 'കാഴ്‌ച', + 'Sound': + 'ശബ്‌ദം', + 'Pen': + 'പേന', + 'Control': + 'നിയന്ത്രണം', + 'Sensing': + 'ഗ്രഹണം', + 'Operators': + 'ക്രിയകള്', + 'Variables': + 'ചരങ്ങള്‍', + 'Lists': + 'പട്ടിക', + 'Other': + 'വേറൊന്ന്', + + // editor: + 'draggable': + 'വലിച്ചിഴയ്‌ക്കുക', + + // tabs: + 'Scripts': + 'ലിപികള്‍', + 'Costumes': + 'വേഷം', + 'Sounds': + 'ശബ്‌ദകള്‍', + + // names: + 'Sprite': + 'ദേവത', + 'Stage': + 'നില', + + // rotation styles: + 'don\'t rotate': + 'തിരികരുത്', + 'can rotate': + 'തിരിക്കാന്‍ കഴിയും', + 'only face left/right': + 'മാത്രം നോകുക ഇടത്‌/വലത്ത്', + + // new sprite button: + 'add a new sprite': + 'പുതിയ ദേവത ചേര്‍ക്കുക', + + // tab help + 'costumes tab help': + 'വേഷം ലഘുപട്ടിക സഹായം', + 'import a sound from your computer\nby dragging it into here': + 'കമ്പ്യൂട്ടറില്‍ നിന്നും ശബ്തം ഇറക്കുമതി\n ഇവിടെ വലിച്ചിട്ടുക', + + // primitive blocks: + + /* + Attention Translators: + ---------------------- + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + */ + + // motion: + 'Stage selected:\nno motion primitives': + 'B\u00fchne ausgew\u00e4hlt:\nkeine Standardbewegungsbl\u00f6cke\n' + + 'vorhanden', + + 'move %n steps': + 'ചലിക്കുക %n പടികള്', + 'turn %clockwise %n degrees': + 'drehe %clockwise %n Grad', + 'turn %counterclockwise %n degrees': + 'drehe %counterclockwise %n Grad', + 'point in direction %dir': + 'ലേക്ക് തിരിയുക %dir', + 'point towards %dst': + 'ലേക്ക് തിരിയുക %dst', + 'go to x: %n y: %n': + 'ലേക്ക് പോവുക x: %n y: %n', + 'go to %dst': + 'ലേക്ക് പോവുക %dst', + 'glide %n secs to x: %n y: %n': + 'സെകന്റില്‍ %n ലേക്ക് നീങ്ങുക x: %n y: %n', + 'change x by %n': + 'xനെ %n കൊണ്ട് മാറ്റുക', + 'set x to %n': + 'xനെ %n ആക്കുക', + 'change y by %n': + 'yനെ %n കൊണ്ട് മാറ്റുക', + 'set y to %n': + 'yനെ %n ആക്കുക', + 'if on edge, bounce': + 'അറ്റത്താണെങ്കില്‍ തിരിച്ചു നടക്കുക', + 'x position': + 'xസ്ഥാന', + 'y position': + 'yസ്ഥാനം', + 'direction': + 'ദിശ', + + // looks: + 'switch to costume %cst': + 'മത്തെ രൂപമാക്കുക %cst', + 'next costume': + 'അടുത്ത രൂപം', + 'costume #': + 'രൂപ #', + 'say %s for %n secs': + '%s %n സെകന്റ് പറയുക', + 'say %s': + '%s പറയുക', + 'think %s for %n secs': + '%n സെകന്റ് %s ചിന്തിക്കുക', + 'think %s': + '%s ചിന്തിക്കുക', + 'Hello!': + 'ഹലോ!', + 'Hmm...': + 'ഹ് മ് മും...', + 'change %eff effect by %n': + '%eff നെ %n കൊണ്ട് മാറ്റുക', + 'set %eff effect to %n': + '%eff എന്ന സ്പെഷല്‍ എഫെക്റ്റ് %n ആക്കുക', + 'clear graphic effects': + 'ഗ്രാഫിക്‌ ഇഫെക്റ്റ്സ് മാറ്റുക', + 'change size by %n': + 'വലിപ്പം %n കൊണ്ട് മാറ്റുക', + 'set size to %n %': + 'വലിപ്പം %n % ആക്കുക', + 'size': + 'വലിപ്', + 'show': + 'പ്രത്യക്ഷമാവുക', + 'hide': + 'ഒളിക്കുക', + 'go to front': + 'ഉപരിതലത്തിലോട്ടു വരിക', + 'go back %n layers': + '%n പാളി അകത്തേക്ക് പോവുക', + + 'development mode \ndebugging primitives:': + 'Hackermodus \nDebugging-Bl\u00f6cke', + 'console log %mult%s': + 'schreibe in die Konsole: %mult%s', + 'alert %mult%s': + 'Pop-up: %mult%s', + + // sound: + 'play sound %snd': + '%snd ശബ്ദമുണ്ടാക്കുക', + 'play sound %snd until done': + 'തീരുന്നതു വരെ %snd ശബ്ദമുണ്ടാക്കുക', + 'stop all sounds': + 'stoppe alle Kl\u00e4nge', + 'rest for %n beats': + '%n ബീറ്റ് സമയം കാത്തിരിക്കുക', + 'play note %n for %n beats': + '%n മത്തെ സ്വരം %n ബീറ്റ്സ് അവതരിപ്പിക്കുക', + 'change tempo by %n': + 'ടെംപോ %n കൊണ്ട് മാറ്റുക', + 'set tempo to %n bpm': + 'ടെംപോ %n ബീറ്റ്സ്/മിനിറ്റ് ആക്കുക', + 'tempo': + 'ടെംപ', + + // pen: + 'clear': + 'മായ്ക്കുക', + 'pen down': + 'വരയ്ക്കാന്‍ തുടങ്ങുക', + 'pen up': + 'വരയുന്നത് നിര്‍ത്തുക', + 'set pen color to %clr': + 'പേനയുടെ നിറം %clr ആക്കുക', + 'change pen color by %n': + 'പേനയുടെ നിറം %n കൊണ്ട് മാറ്റുക', + 'set pen color to %n': + 'പേനയുടെ നിറം %n ആക്കുക', + 'change pen shade by %n': + 'പേനയുടെ ഷേഡ് %n കൊണ്ട് മാറ്റുക', + 'set pen shade to %n': + 'പേനയുടെ ഷേഡ് %n ആക്കുക', + 'change pen size by %n': + 'പേനയുടെ വലിപ്പം %n കൊണ്ട് മാറ്റുക', + 'set pen size to %n': + 'പേനയുടെ വലിപ്പം %n ആക്കുക', + 'stamp': + 'ഒട്ടിക്കുക', + + // control: + 'when %greenflag clicked': + '%greenflag ക്ലിക്ക് ചെയ്യുമ്പോള്‍', + 'when %keyHat key pressed': + '%keyHat കീ അമര്‍ത്തുമ്പോള്‍', + 'when I am clicked': + 'Wenn ich angeklickt werde', + 'when I receive %msgHat': + 'ഞാന്‍ %msgHat സ്വീകരിക്കുമ്പോള്‍', + 'broadcast %msg': + '%msg വിളംബരം ചെയ്യുക', + 'broadcast %msg and wait': + '%msg വിളംബരം ചെയ്തു കാത്തിരിക്കുക', + 'Message name': + 'സന്ദേശത്തിന്റെ പേര്', + 'message': + 'സന്ദേശത്തിന്റ', + 'any message': + 'eine beliebige Nachricht', + 'wait %n secs': + '%n സെകന്റ് കാത്തിരിക്കുക', + 'wait until %b': + '%b ആവുന്നത് വരെ കാത്തിരിക്കുക', + 'forever %c': + 'എല്ലായ്പ്പോഴു %c', + 'repeat %n %c': + 'തവണ ആവര്‍ത്തിക്കുക %n %c', + 'repeat until %b %c': + '%b %c ആവുന്നത് വരെ ആവര്‍ത്തിക്കുക', + 'if %b %c': + '%b %c ആണെങ്കില്‍', + 'if %b %c else %c': + '%b %c ആണെങ്കില്‍ അല്ലെങ്കില്‍ %c', + 'report %s': + 'berichte %s', + 'stop %stopChoices': + 'നിര്‍ത്തുക %stopChoices', + 'all': + 'എല്ലാ', + 'this script': + 'ഈ സീരിയല്‍ ', + 'this block': + 'ഈ ബ്ലോക്കുകള്‍', + 'stop %stopOthersChoices': + 'നിര്‍ത്തുക %stopOthersChoices', + 'all but this script': + 'alles au\u00dfer diesem Skript', + 'other scripts in sprite': + 'andere Skripte in diesem Objekt', + 'pause all %pause': + 'pausiere alles %pause', + 'run %cmdRing %inputs': + 'f\u00fchre %cmdRing aus %inputs', + 'launch %cmdRing %inputs': + 'starte %cmdRing %inputs', + 'call %repRing %inputs': + 'rufe %repRing auf %inputs', + 'run %cmdRing w/continuation': + 'f\u00fchre %cmdRing mit Continuation aus', + 'call %cmdRing w/continuation': + 'rufe %cmdRing mit Continuation auf', + 'warp %c': + 'Warp %c', + 'when I start as a clone': + 'Wenn ich geklont werde', + 'create a clone of %cln': + 'klone %cln', + 'myself': + 'mich', + 'delete this clone': + 'entferne diesen Klon', + + // sensing: + 'touching %col ?': + '%col തൊടുന്നുണ്ടോ?', + 'touching %clr ?': + '%clr തൊടുന്നുണ്ടോ?', + 'color %clr is touching %clr ?': + '%clr കളര്‍ %clr നെ തൊടുന്നുണ്ടോ?', + 'ask %s and wait': + '%s ചോദിച്ചു കാത്തിരിക്കുക', + 'what\'s your name?': + 'താങ്കളുടെ പേര് എന്താണ്?', + 'answer': + 'ഉത്തര', + 'mouse x': + 'മൗസിന്റെ x സ്ഥാന', + 'mouse y': + 'മൗസിന്റെ y സ്ഥാന', + 'mouse down?': + 'മൗസ് താഴെയാണോ?', + 'key %key pressed?': + '%key കീ അമര്‍ത്തിയോ?', + 'distance to %dst': + '%dst ലേക്കുള്ള ദൂരം', + 'reset timer': + 'ടൈമര്‍ വീണ്ടും തുടങ്ങുക', + 'timer': + 'ടൈമര്‍', + '%att of %spr': + '%att ന്‍റ %spr', + 'http:// %s': + 'http:// %s', + 'turbo mode?': + 'Turbomodus?', + 'set turbo mode to %b': + 'setze Turbomodus auf %b', + + 'filtered for %clr': + 'nach %clr gefiltert', + 'stack size': + 'Stapelgr\u00f6\u00dfe', + 'frames': + 'Rahmenz\u00e4hler', + + // operators: + '%n mod %n': + '%n ശിഷ് %n', + 'round %n': + '%n റൗണ്ട് ചെയ്യുക', + '%fun of %n': + '%fun ന്‍റ %n', + 'pick random %n to %n': + '%n മുതല്‍ %n വരെയുള്ള ഏതെങ്കിലും സംഖ്യ എടുക്കുക', + '%b and %b': + '%b കൂടാത %b', + '%b or %b': + '%b അഥവ %b', + 'not %b': + '%b അല്ല', + 'true': + 'ശര', + 'false': + 'തെറ്റ്', + 'join %words': + 'മായി യോജിപ്പിക്കുക %words', + 'split %s by %delim': + 'trenne %s nach %delim', + 'hello': + 'ഹലോ', + 'world': + 'ലോകം', + 'letter %n of %s': + '%s ന്‍റെ %n മത്തെ അക്ഷരം', + 'length of %s': + '%s ന്‍റെ നീള', + 'unicode of %s': + 'Unicode Wert von %s', + 'unicode %n as letter': + 'Unicode %n als Buchstabe', + 'is %s a %typ ?': + 'ist %s ein(e) %typ ?', + 'is %s identical to %s ?': + 'ist %s identisch mit %s ?', + + 'type of %s': + 'Typ von %s', + + // variables: + 'Make a variable': + 'ഒരു ചരം ഉണ്ടാക്കുക', + 'Variable name': + 'ചരത്തിന്റെ പേര്', + 'Script variable name': + 'കോഡ് ചരത്തിന്റെ പേര്', + 'Delete a variable': + 'ഒരു ചരം ഡിലീറ്റ് ചെയ്യുക', + + 'set %var to %s': + '%var നെ %s ആക്കി മാറ്റുക', + 'change %var by %n': + '%var നെ %n കൊണ്ട് മാറ്റുക', + 'show variable %var': + '%var എന്ന ചരം കാണിക്കുക', + 'hide variable %var': + '%var എന്ന ചരത്തെ ഒളിപ്പിച്ചു വയ്ക്കുക', + 'script variables %scriptVars': + 'Skriptvariablen %scriptVars', + + // lists: + 'list %exp': + 'Liste %exp', + '%s in front of %l': + '%s am Anfang von %l', + 'item %idx of %l': + 'Element %idx von %l', + 'all but first of %l': + 'alles au\u00dfer dem ersten von %l', + 'length of %l': + 'L\u00e4nge von %l', + '%l contains %s': + '%l enth\u00e4lt %s', + 'thing': + 'etwas', + 'add %s to %l': + 'f\u00fcge %s zu %l hinzu', + 'delete %ida of %l': + 'entferne %ida aus %l', + 'insert %s at %idx of %l': + 'f\u00fcge %s als %idx in %l ein', + 'replace item %idx of %l with %s': + 'ersetze Element %idx in %l durch %s', + + // other + 'Make a block': + 'Neuer Block', + + // menus + // snap menu + 'About...': + '\u00dcber Snap!...', + 'Reference manual': + 'Handbuch lesen', + 'Snap! website': + 'Snap! Webseite', + 'Download source': + 'Quellcode runterladen', + 'Switch back to user mode': + 'zur\u00fcck zum Benutzermodus', + 'disable deep-Morphic\ncontext menus\nand show user-friendly ones': + 'verl\u00e4sst Morphic', + 'Switch to dev mode': + 'zum Hackermodus wechseln', + 'enable Morphic\ncontext menus\nand inspectors,\nnot user-friendly!': + 'erm\u00f6glicht Morphic Funktionen', + + // project menu + 'Project notes...': + 'പ്രോജെക്റ്റ്‌ കുറിപ്പുകള്‍....', + 'New': + 'പുതിയ', + 'Open...': + 'ഓപ്പണ്‍ ചെയ്യുക...', + 'Save': + 'സേവ് ചെയ്യുക', + 'Save As...': + 'എന്ന് സേവ് ചെയ്യുക...', + 'Import...': + 'കൊണ്ടുവരിക...', + 'file menu import hint': + 'l\u00e4dt ein exportiertes Projekt,\neine Bibliothek mit ' + + 'Bl\u00f6cken\n' + + 'ein Kost\u00fcm oder einen Klang', + 'Export project as plain text...': + 'Projekt als normalen Text exportieren...', + 'Export project...': + 'Projekt exportieren...', + 'show project data as XML\nin a new browser window': + 'zeigt das Projekt als XML\nin einem neuen Browserfenster an', + 'Export blocks...': + 'Bl\u00f6cke exportieren...', + 'show global custom block definitions as XML\nin a new browser window': + 'zeigt globale Benutzerblockdefinitionen\nals XML im Browser an', + 'Import tools': + 'Tools laden', + 'load the official library of\npowerful blocks': + 'das offizielle Modul mit\nm\u00e4chtigen Bl\u00f6cken laden', + 'Libraries...': + 'Module...', + 'Import library': + 'Modul laden', + + // cloud menu + 'Login...': + 'Anmelden...', + 'Signup...': + 'Benutzerkonto einrichten...', + + // settings menu + 'Language...': + 'ഭാഷ...', + 'Zoom blocks...': + 'Bl\u00f6cke vergr\u00f6\u00dfern...', + 'Stage size...': + 'സ്റ്റേജ് വലിപ്...', + 'Stage size': + 'സ്റ്റേജ് വലിപ്', + 'Stage width': + 'B\u00fchnenbreite', + 'Stage height': + 'B\u00fchnenh\u00f6he', + 'Default': + 'Normal', + 'Blurred shadows': + 'Weiche Schatten', + 'uncheck to use solid drop\nshadows and highlights': + 'abschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'check to use blurred drop\nshadows and highlights': + 'einschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'Zebra coloring': + 'Zebrafarben', + 'check to enable alternating\ncolors for nested blocks': + 'einschalten \u00fcr abwechselnde Farbnuancen\nin Bl\u00f6cken', + 'uncheck to disable alternating\ncolors for nested block': + 'ausschalten verhindert abwechselnde\nFarbnuancen in Bl\u00f6cken', + 'Dynamic input labels': + 'Eingabenbeschriftung', + 'uncheck to disable dynamic\nlabels for variadic inputs': + 'ausschalten verhindert Beschriftung\nvon Mehrfacheingaben', + 'check to enable dynamic\nlabels for variadic inputs': + 'einschalten um Mehrfacheingabefelder\nautomatisch zu beschriften', + 'Prefer empty slot drops': + 'Leere Platzhalter bevorzugen', + 'settings menu prefer empty slots hint': + 'einschalten um leere Platzhalter\nbeim Platzieren von Bl\u00f6cken' + + 'zu bevorzugen', + 'uncheck to allow dropped\nreporters to kick out others': + 'ausschalten um das "Rauskicken"\nvon platzierten Bl\u00f6cken\n' + + 'zu erm\u00f6glichen', + 'Long form input dialog': + 'Ausf\u00fchrlicher Input-Dialog', + 'Plain prototype labels': + 'Einfache Prototyp-Beschriftung', + 'uncheck to always show (+) symbols\nin block prototype labels': + 'ausschalten, um (+) Zeichen\nim Blockeditor zu verbergen', + 'check to hide (+) symbols\nin block prototype labels': + 'einschalten, um (+) Zeichen\nim Blockeditor immer anzuzeigen', + 'check to always show slot\ntypes in the input dialog': + 'einschalten, um immer die Datentypen\nim Input-Dialog zu sehen', + 'uncheck to use the input\ndialog in short form': + 'ausschalten f\u00fcr kurzen\nInput-Dialog', + 'Virtual keyboard': + 'Virtuelle Tastatur', + 'uncheck to disable\nvirtual keyboard support\nfor mobile devices': + 'ausschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu sperren', + 'check to enable\nvirtual keyboard support\nfor mobile devices': + 'einschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu erm\u00f6glichen', + 'Input sliders': + 'Eingabeschieber', + 'uncheck to disable\ninput sliders for\nentry fields': + 'ausschalten um Schieber\nin Eingabefeldern zu verhindern', + 'check to enable\ninput sliders for\nentry fields': + 'einschalten um Schieber\nin Eingabefeldern zu aktivieren', + 'Clicking sound': + 'Akustisches Klicken', + 'uncheck to turn\nblock clicking\nsound off': + 'ausschalten um akustisches\nKlicken zu deaktivieren', + 'check to turn\nblock clicking\nsound on': + 'einschalten um akustisches\nKlicken zu aktivieren', + 'Animations': + 'Animationen', + 'uncheck to disable\nIDE animations': + 'ausschalten um IDE-\nAnimationen zu verhindern', + 'Turbo mode': + 'Turbomodus', + 'check to prioritize\nscript execution': + 'einschalten, um Skripte\nzu priorisieren', + 'uncheck to run scripts\nat normal speed': + 'ausschalten, um Skripte\nnormal auszuf\u00fchren', + 'check to enable\nIDE animations': + 'einschalten um IDE-\nAnimationen zu erlauben', + 'Thread safe scripts': + 'Threadsicherheit', + 'uncheck to allow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'check to disallow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'Prefer smooth animations': + 'Fixe Framerate', + 'uncheck for greater speed\nat variable frame rates': + 'ausschalten, um Animationen \ndynamischer auszuf\u00fchren', + 'check for smooth, predictable\nanimations across computers': + 'einschalten, damit Animationen\n\u00fcberall gleich laufen', + 'Flat line ends': + 'Flache Pinselstriche', + 'check for flat ends of lines': + 'einschalten f\u00fcr flache\nPinselstrichenden', + 'uncheck for round ends of lines': + 'auschalten f\u00fcr runde\nPinselstrichenden', + + // inputs + 'with inputs': + 'mit Eingaben', + 'input names:': + 'Eingaben:', + 'Input Names:': + 'Eingaben:', + 'input list:': + 'Eingabeliste:', + + // context menus: + 'help': + 'സഹായ', + + // palette: + 'hide primitives': + 'Basisbl\u00f6cke ausblenden', + 'show primitives': + 'Basisbl\u00f6cke anzeigen', + + // blocks: + 'help...': + 'സഹായ...', + 'relabel...': + 'Umbenennen...', + 'duplicate': + 'ഡ്യൂപ്ലിക്കേറ്റ്‌', + 'make a copy\nand pick it up': + 'eine Kopie aufnehmen', + 'only duplicate this block': + 'nur diesen Block duplizieren', + 'delete': + 'ഡിലീറ്റ് ചെയ്യുക', + 'script pic...': + 'Skriptbild...', + 'open a new window\nwith a picture of this script': + 'ein neues Browserfenster mit einem\nBild dieses Skripts \u00f6ffnen', + 'ringify': + 'Umringen', + 'unringify': + 'Entringen', + + // custom blocks: + 'delete block definition...': + 'Blockdefinition l\u00f6schen', + 'edit...': + 'Bearbeiten...', + + // sprites: + 'edit': + 'എഡിറ്റ്‌', + 'move': + 'നീങ്ങുക', + 'detach from': + 'Abtrennen von', + 'detach all parts': + 'Alle Teile abtrennen', + 'export...': + 'കൊടുത്തയയ്ക്കുക...', + + // stage: + 'show all': + 'Alles zeigen', + 'pic...': + 'Bild exportieren...', + 'open a new window\nwith a picture of the stage': + 'ein neues Browserfenster mit einem\nBild der B\u00fchne \u00f6ffnen', + + // scripting area + 'clean up': + 'Aufr\u00e4umen', + 'arrange scripts\nvertically': + 'Skripte der Reihe nach\nanordnen', + 'add comment': + 'Anmerkung hinzuf\u00fcgen', + 'undrop': + 'R\u00fcckg\u00e4ngig', + 'undo the last\nblock drop\nin this pane': + 'Setzen des letzten Blocks\nwiderrufen', + 'scripts pic...': + 'Bild aller Scripte...', + 'open a new window\nwith a picture of all scripts': + 'ein neues Browserfenster mit einem\nBild aller Skripte \u00f6ffnen', + 'make a block...': + 'Neuen Block bauen...', + + // costumes + 'rename': + 'Umbenennen', + 'export': + 'കൊടുത്തയയ്ക്കുക', + 'rename costume': + 'Kost\u00fcm umbenennen', + + // sounds + 'Play sound': + 'ശബ്ദമുണ്ടാക്കുക', + 'Stop sound': + 'Klang\nanhalten', + 'Stop': + 'Halt', + 'Play': + 'തുടങ്ങുക', + 'rename sound': + 'Klang umbenennen', + + // dialogs + // buttons + 'OK': + 'ഓക', + 'Ok': + 'ഓക', + 'Cancel': + 'ക്യാന്‍സല്‍ ചെയ്യുക', + 'Yes': + 'അതെ', + 'No': + 'അല്ല', + + // help + 'Help': + 'സഹായ', + + // zoom blocks + 'Zoom blocks': + 'Bl\u00f6cke vergr\u00f6\u00dfern', + 'build': + 'baue', + 'your own': + 'eigene', + 'blocks': + 'Bl\u00f6cke', + 'normal (1x)': + 'normal (1x)', + 'demo (1.2x)': + 'Demo (1.2x)', + 'presentation (1.4x)': + 'Pr\u00e4sentation (1.4x)', + 'big (2x)': + 'gro\u00df (2x)', + 'huge (4x)': + 'riesig (4x)', + 'giant (8x)': + 'gigantisch (8x)', + 'monstrous (10x)': + 'ungeheuerlich (10x)', + + // Project Manager + 'Untitled': + 'Unbenannt', + 'Open Project': + 'പ്രോജെക്റ്റ്‌ ഓപ്പണ്‍ ചെയ്യുക', + '(empty)': + '(leer)', + 'Saved!': + 'Gesichert!', + 'Delete Project': + 'Projekt l\u00f6schen', + 'Are you sure you want to delete': + 'Wirklich l\u00f6schen?', + 'rename...': + 'Umbenennen...', + + // costume editor + 'Costume Editor': + 'Kost\u00fcmeditor', + 'click or drag crosshairs to move the rotation center': + 'Fadenkreuz anklicken oder bewegen um den Drehpunkt zu setzen', + + // project notes + 'Project Notes': + 'പ്രോജെക്റ്റ്‌ കുറിപ്പുകള്‍', + + // new project + 'New Project': + 'Neues Projekt', + 'Replace the current project with a new one?': + 'Das aktuelle Projekt durch ein neues ersetzen?', + + // save project + 'Save Project As...': + 'Projekt Sichern Als...', + + // export blocks + 'Export blocks': + 'Bl\u00f6cke exportieren', + 'Import blocks': + 'Bl\u00f6cke importieren', + 'this project doesn\'t have any\ncustom global blocks yet': + 'in diesem Projekt gibt es noch keine\nglobalen Bl\u00f6cke', + 'select': + 'ausw\u00e4hlen', + 'none': + 'nichts', + + // variable dialog + 'for all sprites': + 'f\u00fcr alle', + 'for this sprite only': + 'nur f\u00fcr dieses Objekt', + + // block dialog + 'Change block': + 'Block ver\u00e4ndern', + 'Command': + 'Befehl', + 'Reporter': + 'Funktion', + 'Predicate': + 'Pr\u00e4dikat', + + // block editor + 'Block Editor': + 'Blockeditor', + 'Apply': + 'Anwenden', + + // block deletion dialog + 'Delete Custom Block': + 'Block L\u00f6schen', + 'block deletion dialog text': + 'Soll dieser Block mit allen seinen Exemplare\n' + + 'wirklich gel\u00f6scht werden?', + + // input dialog + 'Create input name': + 'Eingabe erstellen', + 'Edit input name': + 'Eingabe bearbeiten', + 'Edit label fragment': + 'Beschriftung bearbeiten', + 'Title text': + 'Beschriftung', + 'Input name': + 'Eingabe', + 'Delete': + 'L\u00f6schen', + 'Object': + 'Objekt', + 'Number': + 'Zahl', + 'Text': + 'Text', + 'List': + 'Liste', + 'Any type': + 'Beliebig', + 'Boolean (T/F)': + 'Boolsch (W/F)', + 'Command\n(inline)': + 'Befehl', + 'Command\n(C-shape)': + 'Befehl\n(C-Form)', + 'Any\n(unevaluated)': + 'Beliebig\n(zitiert)', + 'Boolean\n(unevaluated)': + 'Boolsch\n(zitiert)', + 'Single input.': + 'Einzeleingabe.', + 'Default Value:': + 'Standardwert:', + 'Multiple inputs (value is list of inputs)': + 'Mehrere Eingaben (als Liste)', + 'Upvar - make internal variable visible to caller': + 'Interne Variable au\u00dfen sichtbar machen', + + // About Snap + 'About Snap': + '\u00dcber Snap', + 'Back...': + 'Zur\u00fcck...', + 'License...': + 'Lizenz...', + 'Modules...': + 'Komponenten...', + 'Credits...': + 'Mitwirkende...', + 'Translators...': + '\u00dcbersetzer', + 'License': + 'Lizenz', + 'current module versions:': + 'Komponenten-Versionen', + 'Contributors': + 'Mitwirkende', + 'Translations': + '\u00dcbersetzungen', + + // variable watchers + 'normal': + 'normal', + 'large': + 'gro\u00df', + 'slider': + 'Regler', + 'slider min...': + 'Minimalwert...', + 'slider max...': + 'Maximalwert...', + 'import...': + 'Importieren...', + 'Slider minimum value': + 'Minimalwert des Reglers', + 'Slider maximum value': + 'Maximalwert des Reglers', + + // list watchers + 'length: ': + 'L\u00e4nge: ', + + // coments + 'add comment here...': + 'Anmerkung hier hinzuf\u00fcgen', + + // drow downs + // directions + '(90) right': + '(90) rechts', + '(-90) left': + '(-90) links', + '(0) up': + '(0) oben', + '(180) down': + '(180) unten', + + // collision detection + 'mouse-pointer': + 'Mauszeiger', + 'edge': + 'Kante', + 'pen trails': + 'Malspuren', + + // costumes + 'Turtle': + 'Richtungszeiger', + 'Empty': + 'Leer', + + // graphical effects + 'brightness': + 'Helligeit', + 'ghost': + 'Durchsichtigkeit', + 'negative': + 'Farbumkehr', + 'comic': + 'Moire', + 'confetti': + 'Farbverschiebung', + + // keys + 'space': + 'Leertaste', + 'up arrow': + 'Pfeil nach oben', + 'down arrow': + 'Pfeil nach unten', + 'right arrow': + 'Pfeil nach rechts', + 'left arrow': + 'Pfeil nach links', + 'a': + 'a', + 'b': + 'b', + 'c': + 'c', + 'd': + 'd', + 'e': + 'e', + 'f': + 'f', + 'g': + 'g', + 'h': + 'h', + 'i': + 'i', + 'j': + 'j', + 'k': + 'k', + 'l': + 'l', + 'm': + 'm', + 'n': + 'n', + 'o': + 'o', + 'p': + 'p', + 'q': + 'q', + 'r': + 'r', + 's': + 's', + 't': + 't', + 'u': + 'u', + 'v': + 'v', + 'w': + 'w', + 'x': + 'x', + 'y': + 'y', + 'z': + 'z', + '0': + '0', + '1': + '1', + '2': + '2', + '3': + '3', + '4': + '4', + '5': + '5', + '6': + '6', + '7': + '7', + '8': + '8', + '9': + '9', + + // messages + 'new...': + 'Neu...', + + // math functions + 'abs': + 'Betrag', + 'floor': + 'Abgerundet', + 'sqrt': + 'Wurzel', + 'sin': + 'sin', + 'cos': + 'cos', + 'tan': + 'tan', + 'asin': + 'asin', + 'acos': + 'acos', + 'atan': + 'atan', + 'ln': + 'ln', + 'e^': + 'e^', + + // delimiters + 'letter': + 'Buchstabe', + 'whitespace': + 'Leerraum', + 'line': + 'Zeilenvorschub', + 'tab': + 'Tabulator', + 'cr': + 'Wagenr\u00fccklauf', + + // data types + 'number': + 'Zahl', + 'text': + 'Text', + 'Boolean': + 'Boole', + 'list': + 'Liste', + 'command': + 'Befehlsblock', + 'reporter': + 'Funktionsblock', + 'predicate': + 'Pr\u00e4dikat', + + // list indices + 'last': + 'letztes', + 'any': + 'beliebiges' +}; diff --git a/lang-ta.js b/lang-ta.js new file mode 100644 index 00000000..c672e918 --- /dev/null +++ b/lang-ta.js @@ -0,0 +1,1283 @@ +/* + + lang-de.js + + German translation for SNAP! + + written by Jens Mönig + + Copyright (C) 2014 by Jens Mönig + + This file is part of Snap!. + + Snap! is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + + + Note to Translators: + -------------------- + At this stage of development, Snap! can be translated to any LTR language + maintaining the current order of inputs (formal parameters in blocks). + + Translating Snap! is easy: + + + 1. Download + + Download the sources and extract them into a local folder on your + computer: + + + + Use the German translation file (named 'lang-de.js') as template for your + own translations. Start with editing the original file, because that way + you will be able to immediately check the results in your browsers while + you're working on your translation (keep the local copy of snap.html open + in your web browser, and refresh it as you progress with your + translation). + + + 2. Edit + + Edit the translation file with a regular text editor, or with your + favorite JavaScript editor. + + In the first non-commented line (the one right below this + note) replace "de" with the two-letter ISO 639-1 code for your language, + e.g. + + fr - French => SnapTranslator.dict.fr = { + it - Italian => SnapTranslator.dict.it = { + pl - Polish => SnapTranslator.dict.pl = { + pt - Portuguese => SnapTranslator.dict.pt = { + es - Spanish => SnapTranslator.dict.es = { + el - Greek => => SnapTranslator.dict.el = { + + etc. (see ) + + + 3. Translate + + Then work through the dictionary, replacing the German strings against + your translations. The dictionary is a straight-forward JavaScript ad-hoc + object, for review purposes it should be formatted as follows: + + { + 'English string': + 'Translation string', + 'last key': + } 'last value' + + and you only edit the indented value strings. Note that each key-value + pair needs to be delimited by a comma, but that there shouldn't be a comma + after the last pair (again, just overwrite the template file and you'll be + fine). + + If something doesn't work, or if you're unsure about the formalities you + should check your file with + + + + This will inform you about any missed commas etc. + + + 4. Accented characters + + Depending on which text editor and which file encoding you use you can + directly enter special characters (e.g. Umlaut, accented characters) on + your keyboard. However, I've noticed that some browsers may not display + special characters correctly, even if other browsers do. So it's best to + check your results in several browsers. If you want to be on the safe + side, it's even better to escape these characters using Unicode. + + see: + + + 5. Block specs: + + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + + + 6. Submit + + When you're done, rename the edited file by replacing the "de" part of the + filename with the two-letter ISO 639-1 code for your language, e.g. + + fr - French => lang-fr.js + it - Italian => lang-it.js + pl - Polish => lang-pl.js + pt - Portuguese => lang-pt.js + es - Spanish => lang-es.js + el - Greek => => lang-el.js + + and send it to me for inclusion in the official Snap! distribution. + Once your translation has been included, Your name will the shown in the + "Translators" tab in the "About Snap!" dialog box, and you will be able to + directly launch a translated version of Snap! in your browser by appending + + lang:xx + + to the URL, xx representing your translations two-letter code. + + + 7. Known issues + + In some browsers accents or ornaments located in typographic ascenders + above the cap height are currently (partially) cut-off. + + Enjoy! + -Jens +*/ + +/*global SnapTranslator*/ + +SnapTranslator.dict.ta = { + +/* + Special characters: (see ) + + Ä, ä \u00c4, \u00e4 + Ö, ö \u00d6, \u00f6 + Ü, ü \u00dc, \u00fc + ß \u00df +*/ + + // translations meta information + 'language_name': + 'Tamil', // the name as it should appear in the language menu + 'language_translator': + 'vinayakumar R', // your name for the Translators tab + 'translator_e-mail': + 'vnkmr7620@gmail.com', // optional + 'last_changed': + '2015-02-20', // this, too, will appear in the Translators tab + + // GUI + // control bar: + 'untitled': + 'Unbenannt', + 'development mode': + 'Hackermodus', + + // categories: + 'Motion': + 'நகர்ச்ச', + 'Looks': + 'தோற்றம்', + 'Sound': + 'ஒல', + 'Pen': + 'பேனா', + 'Control': + 'கன்ட்ரொல்', + 'Sensing': + 'உணருதல்', + 'Operators': + 'ஆபரேட்டர்கள்', + 'Variables': + 'வேரியபில்கள்', + 'Lists': + 'பட்டியல்', + 'Other': + 'Andere', + + // editor: + 'draggable': + 'greifbar', + + // tabs: + 'Scripts': + 'Skripte', + 'Costumes': + 'உடைகள்', + 'Sounds': + 'ஒலஒல', + + // names: + 'Sprite': + 'Objekt', + 'Stage': + 'மேட', + + // rotation styles: + 'don\'t rotate': + 'சுழற்றாத', + 'can rotate': + 'சுழற்ற முடியும்', + 'only face left/right': + 'kann sich nur nach\nlinks/rechts drehen', + + // new sprite button: + 'add a new sprite': + 'ein neues Objekt\nhinzuf\u00fcgen', + + // tab help + 'costumes tab help': + 'Bilder durch hereinziehen von einer anderen\n' + + 'Webseite or vom Computer importieren', + 'import a sound from your computer\nby dragging it into here': + 'Kl\u00e4nge durch hereinziehen importieren', + + // primitive blocks: + + /* + Attention Translators: + ---------------------- + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + */ + + // motion: + 'Stage selected:\nno motion primitives': + 'B\u00fchne ausgew\u00e4hlt:\nkeine Standardbewegungsbl\u00f6cke\n' + + 'vorhanden', + + 'move %n steps': + '%n அடிகள் நகரவும்', + 'turn %clockwise %n degrees': + 'drehe %clockwise %n Grad', + 'turn %counterclockwise %n degrees': + 'drehe %counterclockwise %n Grad', + 'point in direction %dir': + '%dir திசையை சுட்டிக்கட்டவும்', + 'point towards %dst': + '%dst நோக்கி சுட்டிக்கட்டவும்', + 'go to x: %n y: %n': + 'x: %n y: %n க்கு செல்லவும்', + 'go to %dst': + '%dst க்கு செல்லவும்', + 'glide %n secs to x: %n y: %n': + 'gleite %n Sek. zu x: %n y: %n', + 'change x by %n': + 'x %n அளவு மாற்றவும்', + 'set x to %n': + 'x %n ஆக்கவும்', + 'change y by %n': + 'y %n அளவு மாற்றவும்', + 'set y to %n': + 'y %n ஆக்கவும்', + 'if on edge, bounce': + 'pralle vom Rand ab', + 'x position': + 'x இடம்', + 'y position': + 'y இடம்', + 'direction': + 'திச', + + // looks: + 'switch to costume %cst': + '%cst உடைக்கு மாற்ற', + 'next costume': + 'அடுத்த உட', + 'costume #': + 'உட #', + 'say %s for %n secs': + '%n விநாடிகள் %s சொல்', + 'say %s': + '%s சொல்', + 'think %s for %n secs': + '%n விநாடிகள் %s யோச', + 'think %s': + '%s யோச', + 'Hello!': + 'வணக்கம்!', + 'Hmm...': + 'Hmm...', + 'change %eff effect by %n': + '\u00e4ndere %eff -Effekt um %n', + 'set %eff effect to %n': + 'setze %eff -Effekt auf %n', + 'clear graphic effects': + 'க்ராபிக்ஸ் எபெக்ட்டை அழித்து விடு', + 'change size by %n': + 'கன அளவை %n அளவு மாற்றவும்', + 'set size to %n %': + 'கனம் %n % ஆக்கவும்', + 'size': + 'பரிமாணம்', + 'show': + 'காண்ப', + 'hide': + 'மறைக்கவும்', + 'go to front': + 'முன் செல்லவும்', + 'go back %n layers': + '%n அடுக்குகள் பின்னால் செல்லவும்', + + 'development mode \ndebugging primitives:': + 'Hackermodus \nDebugging-Bl\u00f6cke', + 'console log %mult%s': + 'schreibe in die Konsole: %mult%s', + 'alert %mult%s': + 'Pop-up: %mult%s', + + // sound: + 'play sound %snd': + '%snd ஒலிக்கவும்', + 'play sound %snd until done': + 'நிற்க்கும் வரை %snd ஒலிக்கவும்', + 'stop all sounds': + 'எல்லா ஒலிகளையும் நிருத்த', + 'rest for %n beats': + '%n தாள தட்டு காத்திருக்கவும்', + 'play note %n for %n beats': + '%n ஸ்வரம் %n தாள தட்டு வாசிக்கவும்', + 'change tempo by %n': + '%n அளவு தாளத்தை மாற்றவும்', + 'set tempo to %n bpm': + 'தாளம் %n bpm ஆக்கவும்', + 'tempo': + 'தாளம்', + + // pen: + 'clear': + 'அழ', + 'pen down': + 'பேனா கீழே', + 'pen up': + 'பேனா மேல', + 'set pen color to %clr': + 'பேனா நிரம் %clr ஆக்கவும்', + 'change pen color by %n': + 'பேனா நிறத்தை %n அளவு மாற்றவும்', + 'set pen color to %n': + 'பேனா நிரம் %n ஆக்கவும்', + 'change pen shade by %n': + 'பேனா ஷெடை %n அளவு மாற்றவும்', + 'set pen shade to %n': + 'பேனா ஷேட் %n ஆக்கவும்', + 'change pen size by %n': + 'பேனா கன அளவை %n அளவு மாற்றவும்', + 'set pen size to %n': + 'பேனா கனம் %n ஆக்கவும்', + 'stamp': + 'அச்சு', + + // control: + 'when %greenflag clicked': + '%greenflag அழுத்தும்பொழுது', + 'when %keyHat key pressed': + '%keyHat கீ அழுத்தும்பொழுது', + 'when I am clicked': + 'Wenn ich angeklickt werde', + 'when I receive %msgHat': + '%msgHat பெறுகையில்', + 'broadcast %msg': + '%msg செலித்தி', + 'broadcast %msg and wait': + '%msg செலித்தி காத்திருக்கவும்', + 'Message name': + 'Nachricht', + 'message': + 'Nachricht', + 'any message': + 'eine beliebige Nachricht', + 'wait %n secs': + '%n விநாடிகள் காத்திருக்கவும்', + 'wait until %b': + '%b வரை காத்திருக்கவும்', + 'forever %c': + 'எப்போதும் %c', + 'repeat %n %c': + 'திரும்பச்செய் %n %c', + 'repeat until %b %c': + '%b %c வரை திரும்பச்செய்', + 'if %b %c': + '%b %c என்றால்', + 'if %b %c else %c': + '%b என்றால் அல்லது %c', + 'report %s': + 'berichte %s', + 'stop %stopChoices': + 'நிருத்து %stopChoices', + 'all': + 'alles', + 'this script': + 'இந்த ச்கிரிப்ட்ட', + 'this block': + 'diesen Block', + 'stop %stopOthersChoices': + 'stoppe %stopOthersChoices', + 'all but this script': + 'alles au\u00dfer diesem Skript', + 'other scripts in sprite': + 'andere Skripte in diesem Objekt', + 'pause all %pause': + 'pausiere alles %pause', + 'run %cmdRing %inputs': + 'f\u00fchre %cmdRing aus %inputs', + 'launch %cmdRing %inputs': + 'starte %cmdRing %inputs', + 'call %repRing %inputs': + 'rufe %repRing auf %inputs', + 'run %cmdRing w/continuation': + 'f\u00fchre %cmdRing mit Continuation aus', + 'call %cmdRing w/continuation': + 'rufe %cmdRing mit Continuation auf', + 'warp %c': + 'Warp %c', + 'when I start as a clone': + 'Wenn ich geklont werde', + 'create a clone of %cln': + 'klone %cln', + 'myself': + 'mich', + 'delete this clone': + 'entferne diesen Klon', + + // sensing: + 'touching %col ?': + 'தொடுகிரதா %col ?', + 'touching %clr ?': + 'தொடுகிரதா %clr ?', + 'color %clr is touching %clr ?': + '%clr கலர் %clr யை தொடுகிரதா?', + 'ask %s and wait': + '%s காத்திருக்க சொல்', + 'what\'s your name?': + 'உங்கள் பெயர் என்ன ?', + 'answer': + 'பதில்', + 'mouse x': + 'மவுஸ் x', + 'mouse y': + 'மவுஸ் y', + 'mouse down?': + 'Maustaste gedr\u00fcckt?', + 'key %key pressed?': + '%key கீ அழுத்தி இருக்கிரதா', + 'distance to %dst': + '%dst வரை தூரம்', + 'reset timer': + 'டைமெர் ரீசெட்', + 'timer': + 'டைமெர்', + '%att of %spr': + '%att von %spr', + 'http:// %s': + 'http:// %s', + 'turbo mode?': + 'Turbomodus?', + 'set turbo mode to %b': + 'setze Turbomodus auf %b', + + 'filtered for %clr': + 'nach %clr gefiltert', + 'stack size': + 'Stapelgr\u00f6\u00dfe', + 'frames': + 'Rahmenz\u00e4hler', + + // operators: + '%n mod %n': + '%n மாட் %n', + 'round %n': + '%n gerundet', + '%fun of %n': + '%fun ன் %n', + 'pick random %n to %n': + 'Zufallszahl von %n bis %n', + '%b and %b': + '%b மற்றும் %b', + '%b or %b': + '%b அல்லத %b', + 'not %b': + 'இல்ல %b', + 'true': + 'சர', + 'false': + 'தவறு', + 'join %words': + 'சேர்க்கவும் %words', + 'split %s by %delim': + 'trenne %s nach %delim', + 'hello': + 'வணக்கம்', + 'world': + 'உலகம்', + 'letter %n of %s': + '%s ன் %n வது எழுத்து', + 'length of %s': + '%s ன் நீளம்', + 'unicode of %s': + 'Unicode Wert von %s', + 'unicode %n as letter': + 'Unicode %n als Buchstabe', + 'is %s a %typ ?': + 'ist %s ein(e) %typ ?', + 'is %s identical to %s ?': + 'ist %s identisch mit %s ?', + + 'type of %s': + 'Typ von %s', + + // variables: + 'Make a variable': + 'வேரியபில் செய்', + 'Variable name': + 'மாறிழியின் பெயர்', + 'Script variable name': + 'ச்கிரிப்ட்ட மாறிழியின் பெயர்', + 'Delete a variable': + 'வேரியபில் அழி', + + 'set %var to %s': + '%var %n ஆக்கவும்', + 'change %var by %n': + '%var %n அளவு மாற்றவும்', + 'show variable %var': + '%var வேரியபிலை காண்பி', + 'hide variable %var': + '%var வேரியபிலை மறைக்கவும்', + 'script variables %scriptVars': + 'Skriptvariablen %scriptVars', + + // lists: + 'list %exp': + 'Liste %exp', + '%s in front of %l': + '%s am Anfang von %l', + 'item %idx of %l': + 'Element %idx von %l', + 'all but first of %l': + 'alles au\u00dfer dem ersten von %l', + 'length of %l': + 'L\u00e4nge von %l', + '%l contains %s': + '%l enth\u00e4lt %s', + 'thing': + 'etwas', + 'add %s to %l': + 'f\u00fcge %s zu %l hinzu', + 'delete %ida of %l': + 'entferne %ida aus %l', + 'insert %s at %idx of %l': + 'f\u00fcge %s als %idx in %l ein', + 'replace item %idx of %l with %s': + 'ersetze Element %idx in %l durch %s', + + // other + 'Make a block': + 'Neuer Block', + + // menus + // snap menu + 'About...': + '\u00dcber Snap!...', + 'Reference manual': + 'Handbuch lesen', + 'Snap! website': + 'Snap! Webseite', + 'Download source': + 'Quellcode runterladen', + 'Switch back to user mode': + 'zur\u00fcck zum Benutzermodus', + 'disable deep-Morphic\ncontext menus\nand show user-friendly ones': + 'verl\u00e4sst Morphic', + 'Switch to dev mode': + 'zum Hackermodus wechseln', + 'enable Morphic\ncontext menus\nand inspectors,\nnot user-friendly!': + 'erm\u00f6glicht Morphic Funktionen', + + // project menu + 'Project notes...': + 'Projektanmerkungen...', + 'New': + 'புதிய புதிய பின்னணி', + 'Open...': + 'திறக்க...', + 'Save': + 'சேம', + 'Save As...': + 'எனச் சேம...', + 'Import...': + 'Importieren...', + 'file menu import hint': + 'l\u00e4dt ein exportiertes Projekt,\neine Bibliothek mit ' + + 'Bl\u00f6cken\n' + + 'ein Kost\u00fcm oder einen Klang', + 'Export project as plain text...': + 'Projekt als normalen Text exportieren...', + 'Export project...': + 'Projekt exportieren...', + 'show project data as XML\nin a new browser window': + 'zeigt das Projekt als XML\nin einem neuen Browserfenster an', + 'Export blocks...': + 'Bl\u00f6cke exportieren...', + 'show global custom block definitions as XML\nin a new browser window': + 'zeigt globale Benutzerblockdefinitionen\nals XML im Browser an', + 'Import tools': + 'Tools laden', + 'load the official library of\npowerful blocks': + 'das offizielle Modul mit\nm\u00e4chtigen Bl\u00f6cken laden', + 'Libraries...': + 'Module...', + 'Import library': + 'Modul laden', + + // cloud menu + 'Login...': + 'Anmelden...', + 'Signup...': + 'Benutzerkonto einrichten...', + + // settings menu + 'Language...': + 'மொழ...', + 'Zoom blocks...': + 'Bl\u00f6cke vergr\u00f6\u00dfern...', + 'Stage size...': + 'B\u00fchnengr\u00f6\u00dfe...', + 'Stage size': + 'B\u00fchnengr\u00f6\u00dfe', + 'Stage width': + 'B\u00fchnenbreite', + 'Stage height': + 'B\u00fchnenh\u00f6he', + 'Default': + 'Normal', + 'Blurred shadows': + 'Weiche Schatten', + 'uncheck to use solid drop\nshadows and highlights': + 'abschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'check to use blurred drop\nshadows and highlights': + 'einschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'Zebra coloring': + 'Zebrafarben', + 'check to enable alternating\ncolors for nested blocks': + 'einschalten \u00fcr abwechselnde Farbnuancen\nin Bl\u00f6cken', + 'uncheck to disable alternating\ncolors for nested block': + 'ausschalten verhindert abwechselnde\nFarbnuancen in Bl\u00f6cken', + 'Dynamic input labels': + 'Eingabenbeschriftung', + 'uncheck to disable dynamic\nlabels for variadic inputs': + 'ausschalten verhindert Beschriftung\nvon Mehrfacheingaben', + 'check to enable dynamic\nlabels for variadic inputs': + 'einschalten um Mehrfacheingabefelder\nautomatisch zu beschriften', + 'Prefer empty slot drops': + 'Leere Platzhalter bevorzugen', + 'settings menu prefer empty slots hint': + 'einschalten um leere Platzhalter\nbeim Platzieren von Bl\u00f6cken' + + 'zu bevorzugen', + 'uncheck to allow dropped\nreporters to kick out others': + 'ausschalten um das "Rauskicken"\nvon platzierten Bl\u00f6cken\n' + + 'zu erm\u00f6glichen', + 'Long form input dialog': + 'Ausf\u00fchrlicher Input-Dialog', + 'Plain prototype labels': + 'Einfache Prototyp-Beschriftung', + 'uncheck to always show (+) symbols\nin block prototype labels': + 'ausschalten, um (+) Zeichen\nim Blockeditor zu verbergen', + 'check to hide (+) symbols\nin block prototype labels': + 'einschalten, um (+) Zeichen\nim Blockeditor immer anzuzeigen', + 'check to always show slot\ntypes in the input dialog': + 'einschalten, um immer die Datentypen\nim Input-Dialog zu sehen', + 'uncheck to use the input\ndialog in short form': + 'ausschalten f\u00fcr kurzen\nInput-Dialog', + 'Virtual keyboard': + 'Virtuelle Tastatur', + 'uncheck to disable\nvirtual keyboard support\nfor mobile devices': + 'ausschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu sperren', + 'check to enable\nvirtual keyboard support\nfor mobile devices': + 'einschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu erm\u00f6glichen', + 'Input sliders': + 'Eingabeschieber', + 'uncheck to disable\ninput sliders for\nentry fields': + 'ausschalten um Schieber\nin Eingabefeldern zu verhindern', + 'check to enable\ninput sliders for\nentry fields': + 'einschalten um Schieber\nin Eingabefeldern zu aktivieren', + 'Clicking sound': + 'Akustisches Klicken', + 'uncheck to turn\nblock clicking\nsound off': + 'ausschalten um akustisches\nKlicken zu deaktivieren', + 'check to turn\nblock clicking\nsound on': + 'einschalten um akustisches\nKlicken zu aktivieren', + 'Animations': + 'Animationen', + 'uncheck to disable\nIDE animations': + 'ausschalten um IDE-\nAnimationen zu verhindern', + 'Turbo mode': + 'Turbomodus', + 'check to prioritize\nscript execution': + 'einschalten, um Skripte\nzu priorisieren', + 'uncheck to run scripts\nat normal speed': + 'ausschalten, um Skripte\nnormal auszuf\u00fchren', + 'check to enable\nIDE animations': + 'einschalten um IDE-\nAnimationen zu erlauben', + 'Thread safe scripts': + 'Threadsicherheit', + 'uncheck to allow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'check to disallow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'Prefer smooth animations': + 'Fixe Framerate', + 'uncheck for greater speed\nat variable frame rates': + 'ausschalten, um Animationen \ndynamischer auszuf\u00fchren', + 'check for smooth, predictable\nanimations across computers': + 'einschalten, damit Animationen\n\u00fcberall gleich laufen', + 'Flat line ends': + 'Flache Pinselstriche', + 'check for flat ends of lines': + 'einschalten f\u00fcr flache\nPinselstrichenden', + 'uncheck for round ends of lines': + 'auschalten f\u00fcr runde\nPinselstrichenden', + + // inputs + 'with inputs': + 'mit Eingaben', + 'input names:': + 'Eingaben:', + 'Input Names:': + 'Eingaben:', + 'input list:': + 'Eingabeliste:', + + // context menus: + 'help': + 'Hilfe', + + // palette: + 'hide primitives': + 'Basisbl\u00f6cke ausblenden', + 'show primitives': + 'Basisbl\u00f6cke anzeigen', + + // blocks: + 'help...': + 'உதவ...', + 'relabel...': + 'Umbenennen...', + 'duplicate': + 'நகல் செய்', + 'make a copy\nand pick it up': + 'eine Kopie aufnehmen', + 'only duplicate this block': + 'nur diesen Block duplizieren', + 'delete': + 'அழ', + 'script pic...': + 'Skriptbild...', + 'open a new window\nwith a picture of this script': + 'ein neues Browserfenster mit einem\nBild dieses Skripts \u00f6ffnen', + 'ringify': + 'Umringen', + 'unringify': + 'Entringen', + + // custom blocks: + 'delete block definition...': + 'Blockdefinition l\u00f6schen', + 'edit...': + 'Bearbeiten...', + + // sprites: + 'edit': + 'திருத்த', + 'move': + 'நகர்த்து', + 'detach from': + 'Abtrennen von', + 'detach all parts': + 'Alle Teile abtrennen', + 'export...': + 'Exportieren...', + + // stage: + 'show all': + 'Alles zeigen', + 'pic...': + 'Bild exportieren...', + 'open a new window\nwith a picture of the stage': + 'ein neues Browserfenster mit einem\nBild der B\u00fchne \u00f6ffnen', + + // scripting area + 'clean up': + 'சுத்தம் செய்', + 'arrange scripts\nvertically': + 'Skripte der Reihe nach\nanordnen', + 'add comment': + 'Anmerkung hinzuf\u00fcgen', + 'undrop': + 'R\u00fcckg\u00e4ngig', + 'undo the last\nblock drop\nin this pane': + 'Setzen des letzten Blocks\nwiderrufen', + 'scripts pic...': + 'Bild aller Scripte...', + 'open a new window\nwith a picture of all scripts': + 'ein neues Browserfenster mit einem\nBild aller Skripte \u00f6ffnen', + 'make a block...': + 'Neuen Block bauen...', + + // costumes + 'rename': + 'Umbenennen', + 'export': + 'Exportieren', + 'rename costume': + 'Kost\u00fcm umbenennen', + + // sounds + 'Play sound': + 'Klang\nabspielen', + 'Stop sound': + 'Klang\nanhalten', + 'Stop': + 'நிறுத்த', + 'Play': + 'Los', + 'rename sound': + 'Klang umbenennen', + + // dialogs + // buttons + 'OK': + 'சர', + 'Ok': + 'சர', + 'Cancel': + 'கென்செல்', + 'Yes': + 'ஆம்', + 'No': + 'இல்ல', + + // help + 'Help': + 'உதவ', + + // zoom blocks + 'Zoom blocks': + 'Bl\u00f6cke vergr\u00f6\u00dfern', + 'build': + 'baue', + 'your own': + 'eigene', + 'blocks': + 'Bl\u00f6cke', + 'normal (1x)': + 'normal (1x)', + 'demo (1.2x)': + 'Demo (1.2x)', + 'presentation (1.4x)': + 'Pr\u00e4sentation (1.4x)', + 'big (2x)': + 'gro\u00df (2x)', + 'huge (4x)': + 'riesig (4x)', + 'giant (8x)': + 'gigantisch (8x)', + 'monstrous (10x)': + 'ungeheuerlich (10x)', + + // Project Manager + 'Untitled': + 'Unbenannt', + 'Open Project': + 'Project \u00f6ffnen', + '(empty)': + '(leer)', + 'Saved!': + 'Gesichert!', + 'Delete Project': + 'Projekt l\u00f6schen', + 'Are you sure you want to delete': + 'Wirklich l\u00f6schen?', + 'rename...': + 'Umbenennen...', + + // costume editor + 'Costume Editor': + 'Kost\u00fcmeditor', + 'click or drag crosshairs to move the rotation center': + 'Fadenkreuz anklicken oder bewegen um den Drehpunkt zu setzen', + + // project notes + 'Project Notes': + 'Projektanmerkungen', + + // new project + 'New Project': + 'Neues Projekt', + 'Replace the current project with a new one?': + 'Das aktuelle Projekt durch ein neues ersetzen?', + + // save project + 'Save Project As...': + 'Projekt Sichern Als...', + + // export blocks + 'Export blocks': + 'Bl\u00f6cke exportieren', + 'Import blocks': + 'Bl\u00f6cke importieren', + 'this project doesn\'t have any\ncustom global blocks yet': + 'in diesem Projekt gibt es noch keine\nglobalen Bl\u00f6cke', + 'select': + 'ausw\u00e4hlen', + 'none': + 'nichts', + + // variable dialog + 'for all sprites': + 'f\u00fcr alle', + 'for this sprite only': + 'nur f\u00fcr dieses Objekt', + + // block dialog + 'Change block': + 'Block ver\u00e4ndern', + 'Command': + 'Befehl', + 'Reporter': + 'Funktion', + 'Predicate': + 'Pr\u00e4dikat', + + // block editor + 'Block Editor': + 'Blockeditor', + 'Apply': + 'Anwenden', + + // block deletion dialog + 'Delete Custom Block': + 'Block L\u00f6schen', + 'block deletion dialog text': + 'Soll dieser Block mit allen seinen Exemplare\n' + + 'wirklich gel\u00f6scht werden?', + + // input dialog + 'Create input name': + 'Eingabe erstellen', + 'Edit input name': + 'Eingabe bearbeiten', + 'Edit label fragment': + 'Beschriftung bearbeiten', + 'Title text': + 'Beschriftung', + 'Input name': + 'Eingabe', + 'Delete': + 'L\u00f6schen', + 'Object': + 'Objekt', + 'Number': + 'Zahl', + 'Text': + 'Text', + 'List': + 'Liste', + 'Any type': + 'Beliebig', + 'Boolean (T/F)': + 'Boolsch (W/F)', + 'Command\n(inline)': + 'Befehl', + 'Command\n(C-shape)': + 'Befehl\n(C-Form)', + 'Any\n(unevaluated)': + 'Beliebig\n(zitiert)', + 'Boolean\n(unevaluated)': + 'Boolsch\n(zitiert)', + 'Single input.': + 'Einzeleingabe.', + 'Default Value:': + 'Standardwert:', + 'Multiple inputs (value is list of inputs)': + 'Mehrere Eingaben (als Liste)', + 'Upvar - make internal variable visible to caller': + 'Interne Variable au\u00dfen sichtbar machen', + + // About Snap + 'About Snap': + '\u00dcber Snap', + 'Back...': + 'Zur\u00fcck...', + 'License...': + 'Lizenz...', + 'Modules...': + 'Komponenten...', + 'Credits...': + 'Mitwirkende...', + 'Translators...': + '\u00dcbersetzer', + 'License': + 'Lizenz', + 'current module versions:': + 'Komponenten-Versionen', + 'Contributors': + 'Mitwirkende', + 'Translations': + '\u00dcbersetzungen', + + // variable watchers + 'normal': + 'normal', + 'large': + 'gro\u00df', + 'slider': + 'Regler', + 'slider min...': + 'Minimalwert...', + 'slider max...': + 'Maximalwert...', + 'import...': + 'Importieren...', + 'Slider minimum value': + 'Minimalwert des Reglers', + 'Slider maximum value': + 'Maximalwert des Reglers', + + // list watchers + 'length: ': + 'L\u00e4nge: ', + + // coments + 'add comment here...': + 'Anmerkung hier hinzuf\u00fcgen', + + // drow downs + // directions + '(90) right': + '(90) rechts', + '(-90) left': + '(-90) links', + '(0) up': + '(0) oben', + '(180) down': + '(180) unten', + + // collision detection + 'mouse-pointer': + 'Mauszeiger', + 'edge': + 'Kante', + 'pen trails': + 'Malspuren', + + // costumes + 'Turtle': + 'Richtungszeiger', + 'Empty': + 'Leer', + + // graphical effects + 'brightness': + 'Helligeit', + 'ghost': + 'Durchsichtigkeit', + 'negative': + 'Farbumkehr', + 'comic': + 'Moire', + 'confetti': + 'Farbverschiebung', + + // keys + 'space': + 'இடைவெள', + 'up arrow': + 'மேல் அம்புக்குற', + 'down arrow': + 'Pfeil nach unten', + 'right arrow': + 'வலது அம்புக்குற', + 'left arrow': + 'Pfeil nach links', + 'a': + 'a', + 'b': + 'b', + 'c': + 'c', + 'd': + 'd', + 'e': + 'e', + 'f': + 'f', + 'g': + 'g', + 'h': + 'h', + 'i': + 'i', + 'j': + 'j', + 'k': + 'k', + 'l': + 'l', + 'm': + 'm', + 'n': + 'n', + 'o': + 'o', + 'p': + 'p', + 'q': + 'q', + 'r': + 'r', + 's': + 's', + 't': + 't', + 'u': + 'u', + 'v': + 'v', + 'w': + 'w', + 'x': + 'x', + 'y': + 'y', + 'z': + 'z', + '0': + '0', + '1': + '1', + '2': + '2', + '3': + '3', + '4': + '4', + '5': + '5', + '6': + '6', + '7': + '7', + '8': + '8', + '9': + '9', + + // messages + 'new...': + 'Neu...', + + // math functions + 'abs': + 'Betrag', + 'floor': + 'Abgerundet', + 'sqrt': + 'Wurzel', + 'sin': + 'sin', + 'cos': + 'cos', + 'tan': + 'tan', + 'asin': + 'asin', + 'acos': + 'acos', + 'atan': + 'atan', + 'ln': + 'ln', + 'e^': + 'e^', + + // delimiters + 'letter': + 'Buchstabe', + 'whitespace': + 'Leerraum', + 'line': + 'Zeilenvorschub', + 'tab': + 'Tabulator', + 'cr': + 'Wagenr\u00fccklauf', + + // data types + 'number': + 'Zahl', + 'text': + 'Text', + 'Boolean': + 'Boole', + 'list': + 'Liste', + 'command': + 'Befehlsblock', + 'reporter': + 'Funktionsblock', + 'predicate': + 'Pr\u00e4dikat', + + // list indices + 'last': + 'letztes', + 'any': + 'beliebiges' +}; diff --git a/lang-te.js b/lang-te.js new file mode 100644 index 00000000..bd1c5dd1 --- /dev/null +++ b/lang-te.js @@ -0,0 +1,1283 @@ +/* + + lang-de.js + + German translation for SNAP! + + written by Jens Mönig + + Copyright (C) 2014 by Jens Mönig + + This file is part of Snap!. + + Snap! is free software: you can redistribute it and/or modify + it under the terms of the GNU Affero General Public License as + published by the Free Software Foundation, either version 3 of + the License, or (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU Affero General Public License for more details. + + You should have received a copy of the GNU Affero General Public License + along with this program. If not, see . + + + + Note to Translators: + -------------------- + At this stage of development, Snap! can be translated to any LTR language + maintaining the current order of inputs (formal parameters in blocks). + + Translating Snap! is easy: + + + 1. Download + + Download the sources and extract them into a local folder on your + computer: + + + + Use the German translation file (named 'lang-de.js') as template for your + own translations. Start with editing the original file, because that way + you will be able to immediately check the results in your browsers while + you're working on your translation (keep the local copy of snap.html open + in your web browser, and refresh it as you progress with your + translation). + + + 2. Edit + + Edit the translation file with a regular text editor, or with your + favorite JavaScript editor. + + In the first non-commented line (the one right below this + note) replace "de" with the two-letter ISO 639-1 code for your language, + e.g. + + fr - French => SnapTranslator.dict.fr = { + it - Italian => SnapTranslator.dict.it = { + pl - Polish => SnapTranslator.dict.pl = { + pt - Portuguese => SnapTranslator.dict.pt = { + es - Spanish => SnapTranslator.dict.es = { + el - Greek => => SnapTranslator.dict.el = { + + etc. (see ) + + + 3. Translate + + Then work through the dictionary, replacing the German strings against + your translations. The dictionary is a straight-forward JavaScript ad-hoc + object, for review purposes it should be formatted as follows: + + { + 'English string': + 'Translation string', + 'last key': + } 'last value' + + and you only edit the indented value strings. Note that each key-value + pair needs to be delimited by a comma, but that there shouldn't be a comma + after the last pair (again, just overwrite the template file and you'll be + fine). + + If something doesn't work, or if you're unsure about the formalities you + should check your file with + + + + This will inform you about any missed commas etc. + + + 4. Accented characters + + Depending on which text editor and which file encoding you use you can + directly enter special characters (e.g. Umlaut, accented characters) on + your keyboard. However, I've noticed that some browsers may not display + special characters correctly, even if other browsers do. So it's best to + check your results in several browsers. If you want to be on the safe + side, it's even better to escape these characters using Unicode. + + see: + + + 5. Block specs: + + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + + + 6. Submit + + When you're done, rename the edited file by replacing the "de" part of the + filename with the two-letter ISO 639-1 code for your language, e.g. + + fr - French => lang-fr.js + it - Italian => lang-it.js + pl - Polish => lang-pl.js + pt - Portuguese => lang-pt.js + es - Spanish => lang-es.js + el - Greek => => lang-el.js + + and send it to me for inclusion in the official Snap! distribution. + Once your translation has been included, Your name will the shown in the + "Translators" tab in the "About Snap!" dialog box, and you will be able to + directly launch a translated version of Snap! in your browser by appending + + lang:xx + + to the URL, xx representing your translations two-letter code. + + + 7. Known issues + + In some browsers accents or ornaments located in typographic ascenders + above the cap height are currently (partially) cut-off. + + Enjoy! + -Jens +*/ + +/*global SnapTranslator*/ + +SnapTranslator.dict.te = { + +/* + Special characters: (see ) + + Ä, ä \u00c4, \u00e4 + Ö, ö \u00d6, \u00f6 + Ü, ü \u00dc, \u00fc + ß \u00df +*/ + + // translations meta information + 'language_name': + 'Telagu', // the name as it should appear in the language menu + 'language_translator': + 'vinayakumar R', // your name for the Translators tab + 'translator_e-mail': + 'vnkmr7620@gmail.com', // optional + 'last_changed': + '2015-02-20', // this, too, will appear in the Translators tab + + // GUI + // control bar: + 'untitled': + 'Unbenannt', + 'development mode': + 'Hackermodus', + + // categories: + 'Motion': + 'చలన', + 'Looks': + 'కనబడ', + 'Sound': + 'శబ్దమ', + 'Pen': + 'పెన్', + 'Control': + 'నియంత్రణ', + 'Sensing': + 'స్పర్శించుట', + 'Operators': + 'చేసేవి', + 'Variables': + 'చరరాశులు', + 'Lists': + 'జాబితా', + 'Other': + 'Andere', + + // editor: + 'draggable': + 'greifbar', + + // tabs: + 'Scripts': + 'ఆజ్ఞ', + 'Costumes': + 'వేషధారణ', + 'Sounds': + 'శబ్దాల', + + // names: + 'Sprite': + 'రూపమ', + 'Stage': + 'వేదిక', + + // rotation styles: + 'don\'t rotate': + 'తిరుగవద్', + 'can rotate': + 'తిరుగ గలద', + 'only face left/right': + 'ముఖం ఎడమ-కుడి వైపు మాత్రమే', + + // new sprite button: + 'add a new sprite': + 'ein neues Objekt\nhinzuf\u00fcgen', + + // tab help + 'costumes tab help': + 'Bilder durch hereinziehen von einer anderen\n' + + 'Webseite or vom Computer importieren', + 'import a sound from your computer\nby dragging it into here': + 'Kl\u00e4nge durch hereinziehen importieren', + + // primitive blocks: + + /* + Attention Translators: + ---------------------- + At this time your translation of block specs will only work + correctly, if the order of formal parameters and their types + are unchanged. Placeholders for inputs (formal parameters) are + indicated by a preceding % prefix and followed by a type + abbreviation. + + For example: + + 'say %s for %n secs' + + can currently not be changed into + + 'say %n secs long %s' + + and still work as intended. + + Similarly + + 'point towards %dst' + + cannot be changed into + + 'point towards %cst' + + without breaking its functionality. + */ + + // motion: + 'Stage selected:\nno motion primitives': + 'B\u00fchne ausgew\u00e4hlt:\nkeine Standardbewegungsbl\u00f6cke\n' + + 'vorhanden', + + 'move %n steps': + '%n అడుగులు జరుగ', + 'turn %clockwise %n degrees': + 'drehe %clockwise %n Grad', + 'turn %counterclockwise %n degrees': + 'drehe %counterclockwise %n Grad', + 'point in direction %dir': + 'బిందువు %dir దిశలో', + 'point towards %dst': + 'బిందువు %dst వైపునక', + 'go to x: %n y: %n': + 'x: %n y: %n కు వెళ్', + 'go to %dst': + '%dst కు వెళ్', + 'glide %n secs to x: %n y: %n': + '%n సెకన్లకు x: %n y: %n జరుగున', + 'change x by %n': + 'x విలువ %n కి మార్', + 'set x to %n': + 'x విలువకు %n పెట్', + 'change y by %n': + 'y విలువ %n కి మార్', + 'set y to %n': + 'y విలువకు %n పెట్', + 'if on edge, bounce': + 'అంచున ఉంటే, దూక', + 'x position': + 'x స్థానం', + 'y position': + 'y స్థానం', + 'direction': + 'దిక్', + + // looks: + 'switch to costume %cst': + 'వేషధారణ %cst కు బదలాయించు', + 'next costume': + 'తదుపరి వేషధారణ', + 'costume #': + 'వేషధారణ #', + 'say %s for %n secs': + '%n సెకన్ల కోసం %s అని చెప్', + 'say %s': + '%s అని చెప్', + 'think %s for %n secs': + '%n సెకన్ల కోసం %s ఆలోచించ', + 'think %s': + '%s ఆలోచించ', + 'Hello!': + '"హలో!', + 'Hmm...': + 'హమ్.మ్..', + 'change %eff effect by %n': + '%n ప్రభావంతో %eff మారున', + 'set %eff effect to %n': + '%n ప్రయోజనంతో %eff పెట్', + 'clear graphic effects': + 'గ్రాఫిక్ ప్రయోజనాలు తొలగించుట', + 'change size by %n': + 'పరిమాణంను %n కి మార్', + 'set size to %n %': + '%n % కు పరిమాణాన్ని పెట్', + 'size': + 'Gr\u00f6\u00dfe', + 'show': + 'చూపించ', + 'hide': + 'దాచిపెట్', + 'go to front': + 'ముందుకు వెళ్', + 'go back %n layers': + '%n లేయర్లు తిరిగి వెళ్ళుట', + + 'development mode \ndebugging primitives:': + 'Hackermodus \nDebugging-Bl\u00f6cke', + 'console log %mult%s': + 'schreibe in die Konsole: %mult%s', + 'alert %mult%s': + 'Pop-up: %mult%s', + + // sound: + 'play sound %snd': + '%snd శబ్దం వాయించ', + 'play sound %snd until done': + '%snd ఆగువరకు శబ్దం వాయించ', + 'stop all sounds': + 'అన్నీ శబ్దాలు నిలుప', + 'rest for %n beats': + 'spiele Pause f\u00fcr %n Schl\u00e4ge', + 'play note %n for %n beats': + '%n సంజ్ఞను వాయించు %n బీట్స్ కోస', + 'change tempo by %n': + 'కదలికలోని తీవ్రతను %n మార్', + 'set tempo to %n bpm': + '%n బి.పి.యం.కు కదలికలోని తీవ్రతను పెట్', + 'tempo': + 'కదలికలోని తీవ్రత', + + // pen: + 'clear': + 'తొలగించుట', + 'pen down': + 'పెన్ను క్రిందకి', + 'pen up': + 'పెన్ను పైకి', + 'set pen color to %clr': + 'పెన్ను రంగును %clr కు పెట్', + 'change pen color by %n': + 'పెన్ను రంగు %n కు మార్', + 'set pen color to %n': + 'పెన్ను రంగును %n కు పెట్', + 'change pen shade by %n': + 'పెన్ను రంగు షేడ్ %n కు మార్', + 'set pen shade to %n': + 'పెన్ను రంగు షేడ్ %n కు పెట్', + 'change pen size by %n': + 'న్ను పరిమాణం మార్చేందుకు %n', + 'set pen size to %n': + 'పెన్ను పరిమాణం %n కు పెట్టు', + 'stamp': + 'ముద్', + + // control: + 'when %greenflag clicked': + '%greenflag ఒత్తినప్పుడ', + 'when %keyHat key pressed': + '%keyHat కీ ఒత్తినప్పుడ', + 'when I am clicked': + 'Wenn ich angeklickt werde', + 'when I receive %msgHat': + '%msgHat నేను స్వీకరించినప్పుడు', + 'broadcast %msg': + 'ప్రసార %msg', + 'broadcast %msg and wait': + '%msg ని ప్రసారం చేసి, వేచివుండు', + 'Message name': + 'సందేశం పేర', + 'message': + 'సందేశ', + 'any message': + 'ఏదైనా సందేశ', + 'wait %n secs': + '%n సెకన్లు వేచియుండ', + 'wait until %b': + '%b వరకూ వేచియుండ', + 'forever %c': + 'ఎప్పటికి %c', + 'repeat %n %c': + '%n %c పునరావృత', + 'repeat until %b %c': + '%b %c పునరావృతం అయ్యేంతవరక', + 'if %b %c': + 'ఒకవేళ %b %c', + 'if %b %c else %c': + 'ఒకవేళ %b %c ఇంకా %c', + 'report %s': + 'berichte %s', + 'stop %stopChoices': + 'నిలుపు %stopChoices', + 'all': + 'అన్', + 'this script': + 'ఈ ఆజ్', + 'this block': + 'diesen Block', + 'stop %stopOthersChoices': + 'నిలుప %stopOthersChoices', + 'all but this script': + 'alles au\u00dfer diesem Skript', + 'other scripts in sprite': + 'andere Skripte in diesem Objekt', + 'pause all %pause': + 'pausiere alles %pause', + 'run %cmdRing %inputs': + 'f\u00fchre %cmdRing aus %inputs', + 'launch %cmdRing %inputs': + 'starte %cmdRing %inputs', + 'call %repRing %inputs': + 'rufe %repRing auf %inputs', + 'run %cmdRing w/continuation': + 'f\u00fchre %cmdRing mit Continuation aus', + 'call %cmdRing w/continuation': + 'rufe %cmdRing mit Continuation auf', + 'warp %c': + 'Warp %c', + 'when I start as a clone': + 'Wenn ich geklont werde', + 'create a clone of %cln': + 'klone %cln', + 'myself': + 'mich', + 'delete this clone': + 'entferne diesen Klon', + + // sensing: + 'touching %col ?': + '%col తాకుతుందా?', + 'touching %clr ?': + '%clr రంగును తాకుతుందా?', + 'color %clr is touching %clr ?': + '%clr రంగు %clr తాకుతుందా?', + 'ask %s and wait': + '%s అడిగి, వేచియుండ', + 'what\'s your name?': + 'నీ పేరు ఏమిటి?', + 'answer': + 'సమాధాన', + 'mouse x': + 'మౌస్ x', + 'mouse y': + 'మౌస్ y', + 'mouse down?': + 'మౌస్ ఒత్తారా?', + 'key %key pressed?': + '%key కీ ఒత్తారా?', + 'distance to %dst': + '%dst కు దూరం', + 'reset timer': + 'సమయసూచిని మళ్ళీ పెట్', + 'timer': + 'సమయసూచి', + '%att of %spr': + '%att లో %spr', + 'http:// %s': + 'http:// %s', + 'turbo mode?': + 'Turbomodus?', + 'set turbo mode to %b': + 'setze Turbomodus auf %b', + + 'filtered for %clr': + 'nach %clr gefiltert', + 'stack size': + 'Stapelgr\u00f6\u00dfe', + 'frames': + 'Rahmenz\u00e4hler', + + // operators: + '%n mod %n': + '%n శేష %n', + 'round %n': + '%n గుండ్రమ', + '%fun of %n': + '%fun లో %n', + 'pick random %n to %n': + '%n నుండి %n ను యాదృచ్ఛికంగా ఎంచుకోండి', + '%b and %b': + '%b మరియ %b', + '%b or %b': + '%b లేదా %b', + 'not %b': + 'లేద %b', + 'true': + 'సత్', + 'false': + 'తప్', + 'join %words': + 'కలుప %words', + 'split %s by %delim': + 'trenne %s nach %delim', + 'hello': + 'హలో', + 'world': + 'ప్రపంచం', + 'letter %n of %s': + 'Zeichen %n von %s', + 'length of %s': + 'L\u00e4nge von %s', + 'unicode of %s': + 'Unicode Wert von %s', + 'unicode %n as letter': + 'Unicode %n als Buchstabe', + 'is %s a %typ ?': + 'ist %s ein(e) %typ ?', + 'is %s identical to %s ?': + 'ist %s identisch mit %s ?', + + 'type of %s': + 'Typ von %s', + + // variables: + 'Make a variable': + 'చరరాశిని కల్పించు', + 'Variable name': + 'చరరాశి పేరు ?', + 'Script variable name': + 'Skriptvariablenname', + 'Delete a variable': + 'చరరాశిని తొలగించ', + + 'set %var to %s': + '%var లో %s ను పెట్', + 'change %var by %n': + '%var మార్చడానికి %n', + 'show variable %var': + 'చరరాశి %var ను చూప', + 'hide variable %var': + '%var చరరాశిని దాచు', + 'script variables %scriptVars': + 'Skriptvariablen %scriptVars', + + // lists: + 'list %exp': + 'Liste %exp', + '%s in front of %l': + '%s am Anfang von %l', + 'item %idx of %l': + 'Element %idx von %l', + 'all but first of %l': + 'alles au\u00dfer dem ersten von %l', + 'length of %l': + 'L\u00e4nge von %l', + '%l contains %s': + '%l enth\u00e4lt %s', + 'thing': + 'etwas', + 'add %s to %l': + 'f\u00fcge %s zu %l hinzu', + 'delete %ida of %l': + 'entferne %ida aus %l', + 'insert %s at %idx of %l': + 'f\u00fcge %s als %idx in %l ein', + 'replace item %idx of %l with %s': + 'ersetze Element %idx in %l durch %s', + + // other + 'Make a block': + 'Neuer Block', + + // menus + // snap menu + 'About...': + '\u00dcber Snap!...', + 'Reference manual': + 'Handbuch lesen', + 'Snap! website': + 'Snap! Webseite', + 'Download source': + 'Quellcode runterladen', + 'Switch back to user mode': + 'zur\u00fcck zum Benutzermodus', + 'disable deep-Morphic\ncontext menus\nand show user-friendly ones': + 'verl\u00e4sst Morphic', + 'Switch to dev mode': + 'zum Hackermodus wechseln', + 'enable Morphic\ncontext menus\nand inspectors,\nnot user-friendly!': + 'erm\u00f6glicht Morphic Funktionen', + + // project menu + 'Project notes...': + 'రాజెక్ట్ గమనికల...', + 'New': + 'కొత్', + 'Open...': + 'తెరువ...', + 'Save': + 'సేవ్ చేయ', + 'Save As...': + 'వదిలేయడానికి ముందు మార్పులను సేవ్ చేయ...', + 'Import...': + 'దిగుమతి...', + 'file menu import hint': + 'l\u00e4dt ein exportiertes Projekt,\neine Bibliothek mit ' + + 'Bl\u00f6cken\n' + + 'ein Kost\u00fcm oder einen Klang', + 'Export project as plain text...': + 'Projekt als normalen Text exportieren...', + 'Export project...': + 'Projekt exportieren...', + 'show project data as XML\nin a new browser window': + 'zeigt das Projekt als XML\nin einem neuen Browserfenster an', + 'Export blocks...': + 'Bl\u00f6cke exportieren...', + 'show global custom block definitions as XML\nin a new browser window': + 'zeigt globale Benutzerblockdefinitionen\nals XML im Browser an', + 'Import tools': + 'Tools laden', + 'load the official library of\npowerful blocks': + 'das offizielle Modul mit\nm\u00e4chtigen Bl\u00f6cken laden', + 'Libraries...': + 'Module...', + 'Import library': + 'Modul laden', + + // cloud menu + 'Login...': + 'Anmelden...', + 'Signup...': + 'Benutzerkonto einrichten...', + + // settings menu + 'Language...': + 'భాష...', + 'Zoom blocks...': + 'Bl\u00f6cke vergr\u00f6\u00dfern...', + 'Stage size...': + 'B\u00fchnengr\u00f6\u00dfe...', + 'Stage size': + 'B\u00fchnengr\u00f6\u00dfe', + 'Stage width': + 'B\u00fchnenbreite', + 'Stage height': + 'B\u00fchnenh\u00f6he', + 'Default': + 'Normal', + 'Blurred shadows': + 'Weiche Schatten', + 'uncheck to use solid drop\nshadows and highlights': + 'abschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'check to use blurred drop\nshadows and highlights': + 'einschalten f\u00fcr harte Schatten\nund Beleuchtung', + 'Zebra coloring': + 'Zebrafarben', + 'check to enable alternating\ncolors for nested blocks': + 'einschalten \u00fcr abwechselnde Farbnuancen\nin Bl\u00f6cken', + 'uncheck to disable alternating\ncolors for nested block': + 'ausschalten verhindert abwechselnde\nFarbnuancen in Bl\u00f6cken', + 'Dynamic input labels': + 'Eingabenbeschriftung', + 'uncheck to disable dynamic\nlabels for variadic inputs': + 'ausschalten verhindert Beschriftung\nvon Mehrfacheingaben', + 'check to enable dynamic\nlabels for variadic inputs': + 'einschalten um Mehrfacheingabefelder\nautomatisch zu beschriften', + 'Prefer empty slot drops': + 'Leere Platzhalter bevorzugen', + 'settings menu prefer empty slots hint': + 'einschalten um leere Platzhalter\nbeim Platzieren von Bl\u00f6cken' + + 'zu bevorzugen', + 'uncheck to allow dropped\nreporters to kick out others': + 'ausschalten um das "Rauskicken"\nvon platzierten Bl\u00f6cken\n' + + 'zu erm\u00f6glichen', + 'Long form input dialog': + 'Ausf\u00fchrlicher Input-Dialog', + 'Plain prototype labels': + 'Einfache Prototyp-Beschriftung', + 'uncheck to always show (+) symbols\nin block prototype labels': + 'ausschalten, um (+) Zeichen\nim Blockeditor zu verbergen', + 'check to hide (+) symbols\nin block prototype labels': + 'einschalten, um (+) Zeichen\nim Blockeditor immer anzuzeigen', + 'check to always show slot\ntypes in the input dialog': + 'einschalten, um immer die Datentypen\nim Input-Dialog zu sehen', + 'uncheck to use the input\ndialog in short form': + 'ausschalten f\u00fcr kurzen\nInput-Dialog', + 'Virtual keyboard': + 'Virtuelle Tastatur', + 'uncheck to disable\nvirtual keyboard support\nfor mobile devices': + 'ausschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu sperren', + 'check to enable\nvirtual keyboard support\nfor mobile devices': + 'einschalten um die virtuelle\nTastatur auf mobilen Ger\u00e4ten\n' + + 'zu erm\u00f6glichen', + 'Input sliders': + 'Eingabeschieber', + 'uncheck to disable\ninput sliders for\nentry fields': + 'ausschalten um Schieber\nin Eingabefeldern zu verhindern', + 'check to enable\ninput sliders for\nentry fields': + 'einschalten um Schieber\nin Eingabefeldern zu aktivieren', + 'Clicking sound': + 'Akustisches Klicken', + 'uncheck to turn\nblock clicking\nsound off': + 'ausschalten um akustisches\nKlicken zu deaktivieren', + 'check to turn\nblock clicking\nsound on': + 'einschalten um akustisches\nKlicken zu aktivieren', + 'Animations': + 'ఆనిమేషన్ (సజీవత్వము)', + 'uncheck to disable\nIDE animations': + 'ausschalten um IDE-\nAnimationen zu verhindern', + 'Turbo mode': + 'Turbomodus', + 'check to prioritize\nscript execution': + 'einschalten, um Skripte\nzu priorisieren', + 'uncheck to run scripts\nat normal speed': + 'ausschalten, um Skripte\nnormal auszuf\u00fchren', + 'check to enable\nIDE animations': + 'einschalten um IDE-\nAnimationen zu erlauben', + 'Thread safe scripts': + 'Threadsicherheit', + 'uncheck to allow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'check to disallow\nscript reentrance': + 'verhindert, dass unvollendete\nSkripte erneut gestartet werden', + 'Prefer smooth animations': + 'Fixe Framerate', + 'uncheck for greater speed\nat variable frame rates': + 'ausschalten, um Animationen \ndynamischer auszuf\u00fchren', + 'check for smooth, predictable\nanimations across computers': + 'einschalten, damit Animationen\n\u00fcberall gleich laufen', + 'Flat line ends': + 'Flache Pinselstriche', + 'check for flat ends of lines': + 'einschalten f\u00fcr flache\nPinselstrichenden', + 'uncheck for round ends of lines': + 'auschalten f\u00fcr runde\nPinselstrichenden', + + // inputs + 'with inputs': + 'mit Eingaben', + 'input names:': + 'Eingaben:', + 'Input Names:': + 'Eingaben:', + 'input list:': + 'Eingabeliste:', + + // context menus: + 'help': + 'సహాయ', + + // palette: + 'hide primitives': + 'Basisbl\u00f6cke ausblenden', + 'show primitives': + 'Basisbl\u00f6cke anzeigen', + + // blocks: + 'help...': + 'సహాయ...', + 'relabel...': + 'Umbenennen...', + 'duplicate': + 'నకల', + 'make a copy\nand pick it up': + 'eine Kopie aufnehmen', + 'only duplicate this block': + 'nur diesen Block duplizieren', + 'delete': + 'తొలగించ', + 'script pic...': + 'Skriptbild...', + 'open a new window\nwith a picture of this script': + 'ein neues Browserfenster mit einem\nBild dieses Skripts \u00f6ffnen', + 'ringify': + 'Umringen', + 'unringify': + 'Entringen', + + // custom blocks: + 'delete block definition...': + 'Blockdefinition l\u00f6schen', + 'edit...': + 'సవరించ...', + + // sprites: + 'edit': + 'సవరించ', + 'move': + 'జరుగ', + 'detach from': + 'Abtrennen von', + 'detach all parts': + 'Alle Teile abtrennen', + 'export...': + 'ఎగుమతి...', + + // stage: + 'show all': + 'Alles zeigen', + 'pic...': + 'Bild exportieren...', + 'open a new window\nwith a picture of the stage': + 'ein neues Browserfenster mit einem\nBild der B\u00fchne \u00f6ffnen', + + // scripting area + 'clean up': + 'శుభ్రం చేయ', + 'arrange scripts\nvertically': + 'Skripte der Reihe nach\nanordnen', + 'add comment': + 'వ్యాఖ్యానించ', + 'undrop': + 'R\u00fcckg\u00e4ngig', + 'undo the last\nblock drop\nin this pane': + 'Setzen des letzten Blocks\nwiderrufen', + 'scripts pic...': + 'Bild aller Scripte...', + 'open a new window\nwith a picture of all scripts': + 'ein neues Browserfenster mit einem\nBild aller Skripte \u00f6ffnen', + 'make a block...': + 'Neuen Block bauen...', + + // costumes + 'rename': + 'Umbenennen', + 'export': + 'ఎగుమతి', + 'rename costume': + 'Kost\u00fcm umbenennen', + + // sounds + 'Play sound': + 'శబ్దం వాయించ', + 'Stop sound': + 'Klang\nanhalten', + 'Stop': + 'ఆప', + 'Play': + 'ఆడ', + 'rename sound': + 'Klang umbenennen', + + // dialogs + // buttons + 'OK': + 'సరే', + 'Ok': + 'సరే', + 'Cancel': + 'రద్', + 'Yes': + 'అవున', + 'No': + 'లేద', + + // help + 'Help': + 'సహాయ', + + // zoom blocks + 'Zoom blocks': + 'Bl\u00f6cke vergr\u00f6\u00dfern', + 'build': + 'baue', + 'your own': + 'eigene', + 'blocks': + 'Bl\u00f6cke', + 'normal (1x)': + 'normal (1x)', + 'demo (1.2x)': + 'Demo (1.2x)', + 'presentation (1.4x)': + 'Pr\u00e4sentation (1.4x)', + 'big (2x)': + 'gro\u00df (2x)', + 'huge (4x)': + 'riesig (4x)', + 'giant (8x)': + 'gigantisch (8x)', + 'monstrous (10x)': + 'ungeheuerlich (10x)', + + // Project Manager + 'Untitled': + 'Unbenannt', + 'Open Project': + 'Project \u00f6ffnen', + '(empty)': + '(leer)', + 'Saved!': + 'Gesichert!', + 'Delete Project': + 'Projekt l\u00f6schen', + 'Are you sure you want to delete': + 'Wirklich l\u00f6schen?', + 'rename...': + 'Umbenennen...', + + // costume editor + 'Costume Editor': + 'Kost\u00fcmeditor', + 'click or drag crosshairs to move the rotation center': + 'Fadenkreuz anklicken oder bewegen um den Drehpunkt zu setzen', + + // project notes + 'Project Notes': + '"ప్రాజెక్ట్ గమనికల', + + // new project + 'New Project': + 'Neues Projekt', + 'Replace the current project with a new one?': + 'Das aktuelle Projekt durch ein neues ersetzen?', + + // save project + 'Save Project As...': + 'Projekt Sichern Als...', + + // export blocks + 'Export blocks': + 'Bl\u00f6cke exportieren', + 'Import blocks': + 'Bl\u00f6cke importieren', + 'this project doesn\'t have any\ncustom global blocks yet': + 'in diesem Projekt gibt es noch keine\nglobalen Bl\u00f6cke', + 'select': + 'ausw\u00e4hlen', + 'none': + 'nichts', + + // variable dialog + 'for all sprites': + 'f\u00fcr alle', + 'for this sprite only': + 'nur f\u00fcr dieses Objekt', + + // block dialog + 'Change block': + 'Block ver\u00e4ndern', + 'Command': + 'Befehl', + 'Reporter': + 'Funktion', + 'Predicate': + 'Pr\u00e4dikat', + + // block editor + 'Block Editor': + 'Blockeditor', + 'Apply': + 'Anwenden', + + // block deletion dialog + 'Delete Custom Block': + 'Block L\u00f6schen', + 'block deletion dialog text': + 'Soll dieser Block mit allen seinen Exemplare\n' + + 'wirklich gel\u00f6scht werden?', + + // input dialog + 'Create input name': + 'Eingabe erstellen', + 'Edit input name': + 'Eingabe bearbeiten', + 'Edit label fragment': + 'Beschriftung bearbeiten', + 'Title text': + 'Beschriftung', + 'Input name': + 'Eingabe', + 'Delete': + 'L\u00f6schen', + 'Object': + 'Objekt', + 'Number': + 'Zahl', + 'Text': + 'Text', + 'List': + 'Liste', + 'Any type': + 'Beliebig', + 'Boolean (T/F)': + 'Boolsch (W/F)', + 'Command\n(inline)': + 'Befehl', + 'Command\n(C-shape)': + 'Befehl\n(C-Form)', + 'Any\n(unevaluated)': + 'Beliebig\n(zitiert)', + 'Boolean\n(unevaluated)': + 'Boolsch\n(zitiert)', + 'Single input.': + 'Einzeleingabe.', + 'Default Value:': + 'Standardwert:', + 'Multiple inputs (value is list of inputs)': + 'Mehrere Eingaben (als Liste)', + 'Upvar - make internal variable visible to caller': + 'Interne Variable au\u00dfen sichtbar machen', + + // About Snap + 'About Snap': + '\u00dcber Snap', + 'Back...': + 'Zur\u00fcck...', + 'License...': + 'Lizenz...', + 'Modules...': + 'Komponenten...', + 'Credits...': + 'Mitwirkende...', + 'Translators...': + '\u00dcbersetzer', + 'License': + 'Lizenz', + 'current module versions:': + 'Komponenten-Versionen', + 'Contributors': + 'Mitwirkende', + 'Translations': + '\u00dcbersetzungen', + + // variable watchers + 'normal': + 'normal', + 'large': + 'gro\u00df', + 'slider': + 'Regler', + 'slider min...': + 'Minimalwert...', + 'slider max...': + 'Maximalwert...', + 'import...': + 'Importieren...', + 'Slider minimum value': + 'Minimalwert des Reglers', + 'Slider maximum value': + 'Maximalwert des Reglers', + + // list watchers + 'length: ': + 'L\u00e4nge: ', + + // coments + 'add comment here...': + 'Anmerkung hier hinzuf\u00fcgen', + + // drow downs + // directions + '(90) right': + '(90) rechts', + '(-90) left': + '(-90) links', + '(0) up': + '(0) oben', + '(180) down': + '(180) unten', + + // collision detection + 'mouse-pointer': + 'Mauszeiger', + 'edge': + 'Kante', + 'pen trails': + 'Malspuren', + + // costumes + 'Turtle': + 'Richtungszeiger', + 'Empty': + 'Leer', + + // graphical effects + 'brightness': + 'Helligeit', + 'ghost': + 'Durchsichtigkeit', + 'negative': + 'Farbumkehr', + 'comic': + 'Moire', + 'confetti': + 'Farbverschiebung', + + // keys + 'space': + 'Leertaste', + 'up arrow': + 'Pfeil nach oben', + 'down arrow': + 'Pfeil nach unten', + 'right arrow': + 'Pfeil nach rechts', + 'left arrow': + 'Pfeil nach links', + 'a': + 'a', + 'b': + 'b', + 'c': + 'c', + 'd': + 'd', + 'e': + 'e', + 'f': + 'f', + 'g': + 'g', + 'h': + 'h', + 'i': + 'i', + 'j': + 'j', + 'k': + 'k', + 'l': + 'l', + 'm': + 'm', + 'n': + 'n', + 'o': + 'o', + 'p': + 'p', + 'q': + 'q', + 'r': + 'r', + 's': + 's', + 't': + 't', + 'u': + 'u', + 'v': + 'v', + 'w': + 'w', + 'x': + 'x', + 'y': + 'y', + 'z': + 'z', + '0': + '0', + '1': + '1', + '2': + '2', + '3': + '3', + '4': + '4', + '5': + '5', + '6': + '6', + '7': + '7', + '8': + '8', + '9': + '9', + + // messages + 'new...': + 'Neu...', + + // math functions + 'abs': + 'Betrag', + 'floor': + 'Abgerundet', + 'sqrt': + 'Wurzel', + 'sin': + 'sin', + 'cos': + 'cos', + 'tan': + 'tan', + 'asin': + 'asin', + 'acos': + 'acos', + 'atan': + 'atan', + 'ln': + 'ln', + 'e^': + 'e^', + + // delimiters + 'letter': + 'Buchstabe', + 'whitespace': + 'Leerraum', + 'line': + 'Zeilenvorschub', + 'tab': + 'Tabulator', + 'cr': + 'Wagenr\u00fccklauf', + + // data types + 'number': + 'Zahl', + 'text': + 'Text', + 'Boolean': + 'Boole', + 'list': + 'Liste', + 'command': + 'Befehlsblock', + 'reporter': + 'Funktionsblock', + 'predicate': + 'Pr\u00e4dikat', + + // list indices + 'last': + 'letztes', + 'any': + 'beliebiges' +}; diff --git a/locale.js b/locale.js index 5ec6013e..0225e672 100644 --- a/locale.js +++ b/locale.js @@ -42,7 +42,7 @@ /*global modules, contains*/ -modules.locale = '2015-January-21'; +modules.locale = '2015-February-20'; // Global stuff @@ -439,3 +439,39 @@ SnapTranslator.dict.kn = { 'last_changed': '2014-12-02' }; + +SnapTranslator.dict.ml = { + // translations meta information + 'language_name': + 'Malayalam', + 'language_translator': + 'vinayakumar R', + 'translator_e-mail': + 'vnkmr7620@gmail.com', + 'last_changed': + '2015-02-20' +}; + +SnapTranslator.dict.ta = { + // translations meta information + 'language_name': + 'Tamil', + 'language_translator': + 'vinayakumar R', + 'translator_e-mail': + 'vnkmr7620@gmail.com', + 'last_changed': + '2015-02-20' +}; + +SnapTranslator.dict.te = { + // translations meta information + 'language_name': + 'Telagu', // the name as it should appear in the language menu + 'language_translator': + 'vinayakumar R', // your name for the Translators tab + 'translator_e-mail': + 'vnkmr7620@gmail.com', // optional + 'last_changed': + '2015-02-20' +};