Транслитерация - это практично, удобно и безопасно

0
0

Программирование по сей день - это кодирование и обработка кода. Символы алфавита, цифры, знаки и непечатаемые символы всегда представлены уникальными кодами. Даже числа складываются из цифр, то есть из кодов.

Транслитерация это

Первоначально таблица кодов включала в себя 128 комбинаций, хотя для каждого символа выделялось восемь бит (один бит уходил на проверку правильности данных при хранении/передаче). Потом основная таблица символов «избавилась» от бита контроля и стала включать в себя 256 комбинаций.

Современные кодировки символов

По привычке и по логике, всегда и везде используемая таблица символов уже вовсе не старая, добрая «Аски» (ASCII), а Windows-1251 (CP1251), UTF-8 или другой вариант кодирования символьной информации. Но в ней всегда есть символы латинского алфавита, цифры и знаки в качестве набора основных символов.

Понятие "локализация" означает привязку к стране, территории, национальному языку, привычным форматам представления даты и времени, денежных единиц и т. д.

Транслитерация на английский

В любой кодировке символы латинского алфавита есть всегда, на них можно рассчитывать при любом положении вещей. Транслитерация на английский безопасна и естественна.

Для кириллицы проблемы давно закончились, она получила свое место в различных системах кодировок. Все широко используемые программы русифицированы (какие надо - работают на белорусском, украинском и других национальных языках).

Что касается имен файлов и папок, доменов, разнообразных ресурсов внутри операционной системы компьютера и в среде интернет, латиница в приоритете. Впрочем, транслитерация это даже не рассматривает как повод для беспокойства.

Естественные трансформации алфавитов

Самое простое и классическое решение - перевести символы национального алфавита в символы латиницы, при этом некоторые буквы могут получать по два-три символа латинского алфавита. Это нормально и привычно. Существует множество вариантов транслитерации - и рекомендованные государством, и обоснованные научно, и, что чаще всего встречается, принятые в той или иной программе.

По классическому определению транслитерация - это передача написания (отчасти звучания) слов и фраз одного языка на другой. Процесс рассматривается на уровне букв. Обычно цифры, знаки и непечатаемые символы передаются как есть, а в необходимых случаях экранируются, то есть кодируются так, чтобы не навредить ни процессу передачи информации, ни ее хранению.

Транслитерация - это не перевод текста и ничего общего с этим не имеет. Смысл исходной фразы передается как есть на исходном, в данном случае русском языке. Просто буквы русского алфавита заменяются на подобные буквы или сочетания букв латинского.

Привычные применения транслитерации

Паспорт, СМС-ка на смартфоне, в прошлом передача информации на пейджер, да и много других привычных старых программ были вынуждены использовать передачу информации на национальном языке символами латиницы без перевода.

Многие компьютеры и устройства до сих пор не имеют ни русских букв, ни букв других национальных языков. До сих пор некоторые изготовители электронного оборудования «забывают» локализовать свои изделия для страны, в которой их продают.

Локальный компьютер, хостинг и интернет

С тем, чтобы не возникало проблем с хранением и передачей информации, как правило, транслитерация с русского затрагивает имена файлов, папок, доменные имена и другие ресурсы, которыми манипулирует операционная система, хостинг, программа или какой-либо ресурс в интернете.

Содержимое файла, базы данных, переменной может быть каким угодно. Все современные системы и средства программирования обеспечивают это простое незыблемое требование. Жесткие условия накладываются только на то, чем манипулирует вычислительная платформа или операционная система, чем пользуется тот или иной программный ресурс.

Транслитерация с русского

Часто файл с русскими буквами в названии можно только записать, но не более. Прочитать его, скопировать или удалить файл будет невозможно. Конечно, на системном уровне можно сделать все, но по каждому поводу не будешь обращаться администратору ресурса или системному программисту.

В интернет-программировании транслитерация - это привычное дело, но все же использование объектов, именованных на родном языке, гораздо удобнее и практичнее. К тому же далеко не всякому пользователю можно объяснить причину, по которой его файл получил другое наименование.

Очень хороший выход из такой ситуации: можно хранить оригинальное имя файла, объекта, переменной, но поставить ей в соответствие уникальный код. Например, MD5 - вполне уникальная комбинация кодов для любого оригинального наименования. Можно создавать уникальный числовой код или «собственноручно» изготовленный.