You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
🇬🇧/🇺🇸 Report a typo/misspelling/inconsistent name (English) #927
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".
Change the X position of Box: X = 3
Modify the value of Box's variable: hitpoints + 5
Change the value of a scene variable: enemies - 2
Modify the value of a scene variable: enemies + 2
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
Current description in the event sheet: Do _PARAM1__PARAM2_ to the X position of _PARAM0_
Better decription in the event sheet: Change the X position of _PARAM0_
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
Current description: Pick only one object with this name, among all
Better description: Pick one object from all the objects of this type. When an object is picked, the actions of this event work only on that object.
Common conditions for all objects - Objects - Pick all objects
Current description: Pick all objects with this name
Better description: Pick all objects of this type. When you pick all objects of this type, the actions of this event work on all of them.
Current description in the editor: Pick all _PARAM1_
Better description in the editor: Pick all _PARAM1_ objects
Common conditions for all objects - Obejcts - Objects count
Current name: Objects count
Better name: Count objects OR Number of objects
Current description: Compare the number of picked objects
Better description: Count how many objects of this type exist in the current scene, and compare that number to a value.
Current description in the event sheet: The number of _PARAM0_ is _PARAM1_ _PARAM2_
Better description in the event sheet: The number of _PARAM0_ objects is _PARAM1 _PARAM2_
Common conditions for all objects - Objects - Pick nearest object
Current description: Among the objects, pick the one that is nearest (or furthest if condition is inverted) from the specified position.
Better description: Pick the object of this type that is nearest to the specified position. If the condition is inverted, the object farthest from the specified position is picked instead.
Current description in the event sheet: Pick nearest _PARAM0_ to _PARAM1_;_PARAM2_
Better description in the event sheet: Pick the _PARAM_ that is nearest to _PARAM1_;_PARAM2_
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.
Pick a random object
Fixed the description.
Pick all objects
Fixed both descriptions.
Objects count
Fixed what you mentioned.
Pick nearest object
Fixed both descriptions.
As for the Do _PARAM1__PARAM2_ to the X position of _PARAM0_, which is the hardest part:
It's important to keep the value and operator visible (otherwise you can't check what's being modified just by reading the events - which is a really important feature).
Change the value of a scene variable: enemies - 2 is maybe a bit better, but might be read as "set the value to enemies - 2" rather than be understood as "subtract 2 to enemies".
Actually, other similar game creator have gone the way of having only a few actions : "Subtract X from Y", "Add X to Y", "Set Y to X".
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.
Any way, here's what changing ONE of those 120+ lines would look like here in GitHub.
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.
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.
On the Objects Count condition, I didn't understand how it worked, so the description is inaccurate. I thought I tested it, but I only tested if it worked like how I thought it worked, and not any other cases... Oops!
Original description: Compare the number of picked objects
My previous description (wrong): Count how many objects of this type exist in the current scene, and compare that number to a value.
Fixed description: Count how many objects of this type are currently picked, and compare that number to a value. If conditions and pick commands have not been used, this condition counts how many objects of this type exist in the current scene.
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:-
Count how many objects of this name, or how many objects are in the group with this name are currently picked, and compare that number to a value. If conditions and pick commands have not been used, this condition counts how many objects with this name, or how many objects in the group with this name exist in the current scene.
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! 🤔
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.....
Thanks for the feedback!
Finding the right words first is important, that's true! I've only used GDevelop a little, and I'm not very familiar with it, so I make lots of mistakes like these. I think it'd be better to first discuss these things, and only put them in after some consideration.
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?
Value of score, value of box, value of ammo, value of bullets
score's value, box's value, ammo's value, bullets's value
variable of PARAM1, or _PARAM1's variable?
Box's variable, sheep's variable, wolves's variable, all enemies's variable
variable of Box, variable of sheep, variable of wolves, variable of all enemies
Of course, it can be bypassed altogether:
scene variable's value: Score = 1, etc
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!
What is the purpose of the descriptions in GDevelop itself? I think they have two distinct purposes:
Help new users who have no idea what they're doing.
Refresh the memory of people who have used it before, but aren't sure how it works.
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.
It's not so easy to come up with good short descriptions!
That's a good idea :) People that want to help can request edition permission
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.
File and line references are fine if you can include them next to the old string/new string in the spreadsheet :)
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
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.
An Object Type is: Sprite, Tiled Sprite, Text, Shape Painter, Particle Emitter...
They are represented in the game engine by objects called XXXRuntimeObject. For example, gdjs.SpriteRuntimeObject.
An Object is Player, Enemy, GrassPlatform, etc...
Actually, the "Object" represents the full configuration: the name, the behaviors, the animations in case of a Sprite, the properties in general. That's why internally the editor is called "ObjectEditor".
The object name is "Player", "Enemy", "GrassPlatform" and is a unique identifier (across the scene) (or across the game) for the object.
An Instance is an object that is living on the scene.
The editor refers to the them as instance. Internally, it's called an "InitialInstance" (because it's something that is initially on the scene, at the beginning).
During the game, "living" instances of the objects are instances of XXXRuntimeObject. For example, if you create a Player, GDevelop will create a new instance of gdjs.SpriteRuntimeObject and initialize it with the properties and animations stored in the "Player" object. ("Runtime" is the term that convey the meaning that these are the "living" things being displayed on screen).
I should probably make a documentation page with this :)
So I've changed the description of "Number of objects" to:
Count how many of the specified objects are currently picked, and compare that number to a value. If previous conditions on the objects have not been used, this condition counts how many of these objects exist in the current scene.
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.
The full, right name for this should be "Count how many of the instances of the specified object are currently picked [...]". But it's super verbose and I think it's fine to just say "Count how many objects".
I've updated the other description to remove "object with this type" and just say "object" :)
value of PARAM1, or PARAM1's value
variable of PARAM1, or _PARAM1's variable
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 's with some part of a text or something like that (unlikely, but still).
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_ :)
@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).
The .po files can be opened in Poedit, which is a free translation program.
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.
You can make a "translation" and then send it to me and I'll try to apply all messages to the source code.
A spreadsheet would still be better for collaboration and so that I can note what is fixed and what is not.
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.
I'll get to work on the Finnish translation too, then.
Cool, thanks! Will be great to have a high quality translation to highlight :)
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
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.
I had trouble finding your e-mail address, I think?
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!
Nice! If you have anything online let me know and I can feature it on the website in Education page too :)
Typo in one of the English words on Crowdin, not sure from what extension this originates from (I'm guessing the physics engine extension from the description). "biggeer" is misspelled, it should be "Bigger".
Hi, I would like to help with this issue by finding and correcting an English typo or inconsistent name in the GDevelop interface. I plan to identify a specific instance, locate the text in the source code, and submit a focused pull request. Could I be assigned to this issue, or is there a specific typo that would be appropriate for a first contribution?
Activity
Endoperez commentedon Feb 6, 2019
I made a thread about this on the Crowdin page, here:
https://crowdin.com/project/gdevelop/discussions/18
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
Current description in the event sheet:
Do _PARAM1__PARAM2_ to the X position of _PARAM0_Better decription in the event sheet:
Change the X position of _PARAM0_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
Current description:
Pick only one object with this name, among allBetter description: Pick one object from all the objects of this type. When an object is picked, the actions of this event work only on that object.
Common conditions for all objects - Objects - Pick all objects
Current description:
Pick all objects with this nameBetter description:
Pick all objects of this type. When you pick all objects of this type, the actions of this event work on all of them.Current description in the editor:
Pick all _PARAM1_Better description in the editor:
Pick all _PARAM1_ objectsCommon conditions for all objects - Obejcts - Objects count
Current name:
Objects countBetter name:
Count objectsORNumber of objectsCurrent description:
Compare the number of picked objectsBetter description:
Count how many objects of this type exist in the current scene, and compare that number to a value.Current description in the event sheet:
The number of _PARAM0_ is _PARAM1_ _PARAM2_Better description in the event sheet:
The number of _PARAM0_ objects is _PARAM1 _PARAM2_Common conditions for all objects - Objects - Pick nearest object
Current description:
Among the objects, pick the one that is nearest (or furthest if condition is inverted) from the specified position.Better description:
Pick the object of this type that is nearest to the specified position. If the condition is inverted, the object farthest from the specified position is picked instead.Current description in the event sheet:
Pick nearest _PARAM0_ to _PARAM1_;_PARAM2_Better description in the event sheet:
Pick the _PARAM_ that is nearest to _PARAM1_;_PARAM2_4ian commentedon Feb 6, 2019
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
Do _PARAM1__PARAM2_ to the X position of _PARAM0_, which is the hardest part:Change the value of a scene variable: enemies - 2is maybe a bit better, but might be read as "set the value to enemies - 2" rather than be understood as "subtract 2 to enemies".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.
4ian commentedon Feb 6, 2019
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 :)
Endoperez commentedon Feb 7, 2019
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.
On the Objects Count condition, I didn't understand how it worked, so the description is inaccurate. I thought I tested it, but I only tested if it worked like how I thought it worked, and not any other cases... Oops!
Original description:
Compare the number of picked objectsMy previous description (wrong):
Count how many objects of this type exist in the current scene, and compare that number to a value.Fixed description:
Count how many objects of this type are currently picked, and compare that number to a value. If conditions and pick commands have not been used, this condition counts how many objects of this type exist in the current scene.zatsme commentedon Feb 7, 2019
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! 🤔
Endoperez commentedon Feb 7, 2019
Thanks for the feedback!
Finding the right words first is important, that's true! I've only used GDevelop a little, and I'm not very familiar with it, so I make lots of mistakes like these. I think it'd be better to first discuss these things, and only put them in after some consideration.
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?
Value of score, value of box, value of ammo, value of bullets
score's value, box's value, ammo's value, bullets's value
variable of PARAM1, or _PARAM1's variable?
Box's variable, sheep's variable, wolves's variable, all enemies's variable
variable of Box, variable of sheep, variable of wolves, variable of all enemies
Of course, it can be bypassed altogether:
scene variable's value: Score = 1, etc
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.
4ian commentedon Feb 7, 2019
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.
XXXRuntimeObject. For example,gdjs.SpriteRuntimeObject.gdjs.SpriteRuntimeObjectand initialize it with the properties and animations stored in the "Player" object. ("Runtime" is the term that convey the meaning that these are the "living" things being displayed on screen).I should probably make a documentation page with this :)
So I've changed the description of "Number of objects" to:
Count how many of the specified objects are currently picked, and compare that number to a value. If previous conditions on the objects have not been used, this condition counts how many of these objects exist in the current scene.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.
The full, right name for this should be "Count how many of the instances of the specified object are currently picked [...]". But it's super verbose and I think it's fine to just say "Count how many objects".
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
'swith some part of a text or something like that (unlikely, but still).Lizard-13 commentedon Feb 7, 2019
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_ :)
4ian commentedon Feb 7, 2019
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.
Endoperez commentedon Feb 10, 2019
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.
4ian commentedon Feb 10, 2019
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.
You can make a "translation" and then send it to me and I'll try to apply all messages to the source code.
A spreadsheet would still be better for collaboration and so that I can note what is fixed and what is not.
Let me know how it goes :) And thanks for the time you're investing in this! Appreciate it.
Endoperez commentedon Feb 10, 2019
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.
4ian commentedon Feb 10, 2019
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 :)
203 remaining items
Bubble-one commentedon Jul 18, 2024
https://wiki.gdevelop.io/gdevelop5/tutorials/how-to-debug-poor-performance/#fps-counter
Small thing: Missing "
Update how-to-debug-poor-performance.md
Bouh commentedon Jul 18, 2024
Thank you Bubble-one we made the correction.
MTSyntho commentedon Jan 1, 2025
There's 2 width parameters, presumably, the other one should be height
This can be found under the new 3D physics behavior
i was gonna make a pr but i dont understand nothin' ;-;
https://github.com/4ian/GDevelop/blob/master/newIDE/app/src/BehaviorsEditor/Editors/Physics3DEditor/index.js
Bouh commentedon Jan 2, 2025
This has been fixed here:
#7268
MTSyntho commentedon Jan 2, 2025
ooo alright then 👍
cybergatovgm commentedon Feb 13, 2025
Typo in one of the English words on Crowdin, not sure from what extension this originates from (I'm guessing the physics engine extension from the description). "biggeer" is misspelled, it should be "Bigger".
https://crowdin.com/project/gdevelop/activity-stream?lang=63&translation_id=684138
Bubble-one commentedon May 12, 2025
3D Model, properties, warning for Material, chose should be choose
Bubble-one commentedon Jun 5, 2025
Shape painter action- Begin fill path, the event action says Begins instead of Begin
Bouh commentedon Jun 5, 2025
Thank you @Bubble-one for the heads up on these typo, it's fixed in this PR:
#7639
Bubble-one commentedon Jul 10, 2025
Not really important, but it hurts my eyes haha. The default name for the 3d Ambient light layer effect has the letter m twice.
ibarra617 commentedon Nov 6, 2025
Hi everyone!
I’ve submitted a small pull request to fix a few grammar and punctuation issues in contributing.md.
Added a comma after “In this guide”
Replaced “shall” with “follow these steps” for clarity
Removed a duplicated “be”
PR link: #383
Thanks for maintaining such a clear and welcoming documentation repo! 😊
Bubble-one commentedon Feb 15, 2026
Add new object - Light
It says Add then the light obstacle
It could say Add the light or Then add the light
Assemlal11 commentedon Jul 19, 2026
Hi, I would like to help with this issue by finding and correcting an English typo or inconsistent name in the GDevelop interface. I plan to identify a specific instance, locate the text in the source code, and submit a focused pull request. Could I be assigned to this issue, or is there a specific typo that would be appropriate for a first contribution?
Bubble-one commentedon Aug 18, 2026
The wiki gameplay test page still says it's coming in the next release. I've used it a couple of times so I assume it's considered 'live'. https://wiki.gdevelop.io/gdevelop5/interface/gameplay-tests/
