Végre elkészült a BossPrefs egy működő verziója, aminek a segítségével szolgáltatásokat lehet ki és be kapcsolni a telefonon. Azért hasznos alkalmazás, mert az SSH szervert is így lehet parkoltatni, amíg nincs rá szükség, mert korábbi tapasztalatok szerint jelentősen csökkenti az akkumlátor feltöltés nélküli használati időtartamát.
Böngészve a könyvtárstruktúrát azt láttam, hogy azok szerkezete a korábbi firmware verziókhoz képest jelentősen átalakult. Itt kezdtem el vizsgálni a lokalizált erőforrásokat.
Nagy változás, hogy a régiók erőforrásai külön lproj könyvtárakba kerültek. A tanulmányozás során a figyelmem a Preferences.app felé terelődött (/private/var/stash/Applications.YwQ3n3/Preferences.app). Amikor az English.lproj/International.strings-et néztem (Propery List Editor), akkor találtam egy számomra nagyon tetsző sort.
Itt felvetődik a kérdés, hogy vajon a nyelvek listáján miért nem jelenik megy a Magyar választhatóként?
Egy másik property file-t kell itt vizsgálnunk. A GlobalPreferences.plist a Preferences.app gyökérkönyvtárában találhatók azon nyelvek listája, amelyek választhatók és itt nem szerepel a mi nyelvünk. Nosza, adjuk hozzá.
Még mindig nem látható a listán, ami voltaképpen logikus is, hiszen nem létezik lokalizált erőforrásokat tartalmazó könyvtár. A hu.lproj könyvtár létrehozása után már meg is jelenik.
Egy fordításokat tartalmazó oldal így néz ki.
Sajnos a hónapok, napok nevét és a dátumformátumot tartalmazó beállításokat nem találtam meg (még).
Hadd foglaljam össze itt, hogy mi szükséges egy akár nem létező lokalizáció teljes regisztrálásához:
- GlobalPreferences.plist AppleLanguages szekciója tartalmazza a honosítás rövid nevét (hu), lehetőleg "Item n" kulcsnévvel.
- Az International.strings tartalmazza a rövid nevet mint kulcsot és tartozzon hozzá a hosszabb leírás (hu, Magyar). Fontos: ezt az elemet helyezzük el minden régió ugyanilyen nevű property file-jába.
- Elsősorban a Preferences.app rendelkezzen a honosítás erőforráskönyvtárával: [rövid név].lproj (hu.lproj). Ebbe a könyvtárba másoljuk be an English.lproj tartalmát és ez megmutatja, hogy mit kell lefordítani. Ha egy elem hiányzik, akkor az angol (English) megfelelője lesz az alapértelmezett.
- Másodsorban a többi alkalmazásban is hozzuk létre a lokalizációt ugyanolyan módon, ahogy a Preferences.app esetében leírtam.
Vállalkozó kedvűek számára összegyüjtöttem a lefordításra váró file-okat alkalmazásonként, ami innen letölthető.
Találtam még további lokalizálandó erőforrást... jócskán. Az egyszerüség és a követhetőség kedvéért jobb oldalon a linkek közé tette (elvileg) az elérhetőségét, amit frissíteni fogok, amikor új fordítandó részeket fedezek fel.