Два цвета появляются в любом языке раньше других - это белый и чёрный, - и до сих пор существуют некоторые общества (африканские, индейские), где развитие лингвистической палитры остановилось на этом этапе. Но надо понимать, что когда язык обладает всего двумя цветовыми обозначениями, это не говорит о том, что носители этого языка видят только эти два цвета, а по поводу остальных страдают дальтонизмом. Они всё прекрасно видят, просто им не требуется для жизни делить цвета на множество оттенков. Их мир делится на два типа цветов - тёмные и светлые (или тёплые и холодные). В таком мире чёрными будут деревья, кровь, камни и глубокая вода, а белыми - небо, кожа, цветы и мелкие ручьи.
Третьим цветом добавляется красный, который берёт на себя самые яркие оттенки - оранжевый, желтый, красновато-коричневый, алый, розовый. Остальной мир по-прежнему делится на тёмное и светлое. Трёхцветных языков и сейчас довольно много, а когда-то эти этапы прошли и все современные, богатые на названия оттенков языки.
И поскольку в прошлом, в нашем общем предке - праиндоевропейском, одно слово могло означать множество разных оттенков, нет ничего удивительного в том, что в его потомках все названия перепутались и сместились. Возможно, путаница была уже в самом праиндоевропейском - ведь он неизбежно делился на региональные варианты, носители которых никак не могли контактировать между собой.
Итак, "чёрный". По-польски: "czerń", по-чешски "černý", по-болгарски "черен", по-словенски "črn", по-сербски "црни"... В праславянском чётко реконструируется *čьrnъ. Конечно, это уже с палатализацией, и её мы тоже сейчас отмотаем назад.
По-литовски чёрную масть лошади называют "kir̃snas", а также в другом балтском языке, прусском, "черный" выглядел вот так - "kirsnan". Поскольку с балтскими языками славянские разделились позже всего, можно восстановить общую балтославянскую форму *kiršnas, она как раз предшествует славянской палатализации.
А в протоиндоиранском восстанавливается соответствующая форма *kr̥šnás ("тёмный, чёрный"), откуда персидское کرسنه [kersne] - "грязный" и, наконец, индийское कृष्ण [kṛṣṇá], он же Кришна - "чёрный, тёмный, синий".
Из этого всего делается вывод, что в праиндоевропейском было слово *kr̥snós с семантикой "чёрный, тёмный". При этом потомки его сохранились только в сатемных языках, как видите, то есть, вероятно, уже тогда это был некий диалектизм.
А в западную, кентумную сторону пошли другие корни.
- Английский: "black"
Это слово родственно голландскому "blaken" ("жечь, гореть"), от протогерманского *blakaz ("горелый"). Интересно, что в английское цветовое обозначение попал как бы результат горения, чёрный цвет, а вот среди родни в других языках больше подчеркивается свет пламени в процессе. Вот, например, латинское "flagrāre" ("гореть, сиять, вспыхнуть"), "flamma" ("пламя"), греческое φλόξ [phlóx] ("пламя, сияние, вспышка"), φλέγμᾰ [phlégma] - это и "пламя, огонь, жар", и одновременно та самая "флегма", которая преобладает в холодных людях (это слово может переводиться как "мокрота, слизь", а такой переход, вероятно, произошёл из-за того, что эти жидкости могут сопутствовать воспалению, которое, как раз связано с жаром).
В праиндоевропейском восстанавливается *bʰel- с семантикой света и сияния, и у нас от него получилось слово "белый". Кроме того, отсюда же происходит и английское "blue" ("синий"), и пускай нас это не удивляет, потому что наше слово "синий" тоже связано с корнем слова "сиять". В итоге наш белый родственен английским чёрному и синему. Ничего необычного, это весёлая наука этимология.
- Испанский: "negro" (фр. "noir", ит. "nero")
До латыни происхождение этих слов прослеживается легко - "nigrum" ("чёрный, тёмный, мрачный"). А дальше только предположение, о родстве со словом *nókʷts ("ночь").
- Немецкий: "sсhwarz"
А это уже чисто германская история. В английском есть слово "swart" ("смуглый"), в датском "sort" ("черный, темный"), в голландском "zwart" с тем же значением. Всё это даёт протогерманское *swartaz и праиндоевропейское *swerd.