A Godot Engine addon that helps you manage game localization using Google Sheets. Automatically sync translations from Google Sheets to your Godot project and generate type-safe enum files for both GDScript and C#.
- 🔄 Direct Google Sheets Integration: Fetch translations directly from Google Sheets
- 🎯 Type-Safe Enums: Automatically generates enum files for both GDScript and C#
- 📂 Multiple Workspaces: Manage multiple translation sheets for different parts of your game
- 🛠️ Editor Integration: Convenient UI panel in the Godot editor under "Project > Tools > Localization"
- 📦 CSV Export: Automatically exports translations to CSV files in your project
- 🔌 Project Settings Integration: Automatically registers translations in your project settings
- Download this addon
- Copy the
addons/localization_with_google_sheetfolder into your project'saddonsdirectory - Enable the plugin in Godot (Project > Project Settings > Plugins)
- Enable the Plugin:
- Access the Addon:
- Use the Localization panel to manage your workspaces and sync with Google Sheets.
- Click "Project > Tools > Localization" in the Godot editor
- Click "Template" to see the required Google Sheet format
- Create your Google Sheet following the template
- Publish your sheet (see Google Sheet Setup below)
- In the Localization panel:
- Click "+" to add a new workspace
- Enter a name for your workspace
- Paste your Google Sheet URL
- Click "Refresh" to fetch translations
Each workspace creates:
data/localization/<workspace_name>/- Contains CSV filesaddons/localization_with_google_sheet/enum_gd/<workspace_name>_localization_key.gd- GDScript enumsaddons/localization_with_google_sheet/enum_csharp/<workspace_name>_LocalizationKey.cs- C# enums
-
Create a new Google Sheet
-
Click the "Template" link in the addon to see the required format
-
Important: Publish your sheet to the web:
-
Copy the sheet URL from your browser's address bar
-
Paste the URL in the addon's workspace settings
- The sheet must remain published for the addon to work
- Make sure you've selected the correct worksheet, not "Entire Document"
- The format MUST be "Comma-separated values (.csv)"
- If you make changes to your sheet, you may need to click "Share > Publish to web" again to update the published version
The addon is organized into several components:
- WorkspaceManager: Handles CRUD operations for translation workspaces
- CSVFetcher: Downloads CSV data from Google Sheets
- TranslationRegistrar: Processes CSV files and registers translations
- EnumGenerator: Generates type-safe enums from translation keys
- LayoutManager: Manages the editor UI
- LocalizationUtils: Utility functions for URL processing and file operations
Click the "Tutorial" link in the addon panel to watch video tutorials on how to use this addon effectively.
Contributions are welcome! Feel free to submit issues and pull requests.
This project is licensed under the MIT License. See LICENSE for details.



