Migrate from Copycopter to PhraseApp

Copycopter is an open source project that provides a very simple mechanism to edit text bits for Rails templates through an easy-to-use interface. It was originally built by thoughtbot, inc and open-sourced later because thoughtbot canceled their service.

Copycopter is a suitable solution if you only need a possibility to change text in your Rails app without re-deploying it. If you need anything more than that, Copycopter is way too limited in its functionality.

What Copycopter does not provide:

  • Copycopter has no multi-user management
  • Copycopter only supports YAML files
  • Copycopter does not support verification workflows or advanced stats on translation progress
  • Copycopter does not provide commenting or tagging
  • Copycopter does not provide versioning for translations
  • Copycopter does not work as a hosted service - instead you will need to manage the software (copycopter-server) yourself
  • Copycopter is not suitable for large-scale apps since it constantly tries to synchronize content with an external service during runtime
  • Copycopter does not support placeholder highlighting or handle pluralization

Once your application grows and your translation workflows get more complex, you will need an alternative to Copycopter.

PhraseApp

PhraseApp is an advanced translation management platform. It offers a lot of features that you will not find in Copycopter:

  • Multi-Format support (e.g. for YAML, Gettext, XLIFF, iOS Strings or Android XML)
  • Commenting, Tagging and a fast and flexible search
  • A full RESTful API to all resources
  • The powerful In-Context-Editor for your translations
  • Multi-User support with customizable privileges
  • Screenshot upload and description annotations for keys
  • It is completely self-hosted and will not require you to install or maintain any additional software systems

Migrating from Copycopter to PhraseApp

If you have decided to give PhraseApp a try, we are happy to support you with the Copycopter migration guide. Migrating is easy:

1. Export Blurbs

In order to get a list of all current translations, you will need to export the current content from Copycopter to a file. This can be done with the export task:

$ bundle exec rake copycopter:export

This will export all translations to the file ./config/locales/copycopter.yml

2. Sign up and create a project

If you haven’t done already, you should create your free trial account and use our Getting Started Wizard to create your first project.

3. Install the command line client

Download the command line tool and initialize your PhraseApp project:

$ phraseapp init

This will create a .phraseapp.yml config file in your project.

4. Uploading locale files

Upload your files by executing the push command:

$ phraseapp push

After uploading all locales, they are available within your PhraseApp Translation Center.

5. Downloading locale files

After you have translated all of the strings in a new locale or updated some text, you will probably want to download them in order to deploy them to your production system. This can be done with the pull command:

$ phraseapp pull

You can now add the new localization files to your source control and deploy them to production.

6. Advanced use

Explaining all of the advanced features of PhraseApp would certainly go beyond the scope of this guide. We strongly recommend our guides to learn all about the powerful features and how you can use them with your translation workflow.

7. Add Versions/History

PhraseApp does support versioning just as Copycopter does. If you would like to have your Copycopter translation versions in PhraseApp available as well, just contact us and we will take care of it.

8. Advanced use

Explaining all of the advanced features of PhraseApp would certainly go beyond the scope of this guide. We strongly recommend our guides to learn all about the powerful features and how you can use them with your translation workflow.

9. Cleanup

Now you can remove Copycopter from your application:

  • Remove the Copycopter-Client gem from your app
  • Remove the Copycopter initializer from your app

Major differences between Copycopter and PhraseApp

There are many differences between the two systems:

Copycopter PhraseApp
Installation Deploy Copycopter-Server, create a project, add gem to application, start application phraseapp init You do not need to change your application in order to use PhraseApp. No third-party dependencies!
Upload locale files automatically with intransparent merging phraseapp push PhraseApp does not override existing translations and will not attempt to perform any merges
Download locale files rake copycopter:export phraseapp pull

Further reading