Как в Mac OS X безболезненно "переименовать" любую системную папку.

Интересную такую особенность нашёл в плане изменения названий любых системных папок. В заголовке я указал “переименовать”, на самом же деле это громкое слово 😉 Естественно, системное ничего переименовывать нельзя, но изменить отображаемое имя системных папкок можно, только называться это действие на самом деле будет не «переименовыванием», а «локализацией». Не знаю поняли вы вы суть или нет, но далее должно всё стать ясным «как белый день» 🙂

Возможно вы обращали внимание на скрытые файлы .localized в корне некоторых директорий… Нет? – Не, так не годится, сейчас как раз самое время обратить на них внимание 🙂 Сразу предупреждаю: «мы будем работать преимущественно с терминалом» – так проще. Давайте запустим Терминал и выполним вот такую команду:

defaults write com.apple.finder AppleShowAllFiles TRUE

Её выполнение нужно для того, чтоб системный проводник Mac OS X – Finder, начал отображать все скрытые (системные) файлы и папки. Для того, чтобы изменения вступили в силу нужно перезапустить Finder вот такой командой:

killall Finder

Особо ленивым для отображения скрытых файлов и папок можно воспользоваться решением по-проще, однако оно всё-равно не избавит вас от страшного-престрашного терминала 😉

Теперь, когда все скрытые файлы стали видимыми, мы можем начинать разбираться в сути вопроса. Заходим, к примеру, в папку Программы (Applications) и видим появившиеся несколько скрытых файлов, одним из которых будет файл .localized:

Файл .localized отвечающий за локализацию системных папок в Mac OS X

Если его удалить, а потом перезагрузиться или перезапусить Finder, то папка Программы станет называться Applications, если снова вернуть файл .localized на место и перезагрузиться или перезапусить Finder, то Applications снова станет называться Программы. Понятно, что с отображением имени напрямую связан файл .localized. И я как-то предположил, что .localized – это и есть файл локализации. Открыв его через HEX-редактор я не увидел в нём ни одного байта данных. Как же тогда работает локализация? – Как оказалось, файл .localized является «маячком», «якорем» (анкором, если хотите) для указания Finder‘у, что папку, содержащую данный файл, нужно «обзывать» по-другому. Осталось найти теперь сам файл, в котором описано, кого и как нужно «обзывать». Искать долго не пришлось – файлы локализации по интуиции были найдены в /System/Library/CoreServices/SystemFolderLocalizations/. Каждой локализации системы соответствует папка с набором файлов, я использую русский интерфейс, поэтому меня интересует содержимое папки ru.lproj. В этой папке находится всего один файл – SystemFolderLocalizations.strings. Откроем его при помощи текстового редактора и посмотрим, что в нём (я использую TextMate 2):

Файл SystemFolderLocalizations.strings содержащий локализированные названия системных папок в Mac OS X

Внимание! если вдруг окажется, что SystemFolderLocalizations.strings сконвертирован в бинарный формат и обычный текстовый редактор отказывается его открывать, то для начала его нужно переконвертировать в какой-либо читабельный вид, например в XML.

Вот с этого момента начинается интересненькое. Как видно, в файле локализации указано оригинальное название папки, а рядом то, что должно отображаться при наличии файла .localized. Теперь становится всё понятно. Ну, попробуем и мы что-то локализировать (окно с открытым файлом не закрываем, он нам ещё пригодится). В качестве подопытной я выбрал папку Filesystems находящуюся в /System/Library (в последнее время я в ней часто бываю 🙂. Так как папка Filesystems является системной, для добавления в неё чего-либо нужно обладать правами администратора, поэтому в терминале мне придётся работать от root’а. Переходим в папку Filesystems:

cd /System/Library/Filesystems

И создаём в ней пустой файл .localized (не забудьте про точку спереди):

sudo touch .localized

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

Изменённый файл SystemFolderLocalizations.strings

Ну всё, сохраняем файл и подтверждаем свои действия паролем администратора. Для того, чтоб увидеть изменения нужно снова перезапустить Finder, но перед этим мы сначала сныкаем те файлы которые не должны быть видимыми, а потом уже перезапустим Finder и посмотрим, что у нас вышло. Выполняем команду для сокрытия файлов:

defaults write com.apple.finder AppleShowAllFiles FALSE

И перезапускаем Finder:

killall Finder

Идём в папку /System/Library и… О чудо! Вместо папки Filesystems у нас папка Файловые системы:

Переименованная папка Filesystems

P.S.: Не знаю на сколько полезна данная инфа, но она бязательно найдёт себе применение.

Share this article
0
Share
Prev Post

Как получить быстрый доступ к настройкам Универсального Доступа.

Next Post

Как синхронизировать видео, музыку, программы и прочий контент с вашим iOS-устройством при помощи iTunes. Инструкция для "танкистов".

Comments 21
  1. У меня в 10.8.2 этот файл бинарный:

    $ file /System/.../SystemFolderLocalizations/ru.lproj/SystemFolderLocalizations.strings
    /System/.../SystemFolderLocalizations/ru.lproj/SystemFolderLocalizations.strings:
    Apple binary property list
    
    1. Хм, у меня в 10.8.2 со всеми обновками и SystemFolderLocalizations.strings – обычный текстовый файл. Ну ничего страшного:

      sudo plutil -convert xml1 SystemFolderLocalizations.strings

      И поправить его при помощи обычног текстового редактора в XML-формате. После правки можно обратно конвертануть в бинарик:

      sudo plutil -convert binary1 SystemFolderLocalizations.strings

      Хотя, по-моему, это делать не обязательно.

      1. Не работает.

        Пишет: SystemFolderLocalizations.strings: file does not exist or is not readable or is not a regular file

  2. Большое спасибо за информацию! А я час гуглил на тему почему у меня одна папка документы не по русски написана, оказывается нечаянно удалил файлик .localized

  3. Удалил файл .localized с рабочего стола теперь он называется Desktop – помогите пожалуйста как его заново создать наиболее простым методом – очень прошу!

    1. Можно воспользоваться методом, описанным в статье: запускаем Терминал и выполняем команду:

      touch ~/Desktop/.localized; killall Finder
      

      И всё.

      А можно воспользоваться и другим, более понятным, но более длинным путем: нужно создать на Рабочем столе любой текстовый документ (пустой), а затем переименовать его в .localized. Если Finder будет ругаться на невозможность переименования – переименовываем через Терминал вот такой командой:

      mv "~/Desktop/Документ.txt" "~/Desktop/.localized"
      

      Вместо Документ.txt нужно подставить имя своего текстового документа. После этого (возможно) нужно перезапустить Finder или перезагрузиться, чтоб изменения вступили в силу.

  4. Создавал в texedit пустой документ с именем – Документ.txt (выбрав формат файла простой текст), переименовал ничего не изменилось!

    touch ~/Desktop/.localized; killall Finder
    

    – спасибо этот способ помог!!! Но до этого я еще пробовал из статьи. В статье описано что (привожу как пример):

    переходим в папку Filesystems:

    cd /System/Library/Filesystems
    

    И создаём в ней пустой файл .localized (не забудьте про точку спереди):

    sudo touch .localized
    

    – этой командой не создается файл на рабочем столе ввожу пароль команда проходит, а файла нет, не создал ли я файл этой командой еще где нибудь-в другом месте?

    1. Рад, что хоть один из способов вам помог. А на будущее – очень внимательно читайте посты, а особенно инструкции с применением Терминала! Например, прочитайте ещё раз внимательнее то, что вы делаете после фразы «…но до этого я еще пробовал из статьи: …» и сравните с тем, что описывается в теме. В посте описывается способ локализации (перевода на русский язык) системной папки Filesystems. При чём же тут Рабочий стол? Если вы проделывали ещё те действия, что описываются в посте – ничего страшного. Максимум что вы могли сделать – это создали файл .localized в каталоге Filesystems, и это никак не повлияет на работоспособность системы.

  5. Рабочий стол тут не причем! Суть статьи я понял! Просто я подумал, что командой sudo touch .localized создает этот файл, в той директории где пользователь в данный момент находится, так как я подумал что в статье переход в папку cd /System/Library/Filesystems не есть команда терминала, а просто ручное открытие этой папки! Ступил немного просто для меня это все ново! Еще раз спасибо! Буду обращаться только к ВАМ!
    Кстате я еще способ нашел простым перетягиванием файла .localized или копированием его с любой другой дирректории.

    1. Ваш способ с перетягиванием (копи-пастом) .localized тоже вполне живуч! Хорошо, что разобрались в сути вопроса 😉 Обращайтесь (если что).

  6. Я поступил совсем просто! Копирую файл .localized там где он есть (например из папки Музыка) и вставляю туда где он стерт, естественно предварительно открыв скрытые файлы через Терминал. Все!

  7. Спасибо случайно удалил файл .localized все думал как переименовать обратно, оказываеться вот оно решение копировал файл .localized из другой директории стало по по Русски ))

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Read next