gridly-spreadsheet-CMS / gridly-ue4-plugin

8 stars 5 forks source link

Gridly for UE4

Gridly is the #1 spreadsheet for multi-language content. Bring your digital assets together and localize at speed!

Manage your game’s data as a single source of truth and roll out continuous updates with full localization support & version control.

Prerequisites

Getting Started

Before you use Gridly, you will need to sign up for an account at https://www.gridly.com

Download the Gridly plugin itself, as well as the sample project to get you started:

The sample project is optional, but provides a working example project for reference that has a very basic user interface set up for localization in UE4.

Setting up a Project for Localization

Gridly plugin for UE4 leverages Unreal's built-in tools for localization. If you are not familiar with Unreal's localization pipeline, please consult their documentation.

This guide assumes that you are already familiar with Unreal's tools, and that you've correctly set up all the text in your project for localization using this workflow. The plugin supports both inline source strings and the use of StringTables.

Installing the Plugin

The plugin can be installed as either an engine plugin or a project plugin.

As a Project Plugin

As an Engine Plugin

Enabling the Plugin

To enable the plugin in your project, go to Edit -> Plugins and search for Gridly.

Enable Gridly UE4 Plugin

Once enabled, restart Unreal to load the plugin.

Changing the Localization Service Provider

In the Localization Dashboard, you should now be able to choose Gridly as your Localization Service Provider. Once selected, close the Localization Dashboard and re-open it to load the toolbar buttons.

Choose Localizaton Service Provider

If you do not have access to the Localization Dashboard, you need to enable it. Go to Edit -> Editor Preferences and search for Localization Dashboard to activate it.

Enable Localization Dashboard

Once enabled, restart Unreal to be able to find the Localization Dashboard option under Window -> Localization Dashboard.

Synchronizing with Gridly

Before you can export your source strings to Gridly, you need to first set up a new Grid in Gridly. Here is an example using FIGS:

Create the Grid

You will also need to set up your project to target the same cultures in the Localization Dashboard.

Setting up Cultures

Important! Make sure these locale/culture codes match the ones on Gridly (hover over them to show tooltip). For the sample project, make sure you rename the columns on Gridly src_enUS, tg_frFR, tg_itIT, tg_deDE and tg_esES. To do this in Gridly, choose "Column Properties" on the column header. If you have previously set this up with codes that do not match those in Gridly, or you wish to map them in a different way, see how you can customize the mapping.

Setting up the API keys and view IDs

To communicate with the API, you need to make sure that you have configured the plugin to use the correct API keys. You also need to set which view IDs you wish to use for import/export. See import/export settings for more information.

Exporting Native Source Strings

Once you have made sure that your source and target languages are set up correctly and matching in both Unreal and on Gridly, and you have gathered all your source text, you can now export all source strings by pressing the Export to Gridly-button on the Localization Dashboard.

Export to Gridly

After export, open the Grid in your browser to edit the translations in the browser (may require refresh to see changes).

Importing Translations

After you're done translating, you can import translations for all target cultures back to project with just a single click.

Import from Gridly

Exporting Translations

If you have existing translations in UE4, these can also be exported to Gridly with a single click (you usually only need to do this once).

Export all to Gridly

Live Preview

The Gridly plugin also supports updating translations during runtime using the provided Blueprint functions to enable preview mode:

Enable Live Preview Blueprint

After making changes on Gridly, the translations can then be updated using the following:

Update Live Preview Blueprint

While possible, it is currently not recommended to use this mode in a production build! This functionality is for development only (either in PIE mode or Development build). When final translations are ready, you should import your translations through the Localization Dashboard.

Gridly Data Table

The Gridly Data Table is a data table that can be used like a regular data table in UE4 as part of your game's logic. The extra functionality that this plugin provides is that the data can also be edited through the Gridly web app, and synchronized with UE4 both during development and even in the packaged project. To get started, right click in the asset browser to create a Gridly Data Table:

Create Gridly Data Table

You need to select a Structure data type for each row (or a USTRUCT that inherits FTableRowBase if you're using C++). The difference between GridlyDataTable and a regular data table is that it is mapped to a particular view on Gridly. You can set the view ID that the table is mapped to in the Data Table Details panel:

Set Gridly Data Table View ID

For the plugin to map the data correctly between Gridly and UE4, the variable names of the Structure needs to be named the exact same as the column IDs of the view you are synchronizing with. Create an empty grid on Gridly and create columns with column IDs that match your Structure variables.

Create Gridly Data Grid

Configure Gridly Data Columns

Currently, the Gridly Data Table supports synchronizing Boolean, Integer, Float, String and Enum types.

You can now import/export data from UE4 to Gridly:

Import/export Gridly Data Table

Configuring Gridly

All the settings for Gridly can be found in Edit -> Project Settings -> Plugins -> Gridly. They can also be found in Config/DefaultGame.ini if you prefer to edit these options by hand.

Import/export Settings

API keys and view IDs

Column Mapping Options

Column Mapping Options

Custom Culture Mapping

By default, the Gridly plugin will automatically convert language/culture codes of the format en-US in Unreal to what Gridly uses, which is generally enUS (without the hyphen). You can also completely customize this behaviour by using custom culture mapping.

Custom Culture Mapping