Skip to content

Commit

Permalink
Enh : add translation for shortcuts
Browse files Browse the repository at this point in the history
see discussion #17
  • Loading branch information
pubpub-zz committed Feb 24, 2021
1 parent ef40afe commit 9a22f1c
Show file tree
Hide file tree
Showing 8 changed files with 135 additions and 70 deletions.
4 changes: 3 additions & 1 deletion ppInk/lang/en-us.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,6 @@ OptFfmpeg="FFmpeg recording"
LblFfmpegCmd="Command Line"
LblFfmpegNote= "Note :substitution in command line\n $xx$ $yy$ : upper left corner\n $ww$ $hh$ : width and height of capture\n $DD$ $MM$ $YY$ $YYYY$ : date\n $H$ $M$ $S$ : time\n %DD% %MM% %YY% %YYYY% : date at ppInk startup\n %H% %M% %S% : time at ppInk startup\n $nn$ : counter(restarted at 1 at ppInk restart)\n %VAR% : use of environment variable VAR"

NotificationSnapshot = "Snapshot saved. Click here to browse snapshots."
NotificationSnapshot = "Snapshot saved. Click here to browse snapshots."

KeyNamesStr = "0x00=None \n0x01=LButton \n0x02=RButton \n0x03=Cancel \n0x04=MButton \n0x05=XButton1 \n0x06=XButton2 \n0x08=Back \n0x09=Tab \n0x0A=LineFeed \n0x0C=Clear \n0x0D=Enter \n0x10=Shift \n0x11=Control \n0x12=Menu \n0x13=Pause \n0x14=CapsLock \n0x15=KanaMode \n0x17=JunjaMode \n0x18=FinalMode \n0x19=KanjiMode \n0x1B=Escape \n0x1C=IMEConvert \n0x1D=IMENonconvert \n0x1E=IMEAccept \n0x1F=IMEModeChange \n0x20=Space \n0x21=PageUp \n0x22=PageDown \n0x23=End \n0x24=Home \n0x25=Left \n0x26=Up \n0x27=Right \n0x28=Down \n0x29=Select \n0x2A=Print \n0x2B=Execute \n0x2C=PrintScreen \n0x2D=Insert \n0x2E=Delete \n0x2F=Help \n0x30=0 \n0x31=1 \n0x32=2 \n0x33=3 \n0x34=4 \n0x35=5 \n0x36=6 \n0x37=7 \n0x38=8 \n0x39=9 \n0x41=A \n0x42=B \n0x43=C \n0x44=D \n0x45=E \n0x46=F \n0x47=G \n0x48=H \n0x49=I \n0x4A=J \n0x4B=K \n0x4C=L \n0x4D=M \n0x4E=N \n0x4F=O \n0x50=P \n0x51=Q \n0x52=R \n0x53=S \n0x54=T \n0x55=U \n0x56=V \n0x57=W \n0x58=X \n0x59=Y \n0x5A=Z \n0x5B=LWin \n0x5C=RWin \n0x5D=Apps \n0x5F=Sleep \n0x60=NumPad0 \n0x61=NumPad1 \n0x62=NumPad2 \n0x63=NumPad3 \n0x64=NumPad4 \n0x65=NumPad5 \n0x66=NumPad6 \n0x67=NumPad7 \n0x68=NumPad8 \n0x69=NumPad9 \n0x6A=Multiply \n0x6B=Add \n0x6C=Separator \n0x6D=Subtract \n0x6E=Decimal \n0x6F=Divide \n0x70=F1 \n0x71=F2 \n0x72=F3 \n0x73=F4 \n0x74=F5 \n0x75=F6 \n0x76=F7 \n0x77=F8 \n0x78=F9 \n0x79=F10 \n0x7A=F11 \n0x7B=F12 \n0x7C=F13 \n0x7D=F14 \n0x7E=F15 \n0x7F=F16 \n0x80=F17 \n0x81=F18 \n0x82=F19 \n0x83=F20 \n0x84=F21 \n0x85=F22 \n0x86=F23 \n0x87=F24 \n0x90=NumLock \n0x91=Scroll \n0xA0=LShiftKey \n0xA1=RShiftKey \n0xA2=LControlKey \n0xA3=RControlKey \n0xA4=LMenu \n0xA5=RMenu \n0xA6=BrowserBack \n0xA7=BrowserForward \n0xA8=BrowserRefresh \n0xA9=BrowserStop \n0xAA=BrowserSearch \n0xAB=BrowserFavorites \n0xAC=BrowserHome \n0xAD=VolumeMute \n0xAE=VolumeDown \n0xAF=VolumeUp \n0xB0=MediaNextTrack \n0xB1=MediaPreviousTrack \n0xB2=MediaStop \n0xB3=MediaPlayPause \n0xB4=LaunchMail \n0xB5=SelectMedia \n0xB6=LaunchApplication1 \n0xB7=LaunchApplication2 \n0xBA=; \n0xBB== \n0xBC=, \n0xBD=- \n0xBE=. \n0xBF=/ \n0xC0=` \n0xDB=[ \n0xDC=\ \n0xDD=] \n0xDE=' \n0xDF=Oem8 \n0xE2=OemBackslash \n0xE5=ProcessKey \n0xE7=Packet \n0xF6=Attn \n0xF7=Crsel \n0xF8=Exsel \n0xF9=EraseEof \n0xFA=Play \n0xFB=Zoom \n0xFC=NoName \n0xFD=Pa1 \n0xFE=OemClear \n0xFF=Unkn1 \n0x00010000=Shift \n0x00020000=Control \n0x00040000=Alt"
1 change: 1 addition & 0 deletions ppInk/lang/fr.txt
Original file line number Diff line number Diff line change
Expand Up @@ -135,3 +135,4 @@ LblFfmpegCmd="Ligne de commande"
LblFfmpegNote= "Note : substitutions dans la ligne de commande\n $xx$ $yy$ : coordonnes coin haut gauche\n $ww$ $hh$ : largeur/hauteur de la capture\n $DD$ $MM$ $YY$ $YYYY$ : date courante\n $H$ $M$ $S$ : heure courante\n %DD% %MM% %YY% %YYYY% : date au lancement de ppInk\n %H% %M% %S% : heure au lancement de ppInk\n $nn$ : compteur de capture (reinitialiser au lancement de ppInk)\n %VAR% : substitution de de la variable d'environnement VAR"

NotificationSnapshot = "Capture sauvegardée. Cliquez ici pour parcourir les captures."
KeyNamesStr = "0x00=(Aucun) \n0x01=LButton \n0x02=RButton \n0x03=Cancel \n0x04=MButton \n0x05=XButton1 \n0x06=XButton2 \n0x08=RetArr \n0x09=Tab \n0x0A=LineFeed \n0x0C=Clear \n0x0D=Entrée \n0x10=Maj \n0x11=Control \n0x12=Menu \n0x13=Pause \n0x14=Verr.Maj \n0x15=KanaMode \n0x17=JunjaMode \n0x18=FinalMode \n0x19=KanjiMode \n0x1B=Echap. \n0x1C=IMEConvert \n0x1D=IMENonconvert \n0x1E=IMEAccept \n0x1F=IMEModeChange \n0x20=Espace \n0x21=Pg Prec \n0x22=Pg Suiv \n0x23=Fin \n0x24=Deb. \n0x25=Gauche \n0x26=Haut \n0x27=Droit \n0x28=Bas \n0x29=Select \n0x2A=Print \n0x2B=Execute \n0x2C=Imp.Ecr. \n0x2D=Insert \n0x2E=Suppr. \n0x2F=Help \n0x30=0 \n0x31=1 \n0x32=2 \n0x33=3 \n0x34=4 \n0x35=5 \n0x36=6 \n0x37=7 \n0x38=8 \n0x39=9 \n0x41=A \n0x42=B \n0x43=C \n0x44=D \n0x45=E \n0x46=F \n0x47=G \n0x48=H \n0x49=I \n0x4A=J \n0x4B=K \n0x4C=L \n0x4D=M \n0x4E=N \n0x4F=O \n0x50=P \n0x51=Q \n0x52=R \n0x53=S \n0x54=T \n0x55=U \n0x56=V \n0x57=W \n0x58=X \n0x59=Y \n0x5A=Z \n0x5B=LWin \n0x5C=RWin \n0x5D=Apps \n0x5F=Sleep \n0x60=PavNum0 \n0x61=PavNum1 \n0x62=PavNum2 \n0x63=PavNum3 \n0x64=PavNum4 \n0x65=PavNum5 \n0x66=PavNum6 \n0x67=PavNum7 \n0x68=PavNum8 \n0x69=PavNum9 \n0x6A=Mult. \n0x6B=Plus \n0x6C=Separator \n0x6D=Moins \n0x6E=PavNum. \n0x6F=Divis. \n0x70=F1 \n0x71=F2 \n0x72=F3 \n0x73=F4 \n0x74=F5 \n0x75=F6 \n0x76=F7 \n0x77=F8 \n0x78=F9 \n0x79=F10 \n0x7A=F11 \n0x7B=F12 \n0x7C=F13 \n0x7D=F14 \n0x7E=F15 \n0x7F=F16 \n0x80=F17 \n0x81=F18 \n0x82=F19 \n0x83=F20 \n0x84=F21 \n0x85=F22 \n0x86=F23 \n0x87=F24 \n0x90=Ver.Num. \n0x91=Defil. \n0xA0=Maj G. \n0xA1=Maj D. \n0xA2=Control G. \n0xA3=Control D. \n0xA4=Menu G. \n0xA5=Menu D. \n0xA6=BrowserBack \n0xA7=BrowserForward \n0xA8=BrowserRefresh \n0xA9=BrowserStop \n0xAA=BrowserSearch \n0xAB=BrowserFavorites \n0xAC=BrowserHome \n0xAD=Volume Off \n0xAE=Volume - \n0xAF=Volume + \n0xB0=MediaNextTrack \n0xB1=MediaPreviousTrack \n0xB2=MediaStop \n0xB3=MediaPlayPause \n0xB4=LaunchMail \n0xB5=SelectMedia \n0xB6=LaunchApplication1 \n0xB7=LaunchApplication2 \n0xBA=$ \n0xBB== \n0xBC=, \n0xBD=OemMinus \n0xBE=; \n0xBF=: \n0xC0=ù \n0xDB=) \n0xDC=* \n0xDD=^ \n0xDE=² \n0xDF=! \n0xE2=< \n0xE5=ProcessKey \n0xE7=Packet \n0xF6=Attn \n0xF7=Crsel \n0xF8=Exsel \n0xF9=EraseEof \n0xFA=Play \n0xFB=Zoom \n0xFC=NoName \n0xFD=Pa1 \n0xFE=OemClear \n0x00010000=Maj \n0x00020000=Control \n0x00040000=Alt"
25 changes: 20 additions & 5 deletions ppInk/lang/zh-tw.txt
Original file line number Diff line number Diff line change
Expand Up @@ -24,16 +24,28 @@ ButtonNameExit = "結束繪圖"
ButtonNameDock = "隱藏/顯示工作列"
ButtonNameClose = "結束\n(快捷鍵 Alt+F4)"
ButtonNameHand = "手繪 (標準 | 顏色填充 | 白色填充 | 黑色填充)"
ButtonNameLine = "線條"
ButtonNameLine = "線 (部分 | 折線 | 彩色多邊形 | 白色多邊形 | 黑色多邊形)"
ButtonNameRect = "矩形 (空 | 顏色填充 | 白色填充 | 黑色填充)"
ButtonNameOval = "橢圓 (空 | 顏色填充 | 白色填充 | 黑色填充)"
ButtonNameArrow = "箭頭形狀 (箭頭在起始點 | 在尾部)"
ButtonNameNumb = "編號 (設置 | 重置序號)"
ButtonNameText = "文字 (齊左 | 齊右)"
ButtonNameEdit = "編輯文字"
ButtonNameEdit = "編輯文字 (文字,編號,筆劃顏色&寬度)"
ButtonNameMagn = "吸附效應"
ButtonNameClipArt = "剪貼畫"
ButtonNameVideo = "錄製視頻"
SaveStroke = "儲存\n(長按=出現對話框 ; 點擊 = {0})"
LoadStroke = "載入\n(長按=出現對話框 ; 點擊 = {0})"
ButtonNameZoom = "縮放"

StrokeFileExists = "{0} 已存在\n你想覆蓋它嗎?"
FileCanNotWrite = "{0}\n無法覆蓋."

OptionsZoomEnabled = "0 - 不縮放\n1 - 放大鏡\n2 - 凍結區\n3 - 兩者"
OptionsZoomDim = "大小."
OptionsZoomScale = "規模"
OptionsZoomContinous = "連續"


BoardTitle = "清除桌面"
BoardText = "刪除所有繪圖且用背景填充設定..."
Expand All @@ -42,7 +54,6 @@ BoardWhite= "白"
BoardGray= "自定義"
BoardBlack = "黑"
BoardLast = "最後選用色"

OptionsGeneralToolBarColorText = "按一下工具列選擇背景顏色"
OptionsGeneralAltTabActivateText = "縮合指標和自動摺疊透過快捷鍵 Alt+Tab"
OptionsGeneralBoardBox = "背景面板"
Expand All @@ -57,11 +68,12 @@ DlgTextCaption = "編輯文字"
DlgTextLabel = "輸入文字"
DlgTagCaption = "標籤編號"
DlgTagLabel = "輸入起始號"
TextFramingText = "透明背景;框架 + 透明背景;白色背景;框架 + 白色背景;黑色背景;框架 + 黑色背景"

FormClipartsTitle = "剪貼畫"
ButtonInsertText = "&插入"
ButtonFromClipBText = "&從剪貼簿"
ButtonLoadImageText = "&載入圖片ˋ"
ButtonLoadImageText = "&載入圖片"
ButtonDeleteText = "&刪除"
CheckBoxAutoCloseText = "自動\n關閉"
ListFillingsText = "無;框架;畫筆色背景;白色背景;黑色背景"
Expand Down Expand Up @@ -103,6 +115,7 @@ OptionsPensHighlighter = "螢光筆"
OptionsPensThin = "較細"
OptionsPensNormal = "正常"
OptionsPensThick = "較粗"
OptionsPensFading = "淡化 (...秒後)"
OptionsPensWidthAtSelection = "套用寬度於選擇的畫筆\n(即使已使用寬度選擇器設定)"

OptionsHotKeyAltAsOneCommand = "Alt 將被視為臨時命令 (Alt 將在 熱鍵設置 中被忽略)"
Expand All @@ -120,4 +133,6 @@ OptFfmpeg="FFmpeg 錄音"
LblFfmpegCmd="命令行"
LblFfmpegNote= "注意 : 命令行中的替換\n $xx$ $yy$ : 左上角坐標\n $ww$ $hh$ : 寬度/高度\n $DD$ $MM$ $YY$ $YYYY$ : 當前日期\n $H$ $M$ $S$ : 當前時間\n %DD% %MM% %YY% %YYYY% : 發行日期\n %H% %M% %S% : 啟動時間\n $nn$ : 抓取計數器 (啟動時重置 ppInk)\n %VAR% : 環境變量 VAR 的替換"

NotificationSnapshot = "截圖已儲存,點擊查看截圖"
NotificationSnapshot = "截圖已儲存,點擊查看截圖"

KeyNamesStr = "0x00=未設定 \n0x01=LButton \n0x02=RButton \n0x03=Cancel \n0x04=MButton \n0x05=XButton1 \n0x06=XButton2 \n0x08=Back \n0x09=Tab \n0x0A=LineFeed \n0x0C=Clear \n0x0D=Enter \n0x10=Shift \n0x11=Control \n0x12=Menu \n0x13=Pause \n0x14=CapsLock \n0x15=KanaMode \n0x17=JunjaMode \n0x18=FinalMode \n0x19=KanjiMode \n0x1B=Escape \n0x1C=IMEConvert \n0x1D=IMENonconvert \n0x1E=IMEAccept \n0x1F=IMEModeChange \n0x20=空白鍵 \n0x21=PageUp \n0x22=PageDown \n0x23=End \n0x24=Home \n0x25=Left \n0x26=Up \n0x27=Right \n0x28=Down \n0x29=Select \n0x2A=Print \n0x2B=Execute \n0x2C=PrintScreen \n0x2D=Insert \n0x2E=Delete \n0x2F=Help \n0x30=0 \n0x31=1 \n0x32=2 \n0x33=3 \n0x34=4 \n0x35=5 \n0x36=6 \n0x37=7 \n0x38=8 \n0x39=9 \n0x41=A \n0x42=B \n0x43=C \n0x44=D \n0x45=E \n0x46=F \n0x47=G \n0x48=H \n0x49=I \n0x4A=J \n0x4B=K \n0x4C=L \n0x4D=M \n0x4E=N \n0x4F=O \n0x50=P \n0x51=Q \n0x52=R \n0x53=S \n0x54=T \n0x55=U \n0x56=V \n0x57=W \n0x58=X \n0x59=Y \n0x5A=Z \n0x5B=LWin \n0x5C=RWin \n0x5D=Apps \n0x5F=Sleep \n0x60=NumPad0 \n0x61=NumPad1 \n0x62=NumPad2 \n0x63=NumPad3 \n0x64=NumPad4 \n0x65=NumPad5 \n0x66=NumPad6 \n0x67=NumPad7 \n0x68=NumPad8 \n0x69=NumPad9 \n0x6A=數字鍵* \n0x6B=數字鍵+ \n0x6C=SeparatorTest \n0x6D=數字鍵- \n0x6E=數字鍵. \n0x6F=數字鍵/ \n0x70=F1 \n0x71=F2 \n0x72=F3 \n0x73=F4 \n0x74=F5 \n0x75=F6 \n0x76=F7 \n0x77=F8 \n0x78=F9 \n0x79=F10 \n0x7A=F11 \n0x7B=F12 \n0x7C=F13 \n0x7D=F14 \n0x7E=F15 \n0x7F=F16 \n0x80=F17 \n0x81=F18 \n0x82=F19 \n0x83=F20 \n0x84=F21 \n0x85=F22 \n0x86=F23 \n0x87=F24 \n0x90=NumLock \n0x91=Scroll \n0xA0=LShiftKey \n0xA1=RShiftKey \n0xA2=LControlKey \n0xA3=RControlKey \n0xA4=LMenu \n0xA5=RMenu \n0xA6=BrowserBack \n0xA7=BrowserForward \n0xA8=BrowserRefresh \n0xA9=BrowserStop \n0xAA=BrowserSearch \n0xAB=BrowserFavorites \n0xAC=BrowserHome \n0xAD=VolumeMute \n0xAE=VolumeDown \n0xAF=VolumeUp \n0xB0=MediaNextTrack \n0xB1=MediaPreviousTrack \n0xB2=MediaStop \n0xB3=MediaPlayPause \n0xB4=LaunchMail \n0xB5=SelectMedia \n0xB6=LaunchApplication1 \n0xB7=LaunchApplication2 \n0xBA=OemSemicolon \n0xBB=Oemplus \n0xBC=Oemcomma \n0xBD=OemMinus \n0xBE=OemPeriod \n0xBF=OemQuestion \n0xC0=Oemtilde \n0xDB=OemOpenBrackets \n0xDC=OemPipe \n0xDD=OemCloseBrackets \n0xDE=OemQuotes \n0xDF=Oem8 \n0xE2=OemBackslash \n0xE5=ProcessKey \n0xE7=Packet \n0xF6=Attn \n0xF7=Crsel \n0xF8=Exsel \n0xF9=EraseEof \n0xFA=Play \n0xFB=Zoom \n0xFC=NoName \n0xFD=Pa1 \n0xFE=OemClear \n0x00010000=Shift \n0x00020000=Control \n0x00040000=Alt"
6 changes: 6 additions & 0 deletions src/FormOptions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -341,6 +341,12 @@ private void FormOptions_LocalReload()
this.lbGlobalHotkey.Text = Root.Local.OptionsHotkeysglobal;
this.cbAllowHotkeyInPointer.Text = Root.Local.OptionsHotkeysEnableinpointer;

foreach(Control ct in this.tabPage3.Controls)
{
if (ct.GetType() == typeof(HotkeyInputBox))
((HotkeyInputBox)ct).UpdateText();
}

this.comboCanvasCursor.Items[0] = Root.Local.OptionsGeneralCanvascursorArrow;
this.comboCanvasCursor.Items[1] = Root.Local.OptionsGeneralCanvascursorPentip;

Expand Down
25 changes: 21 additions & 4 deletions src/Hotkey.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
Expand All @@ -23,9 +23,26 @@ public static bool IsValidKey(Keys key)
return true;
else
return false;
}

public override string ToString()
}

public override string ToString()
{
if (Key > 0)
{
string str = "";
if (Control) str += LocalSt.KeyNames[0x00020000] + " + ";
if (Alt) str += LocalSt.KeyNames[0x00040000] + " + ";
if (Shift) str += LocalSt.KeyNames[0x00010000] + " + ";
if (Win) str += LocalSt.KeyNames[0x5B] +" + ";
str += LocalSt.KeyNames[Key];
return str;
}
else
{
return LocalSt.KeyNames[0];
}
}
public string ToStringInvariant()
{
if (Key > 0)
{
Expand Down
56 changes: 29 additions & 27 deletions src/HotkeyInputBox.cs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
using System;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
Expand Down Expand Up @@ -57,7 +57,7 @@ public HotkeyInputBox()
Width = 150;
}

protected void UpdateText()
public void UpdateText()
{
Text = Hotkey.ToString();
}
Expand All @@ -84,23 +84,23 @@ protected override void OnKeyDown(KeyEventArgs e)
bool deleting = pressedKey == Keys.Delete || pressedKey == Keys.Back;
if (deleting)
{
Text = "None";
Text = LocalSt.KeyNames[0];
}
else
{
Text = "";
if ((modifierKeys & Keys.Control) > 0)
Text += "Ctrl + ";
if ((modifierKeys & Keys.Alt) > 0)
Text += "Alt + ";
if ((modifierKeys & Keys.Shift) > 0)
Text += "Shift + ";
if ((modifierKeys & Keys.LWin) > 0 || (modifierKeys & Keys.RWin) > 0)
Text += "Win + ";

if (Hotkey.IsValidKey(pressedKey))
Text += LocalSt.KeyNames[0x00020000] + " + ";
if ((modifierKeys & Keys.Alt) > 0)
Text += LocalSt.KeyNames[0x00040000] + " + ";
if ((modifierKeys & Keys.Shift) > 0)
Text += LocalSt.KeyNames[0x00010000] + " + ";
if ((modifierKeys & Keys.LWin) > 0 || (modifierKeys & Keys.RWin) > 0)
Text += LocalSt.KeyNames[0x5B] + " + ";

if (Hotkey.IsValidKey(pressedKey))
{
Text += pressedKey.ToString();
Text += LocalSt.KeyNames[(int)pressedKey];
}
}

Expand Down Expand Up @@ -143,20 +143,22 @@ protected override void OnKeyUp(KeyEventArgs e)
Keys pressedKey = e.KeyData ^ modifierKeys;

if (modifierKeys != Keys.None && !HotkeyJustSet)
{
Text = "";
if ((modifierKeys & Keys.Control) > 0)
Text += "Ctrl + ";
if ((modifierKeys & Keys.Alt) > 0)
Text += "Alt + ";
if ((modifierKeys & Keys.Shift) > 0)
Text += "Shift + ";
if ((modifierKeys & Keys.LWin) > 0 || (modifierKeys & Keys.RWin) > 0)
Text += "Win + ";

if (Hotkey.IsValidKey(pressedKey))
Text += pressedKey.ToString();
}
{
Text = "";
if ((modifierKeys & Keys.Control) > 0)
Text += LocalSt.KeyNames[0x00020000] + " + ";
if ((modifierKeys & Keys.Alt) > 0)
Text += LocalSt.KeyNames[0x00040000] + " + ";
if ((modifierKeys & Keys.Shift) > 0)
Text += LocalSt.KeyNames[0x00010000] + " + ";
if ((modifierKeys & Keys.LWin) > 0 || (modifierKeys & Keys.RWin) > 0)
Text += LocalSt.KeyNames[0x5B] + " + ";

if (Hotkey.IsValidKey(pressedKey))
{
Text += LocalSt.KeyNames[(int)pressedKey];
}
}

if (modifierKeys == Keys.None)
{
Expand Down
Loading

0 comments on commit 9a22f1c

Please sign in to comment.