tClean up comments for translators - vaccinewars - be a doctor and try to vaccinate the world
 (HTM) git clone git://src.adamsgaard.dk/vaccinewars
 (DIR) Log
 (DIR) Files
 (DIR) Refs
 (DIR) README
 (DIR) LICENSE
       ---
 (DIR) commit 883d8aaa6dfea9df9d0c220d8398bd83c4fa7915
 (DIR) parent 10d5025df3bbfcaa6248f4c1451ba7e430d6537e
 (HTM) Author: Ben Webb <ben@salilab.org>
       Date:   Fri,  6 Nov 2020 18:51:51 -0800
       
       Clean up comments for translators
       
       Diffstat:
         M po/Makevars                         |       2 +-
         M src/curses_client/curses_client.c   |      80 ++++++++++++++++----------------
         M src/dopewars.c                      |      56 ++++++++++++++++----------------
         M src/error.c                         |       2 +-
         M src/gui_client/gtk_client.c         |      38 ++++++++++++++++----------------
         M src/gui_client/newgamedia.c         |      14 +++++++-------
         M src/serverside.c                    |      24 ++++++++++++------------
         M src/winmain.c                       |       4 ++--
       
       8 files changed, 110 insertions(+), 110 deletions(-)
       ---
 (DIR) diff --git a/po/Makevars b/po/Makevars
       t@@ -12,7 +12,7 @@ subdir = po
        top_builddir = ..
        
        # These options get passed to xgettext.
       -XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
       +XGETTEXT_OPTIONS = --keyword=_ --keyword=N_ --add-comments
        
        # This is the copyright holder that gets inserted into the header of the
        # $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
 (DIR) diff --git a/src/curses_client/curses_client.c b/src/curses_client/curses_client.c
       t@@ -346,7 +346,7 @@ static void SelectServerManually(void)
          clear_bottom();
          mvaddstr(top + 1, 1,
                   /* Prompts for hostname and port when selecting a server
       -            * manually */
       +              manually */
                   _("Please enter the hostname and port of a dopewars server:-"));
          text = nice_input(_("Hostname: "), top + 2, 1, FALSE, ServerName, '\0');
          AssignName(&ServerName, text);
       t@@ -464,9 +464,9 @@ static gboolean SelectServerFromMetaServer(Player *Play, GString *errstr)
                     _("N>ext server; P>revious server; S>elect this server... "));
        
            /* The three keys that are valid responses to the previous question -
       -     * if you translate them, keep the keys in the same order (N>ext,
       -     * P>revious, S>elect) as they are here, otherwise they'll do the
       -     * wrong things. */
       +       if you translate them, keep the keys in the same order (N>ext,
       +       P>revious, S>elect) as they are here, otherwise they'll do the
       +       wrong things. */
            c = GetKey(_("NPS"), "NPS", FALSE, FALSE, FALSE);
            switch (c) {
            case 'S':
       t@@ -688,8 +688,8 @@ static gboolean ConnectToServer(Player *Play)
                g_free(text);
              } else if (!NetOK) {
                /* Display of an error message while trying to contact a dopewars
       -         * server (the error message itself is displayed on the next
       -         * screen line) */
       +           server (the error message itself is displayed on the next
       +           screen line) */
                mvaddstr(top, 1, _("Could not start multiplayer dopewars"));
                text = g_strdup_printf("   (%s)", errstr->str);
                mvaddstr(top + 1, 1, text);
       t@@ -709,7 +709,7 @@ static gboolean ConnectToServer(Player *Play)
              attrset(TextAttr);
        
              /* Translate these 4 keys in line with the above options, keeping
       -       * the order the same (C>onnect, L>ist, Q>uit, P>lay single-player) */
       +         the order the same (C>onnect, L>ist, Q>uit, P>lay single-player) */
              c = GetKey(_("CLQP"), "CLQP", FALSE, FALSE, FALSE);
              switch (c) {
              case 'Q':
       t@@ -851,7 +851,7 @@ static void DropDrugs(Player *Play)
          text = g_string_new("");
          dpg_string_printf(text,
                             /* List of drugs that you can drop (%tde = "drugs" by 
       -                      * default) */
       +                        default) */
                             _("You can\'t get any cash for the following "
                               "carried %tde :"), Names.Drugs);
          mvaddstr(top, 1, text->str);
       t@@ -930,7 +930,7 @@ static void DealDrugs(Player *Play, gboolean Buy)
        
            if (Buy) {
              /* Display of number of drugs you could buy and/or carry, when
       -       * buying drugs */
       +         buying drugs */
              text = g_strdup_printf(_("You can afford %d, and can carry %d. "),
                                     CanAfford, CanCarry);
              mvaddstr(get_prompt_line() + 1, 2, text);
       t@@ -1006,8 +1006,8 @@ static void GiveErrand(Player *Play)
          attrset(TextAttr);
        
          /* Translate these 5 keys to match the above options, keeping the
       -   * original order the same (S>py, T>ip off, G>et stuffed, C>ontact spy,
       -   * N>o errand) */
       +     original order the same (S>py, T>ip off, G>et stuffed, C>ontact spy,
       +     N>o errand) */
          c = GetKey(_("STGCN"), "STGCN", TRUE, FALSE, FALSE);
        
          if (Play->Bitches.Carried > 0 || c == 'C')
       t@@ -1029,8 +1029,8 @@ static void GiveErrand(Player *Play)
              addstr(_(" Are you sure? "));
        
              /* The two keys that are valid for answering Yes/No - if you
       -       * translate them, keep them in the same order - i.e. "Yes" before
       -       * "No" */
       +         translate them, keep them in the same order - i.e. "Yes" before
       +         "No" */
              c = GetKey(_("YN"), "YN", FALSE, TRUE, FALSE);
        
              if (c == 'Y')
       t@@ -1338,7 +1338,7 @@ static void SellGun(Player *Play)
          clear_line(get_prompt_line());
          if (TotalGunsCarried(Play) == 0) {
            /* Error - player tried to sell guns that he/she doesn't have
       -     * (%tde="guns" by default) */
       +       (%tde="guns" by default) */
            text = dpg_strdup_printf(_("You don't have any %tde to sell!"),
                                     Names.Guns);
            mvaddcentstr(get_prompt_line(), text);
       t@@ -1383,9 +1383,9 @@ static void BuyGun(Player *Play)
          if (TotalGunsCarried(Play) >= Play->Bitches.Carried + 2) {
            text = dpg_strdup_printf(
                                      /* Error - player tried to buy more guns
       -                               * than his/her bitches can carry (1st
       -                               * %tde="bitches", 2nd %tde="guns" by
       -                               * default) */
       +                                 than his/her bitches can carry (1st
       +                                 %tde="bitches", 2nd %tde="guns" by
       +                                 default) */
                                      _("You'll need more %tde to carry "
                                        "any more %tde!"),
                                      Names.Bitches, Names.Guns);
       t@@ -1406,7 +1406,7 @@ static void BuyGun(Player *Play)
              if (Gun[gunind].Space > Play->CoatSize) {
                clear_line(get_prompt_line());
                /* Error - player tried to buy a gun that he/she doesn't have
       -         * space for (%tde="gun" by default) */
       +           space for (%tde="gun" by default) */
                text = dpg_strdup_printf(_("You don't have enough space to "
                                           "carry that %tde!"), Names.Gun);
                mvaddcentstr(get_prompt_line(), text);
       t@@ -1416,7 +1416,7 @@ static void BuyGun(Player *Play)
              } else if (Gun[gunind].Price > Play->Cash) {
                clear_line(get_prompt_line());
                /* Error - player tried to buy a gun that he/she can't afford
       -         * (%tde="gun" by default) */
       +           (%tde="gun" by default) */
                text = dpg_strdup_printf(_("You don't have enough cash to buy "
                                           "that %tde!"), Names.Gun);
                mvaddcentstr(get_prompt_line(), text);
       t@@ -1464,9 +1464,9 @@ void GunShop(Player *Play)
            attrset(TextAttr);
        
            /* Translate these three keys in line with the above options, keeping
       -     * the order (B>uy, S>ell, L>eave) the same - you can change the
       -     * wording of the prompt, but if you change the order in this key
       -     * list, the keys will do the wrong things! */
       +       the order (B>uy, S>ell, L>eave) the same - you can change the
       +       wording of the prompt, but if you change the order in this key
       +       list, the keys will do the wrong things! */
            action = GetKey(_("BSL"), "BSL", FALSE, FALSE, FALSE);
            if (action == 'S')
              SellGun(Play);
       t@@ -1531,7 +1531,7 @@ void Bank(Player *Play)
            attrset(TextAttr);
        
            /* Make sure you keep the order the same if you translate these keys!
       -     * (D>eposit, W>ithdraw, L>eave) */
       +       (D>eposit, W>ithdraw, L>eave) */
            action = GetKey(_("DWL"), "DWL", FALSE, FALSE, FALSE);
        
            if (action == 'D' || action == 'W') {
       t@@ -1546,12 +1546,12 @@ void Bank(Player *Play)
                money = -money;
              if (money > Play->Cash) {
                /* Error - player has tried to put more money into the bank than
       -         * he/she has */
       +           he/she has */
                mvaddstr(20, 1, _("You don't have that much money!"));
                nice_wait();
              } else if (-money > Play->Bank) {
                /* Error - player has tried to withdraw more money from the bank
       -         * than there is in the account */
       +           than there is in the account */
                mvaddstr(20, 1, _("There isn't that much money in the bank..."));
                nice_wait();
              } else if (money != 0) {
       t@@ -1583,9 +1583,9 @@ int GetKey(char *allowed, char *orig_allowed, gboolean AllowOther,
          guint AllowInd, WordInd, i;
        
          /* Expansions of the single-letter keypresses for the benefit of the
       -   * user. i.e. "Yes" is printed for the key "Y" etc. You should indicate
       -   * to the user which letter in the word corresponds to the keypress, by
       -   * capitalising it or similar. */
       +     user. i.e. "Yes" is printed for the key "Y" etc. You should indicate
       +     to the user which letter in the word corresponds to the keypress, by
       +     capitalising it or similar. */
          gchar *Words[] = { N_("Y:Yes"), N_("N:No"), N_("R:Run"),
            N_("F:Fight"), N_("A:Attack"), N_("E:Evade")
          };
       t@@ -1978,7 +1978,7 @@ void print_status(Player *Play, gboolean DispDrug)
          attrset(StatsAttr);
        
          /* Display of the player's cash in the stats window (careful to keep the
       -   * formatting if you change the length of the "Cash" word) */
       +     formatting if you change the length of the "Cash" word) */
          dpg_string_printf(text, _("Cash %17P"), Play->Cash);
          mvaddstr(3, 9, text->str);
        
       t@@ -2007,7 +2007,7 @@ void print_status(Player *Play, gboolean DispDrug)
            g_string_printf(text, _("Space %6d"), Play->CoatSize);
          else {
            /* Display of the player's number of bitches, and available space
       -     * (%Tde="Bitches" by default) */
       +       (%Tde="Bitches" by default) */
            dpg_string_printf(text, _("%Tde %3d  Space %6d"), Names.Bitches,
                               Play->Bitches.Carried, Play->CoatSize);
          }
       t@@ -2024,8 +2024,8 @@ void print_status(Player *Play, gboolean DispDrug)
              mvaddstr(1, Width * 3 / 4 - 5, _("Trenchcoat"));
            else {
              /* Title of the "drugs" window (the only important bit in this
       -       * string is the "%Tde" which is "Drugs" by default; the %/.../ part 
       -       * is ignored, so you don't need to translate it; see doc/i18n.html) 
       +         string is the "%Tde" which is "Drugs" by default; the %/.../ part
       +         is ignored, so you don't need to translate it; see doc/i18n.html)
               */
              dpg_string_printf(text, _("%/Stats: Drugs/%Tde"), Names.Drugs);
              mvaddstr(1, Width * 3 / 4 - strlen(text->str) / 2, text->str);
       t@@ -2033,7 +2033,7 @@ void print_status(Player *Play, gboolean DispDrug)
            for (i = 0; i < NumDrug; i++) {
              if (Play->Drugs[i].Carried > 0) {
                /* Display of carried drugs with price (%tde="Opium", etc. by
       -         * default) */
       +           default) */
                if (HaveAbility(Play, A_DRUGVALUE)) {
                  dpg_string_printf(text, _("%-7tde  %3d @ %P"), Drug[i].Name,
                                     Play->Drugs[i].Carried,
       t@@ -2051,7 +2051,7 @@ void print_status(Player *Play, gboolean DispDrug)
            }
          } else {
            /* Title of the "guns" window (the only important bit in this string
       -     * is the "%Tde" which is "Guns" by default) */
       +       is the "%Tde" which is "Guns" by default) */
            dpg_string_printf(text, _("%/Stats: Guns/%Tde"), Names.Guns);
            mvaddstr(1, Width * 3 / 4 - strlen(text->str) / 2, text->str);
            for (i = 0; i < NumGun; i++) {
       t@@ -2087,7 +2087,7 @@ void DisplaySpyReports(char *Data, Player *From, Player *To)
          g_free(text);
        
          /* Message displayed with a spy's list of drugs (%Tde="Drugs" by
       -   * default) */
       +     default) */
          text = dpg_strdup_printf(_("%/Spy: Drugs/%Tde..."), Names.Drugs);
          mvaddstr(19, 20, text);
          g_free(text);
       t@@ -2287,7 +2287,7 @@ static void DisplayDrugsHere(Player *Play)
               c < NumDrugsHere && i != -1;
               c++, i = GetNextDrugIndex(i, Play)) {
            /* List of individual drug names for selection (%tde="Opium" etc.
       -     * by default) */
       +       by default) */
            text = dpg_strdup_printf( _("%c. %-10tde %8P"), 'A' + c,
                                     Drug[i].Name, Play->Drugs[i].Price);
            names = g_slist_append(names, text);
       t@@ -2520,14 +2520,14 @@ static void Curses_DoGame(Player *Play)
        #endif /* NETWORKING */
            if (DisplayMode == DM_STREET) {
              /* N.B. You must keep the order of these keys the same as the
       -       * original when you translate (B>uy, S>ell, D>rop, T>alk, P>age,
       -       * L>ist, G>ive errand, F>ight, J>et, Q>uit) */
       +         original when you translate (B>uy, S>ell, D>rop, T>alk, P>age,
       +         L>ist, G>ive errand, F>ight, J>et, Q>uit) */
              c = GetKey(_("BSDTPLGFJQ"), "BSDTPLGFJQ", TRUE, FALSE, FALSE);
        
            } else if (DisplayMode == DM_FIGHT) {
              /* N.B. You must keep the order of these keys the same as the
       -       * original when you translate (D>eal drugs, R>un, F>ight, S>tand,
       -       * Q>uit) */
       +         original when you translate (D>eal drugs, R>un, F>ight, S>tand,
       +         Q>uit) */
              c = GetKey(_("DRFSQ"), "DRFSQ", TRUE, FALSE, FALSE);
        
            } else
 (DIR) diff --git a/src/dopewars.c b/src/dopewars.c
       t@@ -171,10 +171,10 @@ struct SOUNDS Sounds = {
         * of translators ;) */
        struct NAMES DefaultNames = {
          /* Name of a single bitch - if you need to use different words for
       -   * "bitch" depending on where in the sentence it occurs (e.g. subject or 
       -   * object) then read doc/i18n.html about the %tde (etc.) notation. N.B.
       -   * This notation can be used for most of the translatable strings in
       -   * dopewars. */
       +     "bitch" depending on where in the sentence it occurs (e.g. subject or
       +     object) then read doc/i18n.html about the %tde (etc.) notation. N.B.
       +     This notation can be used for most of the translatable strings in
       +     dopewars. */
          N_("bitch"),
          /* Word used for two or more bitches */
          N_("bitches"),
       t@@ -187,11 +187,11 @@ struct NAMES DefaultNames = {
          /* Word used for two or more drugs */
          N_("drugs"),
          /* String for displaying the game date or turn number. This is passed
       -   * to the strftime() function, with the exception that %T is used to
       -   * mean the turn number rather than the calendar date. */
       +     to the strftime() function, with the exception that %T is used to
       +     mean the turn number rather than the calendar date. */
          N_("%m-%d-%Y"),
          /* Names of the loan shark, the bank, the gun shop, and the pub,
       -   * respectively */
       +     respectively */
          N_("the Loan Shark"), N_("the Bank"),
          N_("Dan\'s House of Guns"), N_("the pub")
        };
       t@@ -230,8 +230,8 @@ struct LOG Log;
        
        struct GLOBALS Globals[] = {
          /* The following strings are the helptexts for all the options that can
       -   * be set in a dopewars configuration file, or in the server. See
       -   * doc/configfile.html for more detailed explanations. */
       +     be set in a dopewars configuration file, or in the server. See
       +     doc/configfile.html for more detailed explanations. */
          {&Port, NULL, NULL, NULL, NULL, "Port", N_("Network port to connect to"),
           NULL, NULL, 0, "", NULL, NULL, FALSE, 0, 65535},
          {NULL, NULL, NULL, &HiScoreFile, NULL, "HiScoreFile",
       t@@ -640,8 +640,8 @@ const int NUMGLOB = sizeof(Globals) / sizeof(Globals[0]);
        char **Playing = NULL;
        char *DefaultPlaying[] = {
          /* Default list of songs that you can hear playing (N.B. this can be
       -   * overridden in the configuration file with the "Playing" variable) -
       -   * look for "You hear someone playing %s" to see how these are used. */
       +     overridden in the configuration file with the "Playing" variable) -
       +     look for "You hear someone playing %s" to see how these are used. */
          N_("`Are you Experienced` by Jimi Hendrix"),
          N_("`Cheeba Cheeba` by Tone Loc"),
          N_("`Comin` in to Los Angeles` by Arlo Guthrie"),
       t@@ -665,9 +665,9 @@ char *DefaultPlaying[] = {
        char **StoppedTo = NULL;
        char *DefaultStoppedTo[] = {
          /* Default list of things which you can "stop to do" (random events that
       -   * cost you a little money). These can be overridden with the "StoppedTo"
       -   * variable in the configuration file. See the later string "You stopped
       -   * to %s." to see how these strings are used. */
       +     cost you a little money). These can be overridden with the "StoppedTo"
       +     variable in the configuration file. See the later string "You stopped
       +     to %s." to see how these strings are used. */
          N_("have a beer"),
          N_("smoke a joint"),
          N_("smoke a cigar"),
       t@@ -698,7 +698,7 @@ struct GUN DefaultGun[] = {
        
        struct DRUG DefaultDrug[] = {
          /* The names of the default drugs, and the messages displayed when they
       -   * are specially cheap or expensive */
       +     are specially cheap or expensive */
          {N_("Acid"), 1000, 4400, TRUE, FALSE,
           N_("The market is flooded with cheap home-made acid!")},
          {N_("Cocaine"), 15000, 29000, FALSE, TRUE, ""},
       t@@ -743,9 +743,9 @@ struct DRUGS DefaultDrugs = {
        char **SubwaySaying = NULL;
        char *DefaultSubwaySaying[] = {
          /* Default list of things which the "lady on the subway" can tell you
       -   * (N.B. can be overridden with the "SubwaySaying" config. file
       -   * variable). Look for "the lady next to you" to see how these strings
       -   * are used. */
       +     (N.B. can be overridden with the "SubwaySaying" config. file
       +     variable). Look for "the lady next to you" to see how these strings
       +     are used. */
          N_("Wouldn\'t it be funny if everyone suddenly quacked at once?"),
          N_("The Pope was once Jewish, you know"),
          N_("I\'ll bet you have some really interesting dreams"),
       t@@ -2081,24 +2081,24 @@ void PrintConfigValue(int GlobalIndex, int StructIndex,
                    *GetGlobalInt(GlobalIndex, StructIndex));
          } else if (Globals[GlobalIndex].BoolVal) {
            /* Display of a boolean config. file variable - e.g. "DrugValue is
       -     * TRUE" */
       +       TRUE" */
            g_print(_("%s is %s\n"), GlobalName,
                    *GetGlobalBoolean(GlobalIndex, StructIndex) ?
                    "TRUE" : "FALSE");
          } else if (Globals[GlobalIndex].PriceVal) {
            /* Display of a price config. file variable - e.g. "Bitch.MinPrice is
       -     * $200" */
       +       $200" */
            dpg_print(_("%s is %P\n"), GlobalName,
                      *GetGlobalPrice(GlobalIndex, StructIndex));
          } else if (Globals[GlobalIndex].StringVal) {
            /* Display of a string config. file variable - e.g. "LoanSharkName is
       -     * \"the loan shark\"" */
       +       \"the loan shark\"" */
            g_print(_("%s is \"%s\"\n"), GlobalName,
                    *GetGlobalString(GlobalIndex, StructIndex));
          } else if (Globals[GlobalIndex].StringList) {
            if (IndexGiven) {
              /* Display of an indexed string list config. file variable - e.g.
       -       * "StoppedTo[1] is have a beer" */
       +         "StoppedTo[1] is have a beer" */
              g_print(_("%s[%d] is %s\n"), GlobalName, StructIndex,
                      (*(Globals[GlobalIndex].StringList))[StructIndex - 1]);
            } else {
       t@@ -2106,8 +2106,8 @@ void PrintConfigValue(int GlobalIndex, int StructIndex,
        
              text = g_string_new("");
              /* Display of the first part of an entire string list config. file
       -       * variable - e.g. "StoppedTo is { " (followed by "have a beer",
       -       * "smoke a joint" etc.) */
       +         variable - e.g. "StoppedTo is { " (followed by "have a beer",
       +         "smoke a joint" etc.) */
              g_string_printf(text, _("%s is { "), GlobalName);
              if (Globals[GlobalIndex].MaxIndex) {
                for (i = 0; i < *(Globals[GlobalIndex].MaxIndex); i++) {
       t@@ -2176,7 +2176,7 @@ static gboolean SetConfigValue(int GlobalIndex, int StructIndex,
              if (Globals[GlobalIndex].ResizeFunc) {
                (*(Globals[GlobalIndex].ResizeFunc)) (IntVal);
                /* Displayed, for example, when you set NumDrug=10 to allow
       -         * Drug[10].Name etc. to be set */
       +           Drug[10].Name etc. to be set */
                if (ConfigVerbose)
                  g_print(_("Resized structure list to %d elements\n"), IntVal);
                for (list = FirstClient; list; list = g_slist_next(list)) {
       t@@ -2398,7 +2398,7 @@ static void SetupParameters(GSList *extraconfigs, gboolean antique)
          Currency.Symbol = g_strdup(_("$"));
          Currency.Prefix = (strcmp("Currency.Prefix=TRUE",
          /* Translate this to "Currency.Prefix=FALSE" if you want your currency
       -   * symbol to follow all prices. */
       +     symbol to follow all prices. */
                                    _("Currency.Prefix=TRUE")) == 0);
        
          /* Set hard-coded default values */
       t@@ -2547,7 +2547,7 @@ void HandleHelpTexts(gboolean fullhelp)
          g_print(
        #ifdef HAVE_GETOPT_LONG
                   /* Usage information, printed when the user runs "dopewars -h"
       -            * (version with support for GNU long options) */
       +              (version with support for GNU long options) */
                   _("Usage: dopewars [OPTION]...\n\
        Drug dealing game based on \"Drug Wars\" by John E. Dell\n\
          -b, --no-color,         \"black and white\" - i.e. do not use pretty colours\n\
       t@@ -2584,7 +2584,7 @@ dopewars is Copyright (C) Ben Webb 1998-2020, and released under the GNU GPL\n\
        Report bugs to the author at benwebb@users.sf.net\n"));
        #else
                   /* Usage information, printed when the user runs "dopewars -h"
       -            * (short options only version) */
       +              (short options only version) */
                   _("Usage: dopewars [OPTION]...\n\
        Drug dealing game based on \"Drug Wars\" by John E. Dell\n\
          -b       \"black and white\" - i.e. do not use pretty colours\n\
 (DIR) diff --git a/src/error.c b/src/error.c
       t@@ -150,7 +150,7 @@ ErrorType *ET_ERRNO = &ETErrno;
        /* Winsock error handling */
        static ErrTable WSAErrStr[] = {
          /* These are the explanations of the various
       -   * Windows Sockets error codes */
       +     Windows Sockets error codes */
          {WSANOTINITIALISED, N_("WinSock has not been properly initialised")},
          {WSASYSNOTREADY, N_("Network subsystem is not ready")},
          {WSAVERNOTSUPPORTED, N_("WinSock version not supported")},
 (DIR) diff --git a/src/gui_client/gtk_client.c b/src/gui_client/gtk_client.c
       t@@ -463,7 +463,7 @@ void HandleClientMessage(char *pt, Player *Play)
            break;
          case C_PUSH:
            /* The server admin has asked us to leave - so warn the user, and do
       -     * so */
       +       so */
            g_warning(_("You have been pushed from the server.\n"
                        "Switching to single player mode."));
            SwitchToSinglePlayer(Play);
       t@@ -556,7 +556,7 @@ void HandleClientMessage(char *pt, Player *Play)
            g_free(text);
        
            /* Text to update the Errands/Tipoff menu item with the price for a
       -     * tipoff */
       +       tipoff */
            text = dpg_strdup_printf(_("_Tipoff (%P)"), Prices.Tipoff);
            MenuItem = gtk_item_factory_get_widget(ClientData.Menu,
                                                   "<main>/Errands/Tipoff...");
       t@@ -943,14 +943,14 @@ static void CreateFightDialog(void)
          hbbox = my_hbbox_new();
        
          /* Button for closing the "Fight" dialog and going back to dealing drugs
       -   * (%Tde = "Drugs" by default) */
       +     (%Tde = "Drugs" by default) */
          buf = dpg_strdup_printf(_("_Deal %Tde"), Names.Drugs);
          button = AddFightButton(buf, accel_group, GTK_BOX(hbbox), 'D');
          gtk_object_set_data(GTK_OBJECT(dialog), "deal", button);
          g_free(buf);
        
          /* Button for shooting at other players in the "Fight" dialog, or for
       -   * popping up the "Fight" dialog from the main window */
       +     popping up the "Fight" dialog from the main window */
          button = AddFightButton(_("_Fight"), accel_group, GTK_BOX(hbbox), 'F');
          gtk_object_set_data(GTK_OBJECT(dialog), "fight", button);
        
       t@@ -1024,7 +1024,7 @@ static void UpdateCombatant(gchar *DefendName, int DefendBitches,
          }
        
          /* Display of number of bitches or deputies during combat
       -   * (%tde="bitches" or "deputies" (etc.) by default) */
       +     (%tde="bitches" or "deputies" (etc.) by default) */
          BitchText = dpg_strdup_printf(_("%/Combat: Bitches/%d %tde"),
                                        DefendBitches, BitchName);
        
       t@@ -1239,7 +1239,7 @@ void DisplayStats(Player *Play, struct StatusWidgets *Status)
          g_free(prstr);
        
          /* Display of carried guns in GTK+ client status window (%Tde="Guns" by
       -   * default) */
       +     default) */
          dpg_string_printf(text, _("%/GTK Stats: Guns/%Tde"), Names.Guns);
          gtk_label_set_text(GTK_LABEL(Status->GunsName), text->str);
          g_string_printf(text, "%d", TotalGunsCarried(Play));
       t@@ -1247,7 +1247,7 @@ void DisplayStats(Player *Play, struct StatusWidgets *Status)
        
          if (!WantAntique) {
            /* Display of number of bitches in GTK+ client status window
       -     * (%Tde="Bitches" by default) */
       +       (%Tde="Bitches" by default) */
            dpg_string_printf(text, _("%/GTK Stats: Bitches/%Tde"),
                               Names.Bitches);
            gtk_label_set_text(GTK_LABEL(Status->BitchesName), text->str);
       t@@ -1493,7 +1493,7 @@ void Jet(GtkWidget *parent)
              button = gtk_button_new_with_label("");
        
              /* Display of locations in 'Jet' window (%tde="The Bronx" etc. by
       -       * default) */
       +         default) */
              name = dpg_strdup_printf(_("_%c. %tde"), AccelChar, Location[i].Name);
              SetAccelerator(button, name, button, "clicked", accel_group, FALSE);
              /* Add keypad shortcuts as well */
       t@@ -1529,14 +1529,14 @@ static void UpdateDealDialog(void)
          Play = ClientData.Play;
        
          /* Display of the current price of the selected drug in 'Deal Drugs'
       -   * dialog */
       +     dialog */
          dpg_string_printf(text, _("at %P"), Play->Drugs[DrugInd].Price);
          gtk_label_set_text(GTK_LABEL(DealDialog.cost), text->str);
        
          CanDrop = Play->Drugs[DrugInd].Carried;
        
          /* Display of current inventory of the selected drug in 'Deal Drugs'
       -   * dialog (%tde="Opium" etc. by default) */
       +     dialog (%tde="Opium" etc. by default) */
          dpg_string_printf(text, _("You are currently carrying %d %tde"),
                             CanDrop, Drug[DrugInd].Name);
          gtk_label_set_text(GTK_LABEL(DealDialog.carrying), text->str);
       t@@ -1556,7 +1556,7 @@ static void UpdateDealDialog(void)
            }
        
            /* Number of the selected drug that you can afford in 'Deal Drugs'
       -     * dialog */
       +       dialog */
            g_string_printf(text, _("You can afford %d"), CanAfford);
            gtk_label_set_text(GTK_LABEL(DealDialog.afford), text->str);
            MaxDrug = MIN(CanCarry, CanAfford);
       t@@ -1875,7 +1875,7 @@ void QuestionDialog(char *Data, Player *From)
          gchar *Responses, **split, *LabelText, *trword, *underline;
        
          /* Button titles that correspond to the single-keypress options provided
       -   * by the curses client (e.g. _Yes corresponds to 'Y' etc.) */
       +     by the curses client (e.g. _Yes corresponds to 'Y' etc.) */
          gchar *Words[] = { N_("_Yes"), N_("_No"), N_("_Run"),
            N_("_Fight"), N_("_Attack"), N_("_Evade")
          };
       t@@ -2926,7 +2926,7 @@ void ErrandDialog(gint ErrandType)
            gtk_window_set_title(GTK_WINDOW(dialog), _("Spy On Player"));
        
            /* Informative text for "spy on player" dialog. (%tde = "bitch",
       -     * "bitch", "guns", "drugs", respectively, by default) */
       +       "bitch", "guns", "drugs", respectively, by default) */
            text = dpg_strdup_printf(_("Please choose the player to spy on. "
                                       "Your %tde will\nthen offer his "
                                       "services to the player, and if "
       t@@ -2945,7 +2945,7 @@ void ErrandDialog(gint ErrandType)
            gtk_window_set_title(GTK_WINDOW(dialog), _("Tip Off The Cops"));
        
            /* Informative text for "tip off cops" dialog. (%tde = "bitch",
       -     * "bitch", "guns", "drugs", respectively, by default) */
       +       "bitch", "guns", "drugs", respectively, by default) */
            text = dpg_strdup_printf(_("Please choose the player to tip off "
                                       "the cops to. Your %tde will\nhelp "
                                       "the cops to attack that player, "
       t@@ -3001,7 +3001,7 @@ void SackBitch(GtkWidget *widget, gpointer data)
                                    Names.Bitch);
        
          /* Confirmation message for sacking a bitch. (%tde = "guns", "drugs",
       -   * "bitch", respectively, by default) */
       +     "bitch", respectively, by default) */
          text = dpg_strdup_printf(_("Are you sure? (Any %tde or %tde carried\n"
                                     "by this %tde may be lost!)"), Names.Guns,
                                   Names.Drugs, Names.Bitch);
       t@@ -3029,7 +3029,7 @@ void CreateInventory(GtkWidget *hbox, gchar *Objects,
          gpointer button_type[3] = { BT_BUY, BT_SELL, BT_DROP };
        
          /* Column titles for display of drugs/guns carried or available for
       -   * purchase */
       +     purchase */
          titles[0][0] = titles[1][0] = _("Name");
          titles[0][1] = _("Price");
          titles[1][1] = _("Number");
       t@@ -3043,13 +3043,13 @@ void CreateInventory(GtkWidget *hbox, gchar *Objects,
        
          if (CreateHere) {
            /* Title of the display of available drugs/guns (%Tde = "Guns" or
       -     * "Drugs" by default) */
       +       "Drugs" by default) */
            dpg_string_printf(text, _("%Tde here"), Objects);
            widgets->HereFrame = frame[0] = gtk_frame_new(text->str);
          }
        
          /* Title of the display of carried drugs/guns (%Tde = "Guns" or "Drugs"
       -   * by default) */
       +     by default) */
          dpg_string_printf(text, _("%Tde carried"), Objects);
        
          widgets->CarriedFrame = frame[1] = gtk_frame_new(text->str);
       t@@ -3207,7 +3207,7 @@ void GunShopDialog(void)
          gtk_window_add_accel_group(GTK_WINDOW(window), accel_group);
        
          /* Title of 'gun shop' dialog in GTK+ client (%Tde="Dan's House of Guns"
       -   * by default) */
       +     by default) */
          text = dpg_strdup_printf(_("%/GTK GunShop window title/%Tde"),
                                   Names.GunShopName);
          gtk_window_set_title(GTK_WINDOW(window), text);
 (DIR) diff --git a/src/gui_client/newgamedia.c b/src/gui_client/newgamedia.c
       t@@ -262,11 +262,11 @@ static void FillMetaServerList(gboolean UseNewList)
            titles[2] = ThisServer->Version;
            if (ThisServer->CurPlayers == -1) {
              /* Displayed if we don't know how many players are logged on to a
       -       * server */
       +         server */
              titles[3] = _("Unknown");
            } else {
              /* e.g. "5 of 20" means 5 players are logged on to a server, out of
       -       * a maximum of 20 */
       +         a maximum of 20 */
              titles[3] = g_strdup_printf(_("%d of %d"), ThisServer->CurPlayers,
                                          ThisServer->MaxPlayers);
            }
       t@@ -306,7 +306,7 @@ void DisplayConnectStatus(NBStatus oldstatus, NBSocksStatus oldsocks)
            switch (sockstat) {
            case NBSS_METHODS:
              /* Tell the user that we've successfully connected to a SOCKS server,
       -       * and are now ready to tell it to initiate the "real" connection */
       +         and are now ready to tell it to initiate the "real" connection */
              text = g_strdup_printf(_("Status: Connected to SOCKS server %s..."),
                                     Socks.name);
              SetStartGameStatus(text);
       t@@ -314,14 +314,14 @@ void DisplayConnectStatus(NBStatus oldstatus, NBSocksStatus oldsocks)
              break;
            case NBSS_USERPASSWD:
              /* Tell the user that the SOCKS server is asking us for a username
       -       * and password */
       +         and password */
              SetStartGameStatus(_("Status: Authenticating with SOCKS server"));
              break;
            case NBSS_CONNECT:
              text =
              /* Tell the user that all necessary SOCKS authentication has been
       -       * completed, and now we're going to try to have it connect to
       -       * the final destination */
       +         completed, and now we're going to try to have it connect to
       +         the final destination */
                  g_strdup_printf(_("Status: Asking SOCKS for connect to %s..."),
                                  ServerName);
              SetStartGameStatus(text);
       t@@ -478,7 +478,7 @@ void NewGameDialog(Player *play)
        
          AccelKey = gtk_label_parse_uline(GTK_LABEL(label),
                                           /* Prompt for player's name in 'New
       -                                    * Game' dialog */
       +                                      Game' dialog */
                                           _("Hey dude, what's your _name?"));
          gtk_box_pack_start(GTK_BOX(hbox), label, FALSE, FALSE, 0);
        
 (DIR) diff --git a/src/serverside.c b/src/serverside.c
       t@@ -69,13 +69,13 @@ static const price_t MINTRENCHPRICE = 200, MAXTRENCHPRICE = 300;
        #define NUMDISCOVER 3
        char *Discover[NUMDISCOVER] = {
          /* Things that can "happen" to your spies - look for strings containing
       -   * "The spy %s!" to see how these strings are used. */
       +     "The spy %s!" to see how these strings are used. */
          N_("escaped"), N_("defected"), N_("was shot")
        };
        
        /* The two keys that are valid answers to the Attack/Evade question. If
       - * you wish to translate them, do so in the same order as they given here.
       - * You will also need to translate the answers given by the clients. */
       +   you wish to translate them, do so in the same order as they given here.
       +   You will also need to translate the answers given by the clients. */
        static char *attackquestiontr = N_("AE");
        
        /* If we haven't talked to the metaserver for 3 hours, then remind it that
       t@@ -395,14 +395,14 @@ void HandleServerMessage(gchar *buf, Player *Play)
                if (MaxClients == 1) {
                  text = g_strdup_printf(
                                          /* Message sent to a player if the
       -                                   * server is full */
       +                                     server is full */
                                          _("Sorry, but this server has a limit of "
                                           "1 player, which has been reached.^"
                                           "Please try connecting again later."));
                } else {
                  text = g_strdup_printf(
                                          /* Message sent to a player if the
       -                                   * server is full */
       +                                     server is full */
                                          _("Sorry, but this server has a limit of "
                                           "%d players, which has been reached.^"
                                           "Please try connecting again later."),
       t@@ -417,8 +417,8 @@ void HandleServerMessage(gchar *buf, Player *Play)
              }
            } else {
              /* A player changed their name during the game (unusual, and not
       -       * really properly supported anyway) - notify all players of the
       -       * change */
       +         really properly supported anyway) - notify all players of the
       +         change */
              dopelog(2, LF_SERVER, _("%s will now be known as %s"),
                      GetPlayerName(Play), Data);
              BroadcastToClients(C_NONE, C_RENAME, Data, Play, Play);
       t@@ -452,7 +452,7 @@ void HandleServerMessage(gchar *buf, Player *Play)
            if (NumTurns > 0 && Play->Turn >= NumTurns
                && Play->EventNum != E_FINISH) {
              /* Message displayed when a player reaches their maximum number of
       -       * turns */
       +         turns */
              FinishGame(Play, _("Your dealing time is up..."));
            } else if (i != Play->IsAt && (NumTurns == 0 || Play->Turn < NumTurns)
                       && Play->EventNum == E_NONE && Play->Health > 0) {
       t@@ -470,8 +470,8 @@ void HandleServerMessage(gchar *buf, Player *Play)
              SendEvent(Play);
            } else {
              /* A player has tried to jet to a new location, but we don't allow
       -       * them to. (e.g. they're still fighting someone, or they're
       -       * supposed to be dead) */
       +         them to. (e.g. they're still fighting someone, or they're
       +         supposed to be dead) */
              dopelog(3, LF_SERVER, _("%s: DENIED jet to %s"),
                      GetPlayerName(Play), Location[i].Name);
            }
       t@@ -966,7 +966,7 @@ static void HandleServerCommand(char *string, NetworkBuffer *netbuf,
              tmp = GetPlayerByName(string + 5, FirstServer);
              if (tmp) {
                /* The named user has been removed from the server following
       -         * a "kill" command */
       +           a "kill" command */
                g_print(_("%s killed\n"), GetPlayerName(tmp));
                BroadcastToClients(C_NONE, C_KILL, GetPlayerName(tmp), tmp,
                                   (Player *)FirstServer->data);
       t@@ -3061,7 +3061,7 @@ int RandomOffer(Player *To)
            SendPrintMessage(NULL, C_NONE, To, text->str);
          } else if (Sanitized) {
            /* Debugging message: we would normally have a random drug-related
       -     * event here, but "Sanitized" mode is turned on */
       +       event here, but "Sanitized" mode is turned on */
            dopelog(3, LF_SERVER, _("Sanitized away a RandomOffer"));
          } else if (r < 50) {
            amount = brandom(3, 7);
 (DIR) diff --git a/src/winmain.c b/src/winmain.c
       t@@ -285,8 +285,8 @@ int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
        #endif
        
          /* Informational comment placed at the start of the Windows log file
       -   * (this is used for messages printed during processing of the config
       -   * files - under Unix these are just printed to stdout) */
       +     (this is used for messages printed during processing of the config
       +     files - under Unix these are just printed to stdout) */
          g_print(_("# This is the dopewars startup log, containing any\n"
                    "# informative messages resulting from configuration\n"
                    "# file processing and the like.\n\n"));