xfs
[Top] [All Lists]

[PATCH] Apply gettext translation to more strings.

To: xfs@xxxxxxxxxxx
Subject: [PATCH] Apply gettext translation to more strings.
From: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Date: Sat, 31 Jan 2009 22:34:42 +0100
Cc: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
Signed-off-by: Arkadiusz Miśkiewicz <arekm@xxxxxxxx>
---
 db/addr.c                  |   18 +-
 db/agf.c                   |   10 +-
 db/agfl.c                  |   10 +-
 db/agi.c                   |   10 +-
 db/attrset.c               |   32 ++--
 db/block.c                 |   54 ++--
 db/bmap.c                  |   18 +-
 db/check.c                 |  644 ++++++++++++++++++++++----------------------
 db/command.c               |   10 +-
 db/convert.c               |   14 +-
 db/debug.c                 |    6 +-
 db/dquot.c                 |   16 +-
 db/echo.c                  |    4 +-
 db/faddr.c                 |   46 ++--
 db/flist.c                 |   36 ++--
 db/fprint.c                |    2 +-
 db/frag.c                  |   16 +-
 db/freesp.c                |   14 +-
 db/hash.c                  |    8 +-
 db/help.c                  |   10 +-
 db/init.c                  |    6 +-
 db/inode.c                 |    8 +-
 db/input.c                 |    6 +-
 db/io.c                    |   88 +++---
 db/malloc.c                |    2 +-
 db/metadump.c              |    8 +-
 db/output.c                |   16 +-
 db/print.c                 |   14 +-
 db/quit.c                  |    2 +-
 db/sb.c                    |  130 +++++-----
 db/type.c                  |   14 +-
 db/write.c                 |   44 ++--
 logprint/log_copy.c        |   10 +-
 logprint/log_dump.c        |   12 +-
 logprint/log_misc.c        |  222 ++++++++--------
 logprint/log_print_all.c   |  104 ++++----
 logprint/log_print_trans.c |   10 +-
 logprint/logprint.c        |   28 ++-
 repair/avl.c               |   14 +-
 repair/avl64.c             |   14 +-
 repair/dinode.c            |    2 +-
 repair/init.c              |    4 +-
 42 files changed, 872 insertions(+), 864 deletions(-)

diff --git a/db/addr.c b/db/addr.c
index 35b066c..f74dd62 100644
--- a/db/addr.c
+++ b/db/addr.c
@@ -32,13 +32,13 @@ static int addr_f(int argc, char **argv);
 static void addr_help(void);
 
 static const cmdinfo_t addr_cmd =
-       { "addr", "a", addr_f, 0, 1, 1, "[field-expression]",
-         "set current address", addr_help };
+       { "addr", "a", addr_f, 0, 1, 1, N_("[field-expression]"),
+         N_("set current address"), addr_help };
 
 static void
 addr_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " 'addr' uses the given field to set the filesystem address and type\n"
 "\n"
@@ -48,7 +48,7 @@ addr_help(void)
 " a rootino - set the type to inode and set position to the root inode\n"
 " a u.bmx[0].startblock (for inode with blockmap)\n"
 "\n"
-);
+));
 
 }
 
@@ -69,7 +69,7 @@ addr_f(
                return 0;
        }
        if (cur_typ == NULL) {
-               dbprintf("no current type\n");
+               dbprintf(_("no current type\n"));
                return 0;
        }
        fld = cur_typ->fields;
@@ -79,7 +79,7 @@ addr_f(
                fld = fa->subfld;
        }
        if (fld == NULL) {
-               dbprintf("no fields for type %s\n", cur_typ->name);
+               dbprintf(_("no fields for type %s\n"), cur_typ->name);
                return 0;
        }
        fl = flist_scan(argv[1]);
@@ -92,7 +92,7 @@ addr_f(
        flist_print(fl);
        for (tfl = fl; tfl->child != NULL; tfl = tfl->child) {
                if ((tfl->flags & FL_OKLOW) && tfl->low < tfl->high) {
-                       dbprintf("array not allowed for addr command\n");
+                       dbprintf(_("array not allowed for addr command\n"));
                        flist_free(fl);
                        return 0;
                }
@@ -102,14 +102,14 @@ addr_f(
        if (next == TYP_INODATA)
                next = inode_next_type();
        if (next == TYP_NONE) {
-               dbprintf("no next type for field %s\n", fld->name);
+               dbprintf(_("no next type for field %s\n"), fld->name);
                return 0;
        }
        fa = &ftattrtab[fld->ftyp];
        ASSERT(fa->ftyp == fld->ftyp);
        adf = fa->adfunc;
        if (adf == NULL) {
-               dbprintf("no addr function for field %s (type %s)\n",
+               dbprintf(_("no addr function for field %s (type %s)\n"),
                        fld->name, fa->name);
                return 0;
        }
diff --git a/db/agf.c b/db/agf.c
index 3e4989d..668637a 100644
--- a/db/agf.c
+++ b/db/agf.c
@@ -32,8 +32,8 @@ static int agf_f(int argc, char **argv);
 static void agf_help(void);
 
 static const cmdinfo_t agf_cmd =
-       { "agf", NULL, agf_f, 0, 1, 1, "[agno]",
-         "set address to agf header", agf_help };
+       { "agf", NULL, agf_f, 0, 1, 1, N_("[agno]"),
+         N_("set address to agf header"), agf_help };
 
 const field_t  agf_hfld[] = {
        { "", FLDT_AGF, OI(0), C1, 0, TYP_NONE },
@@ -75,7 +75,7 @@ const field_t agf_flds[] = {
 static void
 agf_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " set allocation group free block list\n"
 "\n"
@@ -87,7 +87,7 @@ agf_help(void)
 " contains the root of two different freespace btrees:\n"
 " The 'cnt' btree keeps track freespace indexed on section size.\n"
 " The 'bno' btree tracks sections of freespace indexed on block number.\n"
-);
+));
 }
 
 static int
@@ -101,7 +101,7 @@ agf_f(
        if (argc > 1) {
                agno = (xfs_agnumber_t)strtoul(argv[1], &p, 0);
                if (*p != '\0' || agno >= mp->m_sb.sb_agcount) {
-                       dbprintf("bad allocation group number %s\n", argv[1]);
+                       dbprintf(_("bad allocation group number %s\n"), 
argv[1]);
                        return 0;
                }
                cur_agno = agno;
diff --git a/db/agfl.c b/db/agfl.c
index 1e793be..72dca23 100644
--- a/db/agfl.c
+++ b/db/agfl.c
@@ -33,8 +33,8 @@ static int agfl_f(int argc, char **argv);
 static void agfl_help(void);
 
 static const cmdinfo_t agfl_cmd =
-       { "agfl", NULL, agfl_f, 0, 1, 1, "[agno]",
-         "set address to agfl block", agfl_help };
+       { "agfl", NULL, agfl_f, 0, 1, 1, N_("[agno]"),
+         N_("set address to agfl block"), agfl_help };
 
 const field_t  agfl_hfld[] = { {
        "", FLDT_AGFL, OI(0), C1, 0, TYP_NONE, },
@@ -59,7 +59,7 @@ agfl_bno_size(
 static void
 agfl_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " set allocation group freelist\n"
 "\n"
@@ -72,7 +72,7 @@ agfl_help(void)
 " for each allocation group.  This acts as a reserved pool of space\n"
 " separate from the general filesystem freespace (not used for user data).\n"
 "\n"
-);
+));
 
 }
 
@@ -87,7 +87,7 @@ agfl_f(
        if (argc > 1) {
                agno = (xfs_agnumber_t)strtoul(argv[1], &p, 0);
                if (*p != '\0' || agno >= mp->m_sb.sb_agcount) {
-                       dbprintf("bad allocation group number %s\n", argv[1]);
+                       dbprintf(_("bad allocation group number %s\n"), 
argv[1]);
                        return 0;
                }
                cur_agno = agno;
diff --git a/db/agi.c b/db/agi.c
index 5486ffa..02d5d30 100644
--- a/db/agi.c
+++ b/db/agi.c
@@ -32,8 +32,8 @@ static int agi_f(int argc, char **argv);
 static void agi_help(void);
 
 static const cmdinfo_t agi_cmd =
-       { "agi", NULL, agi_f, 0, 1, 1, "[agno]",
-         "set address to agi header", agi_help };
+       { "agi", NULL, agi_f, 0, 1, 1, N_("[agno]"),
+         N_("set address to agi header"), agi_help };
 
 const field_t  agi_hfld[] = {
        { "", FLDT_AGI, OI(0), C1, 0, TYP_NONE },
@@ -60,7 +60,7 @@ const field_t agi_flds[] = {
 static void
 agi_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " set allocation group inode btree\n"
 "\n"
@@ -72,7 +72,7 @@ agi_help(void)
 " the agi inode btree tracks all used/free inodes in the allocation group.\n"
 " Inodes are allocated in 16k 'chunks', each btree entry tracks a 'chunk'.\n"
 "\n"
-);
+));
 }
 
 static int
@@ -86,7 +86,7 @@ agi_f(
        if (argc > 1) {
                agno = (xfs_agnumber_t)strtoul(argv[1], &p, 0);
                if (*p != '\0' || agno >= mp->m_sb.sb_agcount) {
-                       dbprintf("bad allocation group number %s\n", argv[1]);
+                       dbprintf(_("bad allocation group number %s\n"), 
argv[1]);
                        return 0;
                }
                cur_agno = agno;
diff --git a/db/attrset.c b/db/attrset.c
index 1936a5c..35fea11 100644
--- a/db/attrset.c
+++ b/db/attrset.c
@@ -35,17 +35,17 @@ static void         attrset_help(void);
 
 static const cmdinfo_t attr_set_cmd =
        { "attr_set", "aset", attr_set_f, 1, -1, 0,
-         "[-r|-s|-p|-u] [-n] [-R|-C] [-v n] name",
-         "set the named attribute on the current inode", attrset_help };
+         N_("[-r|-s|-p|-u] [-n] [-R|-C] [-v n] name"),
+         N_("set the named attribute on the current inode"), attrset_help };
 static const cmdinfo_t attr_remove_cmd =
        { "attr_remove", "aremove", attr_remove_f, 1, -1, 0,
-         "[-r|-s|-p|-u] [-n] name",
-         "remove the named attribute from the current inode", attrset_help };
+         N_("[-r|-s|-p|-u] [-n] name"),
+         N_("remove the named attribute from the current inode"), attrset_help 
};
 
 static void
 attrset_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'attr_set' and 'attr_remove' commands provide interfaces for debugging\n"
 " the extended attribute allocation and removal code.\n"
@@ -60,7 +60,7 @@ attrset_help(void)
 "  -C -- 'create'    - create attribute, fail if it already exists\n"
 "  -R -- 'replace'   - replace attribute, fail if it does not exist\n"
 " The backward compatibility mode 'noattr2' can be emulated (-n) also.\n"
-"\n");
+"\n"));
 }
 
 void
@@ -83,11 +83,11 @@ attr_set_f(
        int             c, namelen, valuelen = 0, flags = 0;
 
        if (cur_typ == NULL) {
-               dbprintf("no current type\n");
+               dbprintf(_("no current type\n"));
                return 0;
        }
        if (cur_typ->typnm != TYP_INODE) {
-               dbprintf("current type is not inode\n");
+               dbprintf(_("current type is not inode\n"));
                return 0;
        }
 
@@ -122,19 +122,19 @@ attr_set_f(
                case 'v':
                        valuelen = (int)strtol(optarg, &sp, 0);
                        if (*sp != '\0' || valuelen < 0 || valuelen > 64*1024) {
-                               dbprintf("bad attr_set valuelen %s\n", optarg);
+                               dbprintf(_("bad attr_set valuelen %s\n"), 
optarg);
                                return 0;
                        }
                        break;
 
                default:
-                       dbprintf("bad option for attr_set command\n");
+                       dbprintf(_("bad option for attr_set command\n"));
                        return 0;
                }
        }
 
        if (optind != argc - 1) {
-               dbprintf("too few options for attr_set (no name given)\n");
+               dbprintf(_("too few options for attr_set (no name given)\n"));
                return 0;
        }
 
@@ -144,7 +144,7 @@ attr_set_f(
        if (valuelen) {
                value = (char *)memalign(getpagesize(), valuelen);
                if (!value) {
-                       dbprintf("cannot allocate buffer (%d)\n", valuelen);
+                       dbprintf(_("cannot allocate buffer (%d)\n"), valuelen);
                        goto out;
                }
                memset(value, 0xfeedface, valuelen);
@@ -186,11 +186,11 @@ attr_remove_f(
        int             c, namelen, flags = 0;
 
        if (cur_typ == NULL) {
-               dbprintf("no current type\n");
+               dbprintf(_("no current type\n"));
                return 0;
        }
        if (cur_typ->typnm != TYP_INODE) {
-               dbprintf("current type is not inode\n");
+               dbprintf(_("current type is not inode\n"));
                return 0;
        }
 
@@ -214,13 +214,13 @@ attr_remove_f(
                        break;
 
                default:
-                       dbprintf("bad option for attr_remove command\n");
+                       dbprintf(_("bad option for attr_remove command\n"));
                        return 0;
                }
        }
 
        if (optind != argc - 1) {
-               dbprintf("too few options for attr_remove (no name given)\n");
+               dbprintf(_("too few options for attr_remove (no name 
given)\n"));
                return 0;
        }
 
diff --git a/db/block.c b/db/block.c
index 6681111..b279aac 100644
--- a/db/block.c
+++ b/db/block.c
@@ -40,28 +40,28 @@ static void     fsblock_help(void);
 static void    print_rawdata(void *data, int len);
 
 static const cmdinfo_t ablock_cmd =
-       { "ablock", NULL, ablock_f, 1, 1, 1, "filoff",
-         "set address to file offset (attr fork)", ablock_help };
+       { "ablock", NULL, ablock_f, 1, 1, 1, N_("filoff"),
+         N_("set address to file offset (attr fork)"), ablock_help };
 static const cmdinfo_t daddr_cmd =
-       { "daddr", NULL, daddr_f, 0, 1, 1, "[d]",
-         "set address to daddr value", daddr_help };
+       { "daddr", NULL, daddr_f, 0, 1, 1, N_("[d]"),
+         N_("set address to daddr value"), daddr_help };
 static const cmdinfo_t dblock_cmd =
-       { "dblock", NULL, dblock_f, 1, 1, 1, "filoff",
-         "set address to file offset (data fork)", dblock_help };
+       { "dblock", NULL, dblock_f, 1, 1, 1, N_("filoff"),
+         N_("set address to file offset (data fork)"), dblock_help };
 static const cmdinfo_t fsblock_cmd =
-       { "fsblock", "fsb", fsblock_f, 0, 1, 1, "[fsb]",
-         "set address to fsblock value", fsblock_help };
+       { "fsblock", "fsb", fsblock_f, 0, 1, 1, N_("[fsb]"),
+         N_("set address to fsblock value"), fsblock_help };
 
 static void
 ablock_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n Example:\n"
 "\n"
 " 'ablock 23' - sets the file position to the 23rd filesystem block in\n"
 " the inode's attribute fork.  The filesystem block size is specified in\n"
 " the superblock.\n\n"
-);
+));
 }
 
 /*ARGSUSED*/
@@ -79,7 +79,7 @@ ablock_f(
 
        bno = (xfs_dfiloff_t)strtoull(argv[1], &p, 0);
        if (*p != '\0') {
-               dbprintf("bad block number %s\n", argv[1]);
+               dbprintf(_("bad block number %s\n"), argv[1]);
                return 0;
        }
        push_cur();
@@ -87,13 +87,13 @@ ablock_f(
        haveattr = XFS_DFORK_Q((xfs_dinode_t *)iocur_top->data);
        pop_cur();
        if (!haveattr) {
-               dbprintf("no attribute data for file\n");
+               dbprintf(_("no attribute data for file\n"));
                return 0;
        }
        nex = 1;
        bmap(bno, 1, XFS_ATTR_FORK, &nex, &bm);
        if (nex == 0) {
-               dbprintf("file attr block is unmapped\n");
+               dbprintf(_("file attr block is unmapped\n"));
                return 0;
        }
        dfsbno = bm.startblock + (bno - bm.startoff);
@@ -115,12 +115,12 @@ block_init(void)
 static void
 daddr_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n Example:\n"
 "\n"
 " 'daddr 102' - sets position to the 102nd absolute disk block\n"
 " (512 byte block).\n"
-);
+));
 }
 
 static int
@@ -132,13 +132,13 @@ daddr_f(
        char            *p;
 
        if (argc == 1) {
-               dbprintf("current daddr is %lld\n", iocur_top->off >> BBSHIFT);
+               dbprintf(_("current daddr is %lld\n"), iocur_top->off >> 
BBSHIFT);
                return 0;
        }
        d = (__int64_t)strtoull(argv[1], &p, 0);
        if (*p != '\0' ||
            d >= mp->m_sb.sb_dblocks << (mp->m_sb.sb_blocklog - BBSHIFT)) {
-               dbprintf("bad daddr %s\n", argv[1]);
+               dbprintf(_("bad daddr %s\n"), argv[1]);
                return 0;
        }
        ASSERT(typtab[TYP_DATA].typnm == TYP_DATA);
@@ -149,13 +149,13 @@ daddr_f(
 static void
 dblock_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n Example:\n"
 "\n"
 " 'dblock 23' - sets the file position to the 23rd filesystem block in\n"
 " the inode's data fork.  The filesystem block size is specified in the\n"
 " superblock.\n\n"
-);
+));
 }
 
 static int
@@ -174,7 +174,7 @@ dblock_f(
 
        bno = (xfs_dfiloff_t)strtoull(argv[1], &p, 0);
        if (*p != '\0') {
-               dbprintf("bad block number %s\n", argv[1]);
+               dbprintf(_("bad block number %s\n"), argv[1]);
                return 0;
        }
        push_cur();
@@ -182,14 +182,14 @@ dblock_f(
        type = inode_next_type();
        pop_cur();
        if (type == TYP_NONE) {
-               dbprintf("no type for file data\n");
+               dbprintf(_("no type for file data\n"));
                return 0;
        }
        nex = nb = type == TYP_DIR2 ? mp->m_dirblkfsbs : 1;
        bmp = malloc(nb * sizeof(*bmp));
        bmap(bno, nb, XFS_DATA_FORK, &nex, bmp);
        if (nex == 0) {
-               dbprintf("file data block is unmapped\n");
+               dbprintf(_("file data block is unmapped\n"));
                free(bmp);
                return 0;
        }
@@ -206,13 +206,13 @@ dblock_f(
 static void
 fsblock_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n Example:\n"
 "\n"
 " 'fsblock 1023' - sets the file position to the 1023rd filesystem block.\n"
 " The filesystem block size is specified in the superblock and set during\n"
 " mkfs time.  Offset is absolute (not AG relative).\n\n"
-);
+));
 }
 
 static int
@@ -226,19 +226,19 @@ fsblock_f(
        char            *p;
 
        if (argc == 1) {
-               dbprintf("current fsblock is %lld\n",
+               dbprintf(_("current fsblock is %lld\n"),
                        XFS_DADDR_TO_FSB(mp, iocur_top->off >> BBSHIFT));
                return 0;
        }
        d = strtoull(argv[1], &p, 0);
        if (*p != '\0') {
-               dbprintf("bad fsblock %s\n", argv[1]);
+               dbprintf(_("bad fsblock %s\n"), argv[1]);
                return 0;
        }
        agno = XFS_FSB_TO_AGNO(mp, d);
        agbno = XFS_FSB_TO_AGBNO(mp, d);
        if (agno >= mp->m_sb.sb_agcount || agbno >= mp->m_sb.sb_agblocks) {
-               dbprintf("bad fsblock %s\n", argv[1]);
+               dbprintf(_("bad fsblock %s\n"), argv[1]);
                return 0;
        }
        ASSERT(typtab[TYP_DATA].typnm == TYP_DATA);
diff --git a/db/bmap.c b/db/bmap.c
index ef06b30..5abad68 100644
--- a/db/bmap.c
+++ b/db/bmap.c
@@ -36,8 +36,8 @@ static xfs_fsblock_t  select_child(xfs_dfiloff_t off, 
xfs_bmbt_key_t *kp,
                                     xfs_bmbt_ptr_t *pp, int nrecs);
 
 static const cmdinfo_t bmap_cmd =
-       { "bmap", NULL, bmap_f, 0, 3, 0, "[-ad] [block [len]]",
-         "show block map for current file", NULL };
+       { "bmap", NULL, bmap_f, 0, 3, 0, N_("[-ad] [block [len]]"),
+         N_("show block map for current file"), NULL };
 
 void
 bmap(
@@ -150,7 +150,7 @@ bmap_f(
        int             whichfork;
 
        if (iocur_top->ino == NULLFSINO) {
-               dbprintf("no current inode\n");
+               dbprintf(_("no current inode\n"));
                return 0;
        }
        optind = 0;
@@ -163,7 +163,7 @@ bmap_f(
                        dfork = 1;
                        break;
                default:
-                       dbprintf("bad option for bmap command\n");
+                       dbprintf(_("bad option for bmap command\n"));
                        return 0;
                }
        }
@@ -180,7 +180,7 @@ bmap_f(
        if (optind < argc) {
                co = (xfs_dfiloff_t)strtoull(argv[optind], &p, 0);
                if (*p != '\0') {
-                       dbprintf("bad block number for bmap %s\n",
+                       dbprintf(_("bad block number for bmap %s\n"),
                                argv[optind]);
                        return 0;
                }
@@ -188,7 +188,7 @@ bmap_f(
                if (optind < argc) {
                        len = (xfs_dfilblks_t)strtoull(argv[optind], &p, 0);
                        if (*p != '\0') {
-                               dbprintf("bad len for bmap %s\n", argv[optind]);
+                               dbprintf(_("bad len for bmap %s\n"), 
argv[optind]);
                                return 0;
                        }
                        eo = co + len - 1;
@@ -211,9 +211,9 @@ bmap_f(
                        bmap(co, eo - co + 1, whichfork, &nex, &be);
                        if (nex == 0)
                                break;
-                       dbprintf("%s offset %lld startblock %llu (%u/%u) count "
-                                "%llu flag %u\n",
-                               whichfork == XFS_DATA_FORK ? "data" : "attr",
+                       dbprintf(_("%s offset %lld startblock %llu (%u/%u) 
count "
+                                "%llu flag %u\n"),
+                               whichfork == XFS_DATA_FORK ? _("data") : 
_("attr"),
                                be.startoff, be.startblock,
                                XFS_FSB_TO_AGNO(mp, be.startblock),
                                XFS_FSB_TO_AGBNO(mp, be.startblock),
diff --git a/db/check.c b/db/check.c
index 10e39b1..3e4d022 100644
--- a/db/check.c
+++ b/db/check.c
@@ -369,23 +369,23 @@ static void               setlink_inode(inodata_t *id, 
nlink_t nlink, int isdir,
 
 static const cmdinfo_t blockfree_cmd =
        { "blockfree", NULL, blockfree_f, 0, 0, 0,
-         NULL, "free block usage information", NULL };
+         NULL, N_("free block usage information"), NULL };
 static const cmdinfo_t blockget_cmd =
        { "blockget", "check", blockget_f, 0, -1, 0,
-         "[-s|-v] [-n] [-t] [-b bno]... [-i ino] ...",
-         "get block usage and check consistency", NULL };
+         N_("[-s|-v] [-n] [-t] [-b bno]... [-i ino] ..."),
+         N_("get block usage and check consistency"), NULL };
 static const cmdinfo_t blocktrash_cmd =
        { "blocktrash", NULL, blocktrash_f, 0, -1, 0,
-         "[-n count] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t type] ...",
-         "trash randomly selected block(s)", NULL };
+         N_("[-n count] [-x minlen] [-y maxlen] [-s seed] [-0123] [-t type] 
..."),
+         N_("trash randomly selected block(s)"), NULL };
 static const cmdinfo_t blockuse_cmd =
        { "blockuse", NULL, blockuse_f, 0, 3, 0,
-         "[-n] [-c blockcount]",
-         "print usage for current block(s)", NULL };
+         N_("[-n] [-c blockcount]"),
+         N_("print usage for current block(s)"), NULL };
 static const cmdinfo_t ncheck_cmd =
        { "ncheck", NULL, ncheck_f, 0, -1, 0,
-         "[-s] [-i ino] ...",
-         "print inode-name pairs", NULL };
+         N_("[-s] [-i ino] ..."),
+         N_("print inode-name pairs"), NULL };
 
 
 static void
@@ -405,7 +405,7 @@ add_ilist(
 
        id = find_inode(ino, 1);
        if (id == NULL) {
-               dbprintf("-i %lld bad inode number\n", ino);
+               dbprintf(_("-i %lld bad inode number\n"), ino);
                return;
        }
        id->ilist = 1;
@@ -417,7 +417,7 @@ addlink_inode(
 {
        id->link_add++;
        if (verbose || id->ilist)
-               dbprintf("inode %lld add link, now %u\n", id->ino,
+               dbprintf(_("inode %lld add link, now %u\n"), id->ino,
                        id->link_add);
 }
 
@@ -444,7 +444,7 @@ addparent_inode(
        pid = find_inode(parent, 1);
        id->parent = pid;
        if (verbose || id->ilist || (pid && pid->ilist))
-               dbprintf("inode %lld parent %lld\n", id->ino, parent);
+               dbprintf(_("inode %lld parent %lld\n"), id->ino, parent);
 }
 
 static void
@@ -757,7 +757,7 @@ blockfree_f(
        int             rt;
 
        if (!dbmap) {
-               dbprintf("block usage information not allocated\n");
+               dbprintf(_("block usage information not allocated\n"));
                return 0;
        }
        rt = mp->m_sb.sb_rextents != 0;
@@ -795,7 +795,7 @@ blockget_f(
        int             sbyell;
 
        if (dbmap) {
-               dbprintf("already have block usage information\n");
+               dbprintf(_("already have block usage information\n"));
                return 0;
        }
        if (!init(argc, argv)) {
@@ -811,8 +811,8 @@ blockget_f(
                scan_ag(agno);
                if (sbver_err > 4 && !sbyell && sbver_err >= agno) {
                        sbyell = 1;
-                       dbprintf("WARNING: this may be a newer XFS "
-                                "filesystem.\n");
+                       dbprintf(_("WARNING: this may be a newer XFS "
+                                "filesystem.\n"));
                }
        }
        if (blist_size) {
@@ -847,39 +847,39 @@ blockget_f(
        }
        if (mp->m_sb.sb_icount != icount) {
                if (!sflag)
-                       dbprintf("sb_icount %lld, counted %lld\n",
+                       dbprintf(_("sb_icount %lld, counted %lld\n"),
                                mp->m_sb.sb_icount, icount);
                error++;
        }
        if (mp->m_sb.sb_ifree != ifree) {
                if (!sflag)
-                       dbprintf("sb_ifree %lld, counted %lld\n",
+                       dbprintf(_("sb_ifree %lld, counted %lld\n"),
                                mp->m_sb.sb_ifree, ifree);
                error++;
        }
        if (mp->m_sb.sb_fdblocks != fdblocks) {
                if (!sflag)
-                       dbprintf("sb_fdblocks %lld, counted %lld\n",
+                       dbprintf(_("sb_fdblocks %lld, counted %lld\n"),
                                mp->m_sb.sb_fdblocks, fdblocks);
                error++;
        }
        if (lazycount && mp->m_sb.sb_fdblocks != agf_aggr_freeblks) {
                if (!sflag)
-                       dbprintf("sb_fdblocks %lld, aggregate AGF count %lld\n",
+                       dbprintf(_("sb_fdblocks %lld, aggregate AGF count 
%lld\n"),
                                mp->m_sb.sb_fdblocks, agf_aggr_freeblks);
                error++;
        }
        if (mp->m_sb.sb_frextents != frextents) {
                if (!sflag)
-                       dbprintf("sb_frextents %lld, counted %lld\n",
+                       dbprintf(_("sb_frextents %lld, counted %lld\n"),
                                mp->m_sb.sb_frextents, frextents);
                error++;
        }
        if (mp->m_sb.sb_bad_features2 != 0 &&
                        mp->m_sb.sb_bad_features2 != mp->m_sb.sb_features2) {
                if (!sflag)
-                       dbprintf("sb_features2 (0x%x) not same as "
-                               "sb_bad_features2 (0x%x)\n",
+                       dbprintf(_("sb_features2 (0x%x) not same as "
+                               "sb_bad_features2 (0x%x)\n"),
                                mp->m_sb.sb_features2,
                                mp->m_sb.sb_bad_features2);
                error++;
@@ -887,28 +887,28 @@ blockget_f(
        if ((sbversion & XFS_SB_VERSION_ATTRBIT) &&
                                        !xfs_sb_version_hasattr(&mp->m_sb)) {
                if (!sflag)
-                       dbprintf("sb versionnum missing attr bit %x\n",
+                       dbprintf(_("sb versionnum missing attr bit %x\n"),
                                XFS_SB_VERSION_ATTRBIT);
                error++;
        }
        if ((sbversion & XFS_SB_VERSION_NLINKBIT) &&
                                        !xfs_sb_version_hasnlink(&mp->m_sb)) {
                if (!sflag)
-                       dbprintf("sb versionnum missing nlink bit %x\n",
+                       dbprintf(_("sb versionnum missing nlink bit %x\n"),
                                XFS_SB_VERSION_NLINKBIT);
                error++;
        }
        if ((sbversion & XFS_SB_VERSION_QUOTABIT) &&
                                        !xfs_sb_version_hasquota(&mp->m_sb)) {
                if (!sflag)
-                       dbprintf("sb versionnum missing quota bit %x\n",
+                       dbprintf(_("sb versionnum missing quota bit %x\n"),
                                XFS_SB_VERSION_QUOTABIT);
                error++;
        }
        if (!(sbversion & XFS_SB_VERSION_ALIGNBIT) &&
                                        xfs_sb_version_hasalign(&mp->m_sb)) {
                if (!sflag)
-                       dbprintf("sb versionnum extra align bit %x\n",
+                       dbprintf(_("sb versionnum extra align bit %x\n"),
                                XFS_SB_VERSION_ALIGNBIT);
                error++;
        }
@@ -919,7 +919,7 @@ blockget_f(
        if (qgdo)
                quota_check("group", qgdata);
        if (sbver_err > mp->m_sb.sb_agcount / 2)
-               dbprintf("WARNING: this may be a newer XFS filesystem.\n");
+               dbprintf(_("WARNING: this may be a newer XFS filesystem.\n"));
        if (error)
                exitcode = 3;
        dbprefix = oldprefix;
@@ -948,7 +948,7 @@ blocktrash_b(
        int             newbit;
        int             offset;
        static char     *modestr[] = {
-               "zeroed", "set", "flipped", "randomized"
+               N_("zeroed"), N_("set"), N_("flipped"), N_("randomized")
        };
 
        len = (int)((random() % (ltabp->max - ltabp->min + 1)) + ltabp->min);
@@ -958,7 +958,7 @@ blocktrash_b(
        set_cur(&typtab[DBM_UNKNOWN],
                XFS_AGB_TO_DADDR(mp, agno, agbno), blkbb, DB_RING_IGN, NULL);
        if ((buf = iocur_top->data) == NULL) {
-               dbprintf("can't read block %u/%u for trashing\n", agno, agbno);
+               dbprintf(_("can't read block %u/%u for trashing\n"), agno, 
agbno);
                pop_cur();
                return;
        }
@@ -988,7 +988,7 @@ blocktrash_b(
        }
        write_cur();
        pop_cur();
-       printf("blocktrash: %u/%u %s block %d bit%s starting %d:%d %s\n",
+       printf(_("blocktrash: %u/%u %s block %d bit%s starting %d:%d %s\n"),
                agno, agbno, typename[type], len, len == 1 ? "" : "s",
                offset / NBBY, offset % NBBY, modestr[mode]);
 }
@@ -1020,7 +1020,7 @@ blocktrash_f(
        int             tmask;
 
        if (!dbmap) {
-               dbprintf("must run blockget first\n");
+               dbprintf(_("must run blockget first\n"));
                return 0;
        }
        optind = 0;
@@ -1064,7 +1064,7 @@ blocktrash_f(
                case 'n':
                        count = (int)strtol(optarg, &p, 0);
                        if (*p != '\0' || count <= 0) {
-                               dbprintf("bad blocktrash count %s\n", optarg);
+                               dbprintf(_("bad blocktrash count %s\n"), 
optarg);
                                return 0;
                        }
                        break;
@@ -1078,7 +1078,7 @@ blocktrash_f(
                                        break;
                        }
                        if (!typename[i] || (((1 << i) & goodmask) == 0)) {
-                               dbprintf("bad blocktrash type %s\n", optarg);
+                               dbprintf(_("bad blocktrash type %s\n"), optarg);
                                return 0;
                        }
                        tmask |= 1 << i;
@@ -1087,7 +1087,7 @@ blocktrash_f(
                        min = (int)strtol(optarg, &p, 0);
                        if (*p != '\0' || min <= 0 ||
                            min > mp->m_sb.sb_blocksize * NBBY) {
-                               dbprintf("bad blocktrash min %s\n", optarg);
+                               dbprintf(_("bad blocktrash min %s\n"), optarg);
                                return 0;
                        }
                        break;
@@ -1095,17 +1095,17 @@ blocktrash_f(
                        max = (int)strtol(optarg, &p, 0);
                        if (*p != '\0' || max <= 0 ||
                            max > mp->m_sb.sb_blocksize * NBBY) {
-                               dbprintf("bad blocktrash max %s\n", optarg);
+                               dbprintf(_("bad blocktrash max %s\n"), optarg);
                                return 0;
                        }
                        break;
                default:
-                       dbprintf("bad option for blocktrash command\n");
+                       dbprintf(_("bad option for blocktrash command\n"));
                        return 0;
                }
        }
        if (min > max) {
-               dbprintf("bad min/max for blocktrash command\n");
+               dbprintf(_("bad min/max for blocktrash command\n"));
                return 0;
        }
        if (tmask == 0)
@@ -1131,11 +1131,11 @@ blocktrash_f(
                }
        }
        if (blocks == 0) {
-               dbprintf("blocktrash: no matching blocks\n");
+               dbprintf(_("blocktrash: no matching blocks\n"));
                return 0;
        }
        if (!sopt)
-               dbprintf("blocktrash: seed %u\n", seed);
+               dbprintf(_("blocktrash: seed %u\n"), seed);
        srandom(seed);
        for (i = 0; i < count; i++) {
                randb = (xfs_drfsbno_t)((((__int64_t)random() << 32) |
@@ -1177,7 +1177,7 @@ blockuse_f(
        int             shownames;
 
        if (!dbmap) {
-               dbprintf("must run blockget first\n");
+               dbprintf(_("must run blockget first\n"));
                return 0;
        }
        optind = 0;
@@ -1193,30 +1193,30 @@ blockuse_f(
                        end = agbno + count - 1;
                        if (*p != '\0' || count <= 0 ||
                            end >= mp->m_sb.sb_agblocks) {
-                               dbprintf("bad blockuse count %s\n", optarg);
+                               dbprintf(_("bad blockuse count %s\n"), optarg);
                                return 0;
                        }
                        break;
                case 'n':
                        if (!nflag) {
-                               dbprintf("must run blockget -n first\n");
+                               dbprintf(_("must run blockget -n first\n"));
                                return 0;
                        }
                        shownames = 1;
                        break;
                default:
-                       dbprintf("bad option for blockuse command\n");
+                       dbprintf(_("bad option for blockuse command\n"));
                        return 0;
                }
        }
        while (agbno <= end) {
                p = &dbmap[agno][agbno];
                i = inomap[agno][agbno];
-               dbprintf("block %llu (%u/%u) type %s",
+               dbprintf(_("block %llu (%u/%u) type %s"),
                        (xfs_dfsbno_t)XFS_AGB_TO_FSB(mp, agno, agbno),
                        agno, agbno, typename[(dbm_t)*p]);
                if (i) {
-                       dbprintf(" inode %lld", i->ino);
+                       dbprintf(_(" inode %lld"), i->ino);
                        if (shownames && (p = inode_name(i->ino, NULL))) {
                                dbprintf(" %s", p);
                                xfree(p);
@@ -1254,8 +1254,8 @@ check_dbmap(
        for (i = 0, p = &dbmap[agno][agbno]; i < len; i++, p++) {
                if ((dbm_t)*p != type) {
                        if (!sflag || CHECK_BLISTA(agno, agbno + i))
-                               dbprintf("block %u/%u expected type %s got "
-                                        "%s\n",
+                               dbprintf(_("block %u/%u expected type %s got "
+                                        "%s\n"),
                                        agno, agbno + i, typename[type],
                                        typename[(dbm_t)*p]);
                        error++;
@@ -1286,7 +1286,7 @@ check_inomap(
        int             rval;
 
        if (!check_range(agno, agbno, len))  {
-               dbprintf("blocks %u/%u..%u claimed by inode %lld\n",
+               dbprintf(_("blocks %u/%u..%u claimed by inode %lld\n"),
                        agno, agbno, agbno + len - 1, c_ino);
                return 0;
        }
@@ -1294,8 +1294,8 @@ check_inomap(
                if (*idp) {
                        if (!sflag || (*idp)->ilist ||
                            CHECK_BLISTA(agno, agbno + i))
-                               dbprintf("block %u/%u claimed by inode %lld, "
-                                        "previous inum %lld\n",
+                               dbprintf(_("block %u/%u claimed by inode %lld, "
+                                        "previous inum %lld\n"),
                                        agno, agbno + i, c_ino, (*idp)->ino);
                        error++;
                        rval = 0;
@@ -1323,20 +1323,20 @@ check_linkcounts(
                                        path = xstrdup("?");
                                if (!sflag || ep->ilist) {
                                        if (ep->link_add)
-                                               dbprintf("link count mismatch "
+                                               dbprintf(_("link count mismatch 
"
                                                         "for inode %lld (name "
                                                         "%s), nlink %d, "
-                                                        "counted %d\n",
+                                                        "counted %d\n"),
                                                        ep->ino, path,
                                                        ep->link_set,
                                                        ep->link_add);
                                        else if (ep->link_set)
-                                               dbprintf("disconnected inode "
-                                                        "%lld, nlink %d\n",
+                                               dbprintf(_("disconnected inode "
+                                                        "%lld, nlink %d\n"),
                                                        ep->ino, ep->link_set);
                                        else
-                                               dbprintf("allocated inode %lld "
-                                                        "has 0 link count\n",
+                                               dbprintf(_("allocated inode 
%lld "
+                                                        "has 0 link count\n"),
                                                        ep->ino);
                                }
                                if (path)
@@ -1345,7 +1345,7 @@ check_linkcounts(
                        } else if (verbose || ep->ilist) {
                                path = inode_name(ep->ino, NULL);
                                if (path) {
-                                       dbprintf("inode %lld name %s\n",
+                                       dbprintf(_("inode %lld name %s\n"),
                                                ep->ino, path);
                                        xfree(path);
                                }
@@ -1379,11 +1379,11 @@ check_range(
                                /* Do nothing */
                        } else if (cur == 0 && prev == 1) {
                                if (low == high) {
-                                       dbprintf("block %u/%u out of range\n",
+                                       dbprintf(_("block %u/%u out of 
range\n"),
                                                agno, low);
                                } else {
-                                       dbprintf("blocks %u/%u..%u "
-                                               "out of range\n",
+                                       dbprintf(_("blocks %u/%u..%u "
+                                               "out of range\n"),
                                                agno, low, high);
                                }
                                valid_range = 0;
@@ -1394,11 +1394,11 @@ check_range(
                }
                if (valid_range) {
                        if (low == high) {
-                                       dbprintf("block %u/%u out of range\n",
+                                       dbprintf(_("block %u/%u out of 
range\n"),
                                        agno, low);
                        } else {
-                                       dbprintf("blocks %u/%u..%u "
-                                               "out of range\n",
+                                       dbprintf(_("blocks %u/%u..%u "
+                                               "out of range\n"),
                                                agno, low, high);
                        }
                }
@@ -1420,8 +1420,8 @@ check_rdbmap(
        for (i = 0, p = &dbmap[mp->m_sb.sb_agcount][bno]; i < len; i++, p++) {
                if ((dbm_t)*p != type) {
                        if (!sflag || CHECK_BLIST(bno + i))
-                               dbprintf("rtblock %llu expected type %s got "
-                                        "%s\n",
+                               dbprintf(_("rtblock %llu expected type %s got "
+                                        "%s\n"),
                                        bno + i, typename[type],
                                        typename[(dbm_t)*p]);
                        error++;
@@ -1440,7 +1440,7 @@ check_rinomap(
        int             rval;
 
        if (!check_rrange(bno, len)) {
-               dbprintf("rtblocks %llu..%llu claimed by inode %lld\n",
+               dbprintf(_("rtblocks %llu..%llu claimed by inode %lld\n"),
                        bno, bno + len - 1, c_ino);
                return 0;
        }
@@ -1449,8 +1449,8 @@ check_rinomap(
             i++, idp++) {
                if (*idp) {
                        if (!sflag || (*idp)->ilist || CHECK_BLIST(bno + i))
-                               dbprintf("rtblock %llu claimed by inode %lld, "
-                                        "previous inum %lld\n",
+                               dbprintf(_("rtblock %llu claimed by inode %lld, 
"
+                                        "previous inum %lld\n"),
                                        bno + i, c_ino, (*idp)->ino);
                        error++;
                        rval = 0;
@@ -1467,12 +1467,12 @@ check_rootdir(void)
        id = find_inode(mp->m_sb.sb_rootino, 0);
        if (id == NULL) {
                if (!sflag)
-                       dbprintf("root inode %lld is missing\n",
+                       dbprintf(_("root inode %lld is missing\n"),
                                mp->m_sb.sb_rootino);
                error++;
        } else if (!id->isdir) {
                if (!sflag || id->ilist)
-                       dbprintf("root inode %lld is not a directory\n",
+                       dbprintf(_("root inode %lld is not a directory\n"),
                                mp->m_sb.sb_rootino);
                error++;
        }
@@ -1488,7 +1488,7 @@ check_rrange(
        if (bno + len - 1 >= mp->m_sb.sb_rblocks) {
                for (i = 0; i < len; i++) {
                        if (!sflag || CHECK_BLIST(bno + i))
-                               dbprintf("rtblock %llu out of range\n",
+                               dbprintf(_("rtblock %llu out of range\n"),
                                        bno + i);
                }
                error++;
@@ -1512,7 +1512,7 @@ check_set_dbmap(
        char            *p;
 
        if (!check_range(agno, agbno, len))  {
-               dbprintf("blocks %u/%u..%u claimed by block %u/%u\n", agno,
+               dbprintf(_("blocks %u/%u..%u claimed by block %u/%u\n"), agno,
                        agbno, agbno + len - 1, c_agno, c_agbno);
                return;
        }
@@ -1521,7 +1521,7 @@ check_set_dbmap(
        for (i = 0, p = &dbmap[agno][agbno]; i < len; i++, p++) {
                *p = (char)type2;
                if (mayprint && (verbose || CHECK_BLISTA(agno, agbno + i)))
-                       dbprintf("setting block %u/%u to %s\n", agno, agbno + i,
+                       dbprintf(_("setting block %u/%u to %s\n"), agno, agbno 
+ i,
                                typename[type2]);
        }
 }
@@ -1544,7 +1544,7 @@ check_set_rdbmap(
        for (i = 0, p = &dbmap[mp->m_sb.sb_agcount][bno]; i < len; i++, p++) {
                *p = (char)type2;
                if (mayprint && (verbose || CHECK_BLIST(bno + i)))
-                       dbprintf("setting rtblock %llu to %s\n",
+                       dbprintf(_("setting rtblock %llu to %s\n"),
                                bno + i, typename[type2]);
        }
 }
@@ -1565,9 +1565,9 @@ check_summary(void)
                     bno++, csp++, fsp++) {
                        if (*csp != *fsp) {
                                if (!sflag)
-                                       dbprintf("rt summary mismatch, size %d "
+                                       dbprintf(_("rt summary mismatch, size 
%d "
                                                 "block %llu, file: %d, "
-                                                "computed: %d\n",
+                                                "computed: %d\n"),
                                                log, bno, *fsp, *csp);
                                error++;
                        }
@@ -1590,7 +1590,7 @@ checknot_dbmap(
        for (i = 0, p = &dbmap[agno][agbno]; i < len; i++, p++) {
                if ((1 << *p) & typemask) {
                        if (!sflag || CHECK_BLISTA(agno, agbno + i))
-                               dbprintf("block %u/%u type %s not expected\n",
+                               dbprintf(_("block %u/%u type %s not 
expected\n"),
                                        agno, agbno + i, typename[(dbm_t)*p]);
                        error++;
                }
@@ -1611,7 +1611,7 @@ checknot_rdbmap(
        for (i = 0, p = &dbmap[mp->m_sb.sb_agcount][bno]; i < len; i++, p++) {
                if ((1 << *p) & typemask) {
                        if (!sflag || CHECK_BLIST(bno + i))
-                               dbprintf("rtblock %llu type %s not expected\n",
+                               dbprintf(_("rtblock %llu type %s not 
expected\n"),
                                        bno + i, typename[(dbm_t)*p]);
                        error++;
                }
@@ -1648,8 +1648,8 @@ dir_hash_check(
                        if (p->seen)
                                continue;
                        if (!sflag || id->ilist || v)
-                               dbprintf("dir ino %lld missing leaf entry for "
-                                        "%x/%x\n",
+                               dbprintf(_("dir ino %lld missing leaf entry for 
"
+                                        "%x/%x\n"),
                                        id->ino, p->hashval, p->address);
                        error++;
                }
@@ -1767,7 +1767,7 @@ init(
 
        serious_error = 0;
        if (mp->m_sb.sb_magicnum != XFS_SB_MAGIC) {
-               dbprintf("bad superblock magic number %x, giving up\n",
+               dbprintf(_("bad superblock magic number %x, giving up\n"),
                        mp->m_sb.sb_magicnum);
                serious_error = 1;
                return 0;
@@ -1821,7 +1821,7 @@ init(
                        verbose = 1;
                        break;
                default:
-                       dbprintf("bad option for blockget command\n");
+                       dbprintf(_("bad option for blockget command\n"));
                        return 0;
                }
        }
@@ -1884,7 +1884,7 @@ ncheck_f(
        int             security;
 
        if (!inodata || !nflag) {
-               dbprintf("must run blockget -n first\n");
+               dbprintf(_("must run blockget -n first\n"));
                return 0;
        }
        security = optind = ilist_size = 0;
@@ -1901,7 +1901,7 @@ ncheck_f(
                        security = 1;
                        break;
                default:
-                       dbprintf("bad option -%c for ncheck command\n", c);
+                       dbprintf(_("bad option -%c for ncheck command\n"), c);
                        return 0;
                }
        }
@@ -1974,8 +1974,8 @@ process_block_dir_v2(
        v = id->ilist || verbose;
        if (nex == 0) {
                if (!sflag || v)
-                       dbprintf("block 0 for directory inode %lld is "
-                                "missing\n",
+                       dbprintf(_("block 0 for directory inode %lld is "
+                                "missing\n"),
                                id->ino);
                error++;
                return 0;
@@ -1994,8 +1994,8 @@ process_block_dir_v2(
        free(bmp);
        if (iocur_top->data == NULL) {
                if (!sflag || id->ilist || v)
-                       dbprintf("can't read block 0 for directory inode "
-                                "%lld\n",
+                       dbprintf(_("can't read block 0 for directory inode "
+                                "%lld\n"),
                                id->ino);
                error++;
                pop_cur();
@@ -2040,17 +2040,17 @@ process_bmbt_reclist(
        for (i = 0; i < numrecs; i++, rp++) {
                convert_extent((xfs_bmbt_rec_64_t *)rp, &o, &s, &c, &f);
                if (v)
-                       dbprintf("inode %lld extent [%lld,%lld,%lld,%d]\n",
+                       dbprintf(_("inode %lld extent [%lld,%lld,%lld,%d]\n"),
                                id->ino, o, s, c, f);
                if (!sflag && i > 0 && op + cp > o)
-                       dbprintf("bmap rec out of order, inode %lld entry %d\n",
+                       dbprintf(_("bmap rec out of order, inode %lld entry 
%d\n"),
                                id->ino, i);
                op = o;
                cp = c;
                if (type == DBM_RTDATA) {
                        if (!sflag && s >= mp->m_sb.sb_rblocks) {
-                               dbprintf("inode %lld bad rt block number %lld, "
-                                        "offset %lld\n",
+                               dbprintf(_("inode %lld bad rt block number 
%lld, "
+                                        "offset %lld\n"),
                                        id->ino, s, o);
                                continue;
                        }
@@ -2059,14 +2059,14 @@ process_bmbt_reclist(
                        agbno = XFS_FSB_TO_AGBNO(mp, s);
                        if (agno >= mp->m_sb.sb_agcount ||
                            agbno >= mp->m_sb.sb_agblocks) {
-                               dbprintf("inode %lld bad block number %lld "
-                                        "[%d,%d], offset %lld\n",
+                               dbprintf(_("inode %lld bad block number %lld "
+                                        "[%d,%d], offset %lld\n"),
                                        id->ino, s, agno, agbno, o);
                                continue;
                        }
                        if (agbno + c - 1 >= mp->m_sb.sb_agblocks) {
-                               dbprintf("inode %lld bad block number %lld "
-                                        "[%d,%d], offset %lld\n",
+                               dbprintf(_("inode %lld bad block number %lld "
+                                        "[%d,%d], offset %lld\n"),
                                        id->ino, s + c - 1, agno,
                                        agbno + (xfs_agblock_t)c - 1, o);
                                continue;
@@ -2083,8 +2083,8 @@ process_bmbt_reclist(
                             blist_size && b < s + c;
                             b++, o++) {
                                if (CHECK_BLIST(b))
-                                       dbprintf("inode %lld block %lld at "
-                                                "offset %lld\n",
+                                       dbprintf(_("inode %lld block %lld at "
+                                                "offset %lld\n"),
                                                id->ino, (xfs_dfsbno_t)b, o);
                        }
                } else {
@@ -2097,8 +2097,8 @@ process_bmbt_reclist(
                             blist_size && b < s + c;
                             b++, o++, agbno++) {
                                if (CHECK_BLIST(b))
-                                       dbprintf("inode %lld block %lld at "
-                                                "offset %lld\n",
+                                       dbprintf(_("inode %lld block %lld at "
+                                                "offset %lld\n"),
                                                id->ino, (xfs_dfsbno_t)b, o);
                        }
                }
@@ -2125,10 +2125,10 @@ process_btinode(
        dib = (xfs_bmdr_block_t *)XFS_DFORK_PTR(dip, whichfork);
        if (be16_to_cpu(dib->bb_level) >= XFS_BM_MAXLEVELS(mp, whichfork)) {
                if (!sflag || id->ilist)
-                       dbprintf("level for ino %lld %s fork bmap root too "
-                                "large (%u)\n",
+                       dbprintf(_("level for ino %lld %s fork bmap root too "
+                                "large (%u)\n"),
                                id->ino,
-                               whichfork == XFS_DATA_FORK ? "data" : "attr",
+                               whichfork == XFS_DATA_FORK ? _("data") : 
_("attr"),
                                be16_to_cpu(dib->bb_level));
                error++;
                return;
@@ -2137,10 +2137,10 @@ process_btinode(
                        xfs_bmdr_maxrecs(mp, XFS_DFORK_SIZE(dip, mp, whichfork),
                        be16_to_cpu(dib->bb_level) == 0)) {
                if (!sflag || id->ilist)
-                       dbprintf("numrecs for ino %lld %s fork bmap root too "
-                                "large (%u)\n",
+                       dbprintf(_("numrecs for ino %lld %s fork bmap root too "
+                                "large (%u)\n"),
                                id->ino,
-                               whichfork == XFS_DATA_FORK ? "data" : "attr",
+                               whichfork == XFS_DATA_FORK ? _("data") : 
_("attr"),
                                be16_to_cpu(dib->bb_numrecs));
                error++;
                return;
@@ -2164,10 +2164,10 @@ process_btinode(
        }
        if (*nex <= XFS_DFORK_SIZE(dip, mp, whichfork) / 
sizeof(xfs_bmbt_rec_t)) {
                if (!sflag || id->ilist)
-                       dbprintf("extent count for ino %lld %s fork too low "
-                                "(%d) for file format\n",
+                       dbprintf(_("extent count for ino %lld %s fork too low "
+                                "(%d) for file format\n"),
                                id->ino,
-                               whichfork == XFS_DATA_FORK ? "data" : "attr",
+                               whichfork == XFS_DATA_FORK ? _("data") : 
_("attr"),
                                *nex);
                error++;
        }
@@ -2214,8 +2214,8 @@ process_data_dir_v2(
        if (be32_to_cpu(block->hdr.magic) != XFS_DIR2_BLOCK_MAGIC &&
                        be32_to_cpu(data->hdr.magic) != XFS_DIR2_DATA_MAGIC) {
                if (!sflag || v)
-                       dbprintf("bad directory data magic # %#x for dir ino "
-                                "%lld block %d\n",
+                       dbprintf(_("bad directory data magic # %#x for dir ino "
+                                "%lld block %d\n"),
                                be32_to_cpu(data->hdr.magic), id->ino, dabno);
                error++;
                return NULLFSINO;
@@ -2231,8 +2231,8 @@ process_data_dir_v2(
                        endptr = (char *)data + mp->m_dirblksize;
                        lep = NULL;
                        if (!sflag || v)
-                               dbprintf("bad block directory tail for dir ino "
-                                        "%lld\n",
+                               dbprintf(_("bad block directory tail for dir 
ino "
+                                        "%lld\n"),
                                        id->ino);
                        error++;
                }
@@ -2276,8 +2276,8 @@ process_data_dir_v2(
                                        be16_to_cpu(dup->length) == 0 ||
                                        (char *)tagp >= endptr) {
                                if (!sflag || v)
-                                       dbprintf("dir %lld block %d bad free "
-                                                "entry at %d\n",
+                                       dbprintf(_("dir %lld block %d bad free "
+                                                "entry at %d\n"),
                                                id->ino, dabno,
                                                (int)((char *)dup -
                                                      (char *)data));
@@ -2300,8 +2300,8 @@ process_data_dir_v2(
                dep = (xfs_dir2_data_entry_t *)dup;
                if (dep->namelen == 0) {
                        if (!sflag || v)
-                               dbprintf("dir %lld block %d zero length entry "
-                                        "at %d\n",
+                               dbprintf(_("dir %lld block %d zero length entry 
"
+                                        "at %d\n"),
                                        id->ino, dabno,
                                        (int)((char *)dep - (char *)data));
                        error++;
@@ -2309,7 +2309,7 @@ process_data_dir_v2(
                tagp = xfs_dir2_data_entry_tag_p(dep);
                if ((char *)tagp >= endptr) {
                        if (!sflag || v)
-                               dbprintf("dir %lld block %d bad entry at %d\n",
+                               dbprintf(_("dir %lld block %d bad entry at 
%d\n"),
                                        id->ino, dabno,
                                        (int)((char *)dep - (char *)data));
                        error++;
@@ -2327,15 +2327,15 @@ process_data_dir_v2(
                lino = be64_to_cpu(dep->inumber);
                cid = find_inode(lino, 1);
                if (v)
-                       dbprintf("dir %lld block %d entry %*.*s %lld\n",
+                       dbprintf(_("dir %lld block %d entry %*.*s %lld\n"),
                                id->ino, dabno, dep->namelen, dep->namelen,
                                dep->name, lino);
                if (cid)
                        addlink_inode(cid);
                else {
                        if (!sflag || v)
-                               dbprintf("dir %lld block %d entry %*.*s bad "
-                                        "inode number %lld\n",
+                               dbprintf(_("dir %lld block %d entry %*.*s bad "
+                                        "inode number %lld\n"),
                                        id->ino, dabno, dep->namelen,
                                        dep->namelen, dep->name, lino);
                        error++;
@@ -2344,8 +2344,8 @@ process_data_dir_v2(
                    dep->name[1] == '.') {
                        if (parent) {
                                if (!sflag || v)
-                                       dbprintf("multiple .. entries in dir "
-                                                "%lld (%lld, %lld)\n",
+                                       dbprintf(_("multiple .. entries in dir "
+                                                "%lld (%lld, %lld)\n"),
                                                id->ino, parent, lino);
                                error++;
                        } else
@@ -2361,8 +2361,8 @@ process_data_dir_v2(
                } else {
                        if (lino != id->ino) {
                                if (!sflag || v)
-                                       dbprintf("dir %lld entry . inode "
-                                                "number mismatch (%lld)\n",
+                                       dbprintf(_("dir %lld entry . inode "
+                                                "number mismatch (%lld)\n"),
                                                id->ino, lino);
                                error++;
                        }
@@ -2374,8 +2374,8 @@ process_data_dir_v2(
                for (i = stale = 0; lep && i < be32_to_cpu(btp->count); i++) {
                        if ((char *)&lep[i] >= endptr) {
                                if (!sflag || v)
-                                       dbprintf("dir %lld block %d bad count "
-                                                "%u\n", id->ino, dabno, 
+                                       dbprintf(_("dir %lld block %d bad count 
"
+                                                "%u\n"), id->ino, dabno, 
                                                be32_to_cpu(btp->count));
                                error++;
                                break;
@@ -2385,8 +2385,8 @@ process_data_dir_v2(
                        else if (dir_hash_see(be32_to_cpu(lep[i].hashval), 
                                                be32_to_cpu(lep[i].address))) {
                                if (!sflag || v)
-                                       dbprintf("dir %lld block %d extra leaf "
-                                                "entry %x %x\n", 
+                                       dbprintf(_("dir %lld block %d extra 
leaf "
+                                                "entry %x %x\n"), 
                                                id->ino, dabno, 
                                                be32_to_cpu(lep[i].hashval),
                                                be32_to_cpu(lep[i].address));
@@ -2397,7 +2397,7 @@ process_data_dir_v2(
        bf_err += freeseen != 7;
        if (bf_err) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d bad bestfree data\n",
+                       dbprintf(_("dir %lld block %d bad bestfree data\n"),
                                id->ino, dabno);
                error++;
        }
@@ -2405,8 +2405,8 @@ process_data_dir_v2(
                                count != be32_to_cpu(btp->count) - 
                                                be32_to_cpu(btp->stale)) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d bad block tail count %d "
-                                "(stale %d)\n", 
+                       dbprintf(_("dir %lld block %d bad block tail count %d "
+                                "(stale %d)\n"), 
                                id->ino, dabno, be32_to_cpu(btp->count), 
                                be32_to_cpu(btp->stale));
                error++;
@@ -2414,20 +2414,20 @@ process_data_dir_v2(
        if (be32_to_cpu(data->hdr.magic) == XFS_DIR2_BLOCK_MAGIC && 
                                        stale != be32_to_cpu(btp->stale)) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d bad stale tail count %d\n",
+                       dbprintf(_("dir %lld block %d bad stale tail count 
%d\n"),
                                id->ino, dabno, be32_to_cpu(btp->stale));
                error++;
        }
        if (lastfree_err) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d consecutive free entries\n",
+                       dbprintf(_("dir %lld block %d consecutive free 
entries\n"),
                                id->ino, dabno);
                error++;
        }
        if (tag_err) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d entry/unused tag "
-                                "mismatch\n",
+                       dbprintf(_("dir %lld block %d entry/unused tag "
+                                "mismatch\n"),
                                id->ino, dabno);
                error++;
        }
@@ -2479,21 +2479,21 @@ process_dir(
        bno = XFS_INO_TO_FSB(mp, id->ino);
        if (dot == 0) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("no . entry for directory %lld\n", id->ino);
+                       dbprintf(_("no . entry for directory %lld\n"), id->ino);
                error++;
        }
        if (dotdot == 0) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("no .. entry for directory %lld\n", id->ino);
+                       dbprintf(_("no .. entry for directory %lld\n"), 
id->ino);
                error++;
        } else if (parent == id->ino && id->ino != mp->m_sb.sb_rootino) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf(". and .. same for non-root directory %lld\n",
+                       dbprintf(_(". and .. same for non-root directory 
%lld\n"),
                                id->ino);
                error++;
        } else if (id->ino == mp->m_sb.sb_rootino && id->ino != parent) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("root directory %lld has .. %lld\n", id->ino,
+                       dbprintf(_("root directory %lld has .. %lld\n"), 
id->ino,
                                parent);
                error++;
        } else if (parent != NULLFSINO && id->ino != parent)
@@ -2523,8 +2523,8 @@ process_dir_v1(
                        dip->di_core.di_format == XFS_DINODE_FMT_BTREE))
                *parent = process_node_dir_v1(blkmap, dot, dotdot, id);
        else  {
-               dbprintf("bad size (%lld) or format (%d) for directory inode "
-                        "%lld\n",
+               dbprintf(_("bad size (%lld) or format (%d) for directory inode "
+                        "%lld\n"),
                        size, dip->di_core.di_format, id->ino);
                error++;
                return 1;
@@ -2558,8 +2558,8 @@ process_dir_v2(
                        dip->di_core.di_format == XFS_DINODE_FMT_BTREE))
                *parent = process_leaf_node_dir_v2(blkmap, dot, dotdot, id, 
size);
        else  {
-               dbprintf("bad size (%lld) or format (%d) for directory inode "
-                        "%lld\n",
+               dbprintf(_("bad size (%lld) or format (%d) for directory inode "
+                        "%lld\n"),
                        size, dip->di_core.di_format, id->ino);
                error++;
                return 1;
@@ -2586,7 +2586,7 @@ process_exinode(
        if (*nex < 0 || *nex > XFS_DFORK_SIZE(dip, mp, whichfork) / 
                                                sizeof(xfs_bmbt_rec_32_t)) {
                if (!sflag || id->ilist)
-                       dbprintf("bad number of extents %d for inode %lld\n",
+                       dbprintf(_("bad number of extents %d for inode %lld\n"),
                                *nex, id->ino);
                error++;
                return;
@@ -2656,14 +2656,14 @@ process_inode(
        }
        if (idic.di_magic != XFS_DINODE_MAGIC) {
                if (!sflag || isfree || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad magic number %#x for inode %lld\n",
+                       dbprintf(_("bad magic number %#x for inode %lld\n"),
                                idic.di_magic, ino);
                error++;
                return;
        }
        if (!XFS_DINODE_GOOD_VERSION(idic.di_version)) {
                if (!sflag || isfree || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad version number %#x for inode %lld\n",
+                       dbprintf(_("bad version number %#x for inode %lld\n"),
                                idic.di_version, ino);
                error++;
                return;
@@ -2671,8 +2671,8 @@ process_inode(
        if (isfree) {
                if (idic.di_nblocks != 0) {
                        if (!sflag || id->ilist || CHECK_BLIST(bno))
-                               dbprintf("bad nblocks %lld for free inode "
-                                        "%lld\n",
+                               dbprintf(_("bad nblocks %lld for free inode "
+                                        "%lld\n"),
                                        idic.di_nblocks, ino);
                        error++;
                }
@@ -2682,13 +2682,13 @@ process_inode(
                        nlink = idic.di_nlink;
                if (nlink != 0) {
                        if (!sflag || id->ilist || CHECK_BLIST(bno))
-                               dbprintf("bad nlink %d for free inode %lld\n",
+                               dbprintf(_("bad nlink %d for free inode 
%lld\n"),
                                        nlink, ino);
                        error++;
                }
                if (idic.di_mode != 0) {
                        if (!sflag || id->ilist || CHECK_BLIST(bno))
-                               dbprintf("bad mode %#o for free inode %lld\n",
+                               dbprintf(_("bad mode %#o for free inode 
%lld\n"),
                                        idic.di_mode, ino);
                        error++;
                }
@@ -2696,7 +2696,7 @@ process_inode(
        }
        if (be32_to_cpu(dip->di_next_unlinked) != NULLAGINO) {
                if (!sflag || isfree || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad next unlinked %#x for inode %lld\n",
+                       dbprintf(_("bad next unlinked %#x for inode %lld\n"),
                                be32_to_cpu(dip->di_next_unlinked), ino);
                error++;
        }
@@ -2706,29 +2706,29 @@ process_inode(
        if ((((idic.di_mode & S_IFMT) >> 12) > 15) ||
            (!(okfmts[(idic.di_mode & S_IFMT) >> 12] & (1 << idic.di_format)))) 
{
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad format %d for inode %lld type %#o\n",
+                       dbprintf(_("bad format %d for inode %lld type %#o\n"),
                                idic.di_format, id->ino, idic.di_mode & S_IFMT);
                error++;
                return;
        }
        if ((unsigned int)XFS_DFORK_ASIZE(dip, mp) >= XFS_LITINO(mp))  {
                if (!sflag || id->ilist)
-                       dbprintf("bad fork offset %d for inode %lld\n",
+                       dbprintf(_("bad fork offset %d for inode %lld\n"),
                                idic.di_forkoff, id->ino);
                error++;
                return;
        }
        if ((unsigned int)idic.di_aformat > XFS_DINODE_FMT_BTREE)  {
                if (!sflag || id->ilist)
-                       dbprintf("bad attribute format %d for inode %lld\n",
+                       dbprintf(_("bad attribute format %d for inode %lld\n"),
                                idic.di_aformat, id->ino);
                error++;
                return;
        }
        if (verbose || id->ilist || CHECK_BLIST(bno))
-               dbprintf("inode %lld mode %#o fmt %s "
+               dbprintf(_("inode %lld mode %#o fmt %s "
                         "afmt %s "
-                        "nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n",
+                        "nex %d anex %d nblk %lld sz %lld%s%s%s%s%s%s%s\n"),
                        id->ino, idic.di_mode, fmtnames[(int)idic.di_format],
                        fmtnames[(int)idic.di_aformat],
                        idic.di_nextents,
@@ -2846,21 +2846,21 @@ process_inode(
        totblocks = totdblocks + totiblocks + atotdblocks + atotiblocks;
        if (totblocks != idic.di_nblocks) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad nblocks %lld for inode %lld, counted "
-                                "%lld\n",
+                       dbprintf(_("bad nblocks %lld for inode %lld, counted "
+                                "%lld\n"),
                                idic.di_nblocks, id->ino, totblocks);
                error++;
        }
        if (nextents != idic.di_nextents) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad nextents %d for inode %lld, counted %d\n",
+                       dbprintf(_("bad nextents %d for inode %lld, counted 
%d\n"),
                                idic.di_nextents, id->ino, nextents);
                error++;
        }
        if (anextents != idic.di_anextents) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad anextents %d for inode %lld, counted "
-                                "%d\n",
+                       dbprintf(_("bad anextents %d for inode %lld, counted "
+                                "%d\n"),
                                idic.di_anextents, id->ino, anextents);
                error++;
        }
@@ -2911,8 +2911,8 @@ process_lclinode(
        if (whichfork == XFS_DATA_FORK && be64_to_cpu(dip->di_core.di_size) >
                                                XFS_DFORK_DSIZE(dip, mp)) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("local inode %lld data is too large (size "
-                                "%lld)\n",
+                       dbprintf(_("local inode %lld data is too large (size "
+                                "%lld)\n"),
                                id->ino, be64_to_cpu(dip->di_core.di_size));
                error++;
        }
@@ -2920,8 +2920,8 @@ process_lclinode(
                asf = (xfs_attr_shortform_t *)XFS_DFORK_APTR(dip);
                if (be16_to_cpu(asf->hdr.totsize) > XFS_DFORK_ASIZE(dip, mp)) {
                        if (!sflag || id->ilist || CHECK_BLIST(bno))
-                               dbprintf("local inode %lld attr is too large "
-                                        "(size %d)\n",
+                               dbprintf(_("local inode %lld attr is too large "
+                                        "(size %d)\n"),
                                        id->ino, be16_to_cpu(asf->hdr.totsize));
                        error++;
                }
@@ -2941,8 +2941,8 @@ process_leaf_dir_v1(
        bno = blkmap_get(blkmap, 0);
        if (bno == NULLFSBLOCK) {
                if (!sflag || id->ilist)
-                       dbprintf("block 0 for directory inode %lld is "
-                                "missing\n",
+                       dbprintf(_("block 0 for directory inode %lld is "
+                                "missing\n"),
                                id->ino);
                error++;
                return 0;
@@ -2952,8 +2952,8 @@ process_leaf_dir_v1(
                NULL);
        if (iocur_top->data == NULL) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("can't read block 0 for directory inode "
-                                "%lld\n",
+                       dbprintf(_("can't read block 0 for directory inode "
+                                "%lld\n"),
                                id->ino);
                error++;
                pop_cur();
@@ -2985,8 +2985,8 @@ process_leaf_dir_v1_int(
        leaf = iocur_top->data;
        if (be16_to_cpu(leaf->hdr.info.magic) != XFS_DIR_LEAF_MAGIC) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad directory leaf magic # %#x for dir ino "
-                                "%lld\n",
+                       dbprintf(_("bad directory leaf magic # %#x for dir ino "
+                                "%lld\n"),
                                be16_to_cpu(leaf->hdr.info.magic), id->ino);
                error++;
                return NULLFSINO;
@@ -2998,15 +2998,15 @@ process_leaf_dir_v1_int(
                lino = XFS_GET_DIR_INO8(namest->inumber);
                cid = find_inode(lino, 1);
                if (v)
-                       dbprintf("dir %lld entry %*.*s %lld\n", id->ino,
+                       dbprintf(_("dir %lld entry %*.*s %lld\n"), id->ino,
                                entry->namelen, entry->namelen, namest->name,
                                lino);
                if (cid)
                        addlink_inode(cid);
                else {
                        if (!sflag)
-                               dbprintf("dir %lld entry %*.*s bad inode "
-                                        "number %lld\n",
+                               dbprintf(_("dir %lld entry %*.*s bad inode "
+                                        "number %lld\n"),
                                        id->ino, entry->namelen, entry->namelen,
                                        namest->name, lino);
                        error++;
@@ -3015,8 +3015,8 @@ process_leaf_dir_v1_int(
                    namest->name[1] == '.') {
                        if (parent) {
                                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                                       dbprintf("multiple .. entries in dir "
-                                                "%lld (%lld, %lld)\n",
+                                       dbprintf(_("multiple .. entries in dir "
+                                                "%lld (%lld, %lld)\n"),
                                                id->ino, parent, lino);
                                error++;
                        } else
@@ -3032,8 +3032,8 @@ process_leaf_dir_v1_int(
                } else {
                        if (lino != id->ino) {
                                if (!sflag)
-                                       dbprintf("dir %lld entry . inode "
-                                                "number mismatch (%lld)\n",
+                                       dbprintf(_("dir %lld entry . inode "
+                                                "number mismatch (%lld)\n"),
                                                id->ino, lino);
                                error++;
                        }
@@ -3084,7 +3084,7 @@ process_leaf_node_dir_v2(
                                v = CHECK_BLIST(b);
                }
                if (v)
-                       dbprintf("dir inode %lld block %u=%llu\n", id->ino,
+                       dbprintf(_("dir inode %lld block %u=%llu\n"), id->ino,
                                (__uint32_t)dbno,
                                (xfs_dfsbno_t)bmp->startblock);
                push_cur();
@@ -3096,8 +3096,8 @@ process_leaf_node_dir_v2(
                free(bmp);
                if (iocur_top->data == NULL) {
                        if (!sflag || v)
-                               dbprintf("can't read block %u for directory "
-                                        "inode %lld\n",
+                               dbprintf(_("can't read block %u for directory "
+                                        "inode %lld\n"),
                                        (__uint32_t)dbno, id->ino);
                        error++;
                        pop_cur();
@@ -3110,8 +3110,8 @@ process_leaf_node_dir_v2(
                        if (lino) {
                                if (parent) {
                                        if (!sflag || v)
-                                               dbprintf("multiple .. entries "
-                                                        "in dir %lld\n",
+                                               dbprintf(_("multiple .. entries 
"
+                                                        "in dir %lld\n"),
                                                        id->ino);
                                        error++;
                                } else
@@ -3132,8 +3132,8 @@ process_leaf_node_dir_v2(
        for (i = 0; i < freetab->nents; i++) {
                if (freetab->ents[i] != NULLDATAOFF) {
                        if (!sflag || v)
-                               dbprintf("missing free index for data block %d "
-                                        "in dir ino %lld\n",
+                               dbprintf(_("missing free index for data block 
%d "
+                                        "in dir ino %lld\n"),
                                        xfs_dir2_db_to_da(mp, i), id->ino);
                        error++;
                }
@@ -3158,8 +3158,8 @@ process_leaf_node_dir_v2_free(
        free = iocur_top->data;
        if (be32_to_cpu(free->hdr.magic) != XFS_DIR2_FREE_MAGIC) {
                if (!sflag || v)
-                       dbprintf("bad free block magic # %#x for dir ino %lld "
-                                "block %d\n",
+                       dbprintf(_("bad free block magic # %#x for dir ino %lld 
"
+                                "block %d\n"),
                                be32_to_cpu(free->hdr.magic), id->ino, dabno);
                error++;
                return;
@@ -3168,8 +3168,8 @@ process_leaf_node_dir_v2_free(
        if (be32_to_cpu(free->hdr.firstdb) != xfs_dir2_da_to_db(mp, 
                                        dabno - mp->m_dirfreeblk) * maxent) {
                if (!sflag || v)
-                       dbprintf("bad free block firstdb %d for dir ino %lld "
-                                "block %d\n",
+                       dbprintf(_("bad free block firstdb %d for dir ino %lld "
+                                "block %d\n"),
                                be32_to_cpu(free->hdr.firstdb), id->ino, dabno);
                error++;
                return;
@@ -3181,8 +3181,8 @@ process_leaf_node_dir_v2_free(
                                be32_to_cpu(free->hdr.nused) > 
                                        be32_to_cpu(free->hdr.nvalid)) {
                if (!sflag || v)
-                       dbprintf("bad free block nvalid/nused %d/%d for dir "
-                                "ino %lld block %d\n",
+                       dbprintf(_("bad free block nvalid/nused %d/%d for dir "
+                                "ino %lld block %d\n"),
                                be32_to_cpu(free->hdr.nvalid), 
                                be32_to_cpu(free->hdr.nused), id->ino, dabno);
                error++;
@@ -3195,8 +3195,8 @@ process_leaf_node_dir_v2_free(
                        ent = freetab->ents[be32_to_cpu(free->hdr.firstdb) + i];
                if (ent != be16_to_cpu(free->bests[i])) {
                        if (!sflag || v)
-                               dbprintf("bad free block ent %d is %d should "
-                                        "be %d for dir ino %lld block %d\n",
+                               dbprintf(_("bad free block ent %d is %d should "
+                                        "be %d for dir ino %lld block %d\n"),
                                        i, be16_to_cpu(free->bests[i]), ent, 
                                        id->ino, dabno);
                        error++;
@@ -3209,8 +3209,8 @@ process_leaf_node_dir_v2_free(
        }
        if (used != be32_to_cpu(free->hdr.nused)) {
                if (!sflag || v)
-                       dbprintf("bad free block nused %d should be %d for dir "
-                                "ino %lld block %d\n",
+                       dbprintf(_("bad free block nused %d should be %d for 
dir "
+                                "ino %lld block %d\n"),
                                be32_to_cpu(free->hdr.nused), used, id->ino, 
                                dabno);
                error++;
@@ -3238,8 +3238,8 @@ process_leaf_node_dir_v2_int(
                if (be32_to_cpu(leaf->hdr.info.forw) || 
                                        be32_to_cpu(leaf->hdr.info.back)) {
                        if (!sflag || v)
-                               dbprintf("bad leaf block forw/back pointers "
-                                        "%d/%d for dir ino %lld block %d\n",
+                               dbprintf(_("bad leaf block forw/back pointers "
+                                        "%d/%d for dir ino %lld block %d\n"),
                                        be32_to_cpu(leaf->hdr.info.forw),
                                        be32_to_cpu(leaf->hdr.info.back), 
                                        id->ino, dabno);
@@ -3247,8 +3247,8 @@ process_leaf_node_dir_v2_int(
                }
                if (dabno != mp->m_dirleafblk) {
                        if (!sflag || v)
-                               dbprintf("single leaf block for dir ino %lld "
-                                        "block %d should be at block %d\n",
+                               dbprintf(_("single leaf block for dir ino %lld "
+                                        "block %d should be at block %d\n"),
                                        id->ino, dabno,
                                        (xfs_dablk_t)mp->m_dirleafblk);
                        error++;
@@ -3259,9 +3259,9 @@ process_leaf_node_dir_v2_int(
                        if (freetab->nents <= i || freetab->ents[i] != 
                                                be16_to_cpu(lbp[i])) {
                                if (!sflag || v)
-                                       dbprintf("bestfree %d for dir ino %lld "
+                                       dbprintf(_("bestfree %d for dir ino 
%lld "
                                                 "block %d doesn't match table "
-                                                "value %d\n",
+                                                "value %d\n"),
                                                freetab->nents <= i ?
                                                        NULLDATAOFF :
                                                        freetab->ents[i],
@@ -3283,8 +3283,8 @@ process_leaf_node_dir_v2_int(
                                        be16_to_cpu(node->hdr.level) > 
                                                        XFS_DA_NODE_MAXDEPTH) {
                        if (!sflag || v)
-                               dbprintf("bad node block level %d for dir ino "
-                                        "%lld block %d\n",
+                               dbprintf(_("bad node block level %d for dir ino 
"
+                                        "%lld block %d\n"),
                                        be16_to_cpu(node->hdr.level), id->ino, 
                                        dabno);
                        error++;
@@ -3292,8 +3292,8 @@ process_leaf_node_dir_v2_int(
                return;
        default:
                if (!sflag || v)
-                       dbprintf("bad directory data magic # %#x for dir ino "
-                                "%lld block %d\n",
+                       dbprintf(_("bad directory data magic # %#x for dir ino "
+                                "%lld block %d\n"),
                                be16_to_cpu(leaf->hdr.info.magic), id->ino, 
                                dabno);
                error++;
@@ -3306,8 +3306,8 @@ process_leaf_node_dir_v2_int(
                else if (dir_hash_see(be32_to_cpu(lep[i].hashval), 
                                                be32_to_cpu(lep[i].address))) {
                        if (!sflag || v)
-                               dbprintf("dir %lld block %d extra leaf entry "
-                                        "%x %x\n", id->ino, dabno, 
+                               dbprintf(_("dir %lld block %d extra leaf entry "
+                                        "%x %x\n"), id->ino, dabno, 
                                        be32_to_cpu(lep[i].hashval),
                                        be32_to_cpu(lep[i].address));
                        error++;
@@ -3315,8 +3315,8 @@ process_leaf_node_dir_v2_int(
        }
        if (stale != be16_to_cpu(leaf->hdr.stale)) {
                if (!sflag || v)
-                       dbprintf("dir %lld block %d stale mismatch "
-                                "%d/%d\n",
+                       dbprintf(_("dir %lld block %d stale mismatch "
+                                "%d/%d\n"),
                                 id->ino, dabno, stale,
                                 be16_to_cpu(leaf->hdr.stale));
                error++;
@@ -3347,13 +3347,13 @@ process_node_dir_v1(
                v2 = bno != NULLFSBLOCK && CHECK_BLIST(bno);
                if (bno == NULLFSBLOCK && dbno == 0) {
                        if (!sflag || v)
-                               dbprintf("can't read root block for directory "
-                                        "inode %lld\n",
+                               dbprintf(_("can't read root block for directory 
"
+                                        "inode %lld\n"),
                                        id->ino);
                        error++;
                }
                if (v || v2)
-                       dbprintf("dir inode %lld block %u=%llu\n", id->ino,
+                       dbprintf(_("dir inode %lld block %u=%llu\n"), id->ino,
                                (__uint32_t)dbno, (xfs_dfsbno_t)bno);
                if (bno == NULLFSBLOCK)
                        continue;
@@ -3363,8 +3363,8 @@ process_node_dir_v1(
                        DB_RING_IGN, NULL);
                if (iocur_top->data == NULL) {
                        if (!sflag || v || v2)
-                               dbprintf("can't read block %u for directory "
-                                        "inode %lld\n",
+                               dbprintf(_("can't read block %u for directory "
+                                        "inode %lld\n"),
                                        (__uint32_t)dbno, id->ino);
                        error++;
                        continue;
@@ -3376,8 +3376,8 @@ process_node_dir_v1(
                if (lino) {
                        if (parent) {
                                if (!sflag || v || v2)
-                                       dbprintf("multiple .. entries in dir "
-                                                "%lld\n",
+                                       dbprintf(_("multiple .. entries in dir "
+                                                "%lld\n"),
                                                id->ino);
                                error++;
                        } else
@@ -3436,8 +3436,8 @@ process_quota(
                        DB_RING_IGN, NULL);
                if ((dqb = iocur_top->data) == NULL) {
                        if (scicb)
-                               dbprintf("can't read block %lld for %s quota "
-                                        "inode (fsblock %lld)\n",
+                               dbprintf(_("can't read block %lld for %s quota "
+                                        "inode (fsblock %lld)\n"),
                                        (xfs_dfiloff_t)qbno, s,
                                        (xfs_dfsbno_t)bno);
                        error++;
@@ -3446,16 +3446,16 @@ process_quota(
                }
                for (i = 0; i < perblock; i++, dqid++, dqb++) {
                        if (verbose || id->ilist || cb)
-                               dbprintf("%s dqblk %lld entry %d id %u bc "
-                                        "%lld ic %lld rc %lld\n",
+                               dbprintf(_("%s dqblk %lld entry %d id %u bc "
+                                        "%lld ic %lld rc %lld\n"),
                                        s, (xfs_dfiloff_t)qbno, i, dqid,
                                        be64_to_cpu(dqb->dd_diskdq.d_bcount),
                                        be64_to_cpu(dqb->dd_diskdq.d_icount),
                                        be64_to_cpu(dqb->dd_diskdq.d_rtbcount));
                        if (be16_to_cpu(dqb->dd_diskdq.d_magic) != 
XFS_DQUOT_MAGIC) {
                                if (scicb)
-                                       dbprintf("bad magic number %#x for %s "
-                                                "dqblk %lld entry %d id %u\n",
+                                       dbprintf(_("bad magic number %#x for %s 
"
+                                                "dqblk %lld entry %d id %u\n"),
                                                
be16_to_cpu(dqb->dd_diskdq.d_magic), s,
                                                (xfs_dfiloff_t)qbno, i, dqid);
                                error++;
@@ -3463,9 +3463,9 @@ process_quota(
                        }
                        if (dqb->dd_diskdq.d_version != XFS_DQUOT_VERSION) {
                                if (scicb)
-                                       dbprintf("bad version number %#x for "
+                                       dbprintf(_("bad version number %#x for "
                                                 "%s dqblk %lld entry %d id "
-                                                "%u\n",
+                                                "%u\n"),
                                                dqb->dd_diskdq.d_version, s,
                                                (xfs_dfiloff_t)qbno, i, dqid);
                                error++;
@@ -3473,8 +3473,8 @@ process_quota(
                        }
                        if (dqb->dd_diskdq.d_flags != exp_flags) {
                                if (scicb)
-                                       dbprintf("bad flags %#x for %s dqblk "
-                                                "%lld entry %d id %u\n",
+                                       dbprintf(_("bad flags %#x for %s dqblk "
+                                                "%lld entry %d id %u\n"),
                                                dqb->dd_diskdq.d_flags, s,
                                                (xfs_dfiloff_t)qbno, i, dqid);
                                error++;
@@ -3482,8 +3482,8 @@ process_quota(
                        }
                        if (be32_to_cpu(dqb->dd_diskdq.d_id) != dqid) {
                                if (scicb)
-                                       dbprintf("bad id %u for %s dqblk %lld "
-                                                "entry %d id %u\n",
+                                       dbprintf(_("bad id %u for %s dqblk %lld 
"
+                                                "entry %d id %u\n"),
                                                
be32_to_cpu(dqb->dd_diskdq.d_id), s,
                                                (xfs_dfiloff_t)qbno, i, dqid);
                                error++;
@@ -3528,8 +3528,8 @@ process_rtbitmap(
                bno = blkmap_get(blkmap, bmbno);
                if (bno == NULLFSBLOCK) {
                        if (!sflag)
-                               dbprintf("block %lld for rtbitmap inode is "
-                                        "missing\n",
+                               dbprintf(_("block %lld for rtbitmap inode is "
+                                        "missing\n"),
                                        (xfs_dfiloff_t)bmbno);
                        error++;
                        continue;
@@ -3539,8 +3539,8 @@ process_rtbitmap(
                        DB_RING_IGN, NULL);
                if ((words = iocur_top->data) == NULL) {
                        if (!sflag)
-                               dbprintf("can't read block %lld for rtbitmap "
-                                        "inode\n",
+                               dbprintf(_("can't read block %lld for rtbitmap "
+                                        "inode\n"),
                                        (xfs_dfiloff_t)bmbno);
                        error++;
                        pop_cur();
@@ -3595,8 +3595,8 @@ process_rtsummary(
                bno = blkmap_get(blkmap, sumbno);
                if (bno == NULLFSBLOCK) {
                        if (!sflag)
-                               dbprintf("block %lld for rtsummary inode is "
-                                        "missing\n",
+                               dbprintf(_("block %lld for rtsummary inode is "
+                                        "missing\n"),
                                        (xfs_dfiloff_t)sumbno);
                        error++;
                        continue;
@@ -3606,8 +3606,8 @@ process_rtsummary(
                        blkbb, DB_RING_IGN, NULL);
                if ((bytes = iocur_top->data) == NULL) {
                        if (!sflag)
-                               dbprintf("can't read block %lld for rtsummary "
-                                        "inode\n",
+                               dbprintf(_("can't read block %lld for rtsummary 
"
+                                        "inode\n"),
                                        (xfs_dfiloff_t)sumbno);
                        error++;
                        pop_cur();
@@ -3639,7 +3639,7 @@ process_sf_dir_v2(
        addlink_inode(id);
        v = verbose || id->ilist;
        if (v)
-               dbprintf("dir %lld entry . %lld\n", id->ino, id->ino);
+               dbprintf(_("dir %lld entry . %lld\n"), id->ino, id->ino);
        (*dot)++;
        sfe = xfs_dir2_sf_firstentry(sf);
        offset = XFS_DIR2_DATA_FIRST_OFFSET;
@@ -3647,7 +3647,7 @@ process_sf_dir_v2(
                if ((__psint_t)sfe + xfs_dir2_sf_entsize_byentry(sf, sfe) -
                    (__psint_t)sf > be64_to_cpu(dip->di_core.di_size)) {
                        if (!sflag)
-                               dbprintf("dir %llu bad size in entry at %d\n",
+                               dbprintf(_("dir %llu bad size in entry at 
%d\n"),
                                        id->ino,
                                        (int)((char *)sfe - (char *)sf));
                        error++;
@@ -3659,8 +3659,8 @@ process_sf_dir_v2(
                cid = find_inode(lino, 1);
                if (cid == NULL) {
                        if (!sflag)
-                               dbprintf("dir %lld entry %*.*s bad inode "
-                                        "number %lld\n",
+                               dbprintf(_("dir %lld entry %*.*s bad inode "
+                                        "number %lld\n"),
                                        id->ino, sfe->namelen, sfe->namelen,
                                        sfe->name, lino);
                        error++;
@@ -3671,12 +3671,12 @@ process_sf_dir_v2(
                        addname_inode(cid, (char *)sfe->name, sfe->namelen);
                }
                if (v)
-                       dbprintf("dir %lld entry %*.*s offset %d %lld\n",
+                       dbprintf(_("dir %lld entry %*.*s offset %d %lld\n"),
                                id->ino, sfe->namelen, sfe->namelen, sfe->name,
                                xfs_dir2_sf_get_offset(sfe), lino);
                if (xfs_dir2_sf_get_offset(sfe) < offset) {
                        if (!sflag)
-                               dbprintf("dir %lld entry %*.*s bad offset %d\n",
+                               dbprintf(_("dir %lld entry %*.*s bad offset 
%d\n"),
                                        id->ino, sfe->namelen, sfe->namelen,
                                        sfe->name, xfs_dir2_sf_get_offset(sfe));
                        error++;
@@ -3689,7 +3689,7 @@ process_sf_dir_v2(
        if (i < 0 && (__psint_t)sfe - (__psint_t)sf != 
                                        be64_to_cpu(dip->di_core.di_size)) {
                if (!sflag)
-                       dbprintf("dir %llu size is %lld, should be %u\n",
+                       dbprintf(_("dir %llu size is %lld, should be %u\n"),
                                id->ino, be64_to_cpu(dip->di_core.di_size),
                                (uint)((char *)sfe - (char *)sf));
                error++;
@@ -3697,7 +3697,7 @@ process_sf_dir_v2(
        if (offset + (sf->hdr.count + 2) * sizeof(xfs_dir2_leaf_entry_t) +
            sizeof(xfs_dir2_block_tail_t) > mp->m_dirblksize) {
                if (!sflag)
-                       dbprintf("dir %llu offsets too high\n", id->ino);
+                       dbprintf(_("dir %llu offsets too high\n"), id->ino);
                error++;
        }
        lino = xfs_dir2_sf_get_inumber(sf, &sf->hdr.parent);
@@ -3708,16 +3708,16 @@ process_sf_dir_v2(
                addlink_inode(cid);
        else {
                if (!sflag)
-                       dbprintf("dir %lld entry .. bad inode number %lld\n",
+                       dbprintf(_("dir %lld entry .. bad inode number %lld\n"),
                                id->ino, lino);
                error++;
        }
        if (v)
-               dbprintf("dir %lld entry .. %lld\n", id->ino, lino);
+               dbprintf(_("dir %lld entry .. %lld\n"), id->ino, lino);
        if (i8 != sf->hdr.i8count) {
                if (!sflag)
-                       dbprintf("dir %lld i8count mismatch is %d should be "
-                                "%d\n",
+                       dbprintf(_("dir %lld i8count mismatch is %d should be "
+                                "%d\n"),
                                id->ino, sf->hdr.i8count, i8);
                error++;
        }
@@ -3743,7 +3743,7 @@ process_shortform_dir_v1(
        addlink_inode(id);
        v = verbose || id->ilist;
        if (v)
-               dbprintf("dir %lld entry . %lld\n", id->ino, id->ino);
+               dbprintf(_("dir %lld entry . %lld\n"), id->ino, id->ino);
        (*dot)++;
        sfe = &sf->list[0];
        for (i = sf->hdr.count - 1; i >= 0; i--) {
@@ -3751,8 +3751,8 @@ process_shortform_dir_v1(
                cid = find_inode(lino, 1);
                if (cid == NULL) {
                        if (!sflag)
-                               dbprintf("dir %lld entry %*.*s bad inode "
-                                        "number %lld\n",
+                               dbprintf(_("dir %lld entry %*.*s bad inode "
+                                        "number %lld\n"),
                                        id->ino, sfe->namelen, sfe->namelen,
                                        sfe->name, lino);
                        error++;
@@ -3763,12 +3763,12 @@ process_shortform_dir_v1(
                        addname_inode(cid, (char *)sfe->name, sfe->namelen);
                }
                if (v)
-                       dbprintf("dir %lld entry %*.*s %lld\n", id->ino,
+                       dbprintf(_("dir %lld entry %*.*s %lld\n"), id->ino,
                                sfe->namelen, sfe->namelen, sfe->name, lino);
                sfe = xfs_dir_sf_nextentry(sfe);
        }
        if ((__psint_t)sfe - (__psint_t)sf != be64_to_cpu(dip->di_core.di_size))
-               dbprintf("dir %llu size is %lld, should be %d\n",
+               dbprintf(_("dir %llu size is %lld, should be %d\n"),
                        id->ino, be64_to_cpu(dip->di_core.di_size),
                        (int)((char *)sfe - (char *)sf));
        lino = XFS_GET_DIR_INO8(sf->hdr.parent);
@@ -3777,12 +3777,12 @@ process_shortform_dir_v1(
                addlink_inode(cid);
        else {
                if (!sflag)
-                       dbprintf("dir %lld entry .. bad inode number %lld\n",
+                       dbprintf(_("dir %lld entry .. bad inode number %lld\n"),
                                id->ino, lino);
                error++;
        }
        if (v)
-               dbprintf("dir %lld entry .. %lld\n", id->ino, lino);
+               dbprintf(_("dir %lld entry .. %lld\n"), id->ino, lino);
        (*dotdot)++;
        return cid ? lino : NULLFSINO;
 }
@@ -3859,18 +3859,18 @@ quota_check(
                            qp->count.ic != qp->dq.ic ||
                            qp->count.rc != qp->dq.rc) {
                                if (!sflag) {
-                                       dbprintf("%s quota id %u, have/exp",
+                                       dbprintf(_("%s quota id %u, have/exp"),
                                                s, qp->id);
                                        if (qp->count.bc != qp->dq.bc)
-                                               dbprintf(" bc %lld/%lld",
+                                               dbprintf(_(" bc %lld/%lld"),
                                                        qp->dq.bc,
                                                        qp->count.bc);
                                        if (qp->count.ic != qp->dq.ic)
-                                               dbprintf(" ic %lld/%lld",
+                                               dbprintf(_(" ic %lld/%lld"),
                                                        qp->dq.ic,
                                                        qp->count.ic);
                                        if (qp->count.rc != qp->dq.rc)
-                                               dbprintf(" rc %lld/%lld",
+                                               dbprintf(_(" rc %lld/%lld"),
                                                        qp->dq.rc,
                                                        qp->count.rc);
                                        dbprintf("\n");
@@ -3926,7 +3926,7 @@ scan_ag(
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
 
        if (!iocur_top->data) {
-               dbprintf("can't read superblock for ag %u\n", agno);
+               dbprintf(_("can't read superblock for ag %u\n"), agno);
                serious_error++;
                goto pop1_out;
        }
@@ -3935,13 +3935,13 @@ scan_ag(
 
        if (sb->sb_magicnum != XFS_SB_MAGIC) {
                if (!sflag)
-                       dbprintf("bad sb magic # %#x in ag %u\n",
+                       dbprintf(_("bad sb magic # %#x in ag %u\n"),
                                sb->sb_magicnum, agno);
                error++;
        }
        if (!xfs_sb_good_version(sb)) {
                if (!sflag)
-                       dbprintf("bad sb version # %#x in ag %u\n",
+                       dbprintf(_("bad sb version # %#x in ag %u\n"),
                                sb->sb_versionnum, agno);
                error++;
                sbver_err++;
@@ -3951,7 +3951,7 @@ scan_ag(
        }
        if (agno == 0 && sb->sb_inprogress != 0) {
                if (!sflag)
-                       dbprintf("mkfs not completed successfully\n");
+                       dbprintf(_("mkfs not completed successfully\n"));
                error++;
        }
        set_dbmap(agno, XFS_SB_BLOCK(mp), 1, DBM_SB, agno, XFS_SB_BLOCK(mp));
@@ -3963,19 +3963,19 @@ scan_ag(
                XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)),
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
        if ((agf = iocur_top->data) == NULL) {
-               dbprintf("can't read agf block for ag %u\n", agno);
+               dbprintf(_("can't read agf block for ag %u\n"), agno);
                serious_error++;
                goto pop2_out;
        }
        if (be32_to_cpu(agf->agf_magicnum) != XFS_AGF_MAGIC) {
                if (!sflag)
-                       dbprintf("bad agf magic # %#x in ag %u\n",
+                       dbprintf(_("bad agf magic # %#x in ag %u\n"),
                                be32_to_cpu(agf->agf_magicnum), agno);
                error++;
        }
        if (!XFS_AGF_GOOD_VERSION(be32_to_cpu(agf->agf_versionnum))) {
                if (!sflag)
-                       dbprintf("bad agf version # %#x in ag %u\n",
+                       dbprintf(_("bad agf version # %#x in ag %u\n"),
                                be32_to_cpu(agf->agf_versionnum), agno);
                error++;
        }
@@ -3991,19 +3991,19 @@ scan_ag(
                XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)),
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
        if ((agi = iocur_top->data) == NULL) {
-               dbprintf("can't read agi block for ag %u\n", agno);
+               dbprintf(_("can't read agi block for ag %u\n"), agno);
                serious_error++;
                goto pop3_out;
        }
        if (be32_to_cpu(agi->agi_magicnum) != XFS_AGI_MAGIC) {
                if (!sflag)
-                       dbprintf("bad agi magic # %#x in ag %u\n",
+                       dbprintf(_("bad agi magic # %#x in ag %u\n"),
                                be32_to_cpu(agi->agi_magicnum), agno);
                error++;
        }
        if (!XFS_AGI_GOOD_VERSION(be32_to_cpu(agi->agi_versionnum))) {
                if (!sflag)
-                       dbprintf("bad agi version # %#x in ag %u\n",
+                       dbprintf(_("bad agi version # %#x in ag %u\n"),
                                be32_to_cpu(agi->agi_versionnum), agno);
                error++;
        }
@@ -4028,14 +4028,14 @@ scan_ag(
                1, scanfunc_ino, TYP_INOBT);
        if (be32_to_cpu(agf->agf_freeblks) != agffreeblks) {
                if (!sflag)
-                       dbprintf("agf_freeblks %u, counted %u in ag %u\n",
+                       dbprintf(_("agf_freeblks %u, counted %u in ag %u\n"),
                                be32_to_cpu(agf->agf_freeblks),
                                agffreeblks, agno);
                error++;
        }
        if (be32_to_cpu(agf->agf_longest) != agflongest) {
                if (!sflag)
-                       dbprintf("agf_longest %u, counted %u in ag %u\n",
+                       dbprintf(_("agf_longest %u, counted %u in ag %u\n"),
                                be32_to_cpu(agf->agf_longest),
                                agflongest, agno);
                error++;
@@ -4043,7 +4043,7 @@ scan_ag(
        if (lazycount &&
            be32_to_cpu(agf->agf_btreeblks) != agfbtreeblks) {
                if (!sflag)
-                       dbprintf("agf_btreeblks %u, counted %u in ag %u\n",
+                       dbprintf(_("agf_btreeblks %u, counted %u in ag %u\n"),
                                be32_to_cpu(agf->agf_btreeblks),
                                agfbtreeblks, agno);
                error++;
@@ -4051,14 +4051,14 @@ scan_ag(
        agf_aggr_freeblks += agffreeblks + agfbtreeblks;
        if (be32_to_cpu(agi->agi_count) != agicount) {
                if (!sflag)
-                       dbprintf("agi_count %u, counted %u in ag %u\n",
+                       dbprintf(_("agi_count %u, counted %u in ag %u\n"),
                                be32_to_cpu(agi->agi_count),
                                agicount, agno);
                error++;
        }
        if (be32_to_cpu(agi->agi_freecount) != agifreecount) {
                if (!sflag)
-                       dbprintf("agi_freecount %u, counted %u in ag %u\n",
+                       dbprintf(_("agi_freecount %u, counted %u in ag %u\n"),
                                be32_to_cpu(agi->agi_freecount),
                                agifreecount, agno);
                error++;
@@ -4067,8 +4067,8 @@ scan_ag(
                if (be32_to_cpu(agi->agi_unlinked[i]) != NULLAGINO) {
                        if (!sflag) {
                                xfs_agino_t 
agino=be32_to_cpu(agi->agi_unlinked[i]);
-                               dbprintf("agi unlinked bucket %d is %u in ag "
-                                        "%u (inode=%lld)\n", i, agino, agno,
+                               dbprintf(_("agi unlinked bucket %d is %u in ag "
+                                        "%u (inode=%lld)\n"), i, agino, agno,
                                        XFS_AGINO_TO_INO(mp, agno, agino));
                        }
                        error++;
@@ -4104,7 +4104,7 @@ scan_freelist(
                XFS_AG_DADDR(mp, seqno, XFS_AGFL_DADDR(mp)),
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
        if ((agfl = iocur_top->data) == NULL) {
-               dbprintf("can't read agfl block for ag %u\n", seqno);
+               dbprintf(_("can't read agfl block for ag %u\n"), seqno);
                serious_error++;
                pop_cur();
                return;
@@ -4123,7 +4123,7 @@ scan_freelist(
        }
        if (count != be32_to_cpu(agf->agf_flcount)) {
                if (!sflag)
-                       dbprintf("freeblk count %u != flcount %u in ag %u\n",
+                       dbprintf(_("freeblk count %u != flcount %u in ag %u\n"),
                                count, be32_to_cpu(agf->agf_flcount),
                                seqno);
                error++;
@@ -4152,7 +4152,7 @@ scan_lbtree(
                NULL);
        if (iocur_top->data == NULL) {
                if (!sflag)
-                       dbprintf("can't read btree block %u/%u\n",
+                       dbprintf(_("can't read btree block %u/%u\n"),
                                XFS_FSB_TO_AGNO(mp, root),
                                XFS_FSB_TO_AGBNO(mp, root));
                error++;
@@ -4180,7 +4180,7 @@ scan_sbtree(
                XFS_AGB_TO_DADDR(mp, seqno, root), blkbb, DB_RING_IGN, NULL);
        if (iocur_top->data == NULL) {
                if (!sflag)
-                       dbprintf("can't read btree block %u/%u\n", seqno, root);
+                       dbprintf(_("can't read btree block %u/%u\n"), seqno, 
root);
                error++;
                pop_cur();
                return;
@@ -4213,15 +4213,15 @@ scanfunc_bmap(
        agbno = XFS_FSB_TO_AGBNO(mp, bno);
        if (be32_to_cpu(block->bb_magic) != XFS_BMAP_MAGIC) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad magic # %#x in inode %lld bmbt block "
-                                "%u/%u\n",
+                       dbprintf(_("bad magic # %#x in inode %lld bmbt block "
+                                "%u/%u\n"),
                                be32_to_cpu(block->bb_magic), id->ino, agno, 
agbno);
                error++;
        }
        if (be16_to_cpu(block->bb_level) != level) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("expected level %d got %d in inode %lld bmbt "
-                                "block %u/%u\n",
+                       dbprintf(_("expected level %d got %d in inode %lld bmbt 
"
+                                "block %u/%u\n"),
                                level, be16_to_cpu(block->bb_level), id->ino, 
agno, agbno);
                error++;
        }
@@ -4232,8 +4232,8 @@ scanfunc_bmap(
                if (be16_to_cpu(block->bb_numrecs) > mp->m_bmap_dmxr[0] ||
                    (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_bmap_dmnr[0])) {
                        if (!sflag || id->ilist || CHECK_BLIST(bno))
-                               dbprintf("bad btree nrecs (%u, min=%u, max=%u) "
-                                        "in inode %lld bmap block %lld\n",
+                               dbprintf(_("bad btree nrecs (%u, min=%u, 
max=%u) "
+                                        "in inode %lld bmap block %lld\n"),
                                        be16_to_cpu(block->bb_numrecs), 
mp->m_bmap_dmnr[0],
                                        mp->m_bmap_dmxr[0], id->ino,
                                        (xfs_dfsbno_t)bno);
@@ -4249,8 +4249,8 @@ scanfunc_bmap(
        if (be16_to_cpu(block->bb_numrecs) > mp->m_bmap_dmxr[1] ||
            (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_bmap_dmnr[1])) {
                if (!sflag || id->ilist || CHECK_BLIST(bno))
-                       dbprintf("bad btree nrecs (%u, min=%u, max=%u) in "
-                                "inode %lld bmap block %lld\n",
+                       dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in "
+                                "inode %lld bmap block %lld\n"),
                                be16_to_cpu(block->bb_numrecs), 
mp->m_bmap_dmnr[1],
                                mp->m_bmap_dmxr[1], id->ino, (xfs_dfsbno_t)bno);
                error++;
@@ -4277,7 +4277,7 @@ scanfunc_bno(
        xfs_agblock_t           lastblock;
 
        if (be32_to_cpu(block->bb_magic) != XFS_ABTB_MAGIC) {
-               dbprintf("bad magic # %#x in btbno block %u/%u\n",
+               dbprintf(_("bad magic # %#x in btbno block %u/%u\n"),
                        be32_to_cpu(block->bb_magic), seqno, bno);
                serious_error++;
                return;
@@ -4286,8 +4286,8 @@ scanfunc_bno(
        agfbtreeblks++;
        if (be16_to_cpu(block->bb_level) != level) {
                if (!sflag)
-                       dbprintf("expected level %d got %d in btbno block "
-                                "%u/%u\n",
+                       dbprintf(_("expected level %d got %d in btbno block "
+                                "%u/%u\n"),
                                level, be16_to_cpu(block->bb_level), seqno, 
bno);
                error++;
        }
@@ -4295,8 +4295,8 @@ scanfunc_bno(
        if (level == 0) {
                if (be16_to_cpu(block->bb_numrecs) > mp->m_alloc_mxr[0] ||
                    (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_alloc_mnr[0])) {
-                       dbprintf("bad btree nrecs (%u, min=%u, max=%u) in "
-                                "btbno block %u/%u\n",
+                       dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in "
+                                "btbno block %u/%u\n"),
                                be16_to_cpu(block->bb_numrecs), 
mp->m_alloc_mnr[0],
                                mp->m_alloc_mxr[0], seqno, bno);
                        serious_error++;
@@ -4309,8 +4309,8 @@ scanfunc_bno(
                                be32_to_cpu(rp[i].ar_blockcount), DBM_FREE1,
                                seqno, bno);
                        if (be32_to_cpu(rp[i].ar_startblock) <= lastblock) {
-                               dbprintf(
-               "out-of-order bno btree record %d (%u %u) block %u/%u\n",
+                               dbprintf(_(
+               "out-of-order bno btree record %d (%u %u) block %u/%u\n"),
                                i, be32_to_cpu(rp[i].ar_startblock),
                                be32_to_cpu(rp[i].ar_blockcount),
                                be32_to_cpu(agf->agf_seqno), bno);
@@ -4323,8 +4323,8 @@ scanfunc_bno(
        }
        if (be16_to_cpu(block->bb_numrecs) > mp->m_alloc_mxr[1] ||
            (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_alloc_mnr[1])) {
-               dbprintf("bad btree nrecs (%u, min=%u, max=%u) in btbno block "
-                        "%u/%u\n",
+               dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in btbno block 
"
+                        "%u/%u\n"),
                        be16_to_cpu(block->bb_numrecs), mp->m_alloc_mnr[1],
                        mp->m_alloc_mxr[1], seqno, bno);
                serious_error++;
@@ -4350,7 +4350,7 @@ scanfunc_cnt(
        xfs_extlen_t            lastcount;
 
        if (be32_to_cpu(block->bb_magic) != XFS_ABTC_MAGIC) {
-               dbprintf("bad magic # %#x in btcnt block %u/%u\n",
+               dbprintf(_("bad magic # %#x in btcnt block %u/%u\n"),
                        be32_to_cpu(block->bb_magic), seqno, bno);
                serious_error++;
                return;
@@ -4359,8 +4359,8 @@ scanfunc_cnt(
        agfbtreeblks++;
        if (be16_to_cpu(block->bb_level) != level) {
                if (!sflag)
-                       dbprintf("expected level %d got %d in btcnt block "
-                                "%u/%u\n",
+                       dbprintf(_("expected level %d got %d in btcnt block "
+                                "%u/%u\n"),
                                level, be16_to_cpu(block->bb_level), seqno, 
bno);
                error++;
        }
@@ -4368,8 +4368,8 @@ scanfunc_cnt(
        if (level == 0) {
                if (be16_to_cpu(block->bb_numrecs) > mp->m_alloc_mxr[0] ||
                    (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_alloc_mnr[0])) {
-                       dbprintf("bad btree nrecs (%u, min=%u, max=%u) in "
-                                "btbno block %u/%u\n",
+                       dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in "
+                                "btbno block %u/%u\n"),
                                be16_to_cpu(block->bb_numrecs), 
mp->m_alloc_mnr[0],
                                mp->m_alloc_mxr[0], seqno, bno);
                        serious_error++;
@@ -4386,8 +4386,8 @@ scanfunc_cnt(
                        if (be32_to_cpu(rp[i].ar_blockcount) > agflongest)
                                agflongest = be32_to_cpu(rp[i].ar_blockcount);
                        if (be32_to_cpu(rp[i].ar_blockcount) < lastcount) {
-                               dbprintf(
-               "out-of-order cnt btree record %d (%u %u) block %u/%u\n",
+                               dbprintf(_(
+               "out-of-order cnt btree record %d (%u %u) block %u/%u\n"),
                                         i, be32_to_cpu(rp[i].ar_startblock),
                                         be32_to_cpu(rp[i].ar_blockcount),
                                         be32_to_cpu(agf->agf_seqno), bno);
@@ -4399,8 +4399,8 @@ scanfunc_cnt(
        }
        if (be16_to_cpu(block->bb_numrecs) > mp->m_alloc_mxr[1] ||
            (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_alloc_mnr[1])) {
-               dbprintf("bad btree nrecs (%u, min=%u, max=%u) in btbno block "
-                        "%u/%u\n",
+               dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in btbno block 
"
+                        "%u/%u\n"),
                        be16_to_cpu(block->bb_numrecs), mp->m_alloc_mnr[1],
                        mp->m_alloc_mxr[1], seqno, bno);
                serious_error++;
@@ -4430,15 +4430,15 @@ scanfunc_ino(
        xfs_inobt_rec_t         *rp;
 
        if (be32_to_cpu(block->bb_magic) != XFS_IBT_MAGIC) {
-               dbprintf("bad magic # %#x in inobt block %u/%u\n",
+               dbprintf(_("bad magic # %#x in inobt block %u/%u\n"),
                        be32_to_cpu(block->bb_magic), seqno, bno);
                serious_error++;
                return;
        }
        if (be16_to_cpu(block->bb_level) != level) {
                if (!sflag)
-                       dbprintf("expected level %d got %d in inobt block "
-                                "%u/%u\n",
+                       dbprintf(_("expected level %d got %d in inobt block "
+                                "%u/%u\n"),
                                level, be16_to_cpu(block->bb_level), seqno, 
bno);
                error++;
        }
@@ -4446,8 +4446,8 @@ scanfunc_ino(
        if (level == 0) {
                if (be16_to_cpu(block->bb_numrecs) > mp->m_inobt_mxr[0] ||
                    (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_inobt_mnr[0])) {
-                       dbprintf("bad btree nrecs (%u, min=%u, max=%u) in "
-                                "inobt block %u/%u\n",
+                       dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in "
+                                "inobt block %u/%u\n"),
                                be16_to_cpu(block->bb_numrecs), 
mp->m_inobt_mnr[0],
                                mp->m_inobt_mxr[0], seqno, bno);
                        serious_error++;
@@ -4481,8 +4481,8 @@ scanfunc_ino(
                                DB_RING_IGN, NULL);
                        if (iocur_top->data == NULL) {
                                if (!sflag)
-                                       dbprintf("can't read inode block "
-                                                "%u/%u\n",
+                                       dbprintf(_("can't read inode block "
+                                                "%u/%u\n"),
                                                seqno,
                                                XFS_AGINO_TO_AGBNO(mp, agino));
                                error++;
@@ -4499,9 +4499,9 @@ scanfunc_ino(
                        }
                        if (nfree != be32_to_cpu(rp[i].ir_freecount)) {
                                if (!sflag)
-                                       dbprintf("ir_freecount/free mismatch, "
+                                       dbprintf(_("ir_freecount/free mismatch, 
"
                                                 "inode chunk %u/%u, freecount "
-                                                "%d nfree %d\n",
+                                                "%d nfree %d\n"),
                                                seqno, agino,
                                                
be32_to_cpu(rp[i].ir_freecount), nfree);
                                error++;
@@ -4512,8 +4512,8 @@ scanfunc_ino(
        }
        if (be16_to_cpu(block->bb_numrecs) > mp->m_inobt_mxr[1] ||
            (isroot == 0 && be16_to_cpu(block->bb_numrecs) < 
mp->m_inobt_mnr[1])) {
-               dbprintf("bad btree nrecs (%u, min=%u, max=%u) in inobt block "
-                        "%u/%u\n",
+               dbprintf(_("bad btree nrecs (%u, min=%u, max=%u) in inobt block 
"
+                        "%u/%u\n"),
                        be16_to_cpu(block->bb_numrecs), mp->m_inobt_mnr[1],
                        mp->m_inobt_mxr[1], seqno, bno);
                serious_error++;
@@ -4554,7 +4554,7 @@ set_inomap(
                *idp = id;
                if (mayprint &&
                    (verbose || id->ilist || CHECK_BLISTA(agno, agbno + i)))
-                       dbprintf("setting inode to %lld for block %u/%u\n",
+                       dbprintf(_("setting inode to %lld for block %u/%u\n"),
                                id->ino, agno, agbno + i);
        }
 }
@@ -4586,7 +4586,7 @@ set_rinomap(
             i++, idp++) {
                *idp = id;
                if (mayprint && (verbose || id->ilist || CHECK_BLIST(bno + i)))
-                       dbprintf("setting inode to %lld for rtblock %llu\n",
+                       dbprintf(_("setting inode to %lld for rtblock %llu\n"),
                                id->ino, bno + i);
        }
 }
@@ -4602,6 +4602,6 @@ setlink_inode(
        id->isdir = isdir;
        id->security = security;
        if (verbose || id->ilist)
-               dbprintf("inode %lld nlink %u %s dir\n", id->ino, nlink,
+               dbprintf(_("inode %lld nlink %u %s dir\n"), id->ino, nlink,
                        isdir ? "is" : "not");
 }
diff --git a/db/command.c b/db/command.c
index 442fe25..b7e3165 100644
--- a/db/command.c
+++ b/db/command.c
@@ -79,18 +79,18 @@ command(
        cmd = argv[0];
        ct = find_command(cmd);
        if (ct == NULL) {
-               dbprintf("command %s not found\n", cmd);
+               dbprintf(_("command %s not found\n"), cmd);
                return 0;
        }
        if (argc-1 < ct->argmin || (ct->argmax != -1 && argc-1 > ct->argmax)) {
-               dbprintf("bad argument count %d to %s, expected ", argc-1, cmd);
+               dbprintf(_("bad argument count %d to %s, expected "), argc-1, 
cmd);
                if (ct->argmax == -1)
-                       dbprintf("at least %d", ct->argmin);
+                       dbprintf(_("at least %d"), ct->argmin);
                else if (ct->argmin == ct->argmax)
                        dbprintf("%d", ct->argmin);
                else
-                       dbprintf("between %d and %d", ct->argmin, ct->argmax);
-               dbprintf(" arguments\n");
+                       dbprintf(_("between %d and %d"), ct->argmin, 
ct->argmax);
+               dbprintf(_(" arguments\n"));
                return 0;
        }
        platform_getoptreset();
diff --git a/db/convert.c b/db/convert.c
index 689eb0d..070ac1a 100644
--- a/db/convert.c
+++ b/db/convert.c
@@ -168,27 +168,27 @@ convert_f(int argc, char **argv)
        argv++;
 
        if ((argc % 2) != 1) {
-               dbprintf("bad argument count %d to convert, expected 3,5,7,9 "
-                        "arguments\n", argc);
+               dbprintf(_("bad argument count %d to convert, expected 3,5,7,9 "
+                        "arguments\n"), argc);
                return 0;
        }
        if ((wtype = lookupcty(argv[argc - 1])) == CT_NONE) {
-               dbprintf("unknown conversion type %s\n", argv[argc - 1]);
+               dbprintf(_("unknown conversion type %s\n"), argv[argc - 1]);
                return 0;
        }
 
        for (i = mask = conmask = 0; i < (argc - 1) / 2; i++) {
                c = lookupcty(argv[i * 2]);
                if (c == CT_NONE) {
-                       dbprintf("unknown conversion type %s\n", argv[i * 2]);
+                       dbprintf(_("unknown conversion type %s\n"), argv[i * 
2]);
                        return 0;
                }
                if (c == wtype) {
-                       dbprintf("result type same as argument\n");
+                       dbprintf(_("result type same as argument\n"));
                        return 0;
                }
                if (conmask & (1 << c)) {
-                       dbprintf("conflicting conversion type %s\n",
+                       dbprintf(_("conflicting conversion type %s\n"),
                                argv[i * 2]);
                        return 0;
                }
@@ -267,7 +267,7 @@ getvalue(char *s, ctype_t ctype, cval_t *val)
 
        v = strtoull(s, &p, 0);
        if (*p != '\0') {
-               dbprintf("%s is not a number\n", s);
+               dbprintf(_("%s is not a number\n"), s);
                return 0;
        }
        switch (ctype) {
diff --git a/db/debug.c b/db/debug.c
index aacc302..07a2482 100644
--- a/db/debug.c
+++ b/db/debug.c
@@ -24,8 +24,8 @@
 static int     debug_f(int argc, char **argv);
 
 static const cmdinfo_t debug_cmd =
-       { "debug", NULL, debug_f, 0, 1, 0, "[flagbits]",
-         "set debug option bits", NULL };
+       { "debug", NULL, debug_f, 0, 1, 0, N_("[flagbits]"),
+         N_("set debug option bits"), NULL };
 
 long   debug_state;
 
@@ -39,7 +39,7 @@ debug_f(
        if (argc > 1) {
                debug_state = strtol(argv[1], &p, 0);
                if (*p != '\0') {
-                       dbprintf("bad value for debug %s\n", argv[1]);
+                       dbprintf(_("bad value for debug %s\n"), argv[1]);
                        return 0;
                }
        }
diff --git a/db/dquot.c b/db/dquot.c
index 283939d..daa47a3 100644
--- a/db/dquot.c
+++ b/db/dquot.c
@@ -34,8 +34,8 @@ static int    dquot_f(int argc, char **argv);
 static void    dquot_help(void);
 
 static const cmdinfo_t dquot_cmd =
-       { "dquot", NULL, dquot_f, 1, 2, 1, "[projid|gid|uid]",
-         "set current address to project, group or user quota block", 
dquot_help };
+       { "dquot", NULL, dquot_f, 1, 2, 1, N_("[projid|gid|uid]"),
+         N_("set current address to project, group or user quota block"), 
dquot_help };
 
 const field_t  dqblk_hfld[] = {
        { "", FLDT_DQBLK, OI(0), C1, 0, TYP_NONE },
@@ -121,25 +121,25 @@ dquot_f(
                        dogrp = doprj = 0;
                        break;
                default:
-                       dbprintf("bad option for dquot command\n");
+                       dbprintf(_("bad option for dquot command\n"));
                        return 0;
                }
        }
-       s = doprj ? "project" : dogrp ? "group" : "user";
+       s = doprj ? _("project") : dogrp ? _("group") : _("user");
        if (optind != argc - 1) {
-               dbprintf("dquot command requires one %s id argument\n", s);
+               dbprintf(_("dquot command requires one %s id argument\n"), s);
                return 0;
        }
        ino = (dogrp || doprj) ? mp->m_sb.sb_gquotino : mp->m_sb.sb_uquotino;
        if (ino == 0 || ino == NULLFSINO ||
            (dogrp && (mp->m_sb.sb_qflags & XFS_PQUOTA_ACCT)) ||
            (doprj && (mp->m_sb.sb_qflags & XFS_GQUOTA_ACCT))) {
-               dbprintf("no %s quota inode present\n", s);
+               dbprintf(_("no %s quota inode present\n"), s);
                return 0;
        }
        id = (xfs_dqid_t)strtol(argv[optind], &p, 0);
        if (*p != '\0') {
-               dbprintf("bad %s id for dquot %s\n", s, argv[optind]);
+               dbprintf(_("bad %s id for dquot %s\n"), s, argv[optind]);
                return 0;
        }
        perblock = (int)(mp->m_sb.sb_blocksize / sizeof(xfs_dqblk_t));
@@ -151,7 +151,7 @@ dquot_f(
        bmap(qbno, 1, XFS_DATA_FORK, &nex, &bm);
        pop_cur();
        if (nex == 0) {
-               dbprintf("no %s quota data for id %d\n", s, id);
+               dbprintf(_("no %s quota data for id %d\n"), s, id);
                return 0;
        }
        set_cur(&typtab[TYP_DQBLK], XFS_FSB_TO_DADDR(mp, bm.startblock), blkbb,
diff --git a/db/echo.c b/db/echo.c
index 9e62567..813187b 100644
--- a/db/echo.c
+++ b/db/echo.c
@@ -24,8 +24,8 @@
 static int     echo_f(int argc, char **argv);
 
 static const cmdinfo_t echo_cmd =
-       { "echo", NULL, echo_f, 0, -1, 0, "[args]...",
-         "echo arguments", NULL };
+       { "echo", NULL, echo_f, 0, -1, 0, N_("[args]..."),
+         N_("echo arguments"), NULL };
 
 /*ARGSUSED*/
 static int
diff --git a/db/faddr.c b/db/faddr.c
index 26c3676..d092663 100644
--- a/db/faddr.c
+++ b/db/faddr.c
@@ -37,12 +37,12 @@ fa_agblock(
        xfs_agblock_t   bno;
 
        if (cur_agno == NULLAGNUMBER) {
-               dbprintf("no current allocation group, cannot set new addr\n");
+               dbprintf(_("no current allocation group, cannot set new 
addr\n"));
                return;
        }
        bno = (xfs_agblock_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLAGBLOCK) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        ASSERT(typtab[next].typnm == next);
@@ -60,12 +60,12 @@ fa_agino(
        xfs_agino_t     agino;
 
        if (cur_agno == NULLAGNUMBER) {
-               dbprintf("no current allocation group, cannot set new addr\n");
+               dbprintf(_("no current allocation group, cannot set new 
addr\n"));
                return;
        }
        agino = (xfs_agino_t)getbitval(obj, bit, bitsz(agino), BVUNSIGNED);
        if (agino == NULLAGINO) {
-               dbprintf("null inode number, cannot set new addr\n");
+               dbprintf(_("null inode number, cannot set new addr\n"));
                return;
        }
        set_cur_inode(XFS_AGINO_TO_INO(mp, cur_agno, agino));
@@ -85,13 +85,13 @@ fa_attrblock(
 
        bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == 0) {
-               dbprintf("null attribute block number, cannot set new addr\n");
+               dbprintf(_("null attribute block number, cannot set new 
addr\n"));
                return;
        }
        nex = 1;
        bmap(bno, 1, XFS_ATTR_FORK, &nex, &bm);
        if (nex == 0) {
-               dbprintf("attribute block is unmapped\n");
+               dbprintf(_("attribute block is unmapped\n"));
                return;
        }
        dfsbno = bm.startblock + (bno - bm.startoff);
@@ -114,13 +114,13 @@ fa_cfileoffa(
        bno = (xfs_dfiloff_t)getbitval(obj, bit, BMBT_STARTOFF_BITLEN,
                BVUNSIGNED);
        if (bno == NULLDFILOFF) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        nex = 1;
        bmap(bno, 1, XFS_ATTR_FORK, &nex, &bm);
        if (nex == 0) {
-               dbprintf("file block is unmapped\n");
+               dbprintf(_("file block is unmapped\n"));
                return;
        }
        dfsbno = bm.startblock + (bno - bm.startoff);
@@ -145,14 +145,14 @@ fa_cfileoffd(
        bno = (xfs_dfiloff_t)getbitval(obj, bit, BMBT_STARTOFF_BITLEN,
                BVUNSIGNED);
        if (bno == NULLDFILOFF) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        nex = nb = next == TYP_DIR2 ? mp->m_dirblkfsbs : 1;
        bmp = malloc(nb * sizeof(*bmp));
        bmap(bno, nb, XFS_DATA_FORK, &nex, bmp);
        if (nex == 0) {
-               dbprintf("file block is unmapped\n");
+               dbprintf(_("file block is unmapped\n"));
                free(bmp);
                return;
        }
@@ -177,7 +177,7 @@ fa_cfsblock(
        bno = (xfs_dfsbno_t)getbitval(obj, bit, BMBT_STARTBLOCK_BITLEN,
                BVUNSIGNED);
        if (bno == NULLDFSBNO) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        nb = next == TYP_DIR2 ? mp->m_dirblkfsbs : 1;
@@ -199,13 +199,13 @@ fa_dfiloffa(
 
        bno = (xfs_dfiloff_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLDFILOFF) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        nex = 1;
        bmap(bno, 1, XFS_ATTR_FORK, &nex, &bm);
        if (nex == 0) {
-               dbprintf("file block is unmapped\n");
+               dbprintf(_("file block is unmapped\n"));
                return;
        }
        dfsbno = bm.startblock + (bno - bm.startoff);
@@ -229,14 +229,14 @@ fa_dfiloffd(
 
        bno = (xfs_dfiloff_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLDFILOFF) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        nex = nb = next == TYP_DIR2 ? mp->m_dirblkfsbs : 1;
        bmp = malloc(nb * sizeof(*bmp));
        bmap(bno, nb, XFS_DATA_FORK, &nex, bmp);
        if (nex == 0) {
-               dbprintf("file block is unmapped\n");
+               dbprintf(_("file block is unmapped\n"));
                free(bmp);
                return;
        }
@@ -259,7 +259,7 @@ fa_dfsbno(
 
        bno = (xfs_dfsbno_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLDFSBNO) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        ASSERT(typtab[next].typnm == next);
@@ -282,14 +282,14 @@ fa_dirblock(
 
        bno = (__uint32_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == 0) {
-               dbprintf("null directory block number, cannot set new addr\n");
+               dbprintf(_("null directory block number, cannot set new 
addr\n"));
                return;
        }
        nex = mp->m_dirblkfsbs;
        bmp = malloc(nex * sizeof(*bmp));
        bmap(bno, mp->m_dirblkfsbs, XFS_DATA_FORK, &nex, bmp);
        if (nex == 0) {
-               dbprintf("directory block is unmapped\n");
+               dbprintf(_("directory block is unmapped\n"));
                free(bmp);
                return;
        }
@@ -313,7 +313,7 @@ fa_drfsbno(
 
        bno = (xfs_drfsbno_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLDRFSBNO) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        ASSERT(typtab[next].typnm == next);
@@ -332,7 +332,7 @@ fa_drtbno(
 
        bno = (xfs_drtbno_t)getbitval(obj, bit, bitsz(bno), BVUNSIGNED);
        if (bno == NULLDRTBNO) {
-               dbprintf("null block number, cannot set new addr\n");
+               dbprintf(_("null block number, cannot set new addr\n"));
                return;
        }
        /* need set_cur to understand rt subvolume */
@@ -350,7 +350,7 @@ fa_ino(
        ASSERT(next == TYP_INODE);
        ino = (xfs_ino_t)getbitval(obj, bit, bitsz(ino), BVUNSIGNED);
        if (ino == NULLFSINO) {
-               dbprintf("null inode number, cannot set new addr\n");
+               dbprintf(_("null inode number, cannot set new addr\n"));
                return;
        }
        set_cur_inode(ino);
@@ -368,7 +368,7 @@ fa_ino4(
        ASSERT(next == TYP_INODE);
        ino = (xfs_ino_t)getbitval(obj, bit, bitsz(ino4), BVUNSIGNED);
        if (ino == NULLFSINO) {
-               dbprintf("null inode number, cannot set new addr\n");
+               dbprintf(_("null inode number, cannot set new addr\n"));
                return;
        }
        set_cur_inode(ino);
@@ -386,7 +386,7 @@ fa_ino8(
        ASSERT(next == TYP_INODE);
        ino = (xfs_ino_t)getbitval(obj, bit, bitsz(ino8), BVUNSIGNED);
        if (ino == NULLFSINO) {
-               dbprintf("null inode number, cannot set new addr\n");
+               dbprintf(_("null inode number, cannot set new addr\n"));
                return;
        }
        set_cur_inode(ino);
diff --git a/db/flist.c b/db/flist.c
index 9537d75..33f7da7 100644
--- a/db/flist.c
+++ b/db/flist.c
@@ -146,7 +146,7 @@ flist_parse(
        while (fl) {
                f = findfield(fl->name, fields, obj, startoff);
                if (f == NULL) {
-                       dbprintf("field %s not found\n", fl->name);
+                       dbprintf(_("field %s not found\n"), fl->name);
                        return 0;
                }
                fl->fld = f;
@@ -156,22 +156,22 @@ flist_parse(
                        low = (f->flags & FLD_ABASE1) != 0;
                        high = fcount(f, obj, startoff) + low - 1;
                        if (low > high) {
-                               dbprintf("no elements in %s\n", fl->name);
+                               dbprintf(_("no elements in %s\n"), fl->name);
                                return 0;
                        }
                        if (fl->flags & FL_OKHIGH) {
                                if (fl->low < low || fl->low > high ||
                                    fl->high < low || fl->high > high) {
-                                       dbprintf("indices %d-%d for field %s "
-                                                "out of range %d-%d\n",
+                                       dbprintf(_("indices %d-%d for field %s "
+                                                "out of range %d-%d\n"),
                                                fl->low, fl->high, fl->name,
                                                low, high);
                                        return 0;
                                }
                        } else if (fl->flags & FL_OKLOW) {
                                if (fl->low < low || fl->low > high) {
-                                       dbprintf("index %d for field %s out of "
-                                                "range %d-%d\n",
+                                       dbprintf(_("index %d for field %s out 
of "
+                                                "range %d-%d\n"),
                                                fl->low, fl->name, low, high);
                                        return 0;
                                }
@@ -184,7 +184,7 @@ flist_parse(
                        }
                } else {
                        if (fl->flags & FL_OKLOW) {
-                               dbprintf("field %s is not an array\n",
+                               dbprintf(_("field %s is not an array\n"),
                                        fl->name);
                                return 0;
                        }
@@ -197,7 +197,7 @@ flist_parse(
                        flist_expand_structs(fl, obj);
                if (fl->child) {
                        if (fa->subfld == NULL) {
-                               dbprintf("field %s has no subfields\n",
+                               dbprintf(_("field %s has no subfields\n"),
                                        fl->name);
                                return 0;
                        }
@@ -217,17 +217,17 @@ flist_print(
        if (!(debug_state & DEBUG_FLIST))
                return;
        while (fl) {
-               dbprintf("fl@%p:\n", fl);
-               dbprintf("\tname=%s, fld=%p, child=%p, sibling=%p\n",
+               dbprintf(_("fl@%p:\n"), fl);
+               dbprintf(_("\tname=%s, fld=%p, child=%p, sibling=%p\n"),
                        fl->name, fl->fld, fl->child, fl->sibling);
-               dbprintf("\tlow=%d, high=%d, flags=%d (%s%s), offset=%d\n",
+               dbprintf(_("\tlow=%d, high=%d, flags=%d (%s%s), offset=%d\n"),
                        fl->low, fl->high, fl->flags,
-                       fl->flags & FL_OKLOW ? "oklow " : "",
-                       fl->flags & FL_OKHIGH ? "okhigh" : "", fl->offset);
-               dbprintf("\tfld->name=%s, fld->ftyp=%d (%s)\n",
+                       fl->flags & FL_OKLOW ? _("oklow ") : "",
+                       fl->flags & FL_OKHIGH ? _("okhigh") : "", fl->offset);
+               dbprintf(_("\tfld->name=%s, fld->ftyp=%d (%s)\n"),
                        fl->fld->name, fl->fld->ftyp,
                        ftattrtab[fl->fld->ftyp].name);
-               dbprintf("\tfld->flags=%d (%s%s%s%s%s)\n", fl->fld->flags,
+               dbprintf(_("\tfld->flags=%d (%s%s%s%s%s)\n"), fl->fld->flags,
                        fl->fld->flags & FLD_ABASE1 ? "abase1 " : "",
                        fl->fld->flags & FLD_SKIPALL ? "skipall " : "",
                        fl->fld->flags & FLD_ARRAY ? "array " : "",
@@ -319,7 +319,7 @@ flist_scan(
        ftok_free(v);
        return fl;
 bad:
-       dbprintf("bad syntax in field name %s\n", name);
+       dbprintf(_("bad syntax in field name %s\n"), name);
        ftok_free(v);
        if (fl)
                flist_free(fl);
@@ -375,7 +375,7 @@ flist_split(
                if (*s == '\"') {
                        s++; /* skip first quote */
                        if ((a = strrchr(s, '\"')) == NULL) {
-                               dbprintf("missing closing quote %s\n", s);
+                               dbprintf(_("missing closing quote %s\n"), s);
                                ftok_free(v);
                                return NULL;
                        }
@@ -392,7 +392,7 @@ flist_split(
                        l = 1;
                        t = puncttypes[a - punctchars];
                } else {
-                       dbprintf("bad character in field %s\n", s);
+                       dbprintf(_("bad character in field %s\n"), s);
                        ftok_free(v);
                        return NULL;
                }
diff --git a/db/fprint.c b/db/fprint.c
index 2e60f93..1d2f29c 100644
--- a/db/fprint.c
+++ b/db/fprint.c
@@ -95,7 +95,7 @@ fp_num(
                if (array)
                        dbprintf("%d:", i + base);
                if ((arg & FTARG_DONULL) && isnull)
-                       dbprintf("null");
+                       dbprintf(_("null"));
                else if (size > 32)
                        dbprintf(fmtstr, val);
                else
diff --git a/db/frag.c b/db/frag.c
index 04c0567..925863d 100644
--- a/db/frag.c
+++ b/db/frag.c
@@ -170,7 +170,7 @@ frag_f(
                         (double)extcount_actual;
        else
                answer = 0.0;
-       dbprintf("actual %llu, ideal %llu, fragmentation factor %.2f%%\n",
+       dbprintf(_("actual %llu, ideal %llu, fragmentation factor %.2f%%\n"),
                extcount_actual, extcount_ideal, answer);
        return 0;
 }
@@ -211,7 +211,7 @@ init(
                        vflag = 1;
                        break;
                default:
-                       dbprintf("bad option for frag command\n");
+                       dbprintf(_("bad option for frag command\n"));
                        return 0;
                }
        }
@@ -349,7 +349,7 @@ process_inode(
        if (!skipa)
                process_fork(dip, XFS_ATTR_FORK);
        if (vflag && (!skipd || !skipa))
-               dbprintf("inode %lld actual %lld ideal %lld\n",
+               dbprintf(_("inode %lld actual %lld ideal %lld\n"),
                        ino, extcount_actual - actual, extcount_ideal - ideal);
 }
 
@@ -365,7 +365,7 @@ scan_ag(
                XFS_AG_DADDR(mp, agno, XFS_AGF_DADDR(mp)),
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
        if ((agf = iocur_top->data) == NULL) {
-               dbprintf("can't read agf block for ag %u\n", agno);
+               dbprintf(_("can't read agf block for ag %u\n"), agno);
                pop_cur();
                return;
        }
@@ -374,7 +374,7 @@ scan_ag(
                XFS_AG_DADDR(mp, agno, XFS_AGI_DADDR(mp)),
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
        if ((agi = iocur_top->data) == NULL) {
-               dbprintf("can't read agi block for ag %u\n", agno);
+               dbprintf(_("can't read agi block for ag %u\n"), agno);
                pop_cur();
                pop_cur();
                return;
@@ -397,7 +397,7 @@ scan_lbtree(
        set_cur(&typtab[btype], XFS_FSB_TO_DADDR(mp, root), blkbb, DB_RING_IGN,
                NULL);
        if (iocur_top->data == NULL) {
-               dbprintf("can't read btree block %u/%u\n",
+               dbprintf(_("can't read btree block %u/%u\n"),
                        XFS_FSB_TO_AGNO(mp, root),
                        XFS_FSB_TO_AGBNO(mp, root));
                return;
@@ -420,7 +420,7 @@ scan_sbtree(
        set_cur(&typtab[btype], XFS_AGB_TO_DADDR(mp, seqno, root),
                blkbb, DB_RING_IGN, NULL);
        if (iocur_top->data == NULL) {
-               dbprintf("can't read btree block %u/%u\n", seqno, root);
+               dbprintf(_("can't read btree block %u/%u\n"), seqno, root);
                return;
        }
        (*func)(iocur_top->data, nlevels - 1, agf);
@@ -476,7 +476,7 @@ scanfunc_ino(
                                XFS_FSB_TO_BB(mp, XFS_IALLOC_BLOCKS(mp)),
                                DB_RING_IGN, NULL);
                        if (iocur_top->data == NULL) {
-                               dbprintf("can't read inode block %u/%u\n",
+                               dbprintf(_("can't read inode block %u/%u\n"),
                                        seqno, XFS_AGINO_TO_AGBNO(mp, agino));
                                continue;
                        }
diff --git a/db/freesp.c b/db/freesp.c
index 6f303ad..51ce810 100644
--- a/db/freesp.c
+++ b/db/freesp.c
@@ -103,9 +103,9 @@ freesp_f(
        if (histcount)
                printhist();
        if (summaryflag) {
-               dbprintf("total free extents %lld\n", totexts);
-               dbprintf("total free blocks %lld\n", totblocks);
-               dbprintf("average free extent size %g\n",
+               dbprintf(_("total free extents %lld\n"), totexts);
+               dbprintf(_("total free blocks %lld\n"), totblocks);
+               dbprintf(_("average free extent size %g\n"),
                        (double)totblocks / (double)totexts);
        }
        if (aglist)
@@ -196,8 +196,8 @@ init(
 static int
 usage(void)
 {
-       dbprintf("freesp arguments: [-bcdfs] [-a agno] [-e binsize] [-h h1]... "
-                "[-m binmult]\n");
+       dbprintf(_("freesp arguments: [-bcdfs] [-a agno] [-e binsize] [-h 
h1]... "
+                "[-m binmult]\n"));
        return 0;
 }
 
@@ -267,7 +267,7 @@ scan_sbtree(
        set_cur(&typtab[typ], XFS_AGB_TO_DADDR(mp, seqno, root),
                blkbb, DB_RING_IGN, NULL);
        if (iocur_top->data == NULL) {
-               dbprintf("can't read btree block %u/%u\n", seqno, root);
+               dbprintf(_("can't read btree block %u/%u\n"), seqno, root);
                return;
        }
        (*func)(iocur_top->data, typ, nlevels - 1, agf);
@@ -397,7 +397,7 @@ printhist(void)
        int     i;
 
        dbprintf("%7s %7s %7s %7s %6s\n",
-               "from", "to", "extents", "blocks", "pct");
+               _("from"), _("to"), _("extents"), _("blocks"), _("pct"));
        for (i = 0; i < histcount; i++) {
                if (hist[i].count)
                        dbprintf("%7d %7d %7lld %7lld %6.2f\n", hist[i].low,
diff --git a/db/hash.c b/db/hash.c
index 793e6ae..02376e6 100644
--- a/db/hash.c
+++ b/db/hash.c
@@ -27,20 +27,20 @@ static int hash_f(int argc, char **argv);
 static void hash_help(void);
 
 static const cmdinfo_t hash_cmd =
-       { "hash", NULL, hash_f, 1, 1, 0, "string",
-         "calculate hash value", hash_help };
+       { "hash", NULL, hash_f, 1, 1, 0, N_("string"),
+         N_("calculate hash value"), hash_help };
 
 static void
 hash_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " 'hash' prints out the calculated hash value for a string using the\n"
 "directory/attribute code hash function.\n"
 "\n"
 " Usage:  \"hash <string>\"\n"
 "\n"
-);
+));
 
 }
 
diff --git a/db/help.c b/db/help.c
index d9caf35..7913100 100644
--- a/db/help.c
+++ b/db/help.c
@@ -27,8 +27,8 @@ static int    help_f(int argc, char **argv);
 static void    help_oneline(const char *cmd, const cmdinfo_t *ct);
 
 static const cmdinfo_t help_cmd =
-       { "help", "?", help_f, 0, 1, 0, "[command]",
-         "help for one or all commands", NULL };
+       { "help", "?", help_f, 0, 1, 0, N_("[command]"),
+         N_("help for one or all commands"), NULL };
 
 static void
 help_all(void)
@@ -37,7 +37,7 @@ help_all(void)
 
        for (ct = cmdtab; ct < &cmdtab[ncmds]; ct++)
                help_oneline(ct->name, ct);
-       dbprintf("\nUse 'help commandname' for extended help.\n");
+       dbprintf(_("\nUse 'help commandname' for extended help.\n"));
 }
 
 static int
@@ -53,7 +53,7 @@ help_f(
        }
        ct = find_command(argv[1]);
        if (ct == NULL) {
-               dbprintf("command %s not found\n", argv[1]);
+               dbprintf(_("command %s not found\n"), argv[1]);
                return 0;
        }
        help_onecmd(argv[1], ct);
@@ -86,7 +86,7 @@ help_oneline(
        else {
                dbprintf("%s ", ct->name);
                if (ct->altname)
-                       dbprintf("(or %s) ", ct->altname);
+                       dbprintf(_("(or %s) "), ct->altname);
        }
        if (ct->args)
                dbprintf("%s ", ct->args);
diff --git a/db/init.c b/db/init.c
index e5f7951..2a5ef2b 100644
--- a/db/init.c
+++ b/db/init.c
@@ -57,6 +57,10 @@ init(
        void            *bufp = NULL;
        int             c;
 
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
        progname = basename(argv[0]);
        while ((c = getopt(argc, argv, "c:fFip:rxVl:")) != EOF) {
                switch (c) {
@@ -86,7 +90,7 @@ init(
                        expert_mode = 1;
                        break;
                case 'V':
-                       printf("%s version %s\n", progname, VERSION);
+                       printf(_("%s version %s\n"), progname, VERSION);
                        exit(0);
                case '?':
                        usage();
diff --git a/db/inode.c b/db/inode.c
index 6b93eff..4aa4e1a 100644
--- a/db/inode.c
+++ b/db/inode.c
@@ -378,14 +378,14 @@ inode_f(
        if (argc > 1) {
                ino = strtoull(argv[1], &p, 0);
                if (*p != '\0') {
-                       dbprintf("bad value for inode number %s\n", argv[1]);
+                       dbprintf(_("bad value for inode number %s\n"), argv[1]);
                        return 0;
                }
                set_cur_inode(ino);
        } else if (iocur_top->ino == NULLFSINO)
-               dbprintf("no current inode\n");
+               dbprintf(_("no current inode\n"));
        else
-               dbprintf("current inode number is %lld\n", iocur_top->ino);
+               dbprintf(_("current inode number is %lld\n"), iocur_top->ino);
        return 0;
 }
 
@@ -593,7 +593,7 @@ set_cur_inode(
        if (agno >= mp->m_sb.sb_agcount || agbno >= mp->m_sb.sb_agblocks ||
            offset >= mp->m_sb.sb_inopblock ||
            XFS_AGINO_TO_INO(mp, agno, agino) != ino) {
-               dbprintf("bad inode number %lld\n", ino);
+               dbprintf(_("bad inode number %lld\n"), ino);
                return;
        }
        cur_agno = agno;
diff --git a/db/input.c b/db/input.c
index bb687c2..b73a1f8 100644
--- a/db/input.c
+++ b/db/input.c
@@ -40,8 +40,8 @@ static void   popfile(void);
 static int     source_f(int argc, char **argv);
 
 static const cmdinfo_t source_cmd =
-       { "source", NULL, source_f, 1, 1, 0, "source-file",
-         "get commands from source-file", NULL };
+       { "source", NULL, source_f, 1, 1, 0, N_("source-file"),
+         N_("get commands from source-file"), NULL };
 
 /* our homegrown strtok that understands strings */
 
@@ -317,7 +317,7 @@ source_f(
 
        f = fopen(argv[1], "r");
        if (f == NULL)
-               dbprintf("can't open %s\n", argv[0]);
+               dbprintf(_("can't open %s\n"), argv[0]);
        else
                pushfile(f);
        return 0;
diff --git a/db/io.c b/db/io.c
index 368d136..39a1827 100644
--- a/db/io.c
+++ b/db/io.c
@@ -43,22 +43,22 @@ static void     ring_help(void);
 
 static const cmdinfo_t pop_cmd =
        { "pop", NULL, pop_f, 0, 0, 0, NULL,
-         "pop location from the stack", pop_help };
+         N_("pop location from the stack"), pop_help };
 static const cmdinfo_t push_cmd =
-       { "push", NULL, push_f, 0, 2, 0, "[command]",
-         "push location to the stack", push_help };
+       { "push", NULL, push_f, 0, 2, 0, N_("[command]"),
+         N_("push location to the stack"), push_help };
 static const cmdinfo_t stack_cmd =
        { "stack", NULL, stack_f, 0, 0, 0, NULL,
-         "view the location stack", stack_help };
+         N_("view the location stack"), stack_help };
 static const cmdinfo_t  forward_cmd =
        { "forward", "f", forward_f, 0, 0, 0, NULL,
-         "move forward to next entry in the position ring", forward_help };
+         N_("move forward to next entry in the position ring"), forward_help };
 static const cmdinfo_t  back_cmd =
        { "back", "b", back_f, 0, 0, 0, NULL,
-         "move to the previous location in the position ring", back_help };
+         N_("move to the previous location in the position ring"), back_help };
 static const cmdinfo_t  ring_cmd =
        { "ring", NULL, ring_f, 0, 1, 0, NULL,
-         "show position ring or move to a specific entry", ring_help };
+         N_("show position ring or move to a specific entry"), ring_help };
 
 iocur_t        *iocur_base;
 iocur_t        *iocur_top;
@@ -88,7 +88,7 @@ off_cur(
        int     len)
 {
        if (iocur_top == NULL || off + len > BBTOB(iocur_top->blen))
-               dbprintf("can't set block offset to %d\n", off);
+               dbprintf(_("can't set block offset to %d\n"), off);
        else {
                iocur_top->boff = off;
                iocur_top->off = ((xfs_off_t)iocur_top->bb << BBSHIFT) + off;
@@ -101,7 +101,7 @@ void
 pop_cur(void)
 {
        if (iocur_sp < 0) {
-               dbprintf("can't pop anything from I/O stack\n");
+               dbprintf(_("can't pop anything from I/O stack\n"));
                return;
        }
        if (iocur_top->buf)
@@ -128,11 +128,11 @@ pop_f(
 static void
 pop_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " Changes the address and data type to the first entry on the stack.\n"
 "\n"
-               );
+               ));
 }
 
 void
@@ -143,18 +143,18 @@ print_iocur(
        int     i;
 
        dbprintf("%s\n", tag);
-       dbprintf("\tbyte offset %lld, length %d\n", ioc->off, ioc->len);
-       dbprintf("\tbuffer block %lld (fsbno %lld), %d bb%s\n", ioc->bb,
+       dbprintf(_("\tbyte offset %lld, length %d\n"), ioc->off, ioc->len);
+       dbprintf(_("\tbuffer block %lld (fsbno %lld), %d bb%s\n"), ioc->bb,
                (xfs_dfsbno_t)XFS_DADDR_TO_FSB(mp, ioc->bb), ioc->blen,
                ioc->blen == 1 ? "" : "s");
        if (ioc->use_bbmap) {
-               dbprintf("\tblock map");
+               dbprintf(_("\tblock map"));
                for (i = 0; i < ioc->blen; i++)
                        dbprintf(" %d:%lld", i, ioc->bbmap.b[i]);
                dbprintf("\n");
        }
-       dbprintf("\tinode %lld, dir inode %lld, type %s\n", ioc->ino,
-               ioc->dirino, ioc->typ == NULL ? "none" : ioc->typ->name);
+       dbprintf(_("\tinode %lld, dir inode %lld, type %s\n"), ioc->ino,
+               ioc->dirino, ioc->typ == NULL ? _("none") : ioc->typ->name);
 }
 
 void
@@ -164,11 +164,11 @@ print_ring(void)
        iocur_t *ioc;
 
        if (ring_current == -1) {
-               dbprintf("no entries in location ring.\n");
+               dbprintf(_("no entries in location ring.\n"));
                return;
        }
 
-       dbprintf("      type    bblock  bblen    fsbno     inode\n");
+       dbprintf(_("      type    bblock  bblen    fsbno     inode\n"));
 
        i = ring_head;
        for (;;) {
@@ -222,11 +222,11 @@ push_f(
                /* check we can execute command */
                ct = find_command(argv[1]);
                if (ct == NULL) {
-                       dbprintf("no such command %s\n", argv[1]);
+                       dbprintf(_("no such command %s\n"), argv[1]);
                        return 0;
                }
                if (!ct->canpush) {
-                       dbprintf("no push form allowed for %s\n", argv[1]);
+                       dbprintf(_("no push form allowed for %s\n"), argv[1]);
                        return 0;
                }
        }
@@ -249,13 +249,13 @@ push_f(
 static void
 push_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " Allows you to push the current address and data type on the stack for\n"
 " later return.  'push' also accepts an additional command to execute after\n"
 " storing the current address (ex: 'push a rootino' from the superblock).\n"
 "\n"
-               );
+               ));
 }
 
 /* move forward through the ring */
@@ -266,11 +266,11 @@ forward_f(
        char            **argv)
 {
        if (ring_current == -1) {
-               dbprintf("ring is empty\n");
+               dbprintf(_("ring is empty\n"));
                return 0;
        }
        if (ring_current == ring_head) {
-               dbprintf("no further entries\n");
+               dbprintf(_("no further entries\n"));
                return 0;
        }
 
@@ -289,14 +289,14 @@ forward_f(
 static void
 forward_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'forward' ('f') command moves to the next location in the position\n"
 " ring, updating the current position and data type.  If the current 
location\n"
 " is the top entry in the ring, then the 'forward' command will have\n"
 " no effect.\n"
 "\n"
-               );
+               ));
 }
 
 /* move backwards through the ring */
@@ -307,11 +307,11 @@ back_f(
        char            **argv)
 {
        if (ring_current == -1) {
-               dbprintf("ring is empty\n");
+               dbprintf(_("ring is empty\n"));
                return 0;
        }
        if (ring_current == ring_tail) {
-               dbprintf("no previous entries\n");
+               dbprintf(_("no previous entries\n"));
                return 0;
        }
 
@@ -330,13 +330,13 @@ back_f(
 static void
 back_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'back' ('b') command moves to the previous location in the position\n"
 " ring, updating the current position and data type.  If the current 
location\n"
 " is the last entry in the ring, then the 'back' command will have no 
effect.\n"
 "\n"
-               );
+               ));
 }
 
 /* show or go to specific point in ring */
@@ -354,7 +354,7 @@ ring_f(
 
        index = (int)strtoul(argv[1], NULL, 0);
        if (index < 0 || index >= RING_ENTRIES)
-               dbprintf("invalid entry: %d\n", index);
+               dbprintf(_("invalid entry: %d\n"), index);
 
        ring_current = index;
 
@@ -370,7 +370,7 @@ ring_f(
 static void
 ring_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The position ring automatically keeps track of each disk location and\n"
 " structure type for each change of position you make during your xfs_db\n"
@@ -389,7 +389,7 @@ ring_help(void)
 " Note: Unlike the 'stack', 'push' and 'pop' commands, the ring tracks your\n"
 " location implicitly.  Use the 'push' and 'pop' commands if you wish to\n"
 " store a specific location explicitly for later return.\n"
-"\n",
+"\n"),
                RING_ENTRIES);
 }
 
@@ -435,7 +435,7 @@ write_bbs(
                        bbno = bbmap->b[j];
                if (lseek64(x.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
                        rval = errno;
-                       dbprintf("can't seek in filesystem at bb %lld\n", bbno);
+                       dbprintf(_("can't seek in filesystem at bb %lld\n"), 
bbno);
                        return rval;
                }
                c = BBTOB(bbmap ? 1 : count);
@@ -478,7 +478,7 @@ read_bbs(
                        bbno = bbmap->b[j];
                if (lseek64(x.dfd, bbno << BBSHIFT, SEEK_SET) < 0) {
                        rval = errno;
-                       dbprintf("can't seek in filesystem at bb %lld\n", bbno);
+                       dbprintf(_("can't seek in filesystem at bb %lld\n"), 
bbno);
                        if (*bufp == NULL)
                                xfree(buf);
                        buf = NULL;
@@ -512,24 +512,24 @@ write_cur(void)
        int ret;
 
        if (iocur_sp < 0) {
-               dbprintf("nothing to write\n");
+               dbprintf(_("nothing to write\n"));
                return;
        }
        ret = write_bbs(iocur_top->bb, iocur_top->blen, iocur_top->buf,
                iocur_top->use_bbmap ? &iocur_top->bbmap : NULL);
        if (ret == -1)
-               dbprintf("incomplete write, block: %lld\n",
+               dbprintf(_("incomplete write, block: %lld\n"),
                         (iocur_base + iocur_sp)->bb);
        else if (ret != 0)
-               dbprintf("write error: %s\n", strerror(ret));
+               dbprintf(_("write error: %s\n"), strerror(ret));
        /* re-read buffer from disk */
        ret = read_bbs(iocur_top->bb, iocur_top->blen, &iocur_top->buf,
                iocur_top->use_bbmap ? &iocur_top->bbmap : NULL);
        if (ret == -1)
-               dbprintf("incomplete read, block: %lld\n",
+               dbprintf(_("incomplete read, block: %lld\n"),
                         (iocur_base + iocur_sp)->bb);
        else if (ret != 0)
-               dbprintf("read error: %s\n", strerror(ret));
+               dbprintf(_("read error: %s\n"), strerror(ret));
 }
 
 void
@@ -545,13 +545,13 @@ set_cur(
        __uint16_t      mode;
 
        if (iocur_sp < 0) {
-               dbprintf("set_cur no stack element to set\n");
+               dbprintf(_("set_cur no stack element to set\n"));
                return;
        }
 
 #ifdef DEBUG
        if (bbmap)
-               printf("xfs_db got a bbmap for %lld\n", (long long)d);
+               printf(_("xfs_db got a bbmap for %lld\n"), (long long)d);
 #endif
        ino = iocur_top->ino;
        dirino = iocur_top->dirino;
@@ -581,7 +581,7 @@ set_cur(
 static void
 stack_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The stack is used to explicitly store your location and data type\n"
 " for later return.  The 'push' operation stores the current address\n"
@@ -591,7 +591,7 @@ stack_help(void)
 " The 'stack' allows explicit location saves, see 'ring' for implicit\n"
 " position tracking.\n"
 "\n"
-               );
+               ));
 }
 
 /*ARGSUSED*/
diff --git a/db/malloc.c b/db/malloc.c
index c4eddc4..fe1eacf 100644
--- a/db/malloc.c
+++ b/db/malloc.c
@@ -24,7 +24,7 @@
 static void
 badmalloc(void)
 {
-       dbprintf("%s: out of memory\n", progname);
+       dbprintf(_("%s: out of memory\n"), progname);
        exit(4);
 }
 
diff --git a/db/metadump.c b/db/metadump.c
index ab663f3..19aed4f 100644
--- a/db/metadump.c
+++ b/db/metadump.c
@@ -44,8 +44,8 @@ static void   metadump_help(void);
 
 static const cmdinfo_t metadump_cmd =
        { "metadump", NULL, metadump_f, 0, -1, 0,
-               "[-e] [-g] [-m max_extent] [-w] [-o] filename",
-               "dump metadata to a file", metadump_help };
+               N_("[-e] [-g] [-m max_extent] [-w] [-o] filename"),
+               N_("dump metadata to a file"), metadump_help };
 
 static FILE            *outf;          /* metadump file */
 
@@ -74,7 +74,7 @@ metadump_init(void)
 static void
 metadump_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'metadump' command dumps the known metadata to a compact file suitable\n"
 " for compressing and sending to an XFS maintainer for corruption analysis \n"
@@ -85,7 +85,7 @@ metadump_help(void)
 "   -m -- Specify max extent size in blocks to copy (default = %d blocks)\n"
 "   -o -- Don't obfuscate names and extended attributes\n"
 "   -w -- Show warnings of bad metadata information\n"
-"\n", DEFAULT_MAX_EXT_SIZE);
+"\n"), DEFAULT_MAX_EXT_SIZE);
 }
 
 static void
diff --git a/db/output.c b/db/output.c
index f524a4e..36669f4 100644
--- a/db/output.c
+++ b/db/output.c
@@ -27,8 +27,8 @@
 static int     log_f(int argc, char **argv);
 
 static const cmdinfo_t log_cmd =
-       { "log", NULL, log_f, 0, 2, 0, "[stop|start <filename>]",
-         "start or stop logging to a file", NULL };
+       { "log", NULL, log_f, 0, 2, 0, N_("[stop|start <filename>]"),
+         N_("start or stop logging to a file"), NULL };
 
 int            dbprefix;
 static FILE    *log_file;
@@ -65,29 +65,29 @@ log_f(
 {
        if (argc == 1) {
                if (log_file)
-                       dbprintf("logging to %s\n", log_file_name);
+                       dbprintf(_("logging to %s\n"), log_file_name);
                else
-                       dbprintf("no log file\n");
+                       dbprintf(_("no log file\n"));
        } else if (argc == 2 && strcmp(argv[1], "stop") == 0) {
                if (log_file) {
                        xfree(log_file_name);
                        fclose(log_file);
                        log_file = NULL;
                } else
-                       dbprintf("no log file\n");
+                       dbprintf(_("no log file\n"));
        } else if (argc == 3 && strcmp(argv[1], "start") == 0) {
                if (log_file)
-                       dbprintf("already logging to %s\n", log_file_name);
+                       dbprintf(_("already logging to %s\n"), log_file_name);
                else {
                        log_file = fopen(argv[2], "a");
                        if (log_file == NULL)
-                               dbprintf("can't open %s for writing\n",
+                               dbprintf(_("can't open %s for writing\n"),
                                        argv[2]);
                        else
                                log_file_name = xstrdup(argv[1]);
                }
        } else
-               dbprintf("bad log command, ignored\n");
+               dbprintf(_("bad log command, ignored\n"));
        return 0;
 }
 
diff --git a/db/print.c b/db/print.c
index 9821015..b865d64 100644
--- a/db/print.c
+++ b/db/print.c
@@ -38,8 +38,8 @@ static void   print_somefields(const struct field *fields, 
int argc,
                                 char **argv);
 
 static const cmdinfo_t print_cmd =
-       { "print", "p", print_f, 0, -1, 0, "[value]...",
-         "print field values", NULL };
+       { "print", "p", print_f, 0, -1, 0, N_("[value]..."),
+         N_("print field values"), NULL };
 
 static void
 print_allfields(
@@ -71,12 +71,12 @@ print_f(
        pfunc_t pf;
 
        if (cur_typ == NULL) {
-               dbprintf("no current type\n");
+               dbprintf(_("no current type\n"));
                return 0;
        }
        pf = cur_typ->pfunc;
        if (pf == NULL) {
-               dbprintf("no print function for type %s\n", cur_typ->name);
+               dbprintf(_("no print function for type %s\n"), cur_typ->name);
                return 0;
        }
        argc--;
@@ -150,7 +150,7 @@ print_flist_1(
                                        dbprintf("\n");
                        } else {
                                ASSERT(fa->arg & FTARG_OKEMPTY);
-                               dbprintf("(empty)\n");
+                               dbprintf(_("(empty)\n"));
                        }
                }
                free_strvec(pfx);
@@ -212,7 +212,7 @@ print_sarray(
                                        f->flags & FLD_ARRAY);
                        else {
                                ASSERT(fa->arg & FTARG_OKEMPTY);
-                               dbprintf("(empty)");
+                               dbprintf(_("(empty)"));
                        }
                }
                dbprintf("]");
@@ -272,7 +272,7 @@ print_string(
        char            *cp;
 
        if (argc != 0)
-               dbprintf("no arguments allowed\n");
+               dbprintf(_("no arguments allowed\n"));
        dbprintf("\"");
        for (cp = iocur_top->data;
             cp < (char *)iocur_top->data + iocur_top->len && *cp &&
diff --git a/db/quit.c b/db/quit.c
index 06ff148..5e4413c 100644
--- a/db/quit.c
+++ b/db/quit.c
@@ -24,7 +24,7 @@ static int    quit_f(int argc, char **argv);
 
 static const cmdinfo_t quit_cmd =
        { "quit", "q", quit_f, 0, 0, 0, NULL,
-         "exit xfs_db", NULL };
+         N_("exit xfs_db"), NULL };
 
 static int
 quit_f(
diff --git a/db/sb.c b/db/sb.c
index d47b901..f2bc14d 100644
--- a/db/sb.c
+++ b/db/sb.c
@@ -39,17 +39,17 @@ static int  version_f(int argc, char **argv);
 static void     version_help(void);
 
 static const cmdinfo_t sb_cmd =
-       { "sb", NULL, sb_f, 0, 1, 1, "[agno]",
-         "set current address to sb header", sb_help };
+       { "sb", NULL, sb_f, 0, 1, 1, N_("[agno]"),
+         N_("set current address to sb header"), sb_help };
 static const cmdinfo_t uuid_cmd =
-       { "uuid", NULL, uuid_f, 0, 1, 1, "[uuid]",
-         "write/print FS uuid", uuid_help };
+       { "uuid", NULL, uuid_f, 0, 1, 1, N_("[uuid]"),
+         N_("write/print FS uuid"), uuid_help };
 static const cmdinfo_t label_cmd =
-       { "label", NULL, label_f, 0, 1, 1, "[label]",
-         "write/print FS label", label_help };
+       { "label", NULL, label_f, 0, 1, 1, N_("[label]"),
+         N_("write/print FS label"), label_help };
 static const cmdinfo_t version_cmd =
-       { "version", NULL, version_f, 0, -1, 1, "[feature | [vnum fnum]]",
-         "set feature bit(s) in the sb version field", version_help };
+       { "version", NULL, version_f, 0, -1, 1, N_("[feature | [vnum fnum]]"),
+         N_("set feature bit(s) in the sb version field"), version_help };
 
 void
 sb_init(void)
@@ -120,7 +120,7 @@ const field_t       sb_hfld[] = {
 static void
 sb_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " set allocation group superblock\n"
 "\n"
@@ -134,7 +134,7 @@ sb_help(void)
 " remaining allocation groups only serve as backup for filesystem recovery.\n"
 " The icount/ifree/fdblocks/frextents are only updated in superblock 0.\n"
 "\n"
-);
+));
 }
 
 static int
@@ -148,7 +148,7 @@ sb_f(
        if (argc > 1) {
                agno = (xfs_agnumber_t)strtoul(argv[1], &p, 0);
                if (*p != '\0' || agno >= mp->m_sb.sb_agcount) {
-                       dbprintf("bad allocation group number %s\n", argv[1]);
+                       dbprintf(_("bad allocation group number %s\n"), 
argv[1]);
                        return 0;
                }
                cur_agno = agno;
@@ -180,7 +180,7 @@ get_sb(xfs_agnumber_t agno, xfs_sb_t *sb)
                XFS_FSS_TO_BB(mp, 1), DB_RING_IGN, NULL);
 
        if (!iocur_top->data) {
-               dbprintf("can't read superblock for AG %u\n", agno);
+               dbprintf(_("can't read superblock for AG %u\n"), agno);
                pop_cur();
                return 0;
        }
@@ -188,17 +188,17 @@ get_sb(xfs_agnumber_t agno, xfs_sb_t *sb)
        libxfs_sb_from_disk(sb, iocur_top->data);
 
        if (sb->sb_magicnum != XFS_SB_MAGIC) {
-               dbprintf("bad sb magic # %#x in AG %u\n",
+               dbprintf(_("bad sb magic # %#x in AG %u\n"),
                        sb->sb_magicnum, agno);
                return 0;
        }
        if (!xfs_sb_good_version(sb)) {
-               dbprintf("bad sb version # %#x in AG %u\n",
+               dbprintf(_("bad sb version # %#x in AG %u\n"),
                        sb->sb_versionnum, agno);
                return 0;
        }
        if (agno == 0 && sb->sb_inprogress != 0) {
-               dbprintf("mkfs not completed successfully\n");
+               dbprintf(_("mkfs not completed successfully\n"));
                return 0;
        }
        return 1;
@@ -215,14 +215,14 @@ sb_logcheck(void)
 
        if (mp->m_sb.sb_logstart) {
                if (x.logdev && x.logdev != x.ddev) {
-                       dbprintf("aborting - external log specified for FS "
-                                "with an internal log\n");
+                       dbprintf(_("aborting - external log specified for FS "
+                                "with an internal log\n"));
                        return 0;
                }
        } else {
                if (!x.logdev || (x.logdev == x.ddev)) {
-                       dbprintf("aborting - no external log specified for FS "
-                                "with an external log\n");
+                       dbprintf(_("aborting - no external log specified for FS 
"
+                                "with an external log\n"));
                        return 0;
                }
        }
@@ -239,17 +239,17 @@ sb_logcheck(void)
        log.l_mp = mp;
 
        if (xlog_find_tail(&log, &head_blk, &tail_blk)) {
-               dbprintf("ERROR: cannot find log head/tail, run xfs_repair\n");
+               dbprintf(_("ERROR: cannot find log head/tail, run 
xfs_repair\n"));
                return 0;
        }
        if (head_blk != tail_blk) {
-               dbprintf(
+               dbprintf(_(
 "ERROR: The filesystem has valuable metadata changes in a log which needs to\n"
 "be replayed.  Mount the filesystem to replay the log, and unmount it before\n"
 "re-running %s.  If you are unable to mount the filesystem, then use\n"
 "the xfs_repair -L option to destroy the log and attempt a repair.\n"
 "Note that destroying the log may cause corruption -- please attempt a mount\n"
-"of the filesystem before doing this.\n", progname);
+"of the filesystem before doing this.\n"), progname);
                return 0;
        }
        return 1;
@@ -261,7 +261,7 @@ sb_logzero(uuid_t *uuidp)
        if (!sb_logcheck())
                return 0;
 
-       dbprintf("Clearing log and setting UUID\n");
+       dbprintf(_("Clearing log and setting UUID\n"));
 
        if (libxfs_log_clear(
                        (mp->m_sb.sb_logstart == 0) ? x.logdev : x.ddev,
@@ -270,7 +270,7 @@ sb_logzero(uuid_t *uuidp)
                        uuidp,
                        xfs_sb_version_haslogv2(&mp->m_sb) ? 2 : 1,
                        mp->m_sb.sb_logsunit, XLOG_FMT)) {
-               dbprintf("ERROR: cannot clear the log\n");
+               dbprintf(_("ERROR: cannot clear the log\n"));
                return 0;
        }
        return 1;
@@ -280,7 +280,7 @@ sb_logzero(uuid_t *uuidp)
 static void
 uuid_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " write/print FS uuid\n"
 "\n"
@@ -298,7 +298,7 @@ uuid_help(void)
 "As a side effect of writing the UUID, the log is cleared (which is fine\n"
 "on a CLEANLY unmounted FS).\n"
 "\n"
-);
+));
 }
 
 static uuid_t *
@@ -333,14 +333,14 @@ uuid_f(
        uuid_t          *uup = NULL;
 
        if (argc != 1 && argc != 2) {
-               dbprintf("invalid parameters\n");
+               dbprintf(_("invalid parameters\n"));
                return 0;
        }
 
        if (argc == 2) {        /* WRITE UUID */
 
                if ((x.isreadonly & LIBXFS_ISREADONLY) || !expert_mode) {
-                       dbprintf("%s: not in expert mode, writing disabled\n",
+                       dbprintf(_("%s: not in expert mode, writing 
disabled\n"),
                                progname);
                        return 0;
                }
@@ -352,15 +352,15 @@ uuid_f(
                } else if (!strcasecmp(argv[1], "rewrite")) {
                        uup = do_uuid(0, NULL);
                        if (!uup) {
-                               dbprintf("failed to read UUID from AG 0\n");
+                               dbprintf(_("failed to read UUID from AG 0\n"));
                                return 0;
                        }
                        memcpy(&uu, uup, sizeof(uuid_t));
                        platform_uuid_unparse(&uu, bp);
-                       dbprintf("old UUID = %s\n", bp);
+                       dbprintf(_("old UUID = %s\n"), bp);
                } else {
                        if (platform_uuid_parse(argv[1], &uu)) {
-                               dbprintf("invalid UUID\n");
+                               dbprintf(_("invalid UUID\n"));
                                return 0;
                        }
                }
@@ -369,15 +369,15 @@ uuid_f(
                if (!sb_logzero(&uu))
                        return 0;
 
-               dbprintf("writing all SBs\n");
+               dbprintf(_("writing all SBs\n"));
                for (agno = 0; agno < mp->m_sb.sb_agcount; agno++)
                        if (!do_uuid(agno, &uu)) {
-                               dbprintf("failed to set UUID in AG %d\n", agno);
+                               dbprintf(_("failed to set UUID in AG %d\n"), 
agno);
                                break;
                        }
 
                platform_uuid_unparse(&uu, bp);
-               dbprintf("new UUID = %s\n", bp);
+               dbprintf(_("new UUID = %s\n"), bp);
                return 0;
 
        } else {        /* READ+CHECK UUID */
@@ -385,14 +385,14 @@ uuid_f(
                for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) {
                        uup = do_uuid(agno, NULL);
                        if (!uup) {
-                               dbprintf("failed to read UUID from AG %d\n",
+                               dbprintf(_("failed to read UUID from AG %d\n"),
                                        agno);
                                return 0;
                        }
                        if (agno) {
                                if (memcmp(&uu, uup, sizeof(uuid_t))) {
-                                       dbprintf("warning: UUID in AG %d "
-                                                "differs to the primary SB\n",
+                                       dbprintf(_("warning: UUID in AG %d "
+                                                "differs to the primary SB\n"),
                                                agno);
                                        break;
                                }
@@ -402,15 +402,15 @@ uuid_f(
                }
                if (mp->m_sb.sb_logstart) {
                        if (x.logdev && x.logdev != x.ddev)
-                               dbprintf("warning - external log specified "
-                                        "for FS with an internal log\n");
+                               dbprintf(_("warning - external log specified "
+                                        "for FS with an internal log\n"));
                } else if (!x.logdev || (x.logdev == x.ddev)) {
-                       dbprintf("warning - no external log specified "
-                                "for FS with an external log\n");
+                       dbprintf(_("warning - no external log specified "
+                                "for FS with an external log\n"));
                }
 
                platform_uuid_unparse(&uu, bp);
-               dbprintf("UUID = %s\n", bp);
+               dbprintf(_("UUID = %s\n"), bp);
        }
 
        return 0;
@@ -420,7 +420,7 @@ uuid_f(
 static void
 label_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " write/print FS label\n"
 "\n"
@@ -435,7 +435,7 @@ label_help(void)
 "specified value.  The maximum length of a label is 12 characters - use of a\n"
 "longer label will result in truncation and a warning will be issued.\n"
 "\n"
-);
+));
 }
 
 static char *
@@ -458,7 +458,7 @@ do_label(xfs_agnumber_t agno, char *label)
        /* set label */
        if ((len = strlen(label)) > sizeof(tsb.sb_fname)) {
                if (agno == 0)
-                       dbprintf("%s: truncating label length from %d to %d\n",
+                       dbprintf(_("%s: truncating label length from %d to 
%d\n"),
                                progname, (int)len, (int)sizeof(tsb.sb_fname));
                len = sizeof(tsb.sb_fname);
        }
@@ -485,40 +485,40 @@ label_f(
        xfs_agnumber_t  ag;
 
        if (argc != 1 && argc != 2) {
-               dbprintf("invalid parameters\n");
+               dbprintf(_("invalid parameters\n"));
                return 0;
        }
 
        if (argc == 2) {        /* WRITE LABEL */
 
                if ((x.isreadonly & LIBXFS_ISREADONLY) || !expert_mode) {
-                       dbprintf("%s: not in expert mode, writing disabled\n",
+                       dbprintf(_("%s: not in expert mode, writing 
disabled\n"),
                                progname);
                        return 0;
                }
 
-               dbprintf("writing all SBs\n");
+               dbprintf(_("writing all SBs\n"));
                for (ag = 0; ag < mp->m_sb.sb_agcount; ag++)
                        if ((p = do_label(ag, argv[1])) == NULL) {
-                               dbprintf("failed to set label in AG %d\n", ag);
+                               dbprintf(_("failed to set label in AG %d\n"), 
ag);
                                break;
                        }
-               dbprintf("new label = \"%s\"\n", p);
+               dbprintf(_("new label = \"%s\"\n"), p);
 
        } else {        /* READ LABEL */
 
                for (ag = 0; ag < mp->m_sb.sb_agcount; ag++) {
                        p = do_label(ag, NULL);
                        if (!p) {
-                               dbprintf("failed to read label in AG %d\n", ag);
+                               dbprintf(_("failed to read label in AG %d\n"), 
ag);
                                return 0;
                        }
                        if (!ag)
                                memcpy(&sb.sb_fname, p, sizeof(sb.sb_fname));
                        else if (memcmp(&sb.sb_fname, p, sizeof(sb.sb_fname)))
-                               dbprintf("warning: AG %d label differs\n", ag);
+                               dbprintf(_("warning: AG %d label differs\n"), 
ag);
                }
-               dbprintf("label = \"%s\"\n", p);
+               dbprintf(_("label = \"%s\"\n"), p);
        }
        return 0;
 }
@@ -527,7 +527,7 @@ label_f(
 static void
 version_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " set/print feature bits in sb version\n"
 "\n"
@@ -544,7 +544,7 @@ version_help(void)
 "It can also be used to enable selected features, such as support for\n"
 "unwritten extents.  The upated version is written into all AGs.\n"
 "\n"
-);
+));
 }
 
 static int
@@ -628,7 +628,7 @@ version_f(
        if (argc == 2) {        /* WRITE VERSION */
 
                if ((x.isreadonly & LIBXFS_ISREADONLY) || !expert_mode) {
-                       dbprintf("%s: not in expert mode, writing disabled\n",
+                       dbprintf(_("%s: not in expert mode, writing 
disabled\n"),
                                progname);
                        return 0;
                }
@@ -647,8 +647,8 @@ version_f(
                                break;
                        case XFS_SB_VERSION_4:
                                if (xfs_sb_version_hasextflgbit(&mp->m_sb))
-                                       dbprintf("unwritten extents flag"
-                                                " is already enabled\n");
+                                       dbprintf(_("unwritten extents flag"
+                                                " is already enabled\n"));
                                else
                                        version = mp->m_sb.sb_versionnum |
                                                  XFS_SB_VERSION_EXTFLGBIT;
@@ -667,8 +667,8 @@ version_f(
                                break;
                        case XFS_SB_VERSION_4:
                                if (xfs_sb_version_haslogv2(&mp->m_sb))
-                                       dbprintf("version 2 log format"
-                                                " is already in use\n");
+                                       dbprintf(_("version 2 log format"
+                                                " is already in use\n"));
                                else
                                        version = mp->m_sb.sb_versionnum |
                                                  XFS_SB_VERSION_LOGV2BIT;
@@ -690,17 +690,17 @@ version_f(
                        version = mp->m_sb.sb_versionnum;
                        features = mp->m_sb.sb_features2;
                } else {
-                       dbprintf("%s: invalid version change command \"%s\"\n",
+                       dbprintf(_("%s: invalid version change command 
\"%s\"\n"),
                                progname, argv[1]);
                        return 0;
                }
 
                if (version) {
-                       dbprintf("writing all SBs\n");
+                       dbprintf(_("writing all SBs\n"));
                        for (ag = 0; ag < mp->m_sb.sb_agcount; ag++)
                                if (!do_version(ag, version, features)) {
-                                       dbprintf("failed to set versionnum "
-                                                "in AG %d\n", ag);
+                                       dbprintf(_("failed to set versionnum "
+                                                "in AG %d\n"), ag);
                                        break;
                                }
                        mp->m_sb.sb_versionnum = version;
@@ -717,7 +717,7 @@ version_f(
                mp->m_sb.sb_features2 = strtoul(argv[2], &sp, 0);
        }
 
-       dbprintf("versionnum [0x%x+0x%x] = %s\n", mp->m_sb.sb_versionnum,
+       dbprintf(_("versionnum [0x%x+0x%x] = %s\n"), mp->m_sb.sb_versionnum,
                        mp->m_sb.sb_features2, version_string(&mp->m_sb));
 
        if (argc == 3) {        /* now reset... */
diff --git a/db/type.c b/db/type.c
index 9c2b1d7..e5fd9eb 100644
--- a/db/type.c
+++ b/db/type.c
@@ -47,8 +47,8 @@ static int            type_f(int argc, char **argv);
 const typ_t    *cur_typ;
 
 static const cmdinfo_t type_cmd =
-       { "type", NULL, type_f, 0, 1, 1, "[newtype]",
-         "set/show current data type", NULL };
+       { "type", NULL, type_f, 0, 1, 1, N_("[newtype]"),
+         N_("set/show current data type"), NULL };
 
 const typ_t    typtab[] = {
        { TYP_AGF, "agf", handle_struct, agf_hfld },
@@ -99,11 +99,11 @@ type_f(
 
        if (argc == 1) {
                if (cur_typ == NULL)
-                       dbprintf("no current type\n");
+                       dbprintf(_("no current type\n"));
                else
-                       dbprintf("current type is \"%s\"\n", cur_typ->name);
+                       dbprintf(_("current type is \"%s\"\n"), cur_typ->name);
 
-               dbprintf("\n supported types are:\n ");
+               dbprintf(_("\n supported types are:\n "));
                for (tt = typtab, count = 0; tt->name != NULL; tt++) {
                        if ((tt+1)->name != NULL) {
                                dbprintf("%s, ", tt->name);
@@ -118,10 +118,10 @@ type_f(
        } else {
                tt = findtyp(argv[1]);
                if (tt == NULL) {
-                       dbprintf("no such type %s\n", argv[1]);
+                       dbprintf(_("no such type %s\n"), argv[1]);
                } else {
                        if (iocur_top->typ == NULL) {
-                           dbprintf("no current object\n");
+                           dbprintf(_("no current object\n"));
                        } else {
                            iocur_top->typ = cur_typ = tt;
                        }
diff --git a/db/write.c b/db/write.c
index bc3e4e5..091ddb3 100644
--- a/db/write.c
+++ b/db/write.c
@@ -38,8 +38,8 @@ static int    write_f(int argc, char **argv);
 static void     write_help(void);
 
 static const cmdinfo_t write_cmd =
-       { "write", NULL, write_f, 0, -1, 0, "[field or value]...",
-         "write value to disk", write_help };
+       { "write", NULL, write_f, 0, -1, 0, N_("[field or value]..."),
+         N_("write value to disk"), write_help };
 
 void
 write_init(void)
@@ -54,7 +54,7 @@ write_init(void)
 static void
 write_help(void)
 {
-       dbprintf(
+       dbprintf(_(
 "\n"
 " The 'write' command takes on different personalities depending on the\n"
 " type of object being worked with.\n\n"
@@ -79,7 +79,7 @@ write_help(void)
 "  String mode: 'write \"This_is_a_filename\" - write null terminated 
string.\n"
 "\n"
 " In data mode type 'write' by itself for a list of specific commands.\n\n"
-);
+));
 
 }
 
@@ -92,19 +92,19 @@ write_f(
        extern char *progname;
 
        if (x.isreadonly & LIBXFS_ISREADONLY) {
-               dbprintf("%s started in read only mode, writing disabled\n",
+               dbprintf(_("%s started in read only mode, writing disabled\n"),
                        progname);
                return 0;
        }
 
        if (cur_typ == NULL) {
-               dbprintf("no current type\n");
+               dbprintf(_("no current type\n"));
                return 0;
        }
 
        pf = cur_typ->pfunc;
        if (pf == NULL) {
-               dbprintf("no handler function for type %s, write 
unsupported.\n",
+               dbprintf(_("no handler function for type %s, write 
unsupported.\n"),
                         cur_typ->name);
                return 0;
        }
@@ -164,7 +164,7 @@ bwrite_lshift(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -193,7 +193,7 @@ bwrite_rshift(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -223,7 +223,7 @@ bwrite_lrot(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -255,7 +255,7 @@ bwrite_rrot(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -290,7 +290,7 @@ bwrite_seq(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -339,7 +339,7 @@ bwrite_random(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -368,7 +368,7 @@ bwrite_fill(
                len = iocur_top->len - start;
 
        if (len+start > iocur_top->len) {
-               dbprintf("length (%d) too large for data block size (%d)",
+               dbprintf(_("length (%d) too large for data block size (%d)"),
                         len, iocur_top->len);
        }
 
@@ -556,13 +556,13 @@ write_struct(
        int             parentoffset;
 
        if (argc != 2) {
-               dbprintf("usage: write fieldname value\n");
+               dbprintf(_("usage: write fieldname value\n"));
                return;
        }
 
        fl = flist_scan(argv[0]);
        if (!fl) {
-               dbprintf("unable to parse '%s'.\n", argv[0]);
+               dbprintf(_("unable to parse '%s'.\n"), argv[0]);
                return;
        }
 
@@ -576,7 +576,7 @@ write_struct(
        /* run down the field list and set offsets into the data */
        if (!flist_parse(fields, fl, iocur_top->data, 0)) {
                flist_free(fl);
-               dbprintf("parsing error\n");
+               dbprintf(_("parsing error\n"));
                return;
        }
 
@@ -595,7 +595,7 @@ write_struct(
 
        buf = convert_arg(argv[1], bit_length);
        if (!buf) {
-               dbprintf("unable to convert value '%s'.\n", argv[1]);
+               dbprintf(_("unable to convert value '%s'.\n"), argv[1]);
                return;
        }
 
@@ -618,7 +618,7 @@ write_string(
        int i;
 
        if (argc != 1) {
-               dbprintf("usage (in string mode): write \"string...\"\n");
+               dbprintf(_("usage (in string mode): write \"string...\"\n"));
                return;
        }
 
@@ -660,12 +660,12 @@ write_block(
        }
 
        if (!cmd) {
-               dbprintf("write: invalid subcommand\n");
+               dbprintf(_("write: invalid subcommand\n"));
                goto block_usage;
        }
 
        if ((argc < cmd->argmin + 1) || (argc > cmd->argmax + 1)) {
-               dbprintf("write %s: invalid number of arguments\n",
+               dbprintf(_("write %s: invalid number of arguments\n"),
                         cmd->cmdstr);
                goto block_usage;
        }
@@ -689,7 +689,7 @@ write_block(
 
   block_usage:
 
-       dbprintf("usage: write (in data mode)\n");
+       dbprintf(_("usage: write (in data mode)\n"));
        for (i = 0; i < BWRITE_CMD_MAX; i++) {
                dbprintf("              %-9.9s %s\n",
                         bw_cmdtab[i].cmdstr, bw_cmdtab[i].usage);
diff --git a/logprint/log_copy.c b/logprint/log_copy.c
index e453337..fd36317 100644
--- a/logprint/log_copy.c
+++ b/logprint/log_copy.c
@@ -41,28 +41,28 @@ xfs_log_copy(
        for (blkno = 0; blkno < log->l_logBBsize; blkno++) {
                r = read(fd, buf, sizeof(buf));
                if (r < 0) {
-                       fprintf(stderr, "%s: read error (%lld): %s\n",
+                       fprintf(stderr, _("%s: read error (%lld): %s\n"),
                                __FUNCTION__, (long long)blkno,
                                strerror(errno));
                        continue;
                } else if (r == 0) {
-                       printf("%s: physical end of log at %lld\n",
+                       printf(_("%s: physical end of log at %lld\n"),
                                __FUNCTION__, (long long)blkno);
                        break;
                } else if (r != sizeof(buf)) {
-                       fprintf(stderr, "%s: short read? (%lld)\n",
+                       fprintf(stderr, _("%s: short read? (%lld)\n"),
                                        __FUNCTION__, (long long)blkno);
                        continue;
                }
 
                r = write(ofd, buf, sizeof(buf));
                if (r < 0) {
-                       fprintf(stderr, "%s: write error (%lld): %s\n",
+                       fprintf(stderr, _("%s: write error (%lld): %s\n"),
                                __FUNCTION__, (long long)blkno,
                                strerror(errno));
                        break;
                } else if (r != sizeof(buf)) {
-                       fprintf(stderr, "%s: short write? (%lld)\n",
+                       fprintf(stderr, _("%s: short write? (%lld)\n"),
                                __FUNCTION__, (long long)blkno);
                        continue;
                }
diff --git a/logprint/log_dump.c b/logprint/log_dump.c
index 8bcd94e..1975b1b 100644
--- a/logprint/log_dump.c
+++ b/logprint/log_dump.c
@@ -40,20 +40,20 @@ xfs_log_dump(
        for (blkno = 0; blkno < log->l_logBBsize; blkno++) {
                r = read(fd, buf, sizeof(buf));
                if (r < 0) {
-                       fprintf(stderr, "%s: read error (%lld): %s\n",
+                       fprintf(stderr, _("%s: read error (%lld): %s\n"),
                                __FUNCTION__, (long long)blkno,
                                strerror(errno));
                        continue;
                } else if (r == 0) {
-                       printf("%s: physical end of log at %lld\n",
+                       printf(_("%s: physical end of log at %lld\n"),
                                __FUNCTION__, (long long)blkno);
                        break;
                }
 
                if (CYCLE_LSN(be64_to_cpu(*(__be64 *)buf)) ==
                                XLOG_HEADER_MAGIC_NUM && !print_no_data) {
-                       printf(
-               "%6lld HEADER Cycle %d tail %d:%06d len %6d ops %d\n",
+                       printf(_(
+               "%6lld HEADER Cycle %d tail %d:%06d len %6d ops %d\n"),
                                (long long)blkno,
                                be32_to_cpu(hdr->h_cycle),
                                CYCLE_LSN(be64_to_cpu(hdr->h_tail_lsn)),
@@ -63,8 +63,8 @@ xfs_log_dump(
                }
 
                if (xlog_get_cycle(buf) != last_cycle) {
-                       printf(
-               "[%05lld - %05lld] Cycle 0x%08x New Cycle 0x%08x\n",
+                       printf(_(
+               "[%05lld - %05lld] Cycle 0x%08x New Cycle 0x%08x\n"),
                                (long long)dupblkno, (long long)blkno,
                                last_cycle, xlog_get_cycle(buf));
                        last_cycle = xlog_get_cycle(buf);
diff --git a/logprint/log_misc.c b/logprint/log_misc.c
index 6d1428e..253e146 100644
--- a/logprint/log_misc.c
+++ b/logprint/log_misc.c
@@ -128,12 +128,12 @@ xlog_print_op_header(xlog_op_header_t     *op_head,
     memmove(&hbuf, op_head, sizeof(xlog_op_header_t));
     op_head = &hbuf;
     *ptr += sizeof(xlog_op_header_t);
-    printf("Oper (%d): tid: %x  len: %d  clientid: %s  ", i,
+    printf(_("Oper (%d): tid: %x  len: %d  clientid: %s  "), i,
            be32_to_cpu(op_head->oh_tid),
            be32_to_cpu(op_head->oh_len),
            (op_head->oh_clientid == XFS_TRANSACTION ? "TRANS" :
            (op_head->oh_clientid == XFS_LOG ? "LOG" : "ERROR")));
-    printf("flags: ");
+    printf(_("flags: "));
     if (op_head->oh_flags) {
        if (op_head->oh_flags & XLOG_START_TRANS)
            printf("START ");
@@ -148,7 +148,7 @@ xlog_print_op_header(xlog_op_header_t       *op_head,
        if (op_head->oh_flags & XLOG_END_TRANS)
            printf("END ");
     } else {
-       printf("none");
+       printf(_("none"));
     }
     printf("\n");
 }      /* xlog_print_op_header */
@@ -227,11 +227,11 @@ xlog_print_trans_header(xfs_caddr_t *ptr, int len)
 #endif
     }
     if (len != sizeof(xfs_trans_header_t)) {
-       printf("   Not enough data to decode further\n");
+       printf(_("   Not enough data to decode further\n"));
        return 1;
     }
     h = (xfs_trans_header_t *)cptr;
-    printf("    type: %s       tid: %x       num_items: %d\n",
+    printf(_("    type: %s       tid: %x       num_items: %d\n"),
           trans_type[h->th_type], h->th_tid, h->th_num_items);
     return 0;
 }      /* xlog_print_trans_header */
@@ -273,13 +273,13 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int 
*i, int num_ops)
 
     if (len >= struct_size) {
        ASSERT((len - sizeof(struct_size)) % sizeof(int) == 0);
-       printf("#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: %d  
flags: 0x%x\n",
+       printf(_("#regs: %d   start blkno: %lld (0x%llx)  len: %d  bmap size: 
%d  flags: 0x%x\n"),
               size, (long long)blkno, (unsigned long long)blkno, blen, 
map_size, flags);
        if (blkno == 0)
            super_block = 1;
     } else {
        ASSERT(len >= 4);       /* must have at least 4 bytes if != 0 */
-       printf("#regs: %d   Not printing rest of data\n", f->blf_size);
+       printf(_("#regs: %d   Not printing rest of data\n"), f->blf_size);
        return size;
     }
     num = size-1;
@@ -296,9 +296,9 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
        head = (xlog_op_header_t *)*ptr;
        xlog_print_op_header(head, *i, ptr);
        if (super_block) {
-               printf("SUPER BLOCK Buffer: ");
+               printf(_("SUPER BLOCK Buffer: "));
                if (be32_to_cpu(head->oh_len) < 4*8) {
-                       printf("Out of space\n");
+                       printf(_("Out of space\n"));
                } else {
                        printf("\n");
                        /*
@@ -306,30 +306,30 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int 
*i, int num_ops)
                         */
                        memmove(&x, *ptr, sizeof(__be64));
                        memmove(&y, *ptr+8, sizeof(__be64));
-                       printf("icount: %lld  ifree: %lld  ",
+                       printf(_("icount: %lld  ifree: %lld  "),
                                be64_to_cpu(x), be64_to_cpu(y));
                        memmove(&x, *ptr+16, sizeof(__be64));
                        memmove(&y, *ptr+24, sizeof(__be64));
-                       printf("fdblks: %lld  frext: %lld\n",
+                       printf(_("fdblks: %lld  frext: %lld\n"),
                                be64_to_cpu(x), be64_to_cpu(y));
                }
                super_block = 0;
        } else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGI_MAGIC) {
                agi = (xfs_agi_t *)(*ptr);
-               printf("AGI Buffer: XAGI  ");
+               printf(_("AGI Buffer: XAGI  "));
                if (be32_to_cpu(head->oh_len) < sizeof(xfs_agi_t) -
                                XFS_AGI_UNLINKED_BUCKETS*sizeof(xfs_agino_t)) {
-                       printf("out of space\n");
+                       printf(_("out of space\n"));
                } else {
                        printf("\n");
-                       printf("ver: %d  ",
+                       printf(_("ver: %d  "),
                                be32_to_cpu(agi->agi_versionnum));
-                       printf("seq#: %d  len: %d  cnt: %d  root: %d\n",
+                       printf(_("seq#: %d  len: %d  cnt: %d  root: %d\n"),
                                be32_to_cpu(agi->agi_seqno),
                                be32_to_cpu(agi->agi_length),
                                be32_to_cpu(agi->agi_count),
                                be32_to_cpu(agi->agi_root));
-                       printf("level: %d  free#: 0x%x  newino: 0x%x\n",
+                       printf(_("level: %d  free#: 0x%x  newino: 0x%x\n"),
                                be32_to_cpu(agi->agi_level),
                                be32_to_cpu(agi->agi_freecount),
                                be32_to_cpu(agi->agi_newino));
@@ -339,14 +339,14 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int 
*i, int num_ops)
                                buckets = 32 + 17;
                        } else {
                                if (head->oh_flags & XLOG_CONTINUE_TRANS) {
-                                       printf("AGI unlinked data skipped ");
-                                       printf("(CONTINUE set, no space)\n");
+                                       printf(_("AGI unlinked data skipped "));
+                                       printf(_("(CONTINUE set, no space)\n"));
                                        continue;
                                }
                                buckets = XFS_AGI_UNLINKED_BUCKETS;
                        }
                        for (bucket = 0; bucket < buckets;) {
-                               printf("bucket[%d - %d]: ", bucket, bucket+3);
+                               printf(_("bucket[%d - %d]: "), bucket, 
bucket+3);
                                for (col = 0; col < 4; col++, bucket++) {
                                        if (bucket < buckets) {
                                                printf("0x%x ",
@@ -358,23 +358,23 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int 
*i, int num_ops)
                }
        } else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_AGF_MAGIC) {
                agf = (xfs_agf_t *)(*ptr);
-               printf("AGF Buffer: XAGF  ");
+               printf(_("AGF Buffer: XAGF  "));
                if (be32_to_cpu(head->oh_len) < sizeof(xfs_agf_t)) {
-                       printf("Out of space\n");
+                       printf(_("Out of space\n"));
                } else {
                        printf("\n");
-                       printf("ver: %d  seq#: %d  len: %d  \n",
+                       printf(_("ver: %d  seq#: %d  len: %d  \n"),
                                be32_to_cpu(agf->agf_versionnum),
                                be32_to_cpu(agf->agf_seqno),
                                be32_to_cpu(agf->agf_length));
-                       printf("root BNO: %d  CNT: %d\n",
+                       printf(_("root BNO: %d  CNT: %d\n"),
                                be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNOi]),
                                be32_to_cpu(agf->agf_roots[XFS_BTNUM_CNTi]));
-                       printf("level BNO: %d  CNT: %d\n",
+                       printf(_("level BNO: %d  CNT: %d\n"),
                                be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNOi]),
                                be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNTi]));
-                       printf("1st: %d  last: %d  cnt: %d  "
-                              "freeblks: %d  longest: %d\n",
+                       printf(_("1st: %d  last: %d  cnt: %d  "
+                              "freeblks: %d  longest: %d\n"),
                                be32_to_cpu(agf->agf_flfirst),
                                be32_to_cpu(agf->agf_fllast),
                                be32_to_cpu(agf->agf_flcount),
@@ -383,33 +383,33 @@ xlog_print_trans_buffer(xfs_caddr_t *ptr, int len, int 
*i, int num_ops)
                }
        } else if (be32_to_cpu(*(__be32 *)(*ptr)) == XFS_DQUOT_MAGIC) {
                dq = (xfs_disk_dquot_t *)(*ptr);
-               printf("DQUOT Buffer: DQ  ");
+               printf(_("DQUOT Buffer: DQ  "));
                if (be32_to_cpu(head->oh_len) <
                                sizeof(xfs_disk_dquot_t)) {
-                       printf("Out of space\n");
+                       printf(_("Out of space\n"));
                }
                else {
                        printf("\n");
-                       printf("ver: %d  flags: 0x%x  id: %d  \n",
+                       printf(_("ver: %d  flags: 0x%x  id: %d  \n"),
                                dq->d_version, dq->d_flags,
                                be32_to_cpu(dq->d_id));
-                       printf("blk limits  hard: %llu  soft: %llu\n",
+                       printf(_("blk limits  hard: %llu  soft: %llu\n"),
                                be64_to_cpu(dq->d_blk_hardlimit),
                                be64_to_cpu(dq->d_blk_softlimit));
-                       printf("blk  count: %llu  warns: %d  timer: %d\n",
+                       printf(_("blk  count: %llu  warns: %d  timer: %d\n"),
                                be64_to_cpu(dq->d_bcount),
                                be16_to_cpu(dq->d_bwarns),
                                be32_to_cpu(dq->d_btimer));
-                       printf("ino limits  hard: %llu  soft: %llu\n",
+                       printf(_("ino limits  hard: %llu  soft: %llu\n"),
                                be64_to_cpu(dq->d_ino_hardlimit),
                                be64_to_cpu(dq->d_ino_softlimit));
-                       printf("ino  count: %llu  warns: %d  timer: %d\n",
+                       printf(_("ino  count: %llu  warns: %d  timer: %d\n"),
                                be64_to_cpu(dq->d_icount),
                                be16_to_cpu(dq->d_iwarns),
                                be32_to_cpu(dq->d_itimer));
                }
        } else {
-               printf("BUF DATA\n");
+               printf(_("BUF DATA\n"));
                if (print_data) {
                        uint *dp  = (uint *)*ptr;
                        int  nums = be32_to_cpu(head->oh_len) >> 2;
@@ -451,14 +451,14 @@ xlog_print_trans_efd(xfs_caddr_t *ptr, uint len)
     f = &lbuf;
     *ptr += len;
     if (len >= core_size) {
-       printf("EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n",
+       printf(_("EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"),
               f->efd_size, f->efd_nextents, (unsigned long long)f->efd_efi_id);
 
        /* don't print extents as they are not used */
 
        return 0;
     } else {
-       printf("EFD: Not enough data to decode further\n");
+       printf(_("EFD: Not enough data to decode further\n"));
        return 1;
     }
 }      /* xlog_print_trans_efd */
@@ -478,7 +478,7 @@ xlog_print_trans_efi(xfs_caddr_t *ptr, uint src_len)
      * xfs_efi_log_format_t structure
      */
     if ((src_f = (xfs_efi_log_format_t *)malloc(src_len)) == NULL) {
-       fprintf(stderr, "%s: xlog_print_trans_efi: malloc failed\n", progname);
+       fprintf(stderr, _("%s: xlog_print_trans_efi: malloc failed\n"), 
progname);
        exit(1);
     }
     memmove((char*)src_f, *ptr, src_len);
@@ -487,7 +487,7 @@ xlog_print_trans_efi(xfs_caddr_t *ptr, uint src_len)
     /* convert to native format */
     dst_len = sizeof(xfs_efi_log_format_t) + (src_f->efi_nextents - 1) * 
sizeof(xfs_extent_t);
     if ((f = (xfs_efi_log_format_t *)malloc(dst_len)) == NULL) {
-       fprintf(stderr, "%s: xlog_print_trans_efi: malloc failed\n", progname);
+       fprintf(stderr, _("%s: xlog_print_trans_efi: malloc failed\n"), 
progname);
        exit(1);
     }
     if (xfs_efi_copy_format((char*)src_f, src_len, f)) {
@@ -495,7 +495,7 @@ xlog_print_trans_efi(xfs_caddr_t *ptr, uint src_len)
        goto error;
     }
 
-    printf("EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n",
+    printf(_("EFI:  #regs: %d    num_extents: %d  id: 0x%llx\n"),
           f->efi_size, f->efi_nextents, (unsigned long long)f->efi_id);
     ex = f->efi_extents;
     for (i=0; i < f->efi_nextents; i++) {
@@ -522,10 +522,10 @@ xlog_print_trans_qoff(xfs_caddr_t *ptr, uint len)
     f = &lbuf;
     *ptr += len;
     if (len >= sizeof(xfs_qoff_logformat_t)) {
-       printf("QOFF:  #regs: %d    flags: 0x%x\n", f->qf_size, f->qf_flags);
+       printf(_("QOFF:  #regs: %d    flags: 0x%x\n"), f->qf_size, f->qf_flags);
        return 0;
     } else {
-       printf("QOFF: Not enough data to decode further\n");
+       printf(_("QOFF: Not enough data to decode further\n"));
        return 1;
     }
 }      /* xlog_print_trans_qoff */
@@ -534,21 +534,21 @@ xlog_print_trans_qoff(xfs_caddr_t *ptr, uint len)
 void
 xlog_print_trans_inode_core(xfs_icdinode_t *ip)
 {
-    printf("INODE CORE\n");
-    printf("magic 0x%hx mode 0%ho version %d format %d\n",
+    printf(_("INODE CORE\n"));
+    printf(_("magic 0x%hx mode 0%ho version %d format %d\n"),
           ip->di_magic, ip->di_mode, (int)ip->di_version,
           (int)ip->di_format);
-    printf("nlink %hd uid %d gid %d\n",
+    printf(_("nlink %hd uid %d gid %d\n"),
           ip->di_nlink, ip->di_uid, ip->di_gid);
-    printf("atime 0x%x mtime 0x%x ctime 0x%x\n",
+    printf(_("atime 0x%x mtime 0x%x ctime 0x%x\n"),
           ip->di_atime.t_sec, ip->di_mtime.t_sec, ip->di_ctime.t_sec);
-    printf("size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n",
+    printf(_("size 0x%llx nblocks 0x%llx extsize 0x%x nextents 0x%x\n"),
           (unsigned long long)ip->di_size, (unsigned long long)ip->di_nblocks,
           ip->di_extsize, ip->di_nextents);
-    printf("naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n",
+    printf(_("naextents 0x%x forkoff %d dmevmask 0x%x dmstate 0x%hx\n"),
           ip->di_anextents, (int)ip->di_forkoff, ip->di_dmevmask,
           ip->di_dmstate);
-    printf("flags 0x%x gen 0x%x\n",
+    printf(_("flags 0x%x gen 0x%x\n"),
           ip->di_flags, ip->di_gen);
 }
 
@@ -564,16 +564,16 @@ xlog_print_dir_sf(xfs_dir_shortform_t *sfp, int size)
        /* XXX need to determine whether this is v1 or v2, then
           print appropriate structure */
 
-       printf("SHORTFORM DIRECTORY size %d\n",
+       printf(_("SHORTFORM DIRECTORY size %d\n"),
                size);
        /* bail out for now */
 
        return;
 
-       printf("SHORTFORM DIRECTORY size %d count %d\n",
+       printf(_("SHORTFORM DIRECTORY size %d count %d\n"),
               size, sfp->hdr.count);
        memmove(&ino, &(sfp->hdr.parent), sizeof(ino));
-       printf(".. ino 0x%llx\n", be64_to_cpu(*(__be64 *)&ino));
+       printf(_(".. ino 0x%llx\n"), be64_to_cpu(*(__be64 *)&ino));
 
        count = (uint)(sfp->hdr.count);
        sfep = &(sfp->list[0]);
@@ -581,7 +581,7 @@ xlog_print_dir_sf(xfs_dir_shortform_t *sfp, int size)
                memmove(&ino, &(sfep->inumber), sizeof(ino));
                memmove(namebuf, (sfep->name), sfep->namelen);
                namebuf[sfep->namelen] = '\0';
-               printf("%s ino 0x%llx namelen %d\n",
+               printf(_("%s ino 0x%llx namelen %d\n"),
                       namebuf, (unsigned long long)ino, sfep->namelen);
                sfep = xfs_dir_sf_nextentry(sfep);
        }
@@ -613,16 +613,16 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
     if (len == sizeof(xfs_inode_log_format_32_t) ||
        len == sizeof(xfs_inode_log_format_64_t)) {
        f = xfs_inode_item_format_convert((char*)&src_lbuf, len, &dst_lbuf);
-       printf("INODE: ");
-       printf("#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n",
+       printf(_("INODE: "));
+       printf(_("#regs: %d   ino: 0x%llx  flags: 0x%x   dsize: %d\n"),
               f->ilf_size, (unsigned long long)f->ilf_ino,
               f->ilf_fields, f->ilf_dsize);
-       printf("        blkno: %lld  len: %d  boff: %d\n",
+       printf(_("        blkno: %lld  len: %d  boff: %d\n"),
               (long long)f->ilf_blkno, f->ilf_len, f->ilf_boffset);
     } else {
        ASSERT(len >= 4);       /* must have at least 4 bytes if != 0 */
        f = (xfs_inode_log_format_t *)&src_lbuf;
-       printf("INODE: #regs: %d   Not printing rest of data\n",
+       printf(_("INODE: #regs: %d   Not printing rest of data\n"),
               f->ilf_size);
        return f->ilf_size;
     }
@@ -655,7 +655,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("EXTENTS inode data\n");
+           printf(_("EXTENTS inode data\n"));
            *ptr += be32_to_cpu(op_head->oh_len);
            if (XLOG_SET(op_head->oh_flags, XLOG_CONTINUE_TRANS))  {
                return 1;
@@ -666,7 +666,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("BTREE inode data\n");
+           printf(_("BTREE inode data\n"));
            *ptr += be32_to_cpu(op_head->oh_len);
            if (XLOG_SET(op_head->oh_flags, XLOG_CONTINUE_TRANS))  {
                return 1;
@@ -677,7 +677,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("LOCAL inode data\n");
+           printf(_("LOCAL inode data\n"));
            if (mode == S_IFDIR) {
                xlog_print_dir_sf((xfs_dir_shortform_t*)*ptr, size);
            }
@@ -691,7 +691,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("EXTENTS inode attr\n");
+           printf(_("EXTENTS inode attr\n"));
            *ptr += be32_to_cpu(op_head->oh_len);
            if (XLOG_SET(op_head->oh_flags, XLOG_CONTINUE_TRANS))  {
                return 1;
@@ -702,7 +702,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("BTREE inode attr\n");
+           printf(_("BTREE inode attr\n"));
            *ptr += be32_to_cpu(op_head->oh_len);
            if (XLOG_SET(op_head->oh_flags, XLOG_CONTINUE_TRANS))  {
                return 1;
@@ -713,7 +713,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            ASSERT(f->ilf_size == 3);
            (*i)++;
            xlog_print_op_header(op_head, *i, ptr);
-           printf("LOCAL inode attr\n");
+           printf(_("LOCAL inode attr\n"));
            if (mode == S_IFDIR) {
                xlog_print_dir_sf((xfs_dir_shortform_t*)*ptr, size);
            }
@@ -725,12 +725,12 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
        }
        case XFS_ILOG_DEV: {
            ASSERT(f->ilf_size == 2);
-           printf("DEV inode: no extra region\n");
+           printf(_("DEV inode: no extra region\n"));
            break;
        }
        case XFS_ILOG_UUID: {
            ASSERT(f->ilf_size == 2);
-           printf("UUID inode: no extra region\n");
+           printf(_("UUID inode: no extra region\n"));
            break;
        }
        case 0: {
@@ -738,7 +738,7 @@ xlog_print_trans_inode(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
            break;
        }
        default: {
-           xlog_panic("xlog_print_trans_inode: illegal inode type");
+           xlog_panic(_("xlog_print_trans_inode: illegal inode type"));
        }
     }
     return 0;
@@ -766,12 +766,12 @@ xlog_print_trans_dquot(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
     *ptr += len;
 
     if (len == sizeof(xfs_dq_logformat_t)) {
-       printf("#regs: %d   id: 0x%x", f->qlf_size, f->qlf_id);
-       printf("  blkno: %lld  len: %d  boff: %d\n",
+       printf(_("#regs: %d   id: 0x%x"), f->qlf_size, f->qlf_id);
+       printf(_("  blkno: %lld  len: %d  boff: %d\n"),
                (long long)f->qlf_blkno, f->qlf_len, f->qlf_boffset);
     } else {
        ASSERT(len >= 4);       /* must have at least 4 bytes if != 0 */
-       printf("DQUOT: #regs: %d   Not printing rest of data\n",
+       printf(_("DQUOT: #regs: %d   Not printing rest of data\n"),
                f->qlf_size);
        return f->qlf_size;
     }
@@ -790,7 +790,7 @@ xlog_print_trans_dquot(xfs_caddr_t *ptr, int len, int *i, 
int num_ops)
        xlog_print_op_header(head, *i, ptr);
        ASSERT(be32_to_cpu(head->oh_len) == sizeof(xfs_disk_dquot_t));
        memmove(&ddq, *ptr, sizeof(xfs_disk_dquot_t));
-       printf("DQUOT: magic 0x%hx flags 0%ho\n",
+       printf(_("DQUOT: magic 0x%hx flags 0%ho\n"),
               be16_to_cpu(ddq.d_magic), ddq.d_flags);
        *ptr += be32_to_cpu(head->oh_len);
     }
@@ -818,7 +818,7 @@ xlog_print_lseek(xlog_t *log, int fd, xfs_daddr_t blkno, 
int whence)
        else
                offset = BBTOOFF64(blkno);
        if (lseek64(fd, offset, whence) < 0) {
-               fprintf(stderr, "%s: lseek64 to %lld failed: %s\n",
+               fprintf(stderr, _("%s: lseek64 to %lld failed: %s\n"),
                        progname, (long long)offset, strerror(errno));
                exit(1);
        }
@@ -861,7 +861,7 @@ xlog_print_record(int                         fd,
     /* read_type => don't malloc() new buffer, use old one */
     if (*read_type == FULL_READ) {
        if ((ptr = buf = (xfs_caddr_t)malloc(read_len)) == NULL) {
-           fprintf(stderr, "%s: xlog_print_record: malloc failed\n", progname);
+           fprintf(stderr, _("%s: xlog_print_record: malloc failed\n"), 
progname);
            exit(1);
        }
     } else {
@@ -870,7 +870,7 @@ xlog_print_record(int                         fd,
        ptr = *partial_buf;
     }
     if ((ret = (int) read(fd, buf, read_len)) == -1) {
-       fprintf(stderr, "%s: xlog_print_record: read error\n", progname);
+       fprintf(stderr, _("%s: xlog_print_record: read error\n"), progname);
        exit(1);
     }
     /* Did we overflow the end? */
@@ -957,7 +957,7 @@ xlog_print_record(int                         fd,
        }
        if (xlog_print_find_tid(be32_to_cpu(op_head->oh_tid),
                                op_head->oh_flags & XLOG_WAS_CONT_TRANS)) {
-           printf("Left over region from split log item\n");
+           printf(_("Left over region from split log item\n"));
            ptr += be32_to_cpu(op_head->oh_len);
            continue;
        }
@@ -1001,12 +1001,12 @@ xlog_print_record(int                     fd,
                        break;
                    }
                    case XLOG_UNMOUNT_TYPE: {
-                       printf("Unmount filesystem\n");
+                       printf(_("Unmount filesystem\n"));
                        skip = 0;
                        break;
                    }
                    default: {
-                       fprintf(stderr, "%s: unknown log operation type (%x)\n",
+                       fprintf(stderr, _("%s: unknown log operation type 
(%x)\n"),
                                progname, *(unsigned short *)ptr);
                        if (print_exit) {
                                free(buf);
@@ -1041,7 +1041,7 @@ xlog_print_rec_head(xlog_rec_header_t *head, int *len)
        return ZEROED_LOG;
 
     if (be32_to_cpu(head->h_magicno) != XLOG_HEADER_MAGIC_NUM) {
-       printf("Header 0x%x wanted 0x%x\n",
+       printf(_("Header 0x%x wanted 0x%x\n"),
                be32_to_cpu(head->h_magicno),
                XLOG_HEADER_MAGIC_NUM);
        return BAD_HEADER;
@@ -1055,19 +1055,19 @@ xlog_print_rec_head(xlog_rec_header_t *head, int *len)
     datalen=be32_to_cpu(head->h_len);
     bbs=BTOBB(datalen);
 
-    printf("cycle: %d  version: %d     ",
+    printf(_("cycle: %d        version: %d     "),
            be32_to_cpu(head->h_cycle),
            be32_to_cpu(head->h_version));
     print_lsn("        lsn", &head->h_lsn);
     print_lsn("        tail_lsn", &head->h_tail_lsn);
     printf("\n");
-    printf("length of Log Record: %d   prev offset: %d         num ops: %d\n",
+    printf(_("length of Log Record: %d prev offset: %d         num ops: %d\n"),
           datalen,
            be32_to_cpu(head->h_prev_block),
            be32_to_cpu(head->h_num_logops));
 
     if (print_overwrite) {
-       printf("cycle num overwrites: ");
+       printf(_("cycle num overwrites: "));
        for (i=0; i< MIN(bbs, XLOG_HEADER_CYCLE_SIZE / BBSIZE); i++)
            printf("%d - 0x%x  ",
                    i,
@@ -1076,25 +1076,25 @@ xlog_print_rec_head(xlog_rec_header_t *head, int *len)
     }
 
     platform_uuid_unparse(&head->h_fs_uuid, uub);
-    printf("uuid: %s   format: ", uub);
+    printf(_("uuid: %s   format: "), uub);
     switch (be32_to_cpu(head->h_fmt)) {
        case XLOG_FMT_UNKNOWN:
-           printf("unknown\n");
+           printf(_("unknown\n"));
            break;
        case XLOG_FMT_LINUX_LE:
-           printf("little endian linux\n");
+           printf(_("little endian linux\n"));
            break;
        case XLOG_FMT_LINUX_BE:
-           printf("big endian linux\n");
+           printf(_("big endian linux\n"));
            break;
        case XLOG_FMT_IRIX_BE:
-           printf("big endian irix\n");
+           printf(_("big endian irix\n"));
            break;
        default:
            printf("? (%d)\n", be32_to_cpu(head->h_fmt));
            break;
     }
-    printf("h_size: %d\n", be32_to_cpu(head->h_size));
+    printf(_("h_size: %d\n"), be32_to_cpu(head->h_size));
 
     *len = be32_to_cpu(head->h_len);
     return(be32_to_cpu(head->h_num_logops));
@@ -1106,10 +1106,10 @@ xlog_print_rec_xhead(xlog_rec_ext_header_t *head, int 
coverage)
     int i;
 
     print_xlog_xhdr_line();
-    printf("extended-header: cycle: %d\n", be32_to_cpu(head->xh_cycle));
+    printf(_("extended-header: cycle: %d\n"), be32_to_cpu(head->xh_cycle));
 
     if (print_overwrite) {
-       printf("cycle num overwrites: ");
+       printf(_("cycle num overwrites: "));
        for (i = 0; i < coverage; i++)
            printf("%d - 0x%x  ",
                    i,
@@ -1122,7 +1122,7 @@ static void
 print_xlog_bad_zeroed(xfs_daddr_t blkno)
 {
        print_stars();
-       printf("* ERROR: found data after zeroed blocks block=%-21lld  *\n",
+       printf(_("* ERROR: found data after zeroed blocks block=%-21lld  *\n"),
                (long long)blkno);
        print_stars();
        if (print_exit)
@@ -1133,7 +1133,7 @@ static void
 print_xlog_bad_header(xfs_daddr_t blkno, xfs_caddr_t buf)
 {
        print_stars();
-       printf("* ERROR: header cycle=%-11d block=%-21lld        *\n",
+       printf(_("* ERROR: header cycle=%-11d block=%-21lld        *\n"),
                xlog_get_cycle(buf), (long long)blkno);
        print_stars();
        if (print_exit)
@@ -1144,7 +1144,7 @@ void
 print_xlog_bad_data(xfs_daddr_t blkno)
 {
        print_stars();
-       printf("* ERROR: data block=%-21lld                             *\n",
+       printf(_("* ERROR: data block=%-21lld                             *\n"),
                (long long)blkno);
        print_stars();
        if (print_exit)
@@ -1155,13 +1155,13 @@ static void
 print_xlog_bad_reqd_hdrs(xfs_daddr_t blkno, int num_reqd, int num_hdrs)
 {
        print_stars();
-       printf("* ERROR: for header block=%lld\n"
+       printf(_("* ERROR: for header block=%lld\n"
               "*        not enough hdrs for data length, "
-               "required num = %d, hdr num = %d\n",
+               "required num = %d, hdr num = %d\n"),
                (long long)blkno, num_reqd, num_hdrs);
        print_stars();
        if (print_exit)
-           xlog_exit("Not enough headers for data length.");
+           xlog_exit(_("Not enough headers for data length."));
 }      /* print_xlog_bad_reqd_hdrs */
 
 static void
@@ -1171,7 +1171,7 @@ xlog_reallocate_xhdrs(int num_hdrs, xlog_rec_ext_header_t 
**ret_xhdrs)
 
        *ret_xhdrs = (xlog_rec_ext_header_t *)realloc(*ret_xhdrs, len);
        if (*ret_xhdrs == NULL) {
-               fprintf(stderr, "%s: xlog_print: malloc failed for ext hdrs\n", 
progname);
+               fprintf(stderr, _("%s: xlog_print: malloc failed for ext 
hdrs\n"), progname);
                exit(1);
        }
 }
@@ -1217,13 +1217,13 @@ xlog_print_extended_headers(
        for (i = 1, x = *ret_xhdrs; i < num_hdrs; i++, (*blkno)++, x++) {
            /* read one extra header blk */
            if (read(fd, xhbuf, 512) == 0) {
-               printf("%s: physical end of log\n", progname);
+               printf(_("%s: physical end of log\n"), progname);
                print_xlog_record_line();
                /* reached the end so return 1 */
                return 1;
            }
            if (print_only_data) {
-               printf("BLKNO: %lld\n", (long long)*blkno);
+               printf(_("BLKNO: %lld\n"), (long long)*blkno);
                xlog_recover_print_data(xhbuf, 512);
            }
            else {
@@ -1280,7 +1280,7 @@ void xfs_log_print(xlog_t       *log,
      * we still end at the end of the logical log.
      */
     if ((error = xlog_print_find_oldest(log, &block_end))) {
-       fprintf(stderr, "%s: problem finding oldest LR\n", progname);
+       fprintf(stderr, _("%s: problem finding oldest LR\n"), progname);
        return;
     }
     if (print_block_start == -1)
@@ -1292,12 +1292,12 @@ void xfs_log_print(xlog_t       *log,
 
     for (;;) {
        if (read(fd, hbuf, 512) == 0) {
-           printf("%s: physical end of log\n", progname);
+           printf(_("%s: physical end of log\n"), progname);
            print_xlog_record_line();
            break;
        }
        if (print_only_data) {
-           printf("BLKNO: %lld\n", (long long)blkno);
+           printf(_("BLKNO: %lld\n"), (long long)blkno);
            xlog_recover_print_data(hbuf, 512);
            blkno++;
            goto loop;
@@ -1306,7 +1306,7 @@ void xfs_log_print(xlog_t       *log,
        blkno++;
 
        if (zeroed && num_ops != ZEROED_LOG) {
-           printf("%s: after %d zeroed blocks\n", progname, zeroed);
+           printf(_("%s: after %d zeroed blocks\n"), progname, zeroed);
            /* once we find zeroed blocks - that's all we expect */
            print_xlog_bad_zeroed(blkno-1);
            /* reset count since we're assuming previous zeroed blocks
@@ -1358,7 +1358,7 @@ void xfs_log_print(xlog_t       *log,
            }
            case PARTIAL_READ: {
                print_xlog_record_line();
-               printf("%s: physical end of log\n", progname);
+               printf(_("%s: physical end of log\n"), progname);
                print_xlog_record_line();
                blkno = 0;
                xlog_print_lseek(log, fd, 0, SEEK_SET);
@@ -1370,32 +1370,32 @@ void xfs_log_print(xlog_t       *log,
                        goto end;
                goto partial_log_read;
            }
-           default: xlog_panic("illegal value");
+           default: xlog_panic(_("illegal value"));
        }
        print_xlog_record_line();
 loop:
        if (blkno >= logBBsize) {
            if (cleared) {
-               printf("%s: skipped %d cleared blocks in range: %lld - %lld\n",
+               printf(_("%s: skipped %d cleared blocks in range: %lld - 
%lld\n"),
                        progname, cleared,
                        (long long)(cleared_blkno),
                        (long long)(cleared + cleared_blkno - 1));
                if (cleared == logBBsize)
-                   printf("%s: totally cleared log\n", progname);
+                   printf(_("%s: totally cleared log\n"), progname);
 
                cleared=0;
            }
            if (zeroed) {
-               printf("%s: skipped %d zeroed blocks in range: %lld - %lld\n",
+               printf(_("%s: skipped %d zeroed blocks in range: %lld - 
%lld\n"),
                        progname, zeroed,
                        (long long)(zeroed_blkno),
                        (long long)(zeroed + zeroed_blkno - 1));
                if (zeroed == logBBsize)
-                   printf("%s: totally zeroed log\n", progname);
+                   printf(_("%s: totally zeroed log\n"), progname);
 
                zeroed=0;
            }
-           printf("%s: physical end of log\n", progname);
+           printf(_("%s: physical end of log\n"), progname);
            print_xlog_record_line();
            break;
        }
@@ -1407,10 +1407,10 @@ loop:
        xlog_print_lseek(log, fd, 0, SEEK_SET);
        for (;;) {
            if (read(fd, hbuf, 512) == 0) {
-               xlog_panic("xlog_find_head: bad read");
+               xlog_panic(_("xlog_find_head: bad read"));
            }
            if (print_only_data) {
-               printf("BLKNO: %lld\n", (long long)blkno);
+               printf(_("BLKNO: %lld\n"), (long long)blkno);
                xlog_recover_print_data(hbuf, 512);
                blkno++;
                goto loop2;
@@ -1463,7 +1463,7 @@ loop2:
     }
 
 end:
-    printf("%s: logical end of log\n", progname);
+    printf(_("%s: logical end of log\n"), progname);
     print_xlog_record_line();
 }
 
@@ -1555,7 +1555,7 @@ xfs_efi_copy_format(char *buf, uint len, 
xfs_efi_log_format_t *dst_efi_fmt)
                 }
                 return 0;
         }
-       fprintf(stderr, "%s: bad size of efi format: %u; expected %u or %u; 
nextents = %u\n",
+       fprintf(stderr, _("%s: bad size of efi format: %u; expected %u or %u; 
nextents = %u\n"),
                progname, len, len32, len64, nextents);
         return 1;
 }
diff --git a/logprint/log_print_all.c b/logprint/log_print_all.c
index 955d942..c21e05c 100644
--- a/logprint/log_print_all.c
+++ b/logprint/log_print_all.c
@@ -95,7 +95,7 @@ xlog_recover_print_buffer(
        len = item->ri_buf[0].i_len;
        printf("        ");
        ASSERT(f->blf_type == XFS_LI_BUF);
-       printf("BUF:  #regs:%d   start blkno:0x%llx   len:%d   bmap size:%d   
flags:0x%x\n",
+       printf(_("BUF:  #regs:%d   start blkno:0x%llx   len:%d   bmap size:%d   
flags:0x%x\n"),
                f->blf_size, (long long)f->blf_blkno, f->blf_len, 
f->blf_map_size, f->blf_flags);
        blkno = (xfs_daddr_t)f->blf_blkno;
        num = f->blf_size-1;
@@ -105,51 +105,51 @@ xlog_recover_print_buffer(
                len = item->ri_buf[i].i_len;
                i++;
                if (blkno == 0) { /* super block */
-                       printf("        SUPER Block Buffer:\n");
+                       printf(_("      SUPER Block Buffer:\n"));
                        if (!print_buffer) 
                                continue;
-                       printf("                icount:%Ld  ifree:%Ld  ",
+                       printf(_("              icount:%Ld  ifree:%Ld  "),
                               be64_to_cpu(*(__be64 *)(p)),
                               be64_to_cpu(*(__be64 *)(p+8)));
-                       printf("fdblks:%Ld  frext:%Ld\n",
+                       printf(_("fdblks:%Ld  frext:%Ld\n"),
                               be64_to_cpu(*(__be64 *)(p+16)),
                               be64_to_cpu(*(__be64 *)(p+24)));
-                       printf("                sunit:%u  swidth:%u\n",
+                       printf(_("              sunit:%u  swidth:%u\n"),
                               be32_to_cpu(*(__be32 *)(p+56)),
                               be32_to_cpu(*(__be32 *)(p+60)));
                } else if (be32_to_cpu(*(__be32 *)p) == XFS_AGI_MAGIC) {
                        agi = (xfs_agi_t *)p;
-                       printf("        AGI Buffer: (XAGI)\n");
+                       printf(_("      AGI Buffer: (XAGI)\n"));
                        if (!print_buffer) 
                                continue;
-                       printf("                ver:%d  ",
+                       printf(_("              ver:%d  "),
                                be32_to_cpu(agi->agi_versionnum));
-                       printf("seq#:%d  len:%d  cnt:%d  root:%d\n",
+                       printf(_("seq#:%d  len:%d  cnt:%d  root:%d\n"),
                                be32_to_cpu(agi->agi_seqno),
                                be32_to_cpu(agi->agi_length),
                                be32_to_cpu(agi->agi_count),
                                be32_to_cpu(agi->agi_root));
-                       printf("                level:%d  free#:0x%x  
newino:0x%x\n",
+                       printf(_("              level:%d  free#:0x%x  
newino:0x%x\n"),
                                be32_to_cpu(agi->agi_level),
                                be32_to_cpu(agi->agi_freecount),
                                be32_to_cpu(agi->agi_newino));
                } else if (be32_to_cpu(*(__be32 *)p) == XFS_AGF_MAGIC) {
                        agf = (xfs_agf_t *)p;
-                       printf("        AGF Buffer: (XAGF)\n");
+                       printf(_("      AGF Buffer: (XAGF)\n"));
                        if (!print_buffer) 
                                continue;
-                       printf("                ver:%d  seq#:%d  len:%d  \n",
+                       printf(_("              ver:%d  seq#:%d  len:%d  \n"),
                                be32_to_cpu(agf->agf_versionnum),
                                be32_to_cpu(agf->agf_seqno),
                                be32_to_cpu(agf->agf_length));
-                       printf("                root BNO:%d  CNT:%d\n",
+                       printf(_("              root BNO:%d  CNT:%d\n"),
                                be32_to_cpu(agf->agf_roots[XFS_BTNUM_BNOi]),
                                be32_to_cpu(agf->agf_roots[XFS_BTNUM_CNTi]));
-                       printf("                level BNO:%d  CNT:%d\n",
+                       printf(_("              level BNO:%d  CNT:%d\n"),
                                be32_to_cpu(agf->agf_levels[XFS_BTNUM_BNOi]),
                                be32_to_cpu(agf->agf_levels[XFS_BTNUM_CNTi]));
-                       printf("                1st:%d  last:%d  cnt:%d  "
-                               "freeblks:%d  longest:%d\n",
+                       printf(_("              1st:%d  last:%d  cnt:%d  "
+                               "freeblks:%d  longest:%d\n"),
                                be32_to_cpu(agf->agf_flfirst),
                                be32_to_cpu(agf->agf_fllast),
                                be32_to_cpu(agf->agf_flcount),
@@ -157,15 +157,15 @@ xlog_recover_print_buffer(
                                be32_to_cpu(agf->agf_longest));
                } else if (*(uint *)p == XFS_DQUOT_MAGIC) {
                        ddq = (xfs_disk_dquot_t *)p;
-                       printf("        DQUOT Buffer:\n");
+                       printf(_("      DQUOT Buffer:\n"));
                        if (!print_buffer) 
                                continue;
-                       printf("                UIDs 0x%lx-0x%lx\n",
+                       printf(_("              UIDs 0x%lx-0x%lx\n"),
                               (unsigned long)be32_to_cpu(ddq->d_id),
                               (unsigned long)be32_to_cpu(ddq->d_id) +
                               (BBTOB(f->blf_len) / sizeof(xfs_dqblk_t)) - 1);
                } else {
-                       printf("        BUF DATA\n");
+                       printf(_("      BUF DATA\n"));
                        if (!print_buffer) continue;
                        xlog_recover_print_data(p, len);
                }
@@ -187,7 +187,7 @@ xlog_recover_print_quotaoff(
                strcat(str, "GROUP QUOTA");
        if (qoff_f->qf_flags & XFS_PQUOTA_ACCT)
                strcat(str, "PROJECT QUOTA");
-       printf("\tQUOTAOFF: #regs:%d   type:%s\n",
+       printf(_("\tQUOTAOFF: #regs:%d   type:%s\n"),
               qoff_f->qf_size, str);
 }
 
@@ -202,27 +202,27 @@ xlog_recover_print_dquot(
        ASSERT(f);
        ASSERT(f->qlf_len == 1);
        d = (xfs_disk_dquot_t *)item->ri_buf[1].i_addr;
-       printf("\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n",
+       printf(_("\tDQUOT: #regs:%d  blkno:%lld  boffset:%u id: %d\n"),
               f->qlf_size, (long long)f->qlf_blkno, f->qlf_boffset, f->qlf_id);
        if (!print_quota)
                return;
-       printf("\t\tmagic 0x%x\tversion 0x%x\tID 0x%x (%d)\t\n",
+       printf(_("\t\tmagic 0x%x\tversion 0x%x\tID 0x%x (%d)\t\n"),
               be16_to_cpu(d->d_magic),
               d->d_version,
               be32_to_cpu(d->d_id),
               be32_to_cpu(d->d_id));
-       printf("\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x"
-              "\tino_soft 0x%x\n",
+       printf(_("\t\tblk_hard 0x%x\tblk_soft 0x%x\tino_hard 0x%x"
+              "\tino_soft 0x%x\n"),
               (int)be64_to_cpu(d->d_blk_hardlimit),
               (int)be64_to_cpu(d->d_blk_softlimit),
               (int)be64_to_cpu(d->d_ino_hardlimit),
               (int)be64_to_cpu(d->d_ino_softlimit));
-       printf("\t\tbcount 0x%x (%d) icount 0x%x (%d)\n",
+       printf(_("\t\tbcount 0x%x (%d) icount 0x%x (%d)\n"),
               (int)be64_to_cpu(d->d_bcount),
               (int)be64_to_cpu(d->d_bcount),
               (int)be64_to_cpu(d->d_icount),
               (int)be64_to_cpu(d->d_icount));
-       printf("\t\tbtimer 0x%x itimer 0x%x \n",
+       printf(_("\t\tbtimer 0x%x itimer 0x%x \n"),
               (int)be32_to_cpu(d->d_btimer),
               (int)be32_to_cpu(d->d_itimer));
 }
@@ -231,24 +231,24 @@ STATIC void
 xlog_recover_print_inode_core(
        xfs_icdinode_t          *di)
 {
-       printf("        CORE inode:\n");
+       printf(_("      CORE inode:\n"));
        if (!print_inode)
                return;
-       printf("                magic:%c%c  mode:0x%x  ver:%d  format:%d  "
-            "onlink:%d\n",
+       printf(_("              magic:%c%c  mode:0x%x  ver:%d  format:%d  "
+            "onlink:%d\n"),
               (di->di_magic>>8) & 0xff, di->di_magic & 0xff,
               di->di_mode, di->di_version, di->di_format, di->di_onlink);
-       printf("                uid:%d  gid:%d  nlink:%d projid:%d\n",
+       printf(_("              uid:%d  gid:%d  nlink:%d projid:%d\n"),
               di->di_uid, di->di_gid, di->di_nlink, (uint)di->di_projid);
-       printf("                atime:%d  mtime:%d  ctime:%d\n",
+       printf(_("              atime:%d  mtime:%d  ctime:%d\n"),
               di->di_atime.t_sec, di->di_mtime.t_sec, di->di_ctime.t_sec);
-       printf("                flushiter:%d\n", di->di_flushiter);
-       printf("                size:0x%llx  nblks:0x%llx  exsize:%d  "
-            "nextents:%d  anextents:%d\n", (unsigned long long)
+       printf(_("              flushiter:%d\n"), di->di_flushiter);
+       printf(_("              size:0x%llx  nblks:0x%llx  exsize:%d  "
+            "nextents:%d  anextents:%d\n"), (unsigned long long)
               di->di_size, (unsigned long long)di->di_nblocks,
               di->di_extsize, di->di_nextents, (int)di->di_anextents);
-       printf("                forkoff:%d  dmevmask:0x%x  dmstate:%d  
flags:0x%x  "
-            "gen:%d\n",
+       printf(_("              forkoff:%d  dmevmask:0x%x  dmstate:%d  
flags:0x%x  "
+            "gen:%d\n"),
               (int)di->di_forkoff, di->di_dmevmask, (int)di->di_dmstate,
               (int)di->di_flags, di->di_gen);
 }
@@ -267,7 +267,7 @@ xlog_recover_print_inode(
               item->ri_buf[0].i_len == sizeof(xfs_inode_log_format_64_t));
        f = xfs_inode_item_format_convert(item->ri_buf[0].i_addr, 
item->ri_buf[0].i_len, &f_buf);
 
-       printf("        INODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n",
+       printf(_("      INODE: #regs:%d   ino:0x%llx  flags:0x%x   dsize:%d\n"),
               f->ilf_size, (unsigned long long)f->ilf_ino, f->ilf_fields,
               f->ilf_dsize);
 
@@ -282,32 +282,32 @@ xlog_recover_print_inode(
        switch (f->ilf_fields & (XFS_ILOG_DFORK|XFS_ILOG_DEV|XFS_ILOG_UUID)) {
        case XFS_ILOG_DEXT:
                ASSERT(f->ilf_size == 3 + hasattr);
-               printf("                DATA FORK EXTENTS inode data:\n");
+               printf(_("              DATA FORK EXTENTS inode data:\n"));
                if (print_inode && print_data)
                        xlog_recover_print_data(item->ri_buf[2].i_addr,
                                                item->ri_buf[2].i_len);
                break;
        case XFS_ILOG_DBROOT:
                ASSERT(f->ilf_size == 3 + hasattr);
-               printf("                DATA FORK BTREE inode data:\n");
+               printf(_("              DATA FORK BTREE inode data:\n"));
                if (print_inode && print_data)
                        xlog_recover_print_data(item->ri_buf[2].i_addr,
                                                item->ri_buf[2].i_len);
                break;
        case XFS_ILOG_DDATA:
                ASSERT(f->ilf_size == 3 + hasattr);
-               printf("                DATA FORK LOCAL inode data:\n");
+               printf(_("              DATA FORK LOCAL inode data:\n"));
                if (print_inode && print_data)
                        xlog_recover_print_data(item->ri_buf[2].i_addr,
                                                item->ri_buf[2].i_len);
                break;
        case XFS_ILOG_DEV:
                ASSERT(f->ilf_size == 2 + hasattr);
-               printf("                DEV inode: no extra region\n");
+               printf(_("              DEV inode: no extra region\n"));
                break;
        case XFS_ILOG_UUID:
                ASSERT(f->ilf_size == 2 + hasattr);
-               printf("                UUID inode: no extra region\n");
+               printf(_("              UUID inode: no extra region\n"));
                break;
 
        case 0:
@@ -322,7 +322,7 @@ xlog_recover_print_inode(
                switch (f->ilf_fields & XFS_ILOG_AFORK) {
                case XFS_ILOG_AEXT:
                        ASSERT(f->ilf_size == 3 + hasdata);
-                       printf("                ATTR FORK EXTENTS inode 
data:\n");
+                       printf(_("              ATTR FORK EXTENTS inode 
data:\n"));
                        if (print_inode && print_data)
                                xlog_recover_print_data(
                                        item->ri_buf[attr_index].i_addr,
@@ -330,7 +330,7 @@ xlog_recover_print_inode(
                        break;
                case XFS_ILOG_ABROOT:
                        ASSERT(f->ilf_size == 3 + hasdata);
-                       printf("                ATTR FORK BTREE inode data:\n");
+                       printf(_("              ATTR FORK BTREE inode 
data:\n"));
                        if (print_inode && print_data)
                                xlog_recover_print_data(
                                        item->ri_buf[attr_index].i_addr,
@@ -338,7 +338,7 @@ xlog_recover_print_inode(
                        break;
                case XFS_ILOG_ADATA:
                        ASSERT(f->ilf_size == 3 + hasdata);
-                       printf("                ATTR FORK LOCAL inode data:\n");
+                       printf(_("              ATTR FORK LOCAL inode 
data:\n"));
                        if (print_inode && print_data)
                                xlog_recover_print_data(
                                        item->ri_buf[attr_index].i_addr,
@@ -363,7 +363,7 @@ xlog_recover_print_efd(
         * Each element is of size xfs_extent_32_t or xfs_extent_64_t.
         * However, the extents are never used and won't be printed.
         */
-       printf("        EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n",
+       printf(_("      EFD:  #regs: %d    num_extents: %d  id: 0x%llx\n"),
               f->efd_size, f->efd_nextents, (unsigned long long)f->efd_efi_id);
 }
 
@@ -387,7 +387,7 @@ xlog_recover_print_efi(
         */
        dst_len = sizeof(xfs_efi_log_format_t) + (src_f->efi_nextents - 1) * 
sizeof(xfs_extent_t);
        if ((f = (xfs_efi_log_format_t *)malloc(dst_len)) == NULL) {
-           fprintf(stderr, "%s: xlog_recover_print_efi: malloc failed\n", 
progname);
+           fprintf(stderr, _("%s: xlog_recover_print_efi: malloc failed\n"), 
progname);
            exit(1);
        }
        if (xfs_efi_copy_format((char*)src_f, src_len, f)) {
@@ -395,7 +395,7 @@ xlog_recover_print_efi(
            return;
        }
 
-       printf("        EFI:  #regs:%d    num_extents:%d  id:0x%llx\n",
+       printf(_("      EFI:  #regs:%d    num_extents:%d  id:0x%llx\n"),
               f->efi_size, f->efi_nextents, (unsigned long long)f->efi_id);
        ex = f->efi_extents;
        printf("        ");
@@ -435,7 +435,7 @@ xlog_recover_print_logitem(
                xlog_recover_print_quotaoff(item);
                break;
        default:
-               printf("xlog_recover_print_logitem: illegal type\n");
+               printf(_("xlog_recover_print_logitem: illegal type\n"));
                break;
        }
 }
@@ -466,17 +466,17 @@ xlog_recover_print_item(
                printf("QOFF");
                break;
        default:
-               cmn_err(CE_PANIC, "%s: illegal type", __FUNCTION__);
+               cmn_err(CE_PANIC, _("%s: illegal type"), __FUNCTION__);
                break;
        }
 
 /*     type isn't filled in yet
-       printf("ITEM: type: %d cnt: %d total: %d ",
+       printf(_("ITEM: type: %d cnt: %d total: %d "),
               item->ri_type, item->ri_cnt, item->ri_total);
 */
-       printf(": cnt:%d total:%d ", item->ri_cnt, item->ri_total);
+       printf(_(": cnt:%d total:%d "), item->ri_cnt, item->ri_total);
        for (i=0; i<item->ri_cnt; i++) {
-               printf("a:0x%lx len:%d ",
+               printf(_("a:0x%lx len:%d "),
                       (long)item->ri_buf[i].i_addr, item->ri_buf[i].i_len);
        }
        printf("\n");
diff --git a/logprint/log_print_trans.c b/logprint/log_print_trans.c
index d0f9481..8b21257 100644
--- a/logprint/log_print_trans.c
+++ b/logprint/log_print_trans.c
@@ -22,7 +22,7 @@ void
 xlog_recover_print_trans_head(
        xlog_recover_t  *tr)
 {
-       printf("TRANS: tid:0x%x  type:%s  #items:%d  trans:0x%x  q:0x%lx\n",
+       printf(_("TRANS: tid:0x%x  type:%s  #items:%d  trans:0x%x  q:0x%lx\n"),
               tr->r_log_tid, trans_type[tr->r_theader.th_type],
               tr->r_theader.th_num_items,
               tr->r_theader.th_tid, (long)tr->r_itemq);
@@ -48,18 +48,18 @@ xfs_log_print_trans(
 
        error = xlog_find_tail(log, &head_blk, &tail_blk);
        if (error) {
-               fprintf(stderr, "%s: failed to find head and tail, error: %d\n",
+               fprintf(stderr, _("%s: failed to find head and tail, error: 
%d\n"),
                        progname, error);
                exit(1);
        }
 
-       printf("    log tail: %lld head: %lld state: %s\n",
+       printf(_("    log tail: %lld head: %lld state: %s\n"),
                (long long)tail_blk,
                (long long)head_blk,
                (tail_blk == head_blk)?"<CLEAN>":"<DIRTY>");
 
        if (print_block_start != -1) {
-               printf("    override tail: %d\n", print_block_start);
+               printf(_("    override tail: %d\n"), print_block_start);
                tail_blk = print_block_start;
        }
        printf("\n");
@@ -69,7 +69,7 @@ xfs_log_print_trans(
        if (head_blk == tail_blk)
                return;
        if ((error = xlog_do_recovery_pass(log, head_blk, tail_blk, 
XLOG_RECOVER_PASS1))) {
-               fprintf(stderr, "%s: failed in xfs_do_recovery_pass, error: 
%d\n",
+               fprintf(stderr, _("%s: failed in xfs_do_recovery_pass, error: 
%d\n"),
                        progname, error);
                exit(1);
        }
diff --git a/logprint/logprint.c b/logprint/logprint.c
index 8af0943..482fd4e 100644
--- a/logprint/logprint.c
+++ b/logprint/logprint.c
@@ -39,7 +39,7 @@ int   print_operation = OP_PRINT;
 void
 usage(void)
 {
-       fprintf(stderr, "Usage: %s [options...] <device>\n\n\
+       fprintf(stderr, _("Usage: %s [options...] <device>\n\n\
 Options:\n\
     -c             try to continue if error found in log\n\
     -C <filename>   copy the log from the filesystem to filename\n\
@@ -55,7 +55,7 @@ Options:\n\
        -i          in transactional view, extract inode info\n\
        -q          in transactional view, extract quota info\n\
     -D              print only data; no decoding\n\
-    -V              print version information\n",
+    -V              print version information\n"),
        progname);
        exit(1);
 }
@@ -72,13 +72,13 @@ logstat(xfs_mount_t *mp)
         * log. Otherwise we end up seeking forever. -- mkp
         */
        if ((fd = open(x.dname, O_RDONLY)) == -1) {
-               fprintf(stderr, "    Can't open device %s: %s\n",
+               fprintf(stderr, _("    Can't open device %s: %s\n"),
                        x.dname, strerror(errno));
                exit(1);
        }
        lseek64(fd, 0, SEEK_SET);
        if (read(fd, buf, sizeof(buf)) != sizeof(buf)) {
-               fprintf(stderr, "    read of XFS superblock failed\n");
+               fprintf(stderr, _("    read of XFS superblock failed\n"));
                exit(1);
        }
        close (fd);
@@ -94,7 +94,7 @@ logstat(xfs_mount_t *mp)
                x.logBBsize = XFS_FSB_TO_BB(mp, sb->sb_logblocks);
                x.logBBstart = XFS_FSB_TO_DADDR(mp, sb->sb_logstart);
                if (!x.logname && sb->sb_logstart == 0) {
-                       fprintf(stderr, "    external log device not 
specified\n\n");
+                       fprintf(stderr, _("    external log device not 
specified\n\n"));
                        usage();
                        /*NOTREACHED*/
                }
@@ -109,7 +109,7 @@ logstat(xfs_mount_t *mp)
 
        if (x.logname && *x.logname) {    /* External log */
                if ((fd = open(x.logname, O_RDONLY)) == -1) {
-                       fprintf(stderr, "Can't open file %s: %s\n",
+                       fprintf(stderr, _("Can't open file %s: %s\n"),
                                x.logname, strerror(errno));
                        exit(1);
                }
@@ -131,6 +131,10 @@ main(int argc, char **argv)
        xlog_t          log = {0};
        xfs_mount_t     mount;
 
+       setlocale(LC_ALL, "");
+       bindtextdomain(PACKAGE, LOCALEDIR);
+       textdomain(PACKAGE);
+
        progname = basename(argv[0]);
        while ((c = getopt(argc, argv, "bC:cdefl:iqnors:tDVv")) != EOF) {
                switch (c) {
@@ -189,7 +193,7 @@ main(int argc, char **argv)
                                print_overwrite++;
                                break;
                        case 'V':
-                               printf("%s version %s\n", progname, VERSION);
+                               printf(_("%s version %s\n"), progname, VERSION);
                                exit(0);
                        case '?':
                                usage();
@@ -205,7 +209,7 @@ main(int argc, char **argv)
                usage();
 
        x.isreadonly = LIBXFS_ISINACTIVE;
-       printf("xfs_logprint:\n");
+       printf(_("xfs_logprint:\n"));
        if (!libxfs_init(&x))
                exit(1);
 
@@ -213,15 +217,15 @@ main(int argc, char **argv)
 
        logfd = (x.logfd < 0) ? x.dfd : x.logfd;
 
-       printf("    data device: 0x%llx\n", (unsigned long long)x.ddev);
+       printf(_("    data device: 0x%llx\n"), (unsigned long long)x.ddev);
 
        if (x.logname) {
-               printf("    log file: \"%s\" ", x.logname);
+               printf(_("    log file: \"%s\" "), x.logname);
        } else {
-               printf("    log device: 0x%llx ", (unsigned long long)x.logdev);
+               printf(_("    log device: 0x%llx "), (unsigned long 
long)x.logdev);
        }
 
-       printf("daddr: %lld length: %lld\n\n",
+       printf(_("daddr: %lld length: %lld\n\n"),
                (long long)x.logBBstart, (long long)x.logBBsize);
 
        ASSERT(x.logBBsize <= INT_MAX);
diff --git a/repair/avl.c b/repair/avl.c
index 169c859..eabecc3 100644
--- a/repair/avl.c
+++ b/repair/avl.c
@@ -1203,7 +1203,7 @@ main()
        printf("\n");
 
        while (1) {
-               printf("Command [fpdir] : ");
+               printf(_("Command [fpdir] : "));
                fgets(linebuf, 256, stdin);
                if (feof(stdin)) break;
                cmd[0] = NULL;
@@ -1212,7 +1212,7 @@ main()
                switch (cmd[0]) {
                case 'd':
                case 'f':
-                       printf("end of range ? ");
+                       printf(_("end of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
@@ -1223,7 +1223,7 @@ main()
                                if (cmd[0] == 'd')
                                        avl_delete(&tree, np);
                        } else
-                               printf("Cannot find %d\n", i);
+                               printf(_("Cannot find %d\n"), i);
                        break;
                case 'p':
                        avl_print(&tree, tree.avl_root, 0);
@@ -1236,7 +1236,7 @@ main()
                        np = alloc_avlnode();
                        ASSERT(np);
                        np->avl_start = i;
-                       printf("size of range ? ");
+                       printf(_("size of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
@@ -1247,18 +1247,18 @@ main()
                        avlnode_t       *b, *e, *t;
                        int             checklen;
 
-                       printf("End of range ? ");
+                       printf(_("End of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
-                       printf("checklen 0/1 ? ");
+                       printf(_("checklen 0/1 ? "));
                        fgets(linebuf, 256, stdin);
                        checklen = atoi(linebuf);
 
 
                        b = avl_findanyrange(&tree, i, j, checklen);
                        if (b) {
-                               printf("Found something\n");
+                               printf(_("Found something\n"));
                                t = b;
                                while (t)  {
                                        if (t != b &&
diff --git a/repair/avl64.c b/repair/avl64.c
index fc4cab4..c135da3 100644
--- a/repair/avl64.c
+++ b/repair/avl64.c
@@ -1224,7 +1224,7 @@ main()
        printf("\n");
 
        while (1) {
-               printf("Command [fpdir] : ");
+               printf(_("Command [fpdir] : "));
                fgets(linebuf, 256, stdin);
                if (feof(stdin)) break;
                cmd[0] = NULL;
@@ -1233,7 +1233,7 @@ main()
                switch (cmd[0]) {
                case 'd':
                case 'f':
-                       printf("end of range ? ");
+                       printf(_("end of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
@@ -1244,7 +1244,7 @@ main()
                                if (cmd[0] == 'd')
                                        avl64_delete(&tree, np);
                        } else
-                               printf("Cannot find %d\n", i);
+                               printf(_("Cannot find %d\n"), i);
                        break;
                case 'p':
                        avl64_print(&tree, tree.avl_root, 0);
@@ -1257,7 +1257,7 @@ main()
                        np = alloc_avlnode();
                        ASSERT(np);
                        np->avl_start = i;
-                       printf("size of range ? ");
+                       printf(_("size of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
@@ -1268,18 +1268,18 @@ main()
                        avl64node_t     *b, *e, *t;
                        int             checklen;
 
-                       printf("End of range ? ");
+                       printf(_("End of range ? "));
                        fgets(linebuf, 256, stdin);
                        j = atoi(linebuf);
 
-                       printf("checklen 0/1 ? ");
+                       printf(_("checklen 0/1 ? "));
                        fgets(linebuf, 256, stdin);
                        checklen = atoi(linebuf);
 
 
                        b = avl64_findanyrange(&tree, i, j, checklen);
                        if (b) {
-                               printf("Found something\n");
+                               printf(_("Found something\n"));
                                t = b;
                                while (t)  {
                                        if (t != b &&
diff --git a/repair/dinode.c b/repair/dinode.c
index 28cc450..fdf52db 100644
--- a/repair/dinode.c
+++ b/repair/dinode.c
@@ -2774,7 +2774,7 @@ process_dinode(
        const int       uncertain = 0;
 
 #ifdef XR_INODE_TRACE
-       fprintf(stderr, "processing inode %d/%d\n", agno, ino);
+       fprintf(stderr, _("processing inode %d/%d\n"), agno, ino);
 #endif
        return process_dinode_int(mp, dino, agno, ino, was_free, dirty, used,
                                verify_mode, uncertain, ino_discovery,
diff --git a/repair/init.c b/repair/init.c
index 18298b6..8e508c4 100644
--- a/repair/init.c
+++ b/repair/init.c
@@ -91,7 +91,7 @@ increase_rlimit(void)
        /* Increase limits */
        if (getrlimit(RLIMIT_FSIZE, &rl) == -1) {
                perror("getrlimit");
-               fprintf(stderr, "getrlimit(RLIMIT_FSIZE) failed!\n");
+               fprintf(stderr, _("getrlimit(RLIMIT_FSIZE) failed!\n"));
                exit(1);
        }
        if (rl.rlim_cur != RLIM_INFINITY) {
@@ -99,7 +99,7 @@ increase_rlimit(void)
                if (setrlimit(RLIMIT_FSIZE, &rl) == -1) {
                        perror("setrlimit");
                        fprintf(stderr,
-                               "setrlimit failed - current: %lld, max: %lld\n",
+                               _("setrlimit failed - current: %lld, max: 
%lld\n"),
                                (unsigned long long)rl.rlim_cur,
                                (unsigned long long)rl.rlim_max);
                        exit(1);
-- 
1.6.1.2

<Prev in Thread] Current Thread [Next in Thread>