JBoss.orgCommunity Documentation
If you do not have registered UI activity plugins, your activity messages will be internationalized and displayed by the default UI activity.
If you have registered ui activity plugins, you just need to display activity.getTitle() as it is already internationalized by BaseUIActivity.
In other cases, base on a provided locale as the code below:
I18NActivityProcessor i18NActivityProcessor = (I18NActivityProcessor) PortalContainer.getInstance().getComponentInstanceOfType(I18NActivityProcessor.class);
ExoSocialActivity processedActivity = i18NActivityProcessor.process(unprocessedActivity, chosenLocale);