Skip to content

Commit 2240269

Browse files
authored
{PD-5748} Localized country names (#2868)
* PD-5748 Localized country names * PD-5748 change key name from shared to printView
1 parent 0a4ec14 commit 2240269

5 files changed

Lines changed: 389 additions & 124 deletions

File tree

src/assets/print-view/fetch-orcid.js

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

64329
const 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

Comments
 (0)