invenio-vocabularies 8.1.0__py2.py3-none-any.whl → 8.2.0__py2.py3-none-any.whl
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.
Potentially problematic release.
This version of invenio-vocabularies might be problematic. Click here for more details.
- invenio_vocabularies/__init__.py +1 -1
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next.js +2 -2
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/_generatedTranslations.js +66 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ar/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ar/translations.json +25 -25
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/bg/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/bg/translations.json +5 -5
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ca/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ca/translations.json +7 -7
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/cs/messages.po +97 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/cs/translations.json +26 -26
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/da/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/da/translations.json +1 -1
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/de/messages.po +98 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/de/translations.json +26 -26
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/el/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/el/translations.json +7 -7
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/en/messages.po +88 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/es/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/es/translations.json +25 -25
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/et/messages.po +95 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/et/translations.json +16 -16
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/fa/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/fa/translations.json +6 -6
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/fr/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/fr/translations.json +10 -10
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/hr/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/hr/translations.json +5 -5
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/hu/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/hu/translations.json +25 -25
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/index.js +24 -1
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/it/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/it/translations.json +8 -8
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ja/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ja/translations.json +5 -5
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ka/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ka/translations.json +7 -7
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ko/messages.po +90 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ko/translations.json +28 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/lt/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/lt/translations.json +7 -7
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/no/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/no/translations.json +6 -6
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/pl/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/pl/translations.json +6 -6
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/pt/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/pt/translations.json +4 -4
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ro/messages.po +95 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ro/translations.json +16 -16
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ru/messages.po +95 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/ru/translations.json +10 -10
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/sk/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/sk/translations.json +5 -5
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/sv/messages.po +98 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/sv/translations.json +26 -26
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/tr/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/tr/translations.json +10 -10
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/uk/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/uk/translations.json +16 -16
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/zh_CN/messages.po +96 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/zh_CN/translations.json +14 -14
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/zh_TW/messages.po +94 -0
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/zh_TW/translations.json +5 -5
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/package.json +4 -34
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/translations.pot +3 -3
- invenio_vocabularies/contrib/names/datastreams.py +30 -11
- invenio_vocabularies/datastreams/datastreams.py +6 -0
- invenio_vocabularies/services/tasks.py +2 -2
- invenio_vocabularies/translations/ar/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ar/LC_MESSAGES/messages.po +199 -67
- invenio_vocabularies/translations/bg/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/bg/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/ca/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ca/LC_MESSAGES/messages.po +192 -59
- invenio_vocabularies/translations/cs/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/cs/LC_MESSAGES/messages.po +218 -80
- invenio_vocabularies/translations/da/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/da/LC_MESSAGES/messages.po +188 -56
- invenio_vocabularies/translations/de/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/de/LC_MESSAGES/messages.po +215 -71
- invenio_vocabularies/translations/el/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/el/LC_MESSAGES/messages.po +192 -60
- invenio_vocabularies/translations/es/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/es/LC_MESSAGES/messages.po +199 -66
- invenio_vocabularies/translations/et/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/et/LC_MESSAGES/messages.po +198 -66
- invenio_vocabularies/translations/fa/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/fa/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/fr/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/fr/LC_MESSAGES/messages.po +207 -72
- invenio_vocabularies/translations/hr/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/hr/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/hu/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/hu/LC_MESSAGES/messages.po +202 -66
- invenio_vocabularies/translations/it/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/it/LC_MESSAGES/messages.po +193 -61
- invenio_vocabularies/translations/ja/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ja/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/ka/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ka/LC_MESSAGES/messages.po +192 -60
- invenio_vocabularies/translations/ko/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ko/LC_MESSAGES/messages.po +275 -0
- invenio_vocabularies/translations/lt/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/lt/LC_MESSAGES/messages.po +192 -60
- invenio_vocabularies/translations/messages.pot +133 -48
- invenio_vocabularies/translations/no/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/no/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/pl/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/pl/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/pt/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/pt/LC_MESSAGES/messages.po +190 -58
- invenio_vocabularies/translations/ro/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ro/LC_MESSAGES/messages.po +208 -71
- invenio_vocabularies/translations/ru/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/ru/LC_MESSAGES/messages.po +199 -66
- invenio_vocabularies/translations/sk/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/sk/LC_MESSAGES/messages.po +193 -60
- invenio_vocabularies/translations/sv/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/sv/LC_MESSAGES/messages.po +204 -69
- invenio_vocabularies/translations/tr/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/tr/LC_MESSAGES/messages.po +205 -71
- invenio_vocabularies/translations/uk/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/uk/LC_MESSAGES/messages.po +192 -60
- invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/zh_CN/LC_MESSAGES/messages.po +197 -65
- invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/zh_TW/LC_MESSAGES/messages.po +190 -58
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/METADATA +16 -2
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/RECORD +134 -106
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/i18next-scanner.config.js +0 -63
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/package-lock.json +0 -1992
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/compileCatalog.js +0 -39
- invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/scripts/initCatalog.js +0 -19
- invenio_vocabularies/translations/en/LC_MESSAGES/messages.mo +0 -0
- invenio_vocabularies/translations/en/LC_MESSAGES/messages.po +0 -53
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/WHEEL +0 -0
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/entry_points.txt +0 -0
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/licenses/AUTHORS.rst +0 -0
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/licenses/LICENSE +0 -0
- {invenio_vocabularies-8.1.0.dist-info → invenio_vocabularies-8.2.0.dist-info}/top_level.txt +0 -0
|
@@ -1,28 +1,28 @@
|
|
|
1
1
|
{
|
|
2
|
-
"Search for a funder by name": "",
|
|
3
|
-
"Funder": "",
|
|
4
|
-
"Search for funder...": "",
|
|
2
|
+
"Search for a funder by name": "按姓名搜索资助者",
|
|
3
|
+
"Funder": "资助机构",
|
|
4
|
+
"Search for funder...": "搜索资助机构…",
|
|
5
5
|
"Additional information": "",
|
|
6
|
-
"optional": "",
|
|
7
|
-
"Number": "",
|
|
6
|
+
"optional": "可选择的",
|
|
7
|
+
"Number": "编号",
|
|
8
8
|
"Award/Grant number": "",
|
|
9
|
-
"Title": "",
|
|
9
|
+
"Title": "标题",
|
|
10
10
|
"Award/Grant Title": "",
|
|
11
|
-
"URL": "",
|
|
11
|
+
"URL": "统一资源定位系统",
|
|
12
12
|
"Award/Grant URL": "",
|
|
13
|
-
"Add": "",
|
|
14
|
-
"Add custom": "",
|
|
15
|
-
"Edit": "",
|
|
16
|
-
"Remove": "",
|
|
17
|
-
"Open external link": "",
|
|
13
|
+
"Add": "添加",
|
|
14
|
+
"Add custom": "添加自定义",
|
|
15
|
+
"Edit": "编辑",
|
|
16
|
+
"Remove": "移除",
|
|
17
|
+
"Open external link": "打开外部链接",
|
|
18
18
|
"Funder is required.": "",
|
|
19
19
|
"URL must be valid.": "",
|
|
20
20
|
"URL must be set alongside title or number.": "",
|
|
21
21
|
"Add standard award/grant": "",
|
|
22
22
|
"Add custom funding": "",
|
|
23
23
|
"Search for awards/grants": "",
|
|
24
|
-
"Cancel": "",
|
|
25
|
-
"Change": "",
|
|
24
|
+
"Cancel": "取消",
|
|
25
|
+
"Change": "更改",
|
|
26
26
|
"Did not find your award/grant? ": "",
|
|
27
27
|
"Add a custom award/grant.": ""
|
|
28
28
|
}
|
invenio_vocabularies/assets/semantic-ui/translations/invenio_vocabularies/messages/zh_TW/messages.po
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
#
|
|
2
|
+
# Translators:
|
|
3
|
+
# Tibor Simko <tibor.simko@cern.ch>, 2025
|
|
4
|
+
#
|
|
5
|
+
msgid ""
|
|
6
|
+
msgstr ""
|
|
7
|
+
"Project-Id-Version: i18next-conv\n"
|
|
8
|
+
"POT-Creation-Date: 2025-07-08T15:47:17.169Z\n"
|
|
9
|
+
"PO-Revision-Date: 2025-05-13 21:01+0000\n"
|
|
10
|
+
"Last-Translator: Tibor Simko <tibor.simko@cern.ch>, 2025\n"
|
|
11
|
+
"Language-Team: Chinese (Taiwan) (https://app.transifex.com/inveniosoftware/teams/23537/zh_TW/)\n"
|
|
12
|
+
"Content-Type: text/plain; charset=UTF-8\n"
|
|
13
|
+
"Content-Transfer-Encoding: 8bit\n"
|
|
14
|
+
"Language: zh_TW\n"
|
|
15
|
+
"Plural-Forms: nplurals=1; plural=0;\n"
|
|
16
|
+
"mime-version: 1.0\n"
|
|
17
|
+
|
|
18
|
+
msgid "Search for a funder by name"
|
|
19
|
+
msgstr ""
|
|
20
|
+
|
|
21
|
+
msgid "Funder"
|
|
22
|
+
msgstr ""
|
|
23
|
+
|
|
24
|
+
msgid "Search for funder..."
|
|
25
|
+
msgstr ""
|
|
26
|
+
|
|
27
|
+
msgid "Additional information"
|
|
28
|
+
msgstr ""
|
|
29
|
+
|
|
30
|
+
msgid "optional"
|
|
31
|
+
msgstr "可選擇的"
|
|
32
|
+
|
|
33
|
+
msgid "Number"
|
|
34
|
+
msgstr ""
|
|
35
|
+
|
|
36
|
+
msgid "Award/Grant number"
|
|
37
|
+
msgstr ""
|
|
38
|
+
|
|
39
|
+
msgid "Title"
|
|
40
|
+
msgstr "標題"
|
|
41
|
+
|
|
42
|
+
msgid "Award/Grant Title"
|
|
43
|
+
msgstr ""
|
|
44
|
+
|
|
45
|
+
msgid "URL"
|
|
46
|
+
msgstr ""
|
|
47
|
+
|
|
48
|
+
msgid "Award/Grant URL"
|
|
49
|
+
msgstr ""
|
|
50
|
+
|
|
51
|
+
msgid "Add"
|
|
52
|
+
msgstr ""
|
|
53
|
+
|
|
54
|
+
msgid "Add custom"
|
|
55
|
+
msgstr ""
|
|
56
|
+
|
|
57
|
+
msgid "Edit"
|
|
58
|
+
msgstr "編輯"
|
|
59
|
+
|
|
60
|
+
msgid "Remove"
|
|
61
|
+
msgstr "移除"
|
|
62
|
+
|
|
63
|
+
msgid "Open external link"
|
|
64
|
+
msgstr ""
|
|
65
|
+
|
|
66
|
+
msgid "Funder is required."
|
|
67
|
+
msgstr ""
|
|
68
|
+
|
|
69
|
+
msgid "URL must be valid."
|
|
70
|
+
msgstr ""
|
|
71
|
+
|
|
72
|
+
msgid "URL must be set alongside title or number."
|
|
73
|
+
msgstr ""
|
|
74
|
+
|
|
75
|
+
msgid "Add standard award/grant"
|
|
76
|
+
msgstr ""
|
|
77
|
+
|
|
78
|
+
msgid "Add custom funding"
|
|
79
|
+
msgstr ""
|
|
80
|
+
|
|
81
|
+
msgid "Search for awards/grants"
|
|
82
|
+
msgstr ""
|
|
83
|
+
|
|
84
|
+
msgid "Cancel"
|
|
85
|
+
msgstr "取消"
|
|
86
|
+
|
|
87
|
+
msgid "Change"
|
|
88
|
+
msgstr ""
|
|
89
|
+
|
|
90
|
+
msgid "Did not find your award/grant? "
|
|
91
|
+
msgstr ""
|
|
92
|
+
|
|
93
|
+
msgid "Add a custom award/grant."
|
|
94
|
+
msgstr ""
|
|
@@ -3,17 +3,17 @@
|
|
|
3
3
|
"Funder": "",
|
|
4
4
|
"Search for funder...": "",
|
|
5
5
|
"Additional information": "",
|
|
6
|
-
"optional": "",
|
|
6
|
+
"optional": "可選擇的",
|
|
7
7
|
"Number": "",
|
|
8
8
|
"Award/Grant number": "",
|
|
9
|
-
"Title": "",
|
|
9
|
+
"Title": "標題",
|
|
10
10
|
"Award/Grant Title": "",
|
|
11
11
|
"URL": "",
|
|
12
12
|
"Award/Grant URL": "",
|
|
13
13
|
"Add": "",
|
|
14
14
|
"Add custom": "",
|
|
15
|
-
"Edit": "",
|
|
16
|
-
"Remove": "",
|
|
15
|
+
"Edit": "編輯",
|
|
16
|
+
"Remove": "移除",
|
|
17
17
|
"Open external link": "",
|
|
18
18
|
"Funder is required.": "",
|
|
19
19
|
"URL must be valid.": "",
|
|
@@ -21,7 +21,7 @@
|
|
|
21
21
|
"Add standard award/grant": "",
|
|
22
22
|
"Add custom funding": "",
|
|
23
23
|
"Search for awards/grants": "",
|
|
24
|
-
"Cancel": "",
|
|
24
|
+
"Cancel": "取消",
|
|
25
25
|
"Change": "",
|
|
26
26
|
"Did not find your award/grant? ": "",
|
|
27
27
|
"Add a custom award/grant.": ""
|
|
@@ -1,37 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "invenio-vocabularies-ui",
|
|
3
3
|
"config": {
|
|
4
|
-
"languages": [
|
|
5
|
-
"ar",
|
|
6
|
-
"bg",
|
|
7
|
-
"ca",
|
|
8
|
-
"cs",
|
|
9
|
-
"da",
|
|
10
|
-
"de",
|
|
11
|
-
"el",
|
|
12
|
-
"en",
|
|
13
|
-
"es",
|
|
14
|
-
"et",
|
|
15
|
-
"fa",
|
|
16
|
-
"fr",
|
|
17
|
-
"hr",
|
|
18
|
-
"hu",
|
|
19
|
-
"it",
|
|
20
|
-
"ja",
|
|
21
|
-
"ka",
|
|
22
|
-
"lt",
|
|
23
|
-
"no",
|
|
24
|
-
"pl",
|
|
25
|
-
"pt",
|
|
26
|
-
"ro",
|
|
27
|
-
"ru",
|
|
28
|
-
"sk",
|
|
29
|
-
"sv",
|
|
30
|
-
"tr",
|
|
31
|
-
"uk",
|
|
32
|
-
"zh_CN",
|
|
33
|
-
"zh_TW"
|
|
34
|
-
]
|
|
4
|
+
"languages": ["en"]
|
|
35
5
|
},
|
|
36
6
|
"devDependencies": {
|
|
37
7
|
"i18next-conv": "^10.2.0",
|
|
@@ -41,9 +11,9 @@
|
|
|
41
11
|
"i18next-browser-languagedetector": "^6.1.0"
|
|
42
12
|
},
|
|
43
13
|
"scripts": {
|
|
44
|
-
"extract_messages": "i18next-scanner --config i18next-scanner.config.js '../../js/**/*.{js,jsx}'",
|
|
45
|
-
"postextract_messages": "
|
|
14
|
+
"extract_messages": "i18next-scanner --config i18next-scanner.config.js '../../js/**/*.{js,jsx}' '!../../js/**/node_modules/**'",
|
|
15
|
+
"postextract_messages": "node ./scripts/postExtractMessages.js",
|
|
46
16
|
"compile_catalog": "node ./scripts/compileCatalog.js",
|
|
47
|
-
"init_catalog": "node ./scripts/initCatalog"
|
|
17
|
+
"init_catalog": "node ./scripts/initCatalog.js"
|
|
48
18
|
}
|
|
49
19
|
}
|
|
@@ -5,8 +5,8 @@ msgstr ""
|
|
|
5
5
|
"Content-Type: text/plain; charset=utf-8\n"
|
|
6
6
|
"Content-Transfer-Encoding: 8bit\n"
|
|
7
7
|
"Plural-Forms: nplurals=2; plural=(n != 1)\n"
|
|
8
|
-
"POT-Creation-Date: 2025-
|
|
9
|
-
"PO-Revision-Date: 2025-
|
|
8
|
+
"POT-Creation-Date: 2025-07-08T15:47:17.169Z\n"
|
|
9
|
+
"PO-Revision-Date: 2025-07-08T15:47:17.170Z\n"
|
|
10
10
|
"Language: en\n"
|
|
11
11
|
|
|
12
12
|
msgid "Search for a funder by name"
|
|
@@ -85,4 +85,4 @@ msgid "Did not find your award/grant? "
|
|
|
85
85
|
msgstr "Did not find your award/grant? "
|
|
86
86
|
|
|
87
87
|
msgid "Add a custom award/grant."
|
|
88
|
-
msgstr "Add a custom award/grant."
|
|
88
|
+
msgstr "Add a custom award/grant."
|
|
@@ -262,26 +262,43 @@ class OrcidTransformer(BaseTransformer):
|
|
|
262
262
|
record = stream_entry.entry
|
|
263
263
|
person = record["person"]
|
|
264
264
|
orcid_id = record["orcid-identifier"]["path"]
|
|
265
|
+
errors = []
|
|
266
|
+
|
|
267
|
+
name = person.get("name", None)
|
|
268
|
+
family_name = name.get("family-name", None) if name else None
|
|
269
|
+
given_names = name.get("given-names", None) if name else None
|
|
265
270
|
|
|
266
|
-
name = person.get("name")
|
|
267
271
|
if name is None:
|
|
268
|
-
|
|
269
|
-
|
|
272
|
+
errors.append(
|
|
273
|
+
TransformerError(
|
|
274
|
+
f"Name not found in ORCiD entry for ORCiD ID: {orcid_id}."
|
|
275
|
+
)
|
|
270
276
|
)
|
|
271
|
-
if
|
|
272
|
-
|
|
273
|
-
|
|
277
|
+
if family_name is None:
|
|
278
|
+
errors.append(
|
|
279
|
+
TransformerError(
|
|
280
|
+
f"Family name not found in ORCiD entry for ORCiD ID: {orcid_id}."
|
|
281
|
+
)
|
|
282
|
+
)
|
|
283
|
+
if not self._is_valid_name(given_names + family_name):
|
|
284
|
+
errors.append(
|
|
285
|
+
TransformerError(
|
|
286
|
+
f"Invalid characters in name for ORCiD ID: {orcid_id}."
|
|
287
|
+
)
|
|
274
288
|
)
|
|
275
289
|
|
|
276
|
-
if
|
|
277
|
-
|
|
278
|
-
|
|
290
|
+
if errors:
|
|
291
|
+
all_errors = "\n".join(str(e) for e in errors)
|
|
292
|
+
error_message = (
|
|
293
|
+
f"ORCiD entry with ORCiD ID: #{orcid_id} failed transformation. "
|
|
294
|
+
f"See errors:\n{all_errors}"
|
|
279
295
|
)
|
|
296
|
+
stream_entry.errors.append(error_message)
|
|
280
297
|
|
|
281
298
|
entry = {
|
|
282
299
|
"id": orcid_id,
|
|
283
|
-
"given_name":
|
|
284
|
-
"family_name":
|
|
300
|
+
"given_name": given_names,
|
|
301
|
+
"family_name": family_name,
|
|
285
302
|
"identifiers": [{"scheme": "orcid", "identifier": orcid_id}],
|
|
286
303
|
"affiliations": self._extract_affiliations(record),
|
|
287
304
|
}
|
|
@@ -292,6 +309,8 @@ class OrcidTransformer(BaseTransformer):
|
|
|
292
309
|
|
|
293
310
|
def _is_valid_name(self, name):
|
|
294
311
|
"""Check whether the name passes the regex."""
|
|
312
|
+
if not name:
|
|
313
|
+
return False
|
|
295
314
|
if not self._names_exclude_regex:
|
|
296
315
|
return True
|
|
297
316
|
return not bool(re.search(self._names_exclude_regex, name, re.UNICODE | re.V1))
|
|
@@ -79,6 +79,7 @@ class DataStream:
|
|
|
79
79
|
"""Process a batch of entries."""
|
|
80
80
|
current_app.logger.info(f"Processing batch of size: {len(batch)}")
|
|
81
81
|
transformed_entries = []
|
|
82
|
+
transformed_entries_with_errors = []
|
|
82
83
|
for stream_entry in batch:
|
|
83
84
|
if stream_entry.errors:
|
|
84
85
|
current_app.logger.warning(
|
|
@@ -88,12 +89,17 @@ class DataStream:
|
|
|
88
89
|
else:
|
|
89
90
|
transformed_entry = self.transform(stream_entry)
|
|
90
91
|
if transformed_entry.errors:
|
|
92
|
+
transformed_entries_with_errors.append(transformed_entry)
|
|
91
93
|
yield transformed_entry
|
|
92
94
|
elif self.filter(transformed_entry):
|
|
93
95
|
transformed_entry.filtered = True
|
|
94
96
|
yield transformed_entry
|
|
95
97
|
else:
|
|
96
98
|
transformed_entries.append(transformed_entry)
|
|
99
|
+
if transformed_entries_with_errors:
|
|
100
|
+
current_app.logger.warning(
|
|
101
|
+
f"Skipping {len(transformed_entries_with_errors)} transformed entries with errors."
|
|
102
|
+
)
|
|
97
103
|
if transformed_entries:
|
|
98
104
|
if self.write_many:
|
|
99
105
|
yield from self.batch_write(transformed_entries)
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
from celery import shared_task
|
|
11
11
|
from flask import current_app
|
|
12
|
-
from invenio_jobs.errors import
|
|
12
|
+
from invenio_jobs.errors import TaskExecutionPartialError
|
|
13
13
|
|
|
14
14
|
from ..datastreams.factories import DataStreamFactory
|
|
15
15
|
|
|
@@ -31,6 +31,6 @@ def process_datastream(config):
|
|
|
31
31
|
current_app.logger.error(err)
|
|
32
32
|
entries_with_errors += 1
|
|
33
33
|
if entries_with_errors:
|
|
34
|
-
raise
|
|
34
|
+
raise TaskExecutionPartialError(
|
|
35
35
|
message=f"Task execution succeeded with {entries_with_errors} entries with errors."
|
|
36
36
|
)
|
|
Binary file
|