// SPDX-License-Identifier: AGPL-3.0-or-later import type {SpellcheckBundledDictionary} from '@electron/common/Types'; interface SpellcheckDictionarySource { version: string; affSha256: string; dicSha256: string; affBytes: number; dicBytes: number; } export const DICTIONARY_SOURCES = { 'dictionary-bg': { version: '2.0.0', affSha256: 'cb6bfc56d6b1e70c812061086d7ec5ad6aaf6d35acd927a035f1cee0188ea477', dicSha256: '44408b1ee50301e8f9a133b0ec92565bb8be49818c444d91821876d447f58906', affBytes: 58189, dicBytes: 1566242, }, 'dictionary-ca': { version: '3.0.0', affSha256: 'bfc7d8412c9450ec63e00d13f2153191a11d04868b14d51cf6c50eace71efdb2', dicSha256: 'e272aeff4b2d1a92b428a22b52c685292d04936e34dfe7786e27539175cbef2e', affBytes: 49922, dicBytes: 2876608, }, 'dictionary-cs': { version: '4.0.0', affSha256: '175e02acb4786042a9c87e3cb6d3746e3a5b3079752118c2d4f0bb2c756ce72b', dicSha256: 'bbc0a495671c29337279182799e171c173a21ae8968c89dd0fb7c713b40c7832', affBytes: 112714, dicBytes: 3648134, }, 'dictionary-da': { version: '6.0.0', affSha256: 'cb5ef704de0ab8575c883c97981d5d242260c7ebe47b28c15c205443aca15976', dicSha256: '9a12345e1881c96f18cc460dbd062e47509571d5f2a2a9bf041da169856dc19e', affBytes: 81584, dicBytes: 3719300, }, 'dictionary-de': { version: '3.0.0', affSha256: '57fdd1b16aac2131003c91e0cf2a488becb970382a402a9ce089307301cb3ef0', dicSha256: 'b5c781a0cf6f285fb6b9b8ab02fbea104b987104a1efdda8a835837e89e3ec77', affBytes: 19199, dicBytes: 1118194, }, 'dictionary-el': { version: '4.0.0', affSha256: '5d2e3580af6d3523ac4470335a4b05968e59dddc58e1a7f2b260c81342e80063', dicSha256: 'f08daefb302600beb1b345e4fd77f4ecf6617aa080a72efe6ae7eec0ad5b2ac7', affBytes: 20058, dicBytes: 19421967, }, 'dictionary-en': { version: '4.0.0', affSha256: '8ae1f19d4840d957728ad90555d5a8dff6cc5c046279c95ff0c00fc0a0136c7b', dicSha256: 'f0b1a234bd178bdd01875b2a392a9647f888b8fe879f79c52aae62c2759b3647', affBytes: 3086, dicBytes: 551762, }, 'dictionary-en-gb': { version: '3.0.0', affSha256: '8ae1f19d4840d957728ad90555d5a8dff6cc5c046279c95ff0c00fc0a0136c7b', dicSha256: '869fe17ba4ee4b5401c60a666ee2d6a3dcc237f460b7294435df1cc6a799aa57', affBytes: 3086, dicBytes: 552106, }, 'dictionary-eo': { version: '2.0.0', affSha256: 'a668bb25baccb39a758692a94325c47195a70fe723fe9875d1b3a3b4545412a5', dicSha256: '75b09812254cd6b49c2849ed3b92f1c252117906f5a2ce281d25e1798c437ac1', affBytes: 16322, dicBytes: 382137, }, 'dictionary-es': { version: '4.0.0', affSha256: '892039d59db11d747061b81c3a92a52d48ba0e055b5835af1943cbd3c2fba85b', dicSha256: '907f786a8ceb3456722b20ad91dd4dbe99c5c16e45015ea63155e36f26b06d2c', affBytes: 167135, dicBytes: 706202, }, 'dictionary-et': { version: '2.0.0', affSha256: 'f568a1003d9d49d377e87e35a4b712a243b4490ef0647992c85169d46ed948e3', dicSha256: '237ff31093ec03c7f992919b8e7c9a4d3df90cdef9859edab571ebff42c9f5e8', affBytes: 240016, dicBytes: 4457441, }, 'dictionary-eu': { version: '4.0.0', affSha256: 'ba68948c642828c80e5b5fc7ea19876bd38ce6f874f4453c662395adca8fef2a', dicSha256: '2f046ed070c11f9dc6f502577462bdc11a0966be50e0d9750823922a22d9e948', affBytes: 2729393, dicBytes: 2303418, }, 'dictionary-fa': { version: '2.0.0', affSha256: 'dba0980816354ad969aa46dda0c040eeebda4a9381be331e17eae8647a2a1e1c', dicSha256: '314f31e059994f26e8016c834b14dfd10f74834b3f623a6040265b8f2a9dddab', affBytes: 5440, dicBytes: 2575990, }, 'dictionary-fo': { version: '3.0.0', affSha256: '6e459e5a3346ee0b7ad3ddc98dd0a412226060c6e7be6e096cfdf039f877b491', dicSha256: '3b62983af6b5c093e2ec020ff35869cc3068167e7cc7f8cc9585456a6b1368db', affBytes: 170213, dicBytes: 1716099, }, 'dictionary-fr': { version: '3.0.0', affSha256: '05a735d34c912e4e381ff08ee7c747923ccf5cf9dca81d8467982fa1ca51c2b7', dicSha256: '984e933237bc1224a48f42828233be9b03228260ef67aa8e2bdddcd03a26230d', affBytes: 199870, dicBytes: 1229133, }, 'dictionary-gl': { version: '3.0.0', affSha256: 'e2abc4122548c5f9e914fbbbcbebad3486b1492ac352fef72b95be93e32a0617', dicSha256: 'ca5f8d735a13225c1dabab042ddac8c58fd5e820ffba807ba8024d0fa0a68170', affBytes: 1159910, dicBytes: 8636406, }, 'dictionary-he': { version: '2.0.0', affSha256: 'e115a0a5014d17a8e904f9d4a67d7992039b396c5fa031eb036a13bf63dfb037', dicSha256: '9bd95042a927e13ab422231e355caa8a7018456e7c49b889f2e6c62ddb5a0552', affBytes: 78883, dicBytes: 5688111, }, 'dictionary-hr': { version: '2.0.0', affSha256: '230a7f0ca65159ecf8f3eea4afd79f7436415e83129b1d6b2424892074d8194d', dicSha256: 'fb436f3a758cd4faf9ef4cd5c2e6e2a1e3abe535ee183095a2f59fd18dad0731', affBytes: 96099, dicBytes: 732589, }, 'dictionary-hu': { version: '3.0.0', affSha256: '625a5fb8bf77cf1a4d73288883b8abeff4753f736579a35ec285088fb9098d2c', dicSha256: 'b6bda85603bb293de53b6deed5043771b1a61958f76e09aa8058c26e563f63e1', affBytes: 807730, dicBytes: 3114250, }, 'dictionary-is': { version: '2.0.0', affSha256: '0168050c64a369c55b5aeb61f9dfe484d2aa7512d78bb3fa36779ea24b467c50', dicSha256: '8447594fd7eb1d6d43725c4ca49b00d3f00c4c4f3ac2f2b6dfe3f56eb211d280', affBytes: 309734, dicBytes: 2454138, }, 'dictionary-it': { version: '2.0.0', affSha256: '5770cd3e16d494c045b4a9a4a9fcd7962577e642d0384a7129c020a12cdd2c79', dicSha256: 'b1348fbdb6f441ea9dd7e33b2cfcb96ead39ccd5e48bf894972774cd5aa86abb', affBytes: 70020, dicBytes: 1295754, }, 'dictionary-ko': { version: '2.0.0', affSha256: '7b8930ce1357691591a3c38afc9cba787ec6dce0e30d0438bd156c4b4c94dbdf', dicSha256: 'ea275b5fe256925a95f9192a173f7c3d3c2480fa748371c64b89d7e0cc531b1d', affBytes: 11094418, dicBytes: 2864525, }, 'dictionary-lt': { version: '2.0.0', affSha256: '79c6f8304490d1c8b27ec93e509b2f635d9bb21d45a2d41c15162b18c8ff897c', dicSha256: 'a751750b040623cf408cf1a3b6f6336141b55ac9519e54068dbeaa52eb395ccd', affBytes: 99714, dicBytes: 1181184, }, 'dictionary-lv': { version: '2.0.0', affSha256: 'a11f646c6905d6c96f3218ada4a6cf84129c9e6169720ac1a17f1707940a2890', dicSha256: 'bf7d054e28bc5e44df19410f3ed9d5fd8d6a4d8c051676650388c4e8d65c3148', affBytes: 130475, dicBytes: 1844831, }, 'dictionary-nb': { version: '3.0.0', affSha256: '515a1e5f32ffa555d253c827830420dc5bb1d9a59ea9f720729acb0874c6a8c3', dicSha256: 'e97fdf7f441b3c46e1d0761a8ad25fa1883d0977d70ea8cb04751cb1c47fa10e', affBytes: 17381, dicBytes: 5349724, }, 'dictionary-nl': { version: '2.0.0', affSha256: 'b430d9cf5f4170d9e5072397927e1402b34aa877d1f4c8fbc00dab6370d87312', dicSha256: 'be192fdc36efd39dde0fb9a5a113143e0a906782e81ed68a74a710edced378d0', affBytes: 46732, dicBytes: 2489166, }, 'dictionary-pl': { version: '2.0.0', affSha256: 'de7b54a8fa37562d58b481cf3d87a63e3dcc2d74021f6403eb0e4f5df9ecc225', dicSha256: '74b6155391025419967c26913541b55b36d58e80b1028037d4a0b8ddcb18d0b7', affBytes: 268824, dicBytes: 4683579, }, 'dictionary-pt': { version: '4.0.0', affSha256: 'a9f3621b94eb4d6838474bf9982027758e77dcb248815f49409b1a4a477dbd27', dicSha256: '32e2edd83541d58613bcc83ef731a79aadf85ed57e977a16c6b5f711a7a36cee', affBytes: 979789, dicBytes: 4477692, }, 'dictionary-ro': { version: '3.0.0', affSha256: '3ee127a667bdec829faee546ae32033e8f10f7c63117f9b572ef03ad9df2b76b', dicSha256: 'c26a9356f598a0ae89e7be650f6bdd9ba70acce66b41d7ab14c0c68639b6ed33', affBytes: 55040, dicBytes: 2202394, }, 'dictionary-ru': { version: '3.0.0', affSha256: '38ce7d4af78e211e9bafe4bf7e3d6a2c420591136cb738ec6648f8fdf6524cd7', dicSha256: 'f6047416a0204adbecf3a451b874ec8a97ee37e2cbc714466ef04d8dbcc0d6fc', affBytes: 71236, dicBytes: 3473191, }, 'dictionary-sk': { version: '2.0.0', affSha256: 'a79dc992b849aa2355db38eea9c4722239993639d77bc81c9c1aa79f213e723c', dicSha256: 'b6cdb6fb512c44881cc91329aea0b179840f5f9a3e6cb024c2ab8547f96f5d94', affBytes: 99298, dicBytes: 3502147, }, 'dictionary-sl': { version: '3.0.0', affSha256: '511043a4f9c64a966599e3d53fa1f4e9a172a87de4a7a0c2cf327098a3a605d1', dicSha256: '5bac615dbd301ddbefbdaafdae242a89e46605916d77958df22778e770a95b9e', affBytes: 15054, dicBytes: 3084448, }, 'dictionary-sr': { version: '4.0.0', affSha256: '10e11edbd55742975f0720b26a2b6669187e9b91fabc5063ee81f0db2f73279f', dicSha256: '8bdbbe464f20a5a600ccad1ff0257883c42bb6170a55440d45b4b39e002f433a', affBytes: 1296, dicBytes: 4447970, }, 'dictionary-sv': { version: '4.0.0', affSha256: 'ff8ddb979daa9f128e7489ece5edd666ada7af787933221543b7cecb2b3ed478', dicSha256: '540ff8d0d9b05aae66dd919625d3a0bd25026d1e157027e6602e5dd11a07b645', affBytes: 18581, dicBytes: 2344199, }, 'dictionary-tr': { version: '2.0.0', affSha256: '6a390c79b054ad427cf9a6bf6de43463953cc1918e7f727e9dd4ebd4f9702f42', dicSha256: 'dc1d8f7724f4aefd117274678de431e4ea1765f2e02e6983b6ca48cbf5a7fc7c', affBytes: 240814, dicBytes: 9117192, }, 'dictionary-uk': { version: '4.0.0', affSha256: 'cd22837ffdbf96d57f3f7c5702f37f9069eb480cb3078668b32e1c69b0549fc1', dicSha256: '38fc49e64b54f7154a045edfd6e51f47ed4cb1e33c013a0e6de942713a82e199', affBytes: 203526, dicBytes: 8448957, }, 'dictionary-vi': { version: '3.0.0', affSha256: '0d836ebf1d4f1e9964d931fbb76464b24037b71995c73784166a07c43e2a7ae5', dicSha256: '9c56725b43e66de33d28aac8e58124e38247c8b2be34a8469b3113169110256c', affBytes: 1081, dicBytes: 39858, }, } satisfies Record; type SpellcheckDictionaryPackage = keyof typeof DICTIONARY_SOURCES; export interface SpellcheckDictionaryCatalogEntry extends SpellcheckBundledDictionary { package: SpellcheckDictionaryPackage; } export const BUNDLED_DICTIONARIES: ReadonlyArray = [ {tag: 'bg', package: 'dictionary-bg', displayName: 'Bulgarian', nativeName: 'Български'}, {tag: 'ca', package: 'dictionary-ca', displayName: 'Catalan', nativeName: 'Català'}, {tag: 'cs', package: 'dictionary-cs', displayName: 'Czech', nativeName: 'Čeština'}, {tag: 'da', package: 'dictionary-da', displayName: 'Danish', nativeName: 'Dansk'}, {tag: 'de', package: 'dictionary-de', displayName: 'German', nativeName: 'Deutsch'}, {tag: 'el', package: 'dictionary-el', displayName: 'Greek', nativeName: 'Ελληνικά'}, {tag: 'en', package: 'dictionary-en', displayName: 'English (US)', nativeName: 'English (US)'}, {tag: 'en-US', package: 'dictionary-en', displayName: 'English (US)', nativeName: 'English (US)'}, {tag: 'en-GB', package: 'dictionary-en-gb', displayName: 'English (UK)', nativeName: 'English (UK)'}, {tag: 'eo', package: 'dictionary-eo', displayName: 'Esperanto', nativeName: 'Esperanto'}, {tag: 'es', package: 'dictionary-es', displayName: 'Spanish', nativeName: 'Español'}, {tag: 'et', package: 'dictionary-et', displayName: 'Estonian', nativeName: 'Eesti'}, {tag: 'eu', package: 'dictionary-eu', displayName: 'Basque', nativeName: 'Euskara'}, {tag: 'fa', package: 'dictionary-fa', displayName: 'Persian', nativeName: 'فارسی'}, {tag: 'fo', package: 'dictionary-fo', displayName: 'Faroese', nativeName: 'Føroyskt'}, {tag: 'fr', package: 'dictionary-fr', displayName: 'French', nativeName: 'Français'}, {tag: 'gl', package: 'dictionary-gl', displayName: 'Galician', nativeName: 'Galego'}, {tag: 'he', package: 'dictionary-he', displayName: 'Hebrew', nativeName: 'עברית'}, {tag: 'hr', package: 'dictionary-hr', displayName: 'Croatian', nativeName: 'Hrvatski'}, {tag: 'hu', package: 'dictionary-hu', displayName: 'Hungarian', nativeName: 'Magyar'}, {tag: 'is', package: 'dictionary-is', displayName: 'Icelandic', nativeName: 'Íslenska'}, {tag: 'it', package: 'dictionary-it', displayName: 'Italian', nativeName: 'Italiano'}, {tag: 'ko', package: 'dictionary-ko', displayName: 'Korean', nativeName: '한국어'}, {tag: 'lt', package: 'dictionary-lt', displayName: 'Lithuanian', nativeName: 'Lietuvių'}, {tag: 'lv', package: 'dictionary-lv', displayName: 'Latvian', nativeName: 'Latviešu'}, {tag: 'nb', package: 'dictionary-nb', displayName: 'Norwegian Bokmål', nativeName: 'Norsk Bokmål'}, {tag: 'no', package: 'dictionary-nb', displayName: 'Norwegian', nativeName: 'Norsk'}, {tag: 'nl', package: 'dictionary-nl', displayName: 'Dutch', nativeName: 'Nederlands'}, {tag: 'pl', package: 'dictionary-pl', displayName: 'Polish', nativeName: 'Polski'}, {tag: 'pt', package: 'dictionary-pt', displayName: 'Portuguese', nativeName: 'Português'}, {tag: 'pt-BR', package: 'dictionary-pt', displayName: 'Portuguese (Brazil)', nativeName: 'Português (Brasil)'}, {tag: 'ro', package: 'dictionary-ro', displayName: 'Romanian', nativeName: 'Română'}, {tag: 'ru', package: 'dictionary-ru', displayName: 'Russian', nativeName: 'Русский'}, {tag: 'sk', package: 'dictionary-sk', displayName: 'Slovak', nativeName: 'Slovenčina'}, {tag: 'sl', package: 'dictionary-sl', displayName: 'Slovenian', nativeName: 'Slovenščina'}, {tag: 'sr', package: 'dictionary-sr', displayName: 'Serbian', nativeName: 'Српски'}, {tag: 'sv', package: 'dictionary-sv', displayName: 'Swedish', nativeName: 'Svenska'}, {tag: 'sv-SE', package: 'dictionary-sv', displayName: 'Swedish', nativeName: 'Svenska'}, {tag: 'tr', package: 'dictionary-tr', displayName: 'Turkish', nativeName: 'Türkçe'}, {tag: 'uk', package: 'dictionary-uk', displayName: 'Ukrainian', nativeName: 'Українська'}, {tag: 'vi', package: 'dictionary-vi', displayName: 'Vietnamese', nativeName: 'Tiếng Việt'}, ];