- localized tooltips and toolbar buttons;

Now everything should be localized properly.

git-svn-id: https://webim.svn.sourceforge.net/svnroot/webim/trunk@84 c66351dc-e62f-0410-b875-e3a5c0b9693f
This commit is contained in:
Pavel Petroshenko 2008-05-18 21:07:21 +00:00
parent 66af9827fb
commit abacb342ce
13 changed files with 133 additions and 83 deletions

View File

@ -50,26 +50,26 @@ namespace webImTray {
this.toolStripMenuItem1, this.toolStripMenuItem1,
this.exitToolStripMenuItem}); this.exitToolStripMenuItem});
this.notifyMenu.Name = "notifyMenu"; this.notifyMenu.Name = "notifyMenu";
this.notifyMenu.Size = new System.Drawing.Size(161, 66); this.notifyMenu.Size = new System.Drawing.Size(131, 54);
// //
// optionsToolStripMenuItem // optionsToolStripMenuItem
// //
this.optionsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStripMenuItem.Image"))); this.optionsToolStripMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("optionsToolStripMenuItem.Image")));
this.optionsToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Silver; this.optionsToolStripMenuItem.ImageTransparentColor = System.Drawing.Color.Silver;
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(160, 28); this.optionsToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
this.optionsToolStripMenuItem.Text = "Options.."; this.optionsToolStripMenuItem.Text = "Options..";
this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenu_Click); this.optionsToolStripMenuItem.Click += new System.EventHandler(this.optionsMenu_Click);
// //
// toolStripMenuItem1 // toolStripMenuItem1
// //
this.toolStripMenuItem1.Name = "toolStripMenuItem1"; this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(157, 6); this.toolStripMenuItem1.Size = new System.Drawing.Size(127, 6);
// //
// exitToolStripMenuItem // exitToolStripMenuItem
// //
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem"; this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(160, 28); this.exitToolStripMenuItem.Size = new System.Drawing.Size(130, 22);
this.exitToolStripMenuItem.Text = "E&xit"; this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.menuExitClick); this.exitToolStripMenuItem.Click += new System.EventHandler(this.menuExitClick);
// //
@ -81,7 +81,7 @@ namespace webImTray {
this.toolHideWindow}); this.toolHideWindow});
this.toolbar.Location = new System.Drawing.Point(0, 0); this.toolbar.Location = new System.Drawing.Point(0, 0);
this.toolbar.Name = "toolbar"; this.toolbar.Name = "toolbar";
this.toolbar.Size = new System.Drawing.Size(864, 31); this.toolbar.Size = new System.Drawing.Size(864, 25);
this.toolbar.TabIndex = 1; this.toolbar.TabIndex = 1;
this.toolbar.Text = "toolStrip1"; this.toolbar.Text = "toolStrip1";
// //
@ -91,7 +91,7 @@ namespace webImTray {
this.toolNavigate.Image = ((System.Drawing.Image)(resources.GetObject("toolNavigate.Image"))); this.toolNavigate.Image = ((System.Drawing.Image)(resources.GetObject("toolNavigate.Image")));
this.toolNavigate.ImageTransparentColor = System.Drawing.Color.Silver; this.toolNavigate.ImageTransparentColor = System.Drawing.Color.Silver;
this.toolNavigate.Name = "toolNavigate"; this.toolNavigate.Name = "toolNavigate";
this.toolNavigate.Size = new System.Drawing.Size(23, 28); this.toolNavigate.Size = new System.Drawing.Size(23, 22);
this.toolNavigate.Text = "Show pending users"; this.toolNavigate.Text = "Show pending users";
this.toolNavigate.Click += new System.EventHandler(this.toolNavigate_Click); this.toolNavigate.Click += new System.EventHandler(this.toolNavigate_Click);
// //
@ -101,7 +101,7 @@ namespace webImTray {
this.toolOptions.Image = ((System.Drawing.Image)(resources.GetObject("toolOptions.Image"))); this.toolOptions.Image = ((System.Drawing.Image)(resources.GetObject("toolOptions.Image")));
this.toolOptions.ImageTransparentColor = System.Drawing.Color.Silver; this.toolOptions.ImageTransparentColor = System.Drawing.Color.Silver;
this.toolOptions.Name = "toolOptions"; this.toolOptions.Name = "toolOptions";
this.toolOptions.Size = new System.Drawing.Size(23, 28); this.toolOptions.Size = new System.Drawing.Size(23, 22);
this.toolOptions.Text = "Options.."; this.toolOptions.Text = "Options..";
this.toolOptions.Click += new System.EventHandler(this.optionsMenu_Click); this.toolOptions.Click += new System.EventHandler(this.optionsMenu_Click);
// //
@ -112,17 +112,17 @@ namespace webImTray {
this.toolHideWindow.Image = ((System.Drawing.Image)(resources.GetObject("toolHideWindow.Image"))); this.toolHideWindow.Image = ((System.Drawing.Image)(resources.GetObject("toolHideWindow.Image")));
this.toolHideWindow.ImageTransparentColor = System.Drawing.Color.Magenta; this.toolHideWindow.ImageTransparentColor = System.Drawing.Color.Magenta;
this.toolHideWindow.Name = "toolHideWindow"; this.toolHideWindow.Name = "toolHideWindow";
this.toolHideWindow.Size = new System.Drawing.Size(129, 28); this.toolHideWindow.Size = new System.Drawing.Size(71, 22);
this.toolHideWindow.Text = "Hide window"; this.toolHideWindow.Text = "Hide window";
this.toolHideWindow.Click += new System.EventHandler(this.toolHideWindow_Click); this.toolHideWindow.Click += new System.EventHandler(this.toolHideWindow_Click);
// //
// webBrowser1 // webBrowser1
// //
this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill; this.webBrowser1.Dock = System.Windows.Forms.DockStyle.Fill;
this.webBrowser1.Location = new System.Drawing.Point(0, 31); this.webBrowser1.Location = new System.Drawing.Point(0, 25);
this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20); this.webBrowser1.MinimumSize = new System.Drawing.Size(20, 20);
this.webBrowser1.Name = "webBrowser1"; this.webBrowser1.Name = "webBrowser1";
this.webBrowser1.Size = new System.Drawing.Size(864, 454); this.webBrowser1.Size = new System.Drawing.Size(864, 460);
this.webBrowser1.TabIndex = 2; this.webBrowser1.TabIndex = 2;
this.webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.webBrowser1_PreviewKeyDown); this.webBrowser1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.webBrowser1_PreviewKeyDown);
// //
@ -133,7 +133,7 @@ namespace webImTray {
// //
// MainWindow // MainWindow
// //
this.AutoScaleBaseSize = new System.Drawing.Size(6, 15); this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
this.ClientSize = new System.Drawing.Size(864, 485); this.ClientSize = new System.Drawing.Size(864, 485);
this.Controls.Add(this.webBrowser1); this.Controls.Add(this.webBrowser1);
this.Controls.Add(this.toolbar); this.Controls.Add(this.toolbar);
@ -143,8 +143,8 @@ namespace webImTray {
this.ShowInTaskbar = false; this.ShowInTaskbar = false;
this.Text = "Web Messenger"; this.Text = "Web Messenger";
this.Shown += new System.EventHandler(this.MainWindow_Shown); this.Shown += new System.EventHandler(this.MainWindow_Shown);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Client_FormClosing);
this.GotFocus += new System.EventHandler(this.gotFocus); this.GotFocus += new System.EventHandler(this.gotFocus);
this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.Client_FormClosing);
this.notifyMenu.ResumeLayout(false); this.notifyMenu.ResumeLayout(false);
this.toolbar.ResumeLayout(false); this.toolbar.ResumeLayout(false);
this.toolbar.PerformLayout(); this.toolbar.PerformLayout();

View File

@ -6,6 +6,7 @@ using System.Collections;
using System.ComponentModel; using System.ComponentModel;
using System.Windows.Forms; using System.Windows.Forms;
using System.Data; using System.Data;
using System.Threading;
namespace webImTray { namespace webImTray {
@ -35,6 +36,22 @@ namespace webImTray {
navigateThere(); navigateThere();
setupReloadTimer(); setupReloadTimer();
// Restore previously set locale
if (!Options.RussianLocale) {
Thread.CurrentThread.CurrentUICulture = Options.englishCulture;
} else {
Thread.CurrentThread.CurrentUICulture = Options.russianCulture;
}
// Update localized controls
updateLocalizedControls();
}
private void updateLocalizedControls() {
// Update localized controls
toolHideWindow.Text = Options.resourceManager.GetString("hideWindow");
toolOptions.ToolTipText = Options.resourceManager.GetString("optionsToolTip");
toolNavigate.ToolTipText = Options.resourceManager.GetString("navigateToolTip");
} }
void navigateThere() { void navigateThere() {
@ -116,6 +133,10 @@ namespace webImTray {
// apply options // apply options
if (Options.ShowInTaskBar != this.ShowInTaskbar) if (Options.ShowInTaskBar != this.ShowInTaskbar)
this.ShowInTaskbar = !this.ShowInTaskbar; this.ShowInTaskbar = !this.ShowInTaskbar;
// Update localized controls
updateLocalizedControls();
setupReloadTimer(); setupReloadTimer();
} }

View File

@ -127,10 +127,10 @@
<data name="optionsToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="optionsToolStripMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIVJREFUOE/dk0EO
EnQB3mYfeAAAAIVJREFUOE/dk0EOgCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3P gCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3PF4vwfS3MOdO4oAOAF48hN4BJ1Jdn
F4vwfS3MOdO4oAOAF48hN4BJ1JdnkKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftu kKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftubDNAqygEoAU2GWbBYD9REH0adv76
bDNAqygEoAU2GWbBYD9REH0adv765z0AIQLwRor4ZGsAAAAASUVORK5CYII= 5z0AIQLwRor4ZGsAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="notifyIcon.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
@ -167,40 +167,38 @@
<data name="toolNavigate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolNavigate.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAY9JREFUOE9jYBh0
EnQB3mYfeAAAAY9JREFUOE9jYBh0wHTS1/+mEz7/N+n/8B/mOOOeN/+Ne17/N+59AxfD6nCzqb//m035 wHTS1/+mEz7/N+n/8B/mOOOeN/+Ne17/N+59AxfD6nCzqb//m035+d908rf/JhM+/jfpew/WYNz9EmyA
+d908rf/JhM+/jfpew/WYNz9EmyAUddLIH6B2xCwAVN//TedBDQA6AKQzSADDNsf/zdse/TfsPXBf4PW UddLIH6B2xCwAVN//TedBDQA6AKQzSADDNsf/zdse/TfsPXBf4PW+3gMmPzjv+nEL0Cb34FtAmkEGaDf
+3gMmPzjv+nEL0Cb34FtAmkEGaDfdPu/fsON/3r11/7r1V3B7w2wUzuf/TdoQdikW3Pxv07V2f86lWfw dPu/fsON/3r11/7r1V3B7w2wUzuf/TdoQdikW3Pxv07V2f86lWfwa6ZKjOrWXAbadu6/dsUpuG2ahfv/
a6ZKjOrWXAbadu6/dsUpuG2ahfv/axTs/a+Rvxu/CzRLTv7XLD7+X6PoCFDDgf/qeXvhGtSytv1Xy9r6 axTs/a+Rvxu/CzRLTv7XLD7+X6PoCFDDgf/qeXvhGtSytv1Xy9r6Xy1zC3ZDVLP2/lfJ2vNfJXPnf1Ug
Xy1zC3ZDVLP2/lfJ2vNfJXPnf1UgVknf9l85bct/5dRNcA3KKRv+g7BK6gZUQxQSN/1XSNj4XyF+PRjL Vknf9l85bct/5dRNcA3KKRv+g7BK6gZUQxQSN/1XSNj4XyF+PRjLx68D0mv/y8euBmOFuFVwDQpxQH78
x68D0mv/y8euBmOFuFVwDQpxQH786v+KCWsQhkhHLP8vHQbEoUuBNBCHL/0vA6RlwpcAMYSGBTCILxux 6v+KCWsQhkhHLP8vHQbEoUuBNBCHL/0vA6RlwpcAMYSGBTCILxux7L9c1HKEARIBC/5L+IPwvP8SASA8
7L9c1HKEARIBC/5L+IPwvP8SASA8H4ID5/+XDASKA9kwA0B8yaCF/6VDFtEhSolJFwDyA+nk71GvlAAA H4ID5/+XDASKA9kwA0B8yaCF/6VDFtEhSolJFwDyA+nk71GvlAAAAABJRU5ErkJggg==
AABJRU5ErkJggg==
</value> </value>
</data> </data>
<data name="toolOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolOptions.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAIVJREFUOE/dk0EO
EnQB3mYfeAAAAIVJREFUOE/dk0EOgCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3P gCAMBPlgv+l/DBcTH4O2WrLCFi56kaQJgXbYbUNKXy4RKSz2bT3PF4vwfS3MOdO4oAOAF48hN4BJ1Jdn
F4vwfS3MOdO4oAOAF48hN4BJ1JdnkKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftu kKpAE321RRHkYcEBmKxABnO12rhOgV9WOQ3Eodh1mwJawGK0hftubDNAqygEoAU2GWbBYD9REH0adv76
bDNAqygEoAU2GWbBYD9REH0adv765z0AIQLwRor4ZGsAAAAASUVORK5CYII= 5z0AIQLwRor4ZGsAAAAASUVORK5CYII=
</value> </value>
</data> </data>
<data name="toolHideWindow.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64"> <data name="toolHideWindow.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value> <value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8 iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAAlwSFlzAAASdAAA YQUAAAAgY0hSTQAAeiYAAICEAAD6AAAAgOgAAHUwAADqYAAAOpgAABdwnLpRPAAAAgxJREFUOE+lkvtL
EnQB3mYfeAAAAgxJREFUOE+lkvtLU2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmM U2EYx+0PEbtpFwnBKPGKiJImGP0gYhIYs1E5GF5gIxkpA00JRSmMEF0ohMh+GaRWYlqabMVcNdS2QpaI
EF0ohMh+GaRWYlqabMVcNdS2QpaIVqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1 VqiDIYhk397vA6fXhCjyhYdzeM/5fp7vczkAdeL2cwho7v/wWzT1zcN+Pwhr51uY2/y41PQaF+wzKKiZ
zcN+Pwhr51uY2/y41PQaF+wzKKiZQvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc QvaN58g0jyLd5KEUcQbg+84P/Cm2tncQjW3j68YWIqubCC3FcOJc478BAuGoZM6zvoRnakXEruEIjhc4
478BAuGoZM6zvoRnakXEruEIjhc4/g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE /g5gZop9c+voGAyLbQIfeBZxLL9BA1jzXvuGbWamuKh+GmmVbswE19A59FEBbmoAG7YbsLtm2mZmiml9
19A59FEBbmoAG7YbsLtm2mZmiml9cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBR cvabNDwpz6YB7LYBoMXCumkJr7LOmnnHzBQ/9X2Bo2cOibm1GsBREbAQiYmw/8lnuCeWkVzcgnZlnw1j
EbAQiYmw/8lnuCeWkVzcgnZlnw1j3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+N 3HV/wuNXK6i/9x5Hc6wawDlTXHbLJ+LZUBQPRyKwdQdxutwl1h+NLXHh5Ht1ewBHsiwawCW57HyDAfWR
LXHh5Ht1ewBHsiwawCW57HyDAfWRdvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFA dvl0uhZQ1eqX8aVc7EKLqrum651ATLf9OJx5XQM4KmY0xPzZ0hFAiQJnXB0WwME0E3IsL5B17ZlADqWb
iQJnXB0WwME0E3IsL5B17ZlADqWbNYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zd NYDrOepdlcysmTWWOrxqbceRWtaLk0VO1XW72D5Vckd2gMBfq8zdpmUG62NJvKM4+XyziDk24xmfWoGE
pmUG62NJvKM4+XyziDk24xmfWoGEs1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMV s1c0gHPmbrPTpHNJKOCo2G1mZs20zcwUJ5yp1AB5+8/zEwgF5GMVDxh4AAAAAElFTkSuQmCC
Dxh4AAAAAElFTkSuQmCC
</value> </value>
</data> </data>
<metadata name="reloadPageTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"> <metadata name="reloadPageTimer.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">

View File

@ -2,6 +2,9 @@ using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Text; using System.Text;
using System.Windows.Forms; using System.Windows.Forms;
using System.Resources;
using System.Threading;
using System.Globalization;
namespace webImTray { namespace webImTray {
class Options { class Options {
@ -112,5 +115,9 @@ namespace webImTray {
Application.UserAppDataRegistry.SetValue("isrussianlocale", value.ToString()); Application.UserAppDataRegistry.SetValue("isrussianlocale", value.ToString());
} }
} }
public static ResourceManager resourceManager = new ResourceManager("webImTray.webImTray", System.Reflection.Assembly.GetExecutingAssembly());
public static CultureInfo englishCulture = new CultureInfo("en-US");
public static CultureInfo russianCulture = new CultureInfo("ru-RU");
} }
} }

View File

@ -37,12 +37,12 @@ namespace webImTray {
public event ModifiedEvent PanelModified; public event ModifiedEvent PanelModified;
public void updateUI(ResourceManager resManager) { public void updateUI() {
label1.Text = resManager.GetString("webimtray"); label1.Text = Options.resourceManager.GetString("webimtray");
label2.Text = resManager.GetString("version"); label2.Text = Options.resourceManager.GetString("version");
label3.Text = resManager.GetString("copyright"); label3.Text = Options.resourceManager.GetString("copyright");
label4.Text = resManager.GetString("visitUs"); label4.Text = Options.resourceManager.GetString("visitUs");
linkLabel1.Text = resManager.GetString("url"); linkLabel1.Text = Options.resourceManager.GetString("url");
} }
} }
} }

View File

@ -11,7 +11,7 @@ namespace webImTray {
void initialize(); void initialize();
void apply(); void apply();
string getDescription(ResourceManager resManager); string getDescription(ResourceManager resManager);
void updateUI(ResourceManager resManager); void updateUI();
event ModifiedEvent PanelModified; event ModifiedEvent PanelModified;
} }

View File

@ -69,15 +69,15 @@ namespace webImTray {
PanelModified.Invoke(); PanelModified.Invoke();
} }
public void updateUI(ResourceManager resManager) { public void updateUI() {
groupBox1.Text = resManager.GetString("connection"); groupBox1.Text = Options.resourceManager.GetString("connection");
label1.Text = resManager.GetString("server"); label1.Text = Options.resourceManager.GetString("server");
autoDisconnect.Text = resManager.GetString("autoDisconnect"); autoDisconnect.Text = Options.resourceManager.GetString("autoDisconnect");
autoDesconnectOnSS.Text = resManager.GetString("autoDesconnectOnSS"); autoDesconnectOnSS.Text = Options.resourceManager.GetString("autoDesconnectOnSS");
groupBox2.Text = resManager.GetString("operatorPreferences"); groupBox2.Text = Options.resourceManager.GetString("operatorPreferences");
showUserPreferences.Text = resManager.GetString("showUserPreferences"); showUserPreferences.Text = Options.resourceManager.GetString("showUserPreferences");
label2.Text = resManager.GetString("minutes"); label2.Text = Options.resourceManager.GetString("minutes");
forceRefresh.Text = resManager.GetString("forceRefresh"); forceRefresh.Text = Options.resourceManager.GetString("forceRefresh");
} }
} }
} }

View File

@ -20,10 +20,6 @@ namespace webImTray {
OptionsPanel currentPanel = null; OptionsPanel currentPanel = null;
private static ResourceManager resourceManager = new ResourceManager("webImTray.webImTray", System.Reflection.Assembly.GetExecutingAssembly());
public static CultureInfo englishCulture = new CultureInfo("en-US");
public static CultureInfo russianCulture = new CultureInfo("ru-RU");
// FIXME: we have only one OptionsDialog instance // FIXME: we have only one OptionsDialog instance
// thus it's safe to keep it in a static variable. // thus it's safe to keep it in a static variable.
private static OptionsDialog currentInstance = null; private static OptionsDialog currentInstance = null;
@ -47,7 +43,7 @@ namespace webImTray {
bool inited = false; bool inited = false;
pageSelector.Items.Clear(); pageSelector.Items.Clear();
foreach (OptionsPanel p in panels) { foreach (OptionsPanel p in panels) {
ListViewItem item = new ListViewItem(p.getDescription(resourceManager)); ListViewItem item = new ListViewItem(p.getDescription(Options.resourceManager));
if (!inited) { if (!inited) {
item.Selected = true; item.Selected = true;
changePanel(p); changePanel(p);
@ -71,7 +67,7 @@ namespace webImTray {
OptionsPanel getPanel(string s) { OptionsPanel getPanel(string s) {
foreach (OptionsPanel p in panels) { foreach (OptionsPanel p in panels) {
if (s.Equals(p.getDescription(resourceManager))) if (s.Equals(p.getDescription(Options.resourceManager)))
return p; return p;
} }
@ -110,12 +106,12 @@ namespace webImTray {
public static void updateUI() { public static void updateUI() {
for (int i = 0; i < 4; i++) { for (int i = 0; i < 4; i++) {
((OptionsPanel)panels[i]).updateUI(resourceManager); ((OptionsPanel)panels[i]).updateUI();
} }
currentInstance.ok.Text = resourceManager.GetString("ok"); currentInstance.ok.Text = Options.resourceManager.GetString("ok");
currentInstance.cancel.Text = resourceManager.GetString("cancel"); currentInstance.cancel.Text = Options.resourceManager.GetString("cancel");
currentInstance.apply.Text = resourceManager.GetString("apply"); currentInstance.apply.Text = Options.resourceManager.GetString("apply");
currentInstance.Text = resourceManager.GetString("optionsTitle"); currentInstance.Text = Options.resourceManager.GetString("optionsTitle");
currentInstance.updatePageSelector(); currentInstance.updatePageSelector();
} }
} }

View File

@ -34,9 +34,9 @@ namespace webImTray {
// Apply locale // Apply locale
if (radioEnglish.Checked) { if (radioEnglish.Checked) {
Thread.CurrentThread.CurrentUICulture = OptionsDialog.englishCulture; Thread.CurrentThread.CurrentUICulture = Options.englishCulture;
} else if (radioRussian.Checked) { } else if (radioRussian.Checked) {
Thread.CurrentThread.CurrentUICulture = OptionsDialog.russianCulture; Thread.CurrentThread.CurrentUICulture = Options.russianCulture;
} }
// Update UI according to the current locale // Update UI according to the current locale
OptionsDialog.updateUI(); OptionsDialog.updateUI();
@ -66,17 +66,17 @@ namespace webImTray {
return resManager.GetString("general"); return resManager.GetString("general");
} }
public void updateUI(ResourceManager resManager) { public void updateUI() {
groupBox1.Text = resManager.GetString("application"); groupBox1.Text = Options.resourceManager.GetString("application");
showInTaskBar.Text = resManager.GetString("showInTaskBar"); showInTaskBar.Text = Options.resourceManager.GetString("showInTaskBar");
autoStart.Text = resManager.GetString("autoStart"); autoStart.Text = Options.resourceManager.GetString("autoStart");
hideWhenStarted.Text = resManager.GetString("hideWhenStarted"); hideWhenStarted.Text = Options.resourceManager.GetString("hideWhenStarted");
groupBox2.Text = resManager.GetString("hotKeys"); groupBox2.Text = Options.resourceManager.GetString("hotKeys");
showOptions.Text = resManager.GetString("showOptions"); showOptions.Text = Options.resourceManager.GetString("showOptions");
showHide.Text = resManager.GetString("showHide"); showHide.Text = Options.resourceManager.GetString("showHide");
languageBox.Text = resManager.GetString("language"); languageBox.Text = Options.resourceManager.GetString("language");
radioRussian.Text = resManager.GetString("russian"); radioRussian.Text = Options.resourceManager.GetString("russian");
radioEnglish.Text = resManager.GetString("english"); radioEnglish.Text = Options.resourceManager.GetString("english");
} }
private void radioEnglish_CheckedChanged(object sender, EventArgs e) { private void radioEnglish_CheckedChanged(object sender, EventArgs e) {

View File

@ -29,9 +29,9 @@ namespace webImTray {
return resManager.GetString("sound"); return resManager.GetString("sound");
} }
public void updateUI(ResourceManager resManager) { public void updateUI() {
groupBox1.Text = resManager.GetString("notifications"); groupBox1.Text = Options.resourceManager.GetString("notifications");
playSoundOnVisitor.Text = resManager.GetString("playSoundOnVisitor"); playSoundOnVisitor.Text = Options.resourceManager.GetString("playSoundOnVisitor");
} }
} }
} }

View File

@ -142,6 +142,11 @@
<Compile Include="options\OptionsSoundsPanel.Designer.cs"> <Compile Include="options\OptionsSoundsPanel.Designer.cs">
<DependentUpon>OptionsSoundsPanel.cs</DependentUpon> <DependentUpon>OptionsSoundsPanel.cs</DependentUpon>
</Compile> </Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="UserActivityHook.cs" /> <Compile Include="UserActivityHook.cs" />
<EmbeddedResource Include="App.resx"> <EmbeddedResource Include="App.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
@ -172,6 +177,11 @@
<SubType>Designer</SubType> <SubType>Designer</SubType>
<DependentUpon>OptionsSoundsPanel.cs</DependentUpon> <DependentUpon>OptionsSoundsPanel.cs</DependentUpon>
</EmbeddedResource> </EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<SubType>Designer</SubType>
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="webImTray.en-US.resx"> <EmbeddedResource Include="webImTray.en-US.resx">
<SubType>Designer</SubType> <SubType>Designer</SubType>
</EmbeddedResource> </EmbeddedResource>

View File

@ -159,6 +159,9 @@
<data name="hideWhenStarted" xml:space="preserve"> <data name="hideWhenStarted" xml:space="preserve">
<value>Hide window after start</value> <value>Hide window after start</value>
</data> </data>
<data name="hideWindow" xml:space="preserve">
<value>Hide window</value>
</data>
<data name="hotKeys" xml:space="preserve"> <data name="hotKeys" xml:space="preserve">
<value>Hotkeys</value> <value>Hotkeys</value>
</data> </data>
@ -168,6 +171,9 @@
<data name="minutes" xml:space="preserve"> <data name="minutes" xml:space="preserve">
<value>minutes</value> <value>minutes</value>
</data> </data>
<data name="navigateToolTip" xml:space="preserve">
<value>Show pending users</value>
</data>
<data name="notifications" xml:space="preserve"> <data name="notifications" xml:space="preserve">
<value>Notifications</value> <value>Notifications</value>
</data> </data>
@ -180,6 +186,9 @@
<data name="optionsTitle" xml:space="preserve"> <data name="optionsTitle" xml:space="preserve">
<value>Web IM Tray Options</value> <value>Web IM Tray Options</value>
</data> </data>
<data name="optionsToolTip" xml:space="preserve">
<value>Options...</value>
</data>
<data name="playSoundOnVisitor" xml:space="preserve"> <data name="playSoundOnVisitor" xml:space="preserve">
<value>Play sound when visitor comes</value> <value>Play sound when visitor comes</value>
</data> </data>

View File

@ -159,6 +159,9 @@
<data name="hideWhenStarted" xml:space="preserve"> <data name="hideWhenStarted" xml:space="preserve">
<value>Прятать окно после запуска</value> <value>Прятать окно после запуска</value>
</data> </data>
<data name="hideWindow" xml:space="preserve">
<value>Скрыть окно</value>
</data>
<data name="hotKeys" xml:space="preserve"> <data name="hotKeys" xml:space="preserve">
<value>Быстрый вызов</value> <value>Быстрый вызов</value>
</data> </data>
@ -168,6 +171,9 @@
<data name="minutes" xml:space="preserve"> <data name="minutes" xml:space="preserve">
<value>минут</value> <value>минут</value>
</data> </data>
<data name="navigateToolTip" xml:space="preserve">
<value>Показать ожидающих клиентов</value>
</data>
<data name="notifications" xml:space="preserve"> <data name="notifications" xml:space="preserve">
<value>Звуковые уведомления</value> <value>Звуковые уведомления</value>
</data> </data>
@ -180,6 +186,9 @@
<data name="optionsTitle" xml:space="preserve"> <data name="optionsTitle" xml:space="preserve">
<value>Настройки Веб Мессенджер "Трей"</value> <value>Настройки Веб Мессенджер "Трей"</value>
</data> </data>
<data name="optionsToolTip" xml:space="preserve">
<value>Настройки...</value>
</data>
<data name="playSoundOnVisitor" xml:space="preserve"> <data name="playSoundOnVisitor" xml:space="preserve">
<value>Звуковое уведомление о появлении посетителя</value> <value>Звуковое уведомление о появлении посетителя</value>
</data> </data>