Так как мне не нравятся методы, которые не позволяют браузеру кэшировать локализованные строки, я использовал следующую технику для локализации предупреждений JavaScript и т. Д. Кажется, это подходит, если строки, которые вам нужны в вашем коде JavaScript, отличается от тех, которые нужны веб-серверу:
<h:head>
<h:outputScript library="javascript" name="#{fw.JsFwStrings}" />
...
Затем я назначаю строку ресурса JsFwStrings имени файла JavaScript, определяющего локализованные строки для данного языка.
Например, файл fw_en.properties содержит запись
JsFwStrings = JsFwStrings_en.js
А файл JsFwStrings_en.js содержит
var TosFramework = TosFramework || {};
TosFramework.Strings = {
UnSavedChangesWarning : 'You have unsaved changes.',
CancelConfirmQuestion : 'Are you sure you want to cancel?'
}