Not sure about how to title this post.
I just inherited a set of internationalization documents, each containing an array of key value pairs. I recognize the methodology is not ideal, it is however, what I’m stuck with given my role, the time and resources I have available. These lists were created by hand and items were constantly being added haphazardly to keep up with demand. The examples below are simplified, there are ~21 language files, each with 100+ entries.
The array from one file will have elements something like the below:
'download_high' => 'Vysoké',
'download_low' => 'Nízké',
'download_med' => 'Strední',
'download_video' => 'Stáhnout video',
While another file will have something like the following:
'download_video' => 'Descargar Video',
'download_high' => 'Alta',
'download_med' => 'Media',
'download_low' => 'Baja',
For the most part, the elements are ordered consistently, but there are plenty of exceptions and it complicates maintaining the files. I was wondering if there’s a way to make the order / formatting of these arrays consistent either via an IDE or notepad++ plugin, etc. I don’t want to order them alphabetically necessarily as there are logical groupings that won’t translate well to alphabetical sorting since only some of the variables are namespaced. Doing it by hand is almost out of the question, but it would be nice if there were some way to specify an order and have some kind of text manipulation tool batch process the files. I’m not all that familiar with php, so I don’t know that it would be worth it for me to do this via code unless it’s very simple.
Given the situation I’d do it semi-automatically on an as-needed basis. That is, it sounds to me like you’re charged with maintaining these files, and it’s in the maintenance that the sorting becomes an issue.
For each language file formatted like:
sort lang.es.phpcommand in bash, or via however you prefer to sort something.Honestly, it was a super bad idea for your predecessor to effectively hard-code something like this. It would be much better if this were stored via CSV, XML, pg/mySQL, etc where you could at least invoke an editor that understands the data format.