Здибав вчора застосунок, аби дивитись вміст
UPD: додав в #тулзи
pkg
-файлів на #macOS. Це мабуть трохи олдскул, але мене прям бісить ця хуйня, коли воно щось ставить в систему, а що й куди — невідомо. Отже: Suspicious Package.UPD: додав в #тулзи
Mothersruin
Suspicious Package — An app for inspecting macOS Installer packages
Стан справ у відносно сучасній #macOS: вже щонайменше три major-версії операційної системи час від часу сам по собі змінюється баланс аудіопристрою. Якщо хтось раптом подумав, що це якась дуже специфічна локальна проблема у мене, то ні — люди навіть написали окрему програму (яку продавали за гроші, але згодом зробили безплатною), що моніторить баланс та повертає його на середину 🤦
І так, у мене Monterey досі. На іншому ноуті взагалі Catalina була, хоча нещодавно оновив до Ventura чи шо там передостаннє. Але готов закластися, що в Sonoma баг досі не пофікшений. Уникаю major-оновлень, бо по відчуттях кожна нова версія додає ще більше багів, а не фіксів )) Це старість, схоже.
І так, у мене Monterey досі. На іншому ноуті взагалі Catalina була, хоча нещодавно оновив до Ventura чи шо там передостаннє. Але готов закластися, що в Sonoma баг досі не пофікшений. Уникаю major-оновлень, бо по відчуттях кожна нова версія додає ще більше багів, а не фіксів )) Це старість, схоже.
Please open Telegram to view this post
VIEW IN TELEGRAM
Media is too big
VIEW IN TELEGRAM
Де це Сіпласпластик знов подівся? Працює, мабуть…
Ще б пак працює!
Отже, у вільний час, якого на жаль не так багато, потроху допомагаю перекладати гру українською. І щоб перевірити локалізацію на власне грі, треба стягнути поточний файл з перекладом з Crowdin та закинути у потрібну теку.
От тільки файл — це CSV, і Crowdin автоматично огортає кожне значення в лапки, а парсер гри цього не розуміє, бо там розробники не заморочувалися. Ну й додаткові ще якісь реквайрменти до того файлу є.
Що роблять нормальні люди у такому випадку? — Виправляють все файнд-реплейсом у ноутпаді.
Що роблять адекватні люди з навичками програмування? — Пишуть скрипт на💻 у три рядки, який виправлятиме все автоматично.
Що роблю я? — Я пишу рушій для запуску «правил», написаних на #QML😅
Отож правила + опціональний логотип (гри) + додаткові файли для копіювання лежать в бандлі. Концепція бандлів з #macOS мені дуже подобається: це така тека з різноманітним мотлохом, але система відображає її як файл і, коли дабл-клікаєш, відкриває відповідну програму. На вінді, звісно, так не працює, тому я просто всередину бандла поклав ще один додатковий порожній файл з кастомним розширенням, і дабл-клікаю там вже по ньому.
QML-рушій крутиться в UI-треді, тож коли йшла обробка файлу, все завмирало, чим дуже мене дратувало. Але виявилося, що можна мати декілька рушіїв в одному процесі! Мені так навіть краще. Я в окремому треді запускаю рушій для опрацювання правил, а в UI-ному тільки… UI. І вони один з одним комунікують там якось сигналами. На одному з етапів розробки у мене так летіло 50к сигналів в секунду😄 , тому UI все одно не реагував — довелося трохи оптимізнути. Зараз там, думаю, ну сотня тих сигналів, може, якщо не менше.
Користувач просто драг-н-дропає файл у вікно, й воно фігачить. Наразі є декілька видів правил:
•
•
•
•
• Окрім того, існує
Люди з команди поки що не дуже оцінили прикол, відреагувавши доволі вʼяло — мабуть, тому що треба текст перекладати, а не хуйнею маятися😅 Але мене прям бісило руками це робити щоразу, тож я не встояв, бо коли мене щось з інструментів дратує, я весь час про це думаю й не можу сфокусуватися на роботі.
Думаю згодом ще додати можливість порівнювати рядок з оригіналом + підтримку інших форматів на кшталт XLIFF + автоматичний апдейт з Crowdin, щоб руками ото не качати. Але поки що мені й так норм.
Ще б пак працює!
Отже, у вільний час, якого на жаль не так багато, потроху допомагаю перекладати гру українською. І щоб перевірити локалізацію на власне грі, треба стягнути поточний файл з перекладом з Crowdin та закинути у потрібну теку.
От тільки файл — це CSV, і Crowdin автоматично огортає кожне значення в лапки, а парсер гри цього не розуміє, бо там розробники не заморочувалися. Ну й додаткові ще якісь реквайрменти до того файлу є.
Що роблять нормальні люди у такому випадку? — Виправляють все файнд-реплейсом у ноутпаді.
Що роблять адекватні люди з навичками програмування? — Пишуть скрипт на
Що роблю я? — Я пишу рушій для запуску «правил», написаних на #QML
Отож правила + опціональний логотип (гри) + додаткові файли для копіювання лежать в бандлі. Концепція бандлів з #macOS мені дуже подобається: це така тека з різноманітним мотлохом, але система відображає її як файл і, коли дабл-клікаєш, відкриває відповідну програму. На вінді, звісно, так не працює, тому я просто всередину бандла поклав ще один додатковий порожній файл з кастомним розширенням, і дабл-клікаю там вже по ньому.
QML-рушій крутиться в UI-треді, тож коли йшла обробка файлу, все завмирало, чим дуже мене дратувало. Але виявилося, що можна мати декілька рушіїв в одному процесі! Мені так навіть краще. Я в окремому треді запускаю рушій для опрацювання правил, а в UI-ному тільки… UI. І вони один з одним комунікують там якось сигналами. На одному з етапів розробки у мене так летіло 50к сигналів в секунду
Користувач просто драг-н-дропає файл у вікно, й воно фігачить. Наразі є декілька видів правил:
•
FileRule
отримує на вхід чисто імʼя файлу й далі робить з ним ті перевірки, що хоче, в колбеці ensure
.•
ItemRule
запускається для кожного рядку тексту, тож отримує цей рядок та його індекс. Окрім того, можна задефайнити ще fix
, який автоматично щось виправлятиме.•
InstallCurrentFile
дозволяє поточний файл закинути у якусь теку, опціонально під іншим імʼям.•
InstallFiles
— майже те саме, але копіює якісь статичні файли з бандлу.• Окрім того, існує
Group
, щоб можна було групувати декілька рулів, а значить — виносити їх в окремі реюзабл-файли! Їх можна вкладати одна в одну, й воно врешті просто «розчиняє» їх, роблячи щось на кшталт flatten
.Люди з команди поки що не дуже оцінили прикол, відреагувавши доволі вʼяло — мабуть, тому що треба текст перекладати, а не хуйнею маятися
Думаю згодом ще додати можливість порівнювати рядок з оригіналом + підтримку інших форматів на кшталт XLIFF + автоматичний апдейт з Crowdin, щоб руками ото не качати. Але поки що мені й так норм.
Please open Telegram to view this post
VIEW IN TELEGRAM