[實作講解] No Lock Home

(老規矩,這張圖片跟文章內容沒半點關係)

上次說過了
在翻譯之前最好要對軟體本身有一定的了解
這邊先放上翻譯後的軟體截圖



判斷應該是在 preferences.xml, 也就是一般軟體的設定頁

一樣先反編譯


打開 AndroidManifest.xml 看一下
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.smartmadsoft.xposed.nolockhome2" platformBuildVersionCode="22" platformBuildVersionName="5.1.1-1819727">
  3.     <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
  4.     <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
  5.     <application android:allowBackup="true" android:icon="@mipmap/ic_lock_black_48px" android:label="@string/app_name" android:theme="@style/AppTheme">
  6.         <meta-data android:name="xposedmodule" android:value="true"/>
  7.         <meta-data android:name="xposeddescription" android:value="No Lock Home 2 for Android 5.x"/>
  8.         <meta-data android:name="xposedminversion" android:value="50"/>
  9.         <activity android:label="@string/app_name" android:launchMode="singleInstance" android:name="com.smartmadsoft.xposed.nolockhome2.Preferences" android:theme="@style/AppTheme">
  10.             <intent-filter>
  11.                 <action android:name="android.intent.action.MAIN"/>
  12.                 <category android:name="de.robv.android.xposed.category.MODULE_SETTINGS"/>
  13.             </intent-filter>
  14.         </activity>
  15.     </application>
  16. </manifest>

注意到這句
<meta-data android:name="xposeddescription" android:value="No Lock Home 2 for Android 5.x"/>

這是模組特有的句子
用來做說明的
可以不用翻
不過我習慣把模組整個翻完以後再來做
(因為我有過悲慘的經驗...)

這邊先記住還有東西要做就好
繼續

進到 res 裡面


雖然前面判斷是在 preferences.xml 裡面
但保險起見還是去 values 看一下


打開 strings.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.     <string name="app_name">No Lock Home</string>
  4. </resources>

恩 只有軟體名稱
算是推斷正確
改不改都可以

回到 res
點開 layout 和 menu 看一下 preferences.xml 放在哪裡

找了一下
發現是在 layout 裡面
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <PreferenceScreen android:key="preferencescreen"
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <PreferenceCategory android:title="Main">
  5.         <CheckBoxPreference android:title="Skip Unlock After Boot" android:key="skipUnlockAfterBoot" android:summary="Skip first unlock after device boot" android:defaultValue="false" />
  6.     </PreferenceCategory>
  7.     <PreferenceCategory android:title="Wi-Fi Unlock">
  8.         <CheckBoxPreference android:title="Any Connected Network" android:key="anyWifi" android:summary="Accept any connected Wi-Fi network" android:defaultValue="false" />
  9.         <EditTextPreference android:title="MAC Addresses or Names" android:key="mac" android:summary="MAC addresses or Names (SSID) of connected Wireless Access Points" />
  10.     </PreferenceCategory>
  11.     <PreferenceCategory android:title="Other Unlock Methods">
  12.         <EditTextPreference android:title="BTS Cell IDs" android:key="cell" android:summary="LAC-CID (GSM) or NID-BSID (CDMA) of connected cell towers" />
  13.     </PreferenceCategory>
  14. </PreferenceScreen>

稍微翻譯一下
順便把繁化資訊加上去
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <PreferenceScreen android:key="preferencescreen"
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <PreferenceCategory android:title="主要設定">
  5.         <CheckBoxPreference android:title="開機後跳過解鎖畫面" android:key="skipUnlockAfterBoot" android:summary=" 手機開機後跳過第一次的解鎖 "android:defaultValue="false" />
  6.     </PreferenceCategory>
  7.     <PreferenceCategory android:title="Wi-Fi 解鎖">
  8.         <CheckBoxPreference android:title="任何已連線的" android:key="anyWifi" android:summary="同意所有已連接的 Wi-Fi" android:defaultValue="false" />
  9.         <EditTextPreference android:title="MAC 位址或名稱 (SSID)" android:key="mac" android:summary="已連接的 Wi-Fi MAC 位址或名稱 (SSID)" />
  10.     </PreferenceCategory>
  11.     <PreferenceCategory android:title="其他解鎖模式">
  12.         <EditTextPreference android:title="BTS Cell IDs" android:key="cell" android:summary="已連接之基地台的 LAC-CID (GSM) 或 NID-BSID (CDMA)" />
  13.     </PreferenceCategory>
  14.         <PreferenceCategory android:title="繁化者資訊">
  15.         <Preference android:title="Sean(iamernie8199)" android:summary=" 快要開學了, 不想上課啊!!!">
  16.             <intent android:action="android.intent.action.VIEW" android:data="http://iamernie8199.blogspot.tw/" />
  17.         </Preference>
  18.     </PreferenceCategory>
  19. </PreferenceScreen>

翻完之後先回編譯回去測試一下
發現有個選單沒有翻到

回到 res
把 menu 裡面的檔案都點開來看
menu.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <menu
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <item android:icon="@drawable/ic_add_box_white_36dp" android:id="@id/add" android:title="Add Connected ..." android:showAsAction="ifRoom" />
  5. </menu>


很明顯沒有
再看另一個add.xml
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <menu
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <item android:id="@id/wifi_mac" android:title="Wi-Fi (MAC address)" />
  5.     <item android:id="@id/wifi_name" android:title="Wi-Fi (AP name)" />
  6.     <item android:id="@id/cell" android:title="BTS (LAC-CID)" />
  7. </menu>

順利找到了,翻譯一下
  1. <?xml version="1.0" encoding="utf-8"?>
  2. <menu
  3.   xmlns:android="http://schemas.android.com/apk/res/android">
  4.     <item android:id="@id/wifi_mac" android:title="Wi-Fi (MAC 位址)" />
  5.     <item android:id="@id/wifi_name" android:title="Wi-Fi (AP 名稱)" />
  6.     <item android:id="@id/cell" android:title="BTS (LAC-CID)" />
  7. </menu>

然後回去 AndroidManifest.xml 把模組資訊也翻一下就可以回編譯做最後確認了

大致上整個過程就是這樣



結語
這次這篇是我當初一系列教學的最後一篇
算是綜合的總結篇
雖然我自認為已經寫的很好懂了
不過如果真的還有看不懂的地方可以留言

PS:
可以的話留個心得或建議
當初我打字的時候應該很辛苦...
(有空的話幫點個廣告,Thx)

其他實作講解:

延伸閱讀
About Sean Chaox
Me

I'm soulless, so I'm recompiling my soul
I'm lifeless, so I'm enriching my life
I'm homeless, so I build this House
I am Sean, welcome to my House

沒有留言:

張貼留言