Я ищу инструмент, приложение или шаги для создания пользовательского языкового пакета для OSX. Я, например, пытаюсь заменить весь системный диалог "Да" на "Да".

1 ответ1

4

Нет простого централизованного способа сделать это, и попытка его может сломать ваше программное обеспечение, потому что это нарушит подпись кода. Большинство всего программного обеспечения в macOS имеет криптографическую подпись, чтобы гарантировать, что система не будет запускать взломанное / зараженное / поврежденное программное обеспечение.

Защита целостности системы (SIP, также называемая режимом без root), существующая со времен macOS 10.11 El Capitan, также затрудняет редактирование большинства ОС.

Игнорируя это, вы можете попытаться сделать что-то вроде этого:

Внутри каждого .app и аналогичных каталогов программного обеспечения "bundle" или "package" находится набор каталогов языкового ресурса ".lproj", по одному для каждого поддерживаемого языка.

Например, ресурсы локализации английского языка в США будут находиться в /Applications/MyCoolApp.app/Contents/Resources/en-us.lproj (или, может быть, просто "en.lproj" или "English.lproj").

Обычно они содержат файлы .strings, которые IIRC представляют собой пары имя / значение в кодировке UTF-16 для множества строк в пользовательском интерфейсе этого приложения. Также могут быть файлы .xib или .nib, которые представляют собой файлы макетов окон / виджетов пользовательского интерфейса, которые также могут содержать строки и могут быть отредактированы в Xcode.

Для каждого .app или аналогичного пакета, который вы хотите "перевести", вы можете продублировать один из этих каталогов .lproj, дать ему другое имя языка, отредактировать файлы .strings и .xib, а затем сообщить ОС, что вы хотите переключиться на отображение на этом другом языке.

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .