Repository: godot
Issue: Inheriting from Translation class in gdscript crashes the Editor & Game on startup
Labels: bug,topic:core,needs testing,crash

### Tested versions

Reproducible in  4.3.stable

### System information

Godot v4.3.stable - macOS 15.1.1 - Vulkan (Mobile) - integrated Apple M3 Pro - Apple M3 Pro (12 Threads)

### Issue description

I am trying to implement my own Translation Class in GDScript to do some data processing in the background. But when I try to use my own class (even when it's an emtpy class that just has name & extends Translation) and add this to the ProjectSettings->Localization the Godot Editor crashes when i reopen the project or when I start the game.
I can't get a log from the editor but the game when launched returns this crash in the log:
```
Godot Engine v4.3.stable.official.77dcf97d8 - https://godotengine.org
Vulkan 1.2.283 - Forward Mobile - Using Device #0: Apple - Apple M3 Pro


================================================================
handle_crash: Program crashed with signal 11
Engine version: Godot Engine v4.3.stable.official (77dcf97d82cbfe4e4615475fa52ca03da645dbd8)
Dumping the backtrace. Please include this when reporting the bug to the project developer.
[1] 1   libsystem_platform.dylib            0x000000018ed40184 _sigtramp + 56
[2] GDScriptParser::parse_identifier() (in Godot) + 36
[3] GDScriptParser::parse_class_name() (in Godot) + 228
[4] GDScriptParser::parse_program() (in Godot) + 1404
[5] GDScriptParser::parse(String const&, String const&, bool, bool) (in Godot) + 1956
[6] GDScriptParserRef::raise_status(GDScriptParserRef::Status) (in Godot) + 724
[7] GDScriptCache::get_parser(String const&, GDScriptParserRef::Status, Error&, String const&) (in Godot) + 520
[8] GDScriptCache::get_shallow_script(String const&, Error&, String const&) (in Godot) + 644
[9] GDScriptCache::get_full_script(String const&, Error&, String const&, bool) (in Godot) + 220
[10] ResourceFormatLoaderGDScript::load(String const&, String const&, Error*, bool, float*, ResourceFormatLoader::CacheMode) (in Godot) + 84
[11] ResourceLoader::_load(String const&, String const&, String const&, ResourceFormatLoader::CacheMode, Error*, bool, float*) (in Godot) + 696
[12] ResourceLoader::_thread_load_function(void*) (in Godot) + 580
[13] ResourceLoader::_load_start(String const&, String const&, ResourceLoader::LoadThreadMode, ResourceFormatLoader::CacheMode) (in Godot) + 1608
[14] ResourceLoaderBinary::load() (in Godot) + 816
[15] ResourceFormatLoaderBinary::load(String const&, String const&, Error*, bool, float*, ResourceFormatLoader::CacheMode) (in Godot) + 784
[16] ResourceLoader::_load(String const&, String const&, String const&, ResourceFormatLoader::CacheMode, Error*, bool, float*) (in Godot) + 696
[17] ResourceLoader::_thread_load_function(void*) (in Godot) + 580
[18] ResourceLoader::_load_start(String const&, String const&, ResourceLoader::LoadThreadMode, ResourceFormatLoader::CacheMode) (in Godot) + 1608
[19] ResourceLoader::load(String const&, String const&, ResourceFormatLoader::CacheMode, Error*) (in Godot) + 84
[20] TranslationServer::_load_translations(String const&) (in Godot) + 296
[21] TranslationServer::load_translations() (in Godot) + 52
[22] Main::setup2(bool) (in Godot) + 11608
[23] Main::setup(char const*, int, char**, bool) (in Godot) + 55888
[24] main (in Godot) + 300
[25] 25  dyld                                0x000000018e988274 start + 2840
-- END OF BACKTRACE --
================================================================

```

### Steps to reproduce

Create a GDScript class that extends Translation, create an Resource instance of it and set it under ProjectSettings->Localization.

```
@tool
class_name  TranslationGoogleSheet
extends Translation
````

A simple class like this is enough.

### Minimal reproduction project (MRP)

This Project has the most simple Translation class & an instance of the resource set as localization. When you try to open the project the Godot Editor immediately crashes. To open the project, remove the Localization Setting from the project.godot file.
```locale/translations=PackedStringArray("res://test.translation")```

[godot_localization_bug.zip](https://github.com/user-attachments/files/18300495/godot_localization_bug.zip)