You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2020/10/29 16:06:27 UTC

[myfaces] branch master updated: javax -> jakarta string renames

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new 1006170  javax -> jakarta string renames
1006170 is described below

commit 10061701b570b4d13013add7ec4d27450c1dcd83
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Thu Oct 29 17:06:14 2020 +0100

    javax -> jakarta string renames
---
 api/src/main/java/jakarta/faces/FactoryFinder.java |  30 ++---
 .../java/jakarta/faces/component/UIColumn.java     |   4 +-
 .../java/jakarta/faces/component/UICommand.java    |  10 +-
 .../java/jakarta/faces/component/UIComponent.java  |  42 +++---
 .../jakarta/faces/component/UIComponentBase.java   |  30 ++---
 .../main/java/jakarta/faces/component/UIData.java  |   6 +-
 .../main/java/jakarta/faces/component/UIForm.java  |   8 +-
 .../java/jakarta/faces/component/UIGraphic.java    |   8 +-
 .../jakarta/faces/component/UIImportConstants.java |   4 +-
 .../main/java/jakarta/faces/component/UIInput.java |  24 ++--
 .../jakarta/faces/component/UINamingContainer.java |   4 +-
 .../jakarta/faces/component/UIOutcomeTarget.java   |   6 +-
 .../java/jakarta/faces/component/UIOutput.java     |   8 +-
 .../main/java/jakarta/faces/component/UIPanel.java |   4 +-
 .../jakarta/faces/component/UISelectBoolean.java   |   8 +-
 .../java/jakarta/faces/component/UISelectMany.java |  12 +-
 .../java/jakarta/faces/component/UISelectOne.java  |  14 +-
 .../java/jakarta/faces/component/UIViewAction.java |   6 +-
 .../jakarta/faces/component/UIViewParameter.java   |  10 +-
 .../java/jakarta/faces/component/UIViewRoot.java   |  48 +++----
 .../java/jakarta/faces/component/_UIMessage.java   |   4 +-
 .../java/jakarta/faces/component/_UIMessages.java  |   4 +-
 .../java/jakarta/faces/component/_UIParameter.java |   4 +-
 .../jakarta/faces/component/_UISelectItem.java     |   6 +-
 .../jakarta/faces/component/_UISelectItems.java    |   6 +-
 .../java/jakarta/faces/component/_UIWebsocket.java |   6 +-
 .../faces/component/behavior/AjaxBehavior.java     |   4 +-
 .../component/behavior/ClientBehaviorContext.java  |   4 +-
 .../component/behavior/_DeltaStateHelper.java      |   6 +-
 .../faces/component/html/HtmlInputHidden.java      |   8 +-
 .../jakarta/faces/component/html/_HtmlBody.java    |   6 +-
 .../jakarta/faces/component/html/_HtmlColumn.java  |   4 +-
 .../faces/component/html/_HtmlCommandButton.java   |   6 +-
 .../faces/component/html/_HtmlCommandLink.java     |   6 +-
 .../faces/component/html/_HtmlCommandScript.java   |   6 +-
 .../faces/component/html/_HtmlDataTable.java       |   6 +-
 .../jakarta/faces/component/html/_HtmlDoctype.java |   4 +-
 .../jakarta/faces/component/html/_HtmlForm.java    |   6 +-
 .../faces/component/html/_HtmlGraphicImage.java    |   6 +-
 .../jakarta/faces/component/html/_HtmlHead.java    |   4 +-
 .../faces/component/html/_HtmlInputFile.java       |   6 +-
 .../faces/component/html/_HtmlInputSecret.java     |   6 +-
 .../faces/component/html/_HtmlInputText.java       |   6 +-
 .../faces/component/html/_HtmlInputTextarea.java   |   6 +-
 .../jakarta/faces/component/html/_HtmlMessage.java |   6 +-
 .../faces/component/html/_HtmlMessages.java        |   4 +-
 .../component/html/_HtmlOutcomeTargetButton.java   |   6 +-
 .../component/html/_HtmlOutcomeTargetLink.java     |   4 +-
 .../faces/component/html/_HtmlOutputFormat.java    |   4 +-
 .../faces/component/html/_HtmlOutputLabel.java     |   6 +-
 .../faces/component/html/_HtmlOutputLink.java      |   6 +-
 .../faces/component/html/_HtmlOutputText.java      |   4 +-
 .../faces/component/html/_HtmlPanelGrid.java       |   6 +-
 .../faces/component/html/_HtmlPanelGroup.java      |   6 +-
 .../component/html/_HtmlSelectBooleanCheckbox.java |   6 +-
 .../component/html/_HtmlSelectManyCheckbox.java    |   6 +-
 .../component/html/_HtmlSelectManyListbox.java     |   6 +-
 .../faces/component/html/_HtmlSelectManyMenu.java  |   6 +-
 .../component/html/_HtmlSelectOneListbox.java      |   6 +-
 .../faces/component/html/_HtmlSelectOneMenu.java   |   6 +-
 .../faces/component/html/_HtmlSelectOneRadio.java  |   6 +-
 .../faces/webapp/UIComponentClassicTagBase.java    |   2 +-
 .../META-INF/resources/myfaces/api/jsf.js          |   2 +-
 .../resources/jakarta/faces/Messages.properties    | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_ar.properties | 144 ++++++++++----------
 .../resources/jakarta/faces/Messages_ca.properties | 148 ++++++++++----------
 .../resources/jakarta/faces/Messages_cs.properties | 118 ++++++++--------
 .../resources/jakarta/faces/Messages_de.properties | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_en.properties | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_es.properties | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_fr.properties | 150 ++++++++++-----------
 .../resources/jakarta/faces/Messages_it.properties | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_ja.properties | 136 +++++++++----------
 .../resources/jakarta/faces/Messages_mt.properties | 114 ++++++++--------
 .../resources/jakarta/faces/Messages_nl.properties | 118 ++++++++--------
 .../resources/jakarta/faces/Messages_pl.properties | 114 ++++++++--------
 .../resources/jakarta/faces/Messages_pt.properties | 120 ++++++++---------
 .../resources/jakarta/faces/Messages_ru.properties | 114 ++++++++--------
 .../resources/jakarta/faces/Messages_sk.properties | 118 ++++++++--------
 .../resources/jakarta/faces/Messages_uk.properties | 120 ++++++++---------
 .../jakarta/faces/Messages_zh_CN.properties        | 120 ++++++++---------
 .../jakarta/faces/Messages_zh_HK.properties        | 120 ++++++++---------
 .../jakarta/faces/Messages_zh_TW.properties        | 120 ++++++++---------
 .../conf/META-INF/standard-faces-config-base.xml   |  26 ++--
 .../renderkit/html/HtmlResponseStateManager.java   |   4 +-
 .../myfaces/renderkit/html/util/ResourceUtils.java |   2 +-
 .../java/org/apache/myfaces/util/MessageUtils.java |   2 +-
 .../view/facelets/component/_JsfElement.java       |   2 +-
 impl/src/main/resources/META-INF/faces-config20.vm |   2 +-
 .../faces/component/html/HtmlOutputLinkTest.java   |   1 -
 .../jakarta/faces/convert/EnumConverterTest.java   |   2 +-
 .../application/ApplicationImplAnnotationTest.java |   8 +-
 .../application/ClientBehaviorTestCase.java        |   4 +-
 .../config/testfiles/default-bean-validator.xml    |   2 +-
 .../config/testfiles/default-length-validator.xml  |   2 +-
 .../testfiles/default-required-validator.xml       |   2 +-
 .../ajax/src/main/webapp/WEB-INF/web.xml           |   2 +-
 .../src/main/webapp/WEB-INF/web.xml                |   2 +-
 .../exactMapping/src/main/webapp/WEB-INF/web.xml   |   6 +-
 .../src/main/webapp/WEB-INF/web.xml                |   2 +-
 .../src/main/webapp/WEB-INF/web.xml                |   6 +-
 .../protectedViews/src/main/webapp/WEB-INF/web.xml |   2 +-
 .../junit/AbstractJsfConfigurableMockTestCase.java |   2 +-
 ...actJsfConfigurableMultipleRequestsTestCase.java |   2 +-
 .../test/base/junit/AbstractJsfTestCase.java       |   2 +-
 .../myfaces/test/mock/MockResponseWriter.java      |   2 +-
 106 files changed, 1537 insertions(+), 1538 deletions(-)

diff --git a/api/src/main/java/jakarta/faces/FactoryFinder.java b/api/src/main/java/jakarta/faces/FactoryFinder.java
index f0f047e..c03a445 100755
--- a/api/src/main/java/jakarta/faces/FactoryFinder.java
+++ b/api/src/main/java/jakarta/faces/FactoryFinder.java
@@ -54,22 +54,22 @@ import org.apache.myfaces.core.api.shared.lang.ClassUtils;
  */
 public final class FactoryFinder
 {
-    public static final String APPLICATION_FACTORY = "javax.faces.application.ApplicationFactory";
-    public static final String EXCEPTION_HANDLER_FACTORY = "javax.faces.context.ExceptionHandlerFactory";
-    public static final String EXTERNAL_CONTEXT_FACTORY = "javax.faces.context.ExternalContextFactory";
-    public static final String FACES_CONTEXT_FACTORY = "javax.faces.context.FacesContextFactory";
-    public static final String LIFECYCLE_FACTORY = "javax.faces.lifecycle.LifecycleFactory";
-    public static final String PARTIAL_VIEW_CONTEXT_FACTORY = "javax.faces.context.PartialViewContextFactory";
-    public static final String RENDER_KIT_FACTORY = "javax.faces.render.RenderKitFactory";
-    public static final String TAG_HANDLER_DELEGATE_FACTORY = "javax.faces.view.facelets.TagHandlerDelegateFactory";
-    public static final String VIEW_DECLARATION_LANGUAGE_FACTORY = "javax.faces.view.ViewDeclarationLanguageFactory";
-    public static final String VISIT_CONTEXT_FACTORY = "javax.faces.component.visit.VisitContextFactory";
-    public static final String FACELET_CACHE_FACTORY = "javax.faces.view.facelets.FaceletCacheFactory";
-    public static final String FLASH_FACTORY = "javax.faces.context.FlashFactory";
-    public static final String FLOW_HANDLER_FACTORY = "javax.faces.flow.FlowHandlerFactory";
-    public static final String CLIENT_WINDOW_FACTORY = "javax.faces.lifecycle.ClientWindowFactory";
+    public static final String APPLICATION_FACTORY = "jakarta.faces.application.ApplicationFactory";
+    public static final String EXCEPTION_HANDLER_FACTORY = "jakarta.faces.context.ExceptionHandlerFactory";
+    public static final String EXTERNAL_CONTEXT_FACTORY = "jakarta.faces.context.ExternalContextFactory";
+    public static final String FACES_CONTEXT_FACTORY = "jakarta.faces.context.FacesContextFactory";
+    public static final String LIFECYCLE_FACTORY = "jakarta.faces.lifecycle.LifecycleFactory";
+    public static final String PARTIAL_VIEW_CONTEXT_FACTORY = "jakarta.faces.context.PartialViewContextFactory";
+    public static final String RENDER_KIT_FACTORY = "jakarta.faces.render.RenderKitFactory";
+    public static final String TAG_HANDLER_DELEGATE_FACTORY = "jakarta.faces.view.facelets.TagHandlerDelegateFactory";
+    public static final String VIEW_DECLARATION_LANGUAGE_FACTORY = "jakarta.faces.view.ViewDeclarationLanguageFactory";
+    public static final String VISIT_CONTEXT_FACTORY = "jakarta.faces.component.visit.VisitContextFactory";
+    public static final String FACELET_CACHE_FACTORY = "jakarta.faces.view.facelets.FaceletCacheFactory";
+    public static final String FLASH_FACTORY = "jakarta.faces.context.FlashFactory";
+    public static final String FLOW_HANDLER_FACTORY = "jakarta.faces.flow.FlowHandlerFactory";
+    public static final String CLIENT_WINDOW_FACTORY = "jakarta.faces.lifecycle.ClientWindowFactory";
     public static final String SEARCH_EXPRESSION_CONTEXT_FACTORY = 
-            "javax.faces.component.search.SearchExpressionContextFactory";
+            "jakarta.faces.component.search.SearchExpressionContextFactory";
 
     private static final Map<String, Class<?>> FACTORY_MAPPING = new HashMap<String, Class<?>>();
     private static final ClassLoader MYFACES_CLASSLOADER;
diff --git a/api/src/main/java/jakarta/faces/component/UIColumn.java b/api/src/main/java/jakarta/faces/component/UIColumn.java
index 2c9f841..16f3954 100755
--- a/api/src/main/java/jakarta/faces/component/UIColumn.java
+++ b/api/src/main/java/jakarta/faces/component/UIColumn.java
@@ -65,8 +65,8 @@ public class UIColumn extends UIComponentBase
 
     //------------------ GENERATED CODE BEGIN (do not modify!) --------------------
 
-    public static final String COMPONENT_TYPE = "javax.faces.Column";
-    public static final String COMPONENT_FAMILY = "javax.faces.Column";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Column";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Column";
 
     public UIColumn()
     {
diff --git a/api/src/main/java/jakarta/faces/component/UICommand.java b/api/src/main/java/jakarta/faces/component/UICommand.java
index 35c2ebb..18bec5f 100644
--- a/api/src/main/java/jakarta/faces/component/UICommand.java
+++ b/api/src/main/java/jakarta/faces/component/UICommand.java
@@ -35,18 +35,18 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
  * UICommand is a base abstraction for components that implement ActionSource.
  * 
  */
-@JSFComponent(defaultRendererType = "javax.faces.Button")
+@JSFComponent(defaultRendererType = "jakarta.faces.Button")
 public class UICommand extends UIComponentBase implements ActionSource2
 {
-    public static final String COMPONENT_TYPE = "javax.faces.Command";
-    public static final String COMPONENT_FAMILY = "javax.faces.Command";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Command";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Command";
 
     /**
      * Construct an instance of the UICommand.
      */
     public UICommand()
     {
-        setRendererType("javax.faces.Button");
+        setRendererType("jakarta.faces.Button");
     }
 
     @Override
@@ -167,7 +167,7 @@ public class UICommand extends UIComponentBase implements ActionSource2
      * invoked; for example, by clicking on a button. The action may result 
      * in page navigation.
      */
-    @JSFListener(event="javax.faces.event.ActionEvent",
+    @JSFListener(event="jakarta.faces.event.ActionEvent",
             phases="Invoke Application, Apply Request Values")
     @Override
     public ActionListener[] getActionListeners()
diff --git a/api/src/main/java/jakarta/faces/component/UIComponent.java b/api/src/main/java/jakarta/faces/component/UIComponent.java
index 54b2a06..379bdcf 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponent.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponent.java
@@ -74,20 +74,20 @@ public abstract class UIComponent
      * Constant used in component attribute map to retrieve the BeanInfo of a composite
      * component.
      *
-     * @see javax.faces.view.ViewDeclarationLanguage#getComponentMetadata(FacesContext, Resource)
-     * @see javax.faces.view.ViewDeclarationLanguage#retargetAttachedObjects(FacesContext, UIComponent, List)
-     * @see javax.faces.view.ViewDeclarationLanguage#retargetMethodExpressions(FacesContext, UIComponent)
-     * @see javax.faces.application.Application#createComponent(FacesContext, Resource)
+     * @see jakarta.faces.view.ViewDeclarationLanguage#getComponentMetadata(FacesContext, Resource)
+     * @see jakarta.faces.view.ViewDeclarationLanguage#retargetAttachedObjects(FacesContext, UIComponent, List)
+     * @see jakarta.faces.view.ViewDeclarationLanguage#retargetMethodExpressions(FacesContext, UIComponent)
+     * @see jakarta.faces.application.Application#createComponent(FacesContext, Resource)
      */
-    public static final String BEANINFO_KEY = "javax.faces.component.BEANINFO_KEY";
+    public static final String BEANINFO_KEY = "jakarta.faces.component.BEANINFO_KEY";
 
     /**
      * Constant used in BeanInfo descriptor as a key for retrieve an alternate component type
      * for create the composite base component. 
      *
-     * @see javax.faces.application.Application#createComponent(FacesContext, Resource)
+     * @see jakarta.faces.application.Application#createComponent(FacesContext, Resource)
      */
-    public static final String COMPOSITE_COMPONENT_TYPE_KEY = "javax.faces.component.COMPOSITE_COMPONENT_TYPE";
+    public static final String COMPOSITE_COMPONENT_TYPE_KEY = "jakarta.faces.component.COMPOSITE_COMPONENT_TYPE";
 
     /**
      * Constant used to define the facet inside this component that store the component hierarchy
@@ -95,7 +95,7 @@ public abstract class UIComponent
      * note that direct children of a component are not rendered, instead components inside 
      * this face are rendered.
      */
-    public static final String COMPOSITE_FACET_NAME = "javax.faces.component.COMPOSITE_FACET_NAME";
+    public static final String COMPOSITE_FACET_NAME = "jakarta.faces.component.COMPOSITE_FACET_NAME";
 
     /**
      * Constant used to store the current component that is being processed.
@@ -103,7 +103,7 @@ public abstract class UIComponent
      * @see #pushComponentToEL(FacesContext, UIComponent)
      * @see #popComponentFromEL(FacesContext)
      */
-    public static final String CURRENT_COMPONENT = "javax.faces.component.CURRENT_COMPONENT";
+    public static final String CURRENT_COMPONENT = "jakarta.faces.component.CURRENT_COMPONENT";
 
     /**
      * Constant used to store the current composite component that is being processed. 
@@ -111,7 +111,7 @@ public abstract class UIComponent
      * @see #pushComponentToEL(FacesContext, UIComponent)
      * @see #popComponentFromEL(FacesContext)
      */
-    public static final String CURRENT_COMPOSITE_COMPONENT = "javax.faces.component.CURRENT_COMPOSITE_COMPONENT";
+    public static final String CURRENT_COMPOSITE_COMPONENT = "jakarta.faces.component.CURRENT_COMPOSITE_COMPONENT";
 
     /**
      * This constant has two usages. The first one is in component attribute map to identify the 
@@ -120,25 +120,25 @@ public abstract class UIComponent
      * by composite:facet tag and composite:implementation(because this one fills the facet referenced
      * by COMPOSITE_FACET_NAME constant). 
      */
-    public static final String FACETS_KEY = "javax.faces.component.FACETS_KEY";
+    public static final String FACETS_KEY = "jakarta.faces.component.FACETS_KEY";
 
     /**
-     * Constant used in component attribute map to store the {@link javax.faces.view.Location} object
+     * Constant used in component attribute map to store the {@link jakarta.faces.view.Location} object
      * where the definition of this component is.
      */
-    public static final String VIEW_LOCATION_KEY = "javax.faces.component.VIEW_LOCATION_KEY";
+    public static final String VIEW_LOCATION_KEY = "jakarta.faces.component.VIEW_LOCATION_KEY";
 
     public static final String ATTRS_WITH_DECLARED_DEFAULT_VALUES
-            = "javax.faces.component.ATTR_NAMES_WITH_DEFAULT_VALUES";
+            = "jakarta.faces.component.ATTR_NAMES_WITH_DEFAULT_VALUES";
 
     /**
-     * Indicate if the facesContext attribute values under the keys javax.faces.component.CURRENT_COMPONENT and
-     * javax.faces.component.CURRENT_COMPOSITE_COMPONENT should be valid or not. By default, those keys are
+     * Indicate if the facesContext attribute values under the keys jakarta.faces.component.CURRENT_COMPONENT and
+     * jakarta.faces.component.CURRENT_COMPOSITE_COMPONENT should be valid or not. By default, those keys are
      * deprecated since 2.1
      */
     @JSFWebConfigParam(since = "2.1.0", expectedValues = "true, false", defaultValue = "false")
     public static final String HONOR_CURRENT_COMPONENT_ATTRIBUTES_PARAM_NAME
-            = "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES";
+            = "jakarta.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES";
 
     /**
      * The key under which the component stack is stored in the FacesContext.
@@ -1256,7 +1256,7 @@ public abstract class UIComponent
 
             // Push the current UIComponent this to the FacesContext  attribute map using the key CURRENT_COMPONENT 
             // saving the previous UIComponent associated with CURRENT_COMPONENT for a subsequent call to 
-            // popComponentFromEL(javax.faces.context.FacesContext).
+            // popComponentFromEL(jakarta.faces.context.FacesContext).
             contextAttributes.put(UIComponent.CURRENT_COMPONENT, component);
 
             if (component._isCompositeComponent())
@@ -1309,10 +1309,10 @@ public abstract class UIComponent
     }
 
     /**
-     * Gets value of "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES" parameter cached in facesContext.attributes 
+     * Gets value of "jakarta.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES" parameter cached in facesContext.attributes 
      * or resolves that param and caches its value in facesContext.attributes.    
      *
-     * @return canonical Boolean value for parameter "javax.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES"
+     * @return canonical Boolean value for parameter "jakarta.faces.HONOR_CURRENT_COMPONENT_ATTRIBUTES"
      */
     private static Boolean _getHonorCurrentComponentAttributes(FacesContext facesContext)
     {
@@ -1592,7 +1592,7 @@ public abstract class UIComponent
         public void processEvent(SystemEvent event)
         {
             // This inner class must call through to the argument componentListener in its implementation of
-            // SystemEventListener.processEvent(javax.faces.event.SystemEvent)
+            // SystemEventListener.processEvent(jakarta.faces.event.SystemEvent)
             assert event instanceof ComponentSystemEvent;
 
             listener.processEvent((ComponentSystemEvent) event);
diff --git a/api/src/main/java/jakarta/faces/component/UIComponentBase.java b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
index 4fa03d6..0204fb2 100755
--- a/api/src/main/java/jakarta/faces/component/UIComponentBase.java
+++ b/api/src/main/java/jakarta/faces/component/UIComponentBase.java
@@ -80,7 +80,7 @@ public abstract class UIComponentBase extends UIComponent
     private static Logger log = Logger.getLogger(UIComponentBase.class.getName());
 
     private static final String _STRING_BUILDER_KEY
-            = "javax.faces.component.UIComponentBase.SHARED_STRING_BUILDER";
+            = "jakarta.faces.component.UIComponentBase.SHARED_STRING_BUILDER";
 
     // See ViewPoolProcessor for comments and usages
     static final int RESET_MODE_OFF = 0;
@@ -394,7 +394,7 @@ public abstract class UIComponentBase extends UIComponent
         {
             return;
         }
-        // perf: _facesListeners is RandomAccess instance (javax.faces.component._DeltaList)
+        // perf: _facesListeners is RandomAccess instance (jakarta.faces.component._DeltaList)
         for (int i = 0, size = _facesListeners.size(); i < size; i++)
         {
             FacesListener facesListener = _facesListeners.get(i);
@@ -547,7 +547,7 @@ public abstract class UIComponentBase extends UIComponent
         try
         {
             setCachedFacesContext(context);
-            // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+            // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
             pushComponentToEL(context, this);
     
             if (isRendered())
@@ -601,7 +601,7 @@ public abstract class UIComponentBase extends UIComponent
                 if (renderer == null)
                 {
                     // If no Renderer is associated with this UIComponent, iterate over each of the children of this
-                    // component and call UIComponent.encodeAll(javax.faces.context.FacesContext).
+                    // component and call UIComponent.encodeAll(jakarta.faces.context.FacesContext).
                     if (getChildCount() > 0)
                     {
                         for (int i = 0, childCount = getChildCount(); i < childCount; i++)
@@ -652,7 +652,7 @@ public abstract class UIComponentBase extends UIComponent
         }
         finally
         {
-            // Call UIComponent.popComponentFromEL(javax.faces.context.FacesContext). before returning regardless
+            // Call UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext). before returning regardless
             // of the value of the rendered property.
             popComponentFromEL(context);
             setCachedFacesContext(null);
@@ -1243,7 +1243,7 @@ public abstract class UIComponentBase extends UIComponent
         }
 
         List<FacesListener> lst = null;
-        // perf: _facesListeners is RandomAccess instance (javax.faces.component._DeltaList)
+        // perf: _facesListeners is RandomAccess instance (jakarta.faces.component._DeltaList)
         for (int i = 0, size = _facesListeners.size(); i < size; i++)
         {
             FacesListener facesListener = _facesListeners.get(i);
@@ -1334,7 +1334,7 @@ public abstract class UIComponentBase extends UIComponent
         try
         {
             setCachedFacesContext(context);
-            // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+            // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
             pushComponentToEL(context, this);
             if (_isPhaseExecutable(context))
             {
@@ -1370,7 +1370,7 @@ public abstract class UIComponentBase extends UIComponent
         }
         finally
         {
-            // Call UIComponent.popComponentFromEL(javax.faces.context.FacesContext) from inside of a finally
+            // Call UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext) from inside of a finally
             // block, just before returning.
 
             popComponentFromEL(context);
@@ -1384,7 +1384,7 @@ public abstract class UIComponentBase extends UIComponent
         try
         {
             setCachedFacesContext(context);
-            // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+            // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
             pushComponentToEL(context, this);
             if (_isPhaseExecutable(context))
             {
@@ -1437,7 +1437,7 @@ public abstract class UIComponentBase extends UIComponent
         try
         {
             setCachedFacesContext(context);
-            // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+            // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
             pushComponentToEL(context, this);
             if (_isPhaseExecutable(context))
             {
@@ -1462,7 +1462,7 @@ public abstract class UIComponentBase extends UIComponent
         finally
         {
             // After returning from the processUpdates() method on a child or facet, call
-            // UIComponent.popComponentFromEL(javax.faces.context.FacesContext)
+            // UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
             popComponentFromEL(context);
             
             setCachedFacesContext(null);
@@ -1483,7 +1483,7 @@ public abstract class UIComponentBase extends UIComponent
             return null;
         }
 
-        // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+        // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
         pushComponentToEL(context, this);
 
         Map<String, Object> facetMap;
@@ -1549,7 +1549,7 @@ public abstract class UIComponentBase extends UIComponent
         }
         finally
         {
-            // Ensure that UIComponent.popComponentFromEL(javax.faces.context.FacesContext) is called
+            // Ensure that UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext) is called
             // correctly after each child or facet.
             popComponentFromEL(context);
         }
@@ -1571,7 +1571,7 @@ public abstract class UIComponentBase extends UIComponent
 
         try
         {
-            // Call UIComponent.pushComponentToEL(javax.faces.context.FacesContext, javax.faces.component.UIComponent)
+            // Call UIComponent.pushComponentToEL(jakarta.faces.context.FacesContext, jakarta.faces.component.UIComponent)
             pushComponentToEL(context, this);
 
             // Call the restoreState() method of this component.
@@ -1628,7 +1628,7 @@ public abstract class UIComponentBase extends UIComponent
         finally
         {
             // After returning from the processRestoreState() method on a child or facet, call
-            // UIComponent.popComponentFromEL(javax.faces.context.FacesContext)
+            // UIComponent.popComponentFromEL(jakarta.faces.context.FacesContext)
             popComponentFromEL(context);
         }
     }
diff --git a/api/src/main/java/jakarta/faces/component/UIData.java b/api/src/main/java/jakarta/faces/component/UIData.java
index 54bb869..4bc5c7f 100644
--- a/api/src/main/java/jakarta/faces/component/UIData.java
+++ b/api/src/main/java/jakarta/faces/component/UIData.java
@@ -120,11 +120,11 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
  * see Javadoc of the <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
  * for more information.
  */
-@JSFComponent(defaultRendererType = "javax.faces.Table")
+@JSFComponent(defaultRendererType = "jakarta.faces.Table")
 public class UIData extends UIComponentBase implements NamingContainer, UniqueIdVendor
 {
-    public static final String COMPONENT_FAMILY = "javax.faces.Data";
-    public static final String COMPONENT_TYPE = "javax.faces.Data"; // for unit tests
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Data";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Data"; // for unit tests
 
     private static final String FACES_DATA_MODEL_MANAGER_CLASS_NAME
             = "org.apache.myfaces.cdi.model.FacesDataModelManager";
diff --git a/api/src/main/java/jakarta/faces/component/UIForm.java b/api/src/main/java/jakarta/faces/component/UIForm.java
index b426d4a..6e9b312 100755
--- a/api/src/main/java/jakarta/faces/component/UIForm.java
+++ b/api/src/main/java/jakarta/faces/component/UIForm.java
@@ -36,7 +36,7 @@ import java.util.Collection;
 /**
  * see Javadoc of <a href="http://java.sun.com/javaee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
  */
-@JSFComponent(type = "javax.faces.Form", family = "javax.faces.Form")
+@JSFComponent(type = "jakarta.faces.Form", family = "jakarta.faces.Form")
 public class UIForm extends UIComponentBase implements NamingContainer, UniqueIdVendor
 {
 
@@ -370,9 +370,9 @@ public class UIForm extends UIComponentBase implements NamingContainer, UniqueId
 
     // ------------------ GENERATED CODE BEGIN (do not modify!) --------------------
 
-    public static final String COMPONENT_TYPE = "javax.faces.Form";
-    public static final String COMPONENT_FAMILY = "javax.faces.Form";
-    private static final String DEFAULT_RENDERER_TYPE = "javax.faces.Form";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Form";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Form";
+    private static final String DEFAULT_RENDERER_TYPE = "jakarta.faces.Form";
 
     public UIForm()
     {
diff --git a/api/src/main/java/jakarta/faces/component/UIGraphic.java b/api/src/main/java/jakarta/faces/component/UIGraphic.java
index 3e6ef33..66ef3a7 100644
--- a/api/src/main/java/jakarta/faces/component/UIGraphic.java
+++ b/api/src/main/java/jakarta/faces/component/UIGraphic.java
@@ -30,11 +30,11 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
  * <a href="http://java.sun.com/j2ee/javaserverfaces/1.2/docs/api/index.html">JSF Specification</a>
  * for further details.
  */
-@JSFComponent(defaultRendererType = "javax.faces.Image")
+@JSFComponent(defaultRendererType = "jakarta.faces.Image")
 public class UIGraphic extends UIComponentBase
 {
-    public static final String COMPONENT_TYPE = "javax.faces.Graphic";
-    public static final String COMPONENT_FAMILY = "javax.faces.Graphic";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Graphic";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Graphic";
 
     private static final String URL_PROPERTY = "url";
     private static final String VALUE_PROPERTY = "value";
@@ -44,7 +44,7 @@ public class UIGraphic extends UIComponentBase
      */
     public UIGraphic()
     {
-        setRendererType("javax.faces.Image");
+        setRendererType("jakarta.faces.Image");
     }
 
     @Override
diff --git a/api/src/main/java/jakarta/faces/component/UIImportConstants.java b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
index 5e6ca14..853c825 100644
--- a/api/src/main/java/jakarta/faces/component/UIImportConstants.java
+++ b/api/src/main/java/jakarta/faces/component/UIImportConstants.java
@@ -28,8 +28,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 public class UIImportConstants extends UIComponentBase
 {
     
-    static public final String COMPONENT_FAMILY = "javax.faces.ImportConstants";
-    static public final String COMPONENT_TYPE = "javax.faces.ImportConstants";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.ImportConstants";
+    static public final String COMPONENT_TYPE = "jakarta.faces.ImportConstants";
 
 
     public UIImportConstants()
diff --git a/api/src/main/java/jakarta/faces/component/UIInput.java b/api/src/main/java/jakarta/faces/component/UIInput.java
index bb7f259..4851641 100644
--- a/api/src/main/java/jakarta/faces/component/UIInput.java
+++ b/api/src/main/java/jakarta/faces/component/UIInput.java
@@ -63,22 +63,22 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
  * Specification</a> for further details.
  * <p>
  */
-@JSFComponent(defaultRendererType = "javax.faces.Text")
+@JSFComponent(defaultRendererType = "jakarta.faces.Text")
 public class UIInput extends UIOutput implements EditableValueHolder
 {
-    public static final String COMPONENT_TYPE = "javax.faces.Input";
-    public static final String COMPONENT_FAMILY = "javax.faces.Input";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Input";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Input";
 
-    public static final String CONVERSION_MESSAGE_ID = "javax.faces.component.UIInput.CONVERSION";
-    public static final String REQUIRED_MESSAGE_ID = "javax.faces.component.UIInput.REQUIRED";
-    public static final String UPDATE_MESSAGE_ID = "javax.faces.component.UIInput.UPDATE";
+    public static final String CONVERSION_MESSAGE_ID = "jakarta.faces.component.UIInput.CONVERSION";
+    public static final String REQUIRED_MESSAGE_ID = "jakarta.faces.component.UIInput.REQUIRED";
+    public static final String UPDATE_MESSAGE_ID = "jakarta.faces.component.UIInput.UPDATE";
 
     /**
      * Force validation on empty fields (By default is auto, which means it is only 
      * enabled when Bean Validation binaries are available on the current classpath).
      */
     @JSFWebConfigParam(defaultValue="auto", expectedValues="auto, true, false", since="2.0", group="validation")
-    public static final String VALIDATE_EMPTY_FIELDS_PARAM_NAME = "javax.faces.VALIDATE_EMPTY_FIELDS";
+    public static final String VALIDATE_EMPTY_FIELDS_PARAM_NAME = "jakarta.faces.VALIDATE_EMPTY_FIELDS";
     
     /** 
      * Submitted values are decoded as null values instead empty strings.
@@ -87,7 +87,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
      **/
     @JSFWebConfigParam(defaultValue="false", expectedValues="true, false", since="2.0", group="validation")
     public static final String EMPTY_STRING_AS_NULL_PARAM_NAME
-            = "javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL";
+            = "jakarta.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL";
 
     /** 
      * When CLEAR_INPUT_WHEN_SUBMITTED_VALUE_IS_NULL_OR_EMPTY is enabled, input fields will be cleared
@@ -104,7 +104,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
      */
     @JSFWebConfigParam(defaultValue="false", expectedValues="true, false", since="2.3", group="validation")
     public static final String ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE 
-            = "javax.faces.ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE";
+            = "jakarta.faces.ALWAYS_PERFORM_VALIDATION_WHEN_REQUIRED_IS_TRUE";
     
     // our own, cached key
     private static final String MYFACES_EMPTY_VALUES_AS_NULL_PARAM_NAME =
@@ -128,7 +128,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
      */
     public UIInput()
     {
-        setRendererType("javax.faces.Text");
+        setRendererType("jakarta.faces.Text");
     }
 
     @Override
@@ -488,7 +488,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
         // not yet cached...
         if (interpretEmptyStringAsNull == null)
         {
-            // parses the web.xml to get the "javax.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL" value
+            // parses the web.xml to get the "jakarta.faces.INTERPRET_EMPTY_STRING_SUBMITTED_VALUES_AS_NULL" value
             String param = ec.getInitParameter(EMPTY_STRING_AS_NULL_PARAM_NAME);
 
             // evaluate the param
@@ -1068,7 +1068,7 @@ public class UIInput extends UIOutput implements EditableValueHolder
      * The valueChange event is delivered when the value attribute
      * is changed.
      */
-    @JSFListener(event="javax.faces.event.ValueChangeEvent")
+    @JSFListener(event="jakarta.faces.event.ValueChangeEvent")
     @Override
     public ValueChangeListener[] getValueChangeListeners()
     {
diff --git a/api/src/main/java/jakarta/faces/component/UINamingContainer.java b/api/src/main/java/jakarta/faces/component/UINamingContainer.java
index 13d885b..1775ee3 100644
--- a/api/src/main/java/jakarta/faces/component/UINamingContainer.java
+++ b/api/src/main/java/jakarta/faces/component/UINamingContainer.java
@@ -45,8 +45,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFJspProperty(name="id",required=true)
 public class UINamingContainer extends UIComponentBase implements NamingContainer, UniqueIdVendor
 {
-    public static final String COMPONENT_TYPE = "javax.faces.NamingContainer";
-    public static final String COMPONENT_FAMILY = "javax.faces.NamingContainer";
+    public static final String COMPONENT_TYPE = "jakarta.faces.NamingContainer";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.NamingContainer";
     public static final String SEPARATOR_CHAR_PARAM_NAME = "javax.faces.SEPARATOR_CHAR";
 
     /**
diff --git a/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java b/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
index b63ef53..5dc039b 100644
--- a/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
+++ b/api/src/main/java/jakarta/faces/component/UIOutcomeTarget.java
@@ -28,8 +28,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent
 public class UIOutcomeTarget extends UIOutput
 {
-    public static final String COMPONENT_TYPE = "javax.faces.OutcomeTarget";
-    public static final String COMPONENT_FAMILY = "javax.faces.OutcomeTarget";
+    public static final String COMPONENT_TYPE = "jakarta.faces.OutcomeTarget";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.OutcomeTarget";
     
     private static final boolean DEFAULT_INCLUDEVIEWPARAMS = false;
     private static final boolean DEFAULT_DISABLE_CLIENT_WINDOW = false;
@@ -37,7 +37,7 @@ public class UIOutcomeTarget extends UIOutput
     public UIOutcomeTarget()
     {
         super();
-        setRendererType("javax.faces.Link");
+        setRendererType("jakarta.faces.Link");
     }
     
     @Override
diff --git a/api/src/main/java/jakarta/faces/component/UIOutput.java b/api/src/main/java/jakarta/faces/component/UIOutput.java
index 93f8bcb..56149e1 100644
--- a/api/src/main/java/jakarta/faces/component/UIOutput.java
+++ b/api/src/main/java/jakarta/faces/component/UIOutput.java
@@ -29,11 +29,11 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 /**
  * Displays a value to the user.
  */
-@JSFComponent(defaultRendererType = "javax.faces.Text")
+@JSFComponent(defaultRendererType = "jakarta.faces.Text")
 public class UIOutput extends UIComponentBase implements ValueHolder
 {
-    public static final String COMPONENT_TYPE = "javax.faces.Output";
-    public static final String COMPONENT_FAMILY = "javax.faces.Output";
+    public static final String COMPONENT_TYPE = "jakarta.faces.Output";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Output";
 
     private Converter _converter;
 
@@ -42,7 +42,7 @@ public class UIOutput extends UIComponentBase implements ValueHolder
      */
     public UIOutput()
     {
-        setRendererType("javax.faces.Text");
+        setRendererType("jakarta.faces.Text");
     }
 
     @Override
diff --git a/api/src/main/java/jakarta/faces/component/UIPanel.java b/api/src/main/java/jakarta/faces/component/UIPanel.java
index 3b427d0..664a3ca 100644
--- a/api/src/main/java/jakarta/faces/component/UIPanel.java
+++ b/api/src/main/java/jakarta/faces/component/UIPanel.java
@@ -25,8 +25,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent
 public class UIPanel extends UIComponentBase
 {
-    static public final String COMPONENT_FAMILY = "javax.faces.Panel";
-    static public final String COMPONENT_TYPE = "javax.faces.Panel";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Panel";
+    static public final String COMPONENT_TYPE = "jakarta.faces.Panel";
 
     /**
      * Construct an instance of the UIPanel.
diff --git a/api/src/main/java/jakarta/faces/component/UISelectBoolean.java b/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
index 1c42b31..4b6b4c2 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectBoolean.java
@@ -34,15 +34,15 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
  * for further details.
  * </p>
  */
-@JSFComponent(defaultRendererType = "javax.faces.Checkbox")
+@JSFComponent(defaultRendererType = "jakarta.faces.Checkbox")
 public class UISelectBoolean extends UIInput
 {
-    public static final String COMPONENT_TYPE = "javax.faces.SelectBoolean";
-    public static final String COMPONENT_FAMILY = "javax.faces.SelectBoolean";
+    public static final String COMPONENT_TYPE = "jakarta.faces.SelectBoolean";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.SelectBoolean";
 
     public UISelectBoolean()
     {
-        setRendererType("javax.faces.Checkbox");
+        setRendererType("jakarta.faces.Checkbox");
     }
 
     @Override
diff --git a/api/src/main/java/jakarta/faces/component/UISelectMany.java b/api/src/main/java/jakarta/faces/component/UISelectMany.java
index e469a87..a0e3867 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectMany.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectMany.java
@@ -56,7 +56,7 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
  * Specification</a> for further details.
  * </p>
  */
-@JSFComponent(defaultRendererType = "javax.faces.Listbox")
+@JSFComponent(defaultRendererType = "jakarta.faces.Listbox")
 @JSFJspProperties
 (properties={
         @JSFJspProperty(name="hideNoSelectionOption", returnType="boolean"),
@@ -65,14 +65,14 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
 )
 public class UISelectMany extends UIInput
 {
-    public static final String COMPONENT_TYPE = "javax.faces.SelectMany";
-    public static final String COMPONENT_FAMILY = "javax.faces.SelectMany";
+    public static final String COMPONENT_TYPE = "jakarta.faces.SelectMany";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.SelectMany";
 
-    public static final String INVALID_MESSAGE_ID = "javax.faces.component.UISelectMany.INVALID";
+    public static final String INVALID_MESSAGE_ID = "jakarta.faces.component.UISelectMany.INVALID";
 
     public UISelectMany()
     {
-        setRendererType("javax.faces.Listbox");
+        setRendererType("jakarta.faces.Listbox");
     }
 
     @Override
@@ -399,7 +399,7 @@ public class UISelectMany extends UIInput
         }
     }
     
-    // Copied from javax.faces.component.UIInput
+    // Copied from jakarta.faces.component.UIInput
     private boolean shouldValidateEmptyFields(FacesContext context)
     {
         ExternalContext ec = context.getExternalContext();
diff --git a/api/src/main/java/jakarta/faces/component/UISelectOne.java b/api/src/main/java/jakarta/faces/component/UISelectOne.java
index d3a0539..42ca4ca 100644
--- a/api/src/main/java/jakarta/faces/component/UISelectOne.java
+++ b/api/src/main/java/jakarta/faces/component/UISelectOne.java
@@ -45,20 +45,20 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
  * href="http://java.sun.com/j2ee/javaserverfaces/1.1_01/docs/api/index.html">JSF Specification</a> for further details.
  * </p>
  */
-@JSFComponent(defaultRendererType = "javax.faces.Menu")
+@JSFComponent(defaultRendererType = "jakarta.faces.Menu")
 @JSFJspProperty(name="hideNoSelectionOption", returnType="boolean")
 public class UISelectOne extends UIInput
 {
-    public static final String COMPONENT_TYPE = "javax.faces.SelectOne";
-    public static final String COMPONENT_FAMILY = "javax.faces.SelectOne";
+    public static final String COMPONENT_TYPE = "jakarta.faces.SelectOne";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.SelectOne";
 
-    public static final String INVALID_MESSAGE_ID = "javax.faces.component.UISelectOne.INVALID";
+    public static final String INVALID_MESSAGE_ID = "jakarta.faces.component.UISelectOne.INVALID";
 
     private boolean selectItemValueFound = false;
 
     public UISelectOne()
     {
-        setRendererType("javax.faces.Menu");
+        setRendererType("jakarta.faces.Menu");
     }
 
     @Override
@@ -72,7 +72,7 @@ public class UISelectOne extends UIInput
      * visit all the UISelectItem elements within the UISelectOne radio components to check if
      * the submitted value exists in any of the select items.
      *
-     * @see javax.faces.component.UIInput#processValidators(javax.faces.context.FacesContext)
+     * @see jakarta.faces.component.UIInput#processValidators(jakarta.faces.context.FacesContext)
      */
     @Override
     public void processValidators(FacesContext context) 
@@ -150,7 +150,7 @@ public class UISelectOne extends UIInput
      * Verify that the result of converting the newly submitted value is <i>equal</i> to the value property of one of
      * the child SelectItem objects. If this is not true, a validation error is reported.
      * 
-     * @see javax.faces.component.UIInput#validateValue(javax.faces.context.FacesContext,java.lang.Object)
+     * @see jakarta.faces.component.UIInput#validateValue(jakarta.faces.context.FacesContext,java.lang.Object)
      */
     @Override
     protected void validateValue(FacesContext context, Object value)
diff --git a/api/src/main/java/jakarta/faces/component/UIViewAction.java b/api/src/main/java/jakarta/faces/component/UIViewAction.java
index e1930b0..177f896 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewAction.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewAction.java
@@ -37,8 +37,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 public class UIViewAction extends UIComponentBase implements ActionSource2
 {
 
-    public static final String COMPONENT_FAMILY = "javax.faces.ViewAction";
-    public static final String COMPONENT_TYPE = "javax.faces.ViewAction";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.ViewAction";
+    public static final String COMPONENT_TYPE = "jakarta.faces.ViewAction";
     
     /**
      * Key in facesContext attribute map to check if a viewAction broadcast is 
@@ -237,7 +237,7 @@ public class UIViewAction extends UIComponentBase implements ActionSource2
         removeFacesListener(listener);
     }
 
-    @JSFListener(event="javax.faces.event.ActionEvent",
+    @JSFListener(event="jakarta.faces.event.ActionEvent",
             phases="Invoke Application, Apply Request Values")
     @Override
     public ActionListener[] getActionListeners()
diff --git a/api/src/main/java/jakarta/faces/component/UIViewParameter.java b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
index dc62b9c..a3fd5fc 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewParameter.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewParameter.java
@@ -55,11 +55,11 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
 public class UIViewParameter extends UIInput
 {
     private static final Logger log = Logger.getLogger(UIViewParameter.class.getName());
-    public static final String COMPONENT_FAMILY = "javax.faces.ViewParameter";
-    public static final String COMPONENT_TYPE = "javax.faces.ViewParameter";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.ViewParameter";
+    public static final String COMPONENT_TYPE = "jakarta.faces.ViewParameter";
 
     private static final String DELEGATE_FAMILY = UIInput.COMPONENT_FAMILY;
-    private static final String DELEGATE_RENDERER_TYPE = "javax.faces.Text";
+    private static final String DELEGATE_RENDERER_TYPE = "jakarta.faces.Text";
     
     private static ConcurrentHashMap<ClassLoader,Renderer> delegateRendererMap = 
         new ConcurrentHashMap<ClassLoader,Renderer>();
@@ -322,7 +322,7 @@ public class UIViewParameter extends UIInput
         public Reference(FacesContext context, UIViewParameter param, int indexInParent,
                          String viewIdAtTimeOfConstruction)
         {
-            // This constructor cause the StateHolder.saveState(javax.faces.context.FacesContext) method
+            // This constructor cause the StateHolder.saveState(jakarta.faces.context.FacesContext) method
             // to be called on argument UIViewParameter.
             _param = param;
             _viewId = viewIdAtTimeOfConstruction;
@@ -341,7 +341,7 @@ public class UIViewParameter extends UIInput
             }
             else
             {
-                // Otherwise, call StateHolder.restoreState(javax.faces.context.FacesContext, java.lang.Object) on
+                // Otherwise, call StateHolder.restoreState(jakarta.faces.context.FacesContext, java.lang.Object) on
                 // the saved state and return the result.
                 _param.restoreState(context, _state);
 
diff --git a/api/src/main/java/jakarta/faces/component/UIViewRoot.java b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
index 7fae313..94e86ca 100644
--- a/api/src/main/java/jakarta/faces/component/UIViewRoot.java
+++ b/api/src/main/java/jakarta/faces/component/UIViewRoot.java
@@ -82,18 +82,18 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFWebConf
 @JSFJspProperty(name = "binding", returnType = "java.lang.String", tagExcluded = true)
 public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
 {
-    public static final String COMPONENT_FAMILY = "javax.faces.ViewRoot";
-    public static final String COMPONENT_TYPE = "javax.faces.ViewRoot";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.ViewRoot";
+    public static final String COMPONENT_TYPE = "jakarta.faces.ViewRoot";
     public static final String METADATA_FACET_NAME = "javax_faces_metadata";
     public static final String UNIQUE_ID_PREFIX = "j_id";
-    public static final String VIEW_PARAMETERS_KEY = "javax.faces.component.VIEW_PARAMETERS_KEY";
+    public static final String VIEW_PARAMETERS_KEY = "jakarta.faces.component.VIEW_PARAMETERS_KEY";
     
     /**
      * @since 2.3
      */
     @JSFWebConfigParam(defaultValue="false", expectedValues="true, false", since="2.3")
     public static final String VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS_PARAM_NAME
-            = "javax.faces.VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS";
+            = "jakarta.faces.VIEWROOT_PHASE_LISTENER_QUEUES_EXCEPTIONS";
 
     private transient Logger logger = null;
 
@@ -567,7 +567,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         else
         {
             // If PartialViewContext.isAjaxRequest() returns false
-            // delegate to super.encodeChildren(javax.faces.context.FacesContext) method.
+            // delegate to super.encodeChildren(jakarta.faces.context.FacesContext) method.
             super.encodeChildren(context);
         }
     }
@@ -594,7 +594,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
                 {
                     // If the current view has view parameters, as indicated by a non-empty
                     // and non-UnsupportedOperationException throwing
-                    // return from ViewDeclarationLanguage.getViewMetadata(javax.faces.context.FacesContext, String)
+                    // return from ViewDeclarationLanguage.getViewMetadata(jakarta.faces.context.FacesContext, String)
                     ViewMetadata metadata = null;
                     try
                     {
@@ -613,7 +613,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
                             Collection<UIViewParameter> viewParams = ViewMetadata.getViewParameters(this);    
                             if(!viewParams.isEmpty())
                             {
-                                // call UIViewParameter.encodeAll(javax.faces.context.FacesContext) on each parameter.
+                                // call UIViewParameter.encodeAll(jakarta.faces.context.FacesContext) on each parameter.
                                 for(UIViewParameter param : viewParams)
                                 {
                                     param.encodeAll(context);
@@ -642,12 +642,12 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     }
 
     /**
-     * MethodExpression pointing to a method that takes a javax.faces.event.PhaseEvent and returns void,
+     * MethodExpression pointing to a method that takes a jakarta.faces.event.PhaseEvent and returns void,
      * called after every phase except for restore view.
      *
      * @return the new afterPhaseListener value
      */
-    @JSFProperty(returnSignature = "void", methodSignature = "javax.faces.event.PhaseEvent",
+    @JSFProperty(returnSignature = "void", methodSignature = "jakarta.faces.event.PhaseEvent",
                  jspName = "afterPhase", stateHolder=true)
     public MethodExpression getAfterPhaseListener()
     {
@@ -655,12 +655,12 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     }
 
     /**
-     * MethodExpression pointing to a method that takes a javax.faces.event.PhaseEvent and returns void,
+     * MethodExpression pointing to a method that takes a jakarta.faces.event.PhaseEvent and returns void,
      * called before every phase except for restore view.
      *
      * @return the new beforePhaseListener value
      */
-    @JSFProperty(returnSignature = "void", methodSignature = "javax.faces.event.PhaseEvent",
+    @JSFProperty(returnSignature = "void", methodSignature = "jakarta.faces.event.PhaseEvent",
                  jspName = "beforePhase", stateHolder=true)
     public MethodExpression getBeforePhaseListener()
     {
@@ -684,8 +684,8 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         if (facet == null)
         {
             // create the facet by calling context.getApplication().createComponent()
-            // using javax.faces.Panel as the argument
-            facet = context.getApplication().createComponent("javax.faces.Panel");
+            // using jakarta.faces.Panel as the argument
+            facet = context.getApplication().createComponent("jakarta.faces.Panel");
 
             // Set the id of the facet to be target
             facet.setId(target);
@@ -724,9 +724,9 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         if (facet == null)
         {
             // create the facet by calling context.getApplication().createComponent()
-            // using javax.faces.Panel as the argument
+            // using jakarta.faces.Panel as the argument
             facet = context.getApplication().createComponent(context,
-                "javax.faces.ComponentResourceContainer", null);
+                "jakarta.faces.ComponentResourceContainer", null);
 
             // Set the id of the facet to be target
             if (target.equals("head"))
@@ -933,7 +933,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
     @Override
     public void processRestoreState(FacesContext context, Object state)
     {
-        // The default implementation must call UIComponentBase.processRestoreState(javax.faces.context.FacesContext,
+        // The default implementation must call UIComponentBase.processRestoreState(jakarta.faces.context.FacesContext,
         // java.lang.Object) from within a try block.
         try
         {
@@ -1625,9 +1625,9 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
             return;
         }
         //StateManagementStrategy says "... obtain the state of the UIViewRoot from the 
-        // state Object returned from ResponseStateManager.getState(javax.faces.context.FacesContext,
+        // state Object returned from ResponseStateManager.getState(jakarta.faces.context.FacesContext,
         // java.lang.String) and pass that to UIViewRoot.restoreViewScopeState(
-        // javax.faces.context.FacesContext, java.lang.Object).
+        // jakarta.faces.context.FacesContext, java.lang.Object).
         // Note restoreState() will be called later, and it will restore the view. If
         // we restore the component state here, later it could be a problem in the later
         // restoreState() call, because the initial state will not be the same.
@@ -1821,7 +1821,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         public void process(FacesContext context, UIViewRoot root)
         {
             PartialViewContext pvc = context.getPartialViewContext();
-            // Perform partial processing by calling PartialViewContext.processPartial(javax.faces.event.PhaseId)
+            // Perform partial processing by calling PartialViewContext.processPartial(jakarta.faces.event.PhaseId)
             // with PhaseId.UPDATE_MODEL_VALUES if:
             //   * PartialViewContext.isPartialRequest() returns true and we don't have a request to process all
             // components in the view (PartialViewContext.isExecuteAll() returns false)
@@ -1830,7 +1830,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
             {
                 pvc.processPartial(PhaseId.APPLY_REQUEST_VALUES);
             }
-            // Perform full processing by calling UIComponentBase.processUpdates(javax.faces.context.FacesContext)
+            // Perform full processing by calling UIComponentBase.processUpdates(jakarta.faces.context.FacesContext)
             // if one of the following conditions are met:
             // *   PartialViewContext.isPartialRequest() returns true and we have a request to process all components
             // in the view (PartialViewContext.isExecuteAll() returns true)
@@ -1848,7 +1848,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         public void process(FacesContext context, UIViewRoot root)
         {
             PartialViewContext pvc = context.getPartialViewContext();
-            // Perform partial processing by calling PartialViewContext.processPartial(javax.faces.event.PhaseId)
+            // Perform partial processing by calling PartialViewContext.processPartial(jakarta.faces.event.PhaseId)
             // with PhaseId.UPDATE_MODEL_VALUES if:
             // PartialViewContext.isPartialRequest() returns true and we don't have a request to process all components
             // in the view (PartialViewContext.isExecuteAll() returns false)
@@ -1857,7 +1857,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
             {
                 pvc.processPartial(PhaseId.PROCESS_VALIDATIONS);
             }
-            // Perform full processing by calling UIComponentBase.processUpdates(javax.faces.context.FacesContext)
+            // Perform full processing by calling UIComponentBase.processUpdates(jakarta.faces.context.FacesContext)
             // if one of the following conditions are met:
             // *   PartialViewContext.isPartialRequest() returns true and we have a request to process all components
             // in the view (PartialViewContext.isExecuteAll() returns true)
@@ -1875,7 +1875,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
         public void process(FacesContext context, UIViewRoot root)
         {
             PartialViewContext pvc = context.getPartialViewContext();
-            // Perform partial processing by calling PartialViewContext.processPartial(javax.faces.event.PhaseId)
+            // Perform partial processing by calling PartialViewContext.processPartial(jakarta.faces.event.PhaseId)
             // with PhaseId.UPDATE_MODEL_VALUES if:
             //   * PartialViewContext.isPartialRequest() returns true and we don't have a request to process
             // all components in the view (PartialViewContext.isExecuteAll() returns false)
@@ -1884,7 +1884,7 @@ public class UIViewRoot extends UIComponentBase implements UniqueIdVendor
             {
                 pvc.processPartial(PhaseId.UPDATE_MODEL_VALUES);
             }
-            // Perform full processing by calling UIComponentBase.processUpdates(javax.faces.context.FacesContext)
+            // Perform full processing by calling UIComponentBase.processUpdates(jakarta.faces.context.FacesContext)
             // if one of the following conditions are met:
             // *   PartialViewContext.isPartialRequest() returns true and we have a request to process all components
             // in the view (PartialViewContext.isExecuteAll() returns true)
diff --git a/api/src/main/java/jakarta/faces/component/_UIMessage.java b/api/src/main/java/jakarta/faces/component/_UIMessage.java
index d9a11cb..f0334d8 100644
--- a/api/src/main/java/jakarta/faces/component/_UIMessage.java
+++ b/api/src/main/java/jakarta/faces/component/_UIMessage.java
@@ -31,9 +31,9 @@ abstract class _UIMessage extends UIComponentBase
 {
 
     static public final String COMPONENT_FAMILY =
-      "javax.faces.Message";
+      "jakarta.faces.Message";
     static public final String COMPONENT_TYPE =
-      "javax.faces.Message";
+      "jakarta.faces.Message";
 
     /**
      * The ID of the component whose attached FacesMessage object (if present) 
diff --git a/api/src/main/java/jakarta/faces/component/_UIMessages.java b/api/src/main/java/jakarta/faces/component/_UIMessages.java
index 364eb4f..aab4651 100644
--- a/api/src/main/java/jakarta/faces/component/_UIMessages.java
+++ b/api/src/main/java/jakarta/faces/component/_UIMessages.java
@@ -31,9 +31,9 @@ abstract class _UIMessages extends UIComponentBase
 {
 
     static public final String COMPONENT_FAMILY =
-      "javax.faces.Messages";
+      "jakarta.faces.Messages";
     static public final String COMPONENT_TYPE =
-      "javax.faces.Messages";
+      "jakarta.faces.Messages";
 
     /**
      * Specifies whether only messages (FacesMessage objects) not associated with a
diff --git a/api/src/main/java/jakarta/faces/component/_UIParameter.java b/api/src/main/java/jakarta/faces/component/_UIParameter.java
index 583372e..2e1fca8 100644
--- a/api/src/main/java/jakarta/faces/component/_UIParameter.java
+++ b/api/src/main/java/jakarta/faces/component/_UIParameter.java
@@ -35,8 +35,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _UIParameter extends UIComponentBase
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.Parameter";
-    static public final String COMPONENT_TYPE = "javax.faces.Parameter";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Parameter";
+    static public final String COMPONENT_TYPE = "jakarta.faces.Parameter";
 
     /**
      * Disable this property; although this class extends a base-class that defines a read/write rendered property, this
diff --git a/api/src/main/java/jakarta/faces/component/_UISelectItem.java b/api/src/main/java/jakarta/faces/component/_UISelectItem.java
index 9c743a3..1729546 100644
--- a/api/src/main/java/jakarta/faces/component/_UISelectItem.java
+++ b/api/src/main/java/jakarta/faces/component/_UISelectItem.java
@@ -39,8 +39,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _UISelectItem extends UIComponentBase
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.SelectItem";
-    static public final String COMPONENT_TYPE = "javax.faces.SelectItem";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.SelectItem";
+    static public final String COMPONENT_TYPE = "jakarta.faces.SelectItem";
 
     /**
      * Disable this property; although this class extends a base-class that defines a read/write rendered property, this
@@ -81,7 +81,7 @@ abstract class _UISelectItem extends UIComponentBase
      * 
      * @return the new value value
      */
-    @JSFProperty(deferredValueType="javax.faces.model.SelectItem")
+    @JSFProperty(deferredValueType="jakarta.faces.model.SelectItem")
     public abstract Object getValue();
 
     /**
diff --git a/api/src/main/java/jakarta/faces/component/_UISelectItems.java b/api/src/main/java/jakarta/faces/component/_UISelectItems.java
index 094f6a8..8a45db3 100644
--- a/api/src/main/java/jakarta/faces/component/_UISelectItems.java
+++ b/api/src/main/java/jakarta/faces/component/_UISelectItems.java
@@ -38,7 +38,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
  * </p>
  */
 @JSFComponent(clazz = "jakarta.faces.component.UISelectItems",
-              template=true,
+              template = true,
               name = "f:selectItems",
               tagClass = "org.apache.myfaces.taglib.core.SelectItemsTag",
               bodyContent = "empty")
@@ -46,9 +46,9 @@ abstract class _UISelectItems extends UIComponentBase
 {
 
     static public final String COMPONENT_FAMILY =
-        "javax.faces.SelectItems";
+        "jakarta.faces.SelectItems";
     static public final String COMPONENT_TYPE =
-        "javax.faces.SelectItems";
+        "jakarta.faces.SelectItems";
 
     /**
      * Disable this property; although this class extends a base-class that
diff --git a/api/src/main/java/jakarta/faces/component/_UIWebsocket.java b/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
index d80c5bb..421e0bb 100644
--- a/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
+++ b/api/src/main/java/jakarta/faces/component/_UIWebsocket.java
@@ -27,14 +27,14 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 
 @JSFComponent(clazz = "jakarta.faces.component.UIWebsocket",template=true,
         name = "f:websocket",
-        defaultRendererType = "javax.faces.Websocket",
+        defaultRendererType = "jakarta.faces.Websocket",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         bodyContent = "empty")
 abstract class _UIWebsocket extends UIComponentBase
 {
     
-    static public final String COMPONENT_FAMILY = "javax.faces.Script";
-    static public final String COMPONENT_TYPE = "javax.faces.Websocket";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Script";
+    static public final String COMPONENT_TYPE = "jakarta.faces.Websocket";
 
     private static final Collection<String> EVERY_EVENT = Collections.unmodifiableList(new java.util.ArrayList<String>()
     {
diff --git a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
index c1f615b..567563d 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/AjaxBehavior.java
@@ -39,10 +39,10 @@ public class AjaxBehavior extends ClientBehaviorBase
     /**
      * not needed anymore but enforced by the spec
      * theoretically a
-     * FacesBehavior(value = "javax.faces.behavior.Ajax")
+     * FacesBehavior(value = "jakarta.faces.behavior.Ajax")
      * could do it
      */
-    public static final String BEHAVIOR_ID = "javax.faces.behavior.Ajax";
+    public static final String BEHAVIOR_ID = "jakarta.faces.behavior.Ajax";
 
     private static final String ATTR_EXECUTE = "execute";
     private static final String ATTR_ON_ERROR = "onerror";
diff --git a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
index 4258678..2d75b82 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/ClientBehaviorContext.java
@@ -31,12 +31,12 @@ public abstract class ClientBehaviorContext
     /**
      * @since 2.3
      */
-    public static final String BEHAVIOR_SOURCE_PARAM_NAME = "javax.faces.source";
+    public static final String BEHAVIOR_SOURCE_PARAM_NAME = "jakarta.faces.source";
 
     /**
      * @since 2.3
      */
-    public static final String BEHAVIOR_EVENT_PARAM_NAME = "javax.faces.behavior.event";
+    public static final String BEHAVIOR_EVENT_PARAM_NAME = "jakarta.faces.behavior.event";
 
     public static ClientBehaviorContext createClientBehaviorContext(FacesContext context,
                                                                     UIComponent component,
diff --git a/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java b/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
index 775d6a6..c63f40c 100644
--- a/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
+++ b/api/src/main/java/jakarta/faces/component/behavior/_DeltaStateHelper.java
@@ -71,9 +71,9 @@ import jakarta.faces.context.FacesContext;
  * </p>
  * <ul>
  *   <li> A new template is created (using 
- *   javax.faces.view.ViewDeclarationLanguage.buildView method)
+ *   jakarta.faces.view.ViewDeclarationLanguage.buildView method)
  *   and component.markInitialState is called from its related TagHandler classes 
- *  (see javax.faces.view.facelets.ComponentHandler ).
+ *  (see jakarta.faces.view.facelets.ComponentHandler ).
  *   When this method is executed, the component tree was populated from the values
  *   set in the facelet abstract syntax tree (or in other words composition of 
  *   facelets templates). </li>
@@ -87,7 +87,7 @@ import jakarta.faces.context.FacesContext;
  *   <li> A new template is created and component.markInitialState is called from
  *   its related TagHandler classes again. In this way, components like c:forEach 
  *   or c:if, that add or remove components could notify about this and handle 
- *   them properly (see javax.faces.view.StateManagementStrategy). Note that a 
+ *   them properly (see jakarta.faces.view.StateManagementStrategy). Note that a 
  *   component restored using this method is no different as the same component 
  *   at the first request at the same time. </li>
  *   <li> A call for restoreState is done, passing the delta as object value. If no 
diff --git a/api/src/main/java/jakarta/faces/component/html/HtmlInputHidden.java b/api/src/main/java/jakarta/faces/component/html/HtmlInputHidden.java
index fe62aaf..a7583f0 100644
--- a/api/src/main/java/jakarta/faces/component/html/HtmlInputHidden.java
+++ b/api/src/main/java/jakarta/faces/component/html/HtmlInputHidden.java
@@ -32,22 +32,22 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent
 (name = "h:inputHidden",
 tagClass = "org.apache.myfaces.taglib.html.HtmlInputHiddenTag",
-defaultRendererType = "javax.faces.Hidden"
+defaultRendererType = "jakarta.faces.Hidden"
 )
 public class HtmlInputHidden extends UIInput
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Input";
+    "jakarta.faces.Input";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlInputHidden";
+    "jakarta.faces.HtmlInputHidden";
 
   /**
    * Construct an instance of the HtmlInputHidden.
    */
   public HtmlInputHidden()
   {
-    setRendererType("javax.faces.Hidden");
+    setRendererType("jakarta.faces.Hidden");
   }
 
   @Override
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlBody.java b/api/src/main/java/jakarta/faces/component/html/_HtmlBody.java
index aa734b1..5087d3d 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlBody.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlBody.java
@@ -27,14 +27,14 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 
 @JSFComponent
 (name="h:body", clazz = "jakarta.faces.component.html.HtmlBody",
-        defaultRendererType="javax.faces.Body",template=true,
+        defaultRendererType = "jakarta.faces.Body", template = true,
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlBody extends UIOutput 
     implements _EventProperties, _UniversalProperties, _StyleProperties, _RoleProperty
 {
 
-  static public final String COMPONENT_FAMILY = "javax.faces.Output";
-  static public final String COMPONENT_TYPE = "javax.faces.OutputBody";
+  static public final String COMPONENT_FAMILY = "jakarta.faces.Output";
+  static public final String COMPONENT_TYPE = "jakarta.faces.OutputBody";
 
   /**
    * HTML: Script to be invoked when the page is loaded
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlColumn.java b/api/src/main/java/jakarta/faces/component/html/_HtmlColumn.java
index 8f1ad94..c351611 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlColumn.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlColumn.java
@@ -43,8 +43,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _HtmlColumn extends UIColumn
 {
 
-  static public final String COMPONENT_FAMILY = "javax.faces.Column";
-  static public final String COMPONENT_TYPE = "javax.faces.HtmlColumn";
+  static public final String COMPONENT_FAMILY = "jakarta.faces.Column";
+  static public final String COMPONENT_TYPE = "jakarta.faces.HtmlColumn";
 
   /**
    * CSS class to be used for the header.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandButton.java b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandButton.java
index be3be31..5b30ba2 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandButton.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandButton.java
@@ -30,7 +30,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:commandButton",
         clazz = "jakarta.faces.component.html.HtmlCommandButton",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlCommandButtonTag",
-        defaultRendererType = "javax.faces.Button",
+        defaultRendererType = "jakarta.faces.Button",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "action")
 abstract class _HtmlCommandButton extends UICommand implements _FocusBlurProperties, 
@@ -40,8 +40,8 @@ abstract class _HtmlCommandButton extends UICommand implements _FocusBlurPropert
     _LabelProperty, _RoleProperty
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.Command";
-    static public final String COMPONENT_TYPE = "javax.faces.HtmlCommandButton";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Command";
+    static public final String COMPONENT_TYPE = "jakarta.faces.HtmlCommandButton";
 
     /**
      * HTML: The URL of an image that renders in place of the button.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandLink.java b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandLink.java
index 8c23f6e..0ad6da9 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandLink.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandLink.java
@@ -30,7 +30,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:commandLink",
         clazz = "jakarta.faces.component.html.HtmlCommandLink",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlCommandLinkTag",
-        defaultRendererType = "javax.faces.Link",
+        defaultRendererType = "jakarta.faces.Link",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "action")
 abstract class _HtmlCommandLink extends UICommand
@@ -40,9 +40,9 @@ abstract class _HtmlCommandLink extends UICommand
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Command";
+    "jakarta.faces.Command";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlCommandLink";
+    "jakarta.faces.HtmlCommandLink";
 
   /**
    * When true, this element cannot receive focus.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandScript.java b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandScript.java
index 08fb89f..754f58d 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlCommandScript.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlCommandScript.java
@@ -30,14 +30,14 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:commandScript",
         clazz = "jakarta.faces.component.html.HtmlCommandScript",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlCommandScriptTag",
-        defaultRendererType = "javax.faces.Script",
+        defaultRendererType = "jakarta.faces.Script",
         defaultEventName = "action")
 abstract class _HtmlCommandScript extends UICommand
 {
     static public final String COMPONENT_FAMILY =
-        "javax.faces.Command";
+        "jakarta.faces.Command";
     static public final String COMPONENT_TYPE =
-        "javax.faces.HtmlCommandScript";
+        "jakarta.faces.HtmlCommandScript";
 
     @JSFProperty(defaultValue = "false")
     public abstract boolean isAutorun();
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlDataTable.java b/api/src/main/java/jakarta/faces/component/html/_HtmlDataTable.java
index 3ce467e..70ec323 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlDataTable.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlDataTable.java
@@ -40,16 +40,16 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:dataTable",
         clazz = "jakarta.faces.component.html.HtmlDataTable",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlDataTableTag",
-        defaultRendererType = "javax.faces.Table",
+        defaultRendererType = "jakarta.faces.Table",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlDataTable extends UIData
     implements _EventProperties, _StyleProperties, _UniversalProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Data";
+    "jakarta.faces.Data";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlDataTable";
+    "jakarta.faces.HtmlDataTable";
 
   /**
    * HTML: The background color of this element.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlDoctype.java b/api/src/main/java/jakarta/faces/component/html/_HtmlDoctype.java
index 2417540..6d2af2c 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlDoctype.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlDoctype.java
@@ -31,8 +31,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _HtmlDoctype extends UIOutput
 {
 
-  static public final String COMPONENT_FAMILY = "javax.faces.Output";
-  static public final String COMPONENT_TYPE = "javax.faces.OutputDoctype";
+  static public final String COMPONENT_FAMILY = "jakarta.faces.Output";
+  static public final String COMPONENT_TYPE = "jakarta.faces.OutputDoctype";
 
   /**
    * 
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlForm.java b/api/src/main/java/jakarta/faces/component/html/_HtmlForm.java
index 8032761..ca3088b 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlForm.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlForm.java
@@ -29,16 +29,16 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:form",
         clazz = "jakarta.faces.component.html.HtmlForm",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlFormTag",
-        defaultRendererType = "javax.faces.Form",
+        defaultRendererType = "jakarta.faces.Form",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlForm extends UIForm
     implements _EventProperties, _UniversalProperties, _StyleProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Form";
+    "jakarta.faces.Form";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlForm";
+    "jakarta.faces.HtmlForm";
 
   /**
    * HTML: Provides a comma-separated list of content types that the 
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlGraphicImage.java b/api/src/main/java/jakarta/faces/component/html/_HtmlGraphicImage.java
index c1adf5f..2994d08 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlGraphicImage.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlGraphicImage.java
@@ -34,7 +34,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:graphicImage",
         clazz = "jakarta.faces.component.html.HtmlGraphicImage",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlGraphicImageTag",
-        defaultRendererType = "javax.faces.Image",
+        defaultRendererType = "jakarta.faces.Image",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlGraphicImage extends UIGraphic 
     implements _EventProperties,
@@ -42,9 +42,9 @@ abstract class _HtmlGraphicImage extends UIGraphic
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Graphic";
+    "jakarta.faces.Graphic";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlGraphicImage";
+    "jakarta.faces.HtmlGraphicImage";
 
   /**
    * HTML: Overrides the natural height of this image, by specifying height in pixels.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlHead.java b/api/src/main/java/jakarta/faces/component/html/_HtmlHead.java
index 843c002..bacf091 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlHead.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlHead.java
@@ -30,8 +30,8 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _HtmlHead extends UIOutput 
 {
 
-  static public final String COMPONENT_FAMILY = "javax.faces.Output";
-  static public final String COMPONENT_TYPE = "javax.faces.OutputHead";
+  static public final String COMPONENT_FAMILY = "jakarta.faces.Output";
+  static public final String COMPONENT_TYPE = "jakarta.faces.OutputHead";
 
   /**
    * HTML: The direction of text display, either 'ltr' (left-to-right) or 'rtl' (right-to-left).
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlInputFile.java b/api/src/main/java/jakarta/faces/component/html/_HtmlInputFile.java
index 66a82dd..42411a7 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlInputFile.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlInputFile.java
@@ -33,7 +33,7 @@ import org.apache.myfaces.core.api.shared.MessageUtils;
     clazz = "jakarta.faces.component.html.HtmlInputFile",
     template = true,
     tagClass = "org.apache.myfaces.taglib.html.HtmlInputFileTag",
-    defaultRendererType = "javax.faces.File",
+    defaultRendererType = "jakarta.faces.File",
     implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
     defaultEventName = "valueChange"
 )
@@ -44,8 +44,8 @@ abstract class _HtmlInputFile extends UIInput implements _AccesskeyProperty,
     _RoleProperty
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.Input";
-    static public final String COMPONENT_TYPE = "javax.faces.HtmlInputFile";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Input";
+    static public final String COMPONENT_TYPE = "jakarta.faces.HtmlInputFile";
 
     /**
      * HTML: The maximum number of characters allowed to be entered.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlInputSecret.java b/api/src/main/java/jakarta/faces/component/html/_HtmlInputSecret.java
index 21da808..845e10c 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlInputSecret.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlInputSecret.java
@@ -29,7 +29,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:inputSecret",
         clazz = "jakarta.faces.component.html.HtmlInputSecret",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlInputSecretTag",
-        defaultRendererType = "javax.faces.Secret",
+        defaultRendererType = "jakarta.faces.Secret",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlInputSecret extends UIInput implements _AccesskeyProperty,
@@ -39,9 +39,9 @@ abstract class _HtmlInputSecret extends UIInput implements _AccesskeyProperty,
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Input";
+    "jakarta.faces.Input";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlInputSecret";
+    "jakarta.faces.HtmlInputSecret";
 
   /**
    * HTML: The maximum number of characters allowed to be entered.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlInputText.java b/api/src/main/java/jakarta/faces/component/html/_HtmlInputText.java
index f00024b..11fb901 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlInputText.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlInputText.java
@@ -31,7 +31,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
     clazz = "jakarta.faces.component.html.HtmlInputText",
     template = true,
     tagClass = "org.apache.myfaces.taglib.html.HtmlInputTextTag",
-    defaultRendererType = "javax.faces.Text",
+    defaultRendererType = "jakarta.faces.Text",
     implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
     defaultEventName = "valueChange")
 abstract class _HtmlInputText extends UIInput implements _AccesskeyProperty,
@@ -41,8 +41,8 @@ abstract class _HtmlInputText extends UIInput implements _AccesskeyProperty,
     _RoleProperty
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.Input";
-    static public final String COMPONENT_TYPE = "javax.faces.HtmlInputText";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Input";
+    static public final String COMPONENT_TYPE = "jakarta.faces.HtmlInputText";
 
     /**
      * HTML: The maximum number of characters allowed to be entered.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlInputTextarea.java b/api/src/main/java/jakarta/faces/component/html/_HtmlInputTextarea.java
index 8898b8d..8056ed64 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlInputTextarea.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlInputTextarea.java
@@ -30,7 +30,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
     clazz = "jakarta.faces.component.html.HtmlInputTextarea",
     template = true,
     tagClass = "org.apache.myfaces.taglib.html.HtmlInputTextareaTag",
-    defaultRendererType = "javax.faces.Textarea",
+    defaultRendererType = "jakarta.faces.Textarea",
     implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
     defaultEventName = "valueChange")
 abstract class _HtmlInputTextarea extends UIInput implements _AccesskeyProperty,
@@ -40,8 +40,8 @@ abstract class _HtmlInputTextarea extends UIInput implements _AccesskeyProperty,
     _RoleProperty
 {
 
-    static public final String COMPONENT_FAMILY = "javax.faces.Input";
-    static public final String COMPONENT_TYPE = "javax.faces.HtmlInputTextarea";
+    static public final String COMPONENT_FAMILY = "jakarta.faces.Input";
+    static public final String COMPONENT_TYPE = "jakarta.faces.HtmlInputTextarea";
 
     /**
      * HTML: The width of this element, in characters.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlMessage.java b/api/src/main/java/jakarta/faces/component/html/_HtmlMessage.java
index db3d837..0831c60 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlMessage.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlMessage.java
@@ -30,14 +30,14 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:message",
         clazz = "jakarta.faces.component.html.HtmlMessage",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlMessageTag",
-        defaultRendererType = "javax.faces.Message")
+        defaultRendererType = "jakarta.faces.Message")
 abstract class _HtmlMessage extends UIMessage implements _StyleProperties, 
     _MessageProperties, _UniversalProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Message";
+    "jakarta.faces.Message";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlMessage";
+    "jakarta.faces.HtmlMessage";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlMessages.java b/api/src/main/java/jakarta/faces/component/html/_HtmlMessages.java
index 3bce8c8..3a046da 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlMessages.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlMessages.java
@@ -44,9 +44,9 @@ _MessageProperties, _UniversalProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Messages";
+    "jakarta.faces.Messages";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlMessages";
+    "jakarta.faces.HtmlMessages";
 
   /**
    * The layout: "table" or "list". Default: list
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetButton.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetButton.java
index 8edd05b..a9e9d58 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetButton.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetButton.java
@@ -30,16 +30,16 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name="h:button",
         clazz = "jakarta.faces.component.html.HtmlOutcomeTargetButton",template=true,
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
-        defaultRendererType = "javax.faces.Button")
+        defaultRendererType = "jakarta.faces.Button")
 abstract class _HtmlOutcomeTargetButton extends UIOutcomeTarget implements _FocusBlurProperties,
 _EventProperties, _StyleProperties, _UniversalProperties, _AccesskeyProperty,
 _TabindexProperty, _AltProperty, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.OutcomeTarget";
+    "jakarta.faces.OutcomeTarget";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutcomeTargetButton";
+    "jakarta.faces.HtmlOutcomeTargetButton";
 
   /**
    * HTML: the value to put as image attribute
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetLink.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetLink.java
index 630de39..c874c1c 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetLink.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutcomeTargetLink.java
@@ -36,8 +36,8 @@ _TabindexProperty, _LinkProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.OutcomeTarget";
+    "jakarta.faces.OutcomeTarget";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutcomeTargetLink";
+    "jakarta.faces.HtmlOutcomeTargetLink";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputFormat.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputFormat.java
index 3988276..f15909d 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputFormat.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputFormat.java
@@ -36,8 +36,8 @@ abstract class _HtmlOutputFormat extends UIOutput implements _StyleProperties,
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Output";
+    "jakarta.faces.Output";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutputFormat";
+    "jakarta.faces.HtmlOutputFormat";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLabel.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLabel.java
index be99edd..a6a090d 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLabel.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLabel.java
@@ -30,7 +30,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:outputLabel",
         clazz = "jakarta.faces.component.html.HtmlOutputLabel",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlOutputLabelTag",
-        defaultRendererType = "javax.faces.Label",
+        defaultRendererType = "jakarta.faces.Label",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlOutputLabel extends UIOutput implements _FocusBlurProperties,
 _EventProperties, _StyleProperties, _UniversalProperties, _AccesskeyProperty,
@@ -38,9 +38,9 @@ _TabindexProperty, _EscapeProperty, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Output";
+    "jakarta.faces.Output";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutputLabel";
+    "jakarta.faces.HtmlOutputLabel";
 
   /**
    * The client ID of the target input element of this label.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLink.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLink.java
index 9c79820..d6dc1ea 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLink.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputLink.java
@@ -32,7 +32,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:outputLink",
         clazz = "jakarta.faces.component.html.HtmlOutputLink",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlOutputLinkTag",
-        defaultRendererType = "javax.faces.Link",
+        defaultRendererType = "jakarta.faces.Link",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlOutputLink extends UIOutput implements _AccesskeyProperty,
 _UniversalProperties, _FocusBlurProperties, _EventProperties, _StyleProperties,
@@ -40,9 +40,9 @@ _TabindexProperty, _LinkProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Output";
+    "jakarta.faces.Output";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutputLink";
+    "jakarta.faces.HtmlOutputLink";
 
   /**
    * append text to url after '#'
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputText.java b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputText.java
index 1710798..595a76a 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlOutputText.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlOutputText.java
@@ -36,8 +36,8 @@ _StyleProperties, _UniversalProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Output";
+    "jakarta.faces.Output";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlOutputText";
+    "jakarta.faces.HtmlOutputText";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGrid.java b/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGrid.java
index c815f0a..7e09955 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGrid.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGrid.java
@@ -34,16 +34,16 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:panelGrid",
         clazz = "jakarta.faces.component.html.HtmlPanelGrid",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlPanelGridTag",
-        defaultRendererType = "javax.faces.Grid",
+        defaultRendererType = "jakarta.faces.Grid",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlPanelGrid extends UIPanel implements _EventProperties,
 _StyleProperties, _UniversalProperties, _RoleProperty
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Panel";
+    "jakarta.faces.Panel";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlPanelGrid";
+    "jakarta.faces.HtmlPanelGrid";
 
   /**
    * HTML: The background color of this element.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGroup.java b/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGroup.java
index 23ef224..043bf72 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGroup.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlPanelGroup.java
@@ -31,15 +31,15 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:panelGroup",
         clazz = "jakarta.faces.component.html.HtmlPanelGroup",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlPanelGroupTag",
-        defaultRendererType = "javax.faces.Group",
+        defaultRendererType = "jakarta.faces.Group",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder")
 abstract class _HtmlPanelGroup extends UIPanel implements _StyleProperties, _EventProperties
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.Panel";
+    "jakarta.faces.Panel";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlPanelGroup";
+    "jakarta.faces.HtmlPanelGroup";
 
   /**
    * The type of layout markup to use when rendering this group. If the value is "block"
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectBooleanCheckbox.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectBooleanCheckbox.java
index 089f2a9..07b39b1 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectBooleanCheckbox.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectBooleanCheckbox.java
@@ -36,7 +36,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 (name = "h:selectBooleanCheckbox",
         clazz = "jakarta.faces.component.html.HtmlSelectBooleanCheckbox",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectBooleanCheckboxTag",
-        defaultRendererType = "javax.faces.Checkbox",
+        defaultRendererType = "jakarta.faces.Checkbox",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectBooleanCheckbox extends UISelectBoolean implements
@@ -47,8 +47,8 @@ abstract class _HtmlSelectBooleanCheckbox extends UISelectBoolean implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectBoolean";
+    "jakarta.faces.SelectBoolean";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectBooleanCheckbox";
+    "jakarta.faces.HtmlSelectBooleanCheckbox";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyCheckbox.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyCheckbox.java
index 480cb8a..1fdfb67 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyCheckbox.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyCheckbox.java
@@ -52,7 +52,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 (name = "h:selectManyCheckbox",
         clazz = "jakarta.faces.component.html.HtmlSelectManyCheckbox",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectManyCheckboxTag",
-        defaultRendererType = "javax.faces.Checkbox",
+        defaultRendererType = "jakarta.faces.Checkbox",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectManyCheckbox extends UISelectMany implements 
@@ -63,9 +63,9 @@ abstract class _HtmlSelectManyCheckbox extends UISelectMany implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectMany";
+    "jakarta.faces.SelectMany";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectManyCheckbox";
+    "jakarta.faces.HtmlSelectManyCheckbox";
 
   /**
    * HTML: Specifies the width of the border of this element, in pixels.  Deprecated in HTML 4.01.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyListbox.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyListbox.java
index 867864f..327c093 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyListbox.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyListbox.java
@@ -53,7 +53,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:selectManyListbox",
         clazz = "jakarta.faces.component.html.HtmlSelectManyListbox",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectManyListboxTag",
-        defaultRendererType = "javax.faces.Listbox",
+        defaultRendererType = "jakarta.faces.Listbox",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectManyListbox extends UISelectMany implements 
@@ -64,9 +64,9 @@ abstract class _HtmlSelectManyListbox extends UISelectMany implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectMany";
+    "jakarta.faces.SelectMany";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectManyListbox";
+    "jakarta.faces.HtmlSelectManyListbox";
 
   /**
    * see JSF Spec.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyMenu.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyMenu.java
index c88c875..5875887 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyMenu.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectManyMenu.java
@@ -50,7 +50,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:selectManyMenu",
         clazz = "jakarta.faces.component.html.HtmlSelectManyMenu",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectManyMenuTag",
-        defaultRendererType = "javax.faces.Menu",
+        defaultRendererType = "jakarta.faces.Menu",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectManyMenu extends UISelectMany implements
@@ -61,8 +61,8 @@ abstract class _HtmlSelectManyMenu extends UISelectMany implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectMany";
+    "jakarta.faces.SelectMany";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectManyMenu";
+    "jakarta.faces.HtmlSelectManyMenu";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneListbox.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneListbox.java
index 4b00ac4..703591a 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneListbox.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneListbox.java
@@ -51,7 +51,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:selectOneListbox",
         clazz = "jakarta.faces.component.html.HtmlSelectOneListbox",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectOneListboxTag",
-        defaultRendererType = "javax.faces.Listbox",
+        defaultRendererType = "jakarta.faces.Listbox",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectOneListbox extends UISelectOne implements
@@ -62,9 +62,9 @@ abstract class _HtmlSelectOneListbox extends UISelectOne implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectOne";
+    "jakarta.faces.SelectOne";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectOneListbox";
+    "jakarta.faces.HtmlSelectOneListbox";
 
   /**
    * see JSF Spec.
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneMenu.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneMenu.java
index 81da625..340128c 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneMenu.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneMenu.java
@@ -45,7 +45,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFCompone
 @JSFComponent(name = "h:selectOneMenu",
         clazz = "jakarta.faces.component.html.HtmlSelectOneMenu",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectOneMenuTag",
-        defaultRendererType = "javax.faces.Menu",
+        defaultRendererType = "jakarta.faces.Menu",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectOneMenu extends UISelectOne implements
@@ -56,8 +56,8 @@ abstract class _HtmlSelectOneMenu extends UISelectOne implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectOne";
+    "jakarta.faces.SelectOne";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectOneMenu";
+    "jakarta.faces.HtmlSelectOneMenu";
 
 }
diff --git a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneRadio.java b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneRadio.java
index 0245069..aa934d7 100644
--- a/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneRadio.java
+++ b/api/src/main/java/jakarta/faces/component/html/_HtmlSelectOneRadio.java
@@ -44,7 +44,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 @JSFComponent(name = "h:selectOneRadio",
         clazz = "jakarta.faces.component.html.HtmlSelectOneRadio",template=true,
         tagClass = "org.apache.myfaces.taglib.html.HtmlSelectOneRadioTag",
-        defaultRendererType = "javax.faces.Radio",
+        defaultRendererType = "jakarta.faces.Radio",
         implementz = "jakarta.faces.component.behavior.ClientBehaviorHolder",
         defaultEventName = "valueChange")
 abstract class _HtmlSelectOneRadio extends UISelectOne implements
@@ -55,9 +55,9 @@ abstract class _HtmlSelectOneRadio extends UISelectOne implements
 {
 
   static public final String COMPONENT_FAMILY =
-    "javax.faces.SelectOne";
+    "jakarta.faces.SelectOne";
   static public final String COMPONENT_TYPE =
-    "javax.faces.HtmlSelectOneRadio";
+    "jakarta.faces.HtmlSelectOneRadio";
 
   /**
    * Width in pixels of the border to be drawn around the table containing the options list.
diff --git a/api/src/main/java/jakarta/faces/webapp/UIComponentClassicTagBase.java b/api/src/main/java/jakarta/faces/webapp/UIComponentClassicTagBase.java
index a85869b..78aa061 100644
--- a/api/src/main/java/jakarta/faces/webapp/UIComponentClassicTagBase.java
+++ b/api/src/main/java/jakarta/faces/webapp/UIComponentClassicTagBase.java
@@ -657,7 +657,7 @@ public abstract class UIComponentClassicTagBase extends UIComponentTagBase imple
      * Creates a transient UIOutput using the Application, with the following characteristics:
      * </p>
      * <p>
-     * <code>componentType</code> is <code>javax.faces.HtmlOutputText</code>.
+     * <code>componentType</code> is <code>jakarta.faces.HtmlOutputText</code>.
      * </p>
      * <p>
      * <code>transient</code> is <code>true</code>.
diff --git a/api/src/main/javascript/META-INF/resources/myfaces/api/jsf.js b/api/src/main/javascript/META-INF/resources/myfaces/api/jsf.js
index efa761e..78e293c 100644
--- a/api/src/main/javascript/META-INF/resources/myfaces/api/jsf.js
+++ b/api/src/main/javascript/META-INF/resources/myfaces/api/jsf.js
@@ -79,7 +79,7 @@ if (!window.jsf) {
          * </li>
          *
          * @return {String} the current project state emitted by the server side method:
-         * <i>javax.faces.application.Application.getProjectStage()</i>
+         * <i>jakarta.faces.application.Application.getProjectStage()</i>
          */
         this.getProjectStage = function() {
             var impl = myfaces._impl.core._Runtime.getGlobalConfig("jsfAjaxImpl", myfaces._impl.core.Impl);
diff --git a/api/src/main/resources/jakarta/faces/Messages.properties b/api/src/main/resources/jakarta/faces/Messages.properties
index 76386af..96bd2ce 100755
--- a/api/src/main/resources/jakarta/faces/Messages.properties
+++ b/api/src/main/resources/jakarta/faces/Messages.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Conversion error occurred.
-javax.faces.component.UIInput.REQUIRED = {0}: Validation Error: Value is required.
-javax.faces.component.UIInput.UPDATE = {0}: An error occurred when processing your submitted information.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Conversion error occurred.
+jakarta.faces.component.UIInput.REQUIRED = {0}: Validation Error: Value is required.
+jakarta.faces.component.UIInput.UPDATE = {0}: An error occurred when processing your submitted information.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Validation Error: Value is not valid
-javax.faces.component.UISelectMany.INVALID = {0}: Validation Error: Value is not valid
+jakarta.faces.component.UISelectOne.INVALID = {0}: Validation Error: Value is not valid
+jakarta.faces.component.UISelectMany.INVALID = {0}: Validation Error: Value is not valid
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' must be a signed decimal number.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction.  Example: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' must be a signed decimal number.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction.  Example: {1}
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' must be a number consisting of one or more digits. Example: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' must be a number consisting of one or more digits. Example: {1}
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' must be ''true'' or ''false''.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' must be ''true'' or ''false''.  Any value other than ''true'' will evaluate to ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' must be ''true'' or ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' must be ''true'' or ''false''.  Any value other than ''true'' will evaluate to ''false''.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' must be a number between 0 and 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' must be a number between 0 and 255.  Example: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' must be a number between 0 and 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' must be a number between 0 and 255.  Example: {1}
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' must be a valid character.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' must be a valid ASCII character.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' must be a valid character.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' must be a valid ASCII character.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' could not be understood as a date.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' could not be understood as a date. Example: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' could not be understood as a time.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' could not be understood as a time. Example: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' could not be understood as a date and time.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' could not be understood as a date and time. Example: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: A ''pattern'' or ''type'' attribute must be specified to convert the value ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' could not be understood as a date.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' could not be understood as a date. Example: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' could not be understood as a time.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' could not be understood as a time. Example: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' could not be understood as a date and time.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' could not be understood as a date and time. Example: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: A ''pattern'' or ''type'' attribute must be specified to convert the value ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308  Example: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308  Example: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' must be convertible to an enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' must be convertible to an enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38  Example: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38  Example: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' could not be understood as a currency value.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' could not be understood as a currency value. Example: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' could not be understood as a percentage.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' could not be understood as a percentage. Example: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' is not a number.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' is not a number. Example: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' is not a number pattern.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' is not a number pattern. Example: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' could not be understood as a currency value.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' could not be understood as a currency value. Example: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' could not be understood as a percentage.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' could not be understood as a percentage. Example: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' is not a number.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' is not a number. Example: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' is not a number pattern.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' is not a number pattern. Example: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' must be a number between -32768 and 32767 Example: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' must be a number between -32768 and 32767 Example: {1}
 
-javax.faces.converter.STRING = {1}: Could not convert ''{0}'' to a string.
+jakarta.faces.converter.STRING = {1}: Could not convert ''{0}'' to a string.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Validation Error: Specified attribute is not between the expected values of {0} and {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Validation Error: Length is greater than allowable maximum of ''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Validation Error: Length is less than allowable minimum of ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Validation Error: Length is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Validation Error: Length is less than allowable minimum of ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = A pattern must be set for validate.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = The pattern is not a valid regular expression.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = A pattern must be set for validate.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = The pattern is not a valid regular expression.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Validation Error
diff --git a/api/src/main/resources/jakarta/faces/Messages_ar.properties b/api/src/main/resources/jakarta/faces/Messages_ar.properties
index 9554442..93901a4 100644
--- a/api/src/main/resources/jakarta/faces/Messages_ar.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_ar.properties
@@ -18,98 +18,98 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u062d\u0648\u064a\u0644
-javax.faces.component.UIInput.CONVERSION_detail = "{0}": \u062d\u062f\u062b \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u062d\u0648\u064a\u0644 .
-javax.faces.component.UIInput.REQUIRED = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.component.UIInput.REQUIRED_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0645\u0637\u0644\u0648\u0628\u0629.
-javax.faces.component.UIInput.UPDATE = "{0}": \u062d\u062f\u062b \u062e\u0637\u0623 \u0639\u0646\u062f \u062a\u062c\u0647\u064a\u0632 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643. 
+jakarta.faces.component.UIInput.CONVERSION = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u062d\u0648\u064a\u0644
+jakarta.faces.component.UIInput.CONVERSION_detail = "{0}": \u062d\u062f\u062b \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u062d\u0648\u064a\u0644 .
+jakarta.faces.component.UIInput.REQUIRED = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.component.UIInput.REQUIRED_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0645\u0637\u0644\u0648\u0628\u0629.
+jakarta.faces.component.UIInput.UPDATE = "{0}": \u062d\u062f\u062b \u062e\u0637\u0623 \u0639\u0646\u062f \u062a\u062c\u0647\u064a\u0632 \u0627\u0644\u0645\u0639\u0644\u0648\u0645\u0627\u062a \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643. 
 
 
-javax.faces.component.UISelectOne.INVALID = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.component.UISelectOne.INVALID_detail = "{0}": \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0642\u064a\u0645\u0647 \u062e\u064a\u0627\u0631 \u0633\u0644\u064a\u0645.
-javax.faces.component.UISelectMany.INVALID = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.component.UISelectMany.INVALID_detail = "{0}": \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0642\u064a\u0645\u0647 \u062e\u064a\u0627\u0631 \u0633\u0644\u064a\u0645.
+jakarta.faces.component.UISelectOne.INVALID = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.component.UISelectOne.INVALID_detail = "{0}": \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0642\u064a\u0645\u0647 \u062e\u064a\u0627\u0631 \u0633\u0644\u064a\u0645.
+jakarta.faces.component.UISelectMany.INVALID = "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.component.UISelectMany.INVALID_detail = "{0}": \u0644\u0645 \u062a\u0643\u0646 \u0627\u0644\u0642\u064a\u0645\u0647 \u062e\u064a\u0627\u0631 \u0633\u0644\u064a\u0645.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0639\u0634\u0631\u0649 \u0645\u0648\u062c\u0628.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0639\u0634\u0631\u0649 \u0645\u0648\u062c\u0628.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0639\u0634\u0631\u0649 \u0645\u0648\u062c\u0628.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0639\u0634\u0631\u0649 \u0645\u0648\u062c\u0628.
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u062a\u0643\u0648\u0646 \u0645\u0646\u0637\u0642\u064a\u0629.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u062a\u0643\u0648\u0646 \u0645\u0646\u0637\u0642\u064a\u0629.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u062a\u0643\u0648\u0646 \u0645\u0646\u0637\u0642\u064a\u0629.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}''  \u064a\u062c\u0628 \u0627\u0646 \u062a\u0643\u0648\u0646 \u0645\u0646\u0637\u0642\u064a\u0629.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0628\u064a\u0646 0 \u0648 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0628\u064a\u0646 0 \u0648 255.
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0628\u064a\u0646 0 \u0648 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0639\u062f\u062f \u0628\u064a\u0646 0 \u0648 255.
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u062d\u0631\u0641 \u0635\u062d\u064a\u062d.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u062d\u0631\u0641 \u0635\u062d\u064a\u062d.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u062d\u0631\u0641 \u0635\u062d\u064a\u062d.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u062d\u0631\u0641 \u0635\u062d\u064a\u062d.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u062a\u0627\u0631\u064a\u062e.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u062a\u0627\u0631\u064a\u062e. 
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a. 
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a \u0648 \u062a\u0627\u0631\u064a\u062e.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a \u0648 \u062a\u0627\u0631\u064a\u062e. 
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = \u064a\u062c\u0628 \u062a\u062d\u062f\u064a\u062f \u0642\u064a\u0645\u0629 \u0627\u0644\u0628\u0627\u062a\u0631\u0646 \u0623\u0648 \u0627\u0644\u0623\u062a\u0631\u0628\u064a\u0648\u062a \u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0642\u064a\u0645\u0629.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u062a\u0627\u0631\u064a\u062e.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u062a\u0627\u0631\u064a\u062e. 
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a. 
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a \u0648 \u062a\u0627\u0631\u064a\u062e.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0648\u0642\u062a \u0648 \u062a\u0627\u0631\u064a\u062e. 
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = \u064a\u062c\u0628 \u062a\u062d\u062f\u064a\u062f \u0642\u064a\u0645\u0629 \u0627\u0644\u0628\u0627\u062a\u0631\u0646 \u0623\u0648 \u0627\u0644\u0623\u062a\u0631\u0628\u064a\u0648\u062a \u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0642\u064a\u0645\u0629.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum \u0645\u0646 enum.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum \u0645\u0646 enum.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum \u0645\u0646 enum.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u064a\u0643\u0648\u0646 \u0644\u0644\u062a\u062d\u0648\u064a\u0644 \u0627\u0644\u0649 enum \u0645\u0646 enum.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0642\u064a\u0645\u0629 \u0627\u0644\u0639\u0645\u0644\u0629.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0642\u064a\u0645\u0629 \u0627\u0644\u0639\u0645\u0644\u0629.
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0627\u0644\u0646\u0633\u0628\u0647 \u0627\u0644\u0645\u0626\u0648\u064a\u0647.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0627\u0644\u0646\u0633\u0628\u0647 \u0627\u0644\u0645\u0626\u0648\u064a\u0647.
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627.
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627 \u0646\u0645\u0637\u064a\u0627.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627 \u0646\u0645\u0637\u064a\u0627.
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0642\u064a\u0645\u0629 \u0627\u0644\u0639\u0645\u0644\u0629.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0642\u064a\u0645\u0629 \u0627\u0644\u0639\u0645\u0644\u0629.
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0627\u0644\u0646\u0633\u0628\u0647 \u0627\u0644\u0645\u0626\u0648\u064a\u0647.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' \u0644\u0627 \u064a\u0645\u0643\u0646 \u0627\u0646 \u062a\u0641\u0647\u0645 \u0639\u0644\u0649 \u0627\u0646\u0647\u0627 \u0627\u0644\u0646\u0633\u0628\u0647 \u0627\u0644\u0645\u0626\u0648\u064a\u0647.
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627.
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627 \u0646\u0645\u0637\u064a\u0627.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' \u0644\u064a\u0633 \u0631\u0642\u0645\u0627 \u0646\u0645\u0637\u064a\u0627.
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' \u064a\u062c\u0628 \u0627\u0646 \u062a\u062a\u0623\u0644\u0641 \u0645\u0646 \u0639\u062f\u062f \u0648\u0627\u062d\u062f \u0623\u0648 \u0623\u0643\u062b\u0631 \u0645\u0646 \u0627\u0644\u0627\u0631\u0642\u0627\u0645
 
-javax.faces.converter.STRING = {1} : \u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u062d\u0648\u064a\u0644 ''{0}" \u0627\u0644\u0649 \u0633\u062a\u0631\u064a\u0646\u062c.
+jakarta.faces.converter.STRING = {1} : \u0644\u0627 \u064a\u0645\u0643\u0646 \u062a\u062d\u0648\u064a\u0644 ''{0}" \u0627\u0644\u0649 \u0633\u062a\u0631\u064a\u0646\u062c.
 
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.NOT_IN_RANGE_detail = "{2}": \u0627\u0644\u0635\u0641\u0629 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633\u062a \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644 {0} \u0648 {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0623\u0642\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = "{2}": \u062e\u0637\u0623 \u0641\u0649 \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0647 : \u062e\u0627\u0635\u064a\u0647 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633 \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644{0} \u0648 {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE =  "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0644\u064a\u0633\u062a \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0635\u062d\u064a\u062d.
-
-javax.faces.validator.LengthValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.LengthValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0637\u0648\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 {0} \u062d\u0631\u0641\u0627.
-javax.faces.validator.LengthValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.LengthValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0627\u0642\u0635\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 {0} \u062d\u0631\u0641\u0627.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0623\u0642\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: \u062e\u0637\u0623 \u0641\u0649 \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0647 : \u062e\u0627\u0635\u064a\u0647 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633 \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644{0} \u0648 {1}.
-javax.faces.validator.LongRangeValidator.TYPE = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
-javax.faces.validator.LongRangeValidator.TYPE_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0644\u064a\u0633\u062a \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0635\u062d\u064a\u062d.
+jakarta.faces.validator.NOT_IN_RANGE = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.NOT_IN_RANGE_detail = "{2}": \u0627\u0644\u0635\u0641\u0629 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633\u062a \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644 {0} \u0648 {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0623\u0642\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = "{2}": \u062e\u0637\u0623 \u0641\u0649 \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0647 : \u062e\u0627\u0635\u064a\u0647 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633 \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644{0} \u0648 {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE =  "{0}": \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0644\u064a\u0633\u062a \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0635\u062d\u064a\u062d.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0637\u0648\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 {0} \u062d\u0631\u0641\u0627.
+jakarta.faces.validator.LengthValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0627\u0642\u0635\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 {0} \u062d\u0631\u0641\u0627.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0627\u0643\u0628\u0631 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0627\u0642\u0635\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = "{1}": \u0627\u0644\u0642\u064a\u0645\u0629 \u0623\u0642\u0644 \u0645\u0646 \u0627\u0644\u062d\u062f \u0627\u0644\u0623\u062f\u0646\u0649 \u0627\u0644\u0645\u0633\u0645\u0648\u062d \u0628\u0647 \u0644\u0644 ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: \u062e\u0637\u0623 \u0641\u0649 \u0627\u0644\u0645\u0635\u0627\u062f\u0642\u0647 : \u062e\u0627\u0635\u064a\u0647 \u0645\u062d\u062f\u062f\u0629 \u0644\u064a\u0633 \u0628\u064a\u0646 \u0627\u0644\u0642\u064a\u0645 \u0627\u0644\u0645\u062a\u0648\u0642\u0639\u0629 \u0644\u0644{0} \u0648 {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = \u062e\u0637\u0627\u0652\u0621 \u0641\u0649 \u0627\u0644\u062a\u0635\u062f\u064a\u0642
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = "{0}": \u0627\u0644\u0642\u064a\u0645\u0647 \u0644\u064a\u0633\u062a \u0645\u0646 \u0627\u0644\u0646\u0648\u0639 \u0627\u0644\u0635\u062d\u064a\u062d.
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_ca.properties b/api/src/main/resources/jakarta/faces/Messages_ca.properties
index 4c1f637..77dbd48 100644
--- a/api/src/main/resources/jakarta/faces/Messages_ca.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_ca.properties
@@ -15,97 +15,97 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = Error de conversi\u00f3
-javax.faces.component.UIInput.CONVERSION_detail = "{0}": Hi ha hagut un error de conversi\u00f3.
-javax.faces.component.UIInput.REQUIRED        = Error de validaci\u00f3
-javax.faces.component.UIInput.REQUIRED_detail = "{0}": Valor obligatori.
+jakarta.faces.component.UIInput.CONVERSION        = Error de conversi\u00f3
+jakarta.faces.component.UIInput.CONVERSION_detail = "{0}": Hi ha hagut un error de conversi\u00f3.
+jakarta.faces.component.UIInput.REQUIRED        = Error de validaci\u00f3
+jakarta.faces.component.UIInput.REQUIRED_detail = "{0}": Valor obligatori.
 
-javax.faces.component.UISelectOne.INVALID        = Error de validaci\u00f3
-javax.faces.component.UISelectOne.INVALID_detail = "{0}": El valor no es una opci\u00f3 v\u00e0lida.
-javax.faces.component.UISelectMany.INVALID        = Error de validaci\u00f3
-javax.faces.component.UISelectMany.INVALID_detail = "{0}": El valor no es una opci\u00f3 v\u00e0lida.
+jakarta.faces.component.UISelectOne.INVALID        = Error de validaci\u00f3
+jakarta.faces.component.UISelectOne.INVALID_detail = "{0}": El valor no es una opci\u00f3 v\u00e0lida.
+jakarta.faces.component.UISelectMany.INVALID        = Error de validaci\u00f3
+jakarta.faces.component.UISelectMany.INVALID_detail = "{0}": El valor no es una opci\u00f3 v\u00e0lida.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = Error de conversi\u00f3
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = Error de conversi\u00f3
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = Error de conversi\u00f3
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = Error de conversi\u00f3
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = Error de conversi\u00f3
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: No es pot convertir '{0}' a Boolean.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = Error de conversi\u00f3
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: No es pot convertir '{0}' a Boolean.
 
-javax.faces.converter.ByteConverter.BYTE        = Error de conversi\u00f3
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: No es pot convertir '{0}' a Byte.
+jakarta.faces.converter.ByteConverter.BYTE        = Error de conversi\u00f3
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: No es pot convertir '{0}' a Byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = Error de conversi\u00f3
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: No es pot convertir '{0}' a Character.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = Error de conversi\u00f3
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: No es pot convertir '{0}' a Character.
 
-javax.faces.converter.DateTimeConverter.DATE = Error de conversi\u00f3
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' El valor especificat no \u00e9s una data v\u00e0lida. Ej: {1} 
-javax.faces.converter.DateTimeConverter.TIME = Error de conversi\u00f3
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' El valor especificat no \u00e9s una hora v\u00e0lida. Ej: {1} 
-javax.faces.converter.DateTimeConverter.DATETIME = Error de conversi\u00f3
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' El valor especificat no \u00e9s una data/hora v\u00e0lida. Ej: {1} 
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Error de conversi\u00f3
+jakarta.faces.converter.DateTimeConverter.DATE = Error de conversi\u00f3
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' El valor especificat no \u00e9s una data v\u00e0lida. Ej: {1} 
+jakarta.faces.converter.DateTimeConverter.TIME = Error de conversi\u00f3
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' El valor especificat no \u00e9s una hora v\u00e0lida. Ej: {1} 
+jakarta.faces.converter.DateTimeConverter.DATETIME = Error de conversi\u00f3
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' El valor especificat no \u00e9s una data/hora v\u00e0lida. Ej: {1} 
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Error de conversi\u00f3
 
-javax.faces.converter.DoubleConverter.DOUBLE        = Error de conversi\u00f3
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = Error de conversi\u00f3
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' ha de ser convertible a una enumeraci\u00f3.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3 que cont\u00e9 la constant ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3, per\u00f2 no la classe de enumeraci\u00f3 sempre.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3, per\u00f2 no la classe de enumeraci\u00f3 sempre.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' ha de ser convertible a una enumeraci\u00f3.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3 que cont\u00e9 la constant ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3, per\u00f2 no la classe de enumeraci\u00f3 sempre.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' ha de ser convertible a una enumeraci\u00f3 de l'enumeraci\u00f3, per\u00f2 no la classe de enumeraci\u00f3 sempre.
 
-javax.faces.converter.FloatConverter.FLOAT        = Error de conversi\u00f3
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.FloatConverter.FLOAT        = Error de conversi\u00f3
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.IntegerConverter.INTEGER        = Error de conversi\u00f3
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.IntegerConverter.INTEGER        = Error de conversi\u00f3
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.LongConverter.LONG        = Error de conversi\u00f3
-javax.faces.converter.LongConverter.LONG_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.converter.LongConverter.LONG        = Error de conversi\u00f3
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: Error de conversi\u00f3
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: Error de conversi\u00f3
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: Error de conversi\u00f3
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: Error de conversi\u00f3
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: Error de conversi\u00f3
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: Error de conversi\u00f3
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: Error de conversi\u00f3
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: Error de conversi\u00f3
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' El valor especificat no \u00e9s un nombre v\u00e0lid. Ej: {1}
 
-javax.faces.convert.ShortConverter.SHORT        = Error de conversi\u00f3
-javax.faces.convert.ShortConverter.SHORT_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
+jakarta.faces.convert.ShortConverter.SHORT        = Error de conversi\u00f3
+jakarta.faces.convert.ShortConverter.SHORT_detail = {2}: El valor especificat no \u00e9s un nombre v\u00e0lid.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = Error de validaci\u00f3
-javax.faces.validator.NOT_IN_RANGE_detail = "{2}": L'atribut especificat no es troba entre els valors esperats de {0} i {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = Error de validaci\u00f3
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: Valor superior al m\u00e0xim perm\u00e8s ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = Error de validaci\u00f3
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: Valor inferior al m\u00ednim perm\u00e8s ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Error de validaci\u00f3
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = L'atribut especificat no es pot convertir al tipus adequat.
-javax.faces.validator.DoubleRangeValidator.TYPE        = Error de validaci\u00f3n
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: El valor no \u00e9s del tipus correcte.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = Error de validaci\u00f3
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: La longitud del valor \u00e9s m\u00e9s gran que el m\u00e0xim perm\u00e8s de {0} car\u00e0cters.
-javax.faces.validator.LengthValidator.MINIMUM        = Error de validaci\u00f3
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: La longitud del valor \u00e9s m\u00e9s petita que el m\u00ednim perm\u00e8s de {0} car\u00e0cters.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = Error de validaci\u00f3
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: Valor superior al m\u00e0xim perm\u00e8s de ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM        = Error de validaci\u00f3
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: Valor inferior al m\u00ednim perm\u00e8s ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Error de validaci\u00f3
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = L'atribut especificat no es pot convertir al tipus adequat.
-javax.faces.validator.LongRangeValidator.TYPE        = Error de validaci\u00f3
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: El valor no \u00e9s del tipus correcte.
-
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Error de validaci\u00f3: El valor no est\u00e0 d'acord amb el patr\u00f3 ''{0}''
+jakarta.faces.validator.NOT_IN_RANGE        = Error de validaci\u00f3
+jakarta.faces.validator.NOT_IN_RANGE_detail = "{2}": L'atribut especificat no es troba entre els valors esperats de {0} i {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: Valor superior al m\u00e0xim perm\u00e8s ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: Valor inferior al m\u00ednim perm\u00e8s ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Error de validaci\u00f3
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = L'atribut especificat no es pot convertir al tipus adequat.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = Error de validaci\u00f3n
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: El valor no \u00e9s del tipus correcte.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: La longitud del valor \u00e9s m\u00e9s gran que el m\u00e0xim perm\u00e8s de {0} car\u00e0cters.
+jakarta.faces.validator.LengthValidator.MINIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: La longitud del valor \u00e9s m\u00e9s petita que el m\u00ednim perm\u00e8s de {0} car\u00e0cters.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: Valor superior al m\u00e0xim perm\u00e8s de ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = Error de validaci\u00f3
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: Valor inferior al m\u00ednim perm\u00e8s ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Error de validaci\u00f3
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = L'atribut especificat no es pot convertir al tipus adequat.
+jakarta.faces.validator.LongRangeValidator.TYPE        = Error de validaci\u00f3
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: El valor no \u00e9s del tipus correcte.
+
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Error de validaci\u00f3: El valor no est\u00e0 d'acord amb el patr\u00f3 ''{0}''
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_cs.properties b/api/src/main/resources/jakarta/faces/Messages_cs.properties
index afba59b..9952771 100755
--- a/api/src/main/resources/jakarta/faces/Messages_cs.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_cs.properties
@@ -15,87 +15,87 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}\: Nastala chyba p\u0159i konverzi.
-javax.faces.component.UIInput.REQUIRED = {0}\: Valida\u010dn\u00ed chyba\: Je po\u017eadov\u00e1na hodnota.
-javax.faces.component.UIInput.UPDATE = {0}\: Nastala chyba p\u0159i zpracov\u00e1n\u00ed odeslan\u00fdch informac\u00ed. 
+jakarta.faces.component.UIInput.CONVERSION = {0}\: Nastala chyba p\u0159i konverzi.
+jakarta.faces.component.UIInput.REQUIRED = {0}\: Valida\u010dn\u00ed chyba\: Je po\u017eadov\u00e1na hodnota.
+jakarta.faces.component.UIInput.UPDATE = {0}\: Nastala chyba p\u0159i zpracov\u00e1n\u00ed odeslan\u00fdch informac\u00ed. 
 
-javax.faces.component.UISelectOne.INVALID = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed platn\u00e1
-javax.faces.component.UISelectMany.INVALID = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed platn\u00e1
+jakarta.faces.component.UISelectOne.INVALID = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed platn\u00e1
+jakarta.faces.component.UISelectMany.INVALID = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed platn\u00e1
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo v des\u00edtkov\u00e9 soustav\u011b (m\u016f\u017ee obsahovat znam\u00ednko).
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo v des\u00edtkov\u00e9 soustav\u011b slo\u017een\u00e9 z nula nebo v\u00edce \u010d\u00edslic, za kter\u00fdma m\u016f\u017ee n\u00e1sledovat desetinn\u00e1 \u010d\u00e1rka. P\u0159\u00edklad: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo v des\u00edtkov\u00e9 soustav\u011b (m\u016f\u017ee obsahovat znam\u00ednko).
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo v des\u00edtkov\u00e9 soustav\u011b slo\u017een\u00e9 z nula nebo v\u00edce \u010d\u00edslic, za kter\u00fdma m\u016f\u017ee n\u00e1sledovat desetinn\u00e1 \u010d\u00e1rka. P\u0159\u00edklad: {1}
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic. P\u0159\u00edklad\: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic. P\u0159\u00edklad\: {1}
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}\: ''{0}'' mus\u00ed b\u00fdt 'ano' or 'ne'.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\: ''{0}'' mus\u00ed b\u00fdt 'ano' or 'ne'. Hodnota jin\u00e1 n\u011b\u017e 'ano' se vyhodnot\u00ed jako 'ne'.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}\: ''{0}'' mus\u00ed b\u00fdt 'ano' or 'ne'.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\: ''{0}'' mus\u00ed b\u00fdt 'ano' or 'ne'. Hodnota jin\u00e1 n\u011b\u017e 'ano' se vyhodnot\u00ed jako 'ne'.
 
-javax.faces.converter.ByteConverter.BYTE = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 0 a 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 0 a 255.  P\u0159\u00edklad\: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 0 a 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 0 a 255.  P\u0159\u00edklad\: {1}
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}\: ''{0}'' mus\u00ed b\u00fdt platn\u00fd znak.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}\: ''{0}'' mus\u00ed b\u00fdt platn\u00fd ASCII znak.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}\: ''{0}'' mus\u00ed b\u00fdt platn\u00fd znak.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}\: ''{0}'' mus\u00ed b\u00fdt platn\u00fd ASCII znak.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}\: ''{0}'' nen\u00ed platn\u00fd form\u00e1t datumu.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}\: ''{0}'' nen\u00ed platn\u00fd form\u00e1t datumu. P\u0159\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.TIME = {2}\: ''{0}'' nen\u00ed plat\u00fd form\u00e1t \u010dasu.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t \u010dasu. P\u0159\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.DATETIME = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t pro datum a \u010das.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t pro datum a \u010das. P\u0159\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}\: Atribut '\u0161ablona' nebo 'typ' mus\u00ed b\u00fdt specifikov\u00e1n, aby se hodnota ''{0}'' mohla zkonvertovat.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}\: ''{0}'' nen\u00ed platn\u00fd form\u00e1t datumu.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}\: ''{0}'' nen\u00ed platn\u00fd form\u00e1t datumu. P\u0159\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.TIME = {2}\: ''{0}'' nen\u00ed plat\u00fd form\u00e1t \u010dasu.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t \u010dasu. P\u0159\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t pro datum a \u010das.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t pro datum a \u010das. P\u0159\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}\: Atribut '\u0161ablona' nebo 'typ' mus\u00ed b\u00fdt specifikov\u00e1n, aby se hodnota ''{0}'' mohla zkonvertovat.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 4,9E-324 a 1,7976931348623157E308  P\u0159\u00edklad\: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 4,9E-324 a 1,7976931348623157E308  P\u0159\u00edklad\: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot (enum), kter\u00fd obsahuje konstantu ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot, ale t\u0159\u00edda seznamu nebyla poskytnuta.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot, ale t\u0159\u00edda seznamu nebyla poskytnuta.
+jakarta.faces.converter.EnumConverter.ENUM = {2}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot (enum), kter\u00fd obsahuje konstantu ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot, ale t\u0159\u00edda seznamu nebyla poskytnuta.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' hodnota se mus\u00ed d\u00e1t p\u0159ev\u00e9st na polo\u017eku ze seznamu hodnot, ale t\u0159\u00edda seznamu nebyla poskytnuta.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}\: ''{0}'' mus\u00ed by\u0165 cel\u00e9 nebo desatinn\u00e9 \u010d\u00edslo.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 1.4E-45 a 3.4028235E38  P\u0159\u00edklad\: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}\: ''{0}'' mus\u00ed by\u0165 cel\u00e9 nebo desatinn\u00e9 \u010d\u00edslo.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi 1.4E-45 a 3.4028235E38  P\u0159\u00edklad\: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -2147483648 a 2147483647 P\u0159\u00edklad\: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -2147483648 a 2147483647 P\u0159\u00edklad\: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
-javax.faces.converter.LongConverter.LONG_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -9223372036854775808 a 9223372036854775807 P\u0159\u00edklad\: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 nebo v\u00edce \u010d\u00edslic.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -9223372036854775808 a 9223372036854775807 P\u0159\u00edklad\: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t m\u011bny.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t m\u011bny. P\u0159\u00edklad\: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t procent.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t procent. P\u0159\u00edklad\: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}\: ''{0}'' nen\u00ed \u010d\u00edslo.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}\: ''{0}'' nen\u00ed \u010d\u00edslo. P\u0159\u00edklad\: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}\: ''{0}'' nem\u00e1 spr\u00e1vn\u00fd form\u00e1t \u010d\u00edsla.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}\: ''{0}'' nem\u00e1 spr\u00e1vn\u00fd form\u00e1t \u010d\u00edsla. P\u0159\u00edklad\: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t m\u011bny.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t m\u011bny. P\u0159\u00edklad\: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t procent.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}\: ''{0}'' nem\u00e1 platn\u00fd form\u00e1t procent. P\u0159\u00edklad\: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}\: ''{0}'' nen\u00ed \u010d\u00edslo.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}\: ''{0}'' nen\u00ed \u010d\u00edslo. P\u0159\u00edklad\: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}\: ''{0}'' nem\u00e1 spr\u00e1vn\u00fd form\u00e1t \u010d\u00edsla.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}\: ''{0}'' nem\u00e1 spr\u00e1vn\u00fd form\u00e1t \u010d\u00edsla. P\u0159\u00edklad\: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 \u010di v\u00edce \u010d\u00edslic.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -32768 a 32767 P\u0159\u00edklad\: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo slo\u017een\u00e9 z jedn\u00e9 \u010di v\u00edce \u010d\u00edslic.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}\: ''{0}'' mus\u00ed b\u00fdt \u010d\u00edslo mezi -32768 a 32767 P\u0159\u00edklad\: {1}
 
-javax.faces.converter.STRING = {1}\: Nelze zkonvertovat ''{0}'' na \u0159et\u011bzec.
+jakarta.faces.converter.STRING = {1}\: Nelze zkonvertovat ''{0}'' na \u0159et\u011bzec.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum "{0}"
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je men\u0161\u00ed ne\u017e dovolen\u00e9 minimum ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\: Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed spr\u00e1vn\u00e9ho typu
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum "{0}"
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je men\u0161\u00ed ne\u017e dovolen\u00e9 minimum ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\: Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed spr\u00e1vn\u00e9ho typu
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je men\u0161\u00ed ne\u017e dovolen\u00e9 minimum ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je men\u0161\u00ed ne\u017e dovolen\u00e9 minimum ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je ni\u017e\u0161\u00ed ne\u017e dovolen\u00e9 minumum ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\: Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed spr\u00e1vn\u00e9ho typu.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je v\u011bt\u0161\u00ed ne\u017e dovolen\u00e9 maximum ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}\: Valida\u010dn\u00ed chyba\: Hodnota je ni\u017e\u0161\u00ed ne\u017e dovolen\u00e9 minumum ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\: Valida\u010dn\u00ed chyba\: Specifikovan\u00fd atribut nen\u00ed mezi o\u010dek\u00e1van\u00fdmi hodnotami {0} a {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed spr\u00e1vn\u00e9ho typu.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed zad\u00e1na podle vzoru ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u0160ablona pro kontrolu mus\u00ed b\u00fdt zad\u00e1na.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = Zadan\u00e1 \u0161ablona nen\u00ed platn\u00fdm regul\u00e1rn\u00edm v\u00fdrazem.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}\: Valida\u010dn\u00ed chyba\: Hodnota nen\u00ed zad\u00e1na podle vzoru ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u0160ablona pro kontrolu mus\u00ed b\u00fdt zad\u00e1na.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = Zadan\u00e1 \u0161ablona nen\u00ed platn\u00fdm regul\u00e1rn\u00edm v\u00fdrazem.
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Valida\u010dn\u00ed chyba
diff --git a/api/src/main/resources/jakarta/faces/Messages_de.properties b/api/src/main/resources/jakarta/faces/Messages_de.properties
index 56878f1..800c4a4 100755
--- a/api/src/main/resources/jakarta/faces/Messages_de.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_de.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Ein Konvertierungsfehler ist aufgetreten.
-javax.faces.component.UIInput.REQUIRED = {0}: Validierungsfehler: Eingabe erforderlich.
-javax.faces.component.UIInput.UPDATE = {0}: Bei der Verarbeitung der \u00fcbertragenden Eingaben ist ein Fehler aufgetreten.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Ein Konvertierungsfehler ist aufgetreten.
+jakarta.faces.component.UIInput.REQUIRED = {0}: Validierungsfehler: Eingabe erforderlich.
+jakarta.faces.component.UIInput.UPDATE = {0}: Bei der Verarbeitung der \u00fcbertragenden Eingaben ist ein Fehler aufgetreten.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Validierungsfehler: Wert ist keine g\u00fcltige Auswahl
-javax.faces.component.UISelectMany.INVALID = {0}: Validierungsfehler: Wert ist keine g\u00fcltige Auswahl
+jakarta.faces.component.UISelectOne.INVALID = {0}: Validierungsfehler: Wert ist keine g\u00fcltige Auswahl
+jakarta.faces.component.UISelectMany.INVALID = {0}: Validierungsfehler: Wert ist keine g\u00fcltige Auswahl
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' muss eine Dezimalzahl sein.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' muss eine Dezimalzahl aus keinem oder mehr Zeichen gefolgt von einem optionalen Punkt und den Nachkommastellen sein. Beispiel: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' muss eine Dezimalzahl sein.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' muss eine Dezimalzahl aus keinem oder mehr Zeichen gefolgt von einem optionalen Punkt und den Nachkommastellen sein. Beispiel: {1}
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein. Beispiel: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein. Beispiel: {1}
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' muss ''true'' oder ''false'' sein.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' muss ''true'' oder ''false'' sein.  Jeder Wert au\u00dfer ''true'' wird als ''false'' interpretiert.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' muss ''true'' oder ''false'' sein.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' muss ''true'' oder ''false'' sein.  Jeder Wert au\u00dfer ''true'' wird als ''false'' interpretiert.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' muss eine Zahl zwischen 0 und 255 sein.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' muss eine Zahl zwischen 0 und 255 sein.  Beispiel: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' muss eine Zahl zwischen 0 und 255 sein.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' muss eine Zahl zwischen 0 und 255 sein.  Beispiel: {1}
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' muss ein g\u00fcltiges Zeichen sein.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' muss ein g\u00fcltiges ASCII Zeichen sein.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' muss ein g\u00fcltiges Zeichen sein.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' muss ein g\u00fcltiges ASCII Zeichen sein.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' konnte nicht als Datum erkannt werden.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' konnte nicht als Datum erkannt werden. Beispiel: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' konnte nicht als Zeit erkannt werden.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' konnte nicht als Zeit erkannt werden. Beispiel: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' konnte nicht als Datum und Zeit erkannt werden.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' konnte nicht als Datum und Zeit erkannt werden. Beispiel: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Ein ''pattern'' oder ''type'' Attribut muss angegeben werden um den Wert ''{0}'' zu konvertieren.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' konnte nicht als Datum erkannt werden.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' konnte nicht als Datum erkannt werden. Beispiel: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' konnte nicht als Zeit erkannt werden.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' konnte nicht als Zeit erkannt werden. Beispiel: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' konnte nicht als Datum und Zeit erkannt werden.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' konnte nicht als Datum und Zeit erkannt werden. Beispiel: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Ein ''pattern'' oder ''type'' Attribut muss angegeben werden um den Wert ''{0}'' zu konvertieren.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' muss eine Zahl zwischen 4.9E-324 und 1.7976931348623157E308 sein. Beispiel: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' muss eine Zahl zwischen 4.9E-324 und 1.7976931348623157E308 sein. Beispiel: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' muss in einen Enum konvertierbar sein.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' muss in einen Enum konvertierbar sein, der die Konstante ''{1}'' enth\u00e4lt.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' muss in einen Enum konvertierbar sein, aber es wurde keine Enum Klasse bereitgestellt.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' muss in einen Enum konvertierbar sein, aber es wurde keine Enum Klasse bereitgestellt.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' muss in einen Enum konvertierbar sein.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' muss in einen Enum konvertierbar sein, der die Konstante ''{1}'' enth\u00e4lt.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' muss in einen Enum konvertierbar sein, aber es wurde keine Enum Klasse bereitgestellt.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' muss in einen Enum konvertierbar sein, aber es wurde keine Enum Klasse bereitgestellt.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' muss eine Zahl zwischen 1.4E-45 und 3.4028235E38 sein. Beispiel: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' muss eine Zahl zwischen 1.4E-45 und 3.4028235E38 sein. Beispiel: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' muss eine Zahl zwischen -2147483648 und 2147483647 sein. Beispiel: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' muss eine Zahl zwischen -2147483648 und 2147483647 sein. Beispiel: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' muss eine Zahl zwischen -9223372036854775808 und 9223372036854775807 sein. Beispiel: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' muss eine Zahl zwischen -9223372036854775808 und 9223372036854775807 sein. Beispiel: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' konnte nicht als ein Geldbetrag erkannt werden.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' konnte nicht als ein Geldbetrag erkannt werden. Beispiel: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' konnte nicht als ein Prozentanteil erkannt werden.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' konnte nicht als ein Prozentanteil erkannt werden. Beispiel: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' ist keine Zahl.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' ist keine Zahl. Beispiel: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' ist kein Zahlmuster.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' ist kein Zahlmuster. Beispiel: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' konnte nicht als ein Geldbetrag erkannt werden.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' konnte nicht als ein Geldbetrag erkannt werden. Beispiel: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' konnte nicht als ein Prozentanteil erkannt werden.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' konnte nicht als ein Prozentanteil erkannt werden. Beispiel: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' ist keine Zahl.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' ist keine Zahl. Beispiel: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' ist kein Zahlmuster.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' ist kein Zahlmuster. Beispiel: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' muss eine Zahl zwischen -32768 und 32767 sein. Beispiel: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' muss eine Zahl aus ein oder mehr Ziffern sein.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' muss eine Zahl zwischen -32768 und 32767 sein. Beispiel: {1}
 
-javax.faces.converter.STRING = {1}: Konnte ''{0}'' nicht in eine Zeichenkette konvertieren.
+jakarta.faces.converter.STRING = {1}: Konnte ''{0}'' nicht in eine Zeichenkette konvertieren.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validierungsfehler: Der Wert ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}''
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Validierungsfehler: Der Wert ist nicht vom korrekten Typ
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validierungsfehler: Der Wert ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Validierungsfehler: Der Wert ist nicht vom korrekten Typ
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Validierungsfehler: Die L\u00e4nge des Werts ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}'' Zeichen
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Validierungsfehler: Die L\u00e4nge des Werts ist kleiner als das erlaubte Minimum von ''{0}'' Zeichen
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Validierungsfehler: Die L\u00e4nge des Werts ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}'' Zeichen
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Validierungsfehler: Die L\u00e4nge des Werts ist kleiner als das erlaubte Minimum von ''{0}'' Zeichen
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validierungsfehler: Der Wert ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Validierungsfehler: Der Wert ist nicht vom korrekten Typ.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validierungsfehler: Der Wert ist gr\u00f6\u00dfer als das erlaubte Maximum von ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Validierungsfehler: Der Wert ist kleiner als das erlaubte Minimum von ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validierungsfehler: Der Wert ist nicht zwischen den erwarteten Werten von {0} und {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Validierungsfehler: Der Wert ist nicht vom korrekten Typ.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validierungsfehler: Der eingegebene Wert ''{0}'' ist nicht korrekt.
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = Ein Muster muss f\u00fcr Validierung eingestellt werden.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = Das Muster ist kein g\u00fcltiger regul\u00e4rer Ausdruck.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validierungsfehler: Der eingegebene Wert ''{0}'' ist nicht korrekt.
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = Ein Muster muss f\u00fcr Validierung eingestellt werden.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = Das Muster ist kein g\u00fcltiger regul\u00e4rer Ausdruck.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Validierungsfehler
diff --git a/api/src/main/resources/jakarta/faces/Messages_en.properties b/api/src/main/resources/jakarta/faces/Messages_en.properties
index 76386af..96bd2ce 100755
--- a/api/src/main/resources/jakarta/faces/Messages_en.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_en.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Conversion error occurred.
-javax.faces.component.UIInput.REQUIRED = {0}: Validation Error: Value is required.
-javax.faces.component.UIInput.UPDATE = {0}: An error occurred when processing your submitted information.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Conversion error occurred.
+jakarta.faces.component.UIInput.REQUIRED = {0}: Validation Error: Value is required.
+jakarta.faces.component.UIInput.UPDATE = {0}: An error occurred when processing your submitted information.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Validation Error: Value is not valid
-javax.faces.component.UISelectMany.INVALID = {0}: Validation Error: Value is not valid
+jakarta.faces.component.UISelectOne.INVALID = {0}: Validation Error: Value is not valid
+jakarta.faces.component.UISelectMany.INVALID = {0}: Validation Error: Value is not valid
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' must be a signed decimal number.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction.  Example: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' must be a signed decimal number.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' must be a signed decimal number consisting of zero or more digits, that may be followed by a decimal point and fraction.  Example: {1}
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' must be a number consisting of one or more digits. Example: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' must be a number consisting of one or more digits. Example: {1}
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' must be ''true'' or ''false''.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' must be ''true'' or ''false''.  Any value other than ''true'' will evaluate to ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' must be ''true'' or ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' must be ''true'' or ''false''.  Any value other than ''true'' will evaluate to ''false''.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' must be a number between 0 and 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' must be a number between 0 and 255.  Example: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' must be a number between 0 and 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' must be a number between 0 and 255.  Example: {1}
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' must be a valid character.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' must be a valid ASCII character.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' must be a valid character.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' must be a valid ASCII character.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' could not be understood as a date.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' could not be understood as a date. Example: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' could not be understood as a time.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' could not be understood as a time. Example: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' could not be understood as a date and time.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' could not be understood as a date and time. Example: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: A ''pattern'' or ''type'' attribute must be specified to convert the value ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' could not be understood as a date.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' could not be understood as a date. Example: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' could not be understood as a time.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' could not be understood as a time. Example: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' could not be understood as a date and time.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' could not be understood as a date and time. Example: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: A ''pattern'' or ''type'' attribute must be specified to convert the value ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308  Example: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' must be a number between 4.9E-324 and 1.7976931348623157E308  Example: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' must be convertible to an enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' must be convertible to an enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' must be convertible to an enum from the enum that contains the constant ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38  Example: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' must be a number between 1.4E-45 and 3.4028235E38  Example: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' must be a number between -2147483648 and 2147483647 Example: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' must be a number between -9223372036854775808 to 9223372036854775807 Example: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' could not be understood as a currency value.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' could not be understood as a currency value. Example: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' could not be understood as a percentage.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' could not be understood as a percentage. Example: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' is not a number.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' is not a number. Example: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' is not a number pattern.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' is not a number pattern. Example: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' could not be understood as a currency value.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' could not be understood as a currency value. Example: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' could not be understood as a percentage.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' could not be understood as a percentage. Example: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' is not a number.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' is not a number. Example: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' is not a number pattern.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' is not a number pattern. Example: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' must be a number consisting of one or more digits.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' must be a number between -32768 and 32767 Example: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' must be a number consisting of one or more digits.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' must be a number between -32768 and 32767 Example: {1}
 
-javax.faces.converter.STRING = {1}: Could not convert ''{0}'' to a string.
+jakarta.faces.converter.STRING = {1}: Could not convert ''{0}'' to a string.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Validation Error: Specified attribute is not between the expected values of {0} and {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Validation Error: Length is greater than allowable maximum of ''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Validation Error: Length is less than allowable minimum of ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Validation Error: Length is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Validation Error: Length is less than allowable minimum of ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Validation Error: Value is greater than allowable maximum of ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Validation Error: Value is less than allowable minimum of ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Validation Error: Specified attribute is not between the expected values of {0} and {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Validation Error: Value is not of the correct type.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = A pattern must be set for validate.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = The pattern is not a valid regular expression.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Validation Error: Value not according to pattern ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = A pattern must be set for validate.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = The pattern is not a valid regular expression.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Validation Error
diff --git a/api/src/main/resources/jakarta/faces/Messages_es.properties b/api/src/main/resources/jakarta/faces/Messages_es.properties
index 999b276..cdec717 100644
--- a/api/src/main/resources/jakarta/faces/Messages_es.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_es.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Error de conversi\u00f3n
-javax.faces.component.UIInput.REQUIRED = {0}: Error de validaci\u00f3n: Valor requerido.
-javax.faces.component.UIInput.UPDATE = {0}: Un error occurri\u00f3 cuando se estaba procesando la informaci\u00f3n enviada.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Error de conversi\u00f3n
+jakarta.faces.component.UIInput.REQUIRED = {0}: Error de validaci\u00f3n: Valor requerido.
+jakarta.faces.component.UIInput.UPDATE = {0}: Un error occurri\u00f3 cuando se estaba procesando la informaci\u00f3n enviada.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Error de validaci\u00f3n: El valor no es una opci\u00f3n v\u00e1lida.
-javax.faces.component.UISelectMany.INVALID = {0}: Error de validaci\u00f3n: El valor no es una opci\u00f3n v\u00e1lida.
+jakarta.faces.component.UISelectOne.INVALID = {0}: Error de validaci\u00f3n: El valor no es una opci\u00f3n v\u00e1lida.
+jakarta.faces.component.UISelectMany.INVALID = {0}: Error de validaci\u00f3n: El valor no es una opci\u00f3n v\u00e1lida.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' debe ser un n\u00famero decimal con signo.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' debe ser un n\u00famero decimal con signo consistente en cero o m\u00e1s d\u00edgitos, que pueden ser seguidos por un punto decimal y fracci\u00f3n.  Ejemplo: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' debe ser un n\u00famero decimal con signo.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' debe ser un n\u00famero decimal con signo consistente en cero o m\u00e1s d\u00edgitos, que pueden ser seguidos por un punto decimal y fracci\u00f3n.  Ejemplo: {1}
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos. Ejemplo: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos. Ejemplo: {1}
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' debe ser ''true'' o ''false''.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' debe ser ''true'' o ''false''.  Cualquier otro valor diferente a ''true'' se evaluar\u00e1 como ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' debe ser ''true'' o ''false''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' debe ser ''true'' o ''false''.  Cualquier otro valor diferente a ''true'' se evaluar\u00e1 como ''false''.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' debe ser un n\u00famero entre 0 y 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' debe ser un n\u00famero entre 0 y 255. Ejemplo: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' debe ser un n\u00famero entre 0 y 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' debe ser un n\u00famero entre 0 y 255. Ejemplo: {1}
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' debe ser un car\u00e1cter v\u00e1lido.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' debe ser un caracter ASCII v\u00e1lido.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' debe ser un car\u00e1cter v\u00e1lido.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' debe ser un caracter ASCII v\u00e1lido.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' no puede ser entendido como una fecha v\u00e1lida.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' no puede ser entendido como una fecha v\u00e1lida. Ejemplo: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' no puede ser entendido como una hora v\u00e1lida.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' no puede ser entendido como una hora v\u00e1lida. Ejemplo: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' no puede ser entendido como una fecha y hora v\u00e1lida.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' no puede ser entendido como una fecha y hora v\u00e1lida. Ejemplo: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: El attributo ''pattern'' o ''type'' debe ser especificado para convertir el valor ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' no puede ser entendido como una fecha v\u00e1lida.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' no puede ser entendido como una fecha v\u00e1lida. Ejemplo: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' no puede ser entendido como una hora v\u00e1lida.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' no puede ser entendido como una hora v\u00e1lida. Ejemplo: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' no puede ser entendido como una fecha y hora v\u00e1lida.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' no puede ser entendido como una fecha y hora v\u00e1lida. Ejemplo: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: El attributo ''pattern'' o ''type'' debe ser especificado para convertir el valor ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' debe ser un n\u00famero entre 4.9E-324 y 1.7976931348623157E308  Ejemplo: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' debe ser un n\u00famero entre 4.9E-324 y 1.7976931348623157E308  Ejemplo: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' debe ser convertible a una enumeraci\u00f3n.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' debe ser convertible a una enumeraci\u00f3n de la enumeraci\u00f3n que contiene la constante ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' debe ser convertible a una enumeraci\u00f3n.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' debe ser convertible a una enumeraci\u00f3n de la enumeraci\u00f3n que contiene la constante ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' must be convertible to an enum from the enum, but no enum class provided.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' debe ser un n\u00famero entre 1.4E-45 y 3.4028235E38 Ejemplo: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' debe ser un n\u00famero entre 1.4E-45 y 3.4028235E38 Ejemplo: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' debe ser un n\u00famero entre -2147483648 y 2147483647 Ejemplo: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' debe ser un n\u00famero entre -2147483648 y 2147483647 Ejemplo: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' debe ser un n\u00famero entre -9223372036854775808 a 9223372036854775807 Ejemplo: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' debe ser un n\u00famero entre -9223372036854775808 a 9223372036854775807 Ejemplo: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' no puede ser entendida como un valor de moneda.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' no puede ser entendida como un valor de moneda. Ejemplo: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' no puede ser entendida como un porcentaje.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' no puede ser entendida como un porcentaje. Ejemplo: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' no es un n\u00famero.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' no es un n\u00famero. Ejemplo: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' no es un patr\u00f3n de n\u00fameros.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' no es un patr\u00f3n de n\u00fameros. Ejemplo: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' no puede ser entendida como un valor de moneda.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' no puede ser entendida como un valor de moneda. Ejemplo: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' no puede ser entendida como un porcentaje.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' no puede ser entendida como un porcentaje. Ejemplo: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' no es un n\u00famero.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' no es un n\u00famero. Ejemplo: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' no es un patr\u00f3n de n\u00fameros.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' no es un patr\u00f3n de n\u00fameros. Ejemplo: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' debe ser un n\u00famero entre -32768 y 32767 Ejemplo: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' debe ser un n\u00famero consistente de uno o m\u00e1s d\u00edgitos.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' debe ser un n\u00famero entre -32768 y 32767 Ejemplo: {1}
 
-javax.faces.converter.STRING = {1}: No se pudo convertir ''{0}'' en una cadena.
+jakarta.faces.converter.STRING = {1}: No se pudo convertir ''{0}'' en una cadena.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Error de validaci\u00f3n: El atributo especificado no se encuentra entre los valores esperados {0} y {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Error de validaci\u00f3n: El atributo especificado no se encuentra entre los valores esperados {0} y {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Error de validaci\u00f3n: El valor es mayor que el m\u00e1ximo permitido de "{0}"
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Error de validaci\u00f3n: El valor es inferior al m\u00ednimo permitido de ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Error de validaci\u00f3n: El valor especificado no se encuentra entre los valores esperados de {0} y {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Error de validaci\u00f3n: El valor no es del tipo correcto.
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Error de validaci\u00f3n: El valor es mayor que el m\u00e1ximo permitido de "{0}"
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Error de validaci\u00f3n: El valor es inferior al m\u00ednimo permitido de ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Error de validaci\u00f3n: El valor especificado no se encuentra entre los valores esperados de {0} y {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Error de validaci\u00f3n: El valor no es del tipo correcto.
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Error de validaci\u00f3n: Longitud es mayor al m\u00e1ximo permitido de ''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Error de validaci\u00f3n: Longitud es menor al m\u00ednimo permitido de ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Error de validaci\u00f3n: Longitud es mayor al m\u00e1ximo permitido de ''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Error de validaci\u00f3n: Longitud es menor al m\u00ednimo permitido de ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Error de validaci\u00f3n: Longitud es mayor al m\u00e1ximo permitido de ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Error de validaci\u00f3n: Longitud es menor al m\u00ednimo permitido de ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Error de validaci\u00f3n: Valor especificado no esta entre los valores esperados de {0} y {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Error de validaci\u00f3n: El valor no es del tipo correcto.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Error de validaci\u00f3n: Longitud es mayor al m\u00e1ximo permitido de ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Error de validaci\u00f3n: Longitud es menor al m\u00ednimo permitido de ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Error de validaci\u00f3n: Valor especificado no esta entre los valores esperados de {0} y {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Error de validaci\u00f3n: El valor no es del tipo correcto.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Error de validaci\u00f3n: El valor no est\u00e1 de acuerdo con el patr\u00f3n ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = Un patr\u00f3n debe ser establecido para validar.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = El patr\u00f3n no es una expresi\u00f3n regular v\u00e1lida.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Error de validaci\u00f3n: El valor no est\u00e1 de acuerdo con el patr\u00f3n ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = Un patr\u00f3n debe ser establecido para validar.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = El patr\u00f3n no es una expresi\u00f3n regular v\u00e1lida.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Error de validaci\u00f3n
diff --git a/api/src/main/resources/jakarta/faces/Messages_fr.properties b/api/src/main/resources/jakarta/faces/Messages_fr.properties
index 8372f71..ca5d5d0 100755
--- a/api/src/main/resources/jakarta/faces/Messages_fr.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_fr.properties
@@ -15,99 +15,99 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Erreur de conversion
-javax.faces.component.UIInput.CONVERSION_detail = {0}: Erreur durant la mise \u00e0 jour des donn\u00e9es.
-javax.faces.component.UIInput.REQUIRED = {0}: Erreur de validation
-javax.faces.component.UIInput.REQUIRED_detail = {0}: Une donn\u00e9e est requise.
-javax.faces.component.UIInput.UPDATE =  {0}: Une erreur s'est produite lors du traitement de vos informations pr\u00e9sent\u00e9es.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Erreur de conversion
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}: Erreur durant la mise \u00e0 jour des donn\u00e9es.
+jakarta.faces.component.UIInput.REQUIRED = {0}: Erreur de validation
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}: Une donn\u00e9e est requise.
+jakarta.faces.component.UIInput.UPDATE =  {0}: Une erreur s'est produite lors du traitement de vos informations pr\u00e9sent\u00e9es.
 
-javax.faces.component.UISelectOne.INVALID        = Erreur de Validation: La valeur n'est pas valide
-javax.faces.component.UISelectOne.INVALID_detail = {0}: La donn\u00e9e n''est pas une option valide.
-javax.faces.component.UISelectMany.INVALID = {0}:  Erreur de Validation: La valeur n'est pas valide
+jakarta.faces.component.UISelectOne.INVALID        = Erreur de Validation: La valeur n'est pas valide
+jakarta.faces.component.UISelectOne.INVALID_detail = {0}: La donn\u00e9e n''est pas une option valide.
+jakarta.faces.component.UISelectMany.INVALID = {0}:  Erreur de Validation: La valeur n'est pas valide
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = Erreur de conversion
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = Erreur de conversion
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = Erreur de conversion
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = Erreur de conversion
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
  
-javax.faces.converter.BooleanConverter.BOOLEAN        = Erreur de conversion
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: Conversion de "{0}" en Boolean impossible.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = Erreur de conversion
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: Conversion de "{0}" en Boolean impossible.
 
-javax.faces.converter.ByteConverter.BYTE        = Erreur de conversion
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: Conversion de "{0}" en Octet impossible.
+jakarta.faces.converter.ByteConverter.BYTE        = Erreur de conversion
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: Conversion de "{0}" en Octet impossible.
  
-javax.faces.converter.CharacterConverter.CHARACTER        = Erreur de conversion
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: Conversion de "{0}" en Caract\u00e8re impossible.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = Erreur de conversion
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: Conversion de "{0}" en Caract\u00e8re impossible.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date. Exemple: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme un moment.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme un moment. Exemple: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date et l'heure.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date et l'heure. Exemple: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Un 'pattern' ou 'type' attribut doit \u00eatre sp\u00e9cifi\u00e9 pour convertir la valeur ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date. Exemple: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme un moment.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme un moment. Exemple: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date et l'heure.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}:''{0}'' ne pouvait pas \u00eatre comprise comme une date et l'heure. Exemple: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Un 'pattern' ou 'type' attribut doit \u00eatre sp\u00e9cifi\u00e9 pour convertir la valeur ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE        = Erreur de conversion
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = Erreur de conversion
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'enum qui contient la constante''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'\u00e9num\u00e9ration, mais aucune classe d'\u00e9num\u00e9ration pr\u00e9vue.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'\u00e9num\u00e9ration, mais aucune classe d'\u00e9num\u00e9ration pr\u00e9vue.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'enum qui contient la constante''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'\u00e9num\u00e9ration, mais aucune classe d'\u00e9num\u00e9ration pr\u00e9vue.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' doit \u00eatre convertible en une \u00e9num\u00e9ration de l'\u00e9num\u00e9ration, mais aucune classe d'\u00e9num\u00e9ration pr\u00e9vue.
 
-javax.faces.converter.FloatConverter.FLOAT        = Erreur de conversion
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.FloatConverter.FLOAT        = Erreur de conversion
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
 
-javax.faces.converter.IntegerConverter.INTEGER        = Erreur de conversion
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.IntegerConverter.INTEGER        = Erreur de conversion
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
 
-javax.faces.converter.LongConverter.LONG        = Erreur de conversion
-javax.faces.converter.LongConverter.LONG_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.LongConverter.LONG        = Erreur de conversion
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme une valeur mon\u00e9taire.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme une valeur mon\u00e9taire. Exemple: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme un pourcentage.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme un pourcentage. Exemple: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' n'est pas un nombre.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' n'est pas un nombre. Exemple: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' n'est pas un mod\u00e8le de num\u00e9ro.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' n'est pas un mod\u00e8le de num\u00e9ro. Exemple: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme une valeur mon\u00e9taire.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme une valeur mon\u00e9taire. Exemple: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme un pourcentage.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' ne pouvait pas \u00eatre comprise comme un pourcentage. Exemple: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' n'est pas un nombre.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' n'est pas un nombre. Exemple: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' n'est pas un mod\u00e8le de num\u00e9ro.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' n'est pas un mod\u00e8le de num\u00e9ro. Exemple: {1}
 
-javax.faces.converter.ShortConverter.SHORT        = Erreur de conversion
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
+jakarta.faces.converter.ShortConverter.SHORT        = Erreur de conversion
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: La donn\u00e9e n''est pas un nombre valide.
 
-javax.faces.converter.STRING = {1}: Impossible de convertir ''{0}'' pour une cha\u00eene.
+jakarta.faces.converter.STRING = {1}: Impossible de convertir ''{0}'' pour une cha\u00eene.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = Erreur de Validation
-javax.faces.validator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e n''est pas comprise entre {0} et {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = Erreur de Validation
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: La donn\u00e9e est sup\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = Erreur de Validation
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: La donn\u00e9e est inf\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Erreur de Validation
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e ne peut \u00e9tre convertie dans le bon type.
-javax.faces.validator.DoubleRangeValidator.TYPE        = Erreur de Validation
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: La donn\u00e9e n''est pas du bon type.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = Erreur de Validation
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: La donn\u00e9e a plus que les {0} caract\u00e9res maximum authoris\u00e9s.
-javax.faces.validator.LengthValidator.MINIMUM        = Erreur de Validation
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: La donn\u00e9e doit comporter au moins {0} caract\u00e9res.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = Erreur de Validation
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: La donn\u00e9e est sup\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM        = Erreur de Validation
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: La donn\u00e9e est inf\u00e9rieur au minimum authoris\u00e9 de ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Erreur de Validation
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e ne peut \u00e9tre convertie dans le bon type.
-javax.faces.validator.LongRangeValidator.TYPE        = Erreur de Validation
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: La donn\u00e9e n''est pas du bon type.
-
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Erreur de validation: La valeur n'est pas fonction de mod\u00e8le''{0}''
+jakarta.faces.validator.NOT_IN_RANGE        = Erreur de Validation
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e n''est pas comprise entre {0} et {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = Erreur de Validation
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: La donn\u00e9e est sup\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = Erreur de Validation
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: La donn\u00e9e est inf\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Erreur de Validation
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e ne peut \u00e9tre convertie dans le bon type.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = Erreur de Validation
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: La donn\u00e9e n''est pas du bon type.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = Erreur de Validation
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: La donn\u00e9e a plus que les {0} caract\u00e9res maximum authoris\u00e9s.
+jakarta.faces.validator.LengthValidator.MINIMUM        = Erreur de Validation
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: La donn\u00e9e doit comporter au moins {0} caract\u00e9res.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = Erreur de Validation
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: La donn\u00e9e est sup\u00e9rieur au maximum authoris\u00e9 de ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = Erreur de Validation
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: La donn\u00e9e est inf\u00e9rieur au minimum authoris\u00e9 de ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Erreur de Validation
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = {2}: La donn\u00e9e ne peut \u00e9tre convertie dans le bon type.
+jakarta.faces.validator.LongRangeValidator.TYPE        = Erreur de Validation
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: La donn\u00e9e n''est pas du bon type.
+
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Erreur de validation: La valeur n'est pas fonction de mod\u00e8le''{0}''
 
 
 # myfaces specific messages
diff --git a/api/src/main/resources/jakarta/faces/Messages_it.properties b/api/src/main/resources/jakarta/faces/Messages_it.properties
index edbf7aa..f420f72 100644
--- a/api/src/main/resources/jakarta/faces/Messages_it.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_it.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = Errore di conversione
-javax.faces.component.UIInput.REQUIRED = {0}: Errore di convalida: Il valore \u00e8 obbligatorio
-javax.faces.component.UIInput.UPDATE = {0}: \u00e8 verificato un errore durante l'elaborazione delle informazioni presentate.
+jakarta.faces.component.UIInput.CONVERSION = Errore di conversione
+jakarta.faces.component.UIInput.REQUIRED = {0}: Errore di convalida: Il valore \u00e8 obbligatorio
+jakarta.faces.component.UIInput.UPDATE = {0}: \u00e8 verificato un errore durante l'elaborazione delle informazioni presentate.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Errore di convalida: Opzione non valida
-javax.faces.component.UISelectMany.INVALID = {0}: Errore di convalida: Opzione non valida
+jakarta.faces.component.UISelectOne.INVALID = {0}: Errore di convalida: Opzione non valida
+jakarta.faces.component.UISelectMany.INVALID = {0}: Errore di convalida: Opzione non valida
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = Errore di conversione
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = Il valore specificato non \u00e8 un numero valido.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = Errore di conversione
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = Il valore specificato non \u00e8 un numero valido.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = Errore di conversione
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = Il valore specificato non \u00e8 un numero valido.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = Errore di conversione
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = Il valore specificato non \u00e8 un numero valido.
 
-javax.faces.converter.BooleanConverter.BOOLEAN = Errore di conversione
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = Impossibile convertire '{0}' in booleano.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = Errore di conversione
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = Impossibile convertire '{0}' in booleano.
 
-javax.faces.converter.ByteConverter.BYTE = Errore di conversione
-javax.faces.converter.ByteConverter.BYTE_detail = Impossibile convertire '{0}' in Byte.
+jakarta.faces.converter.ByteConverter.BYTE = Errore di conversione
+jakarta.faces.converter.ByteConverter.BYTE_detail = Impossibile convertire '{0}' in Byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER = Errore di conversione
-javax.faces.converter.CharacterConverter.CHARACTER_detail = Impossibile convertire '{0}' in carattere.
+jakarta.faces.converter.CharacterConverter.CHARACTER = Errore di conversione
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = Impossibile convertire '{0}' in carattere.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' non potrebbe essere inteso come una data.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' non potrebbe essere inteso come una data. Esempio: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}:''{0}'' non potrebbe essere inteso come un tempo.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' non potrebbe essere inteso come un tempo. Esempio: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' non potrebbe essere inteso come una data e ora.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' non potrebbe essere inteso come una data e ora. Esempio: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Un attributo ''pattern'' o ''type'' deve essere specificato per convertire il valore ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' non potrebbe essere inteso come una data.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' non potrebbe essere inteso come una data. Esempio: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}:''{0}'' non potrebbe essere inteso come un tempo.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' non potrebbe essere inteso come un tempo. Esempio: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' non potrebbe essere inteso come una data e ora.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' non potrebbe essere inteso come una data e ora. Esempio: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Un attributo ''pattern'' o ''type'' deve essere specificato per convertire il valore ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = Errore di conversione
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: Il valore specificato non \u00e8 un numero (double) valido.
+jakarta.faces.converter.DoubleConverter.DOUBLE = Errore di conversione
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: Il valore specificato non \u00e8 un numero (double) valido.
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' deve essere convertibile in un enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' deve essere convertibile in un enum dal enum che contiene la costante''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' deve essere convertibile in un enum dal enum, ma nessuna classe enum fornito.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' deve essere convertibile in un enum dal enum, ma nessuna classe enum fornito.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' deve essere convertibile in un enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' deve essere convertibile in un enum dal enum che contiene la costante''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' deve essere convertibile in un enum dal enum, ma nessuna classe enum fornito.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' deve essere convertibile in un enum dal enum, ma nessuna classe enum fornito.
 
-javax.faces.converter.FloatConverter.FLOAT = Errore di conversione
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: Il valore specificato non \u00e8 un numero (float) valido.
+jakarta.faces.converter.FloatConverter.FLOAT = Errore di conversione
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: Il valore specificato non \u00e8 un numero (float) valido.
 
-javax.faces.converter.IntegerConverter.INTEGER = Errore di conversione
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: Il valore specificato non \u00e8 un numero intero valido.
+jakarta.faces.converter.IntegerConverter.INTEGER = Errore di conversione
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: Il valore specificato non \u00e8 un numero intero valido.
 
-javax.faces.converter.LongConverter.LONG = Errore di conversione
-javax.faces.converter.LongConverter.LONG_detail = {2}: Il valore specificato non \u00e8 un numero (long) valido.
+jakarta.faces.converter.LongConverter.LONG = Errore di conversione
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: Il valore specificato non \u00e8 un numero (long) valido.
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}:''{0}''non potrebbe essere inteso come valore di valuta.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}:''{0}''non potrebbe essere inteso come valore di valuta. Esempio: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}:''{0}''non potrebbe essere inteso come percentuale.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}:''{0}''non potrebbe essere inteso come percentuale. Esempio: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}:''{0}''non \u00e8 un numero.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}:''{0}''non \u00e8 un numero. Esempio: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}:''{0}''non \u00e8 un modello di serie.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}:''{0}''non \u00e8 un modello di serie. Esempio: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}:''{0}''non potrebbe essere inteso come valore di valuta.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}:''{0}''non potrebbe essere inteso come valore di valuta. Esempio: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}:''{0}''non potrebbe essere inteso come percentuale.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}:''{0}''non potrebbe essere inteso come percentuale. Esempio: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}:''{0}''non \u00e8 un numero.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}:''{0}''non \u00e8 un numero. Esempio: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}:''{0}''non \u00e8 un modello di serie.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}:''{0}''non \u00e8 un modello di serie. Esempio: {1}
 
-javax.faces.converter.ShortConverter.SHORT = Errore di conversione
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: Il valore specificato non \u00e8 un numero (short) valido.
+jakarta.faces.converter.ShortConverter.SHORT = Errore di conversione
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: Il valore specificato non \u00e8 un numero (short) valido.
 
-javax.faces.converter.STRING = {1}: Impossibile convertire ''{0}'' in una stringa.
+jakarta.faces.converter.STRING = {1}: Impossibile convertire ''{0}'' in una stringa.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 compreso tra {0} e {1}.
+jakarta.faces.validator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 compreso tra {0} e {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 superiore al massimo ammesso di ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 inferiore al minimo ammesso di ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 convertibile in un tipo appropriato.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Errore di convalida: Il valore non \u00e8 di tipo corretto.
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 superiore al massimo ammesso di ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 inferiore al minimo ammesso di ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 convertibile in un tipo appropriato.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Errore di convalida: Il valore non \u00e8 di tipo corretto.
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 pi\u00f9 lungo del massimo ammesso di {0} caratteri.
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 pi\u00f9 corto del minimo ammessi di {0} caratteri.
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 pi\u00f9 lungo del massimo ammesso di {0} caratteri.
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 pi\u00f9 corto del minimo ammessi di {0} caratteri.
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 superiore al massimo ammesso di ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 inferiore al minimo ammesso di ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 convertibile in un tipo appropriato.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Errore di convalida: Il valore non \u00e8 di tipo corretto.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Errore di convalida: Il valore \u00e8 superiore al massimo ammesso di ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Errore di convalida: Il valore \u00e8 inferiore al minimo ammesso di ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Errore di convalida: Il valore specificato non \u00e8 convertibile in un tipo appropriato.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Errore di convalida: Il valore non \u00e8 di tipo corretto.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Rapporto non secondo modello ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = Un modello deve essere impostato per convalidare.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = Il modello non \u00e8 un'espressione regolare valida.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Rapporto non secondo modello ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = Un modello deve essere impostato per convalidare.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = Il modello non \u00e8 un'espressione regolare valida.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Errore di convalida
diff --git a/api/src/main/resources/jakarta/faces/Messages_ja.properties b/api/src/main/resources/jakarta/faces/Messages_ja.properties
index e80e868..8af1586 100755
--- a/api/src/main/resources/jakarta/faces/Messages_ja.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_ja.properties
@@ -15,91 +15,91 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.component.UIInput.CONVERSION_detail = {0}: \u5909\u63db\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f.
-javax.faces.component.UIInput.REQUIRED        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.component.UIInput.REQUIRED_detail = {0}: \u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.component.UIInput.CONVERSION        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}: \u5909\u63db\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f.
+jakarta.faces.component.UIInput.REQUIRED        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}: \u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.component.UISelectOne.INVALID        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.component.UISelectOne.INVALID_detail = {0}: \u5024\u306f\u7701\u7565\u3067\u304d\u307e\u305b\u3093.
-javax.faces.component.UISelectMany.INVALID        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.component.UISelectMany.INVALID_detail = {0}: \u5024\u306f\u7701\u7565\u3067\u304d\u307e\u305b\u3093.
+jakarta.faces.component.UISelectOne.INVALID        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.component.UISelectOne.INVALID_detail = {0}: \u5024\u306f\u7701\u7565\u3067\u304d\u307e\u305b\u3093.
+jakarta.faces.component.UISelectMany.INVALID        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.component.UISelectMany.INVALID_detail = {0}: \u5024\u306f\u7701\u7565\u3067\u304d\u307e\u305b\u3093.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' \u306f\u30d6\u30fc\u30ea\u30a2\u30f3\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' \u306f\u30d6\u30fc\u30ea\u30a2\u30f3\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
 
-javax.faces.converter.ByteConverter.BYTE        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u3092\u30d0\u30a4\u30c8\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
+jakarta.faces.converter.ByteConverter.BYTE        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u3092\u30d0\u30a4\u30c8\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u3092\u30ad\u30e3\u30e9\u30af\u30bf\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u3092\u30ad\u30e3\u30e9\u30af\u30bf\u578b\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.
 
-javax.faces.converter.DateTimeConverter.DATE        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.DateTimeConverter.TIME        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.DateTimeConverter.DATETIME        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.DateTimeConverter.DATE        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.DateTimeConverter.TIME        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.DateTimeConverter.DATETIME        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: \u6b63\u3057\u3044\u65e5\u4ed8/\u6642\u9593\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = \u5909\u63db\u30a8\u30e9\u30fc
 
-javax.faces.converter.DoubleConverter.DOUBLE        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.DoubleConverter.DOUBLE_detail = "{0}": \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = "{0}": \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
 
-javax.faces.converter.FloatConverter.FLOAT        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.FloatConverter.FLOAT        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.IntegerConverter.INTEGER        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.IntegerConverter.INTEGER        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.LongConverter.LONG        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.LongConverter.LONG_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.LongConverter.LONG        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.NumberConverter.CURRENCY        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.NumberConverter.PERCENT        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.NumberConverter.NUMBER        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.converter.NumberConverter.PATTERN        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.NumberConverter.PATTERN_detail ={2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.NumberConverter.CURRENCY        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.NumberConverter.PERCENT        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.NumberConverter.NUMBER        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.NumberConverter.PATTERN        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.NumberConverter.PATTERN_detail ={2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
-javax.faces.converter.ShortConverter.SHORT        = \u5909\u63db\u30a8\u30e9\u30fc
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.converter.ShortConverter.SHORT        = \u5909\u63db\u30a8\u30e9\u30fc
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: \u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.NOT_IN_RANGE_detail = {2}: {0}\u304b\u3089{1}\u306e\u9593\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5927\u5024\u3092\u8d85\u3048\u3066\u3044\u307e\u3059.''{0}''\u3088\u308a\u5c0f\u3055\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5c0f\u5024\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059. ''{0}''\u3088\u308a\u5927\u304d\u3044\u5024\u3092\u5165\u529b\u300c\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = \u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093
-javax.faces.validator.DoubleRangeValidator.TYPE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: \u6b63\u3057\u3044\u30bf\u30a4\u30d7\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u9577\u904e\u304e\u307e\u3059. {0}\u6587\u5b57\u4ee5\u4e0b\u306b\u3057\u3066\u304f\u3060\u3055\u3044.
-javax.faces.validator.LengthValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u77ed\u904e\u304e\u307e\u3059. {0} \u6587\u5b57\u4ee5\u4e0a\u306b\u3057\u3066\u304f\u3060\u3055\u3044.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5927\u5024\u3092\u8d85\u3048\u3066\u3044\u307e\u3059.''{0}''\u3088\u308a\u5c0f\u3055\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.validator.LongRangeValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5c0f\u5024\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059. ''{0}''\u3088\u308a\u5927\u304d\u3044\u5024\u3092\u5165\u529b\u300c\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = \u5024\u304c\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.\u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
-javax.faces.validator.LongRangeValidator.TYPE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: \u6b63\u3057\u3044\u30bf\u30a4\u30d7\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}: {0}\u304b\u3089{1}\u306e\u9593\u306e\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5927\u5024\u3092\u8d85\u3048\u3066\u3044\u307e\u3059.''{0}''\u3088\u308a\u5c0f\u3055\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5c0f\u5024\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059. ''{0}''\u3088\u308a\u5927\u304d\u3044\u5024\u3092\u5165\u529b\u300c\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = \u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: \u6b63\u3057\u3044\u30bf\u30a4\u30d7\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u9577\u904e\u304e\u307e\u3059. {0}\u6587\u5b57\u4ee5\u4e0b\u306b\u3057\u3066\u304f\u3060\u3055\u3044.
+jakarta.faces.validator.LengthValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u77ed\u904e\u304e\u307e\u3059. {0} \u6587\u5b57\u4ee5\u4e0a\u306b\u3057\u3066\u304f\u3060\u3055\u3044.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5927\u5024\u3092\u8d85\u3048\u3066\u3044\u307e\u3059.''{0}''\u3088\u308a\u5c0f\u3055\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: \u5165\u529b\u5024\u304c\u6700\u5c0f\u5024\u3088\u308a\u5c0f\u3055\u3044\u3067\u3059. ''{0}''\u3088\u308a\u5927\u304d\u3044\u5024\u3092\u5165\u529b\u300c\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = \u5024\u304c\u30d7\u30ed\u30c8\u30bf\u30a4\u30d7\u3078\u5909\u63db\u3067\u304d\u307e\u305b\u3093.\u6b63\u3057\u3044\u5024\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
+jakarta.faces.validator.LongRangeValidator.TYPE        = \u30d0\u30ea\u30c7\u30fc\u30b7\u30e7\u30f3\u30a8\u30e9\u30fc
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: \u6b63\u3057\u3044\u30bf\u30a4\u30d7\u3092\u5165\u529b\u3057\u3066\u4e0b\u3055\u3044.
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_mt.properties b/api/src/main/resources/jakarta/faces/Messages_mt.properties
index d830fc9..9fc143b 100644
--- a/api/src/main/resources/jakarta/faces/Messages_mt.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_mt.properties
@@ -15,80 +15,80 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = Problema fil-konver\u017cjoni
-javax.faces.component.UIInput.CONVERSION_detail = {0}\: Inqalg\u0127et problema fil-konver\u017cjoni.
-javax.faces.component.UIInput.REQUIRED        = Problema fil-validazzjoni
-javax.faces.component.UIInput.REQUIRED_detail = {0}\: Valur huwa me\u0127tie\u0121.
+jakarta.faces.component.UIInput.CONVERSION        = Problema fil-konver\u017cjoni
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}\: Inqalg\u0127et problema fil-konver\u017cjoni.
+jakarta.faces.component.UIInput.REQUIRED        = Problema fil-validazzjoni
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}\: Valur huwa me\u0127tie\u0121.
 
-javax.faces.component.UISelectOne.INVALID        = Problema fil-validazzjoni
-javax.faces.component.UISelectOne.INVALID_detail = {0}\: Il-valur mhux g\u0127a\u017cla valida.
-javax.faces.component.UISelectMany.INVALID        = Problema fil-validazzjoni
-javax.faces.component.UISelectMany.INVALID_detail = {0}\: Il-valur mhux g\u0127a\u017cla valida.
+jakarta.faces.component.UISelectOne.INVALID        = Problema fil-validazzjoni
+jakarta.faces.component.UISelectOne.INVALID_detail = {0}\: Il-valur mhux g\u0127a\u017cla valida.
+jakarta.faces.component.UISelectMany.INVALID        = Problema fil-validazzjoni
+jakarta.faces.component.UISelectMany.INVALID_detail = {0}\: Il-valur mhux g\u0127a\u017cla valida.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = Problema fil-konver\u017cjoni
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = Problema fil-konver\u017cjoni
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = Problema fil-konver\u017cjoni
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al boolean.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al boolean.
 
-javax.faces.converter.ByteConverter.BYTE        = Problema fil-konver\u017cjoni
-javax.faces.converter.ByteConverter.BYTE_detail = {2}\: Il-valur "{0}" ma setax jinqaleb g\u0127al byte.
+jakarta.faces.converter.ByteConverter.BYTE        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}\: Il-valur "{0}" ma setax jinqaleb g\u0127al byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = Problema fil-konver\u017cjoni
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al karattru.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al karattru.
 
-javax.faces.converter.DateTimeConverter.CONVERSION        = Problema fil-konver\u017cjoni
-javax.faces.converter.DateTimeConverter.CONVERSION_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al data/\u0127in.
+jakarta.faces.converter.DateTimeConverter.CONVERSION        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.DateTimeConverter.CONVERSION_detail = {1}\: Il-valur "{0}" ma setax jinqaleb g\u0127al data/\u0127in.
 
-javax.faces.converter.DoubleConverter.DOUBLE        = Problema fil-konver\u017cjoni
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
 
-javax.faces.converter.FloatConverter.FLOAT        = Problema fil-konver\u017cjoni
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.FloatConverter.FLOAT        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.IntegerConverter.INTEGER        = Problema fil-konver\u017cjoni
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.IntegerConverter.INTEGER        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.LongConverter.LONG        = Problema fil-konver\u017cjoni
-javax.faces.converter.LongConverter.LONG_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.LongConverter.LONG        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.LongConverter.LONG_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.NumberConverter.CONVERSION        = Problema fil-konver\u017cjoni
-javax.faces.converter.NumberConverter.CONVERSION_detail = "{0}"\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.NumberConverter.CONVERSION        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.NumberConverter.CONVERSION_detail = "{0}"\: Il-valur spe\u010bifikat mhux numru validu.
 
-javax.faces.converter.ShortConverter.SHORT        = Problema fil-konver\u017cjoni
-javax.faces.converter.ShortConverter.SHORT_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
+jakarta.faces.converter.ShortConverter.SHORT        = Problema fil-konver\u017cjoni
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}\: Il-valur spe\u010bifikat mhux numru validu.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = Problema fil-validazzjoni
-javax.faces.validator.NOT_IN_RANGE_detail = {2}\: Il-valur spe\u010bifikat mhux bejn il-valuri mistennija ta' {0} u {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = Problema fil-validazzjoni
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}\: Il-valur huwa ikbar mill-massimu ta' "{0}".
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = Problema fil-validazzjoni
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}\: Il-valur huwa i\u017cg\u0127ar mill-minimu ta' "{0}".
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Problema fil-validazzjoni
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = Il-valur spe\u010bifikat ma jistax jinqaleb fit-tip mistenni.
-javax.faces.validator.DoubleRangeValidator.TYPE        = Problema fil-validazzjoni
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}\: Il-valur mhux tat-tip korrett.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = Problema fil-validazzjoni
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}\: Il-valur huwa itwal mill-massimu ta' {0} karattri.
-javax.faces.validator.LengthValidator.MINIMUM        = Problema fil-validazzjoni
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}\: Il-valur huwa iqsar mill-minimu ta' {0} karattri.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = Problema fil-validazzjoni
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}\: Il-valur huwa ikbar mill-massimu ta' "{0}".
-javax.faces.validator.LongRangeValidator.MINIMUM        = Problema fil-validazzjoni
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}\: Il-valur huwa i\u017cg\u0127ar mill-minimu ta' "{0}".
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Problema fil-validazzjoni
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = Il-valur spe\u010bifikat ma jistax jinqaleb g\u0127at-tip korrett.
-javax.faces.validator.LongRangeValidator.TYPE        = Problema fil-validazzjoni
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}\: Il-valur mhux tat-tip korrett.
+jakarta.faces.validator.NOT_IN_RANGE        = Problema fil-validazzjoni
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}\: Il-valur spe\u010bifikat mhux bejn il-valuri mistennija ta' {0} u {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}\: Il-valur huwa ikbar mill-massimu ta' "{0}".
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}\: Il-valur huwa i\u017cg\u0127ar mill-minimu ta' "{0}".
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Problema fil-validazzjoni
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = Il-valur spe\u010bifikat ma jistax jinqaleb fit-tip mistenni.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = Problema fil-validazzjoni
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}\: Il-valur mhux tat-tip korrett.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}\: Il-valur huwa itwal mill-massimu ta' {0} karattri.
+jakarta.faces.validator.LengthValidator.MINIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}\: Il-valur huwa iqsar mill-minimu ta' {0} karattri.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}\: Il-valur huwa ikbar mill-massimu ta' "{0}".
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = Problema fil-validazzjoni
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}\: Il-valur huwa i\u017cg\u0127ar mill-minimu ta' "{0}".
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Problema fil-validazzjoni
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = Il-valur spe\u010bifikat ma jistax jinqaleb g\u0127at-tip korrett.
+jakarta.faces.validator.LongRangeValidator.TYPE        = Problema fil-validazzjoni
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}\: Il-valur mhux tat-tip korrett.
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_nl.properties b/api/src/main/resources/jakarta/faces/Messages_nl.properties
index 033d694..72a2c59 100644
--- a/api/src/main/resources/jakarta/faces/Messages_nl.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_nl.properties
@@ -15,82 +15,82 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = Conversiefout
-javax.faces.component.UIInput.CONVERSION_detail = {0}: De gegeven waarde kon niet worden ge\u00efnterpreteerd.
-javax.faces.component.UIInput.REQUIRED        = Verplicht
-javax.faces.component.UIInput.REQUIRED_detail = {0}: Een waarde is verplicht voor dit veld.
+jakarta.faces.component.UIInput.CONVERSION        = Conversiefout
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}: De gegeven waarde kon niet worden ge\u00efnterpreteerd.
+jakarta.faces.component.UIInput.REQUIRED        = Verplicht
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}: Een waarde is verplicht voor dit veld.
 
-javax.faces.component.UISelectOne.INVALID        = Ongeldig
-javax.faces.component.UISelectOne.INVALID_detail = De gekozen waarde is niet geldig.
-javax.faces.component.UISelectMany.INVALID        = Ongeldig
-javax.faces.component.UISelectMany.INVALID_detail = Een gekozen waarde is niet geldig.
+jakarta.faces.component.UISelectOne.INVALID        = Ongeldig
+jakarta.faces.component.UISelectOne.INVALID_detail = De gekozen waarde is niet geldig.
+jakarta.faces.component.UISelectMany.INVALID        = Ongeldig
+jakarta.faces.component.UISelectMany.INVALID_detail = Een gekozen waarde is niet geldig.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = Geen decimaal getal
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = Geen decimaal getal
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = Geen geheel getal
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = Geen geheel getal
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = Niet 'waar' of 'vals'
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als 'waar' of 'vals'.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = Niet 'waar' of 'vals'
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als 'waar' of 'vals'.
 
-javax.faces.converter.ByteConverter.BYTE        = Geen Byte
-javax.faces.converter.ByteConverter.BYTE_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als Byte.
+jakarta.faces.converter.ByteConverter.BYTE        = Geen Byte
+jakarta.faces.converter.ByteConverter.BYTE_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als Byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = Geen karakter
-javax.faces.converter.CharacterConverter.CHARACTER_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als karakter.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = Geen karakter
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = De gegeven invoer kon niet worden ge\u00efnterpreteerd '{0}' als karakter.
 
-javax.faces.converter.DateTimeConverter.CONVERSION        = Geen datum of tijd
-javax.faces.converter.DateTimeConverter.CONVERSION_detail = {1}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als datum of tijd.
+jakarta.faces.converter.DateTimeConverter.CONVERSION        = Geen datum of tijd
+jakarta.faces.converter.DateTimeConverter.CONVERSION_detail = {1}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als datum of tijd.
 
-javax.faces.converter.DoubleConverter.DOUBLE        = Geen decimaal getal
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = Geen decimaal getal
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
 
 
-javax.faces.converter.FloatConverter.FLOAT        = Geen decimaal getal
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
+jakarta.faces.converter.FloatConverter.FLOAT        = Geen decimaal getal
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een decimaal getal.
 
-javax.faces.converter.IntegerConverter.INTEGER        = Geen geheel getal
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal.
+jakarta.faces.converter.IntegerConverter.INTEGER        = Geen geheel getal
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal.
 
-javax.faces.converter.LongConverter.LONG        = Geen geheel getal
-javax.faces.converter.LongConverter.LONG_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal
+jakarta.faces.converter.LongConverter.LONG        = Geen geheel getal
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal
 
-javax.faces.converter.NumberConverter.CONVERSION        = Geen getal
-javax.faces.converter.NumberConverter.CONVERSION_detail = {0}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een getal
+jakarta.faces.converter.NumberConverter.CONVERSION        = Geen getal
+jakarta.faces.converter.NumberConverter.CONVERSION_detail = {0}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een getal
 
-javax.faces.converter.ShortConverter.SHORT         = Geen geheel getal
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal
+jakarta.faces.converter.ShortConverter.SHORT         = Geen geheel getal
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: De gegeven invoer kon niet worden ge\u00efnterpreteerd als een geheel getal
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = Buiten bereik
-javax.faces.validator.NOT_IN_RANGE_detail = {2}: De gegeven waarde valt niet tussen de verwachte waarden {0} en {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = Waarde te groot
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: De gegeven waarde is groter dan het toegelaten maximum ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = Waarde te klein
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: De gegeven waarde is kleiner dan het toegelaten minimum ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Validatiefout
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = De gegeven waarde is geen double.
-javax.faces.validator.DoubleRangeValidator.TYPE        = Type fout
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: De invoer kan niet worden ge\u00efnterpreteerd als een decimaal getal.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = Invoer te groot
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: De invoer is langer dan het toegelaten maximum van {0} karakters.
-javax.faces.validator.LengthValidator.MINIMUM        = Invoer te kort
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: De invoer is korter dan het toegelaten minimum van {0} karakters.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = Waarde te groot
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: De gegeven waarde is groter dan het toegelaten maximum ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM        = Waarde te klein
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: De gegeven waarde is kleiner dan het toegelaten maximum ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Validatiefout
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = De gegeven waarde kon niet worden omgezet in een waarde van het benodigde type.
-javax.faces.validator.LongRangeValidator.TYPE        = Type fout
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: De invoer kan niet worden ge\u00efnterpreteerd als een geheeld getal.
-
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: De invoer komt niet overeen met het patroon ''{0}''
+jakarta.faces.validator.NOT_IN_RANGE        = Buiten bereik
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}: De gegeven waarde valt niet tussen de verwachte waarden {0} en {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = Waarde te groot
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: De gegeven waarde is groter dan het toegelaten maximum ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = Waarde te klein
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: De gegeven waarde is kleiner dan het toegelaten minimum ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = Validatiefout
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = De gegeven waarde is geen double.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = Type fout
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: De invoer kan niet worden ge\u00efnterpreteerd als een decimaal getal.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = Invoer te groot
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: De invoer is langer dan het toegelaten maximum van {0} karakters.
+jakarta.faces.validator.LengthValidator.MINIMUM        = Invoer te kort
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: De invoer is korter dan het toegelaten minimum van {0} karakters.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = Waarde te groot
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: De gegeven waarde is groter dan het toegelaten maximum ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = Waarde te klein
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: De gegeven waarde is kleiner dan het toegelaten maximum ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = Validatiefout
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = De gegeven waarde kon niet worden omgezet in een waarde van het benodigde type.
+jakarta.faces.validator.LongRangeValidator.TYPE        = Type fout
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: De invoer kan niet worden ge\u00efnterpreteerd als een geheeld getal.
+
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: De invoer komt niet overeen met het patroon ''{0}''
 
 
 # myfaces specific messages
diff --git a/api/src/main/resources/jakarta/faces/Messages_pl.properties b/api/src/main/resources/jakarta/faces/Messages_pl.properties
index 025a6ea..7a476f8 100644
--- a/api/src/main/resources/jakarta/faces/Messages_pl.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_pl.properties
@@ -15,80 +15,80 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = B\u0142\u0105d konwersji
-javax.faces.component.UIInput.CONVERSION_detail = {0}: B\u0142\u0105d podczas aktualizacji danych modelu.
-javax.faces.component.UIInput.REQUIRED        = B\u0142\u0105d walidacji
-javax.faces.component.UIInput.REQUIRED_detail = {0}: Warto\u015b\u0107 jest wymagana.
+jakarta.faces.component.UIInput.CONVERSION        = B\u0142\u0105d konwersji
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}: B\u0142\u0105d podczas aktualizacji danych modelu.
+jakarta.faces.component.UIInput.REQUIRED        = B\u0142\u0105d walidacji
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}: Warto\u015b\u0107 jest wymagana.
 
-javax.faces.component.UISelectOne.INVALID        = B\u0142\u0105d walidacji
-javax.faces.component.UISelectOne.INVALID_detail = {0}: Warto\u015b\u0107 nie jest poprawn\u0105 opcj\u0105.
-javax.faces.component.UISelectMany.INVALID        = B\u0142\u0105d walidacji
-javax.faces.component.UISelectMany.INVALID_detail = {0}: Warto\u015b\u0107 nie jest poprawn\u0105 opcj\u0105.
+jakarta.faces.component.UISelectOne.INVALID        = B\u0142\u0105d walidacji
+jakarta.faces.component.UISelectOne.INVALID_detail = {0}: Warto\u015b\u0107 nie jest poprawn\u0105 opcj\u0105.
+jakarta.faces.component.UISelectMany.INVALID        = B\u0142\u0105d walidacji
+jakarta.faces.component.UISelectMany.INVALID_detail = {0}: Warto\u015b\u0107 nie jest poprawn\u0105 opcj\u0105.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = B\u0142\u0105d konwersji
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = B\u0142\u0105d konwersji
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = B\u0142\u0105d konwersji
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = B\u0142\u0105d konwersji
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = B\u0142\u0105d konwersji
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do warto\u015bci logicznej.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = B\u0142\u0105d konwersji
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do warto\u015bci logicznej.
 
-javax.faces.converter.ByteConverter.BYTE        = B\u0142\u0105d konwersji
-javax.faces.converter.ByteConverter.BYTE_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do bajtu.
+jakarta.faces.converter.ByteConverter.BYTE        = B\u0142\u0105d konwersji
+jakarta.faces.converter.ByteConverter.BYTE_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do bajtu.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = B\u0142\u0105d konwersji
-javax.faces.converter.CharacterConverter.CHARACTER_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do znaku.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = B\u0142\u0105d konwersji
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = Nie mo\u017cna przekszta\u0142ci\u0107 '{0}' do znaku.
 
-javax.faces.converter.DateTimeConverter.CONVERSION        = B\u0142\u0105d konwersji
-javax.faces.converter.DateTimeConverter.CONVERSION_detail = {1}: Podana warto\u015b\u0107 nie jest poprawn\u0105 dat\u0105/czasem.
+jakarta.faces.converter.DateTimeConverter.CONVERSION        = B\u0142\u0105d konwersji
+jakarta.faces.converter.DateTimeConverter.CONVERSION_detail = {1}: Podana warto\u015b\u0107 nie jest poprawn\u0105 dat\u0105/czasem.
 
-javax.faces.converter.DoubleConverter.DOUBLE        = B\u0142\u0105d konwersji
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = B\u0142\u0105d konwersji
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
 
-javax.faces.converter.FloatConverter.FLOAT        = B\u0142\u0105d konwersji
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.FloatConverter.FLOAT        = B\u0142\u0105d konwersji
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.IntegerConverter.INTEGER        = B\u0142\u0105d konwersji
-javax.faces.converter.IntegerConverter.INTEGER_detail = {0}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.IntegerConverter.INTEGER        = B\u0142\u0105d konwersji
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {0}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.LongConverter.LONG        = B\u0142\u0105d konwersji
-javax.faces.converter.LongConverter.LONG_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.LongConverter.LONG        = B\u0142\u0105d konwersji
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.NumberConverter.CONVERSION        = B\u0142\u0105d konwersji
-javax.faces.converter.NumberConverter.CONVERSION_detail = {0}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.NumberConverter.CONVERSION        = B\u0142\u0105d konwersji
+jakarta.faces.converter.NumberConverter.CONVERSION_detail = {0}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
-javax.faces.converter.ShortConverter.SHORT        = B\u0142\u0105d konwersji
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
+jakarta.faces.converter.ShortConverter.SHORT        = B\u0142\u0105d konwersji
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: Podana warto\u015b\u0107 nie jest poprawn\u0105 liczb\u0105.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
-javax.faces.validator.NOT_IN_RANGE_detail = {2}: Podany atrybut nie zawiera si\u0119 mi\u0119dzy oczekiwanymi warto\u015bciami {0} i {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest wi\u0119ksza ni\u017c dopuszczalne maksimum ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest mniejsza ni\u017c dopuszczalne minimum ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = Podany atrybut nie podlega konwersji na w\u0142a\u015bciwy typ.
-javax.faces.validator.DoubleRangeValidator.TYPE        = B\u0142\u0105d walidacji
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: Warto\u015b\u0107 nie jest w\u0142a\u015bciwego typu.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest d\u0142u\u017csza ni\u017c dopuszczalne maksimum {0} znak\u00f3w.
-javax.faces.validator.LengthValidator.MINIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest kr\u00f3tsza ni\u017c dopuszczalne minimum {0} znak\u00f3w.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest wi\u0119ksza ni\u017c dopuszczalne maksimum ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM        = B\u0142\u0105d walidacji
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest mniejsza ni\u017c dopuszczalne minimum ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = Podany atrybut nie podlega konwersji na w\u0142a\u015bciwy typ.
-javax.faces.validator.LongRangeValidator.TYPE        = Validation Error
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: Warto\u015b\u0107 nie jest w\u0142a\u015bciwego typu.
+jakarta.faces.validator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}: Podany atrybut nie zawiera si\u0119 mi\u0119dzy oczekiwanymi warto\u015bciami {0} i {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest wi\u0119ksza ni\u017c dopuszczalne maksimum ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest mniejsza ni\u017c dopuszczalne minimum ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = Podany atrybut nie podlega konwersji na w\u0142a\u015bciwy typ.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = B\u0142\u0105d walidacji
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: Warto\u015b\u0107 nie jest w\u0142a\u015bciwego typu.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest d\u0142u\u017csza ni\u017c dopuszczalne maksimum {0} znak\u00f3w.
+jakarta.faces.validator.LengthValidator.MINIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest kr\u00f3tsza ni\u017c dopuszczalne minimum {0} znak\u00f3w.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: Warto\u015b\u0107 jest wi\u0119ksza ni\u017c dopuszczalne maksimum ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = B\u0142\u0105d walidacji
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: Warto\u015b\u0107 jest mniejsza ni\u017c dopuszczalne minimum ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = B\u0142\u0105d walidacji
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = Podany atrybut nie podlega konwersji na w\u0142a\u015bciwy typ.
+jakarta.faces.validator.LongRangeValidator.TYPE        = Validation Error
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: Warto\u015b\u0107 nie jest w\u0142a\u015bciwego typu.
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_pt.properties b/api/src/main/resources/jakarta/faces/Messages_pt.properties
index fa148d9..a71554e 100644
--- a/api/src/main/resources/jakarta/faces/Messages_pt.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_pt.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Erro de convers\u00e3o
-javax.faces.component.UIInput.REQUIRED = {0}: Erro de valida\u00e7\u00e3o: Um valor \u00e9 requerido.
-javax.faces.component.UIInput.UPDATE = {0}: Erro ao processar a informa\u00e7\u00e3o apresentada.
+jakarta.faces.component.UIInput.CONVERSION = {0}: Erro de convers\u00e3o
+jakarta.faces.component.UIInput.REQUIRED = {0}: Erro de valida\u00e7\u00e3o: Um valor \u00e9 requerido.
+jakarta.faces.component.UIInput.UPDATE = {0}: Erro ao processar a informa\u00e7\u00e3o apresentada.
 
-javax.faces.component.UISelectOne.INVALID = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida.
-javax.faces.component.UISelectMany.INVALID = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida.
+jakarta.faces.component.UISelectOne.INVALID = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida.
+jakarta.faces.component.UISelectMany.INVALID = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 uma op\u00e7\u00e3o v\u00e1lida.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: Erro de convers\u00e3o
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: Erro de convers\u00e3o
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: Erro de convers\u00e3o
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: Imposs\u00edvel converter ''{0}'' para Boolean.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: Erro de convers\u00e3o
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: Imposs\u00edvel converter ''{0}'' para Boolean.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: Erro de convers\u00e3o
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: Imposs\u00edvel converter ''{0}'' para Byte.
+jakarta.faces.converter.ByteConverter.BYTE = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: Imposs\u00edvel converter ''{0}'' para Byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: Erro de convers\u00e3o
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: N\u00e3o foi poss\u00edvel converter ''{0}'' para caracter.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: Erro de convers\u00e3o
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: N\u00e3o foi poss\u00edvel converter ''{0}'' para caracter.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data. Exemplo: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' n\u00e3o pode ser entendida como um tempo.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como um tempo. Exemplo: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data e hora.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data e hora. Exemplo: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: ''pattern'' ou ''type'' atributo deve ser especificado para converter o valor ''{0}''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data. Exemplo: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' n\u00e3o pode ser entendida como um tempo.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como um tempo. Exemplo: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data e hora.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma data e hora. Exemplo: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: ''pattern'' ou ''type'' atributo deve ser especificado para converter o valor ''{0}''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: Erro de convers\u00e3o
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' deve ser convertida para um enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' deve ser convers\u00edvel para um enum do enum que cont\u00e9m a constante ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' deve ser convers\u00edvel para um enum do enum, mas nenhuma classe enum prestados.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' deve ser convers\u00edvel para um enum do enum, mas nenhuma classe enum prestados.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' deve ser convertida para um enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' deve ser convers\u00edvel para um enum do enum que cont\u00e9m a constante ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' deve ser convers\u00edvel para um enum do enum, mas nenhuma classe enum prestados.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' deve ser convers\u00edvel para um enum do enum, mas nenhuma classe enum prestados.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: Erro de convers\u00e3o
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: Erro de convers\u00e3o
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.LongConverter.LONG = {2}: Erro de convers\u00e3o
-javax.faces.converter.LongConverter.LONG_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.LongConverter.LONG = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' n\u00e3o pode ser entendida como um valor monet\u00e1rio.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como um valor monet\u00e1rio. Exemplo: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' n\u00e3o pode ser entendida como uma porcentagem.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma porcentagem. Exemplo: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' n\u00e3o \u00e9 um n\u00famero.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' n\u00e3o \u00e9 um n\u00famero. Exemplo: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' n\u00e3o \u00e9 um padr\u00e3o de n\u00famero.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' n\u00e3o \u00e9 um padr\u00e3o de n\u00famero. Exemplo: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' n\u00e3o pode ser entendida como um valor monet\u00e1rio.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como um valor monet\u00e1rio. Exemplo: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' n\u00e3o pode ser entendida como uma porcentagem.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' n\u00e3o pode ser entendida como uma porcentagem. Exemplo: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' n\u00e3o \u00e9 um n\u00famero.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' n\u00e3o \u00e9 um n\u00famero. Exemplo: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' n\u00e3o \u00e9 um padr\u00e3o de n\u00famero.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' n\u00e3o \u00e9 um padr\u00e3o de n\u00famero. Exemplo: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: Erro de convers\u00e3o
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
+jakarta.faces.converter.ShortConverter.SHORT = {2}: Erro de convers\u00e3o
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: O valor especificado n\u00e3o \u00e9 um n\u00famero v\u00e1lido.
 
-javax.faces.converter.STRING = {1}: N\u00e3o foi poss\u00edvel converter ''{0}'' em uma sequ\u00eancia.
+jakarta.faces.converter.STRING = {1}: N\u00e3o foi poss\u00edvel converter ''{0}'' em uma sequ\u00eancia.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Erro de valida\u00e7\u00e3o: O atributo especificador n\u00e3o est\u00e1 entre os valores esperados {0} e {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Erro de valida\u00e7\u00e3o: O atributo especificador n\u00e3o est\u00e1 entre os valores esperados {0} e {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 maior que o m\u00e1ximo permitido de ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 menor que o m\u00ednimo permitido de ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Erro de valida\u00e7\u00e3o: O atributo especificado n\u00e3o pode ser convertido para o tipo apropriado.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 do tipo correto.
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 maior que o m\u00e1ximo permitido de ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 menor que o m\u00ednimo permitido de ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Erro de valida\u00e7\u00e3o: O atributo especificado n\u00e3o pode ser convertido para o tipo apropriado.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 do tipo correto.
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 mais longo do que o m\u00e1ximo permitido de {0} caracteres.
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 mais curto do que o m\u00ednimo permitido de {0} caracteres.
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 mais longo do que o m\u00e1ximo permitido de {0} caracteres.
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 mais curto do que o m\u00ednimo permitido de {0} caracteres.
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 maior que o m\u00e1ximo permitido de ''{0}''.
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 menor que o m\u00ednimo permitido de ''{0}''.
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = Erro de valida\u00e7\u00e3o: O atributo especificado n\u00e3o pode ser convertido para o tipo apropriado.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 do tipo correto.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 maior que o m\u00e1ximo permitido de ''{0}''.
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Erro de valida\u00e7\u00e3o: O valor \u00e9 menor que o m\u00ednimo permitido de ''{0}''.
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = Erro de valida\u00e7\u00e3o: O atributo especificado n\u00e3o pode ser convertido para o tipo apropriado.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Erro de valida\u00e7\u00e3o: O valor n\u00e3o \u00e9 do tipo correto.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Erro de valida\u00e7\u00e3o: Erro de valida\u00e7\u00e3o: Valor n\u00e3o de acordo com o padr\u00e3o ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = Um padr\u00e3o deve ser definido para validar.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = O padr\u00e3o n\u00e3o \u00e9 uma express\u00e3o regular v\u00e1lida.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Erro de valida\u00e7\u00e3o: Erro de valida\u00e7\u00e3o: Valor n\u00e3o de acordo com o padr\u00e3o ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = Um padr\u00e3o deve ser definido para validar.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = O padr\u00e3o n\u00e3o \u00e9 uma express\u00e3o regular v\u00e1lida.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Erro de valida\u00e7\u00e3o
diff --git a/api/src/main/resources/jakarta/faces/Messages_ru.properties b/api/src/main/resources/jakarta/faces/Messages_ru.properties
index 09aef71..08d454e 100644
--- a/api/src/main/resources/jakarta/faces/Messages_ru.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_ru.properties
@@ -15,80 +15,80 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.component.UIInput.CONVERSION_detail = {0}: \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f.
-javax.faces.component.UIInput.REQUIRED        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.component.UIInput.REQUIRED_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c.
+jakarta.faces.component.UIInput.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.component.UIInput.CONVERSION_detail = {0}: \u041f\u0440\u043e\u0438\u0437\u043e\u0448\u043b\u0430 \u043e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f.
+jakarta.faces.component.UIInput.REQUIRED        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.component.UIInput.REQUIRED_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043e\u0431\u044f\u0437\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u043c.
 
-javax.faces.component.UISelectOne.INVALID        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.component.UISelectOne.INVALID_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439.
-javax.faces.component.UISelectMany.INVALID        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.component.UISelectMany.INVALID_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439.
+jakarta.faces.component.UISelectOne.INVALID        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.component.UISelectOne.INVALID_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439.
+jakarta.faces.component.UISelectMany.INVALID        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.component.UISelectMany.INVALID_detail = {0}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u043e\u043f\u0446\u0438\u0435\u0439.
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.BooleanConverter.BOOLEAN        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c '{0}' \u0432 \u0442\u0438\u043f Boolean.
+jakarta.faces.converter.BooleanConverter.BOOLEAN        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: \u041d\u0435\u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u0442\u044c '{0}' \u0432 \u0442\u0438\u043f Boolean.
 
-javax.faces.converter.ByteConverter.BYTE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: '{0}' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 \u0442\u0438\u043f Byte.
+jakarta.faces.converter.ByteConverter.BYTE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: '{0}' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 \u0442\u0438\u043f Byte.
 
-javax.faces.converter.CharacterConverter.CHARACTER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.CharacterConverter.CHARACTER_detail = '{0}' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 \u0442\u0438\u043f Character.
+jakarta.faces.converter.CharacterConverter.CHARACTER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = '{0}' \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u0432 \u0442\u0438\u043f Character.
 
-javax.faces.converter.DateTimeConverter.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.DateTimeConverter.CONVERSION_detail = "{1}": \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0434\u0430\u0442\u043e\u0439/\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c .
+jakarta.faces.converter.DateTimeConverter.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.DateTimeConverter.CONVERSION_detail = "{1}": \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e\u0439 \u0434\u0430\u0442\u043e\u0439/\u0432\u0440\u0435\u043c\u0435\u043d\u0435\u043c .
 
-javax.faces.converter.DoubleConverter.DOUBLE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.DoubleConverter.DOUBLE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
 
-javax.faces.converter.FloatConverter.FLOAT        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.FloatConverter.FLOAT        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.IntegerConverter.INTEGER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.IntegerConverter.INTEGER        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.LongConverter.LONG        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.LongConverter.LONG_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.LongConverter.LONG        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.NumberConverter.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.NumberConverter.CONVERSION_detail = "{0}": \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.NumberConverter.CONVERSION        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.NumberConverter.CONVERSION_detail = "{0}": \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
-javax.faces.converter.ShortConverter.SHORT        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.ShortConverter.SHORT        = \u041e\u0448\u0438\u0431\u043a\u0430 \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d\u0438\u044f
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u043e\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043d\u0435 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.NOT_IN_RANGE_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 {0} \u0438 {1}.
-
-javax.faces.validator.DoubleRangeValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''.
-javax.faces.validator.DoubleRangeValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c ''{0}''.
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u043a \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0442\u0438\u043f\u0443.
-javax.faces.validator.DoubleRangeValidator.TYPE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.
-
-javax.faces.validator.LengthValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LengthValidator.MAXIMUM_detail = {1}: \u0414\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 {0} \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.
-javax.faces.validator.LengthValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LengthValidator.MINIMUM_detail = {1}: \u0414\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0432 {0} \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.
-
-javax.faces.validator.LongRangeValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c "{0}".
-javax.faces.validator.LongRangeValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c "{0}".
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u043a \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0442\u0438\u043f\u0443.
-javax.faces.validator.LongRangeValidator.TYPE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
-javax.faces.validator.LongRangeValidator.TYPE_detail = {0}: \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.
+jakarta.faces.validator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.NOT_IN_RANGE_detail = {2}: \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043d\u0430\u0445\u043e\u0434\u0438\u0442\u0441\u044f \u043c\u0435\u0436\u0434\u0443 \u043e\u0436\u0438\u0434\u0430\u0435\u043c\u044b\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 {0} \u0438 {1}.
+
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c ''{0}''.
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE_detail = \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u043a \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0442\u0438\u043f\u0443.
+jakarta.faces.validator.DoubleRangeValidator.TYPE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.DoubleRangeValidator.TYPE_detail = {0}: \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.
+
+jakarta.faces.validator.LengthValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LengthValidator.MAXIMUM_detail = {1}: \u0414\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u0431\u043e\u043b\u044c\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c\u0430 \u0432 {0} \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.
+jakarta.faces.validator.LengthValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LengthValidator.MINIMUM_detail = {1}: \u0414\u043b\u0438\u043d\u0430 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f \u043c\u0435\u043d\u044c\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0438\u043d\u0438\u043c\u0443\u043c\u0430 \u0432 {0} \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u0432.
+
+jakarta.faces.validator.LongRangeValidator.MAXIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LongRangeValidator.MAXIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u0431\u043e\u043b\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c "{0}".
+jakarta.faces.validator.LongRangeValidator.MINIMUM        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LongRangeValidator.MINIMUM_detail = {1}: \u0417\u043d\u0430\u0447\u0435\u043d\u0438\u0435 \u043c\u0435\u043d\u044c\u0448\u0435 \u0447\u0435\u043c \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u043c\u0438\u043d\u0438\u043c\u0443\u043c "{0}".
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE_detail = \u0423\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u043f\u0440\u0435\u043e\u0431\u0440\u0430\u0437\u043e\u0432\u0430\u043d \u043a \u043f\u043e\u0434\u0445\u043e\u0434\u044f\u0449\u0435\u043c\u0443 \u0442\u0438\u043f\u0443.
+jakarta.faces.validator.LongRangeValidator.TYPE        = \u041e\u0448\u0438\u0431\u043a\u0430 \u0432\u0430\u043b\u0438\u0434\u0430\u0446\u0438\u0438
+jakarta.faces.validator.LongRangeValidator.TYPE_detail = {0}: \u041d\u0435\u043a\u043e\u0440\u0440\u0435\u043a\u0442\u043d\u044b\u0439 \u0442\u0438\u043f \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f.
 
 
 
diff --git a/api/src/main/resources/jakarta/faces/Messages_sk.properties b/api/src/main/resources/jakarta/faces/Messages_sk.properties
index 72f6f66..eaabb04 100755
--- a/api/src/main/resources/jakarta/faces/Messages_sk.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_sk.properties
@@ -15,87 +15,87 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: Nastala chyba pri konverzii hodn\u00f4t.
-javax.faces.component.UIInput.REQUIRED = {0}: Chyba pri kontrole platnosti: Hodnota pol\u00ed\u010dka je nutn\u00e9 vyplni\u0165.
-javax.faces.component.UIInput.UPDATE = {0}\: Nastala chyba pri spracovan\u00ed odoslan\u00fdch inform\u00e1ci\u00ed. 
+jakarta.faces.component.UIInput.CONVERSION = {0}: Nastala chyba pri konverzii hodn\u00f4t.
+jakarta.faces.component.UIInput.REQUIRED = {0}: Chyba pri kontrole platnosti: Hodnota pol\u00ed\u010dka je nutn\u00e9 vyplni\u0165.
+jakarta.faces.component.UIInput.UPDATE = {0}\: Nastala chyba pri spracovan\u00ed odoslan\u00fdch inform\u00e1ci\u00ed. 
 
-javax.faces.component.UISelectOne.INVALID = {0}: Chyba pri kontrole platnosti: Hodnota nie je platn\u00e1
-javax.faces.component.UISelectMany.INVALID = {0}: Chyba pri kontrole platnosti: Hodnota nie je platn\u00e1
+jakarta.faces.component.UISelectOne.INVALID = {0}: Chyba pri kontrole platnosti: Hodnota nie je platn\u00e1
+jakarta.faces.component.UISelectMany.INVALID = {0}: Chyba pri kontrole platnosti: Hodnota nie je platn\u00e1
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslom v desiatkovej s\u00fastave (m\u00f4\u017ee obsahova\u0165 znamienko).
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslom v desiatkovej s\u00fastave zlo\u017een\u00e9 z nula alebo viacerych \u010d\u00edslic, za ktor\u00fdmi m\u00f4\u017ee nasledova\u0165 desatinn\u00e1 \u010diarka. Pr\u00edklad: {1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslom v desiatkovej s\u00fastave (m\u00f4\u017ee obsahova\u0165 znamienko).
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslom v desiatkovej s\u00fastave zlo\u017een\u00e9 z nula alebo viacerych \u010d\u00edslic, za ktor\u00fdmi m\u00f4\u017ee nasledova\u0165 desatinn\u00e1 \u010diarka. Pr\u00edklad: {1}
  
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic. Pr\u00edklad: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic. Pr\u00edklad: {1}
  
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' mus\u00ed by\u0165 hodnota '\u00e1no' alebo 'nie'.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' mus\u00ed by\u0165 hodnota '\u00e1no' alebo 'nie'. Hodnota in\u00e1 ako '\u00e1no' sa bude pova\u017eova\u0165 za 'nie'.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' mus\u00ed by\u0165 hodnota '\u00e1no' alebo 'nie'.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' mus\u00ed by\u0165 hodnota '\u00e1no' alebo 'nie'. Hodnota in\u00e1 ako '\u00e1no' sa bude pova\u017eova\u0165 za 'nie'.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo medzi 0 a 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo medzi 0 a 255. Pr\u00edklad: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo medzi 0 a 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo medzi 0 a 255. Pr\u00edklad: {1}
  
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' mus\u00ed by\u0165 platn\u00fdm znakom.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' mus\u00ed by\u0165 platn\u00fdm ASCII znakom.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' mus\u00ed by\u0165 platn\u00fdm znakom.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' mus\u00ed by\u0165 platn\u00fdm ASCII znakom.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu. Pr\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' nie je v platnom form\u00e1te \u010dasu.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te \u010dasu. Pr\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu a \u010dasu.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu a \u010dasu. Pr\u00edklad\: {1} 
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Atrib\u00fat '\u0161abl\u00f3na' alebo 'typ' musia by\u0165 zadan\u00e9, aby sa hodnota ''{0}'' mohla konvertova\u0165.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu. Pr\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' nie je v platnom form\u00e1te \u010dasu.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te \u010dasu. Pr\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu a \u010dasu.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}\: ''{0}'' nie je v platnom form\u00e1te d\u00e1tumu a \u010dasu. Pr\u00edklad\: {1} 
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: Atrib\u00fat '\u0161abl\u00f3na' alebo 'typ' musia by\u0165 zadan\u00e9, aby sa hodnota ''{0}'' mohla konvertova\u0165.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 alebo desatinn\u00e9 \u010d\u00edslo.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi 4,9E-324 a 1,7976931348623157E308  Pr\u00edklad\: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 alebo desatinn\u00e9 \u010d\u00edslo.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi 4,9E-324 a 1,7976931348623157E308  Pr\u00edklad\: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zo zoznamu hodn\u00f4t.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zo zoznamu hodn\u00f4t (enum), ktor\u00fd obsahuje kon\u0161tantu ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zoznamu hodn\u00f4t, ale trieda zoznamu nebola poskytnut\u00e1.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zoznamu hodn\u00f4t (enum), ale trieda zoznamu nebola poskytnut\u00e1.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zo zoznamu hodn\u00f4t.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zo zoznamu hodn\u00f4t (enum), ktor\u00fd obsahuje kon\u0161tantu ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zoznamu hodn\u00f4t, ale trieda zoznamu nebola poskytnut\u00e1.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' hodnota sa mus\u00ed da\u0165 previes\u0165 na polo\u017eku zoznamu hodn\u00f4t (enum), ale trieda zoznamu nebola poskytnut\u00e1.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 alebo desatinn\u00e9 \u010d\u00edslo.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi 1,4E-45 a 3,4028235E38  Pr\u00edklad: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 alebo desatinn\u00e9 \u010d\u00edslo.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi 1,4E-45 a 3,4028235E38  Pr\u00edklad: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -2147483648 a 2147483647 Pr\u00edklad: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -2147483648 a 2147483647 Pr\u00edklad: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -9223372036854775808 a 9223372036854775807 Pr\u00edklad: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -9223372036854775808 a 9223372036854775807 Pr\u00edklad: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' nie je v platnom form\u00e1te ceny.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' nie je v platnom form\u00e1te ceny. Pr\u00edklad: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' nie je percentu\u00e1lna hodnota.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' nie je percentu\u00e1lna hodnota. Pr\u00edklad: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' nie je \u010d\u00edslo.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' nie je \u010d\u00edslo. Pr\u00edklad: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' nem\u00e1 spr\u00e1vny form\u00e1t \u010d\u00edsla.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' nem\u00e1 spr\u00e1vny form\u00e1t \u010d\u00edsla. Pr\u00edklad: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' nie je v platnom form\u00e1te ceny.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' nie je v platnom form\u00e1te ceny. Pr\u00edklad: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' nie je percentu\u00e1lna hodnota.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' nie je percentu\u00e1lna hodnota. Pr\u00edklad: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' nie je \u010d\u00edslo.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' nie je \u010d\u00edslo. Pr\u00edklad: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' nem\u00e1 spr\u00e1vny form\u00e1t \u010d\u00edsla.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' nem\u00e1 spr\u00e1vny form\u00e1t \u010d\u00edsla. Pr\u00edklad: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -32768 a 32767 Pr\u00edklad: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' mus\u00ed by\u0165 cel\u00e9 \u010d\u00edslo zlo\u017een\u00e9 z jednej alebo viacerych \u010d\u00edslic.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' mus\u00ed by\u0165 \u010d\u00edslo medzi -32768 a 32767 Pr\u00edklad: {1}
 
-javax.faces.converter.STRING = {1}: Nepodarilo sa previes\u0165 ''{0}'' na text.
+jakarta.faces.converter.STRING = {1}: Nepodarilo sa previes\u0165 ''{0}'' na text.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
+jakarta.faces.validator.NOT_IN_RANGE = Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum "{0}"
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: Chyba pri kontrole platnosti: Hodnota nie je spr\u00e1vneho typu.
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum "{0}"
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: Chyba pri kontrole platnosti: Hodnota nie je spr\u00e1vneho typu.
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum ''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum ''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: Chyba pri kontrole platnosti: Hodnota nie je spr\u00e1vneho typu.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je vy\u0161\u0161ia ako pr\u00edpustn\u00e9 maximum ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: Chyba pri kontrole platnosti: Hodnota je ni\u017e\u0161ia ako pr\u00edpustn\u00e9 minimum ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: Chyba pri kontrole platnosti: Zadan\u00e1 hodnota nespad\u00e1 do intervalu medzi {0} a {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: Chyba pri kontrole platnosti: Hodnota nie je spr\u00e1vneho typu.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: Chyba pri kontrole platnosti: Hodnota nepasuju na regul\u00e1rny v\u00fdraz ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u0160abl\u00f3na pre kontrolu mus\u00ed by\u0165 zadan\u00e1.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = Zadan\u00e1 \u0161abl\u00f3na nie je platn\u00fdm regul\u00e1rnym v\u00fdrazom.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: Chyba pri kontrole platnosti: Hodnota nepasuju na regul\u00e1rny v\u00fdraz ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u0160abl\u00f3na pre kontrolu mus\u00ed by\u0165 zadan\u00e1.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = Zadan\u00e1 \u0161abl\u00f3na nie je platn\u00fdm regul\u00e1rnym v\u00fdrazom.
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = Chyba pri kontrole platnosti
diff --git a/api/src/main/resources/jakarta/faces/Messages_uk.properties b/api/src/main/resources/jakarta/faces/Messages_uk.properties
index 39da1b3..6b3b6c2 100644
--- a/api/src/main/resources/jakarta/faces/Messages_uk.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_uk.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f
-javax.faces.component.UIInput.REQUIRED = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043e\u0431\u043e\u0432'\u044f\u0437\u043a\u043e\u0432\u0435.
-javax.faces.component.UIInput.UPDATE = {0}: \u041f\u0456\u0434 \u0447\u0430\u0441 \u043e\u0431\u0440\u043e\u0431\u043a\u0438 \u043f\u043e\u0434\u0430\u043d\u043e\u0457 \u0432\u0430\u043c\u0438 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0441\u0442\u0430\u043b\u0430\u0441\u044f \u043f\u043e\u043c\u0438\u043b\u043a\u0430.
+jakarta.faces.component.UIInput.CONVERSION = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f
+jakarta.faces.component.UIInput.REQUIRED = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043e\u0431\u043e\u0432'\u044f\u0437\u043a\u043e\u0432\u0435.
+jakarta.faces.component.UIInput.UPDATE = {0}: \u041f\u0456\u0434 \u0447\u0430\u0441 \u043e\u0431\u0440\u043e\u0431\u043a\u0438 \u043f\u043e\u0434\u0430\u043d\u043e\u0457 \u0432\u0430\u043c\u0438 \u0456\u043d\u0444\u043e\u0440\u043c\u0430\u0446\u0456\u0457 \u0441\u0442\u0430\u043b\u0430\u0441\u044f \u043f\u043e\u043c\u0438\u043b\u043a\u0430.
 
-javax.faces.component.UISelectOne.INVALID = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435\u0434\u0456\u0439\u0441\u043d\u0435
-javax.faces.component.UISelectMany.INVALID = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435\u0434\u0456\u0439\u0441\u043d\u0435
+jakarta.faces.component.UISelectOne.INVALID = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435\u0434\u0456\u0439\u0441\u043d\u0435
+jakarta.faces.component.UISelectMany.INVALID = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435\u0434\u0456\u0439\u0441\u043d\u0435
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043d\u0443\u043b\u044f \u0430\u0431\u043e \u0431\u0456\u043b\u044c\u0448\u0435 \u0446\u0438\u0444\u0440, \u0437\u0430 \u044f\u043a\u0438\u043c\u0438 \u043c\u043e\u0 [...]
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0435\u0441\u044f\u0442\u043a\u043e\u0432\u0438\u043c \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043d\u0443\u043b\u044f \u0430\u0431\u043e \u0431\u0456\u043b\u044c\u0448\u0435 \u0446\u0438\u0444\u0440, \u0437\u0430 \u044f\u043a\u0438\u043c\u0438 \u043c\u043e\ [...]
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 ''\u0442\u0430\u043a'' \u0430\u0431\u043e ''\u043d\u0456''.
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 ''\u0442\u0430\u043a'' \u0430\u0431\u043e ''\u043d\u0456''. \u0411\u0443\u0434\u044c-\u044f\u043a\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f, \u043e\u043a\u0440\u0456\u043c ''\u0442\u0430\u043a'', \u0431\u0443\u0434\u0435 \u043e\u0446\u0456\u043d\u0435\u043d\u043e \u044f\u043a ''\u043d\u0456''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 ''\u0442\u0430\u043a'' \u0430\u0431\u043e ''\u043d\u0456''.
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 ''\u0442\u0430\u043a'' \u0430\u0431\u043e ''\u043d\u0456''. \u0411\u0443\u0434\u044c-\u044f\u043a\u0435 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f, \u043e\u043a\u0440\u0456\u043c ''\u0442\u0430\u043a'', \u0431\u0443\u0434\u0435 \u043e\u0446\u0456\u043d\u0435\u043d\u043e \u044f\u043a ''\u043d\u0456''.
 
-javax.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u0456\u0434 0 \u0434\u043e 255.
-javax.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u0456\u0434 0 \u0434\u043e 255. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u0456\u0434 0 \u0434\u043e 255.
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u0432\u0456\u0434 0 \u0434\u043e 255. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c.
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c ASCII \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c.
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c.
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u0435\u043d \u0431\u0443\u0442\u0438 \u0434\u0456\u0439\u0441\u043d\u0438\u043c ASCII \u0441\u0438\u043c\u0432\u043e\u043b\u043e\u043c.
 
-javax.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430.
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0447\u0430\u0441.
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0447\u0430\u0441. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441.
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f ''{0}'' \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0432\u043a\u0430\u0437\u0430\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''pattern'' \u0430\u0431\u043e ''type''.
+jakarta.faces.converter.DateTimeConverter.DATE = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430.
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0447\u0430\u0441.
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0447\u0430\u0441. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441.
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0434\u0430\u0442\u0430 \u0456 \u0447\u0430\u0441. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}: \u0414\u043b\u044f \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0435\u043d\u043d\u044f \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f ''{0}'' \u043d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0432\u043a\u0430\u0437\u0430\u0442\u0438 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 ''pattern'' \u0430\u0431\u043e ''type''.
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 4.9E-324 \u0442\u0430 1.7976931348623157E308  \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 4.9E-324 \u0442\u0430 1.7976931348623157E308  \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u043e \u0432 enum.
-javax.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u044f\u043a\u0438\u0439 \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 ''{1}''.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u0430\u043b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u043e enum \u043a\u043b\u0430\u0441\u0443.
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u0430\u043b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u043e enum \u043a\u043b\u0430\u0441\u0443.
+jakarta.faces.converter.EnumConverter.ENUM = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u043e \u0432 enum.
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u044f\u043a\u0438\u0439 \u043c\u0456\u0441\u0442\u0438\u0442\u044c \u043a\u043e\u043d\u0441\u0442\u0430\u043d\u0442\u0443 ''{1}''.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u0430\u043b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u043e enum \u043a\u043b\u0430\u0441\u0443.
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u043a\u043e\u043d\u0432\u0435\u0440\u0442\u043e\u0432\u0430\u043d\u0435 \u0432 enum \u0437 enum, \u0430\u043b\u0435 \u043d\u0435 \u043f\u0435\u0440\u0435\u0434\u0431\u0430\u0447\u0435\u043d\u043e enum \u043a\u043b\u0430\u0441\u0443.
 
-javax.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 1.4E-45 \u0442\u0430 3.4028235E38  \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 1.4E-45 \u0442\u0430 3.4028235E38  \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -2147483648 \u0442\u0430 2147483647 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -2147483648 \u0442\u0430 2147483647 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.LongConverter.LONG = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -9223372036854775808 \u0442\u0430 9223372036854775807 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.LongConverter.LONG = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.LongConverter.LONG_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -9223372036854775808 \u0442\u0430 9223372036854775807 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0432\u0430\u043b\u044e\u0442\u0438.
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0432\u0430\u043b\u044e\u0442\u0438. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0432\u0456\u0434\u0441\u043e\u0442\u043e\u043a.
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0432\u0456\u0434\u0441\u043e\u0442\u043e\u043a. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u043c.
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u043c. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
-javax.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u044e \u0441\u0445\u0435\u043c\u043e\u044e.
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u044e \u0441\u0445\u0435\u043c\u043e\u044e. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0432\u0430\u043b\u044e\u0442\u0438.
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u0432\u0430\u043b\u044e\u0442\u0438. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0432\u0456\u0434\u0441\u043e\u0442\u043e\u043a.
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}: ''{0}'' \u043d\u0435 \u043c\u043e\u0436\u0435 \u0431\u0443\u0442\u0438 \u0437\u0440\u043e\u0437\u0443\u043c\u0456\u043b\u0435 \u044f\u043a \u0432\u0456\u0434\u0441\u043e\u0442\u043e\u043a. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u043c.
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u043c. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u044e \u0441\u0445\u0435\u043c\u043e\u044e.
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}: ''{0}'' \u043d\u0435 \u0454 \u0447\u0438\u0441\u043b\u043e\u0432\u043e\u044e \u0441\u0445\u0435\u043c\u043e\u044e. \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
-javax.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -32768 \u0442\u0430 32767 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c, \u0449\u043e \u0441\u043a\u043b\u0430\u0434\u0430\u0454\u0442\u044c\u0441\u044f \u0437 \u043e\u0434\u043d\u0456\u0454\u0457 \u0430\u0431\u043e \u0434\u0435\u043a\u0456\u043b\u044c\u043a\u043e\u0445 \u0446\u0438\u0444\u0440.
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}: ''{0}'' \u043f\u043e\u0432\u0438\u043d\u043d\u043e \u0431\u0443\u0442\u0438 \u0447\u0438\u0441\u043b\u043e\u043c \u043c\u0456\u0436 -32768 \u0442\u0430 32767 \u041f\u0440\u0438\u043a\u043b\u0430\u0434: {1}
 
-javax.faces.converter.STRING = {1}: \u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0438\u0442\u0438 ''{0}'' \u0443 \u0440\u044f\u0434\u043e\u043a.
+jakarta.faces.converter.STRING = {1}: \u041d\u0435 \u0432\u0434\u0430\u043b\u043e\u0441\u044f \u043f\u0435\u0440\u0435\u0442\u0432\u043e\u0440\u0438\u0442\u0438 ''{0}'' \u0443 \u0440\u044f\u0434\u043e\u043a.
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0412\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
+jakarta.faces.validator.NOT_IN_RANGE = \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0412\u043a\u0430\u0437\u0430\u043d\u0438\u0439 \u0430\u0442\u0440\u0438\u0431\u0443\u0442 \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u043c \u0442\u0438\u043f\u043e\u043c
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u043c \u0442\u0438\u043f\u043e\u043c
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0414\u043e\u0432\u0436\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
-javax.faces.validator.LengthValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0414\u043e\u0432\u0436\u0438\u043d\u0430 \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0414\u043e\u0432\u0436\u0438\u043d\u0430 \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0414\u043e\u0432\u0436\u0438\u043d\u0430 \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
-javax.faces.validator.LongRangeValidator.TYPE = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u043c \u0442\u0438\u043f\u043e\u043c.
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043f\u0435\u0440\u0435\u0432\u0438\u0449\u0443\u0454 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u0438\u0439 \u043c\u0430\u043a\u0441\u0438\u043c\u0443\u043c ''{0}''
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043c\u0435\u043d\u0448\u0435 \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u043e\u0433\u043e \u043c\u0456\u043d\u0456\u043c\u0443\u043c\u0443 ''{0}''
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u043d\u0430\u0445\u043e\u0434\u0438\u0442\u044c\u0441\u044f \u043c\u0456\u0436 \u043e\u0447\u0456\u043a\u0443\u0432\u0430\u043d\u0438\u043c\u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u043d\u044f\u043c\u0438 {0} \u0442\u0430 {1}.
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0454 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u0438\u043c \u0442\u0438\u043f\u043e\u043c.
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u0430 \u0437\u0440\u0430\u0437\u043a\u043e\u043c ''{0}''
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u041d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438.
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = \u0428\u0430\u0431\u043b\u043e\u043d \u043d\u0435 \u0454 \u0434\u0456\u0439\u0441\u043d\u0438\u043c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0438\u043c \u0432\u0438\u0440\u0430\u0437\u043e\u043c.
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}: \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438: \u0417\u043d\u0430\u0447\u0435\u043d\u043d\u044f \u043d\u0435 \u0437\u0430 \u0437\u0440\u0430\u0437\u043a\u043e\u043c ''{0}''
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u041d\u0435\u043e\u0431\u0445\u0456\u0434\u043d\u043e \u0432\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0438 \u0448\u0430\u0431\u043b\u043e\u043d \u0434\u043b\u044f \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438.
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = \u0428\u0430\u0431\u043b\u043e\u043d \u043d\u0435 \u0454 \u0434\u0456\u0439\u0441\u043d\u0438\u043c \u0440\u0435\u0433\u0443\u043b\u044f\u0440\u043d\u0438\u043c \u0432\u0438\u0440\u0430\u0437\u043e\u043c.
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}: {0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}: {0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = \u041f\u043e\u043c\u0438\u043b\u043a\u0430 \u043f\u0435\u0440\u0435\u0432\u0456\u0440\u043a\u0438
diff --git a/api/src/main/resources/jakarta/faces/Messages_zh_CN.properties b/api/src/main/resources/jakarta/faces/Messages_zh_CN.properties
index 9b5f72e..5796e2c 100644
--- a/api/src/main/resources/jakarta/faces/Messages_zh_CN.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_zh_CN.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}\uff1a\u53d1\u751f\u4e86\u8f6c\u6362\u9519\u8bef\u3002
-javax.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u662f\u5fc5\u9700\u7684\u3002
-javax.faces.component.UIInput.UPDATE = {0}\uff1a\u5904\u7406\u60a8\u63d0\u4ea4\u7684\u4fe1\u606f\u65f6\u53d1\u751f\u9519\u8bef\u3002
+jakarta.faces.component.UIInput.CONVERSION = {0}\uff1a\u53d1\u751f\u4e86\u8f6c\u6362\u9519\u8bef\u3002
+jakarta.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u662f\u5fc5\u9700\u7684\u3002
+jakarta.faces.component.UIInput.UPDATE = {0}\uff1a\u5904\u7406\u60a8\u63d0\u4ea4\u7684\u4fe1\u606f\u65f6\u53d1\u751f\u9519\u8bef\u3002
 
-javax.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u65e0\u6548\u3002
-javax.faces.component.UISelectMany.INVALID = {0}\uff1a \u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u65e0\u6548\u3002
+jakarta.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u65e0\u6548\u3002
+jakarta.faces.component.UISelectMany.INVALID = {0}\uff1a \u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u65e0\u6548\u3002
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5e26\u7b26\u53f7\u5341\u8fdb\u5236\u6570\u3002
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u96f6\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u5e26\u7b26\u53f7\u5341\u8fdb\u5236\u6570\uff0c\u540e\u9762\u8fd8\u53ef\u80fd\u8ddf\u6709\u5c0f\u6570\u70b9\u548c\u5c0f\u6570\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5e26\u7b26\u53f7\u5341\u8fdb\u5236\u6570\u3002
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u96f6\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u5e26\u7b26\u53f7\u5341\u8fdb\u5236\u6570\uff0c\u540e\u9762\u8fd8\u53ef\u80fd\u8ddf\u6709\u5c0f\u6570\u70b9\u548c\u5c0f\u6570\u3002\u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u201ctrue\u201d\u6216\u201cfalse\u201d\u3002
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u201ctrue\u201d\u6216\u201cfalse\u201d\u3002\u4efb\u4f55\u201ctrue\u201d\u4ee5\u5916\u7684\u503c\u5c06\u6c42\u503c\u4e3a\u201cfalse\u201d\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u201ctrue\u201d\u6216\u201cfalse\u201d\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u201ctrue\u201d\u6216\u201cfalse\u201d\u3002\u4efb\u4f55\u201ctrue\u201d\u4ee5\u5916\u7684\u503c\u5c06\u6c42\u503c\u4e3a\u201cfalse\u201d\u3002
 
-javax.faces.converter.ByteConverter.BYTE = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 0 \u548c 255 \u4e4b\u95f4\u7684\u6570\u5b57\u3002
-javax.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 0 \u548c 255 \u4e4b\u95f4\u7684\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 0 \u548c 255 \u4e4b\u95f4\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 0 \u548c 255 \u4e4b\u95f4\u7684\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u6709\u6548\u5b57\u7b26\u3002
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u6709\u6548 ASCII \u5b57\u7b26\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u6709\u6548\u5b57\u7b26\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u6709\u6548 ASCII \u5b57\u7b26\u3002
 
-javax.faces.converter.DateTimeConverter.DATE = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u3002
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.DateTimeConverter.TIME = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65f6\u95f4\u3002
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65f6\u95f4\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u548c\u65f6\u95f4\u3002
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u548c\u65f6\u95f4\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}\uff1a\u5fc5\u987b\u5148\u6307\u5b9a\u201c\u6a21\u5f0f\u201d\u6216\u201c\u7c7b\u578b\u201d\u5c5e\u6027\uff0c\u624d\u80fd\u8f6c\u6362\u503c\u201c{0}\u201d\u3002
+jakarta.faces.converter.DateTimeConverter.DATE = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u3002
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65f6\u95f4\u3002
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65f6\u95f4\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u548c\u65f6\u95f4\u3002
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u65e5\u671f\u548c\u65f6\u95f4\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = {1}\uff1a\u5fc5\u987b\u5148\u6307\u5b9a\u201c\u6a21\u5f0f\u201d\u6216\u201c\u7c7b\u578b\u201d\u5c5e\u6027\uff0c\u624d\u80fd\u8f6c\u6362\u503c\u201c{0}\u201d\u3002
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 4.9E-324 \u548c 1.7976931348623157E308 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 4.9E-324 \u548c 1.7976931348623157E308 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u8f6c\u6362\u4e3a\u679a\u4e3e\u3002
-javax.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u5305\u542b\u5e38\u91cf\u201c{1}\u201d\u7684\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u8be5\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\uff0c\u4f46\u672a\u63d0\u4f9b\u679a\u4e3e\u7c7b\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u8be5\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\uff0c\u4f46\u672a\u63d0\u4f9b\u679a\u4e3e\u7c7b\u3002
+jakarta.faces.converter.EnumConverter.ENUM = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u8f6c\u6362\u4e3a\u679a\u4e3e\u3002
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u5305\u542b\u5e38\u91cf\u201c{1}\u201d\u7684\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u8be5\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\uff0c\u4f46\u672a\u63d0\u4f9b\u679a\u4e3e\u7c7b\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a\u201c{0}\u201d\u5fc5\u987b\u53ef\u4ece\u8be5\u679a\u4e3e\u8f6c\u6362\u4e3a\u679a\u4e3e\uff0c\u4f46\u672a\u63d0\u4f9b\u679a\u4e3e\u7c7b\u3002
 
-javax.faces.converter.FloatConverter.FLOAT = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 1.4E-45 \u548c 3.4028235E38 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a 1.4E-45 \u548c 3.4028235E38 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -2147483648 \u548c 2147483647 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -2147483648 \u548c 2147483647 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.LongConverter.LONG = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.LongConverter.LONG_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -9223372036854775808 \u548c 9223372036854775807 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.LongConverter.LONG = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.LongConverter.LONG_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -9223372036854775808 \u548c 9223372036854775807 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u8d27\u5e01\u503c\u3002
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u8d27\u5e01\u503c\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.NumberConverter.PERCENT = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u767e\u5206\u6bd4\u3002
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u767e\u5206\u6bd4\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.NumberConverter.NUMBER = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u3002
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
-javax.faces.converter.NumberConverter.PATTERN = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u6a21\u5f0f\u3002
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u6a21\u5f0f\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u8d27\u5e01\u503c\u3002
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u8d27\u5e01\u503c\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u767e\u5206\u6bd4\u3002
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u7406\u89e3\u4e3a\u767e\u5206\u6bd4\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u3002
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u3002\u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u6a21\u5f0f\u3002
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a\u201c{0}\u201d\u4e0d\u662f\u6570\u5b57\u6a21\u5f0f\u3002\u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
-javax.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -32768 \u548c 32767 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a\u5305\u542b\u4e00\u4e2a\u6216\u591a\u4e2a\u4f4d\u7684\u6570\u5b57\u3002
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a\u201c{0}\u201d\u5fc5\u987b\u4e3a -32768 \u548c 32767 \u4e4b\u95f4\u7684\u6570\u5b57 \u793a\u4f8b\uff1a{1}
 
-javax.faces.converter.STRING = {1}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002
+jakarta.faces.converter.STRING = {1}\uff1a\u65e0\u6cd5\u5c06\u201c{0}\u201d\u8f6c\u6362\u4e3a\u5b57\u7b26\u4e32\u3002
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = \u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
+jakarta.faces.validator.NOT_IN_RANGE = \u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u7684\u7c7b\u578b\u4e0d\u6b63\u786e\u3002
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u7684\u7c7b\u578b\u4e0d\u6b63\u786e\u3002
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u9577\u5ea6\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
-javax.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u9577\u5ea6\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u9577\u5ea6\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u9577\u5ea6\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
-javax.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u7684\u7c7b\u578b\u4e0d\u6b63\u786e\u3002
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5927\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5927\u503c\u3002
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u5c0f\u4e8e\u5141\u8bb8\u7684\u201c{0}\u201d\u7684\u6700\u5c0f\u503c\u3002
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u6307\u5b9a\u7684\u5c5e\u6027\u4e0d\u5728\u671f\u671b\u7684\u503c {0} \u548c {1} \u4e4b\u95f4\u3002
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u7684\u7c7b\u578b\u4e0d\u6b63\u786e\u3002
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u4e0d\u7b26\u5408\u6a21\u5f0f\u201c{0}\u201d\u3002
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u987b\u8bbe\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a8c\u8bc1\u3002
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = \u8fd9\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u89c4\u8868\u8fbe\u5f0f\u3002
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a8c\u8bc1\u9519\u8bef\uff1a\u503c\u4e0d\u7b26\u5408\u6a21\u5f0f\u201c{0}\u201d\u3002
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u987b\u8bbe\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a8c\u8bc1\u3002
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = \u8fd9\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u89c4\u8868\u8fbe\u5f0f\u3002
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = \u9a8c\u8bc1\u9519\u8bef
diff --git a/api/src/main/resources/jakarta/faces/Messages_zh_HK.properties b/api/src/main/resources/jakarta/faces/Messages_zh_HK.properties
index 94c74f1..9c14e5f 100644
--- a/api/src/main/resources/jakarta/faces/Messages_zh_HK.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_zh_HK.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}\uff1a\u767c\u751f\u8f49\u63db\u932f\u8aa4\u3002
-javax.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9700\u63d0\u4f9b\u503c\u3002
-javax.faces.component.UIInput.UPDATE = {0}\uff1a\u8655\u7406\u60a8\u6240\u63d0\u4ea4\u7684\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4\u3002
+jakarta.faces.component.UIInput.CONVERSION = {0}\uff1a\u767c\u751f\u8f49\u63db\u932f\u8aa4\u3002
+jakarta.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9700\u63d0\u4f9b\u503c\u3002
+jakarta.faces.component.UIInput.UPDATE = {0}\uff1a\u8655\u7406\u60a8\u6240\u63d0\u4ea4\u7684\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4\u3002
 
-javax.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
-javax.faces.component.UISelectMany.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
+jakarta.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
+jakarta.faces.component.UISelectMany.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\u3002
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\uff0c\u4e14\u7531\u96f6\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\uff0c\u5176\u5f8c\u53ef\u6709\u4e00\u500b\u5c0f\u6578\u9ede\u548c\u5c0f\u6578\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\u3002
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\uff0c\u4e14\u7531\u96f6\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\uff0c\u5176\u5f8c\u53ef\u6709\u4e00\u500b\u5c0f\u6578\u9ede\u548c\u5c0f\u6578\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002''true'' \u4ee5\u5916\u7684\u4efb\u4f55\u503c\u90fd\u6703\u8a55\u4f30\u70ba ''false''\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002''true'' \u4ee5\u5916\u7684\u4efb\u4f55\u503c\u90fd\u6703\u8a55\u4f30\u70ba ''false''\u3002
 
-javax.faces.converter.ByteConverter.BYTE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002
-javax.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548\u7684\u5b57\u5143\u3002
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548 ASCII \u5b57\u5143\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548\u7684\u5b57\u5143\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548 ASCII \u5b57\u5143\u3002
 
-javax.faces.converter.DateTimeConverter.DATE = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.TIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = ''{1}''\uff1a\u5fc5\u9808\u6307\u5b9a ''pattern'' \u6216 ''type'' \u5c6c\u6027\uff0c\u4ee5\u8f49\u63db\u503c ''{0}''\u3002
+jakarta.faces.converter.DateTimeConverter.DATE = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = ''{1}''\uff1a\u5fc5\u9808\u6307\u5b9a ''pattern'' \u6216 ''type'' \u5c6c\u6027\uff0c\u4ee5\u8f49\u63db\u503c ''{0}''\u3002
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 4.9E-324 \u5230 1.7976931348623157E308 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 4.9E-324 \u5230 1.7976931348623157E308 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u8f49\u63db\u70ba\u5217\u8209\u3002
-javax.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5167\u542b ''{1}'' \u5e38\u6578\u7684\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
+jakarta.faces.converter.EnumConverter.ENUM = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u8f49\u63db\u70ba\u5217\u8209\u3002
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5167\u542b ''{1}'' \u5e38\u6578\u7684\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
 
-javax.faces.converter.FloatConverter.FLOAT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 1.4E-45 \u5230 3.4028235E38 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 1.4E-45 \u5230 3.4028235E38 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -2147483648 \u5230 2147483647 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -2147483648 \u5230 2147483647 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.LongConverter.LONG = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.LongConverter.LONG_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -9223372036854775808 \u5230 9223372036854775807 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.LongConverter.LONG = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.LongConverter.LONG_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -9223372036854775808 \u5230 9223372036854775807 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.PERCENT = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.NUMBER = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.PATTERN = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -32768 \u5230 32767 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -32768 \u5230 32767 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.STRING = {1}\uff1a\u7121\u6cd5\u5c07 ''{0}'' \u8f49\u63db\u6210\u5b57\u4e32\u3002
+jakarta.faces.converter.STRING = {1}\uff1a\u7121\u6cd5\u5c07 ''{0}'' \u8f49\u63db\u6210\u5b57\u4e32\u3002
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = \u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.NOT_IN_RANGE = \u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
-javax.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u5339\u914d\u6a21\u5f0f ''{0}''\u3002
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u9808\u8a2d\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a57\u8b49\u3002
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = \u9019\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u898f\u8868\u9054\u5f0f\u3002
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u5339\u914d\u6a21\u5f0f ''{0}''\u3002
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u9808\u8a2d\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a57\u8b49\u3002
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = \u9019\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u898f\u8868\u9054\u5f0f\u3002
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = \u9a57\u8b49\u932f\u8aa4
diff --git a/api/src/main/resources/jakarta/faces/Messages_zh_TW.properties b/api/src/main/resources/jakarta/faces/Messages_zh_TW.properties
index 94c74f1..9c14e5f 100644
--- a/api/src/main/resources/jakarta/faces/Messages_zh_TW.properties
+++ b/api/src/main/resources/jakarta/faces/Messages_zh_TW.properties
@@ -15,89 +15,89 @@
 # standard messages (Spec. 2.5.2.4)
 
 # components
-javax.faces.component.UIInput.CONVERSION = {0}\uff1a\u767c\u751f\u8f49\u63db\u932f\u8aa4\u3002
-javax.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9700\u63d0\u4f9b\u503c\u3002
-javax.faces.component.UIInput.UPDATE = {0}\uff1a\u8655\u7406\u60a8\u6240\u63d0\u4ea4\u7684\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4\u3002
+jakarta.faces.component.UIInput.CONVERSION = {0}\uff1a\u767c\u751f\u8f49\u63db\u932f\u8aa4\u3002
+jakarta.faces.component.UIInput.REQUIRED = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9700\u63d0\u4f9b\u503c\u3002
+jakarta.faces.component.UIInput.UPDATE = {0}\uff1a\u8655\u7406\u60a8\u6240\u63d0\u4ea4\u7684\u8cc7\u8a0a\u6642\u767c\u751f\u932f\u8aa4\u3002
 
-javax.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
-javax.faces.component.UISelectMany.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
+jakarta.faces.component.UISelectOne.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
+jakarta.faces.component.UISelectMany.INVALID = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u7121\u6548\u3002
 
 # converters
-javax.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\u3002
-javax.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\uff0c\u4e14\u7531\u96f6\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\uff0c\u5176\u5f8c\u53ef\u6709\u4e00\u500b\u5c0f\u6578\u9ede\u548c\u5c0f\u6578\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.BigDecimalConverter.DECIMAL = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\u3002
+jakarta.faces.converter.BigDecimalConverter.DECIMAL_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u5e36\u6b63\u8ca0\u865f\u7684\u5341\u9032\u4f4d\u6578\uff0c\u4e14\u7531\u96f6\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\uff0c\u5176\u5f8c\u53ef\u6709\u4e00\u500b\u5c0f\u6578\u9ede\u548c\u5c0f\u6578\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.BigIntegerConverter.BIGINTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002
-javax.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002''true'' \u4ee5\u5916\u7684\u4efb\u4f55\u503c\u90fd\u6703\u8a55\u4f30\u70ba ''false''\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002
+jakarta.faces.converter.BooleanConverter.BOOLEAN_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f ''true'' \u6216 ''false''\u3002''true'' \u4ee5\u5916\u7684\u4efb\u4f55\u503c\u90fd\u6703\u8a55\u4f30\u70ba ''false''\u3002
 
-javax.faces.converter.ByteConverter.BYTE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002
-javax.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.ByteConverter.BYTE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002
+jakarta.faces.converter.ByteConverter.BYTE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 0 \u5230 255 \u9593\u7684\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548\u7684\u5b57\u5143\u3002
-javax.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548 ASCII \u5b57\u5143\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548\u7684\u5b57\u5143\u3002
+jakarta.faces.converter.CharacterConverter.CHARACTER_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u6709\u6548 ASCII \u5b57\u5143\u3002
 
-javax.faces.converter.DateTimeConverter.DATE = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002
-javax.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.TIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002
-javax.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002
-javax.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.DateTimeConverter.PATTERN_TYPE = ''{1}''\uff1a\u5fc5\u9808\u6307\u5b9a ''pattern'' \u6216 ''type'' \u5c6c\u6027\uff0c\u4ee5\u8f49\u63db\u503c ''{0}''\u3002
+jakarta.faces.converter.DateTimeConverter.DATE = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002
+jakarta.faces.converter.DateTimeConverter.DATE_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.TIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002
+jakarta.faces.converter.DateTimeConverter.TIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.DATETIME = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002
+jakarta.faces.converter.DateTimeConverter.DATETIME_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u65e5\u671f\u548c\u6642\u9593\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DateTimeConverter.PATTERN_TYPE = ''{1}''\uff1a\u5fc5\u9808\u6307\u5b9a ''pattern'' \u6216 ''type'' \u5c6c\u6027\uff0c\u4ee5\u8f49\u63db\u503c ''{0}''\u3002
 
-javax.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 4.9E-324 \u5230 1.7976931348623157E308 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.DoubleConverter.DOUBLE = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.DoubleConverter.DOUBLE_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 4.9E-324 \u5230 1.7976931348623157E308 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.EnumConverter.ENUM = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u8f49\u63db\u70ba\u5217\u8209\u3002
-javax.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5167\u542b ''{1}'' \u5e38\u6578\u7684\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
-javax.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
+jakarta.faces.converter.EnumConverter.ENUM = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u8f49\u63db\u70ba\u5217\u8209\u3002
+jakarta.faces.converter.EnumConverter.ENUM_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5167\u542b ''{1}'' \u5e38\u6578\u7684\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
+jakarta.faces.converter.EnumConverter.ENUM_NO_CLASS_detail = {1}\uff1a''{0}'' \u5fc5\u9808\u53ef\u5f9e\u5217\u8209\u8f49\u63db\u70ba\u5217\u8209\uff0c\u4f46\u537b\u672a\u63d0\u4f9b\u5217\u8209\u985e\u5225\u3002
 
-javax.faces.converter.FloatConverter.FLOAT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 1.4E-45 \u5230 3.4028235E38 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.FloatConverter.FLOAT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.FloatConverter.FLOAT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b 1.4E-45 \u5230 3.4028235E38 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.IntegerConverter.INTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -2147483648 \u5230 2147483647 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.IntegerConverter.INTEGER = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.IntegerConverter.INTEGER_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -2147483648 \u5230 2147483647 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.LongConverter.LONG = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.LongConverter.LONG_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -9223372036854775808 \u5230 9223372036854775807 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.LongConverter.LONG = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.LongConverter.LONG_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -9223372036854775808 \u5230 9223372036854775807 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.NumberConverter.CURRENCY = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002
-javax.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.PERCENT = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002
-javax.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.NUMBER = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002
-javax.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
-javax.faces.converter.NumberConverter.PATTERN = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002
-javax.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.CURRENCY = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002
+jakarta.faces.converter.NumberConverter.CURRENCY_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u8ca8\u5e63\u503c\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.PERCENT = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002
+jakarta.faces.converter.NumberConverter.PERCENT_detail = {2}\uff1a''{0}'' \u7121\u6cd5\u63a8\u65b7\u70ba\u767e\u5206\u6bd4\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.NUMBER = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002
+jakarta.faces.converter.NumberConverter.NUMBER_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u3002\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.NumberConverter.PATTERN = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002
+jakarta.faces.converter.NumberConverter.PATTERN_detail = {2}\uff1a''{0}'' \u4e0d\u662f\u6578\u5b57\u6a21\u5f0f\u3002\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.ShortConverter.SHORT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
-javax.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -32768 \u5230 32767 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
+jakarta.faces.converter.ShortConverter.SHORT = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b\u7531\u4e00\u6216\u591a\u500b\u6578\u5b57\u7d44\u6210\u7684\u6578\u3002
+jakarta.faces.converter.ShortConverter.SHORT_detail = {2}\uff1a''{0}'' \u5fc5\u9808\u662f\u4e00\u500b -32768 \u5230 32767 \u9593\u7684\u6578\u5b57\uff0c\u4f8b\u5982\uff1a{1}
 
-javax.faces.converter.STRING = {1}\uff1a\u7121\u6cd5\u5c07 ''{0}'' \u8f49\u63db\u6210\u5b57\u4e32\u3002
+jakarta.faces.converter.STRING = {1}\uff1a\u7121\u6cd5\u5c07 ''{0}'' \u8f49\u63db\u6210\u5b57\u4e32\u3002
 
 # validators
-javax.faces.validator.NOT_IN_RANGE = \u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.NOT_IN_RANGE = \u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
 
-javax.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
-javax.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
-javax.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
+jakarta.faces.validator.DoubleRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.DoubleRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.DoubleRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.DoubleRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
 
-javax.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LengthValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LengthValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u9577\u5ea6\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
 
-javax.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
-javax.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
-javax.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
+jakarta.faces.validator.LongRangeValidator.MAXIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5927\u65bc\u53ef\u63a5\u53d7\u7684\u4e0a\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LongRangeValidator.MINIMUM = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u5c0f\u65bc\u53ef\u63a5\u53d7\u7684\u4e0b\u9650\u503c ''{0}''\u3002
+jakarta.faces.validator.LongRangeValidator.NOT_IN_RANGE = {2}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u6307\u5b9a\u7684\u5c6c\u6027\u4e0d\u662f\u5728\u9810\u671f\u7684\u503c {0} \u5230 {1} \u4e4b\u9593\u3002
+jakarta.faces.validator.LongRangeValidator.TYPE = {0}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u662f\u6b63\u78ba\u7684\u985e\u578b\u3002
 
-javax.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u5339\u914d\u6a21\u5f0f ''{0}''\u3002
-javax.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u9808\u8a2d\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a57\u8b49\u3002
-javax.faces.validator.RegexValidator.MATCH_EXCEPTION = \u9019\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u898f\u8868\u9054\u5f0f\u3002
+jakarta.faces.validator.RegexValidator.NOT_MATCHED = {1}\uff1a\u9a57\u8b49\u932f\u8aa4\uff1a\u503c\u4e0d\u5339\u914d\u6a21\u5f0f ''{0}''\u3002
+jakarta.faces.validator.RegexValidator.PATTERN_NOT_SET = \u5fc5\u9808\u8a2d\u5b9a\u6a21\u5f0f\u4ee5\u4f9b\u9a57\u8b49\u3002
+jakarta.faces.validator.RegexValidator.MATCH_EXCEPTION = \u9019\u6a21\u5f0f\u4e0d\u662f\u6709\u6548\u7684\u6b63\u898f\u8868\u9054\u5f0f\u3002
 
-javax.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
+jakarta.faces.validator.BeanValidator.MESSAGE = {1}\uff1a{0}
 
 # myfaces specific messages
 org.apache.myfaces.Email.INVALID = \u9a57\u8b49\u932f\u8aa4
diff --git a/impl/src/main/conf/META-INF/standard-faces-config-base.xml b/impl/src/main/conf/META-INF/standard-faces-config-base.xml
index c1669e4..3c46fb8 100644
--- a/impl/src/main/conf/META-INF/standard-faces-config-base.xml
+++ b/impl/src/main/conf/META-INF/standard-faces-config-base.xml
@@ -53,55 +53,55 @@
    
    <!-- behaviors by id -->
    <behavior>
-      <behavior-id>javax.faces.behavior.Ajax</behavior-id>
-      <behavior-class>javax.faces.component.behavior.AjaxBehavior</behavior-class>
+      <behavior-id>jakarta.faces.behavior.Ajax</behavior-id>
+      <behavior-class>jakarta.faces.component.behavior.AjaxBehavior</behavior-class>
    </behavior>
    
    <!-- standard converters by class -->
    
    <converter>
       <converter-for-class>java.math.BigDecimal</converter-for-class>
-      <converter-class>javax.faces.convert.BigDecimalConverter</converter-class>
+      <converter-class>jakarta.faces.convert.BigDecimalConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.math.BigInteger</converter-for-class>
-      <converter-class>javax.faces.convert.BigIntegerConverter</converter-class>
+      <converter-class>jakarta.faces.convert.BigIntegerConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Boolean</converter-for-class>
-      <converter-class>javax.faces.convert.BooleanConverter</converter-class>
+      <converter-class>jakarta.faces.convert.BooleanConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Byte</converter-for-class>
-      <converter-class>javax.faces.convert.ByteConverter</converter-class>
+      <converter-class>jakarta.faces.convert.ByteConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Character</converter-for-class>
-      <converter-class>javax.faces.convert.CharacterConverter</converter-class>
+      <converter-class>jakarta.faces.convert.CharacterConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Double</converter-for-class>
-      <converter-class>javax.faces.convert.DoubleConverter</converter-class>
+      <converter-class>jakarta.faces.convert.DoubleConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Enum</converter-for-class>
-      <converter-class>javax.faces.convert.EnumConverter</converter-class>
+      <converter-class>jakarta.faces.convert.EnumConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Float</converter-for-class>
-      <converter-class>javax.faces.convert.FloatConverter</converter-class>
+      <converter-class>jakarta.faces.convert.FloatConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Integer</converter-for-class>
-      <converter-class>javax.faces.convert.IntegerConverter</converter-class>
+      <converter-class>jakarta.faces.convert.IntegerConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Long</converter-for-class>
-      <converter-class>javax.faces.convert.LongConverter</converter-class>
+      <converter-class>jakarta.faces.convert.LongConverter</converter-class>
    </converter>
    <converter>
       <converter-for-class>java.lang.Short</converter-for-class>
-      <converter-class>javax.faces.convert.ShortConverter</converter-class>
+      <converter-class>jakarta.faces.convert.ShortConverter</converter-class>
    </converter>
 
 </faces-config>
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
index e44e8e0..39d32d8 100755
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/HtmlResponseStateManager.java
@@ -269,7 +269,7 @@ public class HtmlResponseStateManager extends MyfacesResponseStateManager
         // According to the javascript doc of jsf.ajax.response,
         //
         // The new syntax looks like this:
-        // <update id="<VIEW_ROOT_CONTAINER_CLIENT_ID><SEP>javax.faces.ClientWindow<SEP><UNIQUE_PER_VIEW_NUMBER>">
+        // <update id="<VIEW_ROOT_CONTAINER_CLIENT_ID><SEP>jakarta.faces.ClientWindow<SEP><UNIQUE_PER_VIEW_NUMBER>">
         //    <![CDATA[...]]>
         // </update>
         //
@@ -297,7 +297,7 @@ public class HtmlResponseStateManager extends MyfacesResponseStateManager
         // According to the javascript doc of jsf.ajax.response,
         //
         // The new syntax looks like this:
-        // <update id="<VIEW_ROOT_CONTAINER_CLIENT_ID><SEP>javax.faces.ViewState<SEP><UNIQUE_PER_VIEW_NUMBER>">
+        // <update id="<VIEW_ROOT_CONTAINER_CLIENT_ID><SEP>jakarta.faces.ViewState<SEP><UNIQUE_PER_VIEW_NUMBER>">
         //    <![CDATA[...]]>
         // </update>
         //
diff --git a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/ResourceUtils.java b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/ResourceUtils.java
index b126909..10c4b5d 100644
--- a/impl/src/main/java/org/apache/myfaces/renderkit/html/util/ResourceUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/renderkit/html/util/ResourceUtils.java
@@ -43,7 +43,7 @@ public class ResourceUtils
 
     private final static String RENDERED_JSF_JS = "org.apache.myfaces.RENDERED_JSF_JS";
 
-    public static final String JAVAX_FACES_OUTPUT_COMPONENT_TYPE = "javax.faces.Output";
+    public static final String JAVAX_FACES_OUTPUT_COMPONENT_TYPE = "jakarta.faces.Output";
     public static final String JAVAX_FACES_TEXT_RENDERER_TYPE = "javax.faces.Text";
     public static final String DEFAULT_SCRIPT_RENDERER_TYPE = "javax.faces.resource.Script";
     public static final String DEFAULT_STYLESHEET_RENDERER_TYPE = "javax.faces.resource.Stylesheet";
diff --git a/impl/src/main/java/org/apache/myfaces/util/MessageUtils.java b/impl/src/main/java/org/apache/myfaces/util/MessageUtils.java
index b5806f7..643f154 100755
--- a/impl/src/main/java/org/apache/myfaces/util/MessageUtils.java
+++ b/impl/src/main/java/org/apache/myfaces/util/MessageUtils.java
@@ -52,7 +52,7 @@ public final class MessageUtils
         // nope
     }
 
-    /** Default bundle for messages (<code>javax.faces.Messages</code>) */
+    /** Default bundle for messages (<code>jakarta.faces.Messages</code>) */
     private static final String DEFAULT_BUNDLE = "javax.faces.Messages";
 
     /** Suffix for message details (<code>_detail</code>)*/
diff --git a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_JsfElement.java b/impl/src/main/java/org/apache/myfaces/view/facelets/component/_JsfElement.java
index b0d3ed8..fa2d413 100644
--- a/impl/src/main/java/org/apache/myfaces/view/facelets/component/_JsfElement.java
+++ b/impl/src/main/java/org/apache/myfaces/view/facelets/component/_JsfElement.java
@@ -34,7 +34,7 @@ import org.apache.myfaces.buildtools.maven2.plugin.builder.annotation.JSFPropert
 abstract class _JsfElement extends UIPanel implements 
     _EventProperties, _FocusBlurProperties, _ChangeSelectProperties, _StyleProperties
 {
-    public static final String COMPONENT_FAMILY = "javax.faces.Panel";
+    public static final String COMPONENT_FAMILY = "jakarta.faces.Panel";
     public static final String COMPONENT_TYPE = "oam.passthrough.Element";
     
     /**
diff --git a/impl/src/main/resources/META-INF/faces-config20.vm b/impl/src/main/resources/META-INF/faces-config20.vm
index 2c0aa54..b017805 100644
--- a/impl/src/main/resources/META-INF/faces-config20.vm
+++ b/impl/src/main/resources/META-INF/faces-config20.vm
@@ -122,7 +122,7 @@ $baseContent
 #end
 ## TODO: Create a myfaces builder annotation and add through this class
     <client-behavior-renderer>
-        <client-behavior-renderer-type>javax.faces.behavior.Ajax</client-behavior-renderer-type>
+        <client-behavior-renderer-type>jakarta.faces.behavior.Ajax</client-behavior-renderer-type>
         <client-behavior-renderer-class>org.apache.myfaces.renderkit.html.HtmlAjaxBehaviorRenderer</client-behavior-renderer-class>
     </client-behavior-renderer>
   </render-kit>
diff --git a/impl/src/test/java/jakarta/faces/component/html/HtmlOutputLinkTest.java b/impl/src/test/java/jakarta/faces/component/html/HtmlOutputLinkTest.java
index ec98d9d..6609263 100644
--- a/impl/src/test/java/jakarta/faces/component/html/HtmlOutputLinkTest.java
+++ b/impl/src/test/java/jakarta/faces/component/html/HtmlOutputLinkTest.java
@@ -18,7 +18,6 @@
  */
 package jakarta.faces.component.html;
 
-import jakarta.faces.component.html.HtmlOutputLink;
 import org.junit.Assert;
 import org.junit.Test;
 
diff --git a/impl/src/test/java/jakarta/faces/convert/EnumConverterTest.java b/impl/src/test/java/jakarta/faces/convert/EnumConverterTest.java
index 2daf5ed..b7deac1 100644
--- a/impl/src/test/java/jakarta/faces/convert/EnumConverterTest.java
+++ b/impl/src/test/java/jakarta/faces/convert/EnumConverterTest.java
@@ -29,7 +29,7 @@ import org.apache.myfaces.test.base.junit.AbstractJsfTestCase;
 import org.junit.Assert;
 
 /**
- * This testcase test <code>javax.faces.convert.EnumConverter</code>.
+ * This testcase test <code>jakarta.faces.convert.EnumConverter</code>.
  */
 public class EnumConverterTest extends AbstractJsfTestCase
 {
diff --git a/impl/src/test/java/org/apache/myfaces/application/ApplicationImplAnnotationTest.java b/impl/src/test/java/org/apache/myfaces/application/ApplicationImplAnnotationTest.java
index 22da3ce..a2b5924 100644
--- a/impl/src/test/java/org/apache/myfaces/application/ApplicationImplAnnotationTest.java
+++ b/impl/src/test/java/org/apache/myfaces/application/ApplicationImplAnnotationTest.java
@@ -118,8 +118,8 @@ public class ApplicationImplAnnotationTest extends AbstractJsfConfigurableMockTe
      */
     public static class UITestComponentA extends UIComponentBase
     {
-        public static final String COMPONENT_TYPE = "javax.faces.TestComponentA";
-        public static final String COMPONENT_FAMILY = "javax.faces.TestComponentA";
+        public static final String COMPONENT_TYPE = "jakarta.faces.TestComponentA";
+        public static final String COMPONENT_FAMILY = "jakarta.faces.TestComponentA";
         public static final String DEFAULT_RENDERER_TYPE = "javax.faces.TestComponentA";
 
         public UITestComponentA()
@@ -478,8 +478,8 @@ public class ApplicationImplAnnotationTest extends AbstractJsfConfigurableMockTe
     @ResourceDependency(name = "testResource.js")
     public static class UITestComponentB extends UIComponentBase
     {
-        public static final String COMPONENT_TYPE = "javax.faces.TestComponentB";
-        public static final String COMPONENT_FAMILY = "javax.faces.TestComponentB";
+        public static final String COMPONENT_TYPE = "jakarta.faces.TestComponentB";
+        public static final String COMPONENT_FAMILY = "jakarta.faces.TestComponentB";
         public static final String DEFAULT_RENDERER_TYPE = "javax.faces.TestComponentB";
 
         public UITestComponentB()
diff --git a/impl/src/test/java/org/apache/myfaces/application/ClientBehaviorTestCase.java b/impl/src/test/java/org/apache/myfaces/application/ClientBehaviorTestCase.java
index 65028c0..4cd9047 100644
--- a/impl/src/test/java/org/apache/myfaces/application/ClientBehaviorTestCase.java
+++ b/impl/src/test/java/org/apache/myfaces/application/ClientBehaviorTestCase.java
@@ -96,8 +96,8 @@ public class ClientBehaviorTestCase extends AbstractJsfConfigurableMockTestCase
 
     public static class UITestComponentWithBehavior extends UIComponentBase
     {
-        public static final String COMPONENT_TYPE = "javax.faces.UITestComponentWithBehavior";
-        public static final String COMPONENT_FAMILY = "javax.faces.UITestComponentWithBehavior";
+        public static final String COMPONENT_TYPE = "jakarta.faces.UITestComponentWithBehavior";
+        public static final String COMPONENT_FAMILY = "jakarta.faces.UITestComponentWithBehavior";
         public static final String DEFAULT_RENDERER_TYPE = "javax.faces.UITestComponentWithBehavior";
 
         static private final java.util.Collection<String> CLIENT_EVENTS_LIST =
diff --git a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-bean-validator.xml b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-bean-validator.xml
index 10b5579..a6c813e 100644
--- a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-bean-validator.xml
+++ b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-bean-validator.xml
@@ -22,7 +22,7 @@
 
     <application>
         <default-validators>
-            <validator-id>javax.faces.Bean</validator-id>
+            <validator-id>jakarta.faces.Bean</validator-id>
         </default-validators>
     </application>
  
diff --git a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-length-validator.xml b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-length-validator.xml
index 22e02ab..ee50e89 100644
--- a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-length-validator.xml
+++ b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-length-validator.xml
@@ -22,7 +22,7 @@
 
     <application>
         <default-validators>
-            <validator-id>javax.faces.Length</validator-id>
+            <validator-id>jakarta.faces.Length</validator-id>
         </default-validators>
     </application>
  
diff --git a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-required-validator.xml b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-required-validator.xml
index 803750b..aac59ba 100644
--- a/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-required-validator.xml
+++ b/impl/src/test/resources/org/apache/myfaces/config/testfiles/default-required-validator.xml
@@ -22,7 +22,7 @@
 
     <application>
         <default-validators>
-            <validator-id>javax.faces.Required</validator-id>
+            <validator-id>jakarta.faces.Required</validator-id>
         </default-validators>
     </application>
  
diff --git a/integration-tests/ajax/src/main/webapp/WEB-INF/web.xml b/integration-tests/ajax/src/main/webapp/WEB-INF/web.xml
index 7b736e7..1315fa7 100644
--- a/integration-tests/ajax/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/ajax/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
diff --git a/integration-tests/autoLookupExpressionFactoryWithoutJSP/src/main/webapp/WEB-INF/web.xml b/integration-tests/autoLookupExpressionFactoryWithoutJSP/src/main/webapp/WEB-INF/web.xml
index 7395030..a9865fc 100644
--- a/integration-tests/autoLookupExpressionFactoryWithoutJSP/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/autoLookupExpressionFactoryWithoutJSP/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
diff --git a/integration-tests/exactMapping/src/main/webapp/WEB-INF/web.xml b/integration-tests/exactMapping/src/main/webapp/WEB-INF/web.xml
index 773e65a..8d455e0 100644
--- a/integration-tests/exactMapping/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/exactMapping/src/main/webapp/WEB-INF/web.xml
@@ -23,12 +23,12 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.DISABLE_FACESSERVLET_TO_XHTML</param-name>
+        <param-name>jakarta.faces.DISABLE_FACESSERVLET_TO_XHTML</param-name>
         <param-value>true</param-value>
     </context-param>
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
@@ -45,7 +45,7 @@
 
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
-        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
diff --git a/integration-tests/faceletToXhtmlMapping/src/main/webapp/WEB-INF/web.xml b/integration-tests/faceletToXhtmlMapping/src/main/webapp/WEB-INF/web.xml
index be03514..af6cf1e 100644
--- a/integration-tests/faceletToXhtmlMapping/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/faceletToXhtmlMapping/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
diff --git a/integration-tests/faceletToXhtmlMappingDisabled/src/main/webapp/WEB-INF/web.xml b/integration-tests/faceletToXhtmlMappingDisabled/src/main/webapp/WEB-INF/web.xml
index f7c0faf..58ec275 100644
--- a/integration-tests/faceletToXhtmlMappingDisabled/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/faceletToXhtmlMappingDisabled/src/main/webapp/WEB-INF/web.xml
@@ -23,12 +23,12 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.DISABLE_FACESSERVLET_TO_XHTML</param-name>
+        <param-name>jakarta.faces.DISABLE_FACESSERVLET_TO_XHTML</param-name>
         <param-value>true</param-value>
     </context-param>
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
@@ -45,7 +45,7 @@
 
     <servlet>
         <servlet-name>Faces Servlet</servlet-name>
-        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
+        <servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
         <load-on-startup>1</load-on-startup>
     </servlet>
     <servlet-mapping>
diff --git a/integration-tests/protectedViews/src/main/webapp/WEB-INF/web.xml b/integration-tests/protectedViews/src/main/webapp/WEB-INF/web.xml
index be03514..af6cf1e 100644
--- a/integration-tests/protectedViews/src/main/webapp/WEB-INF/web.xml
+++ b/integration-tests/protectedViews/src/main/webapp/WEB-INF/web.xml
@@ -23,7 +23,7 @@
          version="3.1">
 
     <context-param>
-        <param-name>javax.faces.PROJECT_STAGE</param-name>
+        <param-name>jakarta.faces.PROJECT_STAGE</param-name>
         <param-value>Production</param-value>
     </context-param>
     <context-param>
diff --git a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMockTestCase.java b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMockTestCase.java
index 6a6dbb3..f3f878b 100644
--- a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMockTestCase.java
+++ b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMockTestCase.java
@@ -65,7 +65,7 @@ import org.junit.Before;
  * </ul>
  *
  * <p>In addition, appropriate factory classes will have been registered with
- * <code>javax.faces.FactoryFinder</code> for <code>Application</code> and
+ * <code>jakarta.faces.FactoryFinder</code> for <code>Application</code> and
  * <code>RenderKit</code> instances.  The created <code>FacesContext</code>
  * instance will also have been registered in the proper thread local
  * variable, to simulate what a servlet container would do.</p>
diff --git a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMultipleRequestsTestCase.java b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMultipleRequestsTestCase.java
index 9e817e9..c6a0eda 100644
--- a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMultipleRequestsTestCase.java
+++ b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfConfigurableMultipleRequestsTestCase.java
@@ -68,7 +68,7 @@ import org.junit.Before;
  * </ul>
  *
  * <p>In addition, appropriate factory classes will have been registered with
- * <code>javax.faces.FactoryFinder</code> for <code>Application</code> and
+ * <code>jakarta.faces.FactoryFinder</code> for <code>Application</code> and
  * <code>RenderKit</code> instances.  The created <code>FacesContext</code>
  * instance will also have been registered in the proper thread local
  * variable, to simulate what a servlet container would do.</p>
diff --git a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfTestCase.java b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfTestCase.java
index c856ac0..85eefe7 100644
--- a/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfTestCase.java
+++ b/test/src/main/java/org/apache/myfaces/test/base/junit/AbstractJsfTestCase.java
@@ -63,7 +63,7 @@ import org.junit.Before;
  * </ul>
  *
  * <p>In addition, appropriate factory classes will have been registered with
- * <code>javax.faces.FactoryFinder</code> for <code>Application</code> and
+ * <code>jakarta.faces.FactoryFinder</code> for <code>Application</code> and
  * <code>RenderKit</code> instances.  The created <code>FacesContext</code>
  * instance will also have been registered in the apppriate thread local
  * variable, to simulate what a servlet container would do.</p>
diff --git a/test/src/main/java/org/apache/myfaces/test/mock/MockResponseWriter.java b/test/src/main/java/org/apache/myfaces/test/mock/MockResponseWriter.java
index b7ea723..dad8c8d 100644
--- a/test/src/main/java/org/apache/myfaces/test/mock/MockResponseWriter.java
+++ b/test/src/main/java/org/apache/myfaces/test/mock/MockResponseWriter.java
@@ -24,7 +24,7 @@ import jakarta.faces.component.UIComponent;
 import jakarta.faces.context.ResponseWriter;
 
 /**
- * <p>Mock implementation of <code>javax.faces.context.ResponseWriter</code>.</p>
+ * <p>Mock implementation of <code>jakarta.faces.context.ResponseWriter</code>.</p>
  * 
  * @since 1.0.0
  */