geonetwork-ui 2.7.0-dev.7a5d403cf → 2.7.0-dev.7cec835f7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/esm2022/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.mjs +4 -7
  2. package/esm2022/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.mjs +20 -20
  3. package/esm2022/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.mjs +3 -3
  4. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.mjs +3 -3
  5. package/esm2022/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.mjs +3 -3
  6. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/read-parts.mjs +4 -4
  7. package/esm2022/libs/api/metadata-converter/src/lib/iso19139/write-parts.mjs +4 -4
  8. package/esm2022/libs/api/repository/src/index.mjs +2 -2
  9. package/esm2022/libs/api/repository/src/lib/gn4/auth/auth.service.mjs +5 -5
  10. package/esm2022/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.mjs +9 -10
  11. package/esm2022/libs/api/repository/src/lib/gn4/gn4-repository.mjs +3 -3
  12. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.mjs +3 -3
  13. package/esm2022/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.mjs +3 -3
  14. package/esm2022/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.mjs +3 -3
  15. package/esm2022/libs/api/repository/src/lib/metadata-language.token.mjs +3 -0
  16. package/esm2022/libs/feature/catalog/src/lib/sources/sources.service.mjs +3 -3
  17. package/esm2022/libs/util/app-config/src/lib/fixtures.mjs +2 -2
  18. package/esm2022/libs/util/app-config/src/lib/parse-utils.mjs +5 -4
  19. package/esm2022/libs/util/i18n/src/lib/language-codes.mjs +50 -9
  20. package/fesm2022/geonetwork-ui.mjs +96 -497
  21. package/fesm2022/geonetwork-ui.mjs.map +1 -1
  22. package/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.d.ts.map +1 -1
  23. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts +1 -1
  24. package/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.d.ts.map +1 -1
  25. package/libs/api/repository/src/index.d.ts +1 -1
  26. package/libs/api/repository/src/index.d.ts.map +1 -1
  27. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts +0 -1
  28. package/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.d.ts.map +1 -1
  29. package/libs/api/repository/src/lib/metadata-language.token.d.ts +5 -0
  30. package/libs/api/repository/src/lib/metadata-language.token.d.ts.map +1 -0
  31. package/libs/feature/catalog/src/lib/sources/sources.service.d.ts.map +1 -1
  32. package/libs/util/app-config/src/lib/parse-utils.d.ts.map +1 -1
  33. package/libs/util/i18n/src/lib/language-codes.d.ts +91 -31
  34. package/libs/util/i18n/src/lib/language-codes.d.ts.map +1 -1
  35. package/package.json +1 -1
  36. package/src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts +3 -6
  37. package/src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts +47 -22
  38. package/src/libs/api/metadata-converter/src/lib/gn4/metadata-url.service.ts +2 -2
  39. package/src/libs/api/metadata-converter/src/lib/iso19115-3/read-parts.ts +2 -2
  40. package/src/libs/api/metadata-converter/src/lib/iso19115-3/write-parts.ts +2 -2
  41. package/src/libs/api/metadata-converter/src/lib/iso19139/read-parts.ts +3 -3
  42. package/src/libs/api/metadata-converter/src/lib/iso19139/write-parts.ts +3 -3
  43. package/src/libs/api/repository/src/index.ts +1 -1
  44. package/src/libs/api/repository/src/lib/gn4/auth/auth.service.ts +4 -4
  45. package/src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts +15 -11
  46. package/src/libs/api/repository/src/lib/gn4/gn4-repository.ts +2 -2
  47. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-groups.service.ts +2 -2
  48. package/src/libs/api/repository/src/lib/gn4/organizations/organizations-from-metadata.service.ts +2 -2
  49. package/src/libs/api/repository/src/lib/gn4/platform/gn4-platform.service.ts +2 -2
  50. package/src/libs/api/repository/src/lib/metadata-language.token.ts +8 -0
  51. package/src/libs/feature/catalog/src/lib/sources/sources.service.ts +2 -5
  52. package/src/libs/util/app-config/src/lib/fixtures.ts +1 -1
  53. package/src/libs/util/app-config/src/lib/parse-utils.ts +4 -7
  54. package/src/libs/util/i18n/src/lib/language-codes.ts +62 -11
  55. package/esm2022/libs/api/repository/src/lib/metadata-language.mjs +0 -3
  56. package/esm2022/libs/util/app-config/src/lib/constants.mjs +0 -439
  57. package/libs/api/repository/src/lib/metadata-language.d.ts +0 -3
  58. package/libs/api/repository/src/lib/metadata-language.d.ts.map +0 -1
  59. package/libs/util/app-config/src/lib/constants.d.ts +0 -2
  60. package/libs/util/app-config/src/lib/constants.d.ts.map +0 -1
  61. package/src/libs/api/repository/src/lib/metadata-language.ts +0 -3
@@ -1 +1 @@
1
- {"version":3,"file":"read-parts.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGpD,OAAO,EAGL,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,YAAY,EAEZ,cAAc,EAEd,YAAY,EACZ,kBAAkB,EACnB,MAAM,2DAA2D,CAAA;AAiBlE,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,MAAM,CAER;AAED,wBAAgB,SAAS,CACvB,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,MAAM,CAYR;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,MAAM,CAYR;AA8BD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,UAAU,EAAE,CAOd;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,UAAU,EAAE,CAQd;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,GAAG,GAAG,CAI5E;AAgHD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,gBAAgB,EAAE,SAAS,EAC3B,eAAe,EAAE,YAAY,GAC5B,cAAc,CAwBhB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,cAAc,EAAE,CAUlB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,oBAAoB,EAAE,CAuBxB;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,OAAO,EAAE,CAaX;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE,CAW5E;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAKN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAKN;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,KAAK,GAAG,YAAY,CAapE;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,2FA0BnE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,UA6B1E"}
1
+ {"version":3,"file":"read-parts.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/dcat-ap/read-parts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAa,KAAK,EAAE,MAAM,QAAQ,CAAA;AAGpD,OAAO,EAGL,oBAAoB,EACpB,UAAU,EACV,OAAO,EACP,YAAY,EAEZ,cAAc,EAEd,YAAY,EACZ,kBAAkB,EACnB,MAAM,2DAA2D,CAAA;AAiBlE,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,MAAM,CAER;AAED,wBAAgB,SAAS,CACvB,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,MAAM,CAYR;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,MAAM,CAYR;AA8BD,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,UAAU,EAAE,CAOd;AAED,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,UAAU,EAAE,CAQd;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,GAAG,GAAG,CAI5E;AAgHD,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,gBAAgB,EAAE,SAAS,EAC3B,eAAe,EAAE,YAAY,GAC5B,cAAc,CAwBhB;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,kBAAkB,EAChC,eAAe,EAAE,YAAY,GAC5B,cAAc,EAAE,CAUlB;AAED,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,oBAAoB,EAAE,CAuBxB;AAED,wBAAgB,YAAY,CAC1B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,OAAO,EAAE,CAaX;AAED,wBAAgB,UAAU,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,GAAG,MAAM,EAAE,CAW5E;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAIN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAKN;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,KAAK,EAChB,UAAU,EAAE,SAAS,GACpB,IAAI,CAKN;AAED,wBAAgB,qBAAqB,CAAC,SAAS,EAAE,KAAK,GAAG,YAAY,CAapE;AAED,wBAAgB,YAAY,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,2FA0BnE;AAED,wBAAgB,mBAAmB,CAAC,SAAS,EAAE,KAAK,EAAE,UAAU,EAAE,SAAS,UA0B1E"}
@@ -9,7 +9,7 @@ export declare class Gn4FieldMapper {
9
9
  private metadataUrlService;
10
10
  private translateService;
11
11
  constructor(metadataUrlService: MetadataUrlService, translateService: TranslateService);
12
- private get lang3();
12
+ private get getLocalizedIndexKey();
13
13
  protected fields: Record<string, EsFieldMapperFn>;
14
14
  private genericField;
15
15
  private constraintField;
@@ -1 +1 @@
1
- {"version":3,"file":"gn4.field.mapper.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAI3D,OAAO,EACL,aAAa,EAGb,cAAc,EACd,kBAAkB,EACnB,MAAM,2DAA2D,CAAA;AAIlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAMtD,KAAK,gBAAgB,GAAG,sBAAsB,CAAA;AAE9C,KAAK,eAAe,GAAG,CACrB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,aAAa,CAAC,CAAA;AAE3B,qBAGa,cAAc;IAEvB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,gBAAgB;gBADhB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB;IAG5C,OAAO,KAAK,KAAK,GAEhB;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAgYhD;IAED,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,eAAe,CAqCtB;IAED,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAqB/D,OAAO,eAAgB,sBAAsB,KAAG,cAAc,GAAG,IAAI,CAwEpE;IAED,OAAO,CAAC,QAAQ,CAGd;yCA3hBS,cAAc;6CAAd,cAAc;CA4hB1B"}
1
+ {"version":3,"file":"gn4.field.mapper.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/api/metadata-converter/src/lib/gn4/gn4.field.mapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,sBAAsB,EAEvB,MAAM,qBAAqB,CAAA;AAC5B,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAA;AAI3D,OAAO,EACL,aAAa,EAGb,cAAc,EACd,kBAAkB,EACnB,MAAM,2DAA2D,CAAA;AAIlE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAGtD,KAAK,gBAAgB,GAAG,sBAAsB,CAAA;AAE9C,KAAK,eAAe,GAAG,CACrB,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,EAC9B,MAAM,EAAE,gBAAgB,KACrB,OAAO,CAAC,aAAa,CAAC,CAAA;AAE3B,qBAGa,cAAc;IAEvB,OAAO,CAAC,kBAAkB;IAC1B,OAAO,CAAC,gBAAgB;gBADhB,kBAAkB,EAAE,kBAAkB,EACtC,gBAAgB,EAAE,gBAAgB;IAG5C,OAAO,KAAK,oBAAoB,GAE/B;IAED,SAAS,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAiZhD;IAED,OAAO,CAAC,YAAY,CAAqB;IAEzC,OAAO,CAAC,eAAe,CAwCtB;IAED,YAAY,CAAC,SAAS,EAAE,MAAM;IAI9B,WAAW,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,kBAAkB;IAqB/D,OAAO,eAAgB,sBAAsB,KAAG,cAAc,GAAG,IAAI,CAgFpE;IAED,OAAO,CAAC,QAAQ,CAGd;yCAvjBS,cAAc;6CAAd,cAAc;CAwjB1B"}
@@ -1,4 +1,4 @@
1
- export * from './lib/metadata-language';
1
+ export * from './lib/metadata-language.token';
2
2
  export * from './lib/repository-url';
3
3
  export * from './lib/gn4';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/repository/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,yBAAyB,CAAA;AACvC,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/libs/api/repository/src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAA;AAC7C,cAAc,sBAAsB,CAAA;AACpC,cAAc,WAAW,CAAA"}
@@ -13,7 +13,6 @@ export declare class ElasticsearchService {
13
13
  private translateService;
14
14
  private injector;
15
15
  private runtimeFields;
16
- private get lang3();
17
16
  private get metadataLang();
18
17
  constructor(translateService: TranslateService, injector: Injector);
19
18
  getSearchRequestBody(aggregations?: any, size?: number, from?: number, sortBy?: SortByField, requestFields?: RequestFields, searchFilters?: SearchFilters, configFilters?: SearchFilters, uuids?: string[], geometry?: Geometry): EsSearchParams;
@@ -1 +1 @@
1
- {"version":3,"file":"elasticsearch.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAMvC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAKlB,WAAW,EACZ,MAAM,8DAA8D,CAAA;AAErE,OAAO,EACL,iBAAiB,EACjB,cAAc,EAGd,aAAa,EACb,aAAa,EAGd,MAAM,sDAAsD,CAAA;AAG7D,OAAO,EAAE,aAAa,EAAE,MAAM,8DAA8D,CAAA;AAC5F,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAKtD,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAEpD,qBAGa,oBAAoB;IAc7B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ;IAZlB,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,KAAK,KAAK,GAEhB;IACD,OAAO,KAAK,YAAY,GAEvB;gBAGS,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ;IAG5B,oBAAoB,CAClB,YAAY,GAAE,GAAQ,EACtB,IAAI,SAAI,EACR,IAAI,SAAI,EACR,MAAM,GAAE,WAAkB,EAC1B,aAAa,GAAE,aAAoB,EACnC,aAAa,GAAE,aAAkB,EACjC,aAAa,GAAE,aAAkB,EACjC,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,QAAQ,GAClB,cAAc;IAoBjB,OAAO,CAAC,oBAAoB;IA4C5B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI1D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc;IAUxD,uBAAuB,CACrB,MAAM,EAAE,aAAa,EACrB,IAAI,SAAI,EACR,OAAO,WAAuC,GAC7C,cAAc;IAkDjB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,YAAY;IAOpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IA+GzB,6BAA6B,CAC3B,YAAY,EAAE,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,cAAc;IAQjB,mBAAmB,CAAC,GAAG,KAAA,EAAE,MAAM,KAAA;;;;;;;IAU/B,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IA6BvD,kBAAkB,CAAC,WAAW,KAAA;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IAEH,yBAAyB,CAAC,WAAW,KAAA;IAkBrC,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,uBAAuB;IAO/B,wBAAwB,CAAC,YAAY,EAAE,kBAAkB,GAAG,GAAG;IA2C/D,sBAAsB,CACpB,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,iBAAiB,GAC9B,WAAW;yCA5kBH,oBAAoB;6CAApB,oBAAoB;CAonBhC"}
1
+ {"version":3,"file":"elasticsearch.service.d.ts","sourceRoot":"","sources":["../../../../../../../src/libs/api/repository/src/lib/gn4/elasticsearch/elasticsearch.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAc,QAAQ,EAAE,MAAM,eAAe,CAAA;AACpD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAMvC,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAKlB,WAAW,EACZ,MAAM,8DAA8D,CAAA;AAErE,OAAO,EACL,iBAAiB,EACjB,cAAc,EAGd,aAAa,EACb,aAAa,EAGd,MAAM,sDAAsD,CAAA;AAG7D,OAAO,EACL,aAAa,EAEd,MAAM,8DAA8D,CAAA;AACrE,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAKtD,MAAM,MAAM,SAAS,GAAG;IAAE,KAAK,CAAC,EAAE,IAAI,CAAC;IAAC,GAAG,CAAC,EAAE,IAAI,CAAA;CAAE,CAAA;AAEpD,qBAGa,oBAAoB;IAY7B,OAAO,CAAC,gBAAgB;IACxB,OAAO,CAAC,QAAQ;IAVlB,OAAO,CAAC,aAAa,CAA6B;IAGlD,OAAO,KAAK,YAAY,GAGvB;gBAGS,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,EAAE,QAAQ;IAG5B,oBAAoB,CAClB,YAAY,GAAE,GAAQ,EACtB,IAAI,SAAI,EACR,IAAI,SAAI,EACR,MAAM,GAAE,WAAkB,EAC1B,aAAa,GAAE,aAAoB,EACnC,aAAa,GAAE,aAAkB,EACjC,aAAa,GAAE,aAAkB,EACjC,KAAK,CAAC,EAAE,MAAM,EAAE,EAChB,QAAQ,CAAC,EAAE,QAAQ,GAClB,cAAc;IAoBjB,OAAO,CAAC,oBAAoB;IA4C5B,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM;IAI1D,uBAAuB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,cAAc;IAUxD,uBAAuB,CACrB,MAAM,EAAE,aAAa,EACrB,IAAI,SAAI,EACR,OAAO,WAAuC,GAC7C,cAAc;IAkDjB,OAAO,CAAC,gBAAgB;IAMxB,OAAO,CAAC,6BAA6B;IA0BrC,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,mBAAmB;IAI3B,OAAO,CAAC,cAAc;IAkEtB,OAAO,CAAC,cAAc;IAWtB,OAAO,CAAC,iBAAiB;IA+GzB,6BAA6B,CAC3B,YAAY,EAAE,GAAG,EACjB,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,aAAa,EAC5B,aAAa,EAAE,aAAa,GAC3B,cAAc;IAQjB,mBAAmB,CAAC,GAAG,KAAA,EAAE,MAAM,KAAA;;;;;;;IAU/B,wBAAwB,CAAC,KAAK,EAAE,MAAM,GAAG,cAAc;IA6BvD,kBAAkB,CAAC,WAAW,KAAA;IAI9B;;;;;;;;;;;;;;;;;;;;;;;;;OAyBG;IAEH,yBAAyB,CAAC,WAAW,KAAA;IAkBrC,OAAO,CAAC,cAAc;IA2CtB,OAAO,CAAC,uBAAuB;IAO/B,wBAAwB,CAAC,YAAY,EAAE,kBAAkB,GAAG,GAAG;IA2C/D,sBAAsB,CACpB,MAAM,EAAE,iBAAiB,EACzB,YAAY,EAAE,iBAAiB,GAC9B,WAAW;yCA7kBH,oBAAoB;6CAApB,oBAAoB;CAqnBhC"}
@@ -0,0 +1,5 @@
1
+ import { InjectionToken } from '@angular/core';
2
+ import { LanguageCode } from '../../../../../libs/common/domain/src/lib/model/record';
3
+ export type LanguageCodeFactory = () => LanguageCode;
4
+ export declare const METADATA_LANGUAGE: InjectionToken<string | LanguageCodeFactory>;
5
+ //# sourceMappingURL=metadata-language.token.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"metadata-language.token.d.ts","sourceRoot":"","sources":["../../../../../src/libs/api/repository/src/lib/metadata-language.token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,wDAAwD,CAAA;AAErF,MAAM,MAAM,mBAAmB,GAAG,MAAM,YAAY,CAAA;AAEpD,eAAO,MAAM,iBAAiB,8CAER,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"sources.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/catalog/src/lib/sources/sources.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAGtD,qBAGa,cAAc;IAMvB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IAN1B,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAEhB;gBAGX,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB;IAG5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;yCAVrC,cAAc;6CAAd,cAAc;CAoB1B"}
1
+ {"version":3,"file":"sources.service.d.ts","sourceRoot":"","sources":["../../../../../../src/libs/feature/catalog/src/lib/sources/sources.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4CAA4C,CAAA;AAC9E,OAAO,EAAE,UAAU,EAAE,MAAM,MAAM,CAAA;AAEjC,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAA;;AAGtD,qBAGa,cAAc;IAMvB,OAAO,CAAC,iBAAiB;IACzB,OAAO,CAAC,gBAAgB;IAN1B,QAAQ,EAAE,UAAU,CAAC,aAAa,EAAE,CAAC,CAEhB;gBAGX,iBAAiB,EAAE,iBAAiB,EACpC,gBAAgB,EAAE,gBAAgB;IAG5C,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,UAAU,CAAC,MAAM,CAAC;yCAVrC,cAAc;6CAAd,cAAc;CAiB1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"parse-utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/app-config/src/lib/parse-utils.ts"],"names":[],"mappings":"AAsCA;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwBhC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EACxD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAuBlC;AAED,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,GAAG,EACxB,WAAW,EAAE,MAAM,EAAE,OAYtB"}
1
+ {"version":3,"file":"parse-utils.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/app-config/src/lib/parse-utils.ts"],"names":[],"mappings":"AAsCA;;;GAGG;AACH,wBAAgB,kBAAkB,CAChC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAwBhC;AAED;;;;GAIG;AACH,wBAAgB,8BAA8B,CAC5C,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,EACtD,WAAW,EAAE,MAAM,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAKzB;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,EACxD,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EAAE,EACvB,YAAY,EAAE,MAAM,EAAE,EACtB,WAAW,EAAE,MAAM,EAAE,EACrB,SAAS,EAAE,MAAM,EAAE,GAClB,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG,IAAI,CAuBlC;AAED,wBAAgB,qBAAqB,CACnC,mBAAmB,EAAE,GAAG,EACxB,WAAW,EAAE,MAAM,EAAE,OAStB"}
@@ -1,34 +1,94 @@
1
+ /**
2
+ * Taken from https://en.wikipedia.org/wiki/List_of_ISO_639_language_codes
3
+ * Note: some languages have multiple 3-char codes, like 'fre' and 'fra'; in that case, the one to be used
4
+ * in priority is the one defined last
5
+ */
6
+ declare const LANG_3_TO_2_MAPPER: {
7
+ readonly eng: "en";
8
+ readonly nld: "nl";
9
+ readonly dut: "nl";
10
+ readonly fra: "fr";
11
+ readonly fre: "fr";
12
+ readonly deu: "de";
13
+ readonly ger: "de";
14
+ readonly kor: "ko";
15
+ readonly spa: "es";
16
+ readonly ces: "cs";
17
+ readonly cze: "cs";
18
+ readonly cat: "ca";
19
+ readonly fin: "fi";
20
+ readonly isl: "is";
21
+ readonly ice: "is";
22
+ readonly ita: "it";
23
+ readonly por: "pt";
24
+ readonly rus: "ru";
25
+ readonly zho: "zh";
26
+ readonly chi: "zh";
27
+ readonly slk: "sk";
28
+ readonly slo: "sk";
29
+ readonly roh: "rm";
30
+ readonly ara: "ar";
31
+ readonly dan: "da";
32
+ readonly nor: "no";
33
+ readonly pol: "pl";
34
+ readonly swe: "sv";
35
+ readonly tur: "tr";
36
+ readonly arm: "hy";
37
+ readonly aze: "az";
38
+ readonly kat: "ka";
39
+ readonly geo: "ka";
40
+ readonly ukr: "uk";
41
+ readonly cym: "cy";
42
+ readonly wel: "cy";
43
+ };
1
44
  export declare const LANGUAGE_NAMES: {
2
- en: string;
3
- nl: string;
4
- fr: string;
5
- de: string;
6
- ko: string;
7
- es: string;
8
- cs: string;
9
- ca: string;
10
- fi: string;
11
- is: string;
12
- it: string;
13
- pt: string;
14
- ru: string;
15
- zh: string;
16
- sk: string;
17
- rm: string;
18
- ar: string;
19
- da: string;
20
- no: string;
21
- pl: string;
22
- sv: string;
23
- tr: string;
24
- hy: string;
25
- az: string;
26
- ka: string;
27
- uk: string;
28
- wel: string;
45
+ readonly en: "English";
46
+ readonly nl: "Nederlands";
47
+ readonly fr: "Français";
48
+ readonly de: "Deutsch";
49
+ readonly ko: "한국어";
50
+ readonly es: "Español";
51
+ readonly cs: "Čeština";
52
+ readonly ca: "Català";
53
+ readonly fi: "Suomi";
54
+ readonly is: "Íslenska";
55
+ readonly it: "Italiano";
56
+ readonly pt: "Português";
57
+ readonly ru: "Русский";
58
+ readonly zh: "中文";
59
+ readonly sk: "Slovenčina";
60
+ readonly rm: "Rumantsch";
61
+ readonly ar: "العربية";
62
+ readonly da: "Dansk";
63
+ readonly no: "Norsk";
64
+ readonly pl: "Polski";
65
+ readonly sv: "Swedish";
66
+ readonly tr: "Türkçe";
67
+ readonly hy: "հայերեն";
68
+ readonly az: "Azərbaycan dili";
69
+ readonly ka: "ქართული";
70
+ readonly uk: "українська";
71
+ readonly wel: "Cymraeg";
29
72
  };
30
- export declare const LANG_2_TO_3_MAPPER: {};
31
- export declare function getLang3FromLang2(lang2: string): string;
32
- export declare function getLang2FromLang3(lang3: string): string;
33
- export declare function getLocalizedIndexKey(lang2: string): string;
73
+ export type LanguageCode3 = keyof typeof LANG_3_TO_2_MAPPER;
74
+ export type LanguageCode2 = (typeof LANG_3_TO_2_MAPPER)[LanguageCode3];
75
+ export declare const LANG_2_TO_3_MAPPER: Record<LanguageCode2, LanguageCode3>;
76
+ /**
77
+ * This can be:
78
+ * - an ISO 639-2 language code in 3 characters (e.g. 'eng', 'fre', 'ger')
79
+ * - an ISO 639-1 language code in 2 characters (e.g. 'en', 'fr', 'de')
80
+ * - a 2-character language code with locale (e.g. 'fr_FR', 'fr_CA')
81
+ */
82
+ export type LanguageCodeLike = LanguageCode2 | LanguageCode3 | string;
83
+ /**
84
+ * Converts a language code in any format to the ISO 639-2 format (3 characters)
85
+ * Returns the given string if the corresponding language code could not be recognized
86
+ */
87
+ export declare function toLang3(lang: LanguageCodeLike): LanguageCode3 | string;
88
+ /**
89
+ * Converts a language code in any format to the ISO 639-1 format (2 characters)
90
+ * Returns the given string if the corresponding language code could not be recognized
91
+ */
92
+ export declare function toLang2(lang: LanguageCodeLike): LanguageCode2 | string;
93
+ export {};
34
94
  //# sourceMappingURL=language-codes.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/i18n/src/lib/language-codes.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4B1B,CAAA;AAED,eAAO,MAAM,kBAAkB,IAK9B,CAAA;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAEvD;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAG1D"}
1
+ {"version":3,"file":"language-codes.d.ts","sourceRoot":"","sources":["../../../../../src/libs/util/i18n/src/lib/language-codes.ts"],"names":[],"mappings":"AAEA;;;;GAIG;AACH,QAAA,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAqCd,CAAA;AAEV,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4BjB,CAAA;AAEV,MAAM,MAAM,aAAa,GAAG,MAAM,OAAO,kBAAkB,CAAA;AAC3D,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,kBAAkB,CAAC,CAAC,aAAa,CAAC,CAAA;AAEtE,eAAO,MAAM,kBAAkB,EAK1B,MAAM,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;AAEzC;;;;;GAKG;AACH,MAAM,MAAM,gBAAgB,GAAG,aAAa,GAAG,aAAa,GAAG,MAAM,CAAA;AAErE;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAUtE;AAED;;;GAGG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,gBAAgB,GAAG,aAAa,GAAG,MAAM,CAiBtE"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "geonetwork-ui",
3
- "version": "2.7.0-dev.7a5d403cf",
3
+ "version": "2.7.0-dev.7cec835f7",
4
4
  "engines": {
5
5
  "node": ">=20"
6
6
  },
@@ -18,7 +18,7 @@ import { getAsValidUrl } from '../common/url'
18
18
  import { fullNameToParts } from '../iso19139/utils/individual-name'
19
19
  import { readLicenseFromString } from '../common/license'
20
20
  import { matchProtocol } from '../common/distribution.mapper'
21
- import { getLang2FromLang3 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
21
+ import { toLang2 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
22
22
 
23
23
  function getDatasetNode(dataStore: Store, recordNode: NamedNode): NamedNode {
24
24
  return (dataStore.the(recordNode, FOAF('primaryTopic'), null) ||
@@ -455,9 +455,6 @@ export function readDefaultLanguage(dataStore: Store, recordNode: NamedNode) {
455
455
  }
456
456
  if (!statements.length) return null
457
457
  const languageNode = statements[0].object as NamedNode
458
- let language = languageNode.value.split('/').pop().toLowerCase()
459
- if (language.length === 3) {
460
- language = getLang2FromLang3(language) ?? language
461
- }
462
- return language.substring(0, 2)
458
+ const language = languageNode.value.split('/').pop().toLowerCase()
459
+ return toLang2(language) ?? language
463
460
  }
@@ -28,10 +28,7 @@ import { matchProtocol } from '../common/distribution.mapper'
28
28
  import { Thesaurus } from './types'
29
29
  import { getResourceType, getReuseType } from '../common/resource-types'
30
30
  import { TranslateService } from '@ngx-translate/core'
31
- import {
32
- getLang2FromLang3,
33
- getLocalizedIndexKey,
34
- } from '../../../../../../libs/util/i18n/src'
31
+ import { toLang2, toLang3 } from '../../../../../../libs/util/i18n/src'
35
32
 
36
33
  type ESResponseSource = SourceWithUnknownProps
37
34
 
@@ -49,8 +46,8 @@ export class Gn4FieldMapper {
49
46
  private translateService: TranslateService
50
47
  ) {}
51
48
 
52
- private get lang3() {
53
- return getLocalizedIndexKey(this.translateService.currentLang)
49
+ private get getLocalizedIndexKey() {
50
+ return `lang${toLang3(this.translateService.currentLang)}`
54
51
  }
55
52
 
56
53
  protected fields: Record<string, EsFieldMapperFn> = {
@@ -69,14 +66,22 @@ export class Gn4FieldMapper {
69
66
  resourceTitleObject: (output, source) => ({
70
67
  ...output,
71
68
  title: selectFallback(
72
- selectTranslatedField(source, 'resourceTitleObject', this.lang3),
69
+ selectTranslatedField(
70
+ source,
71
+ 'resourceTitleObject',
72
+ this.getLocalizedIndexKey
73
+ ),
73
74
  'no title'
74
75
  ),
75
76
  }),
76
77
  resourceAbstractObject: (output, source) => ({
77
78
  ...output,
78
79
  abstract: selectFallback(
79
- selectTranslatedField(source, 'resourceAbstractObject', this.lang3),
80
+ selectTranslatedField(
81
+ source,
82
+ 'resourceAbstractObject',
83
+ this.getLocalizedIndexKey
84
+ ),
80
85
  'no title'
81
86
  ),
82
87
  }),
@@ -84,7 +89,7 @@ export class Gn4FieldMapper {
84
89
  const firstOverview = getFirstValue(selectField(source, 'overview'))
85
90
  const description = selectTranslatedValue<string>(
86
91
  selectField(firstOverview, 'text'),
87
- this.lang3
92
+ this.getLocalizedIndexKey
88
93
  )
89
94
  return {
90
95
  ...output,
@@ -102,7 +107,9 @@ export class Gn4FieldMapper {
102
107
  ...(output.topics || []),
103
108
  ...getAsArray(
104
109
  selectField<SourceWithUnknownProps[]>(source, 'cl_topic')
105
- ).map((topic) => selectTranslatedValue<string>(topic, this.lang3)),
110
+ ).map((topic) =>
111
+ selectTranslatedValue<string>(topic, this.getLocalizedIndexKey)
112
+ ),
106
113
  ],
107
114
  }),
108
115
  cl_status: (output, source) => ({
@@ -156,7 +163,7 @@ export class Gn4FieldMapper {
156
163
  const langList = getAsArray(
157
164
  selectField<string>(source, 'resourceLanguage')
158
165
  )
159
- const languages = langList.map(getLang2FromLang3)
166
+ const languages = langList.map(toLang2)
160
167
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null // set the first language as main one as fallback
161
168
 
162
169
  return {
@@ -166,7 +173,7 @@ export class Gn4FieldMapper {
166
173
  },
167
174
  otherLanguage: (output, source) => {
168
175
  const langList = getAsArray(selectField<string>(source, 'otherLanguage'))
169
- const languages = langList.map(getLang2FromLang3)
176
+ const languages = langList.map(toLang2)
170
177
  const defaultLanguage = output.defaultLanguage ?? languages[0] ?? null
171
178
  const otherLanguages = languages.filter(
172
179
  (lang) => lang !== defaultLanguage
@@ -181,7 +188,7 @@ export class Gn4FieldMapper {
181
188
  const language = selectField<string>(source, 'mainLanguage')
182
189
  return {
183
190
  ...output,
184
- defaultLanguage: language ? getLang2FromLang3(language) : null,
191
+ defaultLanguage: language ? toLang2(language) : null,
185
192
  }
186
193
  },
187
194
  link: (output, source) => {
@@ -199,7 +206,10 @@ export class Gn4FieldMapper {
199
206
  contact: (output, source) => ({
200
207
  ...output,
201
208
  contacts: [
202
- mapContact(getFirstValue(selectField(source, 'contact')), this.lang3),
209
+ mapContact(
210
+ getFirstValue(selectField(source, 'contact')),
211
+ this.getLocalizedIndexKey
212
+ ),
203
213
  ],
204
214
  }),
205
215
  contactForResource: (output, source) => ({
@@ -210,7 +220,7 @@ export class Gn4FieldMapper {
210
220
  ? output.contactsForResource
211
221
  : []),
212
222
  ...getAsArray(selectField(source, 'contactForResource')).map(
213
- (contact) => mapContact(contact, this.lang3)
223
+ (contact) => mapContact(contact, this.getLocalizedIndexKey)
214
224
  ),
215
225
  ],
216
226
  }),
@@ -229,7 +239,7 @@ export class Gn4FieldMapper {
229
239
  ...output,
230
240
  keywords: mapKeywords(
231
241
  selectField<Thesaurus[]>(source, 'allKeywords'),
232
- this.lang3
242
+ this.getLocalizedIndexKey
233
243
  ),
234
244
  }),
235
245
  inspireTheme: (output, source) => ({
@@ -277,7 +287,11 @@ export class Gn4FieldMapper {
277
287
  ),
278
288
  lineageObject: (output, source) => ({
279
289
  ...output,
280
- lineage: selectTranslatedField(source, 'lineageObject', this.lang3),
290
+ lineage: selectTranslatedField(
291
+ source,
292
+ 'lineageObject',
293
+ this.getLocalizedIndexKey
294
+ ),
281
295
  }),
282
296
  userSavedCount: (output, source) =>
283
297
  this.addExtra(
@@ -410,7 +424,7 @@ export class Gn4FieldMapper {
410
424
  ...geoms.map((geom, index) => {
411
425
  const description = selectTranslatedValue(
412
426
  getArrayItem(extentDescriptions, index),
413
- this.lang3
427
+ this.getLocalizedIndexKey
414
428
  )
415
429
  const geometry = shapes[index] ?? geom
416
430
  return {
@@ -465,7 +479,10 @@ export class Gn4FieldMapper {
465
479
  outputField in output ? output[outputField] : []
466
480
  outputArray.push(
467
481
  ...constraintArray.map((item) => {
468
- const text = selectTranslatedValue(item, this.lang3) as string
482
+ const text = selectTranslatedValue(
483
+ item,
484
+ this.getLocalizedIndexKey
485
+ ) as string
469
486
  const url = getAsUrl(selectField(item, 'link'))
470
487
  return {
471
488
  text,
@@ -508,19 +525,27 @@ export class Gn4FieldMapper {
508
525
  mapLink = (sourceLink: SourceWithUnknownProps): OnlineResource | null => {
509
526
  const url = getAsUrl(
510
527
  selectFallback(
511
- selectTranslatedField<string>(sourceLink, 'urlObject', this.lang3),
528
+ selectTranslatedField<string>(
529
+ sourceLink,
530
+ 'urlObject',
531
+ this.getLocalizedIndexKey
532
+ ),
512
533
  selectField<string>(sourceLink, 'url')
513
534
  )
514
535
  )
515
536
  const name = selectFallback(
516
- selectTranslatedField<string>(sourceLink, 'nameObject', this.lang3),
537
+ selectTranslatedField<string>(
538
+ sourceLink,
539
+ 'nameObject',
540
+ this.getLocalizedIndexKey
541
+ ),
517
542
  selectField<string>(sourceLink, 'name')
518
543
  )
519
544
  const description = selectFallback(
520
545
  selectTranslatedField<string>(
521
546
  sourceLink,
522
547
  'descriptionObject',
523
- this.lang3
548
+ this.getLocalizedIndexKey
524
549
  ),
525
550
  selectField<string>(sourceLink, 'description')
526
551
  )
@@ -1,7 +1,7 @@
1
1
  import { Inject, Injectable } from '@angular/core'
2
2
  import { Configuration } from '../../../../../../libs/data-access/gn4/src'
3
3
  import { TranslateService } from '@ngx-translate/core'
4
- import { getLang3FromLang2 } from '../../../../../../libs/util/i18n/src'
4
+ import { toLang3 } from '../../../../../../libs/util/i18n/src'
5
5
 
6
6
  @Injectable({
7
7
  providedIn: 'root',
@@ -14,7 +14,7 @@ export class MetadataUrlService {
14
14
 
15
15
  getUrl(uuid: string, apiPath: string = this.apiConfiguration.basePath) {
16
16
  const prefix = `${apiPath}/../`
17
- return `${prefix}${getLang3FromLang2(
17
+ return `${prefix}${toLang3(
18
18
  this.translate.currentLang
19
19
  )}/catalog.search#/metadata/${uuid}`
20
20
  }
@@ -41,7 +41,7 @@ import {
41
41
  } from '../../../../../../libs/common/domain/src/lib/model/record'
42
42
  import { matchMimeType } from '../common/distribution.mapper'
43
43
  import { fullNameToParts } from '../iso19139/utils/individual-name'
44
- import { getLang2FromLang3 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
44
+ import { toLang2 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
45
45
  import { getResourceType, getReuseType } from '../common/resource-types'
46
46
 
47
47
  export function readKind(rootEl: XmlElement): RecordKind {
@@ -370,7 +370,7 @@ export function readLocaleElement(): ChainableFunction<
370
370
  return pipe(
371
371
  findChildElement('lan:LanguageCode'),
372
372
  readAttribute('codeListValue'),
373
- map((lang) => getLang2FromLang3(lang?.toLowerCase()) ?? lang)
373
+ map((lang) => toLang2(lang?.toLowerCase()) ?? lang)
374
374
  )
375
375
  }
376
376
 
@@ -49,7 +49,7 @@ import {
49
49
  } from '../iso19139/write-parts'
50
50
  import { findIdentification } from '../iso19139/read-parts'
51
51
  import { namePartsToFull } from '../iso19139/utils/individual-name'
52
- import { getLang3FromLang2 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
52
+ import { toLang3 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
53
53
  import { kindToCodeListValue } from '../common/resource-types'
54
54
 
55
55
  export function writeUniqueIdentifier(
@@ -529,7 +529,7 @@ export function writeOnlineResources(
529
529
  }
530
530
 
531
531
  function writeLocaleElement(language: LanguageCode) {
532
- const lang3 = getLang3FromLang2(language.toLowerCase()) ?? language
532
+ const lang3 = toLang3(language.toLowerCase()) ?? language
533
533
  return pipe(
534
534
  findChildOrCreate('lan:PT_Locale'),
535
535
  writeAttribute('id', language.toUpperCase()),
@@ -55,7 +55,7 @@ import { getKeywordTypeFromKeywordTypeCode } from './utils/keyword.mapper'
55
55
  import { getRoleFromRoleCode } from './utils/role.mapper'
56
56
  import { getStatusFromStatusCode } from './utils/status.mapper'
57
57
  import { getUpdateFrequencyFromFrequencyCode } from './utils/update-frequency.mapper'
58
- import { getLang2FromLang3 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
58
+ import { toLang2 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
59
59
  import { getResourceType, getReuseType } from '../common/resource-types'
60
60
 
61
61
  export function extractCharacterString(): ChainableFunction<
@@ -1164,7 +1164,7 @@ export function readOtherLanguages(rootEl: XmlElement): LanguageCode[] {
1164
1164
  pipe(
1165
1165
  findChildElement('lan:LanguageCode'),
1166
1166
  readAttribute('codeListValue'),
1167
- map((lang) => getLang2FromLang3(lang?.toLowerCase()) ?? lang)
1167
+ map((lang) => toLang2(lang?.toLowerCase()) ?? lang)
1168
1168
  )
1169
1169
  ),
1170
1170
  map((languages) =>
@@ -1179,7 +1179,7 @@ export function readDefaultLanguage(rootEl: XmlElement): LanguageCode {
1179
1179
  findChildElement('gmd:language', false),
1180
1180
  findChildElement('lan:LanguageCode'),
1181
1181
  readAttribute('codeListValue'),
1182
- map((lang) => (lang ? getLang2FromLang3(lang.toLowerCase()) : null))
1182
+ map((lang) => (lang ? toLang2(lang.toLowerCase()) : null))
1183
1183
  )(rootEl)
1184
1184
  }
1185
1185
 
@@ -53,7 +53,7 @@ import {
53
53
  import { readKind } from './read-parts'
54
54
  import { writeGeometry } from './utils/geometry'
55
55
  import { namePartsToFull } from './utils/individual-name'
56
- import { getLang3FromLang2 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
56
+ import { toLang3 } from '../../../../../../libs/util/i18n/src/lib/language-codes'
57
57
  import { kindToCodeListValue } from '../common/resource-types'
58
58
 
59
59
  function writeLocalizedElement(
@@ -1476,7 +1476,7 @@ export function writeLanguages(record: DatasetRecord, rootEl: XmlElement) {
1476
1476
  writeAttribute('id', lang.toUpperCase()),
1477
1477
  createNestedChild('gmd:languageCode', 'gmd:LanguageCode'),
1478
1478
  writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'),
1479
- writeAttribute('codeListValue', getLang3FromLang2(lang) ?? lang)
1479
+ writeAttribute('codeListValue', toLang3(lang) ?? lang)
1480
1480
  )
1481
1481
 
1482
1482
  // add new languages (only if other than default one)
@@ -1490,7 +1490,7 @@ export function writeDefaultLanguage(
1490
1490
  record: DatasetRecord,
1491
1491
  rootEl: XmlElement
1492
1492
  ) {
1493
- const lang3 = getLang3FromLang2(record.defaultLanguage.toLowerCase())
1493
+ const lang3 = toLang3(record.defaultLanguage.toLowerCase())
1494
1494
  return pipe(
1495
1495
  findNestedChildOrCreate('gmd:language', 'gmd:LanguageCode'),
1496
1496
  writeAttribute('codeList', 'http://www.loc.gov/standards/iso639-2/'),
@@ -1,3 +1,3 @@
1
- export * from './lib/metadata-language'
1
+ export * from './lib/metadata-language.token'
2
2
  export * from './lib/repository-url'
3
3
  export * from './lib/gn4'
@@ -1,5 +1,5 @@
1
1
  import { Inject, Injectable, InjectionToken, Optional } from '@angular/core'
2
- import { getLang3FromLang2 } from '../../../../../../../libs/util/i18n/src'
2
+ import { toLang2, toLang3 } from '../../../../../../../libs/util/i18n/src'
3
3
  import { TranslateService } from '@ngx-translate/core'
4
4
  import { Location } from '@angular/common'
5
5
 
@@ -35,8 +35,8 @@ export class AuthService {
35
35
  '${current_url}',
36
36
  new URL(this.location.path(), window.location.href).toString()
37
37
  )
38
- .replace('${lang2}', this.translateService.currentLang)
39
- .replace('${lang3}', getLang3FromLang2(this.translateService.currentLang))
38
+ .replace('${lang2}', toLang2(this.translateService.currentLang))
39
+ .replace('${lang3}', toLang3(this.translateService.currentLang))
40
40
  }
41
41
 
42
42
  get logoutUrl() {
@@ -46,7 +46,7 @@ export class AuthService {
46
46
  get settingsUrl() {
47
47
  return this.baseSettingsUrl.replace(
48
48
  '${lang3}',
49
- getLang3FromLang2(this.translateService.currentLang)
49
+ toLang3(this.translateService.currentLang)
50
50
  )
51
51
  }
52
52
 
@@ -15,7 +15,7 @@ import {
15
15
  FiltersAggregationParams,
16
16
  SortByField,
17
17
  } from '../../../../../../../libs/common/domain/src/lib/model/search'
18
- import { METADATA_LANGUAGE } from '../../metadata-language'
18
+ import { METADATA_LANGUAGE } from '../../metadata-language.token'
19
19
  import {
20
20
  AggregationResult,
21
21
  EsSearchParams,
@@ -26,9 +26,12 @@ import {
26
26
  SortParams,
27
27
  TermsAggregationResult,
28
28
  } from '../../../../../../../libs/api/metadata-converter/src'
29
- import { getLang3FromLang2 } from '../../../../../../../libs/util/i18n/src'
29
+ import { toLang3 } from '../../../../../../../libs/util/i18n/src'
30
30
  import { formatDate, isDateRange } from './date-range.utils'
31
- import { CatalogRecord } from '../../../../../../../libs/common/domain/src/lib/model/record'
31
+ import {
32
+ CatalogRecord,
33
+ LanguageCode,
34
+ } from '../../../../../../../libs/common/domain/src/lib/model/record'
32
35
  import { TranslateService } from '@ngx-translate/core'
33
36
  import { getGeometryBoundingBox } from '../../../../../../../libs/util/shared/src'
34
37
  import { getLength as getGeodesicLength } from 'ol/sphere'
@@ -45,11 +48,9 @@ export class ElasticsearchService {
45
48
  private runtimeFields: Record<string, string> = {}
46
49
 
47
50
  // we're using getters in case the defined languages change over time
48
- private get lang3() {
49
- return getLang3FromLang2(this.translateService.currentLang)
50
- }
51
- private get metadataLang() {
52
- return this.injector.get(METADATA_LANGUAGE, null)
51
+ private get metadataLang(): LanguageCode {
52
+ const mdLangValue = this.injector.get(METADATA_LANGUAGE, null)
53
+ return typeof mdLangValue === 'function' ? mdLangValue() : mdLangValue
53
54
  }
54
55
 
55
56
  constructor(
@@ -233,9 +234,12 @@ export class ElasticsearchService {
233
234
 
234
235
  private getQueryLang(): string {
235
236
  if (this.metadataLang) {
236
- return this.isCurrentSearchLang()
237
- ? `lang${this.lang3}`
238
- : `lang${this.metadataLang}`
237
+ const lang3 = toLang3(
238
+ this.isCurrentSearchLang()
239
+ ? this.translateService.currentLang
240
+ : this.metadataLang
241
+ )
242
+ return `lang${lang3}`
239
243
  } else return '*'
240
244
  }
241
245
  private isCurrentSearchLang() {