in .pot file: "If a window is not found (or there are no criteria), a command can\noptionally be launched. The command can either result in a window\nthat matches the below criteria, or it can use the socket ID passed\nto it (" should be(like in source): "If a window is not found (or there are no criteria), a command can\noptionally be launched. The command can either result in a window\nthat matches the below criteria, or it can use the socket ID passed\nto it (%s) to embed itself automatically."
in .pot: "Leave blank to not launch anything\n" in source: "Leave blank to not launch anything\n%sexpands to the socket ID"
in .pot: "Leave blank to hide the label\n" in source: "Leave blank to hide the label\n%s expands to the embedded window's title"
Thanks for pointing that out; all three offenders have been fixed in git.
but now in translation it shows "%s" literally, it should be so? i think in running application "%s" should be replaced to something(socket id?)
eg. http://i.imgur.com/M09C8.png
That actually confused me for a second as well as I was making the change, but it's correct. %s in the top field gets replaced with the socket id. %t in the bottom field gets replaced with the window title. The overlap with printf's %s is a coincidence.
To be absolutely clear, the code is using %s with g_strdup_printf to insert the actual replacement code into the string, which is %s. E.g., the code is like: g_strdup_printf("use %s to insert the socket id", "%s"), which is an amusing coincidence. It makes more sense when you look at the second instance, which goes g_strdup_printf("use %s to insert the title", "%t"). So in both cases, the translation should use "%s", since in that context it is being passed to a printf-style function where it will be replaced with "%s" or "%t" as appropriate.