Thanks to visit codestin.com
Credit goes to github.com

Skip to content

inputOptionLabelsI18nPrefix is take into consideration only for login-ui #31111

@gregordonsky

Description

@gregordonsky

Before reporting an issue

  • I have read and understood the above terms for submitting issues, and I understand that my issue may be closed without action if I do not follow them.

Area

account/ui

Describe the bug

I want to translate a user attribute with annotation inputType="select"

Unfortunately if i set the annotation inputOptionLabelsI18nPrefix and a theme with custom messages, the messages take into account are only the files for login-ui.
Messages in admin-ui or account-ui does not work.

Version

25.0.1

Regression

  • The issue is a regression

Expected behavior

I expect that if i customize a theme and a theme type with custom messages, using inputOptionLabelsI18nPrefix the labels are translated into the selected language.

Actual behavior

See screenshot for Country field:

Login UI: [Correct]
image

Account UI: [Wrong]
image

Admin UI: [Wrong]
image

How to Reproduce?

  1. Create a custom theme.
  2. Add messages_en.properties in admin, account and login messages folders.
  3. Set the custom theme as the default theme for Login theme, account theme and admin theme.

messages_en example:

#COUNTRIES
userprofile.countries.ad=Andorra
userprofile.countries.ae=United Arab Emirates
userprofile.countries.af=Afghanistan
userprofile.countries.ag=Antigua and Barbuda
userprofile.countries.al=Albania
userprofile.countries.am=Armenia
userprofile.countries.ao=Angola
userprofile.countries.ar=Argentina
userprofile.countries.at=Austria
userprofile.countries.au=Australia
userprofile.countries.az=Azerbaijan
userprofile.countries.ba=Bosnia and Herzegovina
userprofile.countries.bb=Barbados
userprofile.countries.bd=Bangladesh
userprofile.countries.be=Belgium
userprofile.countries.bf=Burkina Faso
userprofile.countries.bg=Bulgaria
userprofile.countries.bh=Bahrain
userprofile.countries.bi=Burundi
userprofile.countries.bj=Benin
userprofile.countries.bn=Brunei Darussalam
userprofile.countries.bo=Bolivia, Plurinational State of
userprofile.countries.br=Brazil
userprofile.countries.bs=Bahamas
userprofile.countries.bt=Bhutan
userprofile.countries.bw=Botswana
userprofile.countries.by=Belarus
userprofile.countries.bz=Belize
userprofile.countries.ca=Canada
userprofile.countries.cd=Congo, Democratic Republic of the
userprofile.countries.cf=Central African Republic
userprofile.countries.cg=Congo
userprofile.countries.ch=Switzerland
userprofile.countries.ci=Côte d'Ivoire
userprofile.countries.cl=Chile
userprofile.countries.cm=Cameroon
userprofile.countries.cn=China
userprofile.countries.co=Colombia
userprofile.countries.cr=Costa Rica
userprofile.countries.cu=Cuba
userprofile.countries.cv=Cabo Verde
userprofile.countries.cy=Cyprus
userprofile.countries.cz=Czechia
userprofile.countries.de=Germany
userprofile.countries.dj=Djibouti
userprofile.countries.dk=Denmark
userprofile.countries.dm=Dominica
userprofile.countries.do=Dominican Republic
userprofile.countries.dz=Algeria
userprofile.countries.ec=Ecuador
userprofile.countries.ee=Estonia
userprofile.countries.eg=Egypt
userprofile.countries.er=Eritrea
userprofile.countries.es=Spain
userprofile.countries.et=Ethiopia
userprofile.countries.fi=Finland
userprofile.countries.fj=Fiji
userprofile.countries.fm=Micronesia, Federated States of
userprofile.countries.fr=France
userprofile.countries.ga=Gabon
userprofile.countries.gb=United Kingdom of Great Britain and Northern Ireland
userprofile.countries.gd=Grenada
userprofile.countries.ge=Georgia
userprofile.countries.gh=Ghana
userprofile.countries.gm=Gambia
userprofile.countries.gn=Guinea
userprofile.countries.gq=Equatorial Guinea
userprofile.countries.gr=Greece
userprofile.countries.gt=Guatemala
userprofile.countries.gw=Guinea-Bissau
userprofile.countries.gy=Guyana
userprofile.countries.hn=Honduras
userprofile.countries.hr=Croatia
userprofile.countries.ht=Haiti
userprofile.countries.hu=Hungary
userprofile.countries.id=Indonesia
userprofile.countries.ie=Ireland
userprofile.countries.il=Israel
userprofile.countries.in=India
userprofile.countries.iq=Iraq
userprofile.countries.ir=Iran, Islamic Republic of
userprofile.countries.is=Iceland
userprofile.countries.it=Italy
userprofile.countries.jm=Jamaica
userprofile.countries.jo=Jordan
userprofile.countries.jp=Japan
userprofile.countries.ke=Kenya
userprofile.countries.kg=Kyrgyzstan
userprofile.countries.kh=Cambodia
userprofile.countries.ki=Kiribati
userprofile.countries.km=Comoros
userprofile.countries.kn=Saint Kitts and Nevis
userprofile.countries.kp=Korea, Democratic People's Republic of
userprofile.countries.kr=Korea, Republic of
userprofile.countries.kw=Kuwait
userprofile.countries.kz=Kazakhstan
userprofile.countries.la=Lao People's Democratic Republic
userprofile.countries.lb=Lebanon
userprofile.countries.lc=Saint Lucia
userprofile.countries.li=Liechtenstein
userprofile.countries.lk=Sri Lanka
userprofile.countries.lr=Liberia
userprofile.countries.ls=Lesotho
userprofile.countries.lt=Lithuania
userprofile.countries.lu=Luxembourg
userprofile.countries.lv=Latvia
userprofile.countries.ly=Libya
userprofile.countries.ma=Morocco
userprofile.countries.mc=Monaco
userprofile.countries.md=Moldova, Republic of
userprofile.countries.me=Montenegro
userprofile.countries.mg=Madagascar
userprofile.countries.mh=Marshall Islands
userprofile.countries.mk=North Macedonia
userprofile.countries.ml=Mali
userprofile.countries.mm=Myanmar
userprofile.countries.mn=Mongolia
userprofile.countries.mr=Mauritania
userprofile.countries.mt=Malta
userprofile.countries.mu=Mauritius
userprofile.countries.mv=Maldives
userprofile.countries.mw=Malawi
userprofile.countries.mx=Mexico
userprofile.countries.my=Malaysia
userprofile.countries.mz=Mozambique
userprofile.countries.na=Namibia
userprofile.countries.ne=Niger
userprofile.countries.ng=Nigeria
userprofile.countries.ni=Nicaragua
userprofile.countries.nl=Netherlands
userprofile.countries.no=Norway
userprofile.countries.np=Nepal
userprofile.countries.nr=Nauru
userprofile.countries.nz=New Zealand
userprofile.countries.om=Oman
userprofile.countries.pa=Panama
userprofile.countries.pe=Peru
userprofile.countries.pg=Papua New Guinea
userprofile.countries.ph=Philippines
userprofile.countries.pk=Pakistan
userprofile.countries.pl=Poland
userprofile.countries.pt=Portugal
userprofile.countries.pw=Palau
userprofile.countries.py=Paraguay
userprofile.countries.qa=Qatar
userprofile.countries.ro=Romania
userprofile.countries.rs=Serbia
userprofile.countries.ru=Russian Federation
userprofile.countries.rw=Rwanda
userprofile.countries.sa=Saudi Arabia
userprofile.countries.sb=Solomon Islands
userprofile.countries.sc=Seychelles
userprofile.countries.sd=Sudan
userprofile.countries.se=Sweden
userprofile.countries.sg=Singapore
userprofile.countries.si=Slovenia
userprofile.countries.sk=Slovakia
userprofile.countries.sl=Sierra Leone
userprofile.countries.sm=San Marino
userprofile.countries.sn=Senegal
userprofile.countries.so=Somalia
userprofile.countries.sr=Suriname
userprofile.countries.ss=South Sudan
userprofile.countries.st=Sao Tome and Principe
userprofile.countries.sv=El Salvador
userprofile.countries.sy=Syrian Arab Republic
userprofile.countries.sz=Eswatini
userprofile.countries.td=Chad
userprofile.countries.tg=Togo
userprofile.countries.th=Thailand
userprofile.countries.tj=Tajikistan
userprofile.countries.tl=Timor-Leste
userprofile.countries.tm=Turkmenistan
userprofile.countries.tn=Tunisia
userprofile.countries.to=Tonga
userprofile.countries.tr=Türkiye
userprofile.countries.tt=Trinidad and Tobago
userprofile.countries.tv=Tuvalu
userprofile.countries.tz=Tanzania, United Republic of
userprofile.countries.ua=Ukraine
userprofile.countries.ug=Uganda
userprofile.countries.us=United States of America
userprofile.countries.uy=Uruguay
userprofile.countries.uz=Uzbekistan
userprofile.countries.vc=Saint Vincent and the Grenadines
userprofile.countries.ve=Venezuela, Bolivarian Republic of
userprofile.countries.vn=Viet Nam
userprofile.countries.vu=Vanuatu
userprofile.countries.ws=Samoa
userprofile.countries.ye=Yemen
userprofile.countries.za=South Africa
userprofile.countries.zm=Zambia
userprofile.countries.zw=Zimbabwe

Use this JSON configuration for country field:

    {
      "name": "country",
      "displayName": "${profile.attribute.country}",
      "validations": {
        "options": {
          "options": [
            "af",
            "al",
            "dz",
            "ad",
            "ao",
            "ag",
            "sa",
            "ar",
            "am",
            "au",
            "at",
            "az",
            "bs",
            "bh",
            "bd",
            "bb",
            "be",
            "bz",
            "bj",
            "bt",
            "by",
            "mm",
            "bo",
            "ba",
            "bw",
            "br",
            "bn",
            "bg",
            "bf",
            "bi",
            "kh",
            "cm",
            "ca",
            "cv",
            "td",
            "cl",
            "cn",
            "cy",
            "co",
            "km",
            "kp",
            "kr",
            "ci",
            "cr",
            "hr",
            "cu",
            "dk",
            "dm",
            "ec",
            "eg",
            "sv",
            "ae",
            "er",
            "ee",
            "et",
            "fj",
            "ph",
            "fi",
            "fr",
            "ga",
            "gm",
            "ge",
            "de",
            "gh",
            "jm",
            "jp",
            "dj",
            "jo",
            "gr",
            "gd",
            "gt",
            "gn",
            "gw",
            "gq",
            "gy",
            "ht",
            "hn",
            "in",
            "id",
            "ir",
            "iq",
            "ie",
            "is",
            "mh",
            "sb",
            "il",
            "it",
            "kz",
            "ke",
            "kg",
            "ki",
            "kw",
            "la",
            "ls",
            "lv",
            "lb",
            "lr",
            "ly",
            "li",
            "lt",
            "lu",
            "mk",
            "mg",
            "mw",
            "my",
            "mv",
            "ml",
            "mt",
            "ma",
            "mr",
            "mu",
            "mx",
            "fm",
            "md",
            "mn",
            "me",
            "mz",
            "na",
            "nr",
            "np",
            "ni",
            "ne",
            "ng",
            "no",
            "nz",
            "om",
            "nl",
            "pk",
            "pw",
            "pa",
            "pg",
            "py",
            "pe",
            "pl",
            "pt",
            "mc",
            "qa",
            "gb",
            "cd",
            "cz",
            "cf",
            "cg",
            "do",
            "ro",
            "rw",
            "ru",
            "kn",
            "lc",
            "vc",
            "ws",
            "sm",
            "st",
            "sn",
            "rs",
            "sc",
            "sl",
            "sg",
            "sy",
            "sk",
            "si",
            "so",
            "es",
            "lk",
            "us",
            "za",
            "sd",
            "ss",
            "sr",
            "se",
            "ch",
            "sz",
            "tj",
            "tz",
            "th",
            "tl",
            "tg",
            "to",
            "tt",
            "tn",
            "tr",
            "tm",
            "tv",
            "ua",
            "ug",
            "hu",
            "uy",
            "uz",
            "vu",
            "ve",
            "vn",
            "ye",
            "zm",
            "zw"
          ]
        }
      },
      "annotations": {
        "inputType": "select",
        "inputOptionLabelsI18nPrefix": "userprofile.countries"
      },
      "required": {
        "roles": [
          "admin",
          "user"
        ]
      },
      "permissions": {
        "view": [
          "admin",
          "user"
        ],
        "edit": [
          "admin",
          "user"
        ]
      },
      "multivalued": false
    }

Anything else?

As a workround,it's possibile to add this annotation for country field:

        "inputOptionLabels": {
          "af": "${userprofile.countries.af}",
          "al": "${userprofile.countries.al}",
          "dz": "${userprofile.countries.dz}",
          "ad": "${userprofile.countries.ad}",
          "ao": "${userprofile.countries.ao}",
          "ag": "${userprofile.countries.ag}",
          "sa": "${userprofile.countries.sa}",
          "ar": "${userprofile.countries.ar}",
          "am": "${userprofile.countries.am}",
          "au": "${userprofile.countries.au}",
          "at": "${userprofile.countries.at}",
          "az": "${userprofile.countries.az}",
          "bs": "${userprofile.countries.bs}",
          "bh": "${userprofile.countries.bh}",
          "bd": "${userprofile.countries.bd}",
          "bb": "${userprofile.countries.bb}",
          "be": "${userprofile.countries.be}",
          "bz": "${userprofile.countries.bz}",
          "bj": "${userprofile.countries.bj}",
          "bt": "${userprofile.countries.bt}",
          "by": "${userprofile.countries.by}",
          "mm": "${userprofile.countries.mm}",
          "bo": "${userprofile.countries.bo}",
          "ba": "${userprofile.countries.ba}",
          "bw": "${userprofile.countries.bw}",
          "br": "${userprofile.countries.br}",
          "bn": "${userprofile.countries.bn}",
          "bg": "${userprofile.countries.bg}",
          "bf": "${userprofile.countries.bf}",
          "bi": "${userprofile.countries.bi}",
          "kh": "${userprofile.countries.kh}",
          "cm": "${userprofile.countries.cm}",
          "ca": "${userprofile.countries.ca}",
          "cv": "${userprofile.countries.cv}",
          "td": "${userprofile.countries.td}",
          "cl": "${userprofile.countries.cl}",
          "cn": "${userprofile.countries.cn}",
          "cy": "${userprofile.countries.cy}",
          "co": "${userprofile.countries.co}",
          "km": "${userprofile.countries.km}",
          "kp": "${userprofile.countries.kp}",
          "kr": "${userprofile.countries.kr}",
          "ci": "${userprofile.countries.ci}",
          "cr": "${userprofile.countries.cr}",
          "hr": "${userprofile.countries.hr}",
          "cu": "${userprofile.countries.cu}",
          "dk": "${userprofile.countries.dk}",
          "dm": "${userprofile.countries.dm}",
          "ec": "${userprofile.countries.ec}",
          "eg": "${userprofile.countries.eg}",
          "sv": "${userprofile.countries.sv}",
          "ae": "${userprofile.countries.ae}",
          "er": "${userprofile.countries.er}",
          "ee": "${userprofile.countries.ee}",
          "et": "${userprofile.countries.et}",
          "fj": "${userprofile.countries.fj}",
          "ph": "${userprofile.countries.ph}",
          "fi": "${userprofile.countries.fi}",
          "fr": "${userprofile.countries.fr}",
          "ga": "${userprofile.countries.ga}",
          "gm": "${userprofile.countries.gm}",
          "ge": "${userprofile.countries.ge}",
          "de": "${userprofile.countries.de}",
          "gh": "${userprofile.countries.gh}",
          "jm": "${userprofile.countries.jm}",
          "jp": "${userprofile.countries.jp}",
          "dj": "${userprofile.countries.dj}",
          "jo": "${userprofile.countries.jo}",
          "gr": "${userprofile.countries.gr}",
          "gd": "${userprofile.countries.gd}",
          "gt": "${userprofile.countries.gt}",
          "gn": "${userprofile.countries.gn}",
          "gw": "${userprofile.countries.gw}",
          "gq": "${userprofile.countries.gq}",
          "gy": "${userprofile.countries.gy}",
          "ht": "${userprofile.countries.ht}",
          "hn": "${userprofile.countries.hn}",
          "in": "${userprofile.countries.in}",
          "id": "${userprofile.countries.id}",
          "ir": "${userprofile.countries.ir}",
          "iq": "${userprofile.countries.iq}",
          "ie": "${userprofile.countries.ie}",
          "is": "${userprofile.countries.is}",
          "mh": "${userprofile.countries.mh}",
          "sb": "${userprofile.countries.sb}",
          "il": "${userprofile.countries.il}",
          "it": "${userprofile.countries.it}",
          "kz": "${userprofile.countries.kz}",
          "ke": "${userprofile.countries.ke}",
          "kg": "${userprofile.countries.kg}",
          "ki": "${userprofile.countries.ki}",
          "kw": "${userprofile.countries.kw}",
          "la": "${userprofile.countries.la}",
          "ls": "${userprofile.countries.ls}",
          "lv": "${userprofile.countries.lv}",
          "lb": "${userprofile.countries.lb}",
          "lr": "${userprofile.countries.lr}",
          "ly": "${userprofile.countries.ly}",
          "li": "${userprofile.countries.li}",
          "lt": "${userprofile.countries.lt}",
          "lu": "${userprofile.countries.lu}",
          "mk": "${userprofile.countries.mk}",
          "mg": "${userprofile.countries.mg}",
          "mw": "${userprofile.countries.mw}",
          "my": "${userprofile.countries.my}",
          "mv": "${userprofile.countries.mv}",
          "ml": "${userprofile.countries.ml}",
          "mt": "${userprofile.countries.mt}",
          "ma": "${userprofile.countries.ma}",
          "mr": "${userprofile.countries.mr}",
          "mu": "${userprofile.countries.mu}",
          "mx": "${userprofile.countries.mx}",
          "fm": "${userprofile.countries.fm}",
          "md": "${userprofile.countries.md}",
          "mn": "${userprofile.countries.mn}",
          "me": "${userprofile.countries.me}",
          "mz": "${userprofile.countries.mz}",
          "na": "${userprofile.countries.na}",
          "nr": "${userprofile.countries.nr}",
          "np": "${userprofile.countries.np}",
          "ni": "${userprofile.countries.ni}",
          "ne": "${userprofile.countries.ne}",
          "ng": "${userprofile.countries.ng}",
          "no": "${userprofile.countries.no}",
          "nz": "${userprofile.countries.nz}",
          "om": "${userprofile.countries.om}",
          "nl": "${userprofile.countries.nl}",
          "pk": "${userprofile.countries.pk}",
          "pw": "${userprofile.countries.pw}",
          "pa": "${userprofile.countries.pa}",
          "pg": "${userprofile.countries.pg}",
          "py": "${userprofile.countries.py}",
          "pe": "${userprofile.countries.pe}",
          "pl": "${userprofile.countries.pl}",
          "pt": "${userprofile.countries.pt}",
          "mc": "${userprofile.countries.mc}",
          "qa": "${userprofile.countries.qa}",
          "gb": "${userprofile.countries.gb}",
          "cd": "${userprofile.countries.cd}",
          "cz": "${userprofile.countries.cz}",
          "cf": "${userprofile.countries.cf}",
          "cg": "${userprofile.countries.cg}",
          "do": "${userprofile.countries.do}",
          "ro": "${userprofile.countries.ro}",
          "rw": "${userprofile.countries.rw}",
          "ru": "${userprofile.countries.ru}",
          "kn": "${userprofile.countries.kn}",
          "lc": "${userprofile.countries.lc}",
          "vc": "${userprofile.countries.vc}",
          "ws": "${userprofile.countries.ws}",
          "sm": "${userprofile.countries.sm}",
          "st": "${userprofile.countries.st}",
          "sn": "${userprofile.countries.sn}",
          "rs": "${userprofile.countries.rs}",
          "sc": "${userprofile.countries.sc}",
          "sl": "${userprofile.countries.sl}",
          "sg": "${userprofile.countries.sg}",
          "sy": "${userprofile.countries.sy}",
          "sk": "${userprofile.countries.sk}",
          "si": "${userprofile.countries.si}",
          "so": "${userprofile.countries.so}",
          "es": "${userprofile.countries.es}",
          "lk": "${userprofile.countries.lk}",
          "us": "${userprofile.countries.us}",
          "za": "${userprofile.countries.za}",
          "sd": "${userprofile.countries.sd}",
          "ss": "${userprofile.countries.ss}",
          "sr": "${userprofile.countries.sr}",
          "se": "${userprofile.countries.se}",
          "ch": "${userprofile.countries.ch}",
          "sz": "${userprofile.countries.sz}",
          "tj": "${userprofile.countries.tj}",
          "tz": "${userprofile.countries.tz}",
          "th": "${userprofile.countries.th}",
          "tl": "${userprofile.countries.tl}",
          "tg": "${userprofile.countries.tg}",
          "to": "${userprofile.countries.to}",
          "tt": "${userprofile.countries.tt}",
          "tn": "${userprofile.countries.tn}",
          "tr": "${userprofile.countries.tr}",
          "tm": "${userprofile.countries.tm}",
          "tv": "${userprofile.countries.tv}",
          "ua": "${userprofile.countries.ua}",
          "ug": "${userprofile.countries.ug}",
          "hu": "${userprofile.countries.hu}",
          "uy": "${userprofile.countries.uy}",
          "uz": "${userprofile.countries.uz}",
          "vu": "${userprofile.countries.vu}",
          "ve": "${userprofile.countries.ve}",
          "vn": "${userprofile.countries.vn}",
          "ye": "${userprofile.countries.ye}",
          "zm": "${userprofile.countries.zm}",
          "zw": "${userprofile.countries.zw}"
        }

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions