On Fri, Feb 4, 2011 at 15:59, Dongsheng Song <dongsheng.s...@gmail.com> wrote: > On Sun, Nov 14, 2010 at 01:19, Greg Hudson <ghud...@mit.edu> wrote: >> On Sat, 2010-11-13 at 10:31 -0500, Daniel Shahaf wrote: >>> Sounds reasonable. >>> >>> What changes to the source code would be required? >>> >>> Do we just change >>> N_("three\n\nparagraphs\n\nhere\n") >>> to >>> N_("three\n") N_("paragraphs\n") N_("here\n") >> >> No, that would just result in evaluating gettext on the combined string, >> same as before. I can see two options for help strings in particular: >> >> 1. Rev svn_opt_subcommand_desc2_t to include an array of help strings >> which are translated and displayed in sequence. >> >> 2. Change print_command_info2 to look at the help string and break it up >> at certain boundaries (such as blank lines or numbered list entries) >> before translating it. >> >> (Mercurial is written in Python, so it has different constraints.) >> > > Change svn_opt_subcommand_desc2_t.help from 'const char *' to 'const > char **' maybe break the ABI, > I don't think we can do it in the near future. > > Change print_command_info2 have the similarly issues, and it's more > complex to generate and store strings for translating. > > I have another approach, introduce a new function to concatenate many > strings, e.g. > const char * svn_opt__string_concat(apr_pool_t *pool, const char *s1, ...) > > The last parameter should be NULL to indicate this is the last > parameter, then the very long messages: > N_("para1" "para2" "para3" "..." "paraN") > > Can be changed to: > svn_opt__string_concat(N_("para1"), (N_("para2"), (N_("para3"), ..., > (N_("paraN"), NULL) > > Why I recall this thread ? Because when I translating today, I found a > message which have 255 lines (svn/main.c:676 ), > It's supper terrible ! I can not image the maintenance work when there > have one line changed only! > > Any comments? > > -- > Dongsheng Song >
OOPS, apr_pstrcat can concatenate multiple strings, not need for svn_opt__string_concat. http://apr.apache.org/docs/apr/1.4/group__apr__strings.html#g7bd80c95ffb7b3f96bc78e7b5b5b0045