static void PushExtension(GoogleSheetsExtension googleExtension)
        {
            // Setup the connection to Google
            var googleSheets = new GoogleSheets(googleExtension.SheetsServiceProvider);

            googleSheets.SpreadSheetId = googleExtension.SpreadsheetId;

            // Now send the update. We can pass in an optional ProgressBarReporter so that we can updates in the Editor.
            googleSheets.PushStringTableCollection(googleExtension.SheetId, googleExtension.TargetCollection as StringTableCollection, googleExtension.Columns, new ProgressBarReporter());
        }
        public static void PushProjectLocales()
        {
            // Setup the connection to Google
            var sheetServiceProvider = GetServiceProvider();
            var googleSheets         = new GoogleSheets(sheetServiceProvider);

            googleSheets.SpreadSheetId = "My spread sheet id"; // We need to provide the Spreadsheet id. This can be found in the url. See docs for further info.

            // Prepare the data we want to push.
            // You should provide your String Table Collection name here
            var tableCollection = LocalizationEditorSettings.GetStringTableCollection("My Strings");

            // CreateDefaultMapping will create a KeyColumn and a LocaleColumn for each Locale in the project.
            var columnMappings = ColumnMapping.CreateDefaultMapping();
            int mySheetId      = 123456; // This it the id of the sheet in the Google Spreadsheet. it will be in the url after `gid=`.

            // Now send the update. We can pass in an optional ProgressBarReporter so that we can see updates in the Editor.
            googleSheets.PushStringTableCollection(mySheetId, tableCollection, columnMappings, new ProgressBarReporter());
        }
        public static void PushEnglish()
        {
            // Setup the connection to Google
            var sheetServiceProvider = GetServiceProvider();
            var googleSheets         = new GoogleSheets(sheetServiceProvider);

            googleSheets.SpreadSheetId = "My spread sheet id"; // We need to provide the Spreadsheet id. This can be found in the url. See docs for further info.

            // Prepare the data we want to push.
            // You should provide your String Table Collection name here
            var tableCollection = LocalizationEditorSettings.GetStringTableCollection("My Strings");

            // We need configure what each column will contain in the sheet
            var columnMappings = new SheetColumn[]
            {
                // Column A will contain the Key
                new KeyColumn {
                    Column = "A"
                },

                // Column B will contain any shared comments. These are Comment Metadata in the Shared category.
                new KeyCommentColumn {
                    Column = "B"
                },

                // Column C will contain the English Locale and any comments that are just for this Locale.
                new LocaleColumn {
                    Column = "C", LocaleIdentifier = "en", IncludeComments = true
                },
            };

            int mySheetId = 123456; // This it the id of the sheet in the Google Spreadsheet. it will be in the url after `gid=`.

            // Now send the update.
            googleSheets.PushStringTableCollection(mySheetId, tableCollection, columnMappings);
        }