I understand the localization part of ICU - date, time and currency formats, collation, etc. When it comes to message translation, I see people stating that ICU does not provide functionality for message translation - check for example this SOF question.
However, when checking ICU docs, we find that it provides resources bundles, and the documentation does seem to hint to using them for message translation:
In PHP intl documentation for example:
Localized software products often require sets of data that are to be customized depending on current locale, e.g.: messages, labels, formatting patterns. ICU resource mechanism allows to define sets of resources that the application can load on locale basis, while accessing them in unified locale-independent fashion.
The documentation here: http://userguide.icu-project.org/locale/resources describes functionality similar to a key-value store, with text sources that can be compiled into binary format.
My question is whether ICU resource bundles (including the access functionality and the storage format) are meant for - or it is part of their purpose - to be used for message translation - for example like gettext and .po files are. If such, is there any resources or tutorials that discuss this usage.
Or a rewording: in its design goals, is the ICU meant to be used in conjunction with a separate message translation facility, or does it strive to provide such functionality itself, or is it that both options are possible.