
Я ищу инструмент, приложение или шаги, которые можно предпринять для создания пользовательского языкового пакета для OSX. Я, например, пытаюсь заменить все системные диалоговые окна «Да» на «Угу».
решение1
Нет централизованного простого способа сделать это, и попытка сделать это может сломать ваше программное обеспечение, поскольку это нарушит подпись кода. Почти все программное обеспечение в 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, которые, как я понял, являются парами имя/значение в кодировке UTF-16 для множества строк в пользовательском интерфейсе этого приложения. Также могут быть файлы .xib или .nib, которые являются файлами макета окна/виджета пользовательского интерфейса, которые также могут содержать строки и могут быть отредактированы в Xcode.
Для каждого .app или аналогичного пакета, который вы хотите «перевести», вы можете продублировать один из этих каталогов .lproj, дать ему другое языковое имя, отредактировать файлы .strings и .xib, а затем сообщить ОС, что вы хотите переключиться на отображение на этом другом языке.
В целом я оцениваю это как очень хлопотный вопрос и низкий шанс на успех/удовлетворение.