Re: po: Fix some typography and linefeed issues in the Turkish translation.

2013-07-12 Thread Volkan Gezer
2013/7/12 Francois Gouget :
> On Thu, 11 Jul 2013, Volkan Gezer wrote:
> [...]
>> Thank you for modifications. I think the only problem is:
>>
>>  #: cryptui.rc:38
>>  msgid " to "
>> -msgstr " bitişi: "
>> +msgstr " bitişi "
>>
>> which we should keep ":" for a meaningful sentence structure. Hasan
>> should also correct me if I am wrong.
>
> Ok. That seems a bit strange but probably less strange than the way the
> code builds this string :-( It seems it does it does it this way to put
> parts of it in bold.
>
It would be nice to have the complete string, but anyway this is also
not a problem :).

> I've added an exception for it and I'm resending the rest of the patch.
>
> --
> Francois Gouget   http://fgouget.free.fr/
>  Stolen from an Internet user:
>   "f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng !"




Re: po: Tweak the French 'broadcast' and 'unicast' translations.

2013-07-12 Thread Francois Gouget
On Fri, 12 Jul 2013, Frédéric Delanoy wrote:
[...]
> The "grand dictionnaire terminologique"
> (http://gdt.oqlf.gouv.qc.ca/Resultat.aspx) gives

The thing is this dictionary is not actually French... it's Québécois. 
One of the differences is that Québécois is a lot more strict about not 
using English words, ever.


[...]
> BTW to broadcast = diffuser

And also 'télédiffuser', 'émettre', 'transmettre', 'annoncer', 
'téléviser', 'émission', etc.


> I may agree with unicast but the "diffusion" and "multidiffusion" seem OK to 
> me

It's the opposite for me. At least I can recognise that 'monodiffusion' 
being a made up word it must have something to do with networking. But 
just plain 'diffusion' can be used in so many contexts..


-- 
Francois Gouget   http://fgouget.free.fr/
 There are 10 types of people in the world...
   those who understand binary and those who don't.


Re: [PATCH 1/3] user32/tests: Sleep enough time to make sure all input message have been processed.

2013-07-12 Thread Qian Hong
On Fri, Jul 12, 2013 at 3:07 AM, Alexandre Julliard  wrote:
> Adding sleeps to work around timing issues is usually suspicious,

Hello, how about this one?


--
Regards,
Qian Hong

-
http://www.codeweavers.com
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 3e4cf93..fab7539 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -120,8 +120,11 @@ typedef struct
 static BOOL bMenuVisible;
 static INT popmenu;
 static BOOL got_input;
+static BOOL got_last_input;
 static HMENU hMenus[4];
 
+#define WM_LAST_INPUT (WM_USER + 1)
+
 #define MOD_SIZE 10
 #define MOD_NRMENUS 8
 
@@ -2113,6 +2116,7 @@ static DWORD WINAPI test_menu_input_thread(LPVOID 
lpParameter)
 int ret = TRUE, elapsed = 0;
 
 got_input = i && menu_tests[i-1].bMenuVisible;
+   got_last_input = FALSE;
 
 if (menu_tests[i].type == INPUT_KEYBOARD)
 for (j = 0; menu_tests[i].wVk[j] != 0; j++)
@@ -2121,19 +2125,19 @@ static DWORD WINAPI test_menu_input_thread(LPVOID 
lpParameter)
 for (j = 0; menu_tests[i].menu_item_pairs[j].uMenu != 0; j++)
 if (!(ret = click_menu(hWnd, 
&menu_tests[i].menu_item_pairs[j]))) break;
 
+   PostMessage( hWnd, WM_LAST_INPUT, 0, 0);
 if (!ret)
 {
 skip( "test %u: failed to send input\n", i );
 PostMessage( hWnd, WM_CANCELMODE, 0, 0 );
 return 0;
 }
-while (menu_tests[i].bMenuVisible != bMenuVisible)
-{
+do {
 if (elapsed > 200)
 break;
 elapsed += 20;
 Sleep(20);
-}
+} while (!got_last_input);
 
 if (!got_input)
 {
@@ -2166,6 +2170,9 @@ static LRESULT CALLBACK WndProc(HWND hWnd, UINT msg, 
WPARAM wParam,
 case WM_EXITMENULOOP:
 case WM_MENUSELECT:
 break;
+   case WM_LAST_INPUT:
+   got_last_input = TRUE;
+   break;
 
 case WM_KEYDOWN:
 case WM_SYSKEYDOWN:



Re: po: Tweak the French 'broadcast' and 'unicast' translations.

2013-07-12 Thread Frédéric Delanoy
On Fri, Jul 12, 2013 at 10:29 PM, GOUJON Alexandre  wrote:
> This is particularly true among programmers/network admins.. (who use a lot
> of technical and english terms) but casual users also tend to reject the
> always-translate-into-french idea. Quoting an article that made me laugh so
> hard I bookmarked it :
>
> "Arrivé sur le World Wide Web, je me connecte à un proxy quand Mac OS X
> m'informe par l'intermédiaire d'une pop-up qu'une opération de phishing
> pourrait bien être en cours. Dans le même temps, j'ai l'impression que ma
> zone de swap sature : une nouvelle fois, je vais devoir dumper la base de
> données sur laquelle je travaille [..] puis rebooter ma machine. "
>
> becomes
>
> "Arrivé sur la Toile d'araignée mondiale, je me connecte à un serveur
> mandataire quand mon système d'exploitation exclusif m'informe par
> l'intermédiaire d'une fenêtre intruse qu'une opération de filoutage pourrait
> bien être en cours. Dans le même temps, j'ai le sentiment que ma zone de
> permutation sature : une nouvelle fois, je vais devoir clicher la base de
> données sur laquelle je travaille [..] puis réamorcer ma machine."
>
> [If you don't laugh, you should at least be smiling now]

Well that's an extreme case, but often people use English (a.k.a.
franglais) when not necessary to be seen as "cool",
e.g. meeting has a perfectly usable French translation, "réunion".

The above looks more like automatic google translation.

Frédéric




Re: po: update Simplified Chinese translation

2013-07-12 Thread Qian Hong
Thanks Francois.

On Fri, Jul 12, 2013 at 10:41 PM, Francois Gouget  wrote:
> | Colon
> |  * Software localization: Use English colon (:) in Software
> |localization. A single byte space should be left between the
> |English colon and the subsequent characters (Chinese full-width
> |punctuation marks are excluded).
>
> For documentation they say to use a double byte colon. So it seems like
> our PO files should actually be using single-byte colons everywhere.
> Does this make sense?

I'm fine with replacing existent double byte colon to single byte one
in the Simplified Chinese translation of Wine UI, CC'ed previous Wine
Simplified Chinese major translator.

If no opposition I would suggest to follow the Microsoft's Simplified
Chinese Style Guide.


--
Regards,
Qian Hong

-
http://www.winehq.org




Re: po: Tweak the French 'broadcast' and 'unicast' translations.

2013-07-12 Thread GOUJON Alexandre

On 07/12/2013 07:30 PM, Frédéric Delanoy wrote:

On Fri, Jul 12, 2013 at 4:33 PM, Francois Gouget  wrote:

---

Surprisingly enough (for me) the existing translations match the term
used in Microsoft's Terminology file:
"broadcast address" -> "adresse de diffusion"
"broadcast" -> "diffusion"
"multicast" -> "multidiffusion"
"unicast"   -> "monodiffusion"

https://www.microsoft.com/Language/en-US/Terminology.aspx

But I still don't think they're good translations. I find 'diffusion'
way too general and vague. Reading it I would certainly not make the
link with broadcast, even in the domain of networking. Similarly I don't
think 'monodiffusion' would be readily understood.

So I'm more enclined to follow Wikipedia which uses the untranslated
terms as the title of their French articles:

Well they're just untranslated... you said it

The "grand dictionnaire terminologique"
(http://gdt.oqlf.gouv.qc.ca/Resultat.aspx) gives
broadcast -> diffusion (générale)
multicast -> multidiffusion / diffusion groupée (beurk)
monocast -> envoi individuel

http://glossaire.traduc.org/ (used for manpages/howtos) gives
broadcast -> diffusion
multicast -> multidiffusion
unicast -> unicast

BTW to broadcast = diffuser

I may agree with unicast but the "diffusion" and "multidiffusion" seem OK to me
And that's why some french people (including me) prefer taking their 
networking (Cisco and the like) exam in english rather than in their 
native language : sentences look Google-translated and their meaning is 
unclear until you "think" in english.


This is particularly true among programmers/network admins.. (who use a 
lot of technical and english terms) but casual users also tend to reject 
the always-translate-into-french idea. Quoting an article 
 
that made me laugh so hard I bookmarked it :


"Arrivé sur le World Wide Web, je me connecte à un proxy quand Mac OS X 
m'informe par l'intermédiaire d'une pop-up qu'une opération de phishing 
pourrait bien être en cours. Dans le même temps, j'ai l'impression que 
ma zone de swap sature : une nouvelle fois, je vais devoir dumper la 
base de données sur laquelle je travaille [..] puis rebooter ma machine. 
"


becomes

"Arrivé sur la Toile d'araignée mondiale, je me connecte à un serveur 
mandataire quand mon système d'exploitation exclusif m'informe par 
l'intermédiaire d'une fenêtre intruse qu'une opération de filoutage 
pourrait bien être en cours. Dans le même temps, j'ai le sentiment que 
ma zone de permutation sature : une nouvelle fois, je vais devoir 
clicher la base de données sur laquelle je travaille [..] puis réamorcer 
ma machine."


[If you don't laugh, you should at least be smiling now]

As to know whether you should keep them untranslated or not, I think you 
should translate them anyway because translating basically means 'using 
native words to describe and understand what was written in an other 
language' so use the "frenchiest" version of each word .. but that's 
only my point of view which is of course, debatable.



Re: po: Tweak the French 'broadcast' and 'unicast' translations.

2013-07-12 Thread Frédéric Delanoy
On Fri, Jul 12, 2013 at 4:33 PM, Francois Gouget  wrote:
> ---
>
> Surprisingly enough (for me) the existing translations match the term
> used in Microsoft's Terminology file:
>"broadcast address" -> "adresse de diffusion"
>"broadcast" -> "diffusion"
>"multicast" -> "multidiffusion"
>"unicast"   -> "monodiffusion"
>
> https://www.microsoft.com/Language/en-US/Terminology.aspx
>
> But I still don't think they're good translations. I find 'diffusion'
> way too general and vague. Reading it I would certainly not make the
> link with broadcast, even in the domain of networking. Similarly I don't
> think 'monodiffusion' would be readily understood.
>
> So I'm more enclined to follow Wikipedia which uses the untranslated
> terms as the title of their French articles:

Well they're just untranslated... you said it

The "grand dictionnaire terminologique"
(http://gdt.oqlf.gouv.qc.ca/Resultat.aspx) gives
broadcast -> diffusion (générale)
multicast -> multidiffusion / diffusion groupée (beurk)
monocast -> envoi individuel

http://glossaire.traduc.org/ (used for manpages/howtos) gives
broadcast -> diffusion
multicast -> multidiffusion
unicast -> unicast

BTW to broadcast = diffuser

I may agree with unicast but the "diffusion" and "multidiffusion" seem OK to me




Re: po: Some Franch translation tweaks.

2013-07-12 Thread Francois Gouget
On Fri, 12 Jul 2013, Frédéric Delanoy wrote:

> On Fri, Jul 12, 2013 at 1:16 PM, Francois Gouget  wrote:
> > ---
> >  po/fr.po |   14 --
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> 
> There's a typo in the commit message (you probably spotted it already).

Yes. I hate when that happens.


> >  msgstr ""
> >  "PAUSE affiche un message à l'écran demandant à l'utilisateur d'appuyer 
> > sur "
> > -"une touche.\n"
> > +"une\n"
> > +"touche.\n"
> 
> This is probably not needed

Most usage messages and the PAUSE one in particular, wrap at 80-columns 
so that words are not cut in the middle. I'd much prefer if the wrapping 
was done in software but in the meantime we have to do it by hand. So 
here I'm just trying to follow that rule.


> > msgid "Drive Mapping"
> > -msgstr "Assignation de lecteur"
> >+msgstr "Dossier cible"
> 
> Are you sure about this one? Maybe the original should be changed as
> well in this case...

Yes I think it should but the English strings are kinda frozen right 
now. Otherwise I'd propose 'Target folder'.


-- 
Francois Gouget   http://fgouget.free.fr/
 Linux: the choice of a GNU generation


Re: po: update Simplified Chinese translation

2013-07-12 Thread Francois Gouget

I'll take this opportunity to note that Microsoft's Simplified Chinese 
Style Guide says:

| Colon
|  * Software localization: Use English colon (:) in Software 
|localization. A single byte space should be left between the 
|English colon and the subsequent characters (Chinese full-width 
|punctuation marks are excluded).

For documentation they say to use a double byte colon. So it seems like 
our PO files should actually be using single-byte colons everywhere. 
Does this make sense?

http://download.microsoft.com/download/4/c/a/4ca95933-3496-4793-9d77-a89b60a8312c/zho-chn-StyleGuide.pdf

As an additional not, I don't think this is grounds for rejecting this 
patch given that it is consistent with existing translations.

-- 
Francois Gouget   http://fgouget.free.fr/
Linux: It is now safe to turn on your computer.




Re: po: Some Franch translation tweaks.

2013-07-12 Thread Frédéric Delanoy
On Fri, Jul 12, 2013 at 1:16 PM, Francois Gouget  wrote:
> ---
>  po/fr.po |   14 --
>  1 file changed, 8 insertions(+), 6 deletions(-)

There's a typo in the commit message (you probably spotted it already).

>  msgstr ""
>  "PAUSE affiche un message à l'écran demandant à l'utilisateur d'appuyer sur "
> -"une touche.\n"
> +"une\n"
> +"touche.\n"

This is probably not needed

> msgid "Drive Mapping"
> -msgstr "Assignation de lecteur"
>+msgstr "Dossier cible"

Are you sure about this one? Maybe the original should be changed as
well in this case...

Frédéric




Re: po: Fix the French DEL, ERASE, RD and RMDIR usage messages.

2013-07-12 Thread Frédéric Delanoy
On Fri, Jul 12, 2013 at 12:34 PM, Francois Gouget  wrote:
>  msgid "DEL  deletes a file or set of files.\n"
> -msgstr "DEL  efface un fichier ou un groupe de fichiers.\n"
> +msgstr "DEL  efface un fichier ou un groupe de fichiers.\n"

"fichiers" indicate it can be any number of files, replacing by the
singular form doesn't (one may think only one file is deletable per
command)

If you absolutely want the same singular ou plural form, the English
msgid it what should be changed instead IMO

Same remark for your ERASE diff hunk.

Regards,

Frédéric




Re: po: update Simplified Chinese translation

2013-07-12 Thread Jactry Zeng
Thanks Qian Hong!
I sent a newer: http://source.winehq.org/patches/data/97285


-- 
Regards,
Jactry Zeng



Re: po: update Simplified Chinese translation

2013-07-12 Thread Qian Hong
 #: winerror.mc:3016
-#, fuzzy
 msgid "Unknown interface.\n"
-msgstr "不明来源。\n"
+msgstr "未知界面。\n"

Please keep persistent for the translation of 'interface'.
Here 'Unknown interface.' is used with RPC_S_UNKNOWN_IF, should be
translate to '接口' as well as other place.

 #: winecfg.rc:260
 msgid "Voice output device:"
-msgstr ""
+msgstr "语言输出设备:"

 #: winecfg.rc:261
 msgid "Input device:"
@@ -12313,7 +12281,7 @@ msgstr "输入设备:"

 #: winecfg.rc:262
 msgid "Voice input device:"
-msgstr ""
+msgstr "语音输入设备:"

Please keep persistent for the translation of 'voice', it seems like a
typo here, one translated to 语言 while the other translated to '语音'.

 #: winerror.mc:186
 msgid "Sharing violation.\n"
-msgstr ""
+msgstr "非法共享。\n"

 #: winerror.mc:191
-#, fuzzy
 msgid "Lock violation.\n"
-msgstr "位置。\n"
+msgstr "非法锁定。\n"

 #: winerror.mc:696
-#, fuzzy
 msgid "Cancel violation.\n"
-msgstr "信息。\n"
+msgstr "非法取消。\n"

The above three reference to:
ERROR_SHARING_VIOLATION (共享冲突?)
ERROR_LOCK_VIOLATION (锁冲突?)
ERROR_CANCEL_VIOLATION (?)

http://support.microsoft.com/kb/316609/en-us
http://support.microsoft.com/kb/2698155/en-us
http://support.microsoft.com/kb/155011/en-us

I'm not sure your translation is correct, they are tricky to
translate, for ERROR_CANCEL_VIOLATION, even the original English
version is hard to understand :(
maybe keep the English version is not a bad idea if there is no better
alternative so far.

Thanks for the work!

On Fri, Jul 12, 2013 at 8:09 PM, Jactry Zeng  wrote:
>
>
>
>



-- 
Regards,
Qian Hong

-
http://www.winehq.org




po: update Simplified Chinese translation

2013-07-12 Thread Jactry Zeng

From df723cbfaf50152c1868481c2b3f80dc96ab2d28 Mon Sep 17 00:00:00 2001
From: Jactry 
Date: Fri, 12 Jul 2013 19:51:38 +0800
Subject: po: update Simplified Chinese translation.

---
 po/zh_CN.po | 90 -
 1 file changed, 29 insertions(+), 61 deletions(-)

diff --git a/po/zh_CN.po b/po/zh_CN.po
index ac1564e..8f30ab3 100644
--- a/po/zh_CN.po
+++ b/po/zh_CN.po
@@ -3338,16 +3338,12 @@ msgid "&Disable"
 msgstr "停用(&D)"
 
 #: joy.rc:37
-#, fuzzy
-#| msgid "&enable"
 msgid "&Enable"
 msgstr "启用(&E)"
 
 #: joy.rc:38
-#, fuzzy
-#| msgid "Disconnected"
 msgid "Connected"
-msgstr "连接断开"
+msgstr "已连接"
 
 #: joy.rc:40
 msgid "Disabled"
@@ -3372,10 +3368,8 @@ msgid "Test Force Feedback"
 msgstr ""
 
 #: joy.rc:64
-#, fuzzy
-#| msgid "Available formats"
 msgid "Available Effects"
-msgstr "可选格式"
+msgstr "可选效果"
 
 #: joy.rc:66
 msgid ""
@@ -3384,10 +3378,8 @@ msgid ""
 msgstr ""
 
 #: joy.rc:28
-#, fuzzy
-#| msgid "Create Control"
 msgid "Game Controllers"
-msgstr "建立控件"
+msgstr "游戏控制器"
 
 #: jscript.rc:25
 msgid "Error converting object to primitive type"
@@ -3526,10 +3518,8 @@ msgid "Number of fraction digits is out of range"
 msgstr ""
 
 #: jscript.rc:59
-#, fuzzy
-#| msgid "Print range"
 msgid "Precision is out of range"
-msgstr "打印范围"
+msgstr "精度超出范围"
 
 #: jscript.rc:60
 msgid "Array length must be a finite positive integer"
@@ -3568,9 +3558,8 @@ msgid "Invalid handle.\n"
 msgstr ""
 
 #: winerror.mc:61
-#, fuzzy
 msgid "Memory trashed.\n"
-msgstr "内存监视器。\n"
+msgstr "内存已回收。\n"
 
 #: winerror.mc:66
 msgid "Not enough memory.\n"
@@ -3666,16 +3655,15 @@ msgstr "读取错误。\n"
 
 #: winerror.mc:181
 msgid "General failure.\n"
-msgstr ""
+msgstr "一般性错误。\n"
 
 #: winerror.mc:186
 msgid "Sharing violation.\n"
-msgstr ""
+msgstr "非法共享。\n"
 
 #: winerror.mc:191
-#, fuzzy
 msgid "Lock violation.\n"
-msgstr "位置。\n"
+msgstr "非法锁定。\n"
 
 #: winerror.mc:196
 msgid "Wrong disk.\n"
@@ -4070,9 +4058,8 @@ msgid "Resource in use.\n"
 msgstr "资源已被占用。\n"
 
 #: winerror.mc:696
-#, fuzzy
 msgid "Cancel violation.\n"
-msgstr "信息。\n"
+msgstr "非法取消。\n"
 
 #: winerror.mc:701
 msgid "Atomic locks not supported.\n"
@@ -4539,9 +4526,8 @@ msgid "Driver failure cannot be detected.\n"
 msgstr ""
 
 #: winerror.mc:1281
-#, fuzzy
 msgid "Process abort cannot be detected.\n"
-msgstr "结束进程(&E)。\n"
+msgstr "进程中止未被检测到。\n"
 
 #: winerror.mc:1286
 msgid "No recovery program for service.\n"
@@ -5018,9 +5004,8 @@ msgid "The site does not exist.\n"
 msgstr "站点不存在。\n"
 
 #: winerror.mc:1881
-#, fuzzy
 msgid "The domain controller already exists.\n"
-msgstr "端口 %s 已经存在。\n"
+msgstr "该域控制器已存在。\n"
 
 #: winerror.mc:1886
 msgid "Supported only when connected.\n"
@@ -5259,9 +5244,8 @@ msgid "No such domain.\n"
 msgstr ""
 
 #: winerror.mc:2181
-#, fuzzy
 msgid "Domain already exists.\n"
-msgstr "端口 %s 已经存在。\n"
+msgstr "域名已存在。\n"
 
 #: winerror.mc:2186
 msgid "Domain limit exceeded.\n"
@@ -5437,9 +5421,8 @@ msgid "Invalid menu handle.\n"
 msgstr ""
 
 #: winerror.mc:2406
-#, fuzzy
 msgid "Invalid cursor handle.\n"
-msgstr "数字格式无效。\n"
+msgstr "无效光标句柄。\n"
 
 #: winerror.mc:2411
 msgid "Invalid accelerator table handle.\n"
@@ -5470,14 +5453,12 @@ msgid "Hotkey already registered.\n"
 msgstr "热键已被注册。\n"
 
 #: winerror.mc:2446
-#, fuzzy
 msgid "Class already exists.\n"
-msgstr "端口 %s 已经存在。\n"
+msgstr "该类已存在。\n"
 
 #: winerror.mc:2451
-#, fuzzy
 msgid "Class does not exist.\n"
-msgstr "路径不存在。\n"
+msgstr "该类不存在。\n"
 
 #: winerror.mc:2456
 #, fuzzy
@@ -5785,9 +5766,8 @@ msgid "Failed to open installation log file.\n"
 msgstr ""
 
 #: winerror.mc:2836
-#, fuzzy
 msgid "Installation language not supported.\n"
-msgstr "不支持 OLE 储存文件。\n"
+msgstr "不被支持的安装语言。\n"
 
 #: winerror.mc:2841
 msgid "Installation transform failed to apply.\n"
@@ -5930,14 +5910,12 @@ msgid "RPC server not listening.\n"
 msgstr ""
 
 #: winerror.mc:3011
-#, fuzzy
 msgid "Unknown manager type.\n"
-msgstr "不明类型。\n"
+msgstr "未知管理员类型。\n"
 
 #: winerror.mc:3016
-#, fuzzy
 msgid "Unknown interface.\n"
-msgstr "不明来源。\n"
+msgstr "未知界面。\n"
 
 #: winerror.mc:3021
 msgid "No bindings.\n"
@@ -6064,9 +6042,8 @@ msgid "Can't perform operation.\n"
 msgstr ""
 
 #: winerror.mc:3181
-#, fuzzy
 msgid "Endpoints not registered.\n"
-msgstr "退出注册表编辑器。\n"
+msgstr "终点尚未注册。\n"
 
 #: winerror.mc:3186
 msgid "Nothing to export.\n"
@@ -6388,9 +6365,8 @@ msgid "Wrong pipe version.\n"
 msgstr ""
 
 #: winerror.mc:3576
-#, fuzzy
 msgid "Group member not found.\n"
-msgstr "路径 %s 没找到。\n"
+msgstr "无法找到该群组成员。\n"
 
 #: winerror.mc:3581
 msgid "Can't create endpoint mapper DB.\n"
@@ -6429,9 +6405,8 @@ msgid "User must change password.\n"
 msgstr ""
 
 #: winerror.mc:3626
-#, fuzzy
 msgid "Domain controller not found.\n"
-msgstr "找不到文件。\n"
+msgstr "找不到域控制器。\n"
 
 #: winerror.mc:3631
 msgid "Account locked out.\n"
@@ -6500,29 +6475,24 @@ msgid "The interface could not be exported.\n"
 msgstr "不能导出接口。\n"
 
 #: winerror.mc:3711
-#, fuzzy
 msgid "The profile could not be added.\n"
-msgstr "找不到“%s”

Re: [PATCH 1/3] user32/tests: Sleep enough time to make sure all input message have been processed.

2013-07-12 Thread Qian Hong
On Fri, Jul 12, 2013 at 7:11 PM, Qian Hong  wrote:
> do {
> sleeping;
> } while (sent_msg match received_msg or slept too long)

typo, should be:

while (sent_msg does not match received_msg && haven't sleep too long)

--
Regards,
Qian Hong

-
http://www.codeweavers.com




Re: [PATCH 1/3] user32/tests: Sleep enough time to make sure all input message have been processed.

2013-07-12 Thread Qian Hong
Hello,

Thanks for the feedback.

On Fri, Jul 12, 2013 at 3:07 AM, Alexandre Julliard  wrote:
> Adding sleeps to work around timing issues is usually suspicious,
> particularly since the code is already supposed to wait. You'd have to
> explain why that's not sufficient.

Trying to explain why the sleeping in the while loop is not sufficient:

The attached patch do two things:
1.
-{ INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, FALSE, FALSE },
+{ INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, TRUE, FALSE },
Change the expected bMenuVisible from FALSE to TRUE in a passed test ( test 19 )
If the original test is correct, then after I change FALSE to TRUE, it
should fail now.

2.
Added some trace on sleeping time.

The test result is here:
https://testbot.winehq.org/JobDetails.pl?Key=26260

Looking at the test result, some times test 19 failed as expected,
some times test 19 passed, such as
https://testbot.winehq.org/JobDetails.pl?Key=26260&log_207=1#k207

--- snip ---
test 19: Are we going to sleep?
test 19: total sleeped time: 0
WARNING! sleeped time is zero!
--- snip ---

The reason that total sleeping time equal to zero is,
(menu_tests[19].bMenuVisible == bMenuVisible) is true at the
beginning, so the while loop is totally skipped, and we get a fake
passed test result.

Due to the above reason, a better while loop is as below:
do {
if (elapsed > 200)
break;
elapsed += 20;
Sleep(20);
}  while (menu_tests[i].bMenuVisible != bMenuVisible)

However, even that is not sufficient.
For some complex test, (menu_tests[19].bMenuVisible == bMenuVisible)
could become true after receiving the first input message but before
receiving the last input message, so we get a fake passed test result
as well.

That is why I add a Sleep(100) after the while loop.

Does my explaining make sense?

I have another idea:

1.
counting the amount of the received messages in the WndProc callback:
case WM_KEYDOWN:
case WM_KEYDOWN:
case WM_SYSKEYDOWN:
/* case WM_MOUSEMOVE: */ // Don't count WM_MOUSEMOVE
case WM_LBUTTONDOWN:
case XXX:
case YYY:
...
received_msg++;
2.
and counting the amount of sent messages in send_key and click_menu, such like:
static void send_key(WORD wVk)
{

sent_msg++;
}

3.
finally change the while loop to:
do {
sleeping;
} while (sent_msg match received_msg or slept too long)

Would you want me submit this version?

Thanks for reviewing.

--
Regards,
Qian Hong

-
http://www.codeweavers.com
diff --git a/dlls/user32/tests/menu.c b/dlls/user32/tests/menu.c
index 3e4cf93..91abfad 100644
--- a/dlls/user32/tests/menu.c
+++ b/dlls/user32/tests/menu.c
@@ -2046,7 +2046,7 @@ static struct menu_mouse_tests_s {
 { INPUT_KEYBOARD, {{0}}, {VK_MENU, 'M', 'P', 0}, TRUE, FALSE },
 { INPUT_KEYBOARD, {{0}}, {'E', 0}, FALSE, FALSE },
 { INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, TRUE, FALSE },
-{ INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, FALSE, FALSE },
+{ INPUT_KEYBOARD, {{0}}, {VK_F10, 0}, TRUE, FALSE },
 
 { INPUT_MOUSE, {{1, 2}, {0}}, {0}, TRUE, TRUE }, /* test 20 */
 { INPUT_MOUSE, {{1, 1}, {0}}, {0}, FALSE, FALSE },
@@ -2127,13 +2127,18 @@ static DWORD WINAPI test_menu_input_thread(LPVOID 
lpParameter)
 PostMessage( hWnd, WM_CANCELMODE, 0, 0 );
 return 0;
 }
+
+   printf("\ntest %d: Are we going to sleep?\n", i);
 while (menu_tests[i].bMenuVisible != bMenuVisible)
 {
+   printf("test %d: Yes, sleeping...\n", i);
 if (elapsed > 200)
 break;
 elapsed += 20;
 Sleep(20);
 }
+   printf("test %d: total sleeped time: %d\n", i, elapsed);
+   if (elapsed == 0) printf("WARNING! sleeped time is zero!\n\n");
 
 if (!got_input)
 {



Re: ole32: Tests for CLSIDFromProgID() and ProgIDFromCLSID() regarding activation context

2013-07-12 Thread Marvin
Hi,

While running your changed tests on Windows, I think I found new failures.
Being a bot and all I'm not very good at pattern recognition, so I might be
wrong, but could you please double-check?
Full results can be found at
http://testbot.winehq.org/JobDetails.pl?Key=26261

Your paranoid android.


=== W2KPROSP4 (32 bit compobj) ===
compobj: unhandled exception c005 at 




Re: cmd: Fix a usage message: the % must be doubled for FOR variables. (resend)

2013-07-12 Thread Alexandre Julliard
Francois Gouget  writes:

> The usage message was in fact documenting an old Wine bug.
> ---
>
> The attempt did not apply, probably because I had other changes in my 
> tree. Hopefully this one will work.
>
>
> I'm reluctant to change messages at this stage as it's going to cause 
> fuzzying of the translations, but given that this message is plain wrong 
> I think it's warranted.

I'd suggest to simply remove the sentence, and remove it in translations
too so that we don't need to invalidate all of them.

-- 
Alexandre Julliard
julli...@winehq.org




Re: po: Fix some typography and linefeed issues in the Turkish translation.

2013-07-12 Thread Francois Gouget
On Thu, 11 Jul 2013, Volkan Gezer wrote:
[...]
> Thank you for modifications. I think the only problem is:
> 
>  #: cryptui.rc:38
>  msgid " to "
> -msgstr " bitişi: "
> +msgstr " bitişi "
> 
> which we should keep ":" for a meaningful sentence structure. Hasan
> should also correct me if I am wrong.

Ok. That seems a bit strange but probably less strange than the way the 
code builds this string :-( It seems it does it does it this way to put 
parts of it in bold.

I've added an exception for it and I'm resending the rest of the patch.

-- 
Francois Gouget   http://fgouget.free.fr/
 Stolen from an Internet user:
  "f u cn rd ths, u cn gt a gd jb n cmptr prgrmmng !"


Re: wbemprox: Implement Win32_OperatingSystem.LocalDateTime. (try 2)

2013-07-12 Thread Sylvain Petreolle
De : Bruno Jesus <00cp...@gmail.com>

À : wine-devel@winehq.org; spetreo...@yahoo.fr 
>Envoyé le : Jeudi 11 juillet 2013 17h14
>Objet : Re: wbemprox: Implement Win32_OperatingSystem.LocalDateTime. (try 2)
> 
>
>On Thu, Jul 11, 2013 at 11:19 AM, Sylvain Petreolle  
>wrote:
>> ---
>>  dlls/wbemprox/builtin.c | 30 ++
>>  1 file changed, 30 insertions(+)
>>
>> diff --git a/dlls/wbemprox/builtin.c b/dlls/wbemprox/builtin.c
>> index 9e2369a..5b7674e 100644
>> --- a/dlls/wbemprox/builtin.c
>> +++ b/dlls/wbemprox/builtin.c
>
>> @@ -1774,6 +1778,31 @@ static WCHAR *get_lastbootuptime(void)
>> +
>> +    GetLocalTime(&st);
>> +    Status = GetTimeZoneInformation(&tzi);
>> +
>> +    if(Status == TIME_ZONE_ID_INVALID) return NULL;
>
>Aren't you leaking ret here? Maybe you could swap this check with the
>memory allocation.
>You are right. I will post a new version.



>> +    sprintfW( ret, fmtW, st.wYear, st.wMonth, st.wDay, st.wHour, 
>> st.wMinute, st.wSecond, st.wMilliseconds * 1000, -Bias);
>
>Is it ok for the + sign to the fixed in the format?
>The + sign ensures that the sign appears with positive and negative bias.
TZ=America/New_York wine wmic os get localdatetime

TZ=Europe/Berlin  wine wmic os get localdatetime


Best wishes,
>Bruno
>
>
Kind regards,
Sylvain Petreolle