-
Notifications
You must be signed in to change notification settings - Fork 898
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
🇬🇧/🇺🇸 Report a typo/misspelling/inconsistent name (English) #927
🇬🇧/🇺🇸 Report a typo/misspelling/inconsistent name (English) #927
Comments
I made a thread about this on the Crowdin page, here: Here are some of the problems I've noticed. There are quite a lot of these, so it might be faster to do this using a tool actually meant for managing translations, such as crowdin. Github uses a type of formatting where underscores _ are transformed into italics, which is also quite annoying. This just isn't the right tool for this type of work. The most important change, in my opinion, is the "Do =5 to the X of Y". It doesn't work in English. There are many better ways to translate it. There are about 120 lines of translation that would have to be changed. That is a lot of work, and it wouldn't make sense to do that manually one by one, especially on a Github thread. Because this is a big change, all the variations should be discussed first, before one is chosen. For example, which verb to use? Change or Modify? Change is an easier word, and more common. Modify is used when programmers talk about changing values of variables. Should the focus be on making GDevelop easy to use for non-programmers and/or those who have poor English skills, or making it more comfortable for programmers and/or native English speakers to use GDevelop? I think the focus should be on those who don't know how to program, so I would choose "choose", not "modify".
Any way, here's what changing ONE of those 120+ lines would look like here in GitHub. Common conditions for all objects - Position - X position of an object There are many other, less important changes too. Here's an example of the first ones. I just started going down the list one by one, and basically every event could use some spell-checking and grammar fixes. Common conditions for all objects - Objects - Pick a random object Common conditions for all objects - Objects - Pick all objects Common conditions for all objects - Obejcts - Objects count Common conditions for all objects - Objects - Pick nearest object |
This is super useful :) Alas I can't easily "just" create a new english translation because the source code of the software is actually written in English. I could create a translation, but bad translations would stay in the source code, and any change would bring back the bad translation. Better tackle this problem at the ground. With a bit of effort, reports on user side like you did, and update on mine (or by contributors), 90% of the problem will be gone if a few weeks.
Fixed the description.
Fixed both descriptions.
Fixed what you mentioned.
Fixed both descriptions. As for the
What do you think of having then: "Subtract X from Y", "Add X to Y", "Multiply Y by X", "Divide Y by X" "Set Y to X" (rather than "Do [operator]X to Y"). Clicking on Subtract/Add/Multiply/Divide/Set would bring the operator parameter.
I should be able to change this more or less automatically, so this might be actually a huge improvement. Not promising that I'll do the change immediately, but that's something that I can do as part of adding translations to GDevelop 5. |
Created a card for this specific improvement here: https://trello.com/c/0CfDCJIk/248-make-events-sheet-actions-conditions-more-english-like-set-x-to-y-add-y-to-x-y-is-equal-to-x As for everything that is not a "Do [operator][value] to ..." sentence, please report them (at least the one that are the most terrible) and I can fix them :) |
I can make a list, but GitHub posts really aren't the best way of doing this. If nothing else, copying and pasting stuff requires a bit more precision than is necessary. Maybe a Google Sheet file? I could put the lines in their own cells. How should I make it easy for you to replace the original strings? Are you going to search and replace? I can look up file and line references from Crowdin. Also, I found out I already made a mistake on one of the descriptions. Original description: |
Except an object type is sprite, tiled sprite, text object etc... I think it probably should be "Count how many objects with this name", But then you also have groups..... So we now have "Count how many objects with this name, or how many objects are in the group with this name"... Which now gives something like:-
The question is, should the long descriptions be in the wiki using the link from the IDE, or do we put complete descriptions in the IDE, some of which might be very long! It's not so easy to come up with good short descriptions! 🤔 |
Thanks for the feedback! So, there's Object type - when an object is created, it can be a Sprite, a Text Object etc, and these are called Object types. I haven't seen anything in GDevelop 5 UI call these "object types", although GDevelop 4 UI does call them that. Now that I've thought about it a bit more, I can see why the "X of Y" wording was used so much in the existing descriptions. value of PARAM1, or PARAM1's value? variable of PARAM1, or _PARAM1's variable? Of course, it can be bypassed altogether:
What is the purpose of the descriptions in GDevelop itself? I think they have two distinct purposes:
Describing everything accurately and perfectly is unnecessary. New users won't understand the accurate description any way, and if you just need something to remind you how a specific instruction works, it doesn't need to be an accurate and detailed description either. I added some simple explanations to some of the descriptions because to a new user, it isn't clear what "Pick" does, so the command is meaningless. However, counting objects has meaning, even if they don't know that objects can be grouped together, so that information is unnecessary.
Yup! It can be fun too, though. |
That's a good idea :) People that want to help can request edition permission
File and line references are fine if you can include them next to the old string/new string in the spreadsheet :)
Correct - I missed this "detail" but indeed we should avoid the term "Object Type" which is referring to what is the underlying class in source code.
I should probably make a documentation page with this :) So I've changed the description of "Number of objects" to:
i.e: we don't specify object name or object type, but just "object", or "specified object" - to hint that this is about the objects that will be living on the scene. I've updated the other description to remove "object with this type" and just say "object" :)
It's up to you to tell me what sounds better :) The advantage of value of PARAM1 is that there is a better visual distinction/less risk of confusing the quote in |
Tip to avoid the underscore-to-italic problem: You can use "\" to escape special characters, very much like the escape character in programming strings. So if you write "\_PARAM0\_" it's correctly displayed as _PARAM0_ :) |
Nice! I didn't know :) @Endoperez You can still create a spreadsheet and give us the link here, if you think it's easier for you to report things. Actually could be better because it will be easy for me to mark a comment to say if it's fixed or not. |
It looks like I can download a specific language localization as a .po file, which I can get into a spritesheet The .po files can be opened in Poedit, which is a free translation program. The .po file also contains the reference file, e.g. bugreport.cpp:90 , but I haven't figured out how to export that info into an spritesheet. For now, I'm doing these translations into a local .po file, and we can look into better ways to share the final translations later. Also, downloading the .po file is a MUCH easier way to translate a bunch of lines all at ones than doing it on the Crowdin web page! This makes it much faster to translate anything that's more than a handful of lines. |
Nice :) You might want to re-download the PO as I've done a lot of clean up this afternoon. Removed all translations related to GDevelop 4 so that we can concentrate on GDevelop 5 translations (which is more recent and should have an overall higher quality interface).
Yes, that what what I used to recommend to people :) Before moving to Crowdin as this allow easy collaboration (and when translating, their recommendation is really powerful, I just gave it a try and translated dozens of strings by selecting the proper recommendation and fixing a few things sometimes). Though in your case where you're going through existing English messages, poEdit is surely better suited. Let me know how it goes :) And thanks for the time you're investing in this! Appreciate it. |
Ooh, nice! I'll get to work on the Finnish translation too, then. I just did some 180 or so lines in the old file, but it should be relatively quick to move them over to the new file. Knowing which lines I can safely ignore is going to be super useful! I was getting stuck on some of the extensions for a bit, and then realised they're probably only available in GDevelop 4. Currently I'm working on the Finnish translations, but the slowest part in all of this is actually the part where I try to find out the context. Do = 50 to what of what now? :D Once I've worked out the context on the Finnish translation, rewording the English sentences is much faster, too. I was part of a project where I had to recommend a free game engines for some Finnish schools, and write up some tutorials and course materials so the kids (13-16 or so) can learn some game development and stuff. GDevelop was the best free engine I found! It needs quite a bit of polish, but the base engine and its capabilities are good. I now have some free time, so I thought I'd help with polishing it. Now that I think about it, I think I was going to send you an e-mail, but I had to put it off for some reason. I had trouble finding your e-mail address, I think? Any way, I also appreciate the time you're investing in this! It's a great tool, with lots of potential. I'm happy to support you with the stuff I can do, like some rewriting or some UI updates, but you're the one truly carrying the project forward. |
Cool, thanks! Will be great to have a high quality translation to highlight :)
Yeah, after all the cleanup I've removed all strings from GD4 and extensions that are not in GD5. So apart from a few dozens strings that might be there but unused, 99% of translations should up to date for GD5 :) Some things can still be missing context.. in which case look at the source file might help. Otherwise let me know and I'll comment on Crowdin. I think I could also potentially add some description - maybe not for everything but for some strings coming from the editor.
On the left on my GitHub profile ;) https://github.com/4ian
Nice! If you have anything online let me know and I can feature it on the website in Education page too :) |
I think that some of the suggestions in My Suggestion for
is
It really is all in the order of words- the main thing that makes it a bit confusing, as well as using the word 'Do' this:
Its too long. We can communicate the meaning with less words, just as clearly. Also lets avoid using 'Change' and 'Modify', but settle on one word that is shorter and simpler- 'Set'. Using one word reduces complexity, having two suggests different meanings of the action - in both cases we are just setting it. But the word should definitely not be 'Do' |
I suggested something but did not get any feedback:
|
Yes I think that would be ideal! |
Subtract, Add and so on could be more clear, but there are some problems. Basically, localization could become more complex. Subtraction uses 'from', addition 'to', etc. Different languages would do this differently. The best way to ensure the grammar works is to make separate sentences for addition, subtraction, multiplication and division, and replacing/setting. That would require translating 5 sentences instead of 1, for each of the 100+ lines that currently read 'Do +5 to something'. If there is a better way to make it easy to localize these sentences, that would be fine. For example, it is possible to spell out which operation is being used (e.g. add, replace, multiply). Those sentences could be something like this: 'Make a calculation (Addition) that sets the value of variable: VAR + 5' However, I'm not sure how that would be displayed in the text. Would PARAMx be 'add' instead of '+'? Or would there be a way to add the word that describes the operation, but still keep the + symbol and position it separately? This makes the sentences longer. Blurymind mentioned that some of the earlier sentences are too long, though. Why do you think so? It is not a matter of space. There is enough space in the event editor for actions that have very long expressions! Virtual space is free. Is it a matter of easy readability? I can make mock-up screenshots that show how these different variations would look like, and we can discuss which sentences are the most clear. Finally: set, or change, or modify? Set is an interesting option, but my first reaction is that it can be a bit confusing for new users. If you 'change hitpoints' by '-5', that is a subtraction. However, if you 'set hitpoints' by '-5', is the result a subtraction, or is the new value -5? If the operator symbols + - * / are replaced by words, that is not an issue. Again, it is easy to do mockups and discuss the different possibilities once they're visible side by side. I will test 'set' too, even though I prefer 'modify'. |
While we are already talking about taking the "Voldemort route". Why not also adapt the use of icons for global and scene variables (and draw the var icon on top of the globe and scene icon): This would make translations easier and shorten the sentences. If we add the icons to the global/scene variable editor dialogs new users will remember them and know what they stand for in the events sheet. |
I think thats a fantastic idea and will make the event sheet much easier to read. |
If you can do some mockups, that would certainly be useful :)
I was thinking of another approach:
This would allow to avoid having too much translations to do, while still allowing language to define proper translations for each operators.
Haha what is the "Voldemort" route? :D
This is a really nice idea. Actually, since GDevelop 5, the rendering of sentences for action/conditions is very flexible (much more than in GD4. In GD5, all parameters are React components that could be customized), so we could imagine things like icons for all kind of parameters (like small thumbnails representing the objects). |
would become
We need an icon for local variable and one for global. Now sure if 📌is good for local. You could use emojis to draw a lot of these icons, but we also have material-ui. 🚶 could be a small image version of the actual first frame sprite (like construct and clickteam) I think that color information is important, but we could also use material-ui icons. Btw using more icons could potentially reduce the work required for translation |
For the "set", I agree with @Endoperez that this might be confusing:
So ideally, we would have different sentences for these I think.
We can either use: emoji, material-ui icons or more generally any SVG icon. SVG sounds like a good option because emoji are I think to broad/generic.
It would be the object type icon (i.e: the thumbnail that is displayed in objects list). We have to be cautious about perfs (rendering these icons might be a bit long on lower end devices) |
Using icons can potentially be the single biggest improvement to the event sheet imo. If we get the code down and use placeholder icons, we can later on replace them with custom/better ones |
I prefer 4ians subtract, add, multiply and divide with the addition of wend1gos icon idea 😁 |
+1 for custom SVG icons. (I only used the emojis for a quick sketch) |
Its worth considering that these icons need to work for both the light and dark theme Do we have a list of what icons are required? If they are a font, any color could be applied to them as they would be themable? |
Yes for SVG. For example, Icons in exporter dialog are SVG and are adapted to the theme. See for example: https://github.com/4ian/GDevelop/blob/master/newIDE/app/src/UI/CustomSvgIcons/Cordova.js So size does not really matter, as we should aim for SVG. They will be rendered at 16x16 (but on Retina screens, this means 32x32 pixels or more). |
Thank you @Bell07734 I fixed it there: Thank you too @Bubble-one I fixed it too. |
In the wiki guide for submitting examples it says are instead of is |
In the wiki guide for submitting examples just a bit further down the page from the above, it says behind instead of begins Above is the screenshot of the original text at: |
Thanks @Bubble-one |
The screenshot that has behind instead of begins is taken from the link above which is the submit new example issue page. That's where the original mistake was and it's still there. And now the wiki says begins but a few other typos have crept in, haha. |
I don't think I'm viewing a cached version. For me, the original typo on github for a new example issue is still there. And some inconsistencies with com.example but the grave accented c as in the screenshot didn't appear for me when I checked a different browser. https://github.com/GDevelopApp/GDevelop-examples/issues/new?assignees=&labels=%E2%9C%A8+New+example&template=new-example.md&title=New+example |
Cloud Firebase Database/Fields/Check of existence for a document field In the description it says "Set the results variable to 1 if it exists else to 2" The results variable is returning true if it exists else to false So the fix should be: |
@Bouh sorry for the ping, but i see you are the one fixing the miss typo recently. |
I'll let @arthuro555 make the changes, because seem the function return different type of values. |
Thanks, we're fixing it 👍 |
Top of page at - https://wiki.gdevelop.io/gdevelop5/publishing/ios/ |
Thanks for reporting @Bubble-one Feel free to submit fixes directly to the Wiki Documentation Github repository by opening a PR :) |
This text is not translated into the engine. |
I just saw this now and already made an issue but all the details should be listed here 😅 |
https://wiki.gdevelop.io/gdevelop5/tutorials/how-to-debug-poor-performance/#fps-counter Small thing: Missing " |
Thank you Bubble-one we made the correction. |
This issue is to gather any inconsistent naming/typo/mistakes in GDevelop interface.
This is only for the English language - translations are managed on Crowdin and should be fixed there ;)
So if you spot any issue, please report it here by indicating:
Note that GDevelop is open-source, so you can search in the source code for the text and submit a Pull Request to fix it 🎉
Thanks in advance for any report.
The text was updated successfully, but these errors were encountered: