Skip to content

🇬🇧/🇺🇸 Report a typo/misspelling/inconsistent name (English) #927

Open

Description

@4ian

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:

  • where it can be found.
  • what is the mistake/inconsistency/proper spelling and how to fix it.
  • a screenshot if possible.

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.

Activity

  1. Endoperez commented on Feb 6, 2019

    @Endoperez

    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".

    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_

  2. 4ian commented on Feb 6, 2019

    @4ian
    OwnerAuthor

    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.

    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.

  3. 4ian commented on Feb 6, 2019

    @4ian
    OwnerAuthor

    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 :)

  4. Endoperez commented on Feb 7, 2019

    @Endoperez

    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.

  5. zatsme commented on Feb 7, 2019

    @zatsme
    Contributor

    Count how many objects of this type

    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! 🤔

  6. Endoperez commented on Feb 7, 2019

    @Endoperez

    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:

    1. Help new users who have no idea what they're doing.
    2. 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!

    Yup! It can be fun too, though.

  7. 4ian commented on Feb 7, 2019

    @4ian
    OwnerAuthor

    Maybe a Google Sheet file?

    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).

  8. Lizard-13 commented on Feb 7, 2019

    @Lizard-13
    Contributor

    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_ :)

  9. 4ian commented on Feb 7, 2019

    @4ian
    OwnerAuthor

    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.

  10. pinned this issue on Feb 9, 2019
  11. Endoperez commented on Feb 10, 2019

    @Endoperez

    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.

  12. 4ian commented on Feb 10, 2019

    @4ian
    OwnerAuthor

    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.

  13. Endoperez commented on Feb 10, 2019

    @Endoperez

    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.

  14. 4ian commented on Feb 10, 2019

    @4ian
    OwnerAuthor

    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?

    On the left on my GitHub profile ;) https://github.com/4ian

    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 :)

  15. 203 remaining items

  16. Bubble-one commented on Jul 18, 2024

    @Bubble-one
  17. added a commit that references this issue on Jul 18, 2024
  18. Bouh commented on Jul 18, 2024

    @Bouh
    Collaborator

    https://wiki.gdevelop.io/gdevelop5/tutorials/how-to-debug-poor-performance/#fps-counter

    Small thing: Missing "

    Thank you Bubble-one we made the correction.

  19. MTSyntho commented on Jan 1, 2025

    @MTSyntho
    Contributor

    There's 2 width parameters, presumably, the other one should be height
    This can be found under the new 3D physics behavior

    image

    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

  20. Bouh commented on Jan 2, 2025

    @Bouh
    Collaborator

    This has been fixed here:
    #7268

  21. MTSyntho commented on Jan 2, 2025

    @MTSyntho
    Contributor

    ooo alright then 👍

  22. cybergatovgm commented on Feb 13, 2025

    @cybergatovgm

    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

    Image

  23. Bubble-one commented on May 12, 2025

    @Bubble-one

    Image

    3D Model, properties, warning for Material, chose should be choose

  24. Bubble-one commented on Jun 5, 2025

    @Bubble-one

    Shape painter action- Begin fill path, the event action says Begins instead of Begin

    Image

  25. Bouh commented on Jun 5, 2025

    @Bouh
    Collaborator

    Thank you @Bubble-one for the heads up on these typo, it's fixed in this PR:
    #7639

  26. Bubble-one commented on Jul 10, 2025

    @Bubble-one

    Not really important, but it hurts my eyes haha. The default name for the 3d Ambient light layer effect has the letter m twice.

    Image
  27. ibarra617 commented on Nov 6, 2025

    @ibarra617

    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! 😊

  28. Bubble-one commented on Feb 15, 2026

    @Bubble-one

    Add new object - Light
    It says Add then the light obstacle

    It could say Add the light or Then add the light

    Image
  29. Assemlal11 commented on Jul 19, 2026

    @Assemlal11

    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?

  30. Bubble-one commented on Aug 18, 2026

    @Bubble-one

    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/



    Image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    😤Non optimal UIA bug/issue where the UI is usable but not optimal

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions