Thank you from Blockly!
I'd like to thank you for your recent contributions to Blockly. I see you translated some of the most challenging messages and that you're a former programming instructor. I really appreciate your applying your expertise to translating Blockly.
I've added you to our credits page. Please let me know if you'd like to be referenced differently or have any questions.
Dear Espertus,
Thank you very much for your kind words.
Actually I didn't find my nick on the credit page but it's no matter. I was happy to find this project, which is a) open source b) supported by a solid patron, c) intended for internationalization from the very beginning, d) web-based. Should plans toward professional platform succeed, it would be enormous bust for Blockly as an educational tool, though it's already very promising. I look forward.
-MS (my friends call me Misha, if you don't mind)
Misha, thanks for the kind words; it's clear you understand what we're trying to accomplish.
I indeed forgot to press save on the credits page until this morning. I used your full name, but I'd be happy to change.
Please call me Ellen.
Ellen, looks like it's done for Russian. I wonder if there is any editorial procedure after that, since style and terminology could be different from different contributors.
What is approach toward tutorials translation? And, in long term, is Google planning some international activities for Blockly users (conferences, competitions, etc). Any support of "Blockly community managers"? I think about next step in Russian space. Best, Misha
Thank you so much! There is no editorial procedure except for what volunteers take on. You could choose to review the translations and change inconsistent ones. As for style, please enforce brief and informal.
No, Google is not planning any activities. We do have a [tinyurl.com/Gplus-blockly Google+ page for users] and a Google group for developers. Would you like to create an online community of translators? That would be great!
Thank you, Ellen. I have to take care about editorial work and community. I thought about community of Russian users but translators could be a part of such community. Regarding "brief and informal" it's easier to say than enforce :-). Whereas some content intended for very beginners, other is related to quite formal mathematical and programming concepts. My approach is using most expressive and informal words in situations which are not in area of established formality but otherwise I feel obliged to follow formal approach as much as I could. For example, I can't afford 'function without output'. As we would say in Russia, "function even in Africa is function": function by definition, both in math and programming, returns a value. Sure, in programming you have a trick to define function which always returns null but it would still return something. So, I used 'procedure' there. I'm not fond of teaching 'somehow', with future 're-teaching'. Programming is not just a toy but mass profession, and kids, as soon as they pass initial barrier, should be used to formality and strictness, imho.
We have debated at length whether to use "procedure" or "function" in English, with disagreement and tears. This is indeed a contentious area.
The Blockly philosophy is to make things as simple as possible for beginners, even if that will confuse experts or cause trouble later. That's why we use 1-based indexing, for example.
I wish I knew in advance about the philosophy: I had to develop my approach myself. I share that philosophy but only to some extent. I'm not a native English speaker, and function and procedure in English looks for me equally abstract, and 'function without output' is simply formally incorrect. I wonder how function could win. I also would like to ask your opinion about some decisions I made, which were actually not in line with the philosophy. First, I tried to change English 1.0 to Russian 1,0 but somehow that appeared again as untranslated. Thus, I decided there were some limits for localization, and I decided to keep special characters, according to English tradition. Along with decimal ',', I did avoid Russian sign for #. Is it allowed to replace it?
Sorry. I will modify the instructions page to make it clearer.
Please do use the Russian replacement for "#" and anything else that will make using Blockly easier for beginners.
I don't think it's possible for a translator to replace periods with commas in numbers. Does Russian use a comma where English uses a decimal point?
We added support for having a sign after ordinal numbers for Hungarian. Let me know if it is needed for Russian.
Thank you for all of the care you are taking.
Not sure about ordinal numbers. To the best of my knowledge, it's quite abstract generalization of natural numbers, and such notion should not be presented in general programming system at all. ... Just get it! You are talking about regular meaning of the word, not about special math term (Hungary is famous for math school, and I was afraid they tried to overload the system with math). We have № before ordinal numbers but it's not math sign but rather bureaucratic. I believe it may serve for replacement of #. Probably in some context we may not need special mark for ordinals, I need a fresh look.
And Yes, we use comma in place of decimal point in English. Another place where I was probably mistaken: I followed English in expressions like if block, whereas in Russian it would be more natural to quote "if". I even changed somebody's translations.
Ellen, one more technical question: what can I do with sign for division: it's way too domestic, we use : instead. And more widely accepted / may work internationally I believe.
Check this out on our test server: http://blockly-share.appspot.com/static/apps/code/index.html?lang=ru
Thanks again!
Great! I'll take a closer look later. Question: is to possible to have 2 words instead of do? For if and repeat there is one form in Russian, while for while another form would be more suitable. If we have to choose, I need another thought.
Absolutely! You can use multiple words where English uses one word, or vice versa. Keep in mind, though, our preference for short words.
I am confused while repeat until. Classical until cycle always executed for the first time, and condition checked at the bottom. What is described in Blockly (repeat while false) is another story: it should be named, from my prospective, repeat while not
I see your point. I wasn't there for the block's creation, but my guess is that it was designed to be easy for the beginner to understand, even if that's confusing to the experienced programmer, as discussed here.
Ellen, I have finished. I am more or less confident but I would appreciate if you allow me me to take another look before publishing.
Misha
I'm afraid I'm partly at the mercy of my translatewiki contacts, who decide when to export translations. I can request another export but don't know for sure when it will happen. Is it okay if the current version goes live without any public announcements? That would give you a chance to look it over before many people saw it.
It went live without your newest changes being exported, I'm afraid. You can see the Russian code app here. I won't make a public announcement yet, because I know you want more changes.
Thanks again!
I see, it's published. Good. I'll take another look? and, probably, a bit more correction, though mainly it should be now more or less stable.
For successful translation it's important to have some model of the subject. I prepared some memo about translation of Core, my way. As you'll have a lot more translations, you maybe can extract some ideas for future translators from my notes.
Notes.
"Physical" appearance: program consists of blocks and inputs. Blocks can be joint together, forming structure of a program. Blocks may have "slots?". Some slots to be fulfilled with blocks, some of them - with inputs. Input is a sort of block which can't be used in place of normal block but may have own slots to include other inputs. Input slots may appear differently in blocks: see context menu Inline Inputs/External Inputs. (No sure what to say about segments) [following the logic above, I would name functions as 'block f' and 'input f'. It could be reasonable to have in context menu for set explicit 'create input', and for item "create block set" Logical appearance; Every input has a value. Variable is an input, which value may be changed during program execution. Condition is a value of logical input for if if-else, while. Item is a unit of data structure, like list. Commands (statements) - actions, represented by a set of blocks.
Style of wording. Block text: key word is imperative. Context menu - mostly imperatives. Toolip for block, description: answers on question what block does. Toolip for block, tip: advises user what to do
I just got the requested push of translations. I'll get that out ASAP.
Thanks for the suggested information for future translators. I'm curious whether you think that information is not present on Translating:Blockly or that I shouldn't expect translators to read the whole page.
Regarding my 'notes', I didn't mean anything particularly, it was sharing 'just in case'. If nothing there provokes you to change or add anything in the text for translator, it's OK.
In Russian Code I see now just mess, I don't know what that means.
What do you mean by just seeing mess?
I mean, I don't see blocks to choose on Russian Code page http://blockly-demo.appspot.com/static/apps/code/index.html?lang=ru. I tried from different computers with different browsers: result is still the same. At the same time English Code is OK, so problem looks specific to Russian page. I see, there was an important modification: localized versions got their own url, which is very good, but probably during that reconstruction something went wrong.
Yikes! I'll fix right away.
Post-mortem: This was caused by a "\n" in CONTROLS_IF_TOOLTIP3. I'll modify my scripts to detect this and will improve my testing.
I've sent my fix for review.
Thanks for telling me. I couldn't duplicate this behavior. Could you say more?
FYI, next to be translated is this page.
Do you have any public presence I can link to when announcing the Russian translation?
Turtle: click on Colour - whole menu is moving up click on Logic - again moving up, etc.
Public presence... not sure what you mean. Place of work, titles, organizations I represent, or what?