Recently some of our projects have required multiple language support as part of the build. Our CMS of choice gives us a lot of flexibility in setting up our sites to be ready for such multi-lingual content, and where possible we enjoy giving our clients as much control over their site as possible.
However, there are many parts of a user interface that do not necessarily require frequent updates. Items such as form labels, button text and error messages that could make the CMS intimidating and confusing. Even worse, it could also make it far more difficult to upgrade the site as a client's business expands, for example what happens if a new form is required? Or a new language?
We don't like quick fixes at the expense of future growth
We don't like quick fixes at the expense of future growth, so we decided to tackle to problem with a small plugin for Perch. Announcing the Perch Translations App!
The app allows us and other developers to create simple files that contain the non-editable text for the site. These text snippets are called throughout the site using a simple key / value syntax and can be included in both template files and standard PHP files.
How these files are structured is entirely up to the developer and the needs of the project.
Once a site has been converted to using the app, simply changing a setting can change the user interface text to a new language. This means that one codebase can be used for multiple domains (eg, en-business.com and fr-business.com) or a single site can serve multiple languages - useful for any multi-lingual nations out there.
You can find out more about the capabilities of the app, as well as setup instructions and how to call translatable text in Perch templates by visiting the Github repository: https://github.com/RootStudio/Perch-Translations-App.
If there are any problems or questions please create an issue on Github and we'll see what we can do to help.