В одной из предыдущих заметок я рассказывал о том, как исправить локализацию Liferay Portal. У описанного там способа есть один существенный недостаток - надо распаковывать war-файл портала и модифицировать его содержимое (либо собирать портал из исходников). Причём этим не слишком увлекательным занятием нам придётся заниматься, например, при каждой миграции на новую версию портала.
К счастью, разработчики Liferay создали механизм хуков (hooks), который поможет нам избавиться от этой рутины. Если коротко, то хуки - это плагины, позволяющие программисту модифицировать некоторые элементы внутренней модели Liferay в соответствии с собственными нуждами без необходимости модификации самого портала. В частности, с помощью хуков можно внести изменения в обработку событий на портале (логин / логаут, вызовы сервисов и т.д.), заменить JSP для интегрированных в состав портала портлетов, внести изменения в конфигурацию портала (подменить portal.properties) и (то, что нам и надо) модифицировать его локализацию. Рассмотрим на практическом примере, как это делается.
Для начала работы нам понадобится Eclipse IDE (с установленным Liferay IDE), а также установленные Liferay Portal и Liferay Plugins SDK (всё это можно скачать с www.liferay.com). Естественно, разрабатывать хуки для Liferay можно и в других IDE, но Eclipse очень хорошо интегрируется с Plugins SDK, так что использовать его для нас будет наиболее простым решением.
Далее всё очень просто:
1. Создаём новый проект - File -> New -> Liferay Project. В появившемся мастере создания проекта выбираем пункт "Hook":

2. Кликаем "Finish".
3. Создаём сам хук - File -> New -> Liferay Hook. В мастере создания отмечаем флажок "Language properties":

4. Кликаем "Next". В открывшемся окне добавляем файлы локализации. Файлы должны называться Language_$[localeId].properties - например, Language_en_US.properties для дефолтной английской (американской) локализации или Language_ru.properties для русской:

4. Исправляем локализацию - добавляем в бандлы те строки, которые мы хотим изменить. Например, если нам не нравится пункт "Cтарницы" в панели управления, то в файл русской локализации надо добавить такую строчку:
javax.portlet.title.156=Страницы
А если, к примеру, мы хотим заменить там "Доски сообщений" на "Форум", то такую:
javax.portlet.title.19=Форум
Локализацию удобнее всего править, имея перед глазами оба оригинальных файла локализации - русский и английский (их можно скачать по ссылкам из этой статьи).
5. Развёртываем наш плагин на сервере - кликаем "Run on server".
6. Проверяем, что локализация изменилась:

Дополнительные файлы:
Пример хука, исправляющего ошибки в русской локализации Liferay (src, war).
Оригинальная русская локализация Liferay
Оригинальная английская локализация Liferay