the "i18n.py" file in the "/pywikibot" directory has a useful "translate" function; but it doesn't work well with multiple "{{PLURAL}}" directives in the same string: for example, the following code:
pywikibot.i18n.translate('en',{'en':'%(links)d {{PLURAL:%(links)d|link|links}} and %(apples)d {{PLURAL:%(apples)d|apple|apples}}'},{'links':1,'apples':4})
returns "1 link and 4 link" instead of "1 link and 4 apples".
I've fixed that doing a "while" loop for each {{PLURAL}} and replacing/translating only one of them at a time; probably other functions need such fixes as well.
My version is attached, feel free to improve it and include it in the pywikipediabot rewrite branch.
fixed and tested version