Hello,
reading this forum thread, I just thought that our problem with ctransifex might be the same. I've installed ctransifex on one of my local test sites and on
http://virtuemart.net/community/translations
. ctransifex works for the VirtueMart core language files. But we have a seperate project on transifex for plugins (because especially payment plugins are often usable in a single country only), which doesn't work.
Using the transifex client for Windows I can pull the translations from both projects into a single language pack for each language. In ctransifex I've configured two seperate projects, one for the core files and another for the plugins, using the same tx client text file.
However, when trying to build the plugin language files, ctransifex stops working after building the first language pack.
I'm not a developer, so my capabilities to analyse the problem is limited (The VirtueMart devs are currently busy with other important work).
We do have an 'en' language on transifex, too (Originally I intended to use it to store alternative string suggestions for future versions). But deleting the 'en' from the client text file and from the com_ctransifex_configuration lang map doesn't solve the problem. In fact ctransifex does create an 'en' language pack of the core files.
What I can see in Firebug after the ctransifex script stops working is this:
<br />
<b>Warning</b>: Invalid argument supplied for foreach() in <b>...\administrator\components\com_ctransifex\helpers\package.php</b> on line <b>158</b><br />
{"message":"We have created a zip package for ar-AA","status":"success"}
and
JSON.parse: unexpected character
Line 503
Below are lines 502-504:
Object.each(obj,function(value,key){var json=JSON.encode(value);if(json){string.push(JSON.encode(key)+":"+json);}});return"{"+string+"}";case"number":case"boolean":return""+obj;
case"null":return"null";}return null;};JSON.decode=function(string,secure){if(!string||typeOf(string)!="string"){return null;}if(secure||JSON.secure){if(JSON.parse){return JSON.parse(string);
}if(!JSON.validate(string)){throw new Error("JSON could not decode the input; security is enabled and the value is not secure.");}}return eval("("+string+")");
Any hints to solve that problem are welcome