|
@@ -312,12 +312,44 @@ extension KMMainViewController {
|
|
|
stypItem.submenu = NSSharingServicePicker.menu(forSharingItems: [string], subjectContext: "", withTarget: self, selector: #selector(shareFromService), serviceDelegate: nil)
|
|
|
return stypItem
|
|
|
}
|
|
|
+
|
|
|
+ func numberOfChars(_ str: String) -> (num: Int, indexN: Int) {
|
|
|
+ var number = 0
|
|
|
+ var indexN = 0
|
|
|
+
|
|
|
+ guard str.count > 0 else {return (0, 0)}
|
|
|
+
|
|
|
+ for i in 0...str.count - 1 {
|
|
|
+ let c: unichar = (str as NSString).character(at: i)
|
|
|
+
|
|
|
+ if (c >= 0x4E00) {
|
|
|
+ number += 2
|
|
|
+ }else {
|
|
|
+ number += 1
|
|
|
+ }
|
|
|
+ if number > 56{
|
|
|
+ indexN = i
|
|
|
+ number = 100
|
|
|
+ break
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return (number, indexN)
|
|
|
+ }
|
|
|
+
|
|
|
func setLookUpStype() -> NSMenuItem {
|
|
|
- let str = String(format: "Look Up %@", listView?.currentSelection?.string() ?? "")
|
|
|
- let stypItem = NSMenuItem(title: NSLocalizedString(str, comment: ""), action: #selector(lookUpAction), target: self)
|
|
|
+ let str = listView?.currentSelection?.string() ?? ""//String(format: "Look Up %@", listView?.currentSelection?.string() ?? "")
|
|
|
+ let dic = numberOfChars(str)
|
|
|
+
|
|
|
+ var newStr = str
|
|
|
+ if dic.num == 100{
|
|
|
+ newStr = str.prefix(dic.indexN) + "..."
|
|
|
+ }
|
|
|
+ newStr = "Look Up " + newStr
|
|
|
+ let stypItem = NSMenuItem(title: NSLocalizedString(newStr, comment: ""), action: #selector(lookUpAction), target: self)
|
|
|
|
|
|
return stypItem
|
|
|
}
|
|
|
+
|
|
|
func setSearchBaiduStype() -> NSMenuItem {
|
|
|
let stypItem = NSMenuItem(title: NSLocalizedString("Search with Baidu", comment: ""), action: #selector(searchBaiduAction), target: self)
|
|
|
|
|
@@ -380,8 +412,16 @@ extension KMMainViewController {
|
|
|
}
|
|
|
|
|
|
func setTranslateStype() -> NSMenuItem {
|
|
|
- let str = String(format: "Translate %@", listView?.currentSelection?.string() ?? "")
|
|
|
- let stypItem = NSMenuItem(title: NSLocalizedString(str, comment: ""), action: #selector(TranslateItemAction), target: self)
|
|
|
+ let str = listView?.currentSelection?.string() ?? ""//String(format: "Translate %@", listView?.currentSelection?.string() ?? "")
|
|
|
+ let dic = numberOfChars(str)
|
|
|
+
|
|
|
+ var newStr = str
|
|
|
+ if dic.num == 100{
|
|
|
+ newStr = str.prefix(dic.indexN) + "..."
|
|
|
+ }
|
|
|
+ newStr = "Translate " + newStr
|
|
|
+
|
|
|
+ let stypItem = NSMenuItem(title: NSLocalizedString(newStr, comment: ""), action: #selector(TranslateItemAction), target: self)
|
|
|
|
|
|
return stypItem
|
|
|
}
|