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.
Phrase
Phrase 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 Phrase
If you have decided to give Phrase 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 Phrase 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 Phrase 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 Phrase 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
Phrase does support versioning just as Copycopter does. If you would like to have your Copycopter translation versions in Phrase available as well, just contact us and we will take care of it.
8. Advanced use
Explaining all of the advanced features of Phrase 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 Phrase
There are many differences between the two systems:
Copycopter | Phrase | ||
---|---|---|---|
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 Phrase. No third-party dependencies! |
Upload locale files | automatically with intransparent merging | phraseapp push | Phrase does not override existing translations and will not attempt to perform any merges |
Download locale files | rake copycopter:export | phraseapp pull |