diff options
author | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-05-03 06:25:52 +0300 |
---|---|---|
committer | Jaakko Keränen <jaakko.keranen@iki.fi> | 2021-05-03 06:25:52 +0300 |
commit | 0336bc677685ad3c7765f6bb46d1b7e3d66935de (patch) | |
tree | 0527b057cf868ac68b7073d73cfe567a8ee9d107 | |
parent | 7584277f59646fb38c80242a2503176e073be367 (diff) |
Lang: Added new and missing strings
IssueID #192
-rw-r--r-- | po/en.po | 66 | ||||
-rw-r--r-- | res/lang/de.bin | bin | 18855 -> 19776 bytes | |||
-rw-r--r-- | res/lang/en.bin | bin | 17343 -> 18264 bytes | |||
-rw-r--r-- | res/lang/es.bin | bin | 19434 -> 20355 bytes | |||
-rw-r--r-- | res/lang/fi.bin | bin | 19137 -> 20058 bytes | |||
-rw-r--r-- | res/lang/fr.bin | bin | 19888 -> 20809 bytes | |||
-rw-r--r-- | res/lang/ia.bin | bin | 19326 -> 20247 bytes | |||
-rw-r--r-- | res/lang/ie.bin | bin | 18558 -> 19479 bytes | |||
-rw-r--r-- | res/lang/ru.bin | bin | 29046 -> 29967 bytes | |||
-rw-r--r-- | res/lang/sr.bin | bin | 27541 -> 28462 bytes | |||
-rw-r--r-- | res/lang/zh_Hans.bin | bin | 16733 -> 17654 bytes | |||
-rw-r--r-- | res/lang/zh_Hant.bin | bin | 16807 -> 17728 bytes | |||
-rw-r--r-- | src/app.c | 15 | ||||
-rw-r--r-- | src/gempub.c | 26 | ||||
-rw-r--r-- | src/ui/documentwidget.c | 2 | ||||
-rw-r--r-- | src/ui/root.c | 16 |
16 files changed, 94 insertions, 31 deletions
@@ -152,6 +152,18 @@ msgstr "Close Tabs To Right" | |||
152 | msgid "menu.duptab" | 152 | msgid "menu.duptab" |
153 | msgstr "Duplicate Tab" | 153 | msgstr "Duplicate Tab" |
154 | 154 | ||
155 | msgid "menu.split.merge" | ||
156 | msgstr "Merge Tabs" | ||
157 | |||
158 | msgid "menu.split.swap" | ||
159 | msgstr "Swap Sides" | ||
160 | |||
161 | msgid "menu.split.horizontal" | ||
162 | msgstr "Horizontal" | ||
163 | |||
164 | msgid "menu.split.vertical" | ||
165 | msgstr "Vertical" | ||
166 | |||
155 | msgid "menu.openlocation" | 167 | msgid "menu.openlocation" |
156 | msgstr "Open Location…" | 168 | msgstr "Open Location…" |
157 | 169 | ||
@@ -630,6 +642,9 @@ msgstr "The page contents are still being downloaded." | |||
630 | msgid "dlg.save.size" | 642 | msgid "dlg.save.size" |
631 | msgstr "Size:" | 643 | msgstr "Size:" |
632 | 644 | ||
645 | msgid "dlg.save.opendownload" | ||
646 | msgstr "Open Downloaded File" | ||
647 | |||
633 | msgid "heading.save.error" | 648 | msgid "heading.save.error" |
634 | msgstr "ERROR SAVING FILE" | 649 | msgstr "ERROR SAVING FILE" |
635 | 650 | ||
@@ -911,6 +926,21 @@ msgstr "Country:" | |||
911 | msgid "dlg.newident.create" | 926 | msgid "dlg.newident.create" |
912 | msgstr "Create Identity" | 927 | msgstr "Create Identity" |
913 | 928 | ||
929 | msgid "heading.newident.missing" | ||
930 | msgstr "MISSING INFO" | ||
931 | |||
932 | msgid "dlg.newindent.missing.commonname" | ||
933 | msgstr "A \"Common name\" must be specified." | ||
934 | |||
935 | msgid "heading.newident.date.bad" | ||
936 | msgstr "INVALID DATE" | ||
937 | |||
938 | msgid "dlg.newident.date.past" | ||
939 | msgstr "Expiration date must be in the future." | ||
940 | |||
941 | msgid "dlg.newident.date.example" | ||
942 | msgstr "Please check the \"Valid until\" date. Examples:\n• 2030\n• 2025-06-30\n• 2021-12-31 23:59:59" | ||
943 | |||
914 | msgid "heading.feedcfg" | 944 | msgid "heading.feedcfg" |
915 | msgstr "FEED SETTINGS" | 945 | msgstr "FEED SETTINGS" |
916 | 946 | ||
@@ -1415,3 +1445,39 @@ msgstr "Invalid Certificate" | |||
1415 | 1445 | ||
1416 | msgid "error.cert.invalid.msg" | 1446 | msgid "error.cert.invalid.msg" |
1417 | msgstr "The provided client certificate is expired or invalid." | 1447 | msgstr "The provided client certificate is expired or invalid." |
1448 | |||
1449 | msgid "gempub.cover.viewlocal" | ||
1450 | msgstr "This Gempub book can be viewed after it has been saved locally." | ||
1451 | |||
1452 | msgid "gempub.cover.untitled" | ||
1453 | msgstr "Untitled Book" | ||
1454 | |||
1455 | msgid "gempub.cover.aboutbook" | ||
1456 | msgstr "About this book" | ||
1457 | |||
1458 | msgid "gempub.cover.view" | ||
1459 | msgstr "View Gempub contents" | ||
1460 | |||
1461 | msgid "gempub.cover.image" | ||
1462 | msgstr "Cover image" | ||
1463 | |||
1464 | msgid "gempub.meta.author" | ||
1465 | msgstr "Author" | ||
1466 | |||
1467 | msgid "gempub.meta.version" | ||
1468 | msgstr "Version" | ||
1469 | |||
1470 | msgid "gempub.meta.revdate" | ||
1471 | msgstr "Revision date" | ||
1472 | |||
1473 | msgid "gempub.meta.pub" | ||
1474 | msgstr "Published" | ||
1475 | |||
1476 | msgid "gempub.meta.pubdate" | ||
1477 | msgstr "Publish date" | ||
1478 | |||
1479 | msgid "gempub.meta.lang" | ||
1480 | msgstr "Language" | ||
1481 | |||
1482 | msgid "gempub.meta.license" | ||
1483 | msgstr "License" \ No newline at end of file | ||
diff --git a/res/lang/de.bin b/res/lang/de.bin index 84482e24..ff0018b7 100644 --- a/res/lang/de.bin +++ b/res/lang/de.bin | |||
Binary files differ | |||
diff --git a/res/lang/en.bin b/res/lang/en.bin index e9a2b78d..83164f2e 100644 --- a/res/lang/en.bin +++ b/res/lang/en.bin | |||
Binary files differ | |||
diff --git a/res/lang/es.bin b/res/lang/es.bin index 90fd5c56..0b0a96c3 100644 --- a/res/lang/es.bin +++ b/res/lang/es.bin | |||
Binary files differ | |||
diff --git a/res/lang/fi.bin b/res/lang/fi.bin index b9d36a25..cd40873b 100644 --- a/res/lang/fi.bin +++ b/res/lang/fi.bin | |||
Binary files differ | |||
diff --git a/res/lang/fr.bin b/res/lang/fr.bin index d356cb9a..04a72088 100644 --- a/res/lang/fr.bin +++ b/res/lang/fr.bin | |||
Binary files differ | |||
diff --git a/res/lang/ia.bin b/res/lang/ia.bin index b79f60c7..4ec00896 100644 --- a/res/lang/ia.bin +++ b/res/lang/ia.bin | |||
Binary files differ | |||
diff --git a/res/lang/ie.bin b/res/lang/ie.bin index 32f58e81..dcef1187 100644 --- a/res/lang/ie.bin +++ b/res/lang/ie.bin | |||
Binary files differ | |||
diff --git a/res/lang/ru.bin b/res/lang/ru.bin index 5b7740e2..572b7d1f 100644 --- a/res/lang/ru.bin +++ b/res/lang/ru.bin | |||
Binary files differ | |||
diff --git a/res/lang/sr.bin b/res/lang/sr.bin index 3049e072..e73caafb 100644 --- a/res/lang/sr.bin +++ b/res/lang/sr.bin | |||
Binary files differ | |||
diff --git a/res/lang/zh_Hans.bin b/res/lang/zh_Hans.bin index c01c8d4b..d445954f 100644 --- a/res/lang/zh_Hans.bin +++ b/res/lang/zh_Hans.bin | |||
Binary files differ | |||
diff --git a/res/lang/zh_Hant.bin b/res/lang/zh_Hant.bin index 57529199..812f97da 100644 --- a/res/lang/zh_Hant.bin +++ b/res/lang/zh_Hant.bin | |||
Binary files differ | |||
@@ -1591,8 +1591,8 @@ static iBool handleIdentityCreationCommands_(iWidget *dlg, const char *cmd) { | |||
1591 | const iString *country = text_InputWidget (findChild_Widget(dlg, "ident.country")); | 1591 | const iString *country = text_InputWidget (findChild_Widget(dlg, "ident.country")); |
1592 | const iBool isTemp = isSelected_Widget(findChild_Widget(dlg, "ident.temp")); | 1592 | const iBool isTemp = isSelected_Widget(findChild_Widget(dlg, "ident.temp")); |
1593 | if (isEmpty_String(commonName)) { | 1593 | if (isEmpty_String(commonName)) { |
1594 | makeSimpleMessage_Widget(orange_ColorEscape "MISSING INFO", | 1594 | makeSimpleMessage_Widget(orange_ColorEscape "${heading.newident.missing}", |
1595 | "A \"Common name\" must be specified."); | 1595 | "${dlg.newindent.missing.commonname}"); |
1596 | return iTrue; | 1596 | return iTrue; |
1597 | } | 1597 | } |
1598 | iDate until; | 1598 | iDate until; |
@@ -1606,11 +1606,8 @@ static iBool handleIdentityCreationCommands_(iWidget *dlg, const char *cmd) { | |||
1606 | "%04u-%u-%u %u:%u:%u", | 1606 | "%04u-%u-%u %u:%u:%u", |
1607 | &val[0], &val[1], &val[2], &val[3], &val[4], &val[5]); | 1607 | &val[0], &val[1], &val[2], &val[3], &val[4], &val[5]); |
1608 | if (n <= 0) { | 1608 | if (n <= 0) { |
1609 | makeSimpleMessage_Widget(orange_ColorEscape "INVALID DATE", | 1609 | makeSimpleMessage_Widget(orange_ColorEscape "${heading.newident.date.bad}", |
1610 | "Please check the \"Valid until\" date. Examples:\n" | 1610 | "${dlg.newident.date.example}"); |
1611 | "\u2022 2030\n" | ||
1612 | "\u2022 2025-06-30\n" | ||
1613 | "\u2022 2021-12-31 23:59:59"); | ||
1614 | return iTrue; | 1611 | return iTrue; |
1615 | } | 1612 | } |
1616 | until.year = val[0]; | 1613 | until.year = val[0]; |
@@ -1625,8 +1622,8 @@ static iBool handleIdentityCreationCommands_(iWidget *dlg, const char *cmd) { | |||
1625 | initCurrent_Time(&now); | 1622 | initCurrent_Time(&now); |
1626 | init_Time(&t, &until); | 1623 | init_Time(&t, &until); |
1627 | if (cmp_Time(&t, &now) <= 0) { | 1624 | if (cmp_Time(&t, &now) <= 0) { |
1628 | makeSimpleMessage_Widget(orange_ColorEscape "INVALID DATE", | 1625 | makeSimpleMessage_Widget(orange_ColorEscape "${heading.newident.date.bad}", |
1629 | "Expiration date must be in the future."); | 1626 | "${dlg.newident.date.past}"); |
1630 | return iTrue; | 1627 | return iTrue; |
1631 | } | 1628 | } |
1632 | } | 1629 | } |
diff --git a/src/gempub.c b/src/gempub.c index 448349c8..c9b1c242 100644 --- a/src/gempub.c +++ b/src/gempub.c | |||
@@ -79,7 +79,7 @@ static iBool parseMetadata_Gempub_(iGempub *d) { | |||
79 | "cover:", | 79 | "cover:", |
80 | }; | 80 | }; |
81 | /* Default values. */ | 81 | /* Default values. */ |
82 | setCStr_String(&d->props[title_GempubProperty], "Untitled Book"); | 82 | setCStr_String(&d->props[title_GempubProperty], "${gempub.cover.untitled}"); |
83 | setCStr_String(&d->props[cover_GempubProperty], | 83 | setCStr_String(&d->props[cover_GempubProperty], |
84 | entryCStr_Archive(d->arch, "cover.jpg") ? "cover.jpg" : | 84 | entryCStr_Archive(d->arch, "cover.jpg") ? "cover.jpg" : |
85 | entryCStr_Archive(d->arch, "cover.png") ? "cover.png" : ""); | 85 | entryCStr_Archive(d->arch, "cover.png") ? "cover.png" : ""); |
@@ -173,38 +173,38 @@ iString *coverPageSource_Gempub(const iGempub *d) { | |||
173 | appendFormat_String(out, "%s\n", cstr_String(&d->props[description_GempubProperty])); | 173 | appendFormat_String(out, "%s\n", cstr_String(&d->props[description_GempubProperty])); |
174 | } | 174 | } |
175 | appendCStr_String(out, "\n"); | 175 | appendCStr_String(out, "\n"); |
176 | appendProperty_Gempub_(d, "Author:", author_GempubProperty, out); | 176 | appendProperty_Gempub_(d, "${gempub.meta.author}:", author_GempubProperty, out); |
177 | if (!isRemote_Gempub_(d)) { | 177 | if (!isRemote_Gempub_(d)) { |
178 | appendFormat_String(out, "\n=> %s " book_Icon " View Gempub contents\n", | 178 | appendFormat_String(out, "\n=> %s " book_Icon " ${gempub.cover.view}\n", |
179 | cstrCollect_String(concat_Path(baseUrl, &d->props[index_GempubProperty]))); | 179 | cstrCollect_String(concat_Path(baseUrl, &d->props[index_GempubProperty]))); |
180 | if (hasProperty_Gempub_(d, cover_GempubProperty)) { | 180 | if (hasProperty_Gempub_(d, cover_GempubProperty)) { |
181 | appendFormat_String(out, "\n=> %s Cover image\n", | 181 | appendFormat_String(out, "\n=> %s ${gempub.cover.image}\n", |
182 | cstrCollect_String(concat_Path(baseUrl, &d->props[cover_GempubProperty]))); | 182 | cstrCollect_String(concat_Path(baseUrl, &d->props[cover_GempubProperty]))); |
183 | } | 183 | } |
184 | } | 184 | } |
185 | else { | 185 | else { |
186 | iString *key = collectNew_String(); /* TODO: add a helper for this */ | 186 | iString *key = collectNew_String(); /* TODO: add a helper for this */ |
187 | toString_Sym(SDLK_s, KMOD_PRIMARY, key); | 187 | toString_Sym(SDLK_s, KMOD_PRIMARY, key); |
188 | appendCStr_String(out, "\nThis Gempub book can be viewed after it has been saved locally. "); | 188 | appendCStr_String(out, "\n${gempub.cover.viewlocal} "); |
189 | appendFormat_String(out, | 189 | appendFormat_String(out, |
190 | cstr_Lang("error.unsupported.suggestsave"), | 190 | cstr_Lang("error.unsupported.suggestsave"), |
191 | cstr_String(key), | 191 | cstr_String(key), |
192 | saveToDownloads_Label); | 192 | saveToDownloads_Label); |
193 | translate_Lang(out); | ||
194 | appendCStr_String(out, "\n"); | 193 | appendCStr_String(out, "\n"); |
195 | } | 194 | } |
196 | appendCStr_String(out, "\n## About this book\n"); | 195 | appendCStr_String(out, "\n## ${gempub.cover.aboutbook}\n"); |
197 | appendProperty_Gempub_(d, "Version:", version_GempubProperty, out); | 196 | appendProperty_Gempub_(d, "${gempub.meta.version}:", version_GempubProperty, out); |
198 | appendProperty_Gempub_(d, "Revision date:", revisionDate_GempubProperty, out); | 197 | appendProperty_Gempub_(d, "${gempub.meta.revdate}:", revisionDate_GempubProperty, out); |
199 | if (hasProperty_Gempub_(d, publishDate_GempubProperty)) { | 198 | if (hasProperty_Gempub_(d, publishDate_GempubProperty)) { |
200 | appendProperty_Gempub_(d, "Publish date:", publishDate_GempubProperty, out); | 199 | appendProperty_Gempub_(d, "${gempub.meta.pubdate}:", publishDate_GempubProperty, out); |
201 | } | 200 | } |
202 | else { | 201 | else { |
203 | appendProperty_Gempub_(d, "Published:", published_GempubProperty, out); | 202 | appendProperty_Gempub_(d, "${gempub.meta.pub}:", published_GempubProperty, out); |
204 | } | 203 | } |
205 | appendProperty_Gempub_(d, "Language:", language_GempubProperty, out); | 204 | appendProperty_Gempub_(d, "${gempub.meta.lang}:", language_GempubProperty, out); |
206 | appendProperty_Gempub_(d, "License:", license_GempubProperty, out); | 205 | appendProperty_Gempub_(d, "${gempub.meta.license}:", license_GempubProperty, out); |
207 | appendProperty_Gempub_(d, "\u00a9", copyright_GempubProperty, out); | 206 | appendProperty_Gempub_(d, "\u00a9", copyright_GempubProperty, out); |
207 | translate_Lang(out); | ||
208 | return out; | 208 | return out; |
209 | } | 209 | } |
210 | 210 | ||
diff --git a/src/ui/documentwidget.c b/src/ui/documentwidget.c index 290bf95e..4158b719 100644 --- a/src/ui/documentwidget.c +++ b/src/ui/documentwidget.c | |||
@@ -1762,7 +1762,7 @@ static void saveToDownloads_(const iString *url, const iString *mime, const iBlo | |||
1762 | exportDownloadedFile_iOS(savePath); | 1762 | exportDownloadedFile_iOS(savePath); |
1763 | #else | 1763 | #else |
1764 | const iMenuItem items[2] = { | 1764 | const iMenuItem items[2] = { |
1765 | { "Open Downloaded File", 0, 0, | 1765 | { "${dlg.save.opendownload}", 0, 0, |
1766 | format_CStr("!open url:%s", cstrCollect_String(makeFileUrl_String(savePath))) }, | 1766 | format_CStr("!open url:%s", cstrCollect_String(makeFileUrl_String(savePath))) }, |
1767 | { "${dlg.message.ok}", 0, 0, "message.ok" }, | 1767 | { "${dlg.message.ok}", 0, 0, "message.ok" }, |
1768 | }; | 1768 | }; |
diff --git a/src/ui/root.c b/src/ui/root.c index d660c468..17682125 100644 --- a/src/ui/root.c +++ b/src/ui/root.c | |||
@@ -1252,16 +1252,16 @@ void createUserInterface_Root(iRoot *d) { | |||
1252 | }, | 1252 | }, |
1253 | 4); | 1253 | 4); |
1254 | iWidget *splitMenu = makeMenu_Widget(root, (iMenuItem[]){ | 1254 | iWidget *splitMenu = makeMenu_Widget(root, (iMenuItem[]){ |
1255 | { "Merge Tabs", '1', 0, "ui.split arg:0" }, | 1255 | { "${menu.split.merge}", '1', 0, "ui.split arg:0" }, |
1256 | { "Swap Sides", SDLK_x, 0, "ui.split swap:1" }, | 1256 | { "${menu.split.swap}", SDLK_x, 0, "ui.split swap:1" }, |
1257 | { "---", 0, 0, NULL }, | 1257 | { "---", 0, 0, NULL }, |
1258 | { "Horizontal", '2', 0, "ui.split arg:3 axis:0" }, | 1258 | { "${menu.split.horizontal}", '2', 0, "ui.split arg:3 axis:0" }, |
1259 | { "Horizontal 1:2", SDLK_d, 0, "ui.split arg:1 axis:0" }, | 1259 | { "${menu.split.horizontal} 1:2", SDLK_d, 0, "ui.split arg:1 axis:0" }, |
1260 | { "Horizontal 2:1", SDLK_e, 0, "ui.split arg:2 axis:0" }, | 1260 | { "${menu.split.horizontal} 2:1", SDLK_e, 0, "ui.split arg:2 axis:0" }, |
1261 | { "---", 0, 0, NULL }, | 1261 | { "---", 0, 0, NULL }, |
1262 | { "Vertical", '3', 0, "ui.split arg:3 axis:1" }, | 1262 | { "${menu.split.vertical}", '3', 0, "ui.split arg:3 axis:1" }, |
1263 | { "Vertical 1:2", SDLK_f, 0, "ui.split arg:1 axis:1" }, | 1263 | { "${menu.split.vertical} 1:2", SDLK_f, 0, "ui.split arg:1 axis:1" }, |
1264 | { "Vertical 2:1", SDLK_r, 0, "ui.split arg:2 axis:1" }, | 1264 | { "${menu.split.vertical} 2:1", SDLK_r, 0, "ui.split arg:2 axis:1" }, |
1265 | }, 10); | 1265 | }, 10); |
1266 | setFlags_Widget(splitMenu, disabledWhenHidden_WidgetFlag, iTrue); /* enabled when open */ | 1266 | setFlags_Widget(splitMenu, disabledWhenHidden_WidgetFlag, iTrue); /* enabled when open */ |
1267 | setId_Widget(tabsMenu, "doctabs.menu"); | 1267 | setId_Widget(tabsMenu, "doctabs.menu"); |