Skip to content

Conversation

@ScratchFakemon
Copy link
Contributor

Locale is an extension for registering manual translations. This is useful if you want real, human-created translations instead of simple machine ones that the Translate extension provides. This isn't the most feature-filled extension and it didn't take too long to make, so there may be weird bugs or problems.

@github-actions github-actions bot added the pr: new extension Pull requests that add a new extension label Jan 17, 2026
@ScratchFakemon
Copy link
Contributor Author

!format

@ScratchFakemon
Copy link
Contributor Author

Ignore the random commits about temp files and changing the deployment branch, the former were for creating the folder on GitHub web and the latter were so I could preview the gallery with these changes (which didn't end up working). These were reverted.

@ScratchFakemon
Copy link
Contributor Author

I'm working on a block for getting the user's language code as opposed to the Translate extension's language name feature, just need to actually figure out how to get the TurboWarp language

@ScratchFakemon
Copy link
Contributor Author

!format

@ScratchFakemon
Copy link
Contributor Author

Eslint warnings are because of the format changing comment positions, 1 sec

@ScratchFakemon
Copy link
Contributor Author

grr

@ScratchFakemon
Copy link
Contributor Author

FINALLY

@ScratchFakemon
Copy link
Contributor Author

Before I forget, I'll update image attributions

@ScratchFakemon
Copy link
Contributor Author

wow im so glad my markdown didnt trigger a type warning

@ScratchFakemon ScratchFakemon marked this pull request as draft January 19, 2026 02:32
@ScratchFakemon
Copy link
Contributor Author

ScratchFakemon commented Jan 19, 2026

Things to eventually get done

Last updated: January 19, 2026
These are in chronological order of when I wanted them done.
  • Add blocks for converting between language codes and names (likely with a large lookup table): (name of language code [es v]) and (code of language named [Spanish v])
  • Add a proper list of languages for the above blocks to call
  • Allow any translation of a language's name to be used in codeFromName, similarly to the Translate extension
  • Add documentation
  • Update documentation

@ScratchFakemon
Copy link
Contributor Author

!format

DangoCat and others added 2 commits January 19, 2026 16:47
@ScratchFakemon
Copy link
Contributor Author

Now I just need documentation, which shouldn't be difficult

@ScratchFakemon
Copy link
Contributor Author

!format

@ScratchFakemon
Copy link
Contributor Author

no clue why i'm using this comment section as a devlog when that's not what this is for but it seems ready to mark as ready for review

@ScratchFakemon ScratchFakemon marked this pull request as ready for review January 20, 2026 01:01
@SharkPool-SP
Copy link
Collaborator

this is just an JSON extension for a specific use. You can use the general-purpose JSON extension and replicate this...

@ScratchFakemon
Copy link
Contributor Author

this is just an JSON extension for a specific use. You can use the general-purpose JSON extension and replicate this...

image

@SharkPool-SP
Copy link
Collaborator

the actual translation part

@ScratchFakemon
Copy link
Contributor Author

the actual translation part

What do you suggest I change?

@SharkPool-SP
Copy link
Collaborator

Remove that portion

@ScratchFakemon
Copy link
Contributor Author

Remove that portion

I know this comment might sound rude at first, but it's argumentative. I'm proving my point and why I believe that the blocks can stay in the extension.

TurboHook, despite being almost fully replaceable by the HTTP and JSON extensions, still exists. Utilities and Fetch share a fetch block. Asset Manager and ShovelUtils can import sprites, costumes, sounds, extensions, and even whole projects. So many extensions have similar, near-identical blocks, Additionally, CONTRIBUTING.md only states that "Extensions that are very similar to existing ones" are discouraged. This extension has a unique purpose: to easily allow for manual translations in the same place. While the documentation for the extension says that the JSON extension can be useful for helping with some blocks, it's not required. The blocks mitigate the need for storing JSON in variables, instead putting everything in one place. Additionally, removing the blocks that could technically be replaced with JSON removes 9 out of 15 blocks—60% of the extension—in favor of a combination of JSON and variables. This includes the merge blocks, which cannot be replicated as easily with the JSON extension (it doesn't have a dedicated merge block), which would have to be removed as they use the data set by other blocks suggested for removal.

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

Labels

pr: new extension Pull requests that add a new extension

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants