From e96d91184f005ab7f2b18cbeb544385c922a5a3f Mon Sep 17 00:00:00 2001 From: seven332 Date: Fri, 22 Aug 2014 16:03:00 +0800 Subject: [PATCH] string.xml --- res/layout/gallery_detail.xml | 6 +- res/values-zh-rCN/strings.xml | 146 +++++---------- res/values-zh-rHK/strings.xml | 170 +++++++----------- res/values-zh-rTW/strings.xml | 170 +++++++----------- res/values/arrays.xml | 2 +- res/values/strings.xml | 131 +++++--------- src/com/hippo/ehviewer/data/Data.java | 4 - src/com/hippo/ehviewer/ehclient/EhClient.java | 71 ++++---- .../hippo/ehviewer/gallery/GalleryView.java | 22 ++- .../hippo/ehviewer/network/HttpHelper.java | 2 +- .../ehviewer/service/DownloadService.java | 11 +- .../hippo/ehviewer/ui/AbsGalleryActivity.java | 17 +- .../hippo/ehviewer/ui/DownloadActivity.java | 9 +- .../hippo/ehviewer/ui/FavouriteActivity.java | 5 +- .../hippo/ehviewer/ui/GalleryActivity.java | 4 +- .../ehviewer/ui/GalleryDetailActivity.java | 25 +-- .../ehviewer/ui/GalleryListActivity.java | 12 +- .../ehviewer/widget/RefreshTextView.java | 4 + .../windowsanimate/WindowsAnimate.java | 4 - 19 files changed, 316 insertions(+), 499 deletions(-) diff --git a/res/layout/gallery_detail.xml b/res/layout/gallery_detail.xml index 863678660..828977e29 100644 --- a/res/layout/gallery_detail.xml +++ b/res/layout/gallery_detail.xml @@ -134,7 +134,7 @@ android:drawablePadding="4dp" android:gravity="center" android:maxWidth="52dp" - android:text="上传者更多内容" + android:text="@string/more_of_uploader" android:textSize="@dimen/text_little_small" /> @@ -202,7 +202,7 @@ android:layout_below="@id/size" android:layout_centerHorizontal="true" android:layout_marginTop="8dp" - android:text="点击查看更多" /> + android:text="@string/click_more" /> - 打开侧边栏 - 关闭侧边栏 - 警告 该应用内容来自互联网,部分内容可能对您的生理及心理造成难以恢复的伤害。该应用作者不会对由该应用造成的后果负责。您是否愿意继续使用该应用? @@ -30,23 +27,12 @@ 您是否愿意将使用情况发送给开发者?这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/cn.html\nGoogle隐私权和条款:http://www.google.com/intl/zh-CN/policies\n\n您以后可以在设置中修改选择 - 检查网络 我不在意 再按一次退出 - - 检查登陆状态 - 登陆成功 - 登陆失败 - 是否登陆 - 登陆以后好处都有啥? - 不登陆 - 退出成功 - 退出失败 - 内容 @@ -63,8 +49,6 @@ 搜索差评标签 搜索被删除的本子 最低评分: - 切换至普通搜索模式 - 切换至标签搜索模式 第 %d 页,共 %s 页 @@ -85,12 +69,13 @@ 未找到 - %s 第 %d 页 您可以再左侧栏搜索项中添加快速搜索 + 无头像 + 获取头像失败 + 图像搜索 发现新版本:%s\n大小:%s\n%s\n\n是否更新? - 点击检查更新 正在检查更新 已是最新版 发现新版本 @@ -99,29 +84,19 @@ 下载更新失败 - 页数 : %s (%s) - 语言 : %s - 平均得分:%s - 投票人数:%s - 内容警告 - 这个本子被所有人标记为瞎眼。所以任何人都不应该看。\n\n(如果你忽略了这个警告,你就失去了抱怨的权利。) - 算了,不看了 - 就看这一次 - 别再烦我了 - This gallery is pining for the fjords. - 我知道了 - 获取预览失败 - 暂无人投票 - - - 相同标签 - - - 载入上一页 - 已是第一页 - 开始继续载入 - 已达重试上限,滑至最左侧继续加载 - 已达重试上限,滑至最右侧继续加载 + 大家觉得 %s + 上传者更多内容 + 没有更多评论 + 暂无评论,就等你了 + + + 点击重试 + 点击回第一页 + + + %d 页未下载 + 下载结束 + 开始下载 网络错误 @@ -151,6 +126,15 @@ 获取正文失败 无效的请求 未挂载 SD卡 + 索引错误 + 请求内容为空 + + + 长按屏幕,可使下载从当前页面开始。若该项正在下载,则仅优先加载当前页面。 + 读取图片错误 + 尚未加载 + 正在加载 %d%% + 等待获取页面信息 刷新 @@ -169,9 +153,9 @@ 删除成功 删除失败 设为默认收藏夹 + 未检测到登陆状态,账号收藏可被他人修改。而且由于开发者水平问题,本地收藏不可靠。 - 该页面中的内容基于数据统计,您尚未开启数据统计。若开启数据统计,您的行为将对该页面产生影响。是否现在开启数据统计? 更新时间 %s @@ -207,13 +191,7 @@ 预览图模式 正常预览图 大预览图 - 每行预览图数量 数据 - 缓存 - 缓存大小 - 清除缓存 - 大小 : %.2f / %d MB - 无缓存 下载 下载路径 允许媒体扫描 @@ -240,25 +218,9 @@ 感谢您使用本应用 关于数据统计 若您启用了数据统计,本应用会将您的使用情况发送给开发者。这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/cn.html\nGoogle隐私权和条款:http://www.google.com/intl/zh-CN/policies - 显示 - 屏幕方向 竖屏 横屏 - 页面缩放 - 开页位置 设置 - 缓存 - 大小 : %.2f / %d MB - 无缓存 - 自动清理页面缓存 - 当应用关闭时清除页面缓存 - 啥都不做 - 更新服务器 - 关于 - 作者 - 缓存太大了! - 输入错误 - 创建缓存错误 详情 缩略图 新建文件夹 @@ -288,46 +250,19 @@ Google 七牛 - 够快 添加标签 标签名称: 标签名称不能为空 - 标签名称已存在 修改名称 新名称:%s - 下拉刷新… - 释放刷新… - 正在刷新… - 完成刷新 - 取消刷新 - 下拉读取上一页… - 释放读取上一页… - 正在读取上一页… - 完成读取上一页 - 取消读取上一页 - 下拉加载… - 释放加载… - 正在加载… - 完成加载 - 取消加载 正在加载更多… 已全部加载 加载失败,点击继续加载 - - 开始下载任务 - 完成下载任务 - 正在下载 - 下载成功 - 下载失败 - 未启动 - 等待中 - 等待上个操作结束 - 上一页 下一页 @@ -335,18 +270,12 @@ 缩小 菜单 - - 请登录以避免 Sad Panda - - - 投票成功 - 投票失败 - 非法评分 - 评价成功 - 评价失败 - 该用户上传的其他内容 + 评分成功 + 理智评分 + 评分失败 + 该用户上传的内容 根本把持不住 @@ -361,7 +290,20 @@ 快要窒息了 - + + 点击查看更多 + 相似内容 + 未知 + 语言 + 页面 + 大小 + 提示 + 未启动 + 等待中 + 已完成 + 第一页 + 最后一页 + 正在下载 注意 开始 停止 diff --git a/res/values-zh-rHK/strings.xml b/res/values-zh-rHK/strings.xml index dda1f9fe3..b4b1537ee 100644 --- a/res/values-zh-rHK/strings.xml +++ b/res/values-zh-rHK/strings.xml @@ -1,10 +1,9 @@ - + - 打開側邊欄 - 關閉側邊欄 - 警告 該應用內容來自互聯網,部分內容可能對您的生理及心理造成難以恢復的傷害。該應用作者不會對由該應用造成的後果負責。您是否願意繼續使用該應用? @@ -16,23 +15,12 @@ 您是否願意將使用情況發送給開發者?這對開發者維護該應用有很大幫助。在發送使用情況的同時也會發送部分設備信息(譬如設備型號、系統版本)。開發者承諾不收集任何個人身份信息數據(譬如姓名、電話號碼、電郵地址)。\n\n數據收集過程採用 Google Analytics。\nGOOGLE ANALYTICS(分析)服務條款:http://www.google.com/analytics/terms/cn.html\nGoogle隱私權和條款:http://www.google.com/intl/zh-CN/policies\n\n您以後可以在設置中修改選擇 - 檢查網絡 我不在意 再按一次退出 - - 檢查登陸狀態 - 登陸成功 - 登陸失敗 - 是否登陸 - 登陸以後好處都有啥? - 不登陸 - 退出成功 - 退出失敗 - 內容 @@ -46,11 +34,9 @@ 搜索種子文件名 僅搜索有種子的本子 搜索 Low-Power 標籤 - 搜索 Downvoted 標籤 + 搜索差評標籤 搜索被刪除的本子 最低評分: - 切換至普通搜索模式 - 切換至標籤搜索模式 第 %d 頁,共 %s 頁 @@ -68,14 +54,16 @@ 已添加到收藏 已添加到下載列表 - + 未找到 - %s 第 %d 頁 + 您可以再左側欄搜索項中添加快速搜索 + 無頭像 + 獲取頭像失敗 + 圖像搜索 發現新版本:%s\n大小:%s\n%s\n\n是否更新? - 點擊檢查更新 正在檢查更新 已是最新版 發現新版本 @@ -83,30 +71,20 @@ 正在下載更新 下載更新失敗 - - 頁數 : %s (%s) - 語言 : %s - 平均得分:%s - 投票人數:%s - 內容警告 - 這個本子被所有人標記爲瞎眼。所以任何人都不應該看。\n\n(如果你忽略了這個警告,你就失去了抱怨的權利。) - 算了,不看了 - 就看這一次 - 別再煩我了 - This gallery is pining for the fjords. - 我知道了 - 獲取預覽失敗 - 暫無人投票 - - - 相同標籤 + + 大家覺得 %s + 上傳者更多內容 + 沒有更多評論 + 暫無評論,就等你了 - - 載入上一頁 - 已是第一頁 - 開始繼續載入 - 已達重試上限,滑至最左側繼續加載 - 已達重試上限,滑至最右側繼續加載 + + 點擊重試 + 點擊回第一頁 + + + %d 頁未下載 + 下載結束 + 開始下載 網絡錯誤 @@ -136,6 +114,15 @@ 獲取正文失敗 無效的請求 未掛載 SD卡 + 索引錯誤 + 請求內容爲空 + + + 長按屏幕,可使下載從當前頁面開始。若該項正在下載,則僅優先加載當前頁面。 + 讀取圖片錯誤 + 尚未加載 + 正在加載 %d%% + 等待獲取頁面信息 刷新 @@ -154,9 +141,9 @@ 刪除成功 刪除失敗 設爲默認收藏夾 + 未檢測到登陸狀態,賬號收藏可被他人修改。而且由於開發者水平問題,本地收藏不可靠。 - 該頁面中的內容基於數據統計,您尚未開啓數據統計。若開啓數據統計,您的行爲將對該頁面產生影響。是否現在開啓數據統計? 更新時間 %s @@ -173,6 +160,11 @@ 開頁位置 列表 列表模式 + + 列表縮略圖列數 + 預覽 + 預覽圖列數 + 熱門 顯示熱門更新時間 EH @@ -187,13 +179,7 @@ 預覽圖模式 正常預覽圖 大預覽圖 - 每行預覽圖數量 數據 - 緩存 - 緩存大小 - 清除緩存 - 大小 : %.2f / %d MB - 無緩存 下載 下載路徑 允許媒體掃描 @@ -220,25 +206,9 @@ 感謝您使用本應用 關於數據統計 若您啓用了數據統計,本應用會將您的使用情況發送給開發者。這對開發者維護該應用有很大幫助。在發送使用情況的同時也會發送部分設備信息(譬如設備型號、系統版本)。開發者承諾不收集任何個人身份信息數據(譬如姓名、電話號碼、電郵地址)。\n\n數據收集過程採用 Google Analytics。\nGOOGLE ANALYTICS(分析)服務條款:http://www.google.com/analytics/terms/cn.html\nGoogle隱私權和條款:http://www.google.com/intl/zh-CN/policies - 顯示 - 屏幕方向 豎屏 橫屏 - 頁面縮放 - 開頁位置 設置 - 緩存 - 大小 : %.2f / %d MB - 無緩存 - 自動清理頁面緩存 - 當應用關閉時清除頁面緩存 - 啥都不做 - 更新服務器 - 關於 - 作者 - 緩存太大了! - 輸入錯誤 - 創建緩存錯誤 詳情 縮略圖 新建文件夾 @@ -268,46 +238,19 @@ Google 七牛 - 夠快 添加標籤 標簽名稱: 標簽名稱不能爲空 - 標簽名稱已存在 修改名稱 新名稱:%s - 下拉刷新… - 釋放刷新… - 正在刷新… - 完成刷新 - 取消刷新 - 下拉讀取上一頁… - 釋放讀取上一頁… - 正在讀取上一頁… - 完成讀取上一頁 - 取消讀取上一頁 - 下拉加載… - 釋放加載… - 正在加載… - 完成加載 - 取消加載 正在加載更多… 已全部加載 加載失敗,點擊繼續加載 - - 開始下載任務 - 完成下載任務 - 正在下載 - 下載成功 - 下載失敗 - 未啓動 - 等待中 - 等待上個操作結束 - 上一頁 下一頁 @@ -315,18 +258,12 @@ 縮小 菜單 - - 請登錄以避免 Sad Panda - - - 投票成功 - 投票失敗 - 非法評分 - 評價成功 - 評價失敗 - 該用戶上傳的其他內容 + 評分成功 + 理智評分 + 評分失敗 + 該用戶上傳的內容 根本把持不住 @@ -338,10 +275,26 @@ 不行 糟糕 瞎眼 - 以頭搶地 - 感覺快要窒息了 - - + 快要窒息了 + + + + 點擊查看更多 + 相似內容 + 未知 + 語言 + 頁面 + 大小 + 提示 + 未啓動 + 等待中 + 已完成 + 第一頁 + 最後一頁 + 正在下載 + 注意 + 開始 + 停止 無效的輸入 不再顯示 重試 @@ -373,6 +326,7 @@ 第 %d 頁 默認 刪除 + 刪除(包括圖片) 移動 列表 首頁 diff --git a/res/values-zh-rTW/strings.xml b/res/values-zh-rTW/strings.xml index 7e0d10589..be3ba8f55 100644 --- a/res/values-zh-rTW/strings.xml +++ b/res/values-zh-rTW/strings.xml @@ -1,10 +1,9 @@ - + - 開啟側邊欄 - 關閉側邊欄 - 警告 該應用內容來自網際網路,部分內容可能對您的生理及心理造成難以恢復的傷害。該應用作者不會對由該應用造成的後果負責。您是否願意繼續使用該應用? @@ -16,23 +15,12 @@ 您是否願意將使用情況發送給開發者?這對開發者維護該應用有很大幫助。在發送使用情況的同時也會發送部分裝置資訊(譬如裝置型號、系統版本)。開發者承諾不收集任何個人身份資訊資料(譬如姓名、電話號碼、電郵地址)。\n\n資料收集過程採用 Google Analytics。\nGOOGLE ANALYTICS(分析)服務條款:http://www.google.com/analytics/terms/cn.html\nGoogle隱私權和條款:http://www.google.com/intl/zh-CN/policies\n\n您以後可以在設定中修改選擇 - 檢查網路 我不在意 再按一次退出 - - 檢查登陸狀態 - 登陸成功 - 登陸失敗 - 是否登陸 - 登陸以後好處都有啥? - 不登陸 - 退出成功 - 退出失敗 - 內容 @@ -46,11 +34,9 @@ 搜索種子檔名 僅搜索有種子的本子 搜索 Low-Power 標籤 - 搜索 Downvoted 標籤 + 搜索差評標籤 搜索被刪除的本子 最低評分: - 切換至普通搜索模式 - 切換至標籤搜索模式 第 %d 頁,共 %s 頁 @@ -68,14 +54,16 @@ 已添加到收藏 已添加到下載列表 - + 未找到 - %s 第 %d 頁 + 您可以再左側欄搜索項中添加快速搜索 + 無頭像 + 獲取頭像失敗 + 影象搜索 發現新版本:%s\n大小:%s\n%s\n\n是否更新? - 點選檢查更新 正在檢查更新 已是最新版 發現新版本 @@ -83,30 +71,20 @@ 正在下載更新 下載更新失敗 - - 頁數 : %s (%s) - 語言 : %s - 平均得分:%s - 投票人數:%s - 內容警告 - 這個本子被所有人標記為瞎眼。所以任何人都不應該看。\n\n(如果你忽略了這個警告,你就失去了抱怨的權利。) - 算了,不看了 - 就看這一次 - 別再煩我了 - This gallery is pining for the fjords. - 我知道了 - 獲取預覽失敗 - 暫無人投票 - - - 相同標籤 + + 大家覺得 %s + 上傳者更多內容 + 沒有更多評論 + 暫無評論,就等你了 - - 載入上一頁 - 已是第一頁 - 開始繼續載入 - 已達重試上限,滑至最左側繼續載入 - 已達重試上限,滑至最右側繼續載入 + + 點選重試 + 點選回第一頁 + + + %d 頁未下載 + 下載結束 + 開始下載 網路錯誤 @@ -136,6 +114,15 @@ 獲取正文失敗 無效的請求 未掛載 SD卡 + 索引錯誤 + 請求內容為空 + + + 長按螢幕,可使下載從當前頁面開始。若該項正在下載,則僅優先載入當前頁面。 + 讀取圖片錯誤 + 尚未載入 + 正在載入 %d%% + 等待獲取頁面資訊 重新整理 @@ -154,9 +141,9 @@ 刪除成功 刪除失敗 設為默認收藏夾 + 未檢測到登陸狀態,賬號收藏可被他人修改。而且由於開發者水平問題,本地收藏不可靠。 - 該頁面中的內容基於資料統計,您尚未開啟資料統計。若開啟資料統計,您的行為將對該頁面產生影響。是否現在開啟資料統計? 更新時間 %s @@ -173,6 +160,11 @@ 開頁位置 列表 列表模式 + + 列表縮圖列數 + 預覽 + 預覽圖列數 + 熱門 顯示熱門更新時間 EH @@ -187,13 +179,7 @@ 預覽圖模式 正常預覽圖 大預覽圖 - 每行預覽圖數量 資料 - 快取 - 快取大小 - 清除快取 - 大小 : %.2f / %d MB - 無快取 下載 下載路徑 允許媒體掃描 @@ -220,25 +206,9 @@ 感謝您使用本應用 關於資料統計 若您啟用了資料統計,本應用會將您的使用情況發送給開發者。這對開發者維護該應用有很大幫助。在發送使用情況的同時也會發送部分裝置資訊(譬如裝置型號、系統版本)。開發者承諾不收集任何個人身份資訊資料(譬如姓名、電話號碼、電郵地址)。\n\n資料收集過程採用 Google Analytics。\nGOOGLE ANALYTICS(分析)服務條款:http://www.google.com/analytics/terms/cn.html\nGoogle隱私權和條款:http://www.google.com/intl/zh-CN/policies - 顯示 - 螢幕方向 豎屏 橫屏 - 頁面縮放 - 開頁位置 設定 - 快取 - 大小 : %.2f / %d MB - 無快取 - 自動清理頁面快取 - 當應用關閉時清除頁面快取 - 啥都不做 - 更新伺服器 - 關於 - 作者 - 快取太大了! - 輸入錯誤 - 創建快取錯誤 詳情 縮圖 新建資料夾 @@ -268,46 +238,19 @@ Google 七牛 - 夠快 添加標籤 標簽名稱: 標簽名稱不能為空 - 標簽名稱已存在 修改名稱 新名稱:%s - 下拉重新整理… - 釋放重新整理… - 正在重新整理… - 完成重新整理 - 取消重新整理 - 下拉讀取上一頁… - 釋放讀取上一頁… - 正在讀取上一頁… - 完成讀取上一頁 - 取消讀取上一頁 - 下拉載入… - 釋放載入… - 正在載入… - 完成載入 - 取消載入 正在載入更多… 已全部載入 載入失敗,點選繼續載入 - - 開始下載任務 - 完成下載任務 - 正在下載 - 下載成功 - 下載失敗 - 未啟動 - 等待中 - 等待上個操作結束 - 上一頁 下一頁 @@ -315,18 +258,12 @@ 縮小 選單 - - 請登入以避免 Sad Panda - - - 投票成功 - 投票失敗 - 非法評分 - 評價成功 - 評價失敗 - 該使用者上傳的其他內容 + 評分成功 + 理智評分 + 評分失敗 + 該使用者上傳的內容 根本把持不住 @@ -338,10 +275,26 @@ 不行 糟糕 瞎眼 - 以頭搶地 - 感覺快要窒息了 - - + 快要窒息了 + + + + 點選檢視更多 + 相似內容 + 未知 + 語言 + 頁面 + 大小 + 提示 + 未啟動 + 等待中 + 已完成 + 第一頁 + 最後一頁 + 正在下載 + 注意 + 開始 + 停止 無效的輸入 不再顯示 重試 @@ -373,6 +326,7 @@ 第 %d 頁 默認 刪除 + 刪除(包括圖片) 移動 列表 首頁 diff --git a/res/values/arrays.xml b/res/values/arrays.xml index b7f4c169a..1fb1bfc79 100644 --- a/res/values/arrays.xml +++ b/res/values/arrays.xml @@ -41,7 +41,7 @@ @android:string/copy - @string/uploader_others + @string/gallery_of_he diff --git a/res/values/strings.xml b/res/values/strings.xml index a77a1c8db..346e484cb 100644 --- a/res/values/strings.xml +++ b/res/values/strings.xml @@ -17,8 +17,6 @@ EhViewer - Open navigation drawer - Close navigation drawer Waring @@ -31,24 +29,12 @@ 您是否愿意将使用情况发送给开发者?这对开发者维护该应用有很大帮助。在发送使用情况的同时也会发送部分设备信息(譬如设备型号、系统版本)。开发者承诺不收集任何个人身份信息数据(譬如姓名、电话号码、电邮地址)。\n\n数据收集过程采用 Google Analytics。\nGOOGLE ANALYTICS(分析)服务条款:http://www.google.com/analytics/terms/us.html\nGoogle隐私权和条款:http://www.google.com/intl/us/policies\n\n您以后可以在设置中修改选择 - Checking network I don\'t care Fine - Please close the dialog after sending logcat Click again to exit - - Checking login status - Login succeedfully - Failed to login - Login or not - What are the benefits of login ? - Do not login - Logout succeedfully - Failed to logout - Content API @@ -66,8 +52,6 @@ Search Downvoted Tags Show Expunged Galleries Minimum Rating: - Switch To Normal Search Mode - Switch To Tag Search Mode Page %d, %s pages in total @@ -79,6 +63,7 @@ This application crashed last time. Would you mind to send logcat to the developer for a better user experience in future ? Never mind Yes, I would + Please close the dialog after sending logcat Add to favourite @@ -87,12 +72,13 @@ No hits found None - %s Page %d Quick search can be added via search in left drawer + No avatar + Get avatar error + Image search Found new version : %s\nSize : %s\n%s\n\nUpdate ? - Tap to check update checking updating Up to date Found update @@ -101,27 +87,19 @@ Download the update Failed - Pages : %s (%s) - Language : %s - Content Warning - This gallery has been flagged as Offensive For Everyone. Due to its content, it should not be viewed by anyone.\n\n(And if you choose to ignore this warning, you lose all rights to complain about it in the future.) - I would not read it - Just this time - Do not trouble me - This gallery is pining for the fjords. - Yes, I know - Get preview error ! - Not yet rated - Vote up - Vote down - Show tagged - - - Load previous page - First page ! - Start reloading - Reached retry limit, scroll to leftmost side to reload - Reached retry limit, scroll to rightmost side to reload + We fell %s + More of uploader + No more comments + No comment + + + Click to retry + Click to go to first page + + + %d pages leaved + Download over + Start downloading Network Error @@ -151,6 +129,15 @@ Get body error Invalid request SD card is Unmounted + Index error + Requst content is null + + + Long press the screen to download from the current page. If the item is being downloaded, just load current page first. + Read image error + Not loader + Loading %d%% + Waiting to get page information Refresh @@ -169,9 +156,9 @@ Delete successfully Failed to delete Set it as default favorite + Not logged in, account favorite can be modified by someone else. And due to the developer, local favorite is unreliable. - 该页面中的内容基于数据统计,您尚未开启数据统计。若开启了数据统计,您的行为将对该页面产生影响。是否现在开启数据统计? Update at %s @@ -207,13 +194,7 @@ Preview mode Normal Large - Preview number per row Data - Cache - Cache size - Clear cache - Size : %.2f / %d MB - No cache Download Download path Allow media scan @@ -246,12 +227,6 @@ Portrait Landscape Settings - Auto clear page cache - Clean page cache when the application close - Leave page cache alone - Cache size is too larger ! - Input error - Create cache error Detail Thumb New folder @@ -282,45 +257,20 @@ Google Qiniu - Gokuai Add tag Tag name : Tag name can\'t be empty - Tag name already existed Change name New name : %s - Pull to refresh… - Release to refresh… - Refreshing… - Refreshed - Cancel refresh - Pull to load previous page… - Release to load previous page… - Loading previous page… - Loaded previous page… - Cancel previous page… - Pull to load… - Release to load… - Loading… - Loaded - Cancel load Loading more… All loaded Load fail,click to reload - Start download task - Download task finished - Downloading - Download successfully - Failed to download - Not started - Waiting - Please wait for the last operation Previous page @@ -329,18 +279,12 @@ Zoom out Menu - - Please login to avoid Sad Panda. - - - Vote successfully - Failed to vote - Invalid rating Rate successfully + Rate sensibly Failed to rate - 该用户上传的其他内容 + Galleries of this guy DOUJINSHI @@ -369,6 +313,22 @@ DISASTER + Click for more + Similar content + Unknown + Language + Pages + Size + Tip + Not started + Waiting + Done + First page + The last page + Downloading + Attention + Start + Stop Invalid Input Never show me this dialog Retry @@ -377,6 +337,7 @@ Copyed Send Detail + Detail (images included) Comment Info Reply diff --git a/src/com/hippo/ehviewer/data/Data.java b/src/com/hippo/ehviewer/data/Data.java index 0f30c9b8b..332b4ea49 100644 --- a/src/com/hippo/ehviewer/data/Data.java +++ b/src/com/hippo/ehviewer/data/Data.java @@ -184,9 +184,6 @@ private void addGallery(GalleryInfo galleryInfo) { reference++; } else { - - Log.e(TAG, "isInsert"); - isInsert = true; reference = 1; } @@ -204,7 +201,6 @@ private void addGallery(GalleryInfo galleryInfo) { if (isInsert) { // Set long id = mDatabase.insert(TABLE_GALLERY, null, values); - Log.e(TAG, "id = " + id); } else { // Update mDatabase.update(TABLE_GALLERY, values, COLUMN_GID + "=?", new String[]{String.valueOf(gid)}); } diff --git a/src/com/hippo/ehviewer/ehclient/EhClient.java b/src/com/hippo/ehviewer/ehclient/EhClient.java index 9ef297d62..116fe3dfa 100644 --- a/src/com/hippo/ehviewer/ehclient/EhClient.java +++ b/src/com/hippo/ehviewer/ehclient/EhClient.java @@ -28,6 +28,7 @@ import org.json.JSONException; import org.json.JSONObject; +import android.content.Context; import android.graphics.Bitmap; import android.os.Handler; import android.os.Process; @@ -76,24 +77,24 @@ public class EhClient { public static final int GET_AVATAR_ERROR = 0x1; public static final int NO_AVATAR = 0x2; - private final AppContext mAppContext; + private final Context mContext; private final Handler mHandler; private final EhInfo mInfo; private static EhClient sInstance; - public static void createInstance(AppContext appContext) { - sInstance = new EhClient(appContext); + public static void createInstance(Context context) { + sInstance = new EhClient(context); } public static EhClient getInstance() { return sInstance; } - private EhClient(AppContext appContext) { - mAppContext = appContext; + private EhClient(Context context) { + mContext = context; mHandler = AppHandler.getInstance(); - mInfo = EhInfo.getInstance(appContext); + mInfo = EhInfo.getInstance(context); } public static String getUrlHeader() { @@ -305,7 +306,7 @@ public void login(final String username, final String password, Thread thread = new Thread(new Runnable() { @Override public void run() { - final HttpHelper hh = new HttpHelper(mAppContext); + final HttpHelper hh = new HttpHelper(mContext); String body = hh.postForm(LOGIN_URL, new String[][] { new String[] { "UserName", username }, new String[] { "PassWord", password }, @@ -342,7 +343,7 @@ public void run() { Pattern p; Matcher m; // Get user profile url - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); body = hp.get(FORUMS_URL); if (body == null) { listener.onGetAvatar(GET_AVATAR_ERROR); @@ -436,7 +437,7 @@ public void getGList(final String url, final int mode, final Object checkFlag, Thread thread = new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); String body = hp.get(url); GetGListResponder responder; if (body == null) { @@ -456,11 +457,12 @@ public void run() { break; case ListParser.INDEX_ERROR: responder = new GetGListResponder(listener, checkFlag, - "index error"); // TODO + mContext.getString(R.string.em_index_error)); break; case ListParser.PARSER_ERROR: default: - responder = new GetGListResponder(listener, checkFlag, "parser error"); // TODO + responder = new GetGListResponder(listener, checkFlag, + mContext.getString(R.string.em_parser_error)); break; } } @@ -550,12 +552,12 @@ private void getGListFromImageSearch(final File file, final Bitmap bitmap, final int searchMode, final int apiMode, final Object checkFlag, final OnGetGListFromImageSearchListener listener) { if (file == null && bitmap == null) - listener.onFailure(checkFlag, "All null"); // TODO + listener.onFailure(checkFlag, mContext.getString(R.string.invalid_input)); Thread thread = new Thread(new Runnable() { @Override public void run() { - HttpHelper hh = new HttpHelper(mAppContext); + HttpHelper hh = new HttpHelper(mContext); List dataList = new LinkedList(); HttpHelper.FormData data; @@ -615,11 +617,12 @@ public void run() { break; case ListParser.INDEX_ERROR: responder = new GetGListFromImageSearchResponder(listener, checkFlag, - "index error"); // TODO + mContext.getString(R.string.em_index_error)); break; case ListParser.PARSER_ERROR: default: - responder = new GetGListFromImageSearchResponder(listener, checkFlag, "parser error"); // TODO + responder = new GetGListFromImageSearchResponder(listener, checkFlag, + mContext.getString(R.string.em_parser_error)); break; } } @@ -671,7 +674,7 @@ public void getGDetail(final String url, final GalleryDetail md, Thread thread = new Thread(new Runnable() { @Override public void run() { - HttpHelper hh = new HttpHelper(mAppContext); + HttpHelper hh = new HttpHelper(mContext); String body = hh.get(url); GetGDetaiResponder responder; if (body == null) { @@ -718,7 +721,7 @@ public void run() { responder = new GetGDetaiResponder(listener, parser.eMesg); } else { responder = new GetGDetaiResponder(listener, - mAppContext.getString(R.string.em_parser_error)); + mContext.getString(R.string.em_parser_error)); } } mHandler.post(responder); @@ -771,7 +774,7 @@ public void getLGDetail(final String url, final LofiGalleryDetail lgd, Thread thread = new Thread(new Runnable() { @Override public void run() { - HttpHelper hh = new HttpHelper(mAppContext); + HttpHelper hh = new HttpHelper(mContext); String body = hh.get(url); GetLGDetaiResponder responder; if (body == null) { @@ -786,7 +789,7 @@ public void run() { responder = new GetLGDetaiResponder(listener, lgd, parser.isLastPage); } else { responder = new GetLGDetaiResponder(listener, - mAppContext.getString(R.string.em_parser_error)); + mContext.getString(R.string.em_parser_error)); } } mHandler.post(responder); @@ -845,7 +848,7 @@ public void getPreviewList(final String url, final int mode, final Object checkF Thread thread = new Thread(new Runnable() { @Override public void run() { - HttpHelper hh = new HttpHelper(mAppContext); + HttpHelper hh = new HttpHelper(mContext); String body = hh.get(url); GetPreviewListResponder responder; if (body != null) { @@ -884,7 +887,7 @@ public void comment(final String detailUrl, final String comment, new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { @@ -894,13 +897,13 @@ public void onSuccess(Object obj) { DetailParser.COMMENT) { listener.onSuccess(parser.comments); } else { - listener.onFailure("parser error"); // TODO + listener.onFailure( mContext.getString(R.string.em_parser_error)); } } @Override public void onFailure(String eMsg) { - listener.onFailure(eMsg); // TODO + listener.onFailure(eMsg); } }); hp.postForm(detailUrl, new String[][]{ @@ -910,8 +913,6 @@ public void onFailure(String eMsg) { }).start(); } - // TODO - /********** Use E-hentai API ************/ // rate for gallery @@ -938,7 +939,7 @@ public void rate(final int gid, final String token, new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { @@ -947,7 +948,7 @@ public void onSuccess(Object obj) { if (parser.parser(body)) { listener.onSuccess(parser.mRatingAvg, parser.mRatingCnt); } else { - listener.onFailure("parser error"); // TODO + listener.onFailure(mContext.getString(R.string.em_parser_error)); } } @Override @@ -989,7 +990,7 @@ public void vote(final int gid, final String token, new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { @@ -998,7 +999,7 @@ public void onSuccess(Object obj) { if (parser.parser(body)) { listener.onSuccess(parser.mTagPane); } else { - listener.onFailure("parser error"); // TODO + listener.onFailure( mContext.getString(R.string.em_parser_error)); } } @Override @@ -1051,7 +1052,7 @@ public void addToFavorite(final int gid, final String token, new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { @@ -1060,9 +1061,9 @@ public void onSuccess(Object obj) { if (parser.parser(body)) { listener.onSuccess(); // Analytics - Analytics.addToFavoriteGallery(mAppContext, gid, token); + Analytics.addToFavoriteGallery(mContext, gid, token); } else { - listener.onFailure("parser error"); // TODO + listener.onFailure( mContext.getString(R.string.em_parser_error)); } } @Override @@ -1176,7 +1177,7 @@ public void modifyFavorite(final int[] gids, final int dstCat, final int srcCat, public void run() { int i; - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { @@ -1188,7 +1189,7 @@ public void onSuccess(Object obj) { } else if (re == ListParser.NOT_FOUND) { listener.onSuccess(parser.giList, parser.pageNum); } else if (re == ListParser.PARSER_ERROR) { - listener.onFailure("parser error"); // TODO + listener.onFailure( mContext.getString(R.string.em_parser_error)); } } @Override @@ -1232,7 +1233,7 @@ public void getPopular(final OnGetPopularListener listener) { new Thread(new Runnable() { @Override public void run() { - HttpHelper hp = new HttpHelper(mAppContext); + HttpHelper hp = new HttpHelper(mContext); hp.setOnRespondListener(new HttpHelper.OnRespondListener() { @Override public void onSuccess(Object obj) { diff --git a/src/com/hippo/ehviewer/gallery/GalleryView.java b/src/com/hippo/ehviewer/gallery/GalleryView.java index b5bc99d6b..09778076e 100644 --- a/src/com/hippo/ehviewer/gallery/GalleryView.java +++ b/src/com/hippo/ehviewer/gallery/GalleryView.java @@ -292,7 +292,8 @@ public synchronized void onDecodeOver(int index, Object res) { showItems[targetIndex].recycle(); if (res == null) { - showItems[targetIndex] = new Text("读取图片错误"); // TODO + showItems[targetIndex] = new Text( + mContext.getString(R.string.read_image_error)); } else { if (res instanceof Bitmap) { BitmapImage bi = new BitmapImage(); @@ -641,13 +642,16 @@ private synchronized void loadImage(int index) { if (state == ImageSet.RESULT_DECODE) { showItems[targetIndex] = null; } else if (state == ImageSet.RESULT_DOWNLOADING) { - showItems[targetIndex] = new Text("正在下载"); // TODO + showItems[targetIndex] = new Text( + mContext.getString(R.string.downloading)); } else if (state == ImageSet.RESULT_NONE) { - showItems[targetIndex] = new Text("尚未加载"); // TODO + showItems[targetIndex] = new Text( + mContext.getString(R.string.not_loaded)); } } else if (obj instanceof Float) { showItems[targetIndex] = new Text( - String.format("正在加载 %d%%", Math.round((Float)obj * 100))); + String.format(mContext.getString(R.string.loading_percent), + Math.round((Float)obj * 100))); } resetSizePosition(targetIndex); @@ -1029,7 +1033,7 @@ public boolean onSingleTapConfirmed(float x, float y) { resetSizePosition(PRE_TARGET_INDEX); if (!goToPrePage()) { // Get to first page - MaterialToast.showToast("第一页"); // TODO + MaterialToast.showToast(mContext.getString(R.string.first_page)); } } else if (Utils.isInArea(topArea, (int)x, (int)y)) { zoom(true); @@ -1038,7 +1042,8 @@ public boolean onSingleTapConfirmed(float x, float y) { resetSizePosition(NEXT_TARGET_INDEX); if (!goToNextPage()) { // Get to last page - MaterialToast.showToast(isEnsureSize ? "最后一页" : "等待获取后续页面"); // TODO + MaterialToast.showToast( + mContext.getString(isEnsureSize ? R.string.the_last_page : R.string.wait_for_more)); } } else if (Utils.isInArea(bottomArea, (int)x, (int)y)) { zoom(false); @@ -1220,9 +1225,10 @@ public boolean onScrollEnd() { ShowItem showItem = showItems[CUR_TARGET_INDEX]; if (showItem != null) { if (isFirstPage() && showItem.mRect.left >= 0) - MaterialToast.showToast("第一页"); + MaterialToast.showToast(mContext.getString(R.string.first_page)); else if (isLastPage() && showItem.mRect.right <= mScreenWidth) - MaterialToast.showToast(isEnsureSize ? "最后一页" : "等待获取后续页面"); // TODO + MaterialToast.showToast( + mContext.getString(isEnsureSize ? R.string.the_last_page : R.string.wait_for_more)); } } return true; diff --git a/src/com/hippo/ehviewer/network/HttpHelper.java b/src/com/hippo/ehviewer/network/HttpHelper.java index d07411f8d..4dd8b5f9a 100644 --- a/src/com/hippo/ehviewer/network/HttpHelper.java +++ b/src/com/hippo/ehviewer/network/HttpHelper.java @@ -173,7 +173,7 @@ else if (e instanceof SadPandaException) return SAD_PANDA_ERROR; else if (e instanceof GetBodyException) - return "Null"; // TODO + return c.getString(R.string.em_requst_null); else return e.getClass().getSimpleName() + ": " +e.getMessage(); diff --git a/src/com/hippo/ehviewer/service/DownloadService.java b/src/com/hippo/ehviewer/service/DownloadService.java index f7dfbc1eb..0dcbda33e 100644 --- a/src/com/hippo/ehviewer/service/DownloadService.java +++ b/src/com/hippo/ehviewer/service/DownloadService.java @@ -191,7 +191,7 @@ public void onStart(int gid) { Notification.Builder builder = new Notification.Builder(mContext); setNotification(builder); - builder.setContentTitle("开始下载 " + gid) + builder.setContentTitle(getString(R.string.start_download) + " " + gid) .setContentText(null) .setProgress(0, 0, true).setOngoing(true).setAutoCancel(false); mNotifyManager.notify(DOWNLOAD_NOTIFY_ID, builder.getNotification()); @@ -209,7 +209,7 @@ public void onDownload(int gid, int downloadSize, int totalSize) { mCurDownloadInfo.total = totalSize; Notification.Builder builder = new Notification.Builder(mContext); setNotification(builder); - builder.setContentTitle("正在下载 " + gid) + builder.setContentTitle(getString(R.string.downloading) + " " + gid) .setContentText(mSpeedStr) .setProgress(totalSize, downloadSize, false).setOngoing(true).setAutoCancel(false); mNotifyManager.notify(DOWNLOAD_NOTIFY_ID, builder.getNotification()); @@ -226,7 +226,7 @@ public void onUpdateSpeed(int gid, int speed) { mSpeedStr = Utils.sizeToString(speed) + "/S"; Notification.Builder builder = new Notification.Builder(mContext); setNotification(builder); - builder.setContentTitle("正在下载 " + gid) + builder.setContentTitle(getString(R.string.downloading) + " " + gid) .setContentText(mSpeedStr) .setProgress(mCurDownloadInfo.total, mCurDownloadInfo.download, mCurDownloadInfo.total == -1 ? true :false) @@ -244,8 +244,9 @@ public void onDownloadOver(int gid, int legacy) { mCurDownloadInfo.legacy = legacy; Notification.Builder builder = new Notification.Builder(mContext); setNotification(builder); - builder.setContentTitle("完成下载 " + gid) - .setContentText(legacy == 0 ? "已完成" : legacy + " 页未下载") + builder.setContentTitle(getString(R.string.download_over) + " " + gid) + .setContentText(legacy == 0 ? getString(R.string.done) : + String.format(getString(R.string.legacy_pages), legacy)) .setOngoing(false).setAutoCancel(true); mNotifyManager.notify(gid, builder.getNotification()); mNotifyManager.cancel(DOWNLOAD_NOTIFY_ID); diff --git a/src/com/hippo/ehviewer/ui/AbsGalleryActivity.java b/src/com/hippo/ehviewer/ui/AbsGalleryActivity.java index 55cd5c789..11c00b8f5 100644 --- a/src/com/hippo/ehviewer/ui/AbsGalleryActivity.java +++ b/src/com/hippo/ehviewer/ui/AbsGalleryActivity.java @@ -19,6 +19,7 @@ import java.util.ArrayList; import java.util.List; +import android.content.Context; import android.graphics.Color; import android.graphics.drawable.ColorDrawable; import android.os.Bundle; @@ -28,7 +29,6 @@ import android.widget.ListView; import android.widget.RelativeLayout; -import com.hippo.ehviewer.AppContext; import com.hippo.ehviewer.R; import com.hippo.ehviewer.cache.ImageCache; import com.hippo.ehviewer.data.GalleryInfo; @@ -49,7 +49,7 @@ public abstract class AbsGalleryActivity extends AbsSlidingActivity private static final int MODE_PRE_PAGE = 0x2; private static final int MODE_SOMEWHERE = 0x3; - protected AppContext mAppContext; + protected Context mContext; protected EhClient mClient; private List mGiList; @@ -249,7 +249,7 @@ public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(getLayoutRes()); - mAppContext = (AppContext)getApplication(); + mContext = getApplication(); mClient = EhClient.getInstance(); mGiList = new ArrayList(); @@ -274,7 +274,8 @@ public void onCreate(Bundle savedInstanceState) { mContentView.setSelector(new ColorDrawable(Color.TRANSPARENT)); mContentView.setClipToPadding(false); - mRefreshTextView.setDefaultRefresh("点击重试", new RefreshTextView.OnRefreshListener() { // TODO + mRefreshTextView.setDefaultRefresh(R.string.click_retry, + new RefreshTextView.OnRefreshListener() { @Override public void onRefresh() { retry(); @@ -350,10 +351,10 @@ public void onScroll(AbsListView view, int firstVisibleItem, public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: - ImageCache.getInstance(mAppContext).setPauseDiskCache(true); + ImageCache.getInstance(mContext).setPauseDiskCache(true); break; case AbsListView.OnScrollListener.SCROLL_STATE_IDLE: - ImageCache.getInstance(mAppContext).setPauseDiskCache(false); + ImageCache.getInstance(mContext).setPauseDiskCache(false); break; } } @@ -470,8 +471,8 @@ public void onFailure(BaseAdapter adapter, long taskStamp, String eMsg) { case MODE_SOMEWHERE: mPullViewGroup.setVisibility(View.GONE); mRefreshTextView.setVisibility(View.VISIBLE); - if (eMsg.equals("index error")) { - mRefreshTextView.setEmesg(eMsg, "点击回第一页", // TODO + if (eMsg.equals(mContext.getString(R.string.em_index_error))) { + mRefreshTextView.setEmesg(eMsg, mContext.getString(R.string.click_first_page), new RefreshTextView.OnRefreshListener() { @Override public void onRefresh() { diff --git a/src/com/hippo/ehviewer/ui/DownloadActivity.java b/src/com/hippo/ehviewer/ui/DownloadActivity.java index 98a61c687..d1d3343ce 100644 --- a/src/com/hippo/ehviewer/ui/DownloadActivity.java +++ b/src/com/hippo/ehviewer/ui/DownloadActivity.java @@ -149,7 +149,6 @@ public long getItemId(int position) { return position; } - // TODO chinese string @Override public View getView(int position, View convertView, ViewGroup parent) { final DownloadInfo di = mDownloads.get(position); @@ -225,7 +224,7 @@ public void onClick(View v) { switch (di.state) { case DownloadInfo.STATE_NONE: pb.setVisibility(View.INVISIBLE); - leftText.setText("未启动"); + leftText.setText(R.string.not_started); rightText.setVisibility(View.GONE); action.setText(getString(R.string.start)); @@ -234,7 +233,7 @@ public void onClick(View v) { case DownloadInfo.STATE_WAIT: pb.setVisibility(View.INVISIBLE); - leftText.setText("等待中"); + leftText.setText(R.string.waiting); rightText.setVisibility(View.GONE); action.setText(getString(R.string.stop)); @@ -263,9 +262,9 @@ public void onClick(View v) { case DownloadInfo.STATE_FINISH: pb.setVisibility(View.INVISIBLE); if (di.legacy == 0) - leftText.setText("已完成"); + leftText.setText(R.string.done); else - leftText.setText(di.legacy + " 页未下载"); + leftText.setText(String.format(getApplication().getString(R.string.legacy_pages), di.legacy)); rightText.setVisibility(View.GONE); action.setText(getString(R.string.start)); diff --git a/src/com/hippo/ehviewer/ui/FavouriteActivity.java b/src/com/hippo/ehviewer/ui/FavouriteActivity.java index eae612411..2f0c02db3 100644 --- a/src/com/hippo/ehviewer/ui/FavouriteActivity.java +++ b/src/com/hippo/ehviewer/ui/FavouriteActivity.java @@ -50,7 +50,6 @@ import android.widget.RelativeLayout; import android.widget.TextView; -import com.hippo.ehviewer.AppContext; import com.hippo.ehviewer.ImageLoader; import com.hippo.ehviewer.R; import com.hippo.ehviewer.cardview.CardViewSalon; @@ -146,7 +145,7 @@ protected int getLayoutRes() { public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); - mAppContext = (AppContext)getApplication(); + mContext = getApplication(); mData = Data.getInstance(); mResources =getResources(); mClient = EhClient.getInstance(); @@ -276,7 +275,7 @@ public void onItemClick(AdapterView parent, View view, // Check login if (!mClient.isLogin()) { - MaterialToast.showToast("未检测到登陆状态,仅可使用本地收藏。由于开发者的问题,本地收藏不可靠,请尽快登陆,将本地收藏转移至账户中的收藏。");// TODO + MaterialToast.showToast(R.string.favorite_warning); } // TODO Should show default favourite diff --git a/src/com/hippo/ehviewer/ui/GalleryActivity.java b/src/com/hippo/ehviewer/ui/GalleryActivity.java index f6dcac08f..845fd6691 100644 --- a/src/com/hippo/ehviewer/ui/GalleryActivity.java +++ b/src/com/hippo/ehviewer/ui/GalleryActivity.java @@ -231,8 +231,8 @@ public void onClick(View v) { // Show first tip if (Config.getGalleryFirst()) { Config.setGalleryFirst(false); - new DialogBuilder(this).setTitle("提示") - .setMessage("长按屏幕,可使下载从当前页面开始。若该项正在下载,则仅优先加载当前页面。") // TODO + new DialogBuilder(this).setTitle(R.string.tip) + .setMessage(R.string.gallery_tip) .setSimpleNegativeButton().create().show(); } } diff --git a/src/com/hippo/ehviewer/ui/GalleryDetailActivity.java b/src/com/hippo/ehviewer/ui/GalleryDetailActivity.java index b8476b090..b3efaf8d7 100644 --- a/src/com/hippo/ehviewer/ui/GalleryDetailActivity.java +++ b/src/com/hippo/ehviewer/ui/GalleryDetailActivity.java @@ -517,8 +517,8 @@ private String getRatingText(float rating) { } private String getAllRatingText(float rating, int people) { - StringBuilder sb = new StringBuilder().append("大家觉得").append(" ") // TODO - .append(getRatingText(rating)) + StringBuilder sb = new StringBuilder() + .append(String.format(getString(R.string.we_feel), getRatingText(rating))) .append(" (").append(rating); if (people != -1) sb.append(", ").append(people).append(")").toString(); @@ -627,10 +627,13 @@ private void doLayout() { mDetailMore.setVisibility(View.VISIBLE); if (mGalleryInfo instanceof GalleryDetail) { GalleryDetail galleryDetail = (GalleryDetail)mGalleryInfo; - ((TextView)mDetailMore.findViewById(R.id.language)).setText("语言: " + galleryDetail.language); // TODO + ((TextView)mDetailMore.findViewById(R.id.language)).setText( + getString(R.string.language) + ": " + galleryDetail.language); ((TextView)mDetailMore.findViewById(R.id.posted)).setText(galleryDetail.posted); - ((TextView)mDetailMore.findViewById(R.id.pages)).setText("页面: " + String.valueOf(galleryDetail.pages)); - ((TextView)mDetailMore.findViewById(R.id.size)).setText("大小: " + galleryDetail.size); + ((TextView)mDetailMore.findViewById(R.id.pages)).setText( + getString(R.string.pages) + ": " + String.valueOf(galleryDetail.pages)); + ((TextView)mDetailMore.findViewById(R.id.size)).setText( + getString(R.string.size) + ": " + galleryDetail.size); StringBuilder sb = new StringBuilder(); sb.append("gid: ").append(galleryDetail.gid).append("\n\n") .append("token: ").append(galleryDetail.token).append("\n\n") @@ -704,11 +707,11 @@ private void doLayout() { int commentNum = galleryDetail.comments.size(); if (commentNum == 0) - mCommentMoreText.setText("暂无评论,就等你了"); + mCommentMoreText.setText(R.string.no_comment); else if (commentNum <= 2) - mCommentMoreText.setText("没有更多评论"); + mCommentMoreText.setText(R.string.no_more_comment); else - mCommentMoreText.setText("点击查看更多"); + mCommentMoreText.setText(R.string.click_more); int maxShown = Math.min(2, commentNum); for (int i = 0; i < maxShown; i++) { mDetailComment.addView(getCommentView(null, galleryDetail.comments.get(i), true), @@ -866,14 +869,14 @@ public void onSuccess(float ratingAvg, int ratingCnt) { } @Override public void onFailure(String eMsg) { - mRatingText.setText("评分失败"); // TODO + mRatingText.setText(getString(R.string.rate_failed)); MaterialToast.showToast(eMsg); } }); - mRatingText.setText("感谢评分"); // TODO + mRatingText.setText(getString(R.string.rate_succeeded)); mRating.setEnableRate(false); } else { - mRatingText.setText("请理智评分"); // TODO + mRatingText.setText(getString(R.string.rate_sensibly)); mRating.setEnableRate(true); } diff --git a/src/com/hippo/ehviewer/ui/GalleryListActivity.java b/src/com/hippo/ehviewer/ui/GalleryListActivity.java index a8a63c54d..2a21a3f07 100644 --- a/src/com/hippo/ehviewer/ui/GalleryListActivity.java +++ b/src/com/hippo/ehviewer/ui/GalleryListActivity.java @@ -233,11 +233,11 @@ public void run() { setUserPanel(); break; case EhClient.NO_AVATAR: - MaterialToast.showToast("无头像"); // TODO + MaterialToast.showToast(R.string.no_avatar); break; case EhClient.GET_AVATAR_ERROR: default: - MaterialToast.showToast("获取头像失败"); // TODO + MaterialToast.showToast(R.string.get_avatar_error); break; } } @@ -383,7 +383,7 @@ public void onClick(View v) { String search = lus.getSearch(); switch(lus.getMode()) { case ListUrls.MODE_IMAGE_SEARCH: - mTitle = "图片搜索"; // TODO + mTitle = getString(R.string.image_search); break; case ListUrls.MODE_UPLOADER: mTitle = search; @@ -565,7 +565,7 @@ private AlertDialog createJumpDialog() { TextView tv = (TextView)view.findViewById(R.id.list_jump_sum); // For lofi, can not get page num, so use Integer.MAX_VALUE tv.setText(String.format(getString(R.string.jump_summary), getCurPage() + 1, - getPageNum() == Integer.MAX_VALUE ? "未知" : String.valueOf(getPageNum()))); // TODO + getPageNum() == Integer.MAX_VALUE ? getString(R.string._unknown) : String.valueOf(getPageNum()))); tv = (TextView)view.findViewById(R.id.list_jump_to); tv.setText(R.string.jump_to); final EditText et = (EditText)view.findViewById(R.id.list_jump_edit); @@ -859,8 +859,8 @@ private void handleIntent(Intent intent) { lus = new ListUrls(); lus.setSearchImage(intent.getStringExtra(KEY_IMAGE_KEY), intent.getStringExtra(KEY_IMAGE_URL), - EhClient.IMAGE_SEARCH_USE_SIMILARITY_SCAN | EhClient.IMAGE_SEARCH_SHOW_EXPUNGED); // TODO - mTitle = "类似内容"; // TODO + EhClient.IMAGE_SEARCH_USE_SIMILARITY_SCAN); + mTitle = getString(R.string.similar_content); // TODO setTitle(mTitle); refresh(); break; diff --git a/src/com/hippo/ehviewer/widget/RefreshTextView.java b/src/com/hippo/ehviewer/widget/RefreshTextView.java index 69ba711ca..ec72fde1a 100644 --- a/src/com/hippo/ehviewer/widget/RefreshTextView.java +++ b/src/com/hippo/ehviewer/widget/RefreshTextView.java @@ -62,6 +62,10 @@ public void init() { setOnClickListener(this); } + public void setDefaultRefresh(int tiprResId, OnRefreshListener listener) { + setDefaultRefresh(getContext().getString(tiprResId), listener); + } + public void setDefaultRefresh(String tip, OnRefreshListener listener) { mDefaultTip = tip; mDefaultListener = listener; diff --git a/src/com/hippo/ehviewer/windowsanimate/WindowsAnimate.java b/src/com/hippo/ehviewer/windowsanimate/WindowsAnimate.java index 6e4c73363..aee552276 100644 --- a/src/com/hippo/ehviewer/windowsanimate/WindowsAnimate.java +++ b/src/com/hippo/ehviewer/windowsanimate/WindowsAnimate.java @@ -30,7 +30,6 @@ import android.view.animation.OvershootInterpolator; import com.hippo.ehviewer.util.Constants; -import com.hippo.ehviewer.util.Log; import com.hippo.ehviewer.util.ViewUtils; public final class WindowsAnimate @@ -77,9 +76,6 @@ private void ensureCanvas() { @Override @SuppressLint("ClickableViewAccessibility") public boolean onTouch(View v, MotionEvent event) { - - Log.d(TAG, "onTouch"); - Object obj = v.getTag(); if (obj == null) { PointF p = new PointF();