public async Task <bool> PushStringsToTransifexAsync(ImmutableArray <SOString> strings)
        {
            using (MiniProfiler.Current.Step("Pushing strings to Transifex"))
            {
                ByteArrayContent byteContent;
                using (MiniProfiler.Current.Step("Serializing the payload"))
                {
                    var content = Jil.JSON.Serialize(strings.Select(s => new TransifexStringToPush
                    {
                        Key         = s.Key,
                        Translation = s.Translation
                    }));

                    var buffer = Encoding.UTF8.GetBytes(content);
                    byteContent = new ByteArrayContent(buffer);
                    byteContent.Headers.ContentType = new MediaTypeHeaderValue("application/json");
                }

                bool success;
                using (MiniProfiler.Current.Step("Posting to Transifex"))
                {
                    var client   = GetHttpClient();
                    var response = await client.PutAsync(_resourcePath, byteContent);

                    success = response.IsSuccessStatusCode;
                }

                if (success)
                {
                    await _soStringService.UpdateStringsPushed();
                }

                return(success);
            }
        }