@@ -59,6 +59,271 @@ const STRINGS = {
5959 relFundedBy : $localize `:@@printView.relFundedBy:Funded by` ,
6060}
6161
62+ // Localized country names keyed by ISO 3166-1 alpha-2 code.
63+ // Mirrors `getCountryCodes` in
64+ // src/app/core/record-countries/record-countries.service.ts so the print view
65+ // can show a localized country name instead of the raw country code.
66+ // Values are replaced per-locale by the Angular localize pipeline at build time.
67+ const COUNTRY_NAMES = {
68+ AF : $localize `:@@share.af:Afghanistan` ,
69+ AL : $localize `:@@share.AL:Albania` ,
70+ DZ : $localize `:@@share.DZ:Algeria` ,
71+ AS : $localize `:@@share.AS:American Samoa` ,
72+ AD : $localize `:@@share.AD:Andorra` ,
73+ AO : $localize `:@@share.AO:Angola` ,
74+ AI : $localize `:@@share.AI:Anguilla` ,
75+ AQ : $localize `:@@share.AQ:Antarctica` ,
76+ AG : $localize `:@@share.AG:Antigua and Barbuda` ,
77+ AR : $localize `:@@share.AR:Argentina` ,
78+ AM : $localize `:@@share.AM:Armenia` ,
79+ AW : $localize `:@@share.AW:Aruba` ,
80+ AU : $localize `:@@share.AU:Australia` ,
81+ AT : $localize `:@@share.AT:Austria` ,
82+ AZ : $localize `:@@share.AZ:Azerbaijan` ,
83+ BS : $localize `:@@share.BS:Bahamas` ,
84+ BH : $localize `:@@share.BH:Bahrain` ,
85+ BD : $localize `:@@share.BD:Bangladesh` ,
86+ BB : $localize `:@@share.BB:Barbados` ,
87+ BY : $localize `:@@share.BY:Belarus` ,
88+ BE : $localize `:@@share.BE:Belgium` ,
89+ BZ : $localize `:@@share.BZ:Belize` ,
90+ BJ : $localize `:@@share.BJ:Benin` ,
91+ BM : $localize `:@@share.BM:Bermuda` ,
92+ BT : $localize `:@@share.BT:Bhutan` ,
93+ BO : $localize `:@@share.BO:Bolivia` ,
94+ BA : $localize `:@@share.BA:Bosnia and Herzegovina` ,
95+ BW : $localize `:@@share.BW:Botswana` ,
96+ BV : $localize `:@@share.BV:Bouvet Island` ,
97+ BR : $localize `:@@share.BR:Brazil` ,
98+ BQ : $localize `:@@share.BQ:British Antarctic Territory` ,
99+ IO : $localize `:@@share.IO:British Indian Ocean Territory` ,
100+ VG : $localize `:@@share.VG:British Virgin Islands` ,
101+ BN : $localize `:@@share.BN:Brunei` ,
102+ BG : $localize `:@@share.BG:Bulgaria` ,
103+ BF : $localize `:@@share.BF:Burkina Faso` ,
104+ BI : $localize `:@@share.BI:Burundi` ,
105+ KH : $localize `:@@share.KH:Cambodia` ,
106+ CM : $localize `:@@share.CM:Cameroon` ,
107+ CA : $localize `:@@share.CA:Canada` ,
108+ CV : $localize `:@@share.CV:Cape Verde` ,
109+ KY : $localize `:@@share.KY:Cayman Islands` ,
110+ CF : $localize `:@@share.CF:Central African Republic` ,
111+ TD : $localize `:@@share.TD:Chad` ,
112+ CL : $localize `:@@share.CL:Chile` ,
113+ CN : $localize `:@@share.CN:China` ,
114+ CX : $localize `:@@share.CX:Christmas Island` ,
115+ CC : $localize `:@@share.CC:Cocos [Keeling] Islands` ,
116+ CO : $localize `:@@share.CO:Colombia` ,
117+ KM : $localize `:@@share.KM:Comoros` ,
118+ CG : $localize `:@@share.CG:Congo - Brazzaville` ,
119+ CD : $localize `:@@share.CD:Congo - Kinshasa` ,
120+ CK : $localize `:@@share.CK:Cook Islands` ,
121+ CR : $localize `:@@share.CR:Costa Rica` ,
122+ HR : $localize `:@@share.HR:Croatia` ,
123+ CU : $localize `:@@share.CU:Cuba` ,
124+ CW : $localize `:@@share.CW:Curaçao` ,
125+ CY : $localize `:@@share.CY:Cyprus` ,
126+ CZ : $localize `:@@share.CZ:Czech Republic` ,
127+ CI : $localize `:@@share.CI:Côte d'Ivoire` ,
128+ DK : $localize `:@@share.DK:Denmark` ,
129+ DJ : $localize `:@@share.DJ:Djibouti` ,
130+ DM : $localize `:@@share.DM:Dominica` ,
131+ DO : $localize `:@@share.DO:Dominican Republic` ,
132+ EC : $localize `:@@share.EC:Ecuador` ,
133+ EG : $localize `:@@share.EG:Egypt` ,
134+ SV : $localize `:@@share.SV:El Salvador` ,
135+ GQ : $localize `:@@share.GQ:Equatorial Guinea` ,
136+ ER : $localize `:@@share.ER:Eritrea` ,
137+ EE : $localize `:@@share.EE:Estonia` ,
138+ ET : $localize `:@@share.ET:Ethiopia` ,
139+ FK : $localize `:@@share.FK:Falkland Islands` ,
140+ FO : $localize `:@@share.FO:Faroe Islands` ,
141+ FJ : $localize `:@@share.FJ:Fiji` ,
142+ FI : $localize `:@@share.FI:Finland` ,
143+ FR : $localize `:@@share.FR:France` ,
144+ GF : $localize `:@@share.GF:French Guiana` ,
145+ PF : $localize `:@@share.PF:French Polynesia` ,
146+ TF : $localize `:@@share.TF:French Southern Territories` ,
147+ GA : $localize `:@@share.GA:Gabon` ,
148+ GM : $localize `:@@share.GM:Gambia` ,
149+ GE : $localize `:@@share.GE:Georgia` ,
150+ DE : $localize `:@@share.DE:Germany` ,
151+ GH : $localize `:@@share.GH:Ghana` ,
152+ GI : $localize `:@@share.GI:Gibraltar` ,
153+ GR : $localize `:@@share.GR:Greece` ,
154+ GL : $localize `:@@share.GL:Greenland` ,
155+ GD : $localize `:@@share.GD:Grenada` ,
156+ GP : $localize `:@@share.GP:Guadeloupe` ,
157+ GU : $localize `:@@share.GU:Guam` ,
158+ GT : $localize `:@@share.GT:Guatemala` ,
159+ GG : $localize `:@@share.GG:Guernsey` ,
160+ GN : $localize `:@@share.GN:Guinea` ,
161+ GW : $localize `:@@share.GW:Guinea-Bissau` ,
162+ GY : $localize `:@@share.GY:Guyana` ,
163+ HT : $localize `:@@share.HT:Haiti` ,
164+ HM : $localize `:@@share.HM:Heard Island and McDonald Islands` ,
165+ HN : $localize `:@@share.HN:Honduras` ,
166+ HK : $localize `:@@share.HK:Hong Kong SAR China` ,
167+ HU : $localize `:@@share.HU:Hungary` ,
168+ IS : $localize `:@@share.IS:Iceland` ,
169+ IN : $localize `:@@share.IN:India` ,
170+ ID : $localize `:@@share.ID:Indonesia` ,
171+ IR : $localize `:@@share.IR:Iran` ,
172+ IQ : $localize `:@@share.IQ:Iraq` ,
173+ IE : $localize `:@@share.IE:Ireland` ,
174+ IM : $localize `:@@share.IM:Isle of Man` ,
175+ IL : $localize `:@@share.IL:Israel` ,
176+ IT : $localize `:@@share.IT:Italy` ,
177+ JM : $localize `:@@share.JM:Jamaica` ,
178+ JP : $localize `:@@share.JP:Japan` ,
179+ JE : $localize `:@@share.JE:Jersey` ,
180+ JO : $localize `:@@share.JO:Jordan` ,
181+ KZ : $localize `:@@share.KZ:Kazakhstan` ,
182+ KE : $localize `:@@share.KE:Kenya` ,
183+ KI : $localize `:@@share.KI:Kiribati` ,
184+ XK : $localize `:@@share.XK:Kosovo` ,
185+ KW : $localize `:@@share.KW:Kuwait` ,
186+ KG : $localize `:@@share.KG:Kyrgyzstan` ,
187+ LA : $localize `:@@share.LA:Laos` ,
188+ LV : $localize `:@@share.LV:Latvia` ,
189+ LB : $localize `:@@share.LB:Lebanon` ,
190+ LS : $localize `:@@share.LS:Lesotho` ,
191+ LR : $localize `:@@share.LR:Liberia` ,
192+ LY : $localize `:@@share.LY:Libya` ,
193+ LI : $localize `:@@share.LI:Liechtenstein` ,
194+ LT : $localize `:@@share.LT:Lithuania` ,
195+ LU : $localize `:@@share.LU:Luxembourg` ,
196+ MO : $localize `:@@share.MO:Macau SAR China` ,
197+ MG : $localize `:@@share.MG:Madagascar` ,
198+ MW : $localize `:@@share.MW:Malawi` ,
199+ MY : $localize `:@@share.MY:Malaysia` ,
200+ MV : $localize `:@@share.MV:Maldives` ,
201+ ML : $localize `:@@share.ML:Mali` ,
202+ MT : $localize `:@@share.MT:Malta` ,
203+ MH : $localize `:@@share.MH:Marshall Islands` ,
204+ MQ : $localize `:@@share.MQ:Martinique` ,
205+ MR : $localize `:@@share.MR:Mauritania` ,
206+ MU : $localize `:@@share.MU:Mauritius` ,
207+ YT : $localize `:@@share.YT:Mayotte` ,
208+ MX : $localize `:@@share.MX:Mexico` ,
209+ FM : $localize `:@@share.FM:Micronesia` ,
210+ MD : $localize `:@@share.MD:Moldova` ,
211+ MC : $localize `:@@share.MC:Monaco` ,
212+ MN : $localize `:@@share.MN:Mongolia` ,
213+ ME : $localize `:@@share.ME:Montenegro` ,
214+ MS : $localize `:@@share.MS:Montserrat` ,
215+ MA : $localize `:@@share.MA:Morocco` ,
216+ MZ : $localize `:@@share.MZ:Mozambique` ,
217+ MM : $localize `:@@share.MM:Myanmar [Burma]` ,
218+ NA : $localize `:@@share.NA:Namibia` ,
219+ NR : $localize `:@@share.NR:Nauru` ,
220+ NP : $localize `:@@share.NP:Nepal` ,
221+ NL : $localize `:@@share.NL:Netherlands` ,
222+ NC : $localize `:@@share.NC:New Caledonia` ,
223+ NZ : $localize `:@@share.NZ:New Zealand` ,
224+ NI : $localize `:@@share.NI:Nicaragua` ,
225+ NE : $localize `:@@share.NE:Niger` ,
226+ NG : $localize `:@@share.NG:Nigeria` ,
227+ NU : $localize `:@@share.NU:Niue` ,
228+ NF : $localize `:@@share.NF:Norfolk Island` ,
229+ KP : $localize `:@@share.KP:North Korea` ,
230+ MK : $localize `:@@share.MK:North Macedonia` ,
231+ MP : $localize `:@@share.MP:Northern Mariana Islands` ,
232+ NO : $localize `:@@share.NO:Norway` ,
233+ OM : $localize `:@@share.OM:Oman` ,
234+ PK : $localize `:@@share.PK:Pakistan` ,
235+ PW : $localize `:@@share.PW:Palau` ,
236+ PS : $localize `:@@share.PS:Palestinian Territories` ,
237+ PA : $localize `:@@share.PA:Panama` ,
238+ PG : $localize `:@@share.PG:Papua New Guinea` ,
239+ PY : $localize `:@@share.PY:Paraguay` ,
240+ PE : $localize `:@@share.PE:Peru` ,
241+ PH : $localize `:@@share.PH:Philippines` ,
242+ PN : $localize `:@@share.PN:Pitcairn Islands` ,
243+ PL : $localize `:@@share.PL:Poland` ,
244+ PT : $localize `:@@share.PT:Portugal` ,
245+ PR : $localize `:@@share.PR:Puerto Rico` ,
246+ QA : $localize `:@@share.QA:Qatar` ,
247+ RO : $localize `:@@share.RO:Romania` ,
248+ RU : $localize `:@@share.RU:Russia` ,
249+ RW : $localize `:@@share.RW:Rwanda` ,
250+ RE : $localize `:@@share.RE:Réunion` ,
251+ BL : $localize `:@@share.BL:Saint Barthélemy` ,
252+ SH : $localize `:@@share.SH:Saint Helena` ,
253+ KN : $localize `:@@share.KN:Saint Kitts and Nevis` ,
254+ LC : $localize `:@@share.LC:Saint Lucia` ,
255+ MF : $localize `:@@share.MF:Saint Martin` ,
256+ PM : $localize `:@@share.PM:Saint Pierre and Miquelon` ,
257+ VC : $localize `:@@share.VC:Saint Vincent and the Grenadines` ,
258+ WS : $localize `:@@share.WS:Samoa` ,
259+ SM : $localize `:@@share.SM:San Marino` ,
260+ SA : $localize `:@@share.SA:Saudi Arabia` ,
261+ SN : $localize `:@@share.SN:Senegal` ,
262+ RS : $localize `:@@share.RS:Serbia` ,
263+ SC : $localize `:@@share.SC:Seychelles` ,
264+ SL : $localize `:@@share.SL:Sierra Leone` ,
265+ SG : $localize `:@@share.SG:Singapore` ,
266+ SX : $localize `:@@share.SX:Sint Maarten (Dutch Part)` ,
267+ SK : $localize `:@@share.SK:Slovakia` ,
268+ SI : $localize `:@@share.SI:Slovenia` ,
269+ SB : $localize `:@@share.SB:Solomon Islands` ,
270+ SO : $localize `:@@share.SO:Somalia` ,
271+ ZA : $localize `:@@share.ZA:South Africa` ,
272+ GS : $localize `:@@share.GS:South Georgia and the South Sandwich Islands` ,
273+ KR : $localize `:@@share.KR:South Korea` ,
274+ SS : $localize `:@@share.SS:South Sudan` ,
275+ ES : $localize `:@@share.ES:Spain` ,
276+ LK : $localize `:@@share.LK:Sri Lanka` ,
277+ SD : $localize `:@@share.SD:Sudan` ,
278+ SR : $localize `:@@share.SR:Suriname` ,
279+ SJ : $localize `:@@share.SJ:Svalbard and Jan Mayen` ,
280+ SZ : $localize `:@@share.SZ:Swaziland` ,
281+ SE : $localize `:@@share.SE:Sweden` ,
282+ CH : $localize `:@@share.CH:Switzerland` ,
283+ SY : $localize `:@@share.SY:Syria` ,
284+ ST : $localize `:@@share.ST:São Tomé and Príncipe` ,
285+ TW : $localize `:@@share.TW:Taiwan` ,
286+ TJ : $localize `:@@share.TJ:Tajikistan` ,
287+ TZ : $localize `:@@share.TZ:Tanzania` ,
288+ TH : $localize `:@@share.TH:Thailand` ,
289+ TL : $localize `:@@share.TL:Timor-Leste` ,
290+ TG : $localize `:@@share.TG:Togo` ,
291+ TK : $localize `:@@share.TK:Tokelau` ,
292+ TO : $localize `:@@share.TO:Tonga` ,
293+ TT : $localize `:@@share.TT:Trinidad and Tobago` ,
294+ TN : $localize `:@@share.TN:Tunisia` ,
295+ TR : $localize `:@@share.TR:Türkiye` ,
296+ TM : $localize `:@@share.TM:Turkmenistan` ,
297+ TC : $localize `:@@share.TC:Turks and Caicos Islands` ,
298+ TV : $localize `:@@share.TV:Tuvalu` ,
299+ UM : $localize `:@@share.UM:U.S. Minor Outlying Islands` ,
300+ VI : $localize `:@@share.VI:U.S. Virgin Islands` ,
301+ UG : $localize `:@@share.UG:Uganda` ,
302+ UA : $localize `:@@share.UA:Ukraine` ,
303+ AE : $localize `:@@share.AE:United Arab Emirates` ,
304+ GB : $localize `:@@share.GB:United Kingdom` ,
305+ US : $localize `:@@share.US:United States` ,
306+ UY : $localize `:@@share.UY:Uruguay` ,
307+ UZ : $localize `:@@share.UZ:Uzbekistan` ,
308+ VU : $localize `:@@share.VU:Vanuatu` ,
309+ VA : $localize `:@@share.VA:Vatican City` ,
310+ VE : $localize `:@@share.VE:Venezuela` ,
311+ VN : $localize `:@@share.VN:Vietnam` ,
312+ WF : $localize `:@@share.WF:Wallis and Futuna` ,
313+ EH : $localize `:@@share.EH:Western Sahara` ,
314+ YE : $localize `:@@share.YE:Yemen` ,
315+ ZM : $localize `:@@share.ZM:Zambia` ,
316+ ZW : $localize `:@@share.ZW:Zimbabwe` ,
317+ AX : $localize `:@@share.AX:Åland Islands` ,
318+ }
319+
320+ // Returns the localized country name for an ISO 3166-1 alpha-2 code.
321+ // Falls back to the original value (e.g. the raw code) when no match is found.
322+ function localizedCountryName ( countryCode ) {
323+ const code = ( countryCode || '' ) . trim ( ) . toUpperCase ( )
324+ return COUNTRY_NAMES [ code ] || countryCode
325+ }
326+
62327const ORCID_REGEX = / \b \d { 4 } - \d { 4 } - \d { 4 } - \d { 3 } [ \d X ] \b / i
63328
64329const cvRoot = document . getElementById ( 'cv-root' )
@@ -384,7 +649,7 @@ function renderPersonalInfoFromJson(recordJson, container) {
384649
385650 const countries = jsonList ( person ?. addresses ?. address )
386651 . map ( ( a ) => {
387- return jsonText ( a ?. country )
652+ return localizedCountryName ( jsonText ( a ?. country ) )
388653 } )
389654 . filter ( Boolean )
390655
0 commit comments