Cotonti / Open Source PHP Content Management FrameworkContent Management Framework

Maintain localizations up to date

Documentation / Extending Cotonti / Localizations / Maintain localizations up to date

How to keep your localizations up to date

Once Cotonti is translated, it is important to keep your own localizations updated as there may be changes or additions to all the language strings from time to time. This article will show you several ways to keep language files up to date. 

#1. Using Git

The most recent code changes always can be found in Cotonti's Git repository. If you have further knowledge in working with version management, you can install Git on your local machine and also commit your translations directly to the repository so that it can be included as a part of the official Cotonti download pakage. Please contact the developers for more information.
Less experienced users could use the GitHub interface instead. GitHub provides a comparison tool to visualice changes between different versions. A link to these comparisons can be found on every Cotonti release notes page (example: code changes from 0.9.4 to 0.9.5), see Files changed tab.

#2. Offline comparison

When Cotonti's development was managed through a Trac interface, there was a nice text-based comparison format called unified diff. Git and GitHub still provide this comparison method, but viewing many code changes in a web browser sometimes can be a pain. And people who just wish to manage a localization might not wish to deal with versioning systems. However, there is a simple way to bring back the unified diffs. Here's what to do:

  1. Windows users: download and install GNU Diff Utils for Windows
    Linux users don't need to download anything, the diff command should work already
  2. Create a base folder named Cotonti. Now download and extract the latest Cotonti pakage as well as the previous version into this folder (example: cotonti-0.9.4 and cotonti- 0.9.5). Needless to say that it is important to extract every version in it's own subfolder?
  3. Open command line interface or create a batch file inside the base folder with the following command:
    Windows: "C:\Program Files\GnuWin32\bin\diff.exe" -Naur cotonti-0.x.old>patch.txt
    Linux: diff -Naur cotonti-0.x.old>patch.txt
    (Replace Cotonti-0.x.old and with the appropriate version numbers/folder names relative from the base folder)
  4. Last step is to execute the batch file. After the process has finished, a file named patch.txt should appear inside your base folder which you can open with your favorite text editor. That's all!

Now you have an unified diff which you can use to apply all necessary changes to your localization. Simply use the editors search functionality to quickly jump to all language related changes. Search for "en.lang" to jump to the comparison part related to all english files for example. A "-" in the old file part means something was changed or removed, a "+" in the new file indicates an addition or change to one or more lines. Please see diff manual for further information and options to create the diff.

Or use a grafical tool like WinMerge for side-by-side comparison.

#3. Localization tools

Once you use Cotonti with predominantly core modules, you can utilize supported Transifex service to maintain you language files up to date. Transifex is 3rd party service for translation purposes. We use it to manage our language files bundled with Cotonti Siena.

With help of Transifex Web UI you can translate Cotonti language files to you language, be notified on files updates with new versions and get info for untranslated resources. To take part in translation process — just register on Transifex (it's free), select language and apply as a translator.

No comments yet
Only registered users can post new comments