Ticket #982: profile_host.diff

File profile_host.diff, 22.9 KB (added by Christian Beer, 14 years ago)

profile and host related pages

  • inc/host.inc

     
    2121require_once("../inc/boinc_db.inc");
    2222
    2323function link_to_results($host) {
    24     if (!$host) return "No host";
     24    if (!$host) return tra("No host");
    2525    $config = get_config();
    26     if (!parse_bool($config, "show_results")) return "Unavailable";
     26    if (!parse_bool($config, "show_results")) return tra("Unavailable");
    2727    $nresults = host_nresults($host);
    2828    if (!$nresults) return "0";
    2929    return "<a href=results.php?hostid=$host->id>$nresults</a>";
     
    5252        <input type=hidden name=hostid value=$host->id>
    5353        <select name=venue>
    5454        <option value=\"\" $none>---
    55         <option value=home $h>Home
    56         <option value=work $w>Work
    57         <option value=school $s>School
     55        <option value=home $h>".tra("Home")."
     56        <option value=work $w>".tra("Work")."
     57        <option value=school $s>".tra("School")."
    5858        </select>
    59         <input type=submit value=Update>
     59        <input type=submit value=".tra("Update").">
    6060        </form>
    6161    ";
    6262    return $x;
     
    8080//
    8181function show_host($host, $user, $ipprivate) {
    8282    start_table();
    83     row1("Computer information");
     83    row1(tra("Computer information"));
    8484    $anonymous = false;
    8585    if ($user) {
    8686        if ($ipprivate) {
    87             row2("IP address", "$host->last_ip_addr<br>(same the last $host->nsame_ip_addr times)");
     87            row2(tra("IP address"), "$host->last_ip_addr<br>".tra("(same the last %1 times)", $host->nsame_ip_addr));
    8888            if ($host->last_ip_addr != $host->external_ip_addr) {
    89                 row2("External IP address", $host->external_ip_addr);
     89                row2(tra("External IP address"), $host->external_ip_addr);
    9090            }
    9191        } else {
    92             row2("IP address", "<a href=show_host_detail.php?hostid=$host->id&ipprivate=1>Show IP address</a>");
     92            row2(tra("IP address"), "<a href=show_host_detail.php?hostid=$host->id&ipprivate=1>".tra("Show IP address")."</a>");
    9393        }
    94         row2("Domain name", $host->domain_name);
     94        row2(tra("Domain name"), $host->domain_name);
    9595        $x = $host->timezone/3600;
    9696        if ($x >= 0) $x="+$x";
    97         row2("Local Standard Time", "UTC $x hours");
    98         row2("Name", $host->domain_name);
     97        row2(tra("Local Standard Time"), tra("UTC %1 hours", $x));
     98        row2(tra("Name"), $host->domain_name);
    9999    } else {
    100100        $owner = lookup_user_id($host->userid);
    101101        if ($owner && $owner->show_hosts) {
    102             row2("Owner", user_links($owner));
     102            row2(tra("Owner"), user_links($owner));
    103103        } else {
    104             row2("Owner", "Anonymous");
     104            row2(tra("Owner"), tra("Anonymous"));
    105105            $anonymous = true;
    106106        }
    107107    }
    108     row2("Created", time_str($host->create_time));
    109     row2("Total credit", format_credit_large($host->total_credit));
    110     row2("Average credit", format_credit($host->expavg_credit));
     108    row2(tra("Created"), time_str($host->create_time));
     109    row2(tra("Total credit"), format_credit_large($host->total_credit));
     110    row2(tra("Average credit"), format_credit($host->expavg_credit));
    111111    if (!$anonymous) {
    112         row2("Cross project credit", cross_project_links($host));
     112        row2(tra("Cross project credit"), cross_project_links($host));
    113113    }
    114     row2("CPU type", "$host->p_vendor <br> $host->p_model");
    115     row2("Number of processors", $host->p_ncpus);
     114    row2(tra("CPU type"), "$host->p_vendor <br> $host->p_model");
     115    row2(tra("Number of processors"), $host->p_ncpus);
    116116    if ($host->serialnum) {
    117         row2("Coprocessors", gpu_desc($host->serialnum));
     117        row2(tra("Coprocessors"), gpu_desc($host->serialnum));
    118118    }
    119     row2("Operating System", "$host->os_name <br> $host->os_version");
     119    row2(tra("Operating System"), "$host->os_name <br> $host->os_version");
    120120    $v = boinc_version($host->serialnum);
    121121    if ($v) {
    122         row2("BOINC client version", $v);
     122        row2(tra("BOINC client version"), $v);
    123123    }
    124124    $x = $host->m_nbytes/(1024*1024);
    125125    $y = round($x, 2);
    126     row2("Memory", "$y MB");
     126    row2(tra("Memory"), tra("%1 MB", $y));
    127127    $x = $host->m_cache/1024;
    128128    $y = round($x, 2);
    129     row2("Cache", "$y KB");
     129    row2(tra("Cache"), tra("%1 KB", $y));
    130130
    131131    if ($user) {
    132132        $x = $host->m_swap/(1024*1024);
    133133        $y = round($x, 2);
    134         row2("Swap space", "$y MB");
     134        row2(tra("Swap space"), tra("%1 MB", $y));
    135135        $x = $host->d_total/(1024*1024*1024);
    136136        $y = round($x, 2);
    137         row2("Total disk space", "$y GB");
     137        row2(tra("Total disk space"), tra("%1 GB", $y));
    138138        $x = $host->d_free/(1024*1024*1024);
    139139        $y = round($x, 2);
    140         row2("Free Disk Space", "$y GB");
     140        row2(tra("Free Disk Space"), tra("%1 GB", $y));
    141141    }
    142142    $x = $host->p_fpops/(1000*1000);
    143143    $y = round($x, 2);
    144     row2("Measured floating point speed", "$y million ops/sec");
     144    row2(tra("Measured floating point speed"), tra("%1 million ops/sec", $y));
    145145    $x = $host->p_iops/(1000*1000);
    146146    $y = round($x, 2);
    147     row2("Measured integer speed", "$y million ops/sec");
     147    row2(tra("Measured integer speed"), tra("%1 million ops/sec", $y));
    148148    $x = $host->n_bwup/(1024);
    149149    $y = round($x, 2);
    150150    if ($y > 0) {
    151         row2("Average upload rate", "$y KB/sec");
     151        row2(tra("Average upload rate"), tra("%1 KB/sec", $y));
    152152    } else {
    153         row2("Average upload rate", "Unknown");
     153        row2(tra("Average upload rate"), tra("Unknown"));
    154154    }
    155155    $x = $host->n_bwdown/(1024);
    156156    $y = round($x, 2);
    157157    if ($y > 0) {
    158         row2("Average download rate", "$y KB/sec");
     158        row2(tra("Average download rate"), tra("%1 KB/sec", $y));
    159159    } else {
    160         row2("Average download rate", "Unknown");
     160        row2(tra("Average download rate"), tra("Unknown"));
    161161    }
    162162    $x = $host->avg_turnaround/86400;
    163     row2("Average turnaround time", round($x, 2)." days");
     163    row2(tra("Average turnaround time"), tra("%1 days", round($x, 2)));
    164164    $mrd= $host->max_results_day;
    165     row2("Maximum daily WU quota per CPU", $mrd."/day");
     165    row2(tra("Maximum daily WU quota per CPU"), tra("%1/day", $mrd));
    166166    $config = get_config();
    167167    if (parse_bool($config, "show_results")) {
    168168        $nresults = host_nresults($host);
     
    171171        } else {
    172172            $results = "0";
    173173        }
    174         row2("Tasks", $results);
     174        row2(tra("Tasks"), $results);
    175175    }
    176176
    177177    if ($user) {
    178         row2("Number of times client has contacted server", $host->rpc_seqno);
    179         row2("Last time contacted server", sched_log_link($host->rpc_time));
    180         row2("% of time BOINC client is running", 100*$host->on_frac." %");
     178        row2(tra("Number of times client has contacted server"), $host->rpc_seqno);
     179        row2(tra("Last time contacted server"), sched_log_link($host->rpc_time));
     180        row2(tra("% of time BOINC client is running"), 100*$host->on_frac." %");
    181181        if ($host->connected_frac > 0) {
    182             row2("While BOINC running, % of time host has an Internet connection", 100*$host->connected_frac." %");
     182            row2(tra("While BOINC running, % of time host has an Internet connection"), 100*$host->connected_frac." %");
    183183        }
    184         row2("While BOINC running, % of time work is allowed", 100*$host->active_frac." %");
     184        row2(tra("While BOINC running, % of time work is allowed"), 100*$host->active_frac." %");
    185185        if ($host->cpu_efficiency) {
    186             row2("Average CPU efficiency", $host->cpu_efficiency);
     186            row2(tra("Average CPU efficiency"), $host->cpu_efficiency);
    187187        }
    188188        if ($host->duration_correction_factor) {
    189             row2("Task duration correction factor", $host->duration_correction_factor);
     189            row2(tra("Task duration correction factor"), $host->duration_correction_factor);
    190190        }
    191         row2("Location", location_form($host));
     191        row2(tra("Location"), location_form($host));
    192192        if ($nresults == 0) {
    193             $x = " | <a href=host_delete.php?hostid=$host->id".url_tokens($user->authenticator).">Delete this computer</a> ";
     193            $x = " | <a href=host_delete.php?hostid=$host->id".url_tokens($user->authenticator).">".tra("Delete this computer")."</a> ";
    194194        } else {
    195195            $x = "";
    196196        }
    197         row2("Click to", "<a href=host_edit_form.php?hostid=$host->id>Merge this computer</a> $x");
     197        row2(tra("Click to"), "<a href=host_edit_form.php?hostid=$host->id>".tra("Merge this computer")."</a> $x");
    198198        //row2("Click to", "<a href=host_update_credit.php?hostid=$host->id>recompute credit</a>");
    199199    }
    200200    echo "</table>\n";
     
    208208    shuffle($host_sites);
    209209    start_table();
    210210    echo "<tr>";
    211     echo "<th>Computer info</th>\n";
    212     echo "<th>Rank</th>";
    213     echo "<th>Owner</th>\n";
     211    echo "<th>".tra("Computer info")."</th>\n";
     212    echo "<th>".tra("Rank")."</th>";
     213    echo "<th>".tra("Owner")."</th>\n";
    214214    if ($sort_by == 'total_credit') {
    215215        echo "
    216             <th><a href=top_hosts.php?sort_by=expavg_credit>Avg. credit</a></th>
    217             <th>Total credit</th>
     216            <th><a href=top_hosts.php?sort_by=expavg_credit>".tra("Avg. credit")."</a></th>
     217            <th>".tra("Total credit")."</th>
    218218        ";
    219219    } else {
    220220        echo "
    221             <th>Recent average credit</th>
    222             <th><a href=top_hosts.php?sort_by=total_credit>Total credit</a></th>
     221            <th>".tra("Recent average credit")."</th>
     222            <th><a href=top_hosts.php?sort_by=total_credit>".tra("Total credit")."</a></th>
    223223        ";
    224224    }
    225225    echo "
    226         <th>BOINC version</th>
    227         <th>CPU</th>
    228         <th>GPU</th>
    229         <th>Operating system</th>
     226        <th>".tra("BOINC version")."</th>
     227        <th>".tra("CPU")."</th>
     228        <th>".tra("GPU")."</th>
     229        <th>".tra("Operating system")."</th>
    230230        </tr>
    231231    ";
    232232}
     
    278278}
    279279
    280280function cpu_desc($host) {
    281     return "$host->p_vendor<br>$host->p_model<br>($host->p_ncpus processors)\n";
     281    return "$host->p_vendor<br>$host->p_model<br>".tra("(%1 processors)", $host->p_ncpus)."\n";
    282282}
    283283
    284284// If private is true, we're showing the host to its owner,
     
    298298        }
    299299    }
    300300    echo "<tr class=row$j><td>ID: $host->id
    301         <br><a href=show_host_detail.php?hostid=$host->id>Details</a> |
    302         <a href=results.php?hostid=$host->id>Tasks</a>
     301        <br><a href=show_host_detail.php?hostid=$host->id>".tra("Details")."</a> |
     302        <a href=results.php?hostid=$host->id>".tra("Tasks")."</a>
    303303    ";
    304304    if (!$anonymous) {
    305305        echo "
    306             <br><nobr><span class=note>Cross-project stats:</span></nobr><br>".cross_project_links($host);
     306            <br><nobr><span class=note>".tra("Cross-project stats:")."</span></nobr><br>".cross_project_links($host);
    307307    }
    308308    echo "
    309309        </td>
     
    315315        echo "<td>$i</td>\n";
    316316        if ($show_owner) {
    317317            if ($anonymous) {
    318                 echo "<td>Anonymous</td>\n";
     318                echo "<td>".tra("Anonymous")."</td>\n";
    319319            } else {
    320320                echo "<td>", user_links($user), "</td>\n";
    321321            }
     
    363363    echo "</tr>\n";
    364364}
    365365
    366 // return true iff it's possible that the hosts are actually
     366// return true if it's possible that the hosts are actually
    367367// the same machine
    368368//
    369369function ghz($x) {
     
    457457                $r1 = date_str($host1->rpc_time);
    458458                $c2 = date_str($host2->create_time);
    459459                $r2 = date_str($host2->rpc_time);
    460                 echo "<br>Host $host2->id has overlapping lifetime ($c1 - $r1), ($c2 - $r2)";
     460                echo "<br>".tra("Host %1 has overlapping lifetime:", $host2->id)." ($c1 - $r1), ($c2 - $r2)";
    461461            }
    462462            return false;
    463463        }
    464464    }
    465465    if (!os_compatible($host1, $host2)) {
    466466        if ($show_detail) {
    467             echo "<br>Host $host2->id has incompatible OS: ($host1->os_name, $host2->os_name)\n";
     467            echo "<br>".tra("Host %1 has an incompatible OS:", $host2->id)." ($host1->os_name, $host2->os_name)\n";
    468468        }
    469469        return false;
    470470    }
    471471    if (!cpus_compatible($host1, $host2)) {
    472472        if ($show_detail) {
    473             echo "<br>Host $host2->id: CPU not compatible ($host1->p_vendor $host1->p_model, $host2->p_vendor $host2->p_model)\n";
     473            echo "<br>".tra("Host %1 has an incompatible CPU:", $host2->id)." ($host1->p_vendor $host1->p_model, $host2->p_vendor $host2->p_model)\n";
    474474        }
    475475        return false;
    476476    }
     
    537537//
    538538function merge_hosts($old_host, $new_host) {
    539539    if ($old_host->id == $new_host->id) {
    540         return "same host";
     540        return tra("same host");
    541541    }
    542542    if (!hosts_compatible($old_host, $new_host, false)) {
    543         return "Can't merge host $old_host->id into $new_host->id - they're incompatible";
     543        return tra("Can't merge host %1 into %2 - they're incompatible", $old_host->id, $new_host->id);
    544544    }
    545545
    546     echo "<br>Merging host $old_host->id into host $new_host->id\n";
     546    echo "<br>".tra("Merging host %1 into host %2", $old_host->id, $new_host->id)."\n";
    547547
    548548    // decay the average credit of both hosts
    549549    //
     
    560560    $recent_credit = $old_host->expavg_credit + $new_host->expavg_credit;
    561561    $result = $new_host->update("total_credit=$total_credit, expavg_credit=$recent_credit, expavg_time=$now");
    562562    if (!$result) {
    563         return "Couldn't update credit of new computer";
     563        return tra("Couldn't update credit of new computer");
    564564    }
    565565    $result = BoincResult::update_aux("hostid=$new_host->id where hostid=$old_host->id");
    566566    if (!$result) {
    567         return "Couldn't update results";
     567        return tra("Couldn't update results");
    568568    }
    569569
    570570    $result = $old_host->update("total_credit=0, expavg_credit=0, userid=0, rpc_seqno=$new_host->id");
    571571    if (!$result) {
    572         return "Couldn't retire old computer";
     572        return tra("Couldn't retire old computer");
    573573    }
    574     echo "<br>Retired old computer $old_host->id\n";
     574    echo "<br>".tra("Retired old computer %1", $old_host->id)."\n";
    575575    return 0;
    576576}
    577577
     
    594594    echo "<p>";
    595595    if ($show_all) {
    596596        $url = link_url($sort, $rev, 0);
    597         echo "Show: All computers | <a href=$url>Only computers active in past 30 days</a>";
     597        echo tra("Show:")." ".tra("All computers")." | <a href=$url>".tra("Only computers active in past 30 days")."</a>";
    598598    } else {
    599599        $url = link_url($sort, $rev, 1);
    600         echo "Show: <a href=$url>All computers</a> | Only computers active in past 30 days";
     600        echo tra("Show:")." <a href=$url>".tra("All computers")."</a> | ".tra("Only computers active in past 30 days");
    601601    }
    602602    echo "<p>";
    603603}
     
    606606    start_table();
    607607    echo "<tr>";
    608608    $url = link_url_rev($sort, "id", $rev, $show_all);
    609     echo "<th><a href=$url>Computer ID</a></th>\n";
     609    echo "<th><a href=$url>".tra("Computer ID")."</a></th>\n";
    610610    if ($private) {
    611611        $url = link_url_rev($sort, "name", $rev, $show_all);
    612         echo "<th><a href=$url>Name</a></th>\n";
     612        echo "<th><a href=$url>".tra("Name")."</a></th>\n";
    613613        $url = link_url_rev($sort, "venue", $rev, $show_all);
    614         echo "<th><a href=$url>Location</th>\n";
     614        echo "<th><a href=$url>".tra("Location")."</th>\n";
    615615    } else {
    616         echo "<th>Rank</th>";
     616        echo "<th>".tra("Rank")."</th>";
    617617    }
    618618    $url = link_url_rev($sort, "expavg_credit", $rev, $show_all);
    619     echo "<th><a href=$url>Avg. credit</a></th>\n";
     619    echo "<th><a href=$url>".tra("Avg. credit")."</a></th>\n";
    620620    $url = link_url_rev($sort, "total_credit", $rev, $show_all);
    621     echo "<th><a href=$url>Total credit</a></th>\n";
    622     echo "<th>BOINC<br>version</th>\n";
     621    echo "<th><a href=$url>".tra("Total credit")."</a></th>\n";
     622    echo "<th>".tra("BOINC<br>version")."</th>\n";
    623623    $url = link_url_rev($sort, "cpu", $rev, $show_all);
    624     echo "<th><a href=$url>CPU</a></th>\n";
    625     echo "<th>GPU</th>\n";
     624    echo "<th><a href=$url>".tra("CPU")."</a></th>\n";
     625    echo "<th>".tra("GPU")."</th>\n";
    626626    $url = link_url_rev($sort, "os", $rev, $show_all);
    627     echo "<th><a href=$url>Operating System</a></th>\n";
     627    echo "<th><a href=$url>".tra("Operating System")."</a></th>\n";
    628628    $url = link_url_rev($sort, "rpc_time", $rev, $show_all);
    629     echo "<th><a href=$url>Last contact</a></th>\n";
     629    echo "<th><a href=$url>".tra("Last contact")."</a></th>\n";
    630630}
    631631
    632632function show_user_hosts($userid, $private, $show_all, $sort, $rev) {
     
    675675
    676676    if ($private) {
    677677        echo "
    678             <a href=merge_by_name.php>Merge computers by name</a>
     678            <a href=merge_by_name.php>".tra("Merge computers by name")."</a>
    679679        ";
    680680    }
    681681}
  • inc/profile.inc

     
    8383    if ($verify_flag == 0) {
    8484        return "
    8585            <font size='+2' color='#33cc33'>
    86             Your profile will be made visible to other people<br>
    87             as soon as it has been approved by the project.<br>
    88             This may take up to a few days.<br>
     86            ".tra("Your profile will be made visible to other people as soon as it has been approved by the project. This may take up to a few days.")."
    8987            </font>
    9088        ";
    9189    } else if ($verify_flag == -1) {
    9290        return "
    9391            <font size='+2' color='#ff3333'>
    94             Your profile has been marked as unacceptable.<br>
    95             It is not visible to other people. Please change it.<br>
     92            ".tra("Your profile has been marked as unacceptable. It is not visible to other people. Please change it.")."
    9693            </font>
    9794        ";
    9895    }
     
    167164    $user = get_user_from_id($profile->userid);
    168165
    169166    if (!$user || !$profile) {
    170         echo "Database error!";  // Change this to a standard error page.
     167        error_page(tra("Database error"));
    171168        exit();
    172169    }
    173170
     
    187184    $min_credit = parse_config(get_config(), "<profile_min_credit>");
    188185    if (!$logged_in_user && $min_credit && $user->expavg_credit < $min_credit ) {
    189186        error_page(
    190            "To prevent spam, profiles of users with an average credit of less than $min_credit are displayed only to logged-in users.  We apologize for this inconvenience."
     187           tra("To prevent spam, profiles of users with an average credit of less than %1 are displayed only to logged-in users.  We apologize for this inconvenience.", $min_credit)
    191188        );
    192189    }
    193190    if (is_banished($user)) {
    194         error_page("User is banished");
     191        error_page(tra("User is banished"));
    195192    }
    196193
    197194}
     
    205202    BoincForumPrefs::lookup($user);
    206203    $profile = BoincProfile::lookup("userid = $user->id");
    207204    if (!$profile) {
    208         row1("No profile exists for that user ID.");
     205        row1(tra("No profile exists for that user ID."));
    209206        $user->update("has_profile = 0");
    210207        return;
    211208    }
  • user/view_profile.php

     
    4141    set_cache_data(serialize($community_links_object), $cache_args);
    4242}
    4343
    44 page_head("Profile: $user->name");
     44page_head(tra("Profile: %1", $user->name));
    4545
    4646start_table();
    4747echo "<tr><td valign=\"top\">";
  • user/validate_email_addr.php

     
    2727    $user->update("signature='$x2'");
    2828    send_email(
    2929        $user,
    30         "Validate BOINC email address",
    31         "Please visit the following link to validate the email address\n"
    32         ."of your ".PROJECT." account:\n"
    33         .$master_url."validate_email_addr.php?validate=1&u=$user->id&x=$x2"
     30        tra("Validate BOINC email address"),
     31        tra("Please visit the following link to validate the email address of your %1 account:", PROJECT)
     32        ."\n".$master_url."validate_email_addr.php?validate=1&u=$user->id&x=$x2"
    3433    );
    35     page_head("Validate email sent");
    36     echo "
    37         An email has been sent to $user->email_addr.
    38         Visit the link it contains to validate your email address.
    39     ";
     34    page_head(tra("Validate email sent"));
     35    echo tra("An email has been sent to %1. Visit the link it contains to validate your email address.", $user->email_addr);
    4036    page_tail();
    4137}
    4238
     
    4541    $u = get_int("u");
    4642    $user = lookup_user_id($u);
    4743    if (!$user) {
    48         error_page("No such user.\n");
     44        error_page(tra("No such user."));
    4945    }
    5046
    5147    $x2 = $user->signature;
    5248    if ($x2 != $x) {
    53         error_page("Error in URL data - can't validate email address");
     49        error_page(tra("Error in URL data - can't validate email address"));
    5450    }
    5551
    5652    $result = $user->update("email_validated=1");
    5753    if (!$result) {
    58         error_page("Database update failed - please try again later.");
     54        error_page(tra("Database update failed - please try again later."));
    5955    }
    6056
    61     page_head("Validate email address");
    62     echo "
    63         The email address of your account has been validated.
    64     ";
     57    page_head(tra("Validate email address"));
     58    echo tra("The email address of your account has been validated.");
    6559    page_tail();
    6660}
    6761
  • user/userw.php

     
    3232function show_user_wap($user) {
    3333   wap_begin();
    3434   if (!$user) {
    35       echo "<br/>User not found!<br/>";
     35      echo "<br/>".tra("User not found!")."<br/>";
    3636      wap_end();
    3737      return;
    3838   }
    3939
    4040    // keep a 'running tab' in wapstr in case exceeds 1K WAP limit
    4141
    42     $wapstr = PROJECT . "<br/>Account Data<br/>for $user->name<br/>Time: " . wap_timestamp();
     42    $wapstr = PROJECT . "<br/>".tra("Account Data<br/>for %1<br/>Time:", $user->name)." " . wap_timestamp();
    4343    $wapstr .= show_credit_wap($user);
    4444    if ($user->teamid) {
    4545        $team = BoincTeam::lookup_id($user->teamid);
    46         $wapstr .= "<br/>Team: $team->name<br/>";
    47         $wapstr .= "Team TotCred: " . format_credit($team->total_credit) . "<br/>";
    48         $wapstr .= "Team AvgCred: " . format_credit($team->expavg_credit) . "<br/>";
     46        $wapstr .= "<br/>".tra("Team:")." $team->name<br/>";
     47        $wapstr .= tra("Team TotCred:")." " . format_credit($team->total_credit) . "<br/>";
     48        $wapstr .= tra("Team AvgCred:")." " . format_credit($team->expavg_credit) . "<br/>";
    4949
    5050    } else {
    51         $wapstr .= "<br/>Team: None<br/>";
     51        $wapstr .= "<br/>".tra("Team: None")."<br/>";
    5252    }
    5353
    5454   // don't want to send more than 1KB probably?
     
    6767start_cache(USER_PAGE_TTL, $cache_args);
    6868
    6969$user = BoincUser::lookup_id($userid);
    70 if (!$user) {
    71     error_page("No such user");
    72 }
    7370show_user_wap($user);
    7471
    7572end_cache(USER_PAGE_TTL, $cache_args);