Start internationalization
--- a/config/gitphp.conf.php.example
+++ b/config/gitphp.conf.php.example
@@ -176,6 +176,13 @@
$gitphp_conf['debug'] = FALSE;
/*
+ * lang
+ * Sets the language of the interface
+ * Must be a valid translation in include/locale/
+ */
+$gitphp_conf['lang'] = "en_US";
+
+/*
* git_projects
* Two-dimensional array list of projects
* First array index is the name of the category the projects
--- a/include/defs.constants.php
+++ b/include/defs.constants.php
@@ -15,5 +15,7 @@
define("GITPHP_COMPRESS_GZ", 2);
define("GITPHP_COMPRESS_ZIP", 3);
+define("GITPHP_LOCALE_DIR", "include/locale/");
+
?>
--- a/include/display.git_blob.php
+++ b/include/display.git_blob.php
@@ -18,13 +18,15 @@
function git_blob($projectroot, $project, $hash, $file, $hashbase)
{
global $gitphp_conf,$tpl;
+ $head = git_read_head($projectroot . $project);
if (!isset($hashbase))
- $hashbase = git_read_head($projectroot . $project);
+ $hashbase = $head;
if (!isset($hash) && isset($file))
$hash = git_get_hash_by_path($projectroot . $project, $hashbase,$file,"blob");
$catout = git_cat_file($projectroot . $project, $hash);
$tpl->assign("hash",$hash);
$tpl->assign("hashbase",$hashbase);
+ $tpl->assign("head", $head);
if ($co = git_read_commit($projectroot . $project, $hashbase)) {
$tpl->assign("fullnav",TRUE);
$refs = read_info_ref($projectroot . $project);
@@ -32,8 +34,13 @@
$tpl->assign("title",$co['title']);
if (isset($file))
$tpl->assign("file",$file);
- if (isset($refs[$hashbase]))
- $tpl->assign("hashbaseref",$refs[$hashbase]);
+ if ($hashbase == "HEAD") {
+ if (isset($refs[$head]))
+ $tpl->assign("hashbaseref",$refs[$head]);
+ } else {
+ if (isset($refs[$hashbase]))
+ $tpl->assign("hashbaseref", $refs[$hashbase]);
+ }
}
$paths = git_path_trees($projectroot . $project, $hashbase, $file);
$tpl->assign("paths",$paths);
--- a/include/display.git_commit.php
+++ b/include/display.git_commit.php
@@ -65,24 +65,23 @@
$difftreeline["file"] = $regs[7];
$difftreeline["from_file"] = strtok($regs[7],"\t");
$difftreeline["from_filetype"] = file_type($regs[1]);
+ $difftreeline["from_filetype_localized"] = lookupstring($difftreeline["from_filetype"]);
$difftreeline["to_file"] = strtok("\t");
$difftreeline["to_filetype"] = file_type($regs[2]);
+ $difftreeline["to_filetype_localized"] = lookupstring($difftreeline["to_filetype"]);
if ((octdec($regs[2]) & 0x8000) == 0x8000)
$difftreeline["isreg"] = TRUE;
$modestr = "";
if ((octdec($regs[1]) & 0x17000) != (octdec($regs[2]) & 0x17000))
- $modestr .= " from " . file_type($regs[1]) . " to " . file_type($regs[2]);
+ $difftreeline["typechange"] = TRUE;
if ((octdec($regs[1]) & 0777) != (octdec($regs[2]) & 0777)) {
if ((octdec($regs[1]) & 0x8000) && (octdec($regs[2]) & 0x8000))
- $modestr .= " mode: " . (octdec($regs[1]) & 0777) . "->" . (octdec($regs[2]) & 0777);
+ $difftreeline["modechange"] = (octdec($regs[1]) & 0777) . "->" . (octdec($regs[2]) & 0777);
else if (octdec($regs[2]) & 0x8000)
- $modestr .= " mode: " . (octdec($regs[2]) & 0777);
+ $difftreeline["modechange"] = (octdec($regs[2]) & 0777);
}
- $difftreeline["modechange"] = $modestr;
- $simmodechg = "";
if ($regs[1] != $regs[2])
- $simmodechg .= ", mode: " . (octdec($regs[2]) & 0777);
- $difftreeline["simmodechg"] = $simmodechg;
+ $difftreeline["simmodechg"] = (octdec($regs[2]) & 0777);
$difftreelines[] = $difftreeline;
}
}
--- a/include/display.git_commitdiff.php
+++ b/include/display.git_commitdiff.php
@@ -13,6 +13,7 @@
require_once('gitutil.git_diff_tree.php');
require_once('gitutil.read_info_ref.php');
require_once('gitutil.git_diff.php');
+ require_once('i18n.lookupstring.php');
function git_commitdiff($projectroot,$project,$hash,$hash_parent)
{
@@ -47,6 +48,8 @@
$difftreeline["file"] = $regs[6];
$difftreeline["from_type"] = file_type($regs[1]);
$difftreeline["to_type"] = file_type($regs[2]);
+ $difftreeline["from_type_localized"] = lookupstring($difftreeline["from_type"]);
+ $difftreeline["to_type_localized"] = lookupstring($difftreeline["to_type"]);
if ($regs[5] == "A")
$difftreeline['diffout'] = explode("\n",git_diff($projectroot . $project, null,"/dev/null",$regs[4],"b/" . $regs[6]));
else if ($regs[5] == "D")
--- a/include/display.git_project_list.php
+++ b/include/display.git_project_list.php
@@ -11,6 +11,7 @@
require_once('util.descrcmp.php');
require_once('util.ownercmp.php');
require_once('util.agecmp.php');
+ require_once('i18n.lookupstring.php');
require_once('gitutil.git_read_projects.php');
function git_project_list($projectroot,$projectlist,$order = "project")
@@ -57,7 +58,7 @@
$tpl->assign("categorizedprojects",$projects);
}
} else {
- $tpl->assign("message","No projects found");
+ $tpl->assign("message",lookupstring("No projects found"));
$tpl->assign("error",TRUE);
}
} else {
--- a/include/display.git_search.php
+++ b/include/display.git_search.php
@@ -9,6 +9,7 @@
require_once('defs.constants.php');
require_once('util.highlight.php');
+require_once('i18n.lookupstring.php');
require_once('gitutil.git_read_commit.php');
require_once('gitutil.git_rev_list.php');
require_once('display.git_message.php');
@@ -18,12 +19,12 @@
global $tpl,$gitphp_conf;
if (!$gitphp_conf['search']) {
- git_message("Search has been disabled", TRUE, TRUE);
+ git_message(lookupstring('Search has been disabled'), TRUE, TRUE);
return;
}
if (!isset($search) || (strlen($search) < 2)) {
- git_message("You must enter search text of at least 2 characters", TRUE, TRUE);
+ git_message(lookupstring('You must enter search text of at least 2 characters'), TRUE, TRUE);
return;
}
if (!isset($hash)) {
@@ -35,7 +36,7 @@
$revlist = explode("\n",trim(git_rev_list($projectroot . $project, $hash, 101, ($page * 100), FALSE, FALSE, $searchtype, $search)));
if (count($revlist) < 1 || (strlen($revlist[0]) < 1)) {
- git_message("No matches for '" . $search . "'.", FALSE, TRUE);
+ git_message(sprintf(lookupstring('No matches for \'%1$s\'.'), $search), FALSE, TRUE);
return;
}
--- a/include/display.git_search_files.php
+++ b/include/display.git_search_files.php
@@ -9,6 +9,7 @@
require_once('defs.constants.php');
require_once('util.highlight.php');
+require_once('i18n.lookupstring.php');
require_once('gitutil.git_filesearch.php');
require_once('gitutil.git_read_commit.php');
require_once('display.git_message.php');
@@ -18,12 +19,12 @@
global $tpl,$gitphp_conf;
if (!($gitphp_conf['search'] && $gitphp_conf['filesearch'])) {
- git_message("File search has been disabled", TRUE, TRUE);
+ git_message(lookupstring('File search has been disabled'), TRUE, TRUE);
return;
}
if (!isset($search) || (strlen($search) < 2)) {
- git_message("You must enter search text of at least 2 characters", TRUE, TRUE);
+ git_message(lookupstring('You must enter search text of at least 2 characters'), TRUE, TRUE);
return;
}
if (!isset($hash)) {
@@ -36,7 +37,7 @@
$filesearch = git_filesearch($projectroot . $project, $hash, $search, false, ($page * 100), 101);
if (count($filesearch) < 1) {
- git_message("No matches for '" . $search . "'.", FALSE, TRUE);
+ git_message(sprintf(lookupstring('No matches for \'%1$s\'.'), $search), FALSE, TRUE);
return;
}
--- a/include/gitutil.git_read_projects.php
+++ b/include/gitutil.git_read_projects.php
@@ -7,6 +7,7 @@
* Copyright (C) 2008 Christopher Han <xiphux@gmail.com>
*/
+ require_once('i18n.lookupstring.php');
require_once('gitutil.git_recurse_projects.php');
require_once('gitutil.git_project_info.php');
@@ -46,9 +47,9 @@
}
}
} else
- return "Projectroot is not a directory";
+ return lookupstring("Projectroot is not a directory");
} else
- return "No projectroot set";
+ return lookupstring("No projectroot set");
return $projects;
}
--- a/include/gitutil.git_read_refs.php
+++ b/include/gitutil.git_read_refs.php
@@ -13,6 +13,7 @@
require_once('gitutil.git_read_hash.php');
require_once('gitutil.git_read_tag.php');
require_once('gitutil.git_read_commit.php');
+ require_once('i18n.lookupstring.php');
function git_read_refs($projectroot,$project,$refdir)
{
@@ -44,6 +45,7 @@
if ($type) {
$ref_item = array();
$ref_item['type'] = $type;
+ $ref_item['type_localized'] = lookupstring($type);
$ref_item['id'] = $ref_id;
$ref_item['epoch'] = 0;
$ref_item['age'] = "unknown";
@@ -72,6 +74,7 @@
$ref_item['epoch'] = $co['committer_epoch'];
$ref_item['age'] = $co['age_string'];
}
+ $ref_item['reftype_localized'] = lookupstring($ref_item['reftype']);
$reflist[] = $ref_item;
}
}
--- a/include/gitutil.git_read_tag.php
+++ b/include/gitutil.git_read_tag.php
@@ -8,6 +8,7 @@
*/
require_once('gitutil.git_cat_file.php');
+ require_once('i18n.lookupstring.php');
function git_read_tag($project, $tag_id)
{
@@ -19,9 +20,10 @@
while ($tok !== false) {
if (ereg("^object ([0-9a-fA-F]{40})$",$tok,$regs))
$tag['object'] = $regs[1];
- else if (ereg("^type (.+)$",$tok,$regs))
+ else if (ereg("^type (.+)$",$tok,$regs)) {
$tag['type'] = $regs[1];
- else if (ereg("^tag (.+)$",$tok,$regs))
+ $tag['type_localized'] = lookupstring($tag['type']);
+ } else if (ereg("^tag (.+)$",$tok,$regs))
$tag['name'] = $regs[1];
else if (ereg("^tagger (.*) ([0-9]+) (.*)$",$tok,$regs)) {
$tag['author'] = $regs[1];
--- /dev/null
+++ b/include/i18n.initlocale.php
@@ -1,1 +1,27 @@
+<?php
+/*
+ * i18n.initlocale.php
+ * gitphp: A PHP git repository browser
+ * Component: i18n - load locale
+ *
+ * Copyright (C) 2009 Christopher Han <xiphux@gmail.com>
+ */
+require_once('i18n.lookupstring.php');
+
+function initlocale($locale = "en_US")
+{
+ global $tpl;
+
+ if (!include(GITPHP_LOCALE_DIR . $locale . ".php"))
+ include(GITPHP_LOCALE_DIR . "en_US.php");
+
+ if (isset($strings)) {
+ $tpl->assign("localize",$strings);
+ }
+
+ return $strings;
+}
+
+?>
+
--- /dev/null
+++ b/include/i18n.lookupstring.php
@@ -1,1 +1,29 @@
+<?php
+/*
+ * i18n.lookupstring.php
+ * gitphp: A PHP git repository browser
+ * Component: i18n - look up a string
+ *
+ * Copyright (C) 2009 Christopher Han <xiphux@gmail.com>
+ */
+function lookupstring($str, $strings = null)
+{
+ global $localestrings;
+
+ if (!$str)
+ return null;
+
+ if (isset($strings) && (count($strings) > 0)) {
+ if (isset($strings[$str]))
+ return $strings[$str];
+ } else {
+ if (isset($localestrings[$str]))
+ return $localestrings[$str];
+ }
+
+ return $str;
+}
+
+?>
+
Binary files /dev/null and b/include/locale/._zz_DEBUG.php differ
--- /dev/null
+++ b/include/locale/en_US.php
@@ -1,1 +1,366 @@
-
+<?php
+/*
+ * en_US.php
+ * gitphp: A PHP git repository browser
+ * Component: i18n - en_US
+ */
+
+$strings = array(
+ /*
+ * Error message that tells the user that
+ * there were no projects found in the projectroot
+ */
+ 'No projects found' => 'No projects found',
+
+ /*
+ * Error message that tells the user that the projectroot
+ * they have set up is not a directory
+ */
+ 'Projectroot is not a directory' => 'Projectroot is not a directory',
+
+ /*
+ * Error message that tells the user that they have not set
+ * a projectroot
+ */
+ 'No projectroot set' => 'No projectroot set',
+
+ /*
+ * Tells the user that all searching has been disabled
+ */
+ 'Search has been disabled' => 'Search has been disabled',
+
+ /*
+ * Tells the user that searching with files has been disabled
+ */
+ 'File search has been disabled' => 'File search has been disabled',
+
+ /*
+ * Tells the user that their search string must be a minimum of 2 characters
+ */
+ 'You must enter search text of at least 2 characters' => 'You must enter search text of at least 2 characters',
+
+ /*
+ * Tells the user that no matches were found for their search, where
+ * %1$s is the search string
+ */
+ 'No matches for \'%1$s\'.' => 'No matches for \'%1$s\'.',
+
+ /*
+ * Used to indicate multiple projects - links back to the project
+ * listing page
+ */
+ 'projects' => 'projects',
+
+ /*
+ * Used as the header for the project name column on the project list
+ */
+ 'headerproject' => 'Project',
+
+ /*
+ * Used as the header for the description column on the project list
+ */
+ 'headerdescription' => 'Description',
+
+ /*
+ * Used as the header for the owner column on the project list
+ */
+ 'headerowner' => 'Owner',
+
+ /*
+ * Used as the header for the age (last time project was changed) column in the
+ * project list
+ */
+ 'headerlastchange' => 'Last Change',
+
+ /*
+ * Used as the header for the actions column (links to various other pages for
+ * that project)
+ */
+ 'headeractions' => 'Actions',
+
+ /*
+ * Used as the name for the main project summary page
+ */
+ 'summary' => 'summary',
+
+ /*
+ * Used as the name for the shortlog (abbreviated commit log) page
+ */
+ 'shortlog' => 'shortlog',
+
+ /*
+ * Used as the name for the log (full commit log) page
+ */
+ 'log' => 'log',
+
+ /*
+ * Used as the name for a single "commit" to the repository -
+ * for the commit page, as well as on other pages when referencing
+ * a single commit object
+ */
+ 'commit' => 'commit',
+
+ /*
+ * Used as the name for the commitdiff page, which shows all changes
+ * in a single commit
+ */
+ 'commitdiff' => 'commitdiff',
+
+ /*
+ * Used as the name for the tree page and to reference tree objects -
+ * "trees" being a particular project's directory of files (or subdirectory)
+ * at a given revision
+ */
+ 'tree' => 'tree',
+
+ /*
+ * Used as the name for the snapshot action, which sends a tarball of the
+ * project at a given revision
+ */
+ 'snapshot' => 'snapshot',
+
+ /*
+ * Used as the name for the tags page/section, which lists all tags for a project
+ */
+ 'tags' => 'tags',
+
+ /*
+ * Used as the name for the single tag page, which shows all info on a single
+ * tag object
+ */
+ 'tag' => 'tag',
+
+ /*
+ * Used as the name for the heads page/section, which lists all heads for a project
+ */
+ 'heads' => 'heads',
+
+ /*
+ * Used as the name for the history page, which lists all commits where a particular
+ * file was changed
+ */
+ 'history' => 'history',
+
+ /*
+ * Used as the name for the blob page, which shows the content of a file at a given
+ * revision (its 'blob' data)
+ */
+ 'blob' => 'blob',
+
+ /*
+ * Used as a link to show the differences in a file for a commit
+ */
+ 'diff' => 'diff',
+
+ /*
+ * Used as a link to diff a particular revision of a file to the current version
+ */
+ 'difftocurrent' => 'diff to current',
+
+ /*
+ * Used as the name for the search action, and to caption the search box
+ */
+ 'search' => 'search',
+
+ /*
+ * Used as the caption on the 'RSS' button, which gets a feed of the most recent
+ * commits to a project
+ */
+ 'RSS' => 'RSS',
+
+ /*
+ * Used as the caption for the 'OPML' button, which gets a list of projects in OPML format
+ */
+ 'OPML' => 'OPML',
+
+ /*
+ * Used as the caption for the 'TXT' button, which gets a list of projects in plaintext
+ */
+ 'TXT' => 'TXT',
+
+ /*
+ * Used as a link on various actions (blob, blobdiff, commitdiff, etc) to get the plaintext
+ * version of it
+ */
+ 'plain' => 'plain',
+
+ /*
+ * Used as an indicator that something was added
+ */
+ 'new' => 'new',
+
+ /*
+ * Used as an indicator that something was deleted
+ */
+ 'deleted' => 'deleted',
+
+ /*
+ * Used as an indicator that something is a file - for example, that we are diffing a
+ * file or searching within files
+ */
+ 'file' => 'file',
+
+ /*
+ * Used to denote the author of a particular commit, or that we want to search
+ * authors
+ */
+ 'author' => 'author',
+
+ /*
+ * Used to denote the committer of a particular commit, or that we want to search
+ * committers
+ */
+ 'committer' => 'committer',
+
+ /*
+ * Used as the link to the previous page, when paginating through log entries
+ * or search results
+ */
+ 'prev' => 'prev',
+
+ /*
+ * Used as the link to the next page, when paginating through log entries
+ * or search results
+ */
+ 'next' => 'next',
+
+ /*
+ * Used as the link to the first page, when paginating through search results
+ */
+ 'first' => 'first',
+
+ /*
+ * Used as the link to the HEAD, when paginating through log entries
+ */
+ 'HEAD' => 'HEAD',
+
+ /*
+ * Used to indicate the description of the project, on the project summary page
+ */
+ 'description' => 'description',
+
+ /*
+ * Used to indicate the owner of the project, on the project summary page
+ */
+ 'owner' => 'owner',
+
+ /*
+ * Used to indicate the age (last change) of the project, on the project summary page
+ */
+ 'lastchange' => 'last change',
+
+ /*
+ * Used to indicate the object that is the parent of this one (eg the commit that
+ * came right before this one)
+ */
+ 'parent' => 'parent',
+
+ /*
+ * Used to indicate the object (commit, etc) that is attached to a tag
+ */
+ 'object' => 'object',
+
+ /*
+ * Used to indicate a new object was added, where
+ * %1$s is the type of object (file or tree)
+ */
+ 'newobject' => 'new %1$s',
+
+ /*
+ * Used to indicate a new object was added, where
+ * %1$s is the type of object (file or tree) and
+ * %2$s is the new mode
+ */
+ 'newobjectwithmode' => 'new %1$s with mode: %2$s',
+
+ /*
+ * Used to indicate an object was deleted, where
+ * %1$s is the type of object (file or tree)
+ */
+ 'deletedobject' => 'deleted %1$s',
+
+ /*
+ * Used to indicate an object's type was changed, where
+ * %1$s is the old type and %2$s is the new type
+ */
+ 'changedobjecttype' => 'changed from %1$s to %2$s',
+
+ /*
+ * Used to indicate an object's mode was changed, where
+ * %1$s is the mode change (either just one mode or
+ * mode1->mode2)
+ */
+ 'changedobjectmode' => 'changed mode: %1$s',
+
+ /*
+ * Used to indicate that an object was moved/renamed,
+ * where %1$s is the original name, and
+ * %2$d is the percentage similarity
+ */
+ 'movedobjectwithsimilarity' => 'moved from %1$s with %2$d%% similarity',
+
+ /*
+ * Used to indicate that an object was moved/renamed,
+ * where %1$s is the original name,
+ * %2$d is the percentage similarity, and
+ * %3$s is the mode
+ */
+ 'movedobjectwithsimilaritymodechange' => 'moved from %1$s with %2$d%% similarity, mode: $3$s',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * years ago, where %1$d is the number of years
+ */
+ 'ageyearsago' => '%1$d years ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * years ago, where %1$d is the number of years
+ */
+ 'agemonthsago' => '%1$d months ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * weeks ago, where %1$d is the number of weeks
+ */
+ 'ageweeksago' => '%1$d weeks ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * days ago, where %1$d is the number of days
+ */
+ 'agedaysago' => '%1$d days ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * hours ago, where %1$d is the number of hours
+ */
+ 'agehoursago' => '%1$d hours ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * minutes ago, where %1$d is the number of minutes
+ */
+ 'ageminago' => '%1$d min ago',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * seconds ago, where %1$d is the number of seconds
+ */
+ 'agesecago' => '%1$d sec ago',
+
+ /*
+ * Used to indicate something is happening right now
+ * (less than 3 seconds ago)
+ */
+ 'agerightnow' => 'right now',
+
+ /*
+ * Used to indicate a certain number of files were changed in a commit
+ * where %1$d is the numebr of files changed
+ */
+ 'fileschanged' => '%1$d files changed',
+);
+
+?>
+
--- /dev/null
+++ b/include/locale/zz_DEBUG.php
@@ -1,1 +1,366 @@
-
+<?php
+/*
+ * zz_DEBUG.php
+ * gitphp: A PHP git repository browser
+ * Component: i18n - zz_DEBUG
+ */
+
+$strings = array(
+ /*
+ * Error message that tells the user that
+ * there were no projects found in the projectroot
+ */
+ 'No projects found' => 'No projects found',
+
+ /*
+ * Error message that tells the user that the projectroot
+ * they have set up is not a directory
+ */
+ 'Projectroot is not a directory' => 'Projectroot is not a directory',
+
+ /*
+ * Error message that tells the user that they have not set
+ * a projectroot
+ */
+ 'No projectroot set' => 'No projectroot set',
+
+ /*
+ * Tells the user that all searching has been disabled
+ */
+ 'Search has been disabled' => 'Search has been disabled',
+
+ /*
+ * Tells the user that searching with files has been disabled
+ */
+ 'File search has been disabled' => 'File search has been disabled',
+
+ /*
+ * Tells the user that their search string must be a minimum of 2 characters
+ */
+ 'You must enter search text of at least 2 characters' => 'You must enter search text of at least 2 characters',
+
+ /*
+ * Tells the user that no matches were found for their search, where
+ * %1$s is the search string
+ */
+ 'No matches for \'%1$s\'.' => 'No matches for \'%1$s\'.',
+
+ /*
+ * Used to indicate multiple projects - links back to the project
+ * listing page
+ */
+ 'projects' => '{prőjėčts••}',
+
+ /*
+ * Used as the header for the project name column on the project list
+ */
+ 'headerproject' => '{Pröjèct••}',
+
+ /*
+ * Used as the header for the description column on the project list
+ */
+ 'headerdescription' => '{Dèscrîptîön•••}',
+
+ /*
+ * Used as the header for the owner column on the project list
+ */
+ 'headerowner' => '{Öwnèr•}',
+
+ /*
+ * Used as the header for the age (last time project was changed) column in the
+ * project list
+ */
+ 'headerlastchange' => '{Låst Chångè•••}',
+
+ /*
+ * Used as the header for the actions column (links to various other pages for
+ * that project)
+ */
+ 'headeractions' => '{Åctîöns••}',
+
+ /*
+ * Used as the name for the main project summary page
+ */
+ 'summary' => '{sûmmäry••}',
+
+ /*
+ * Used as the name for the shortlog (abbreviated commit log) page
+ */
+ 'shortlog' => '{shõrtlög••}',
+
+ /*
+ * Used as the name for the log (full commit log) page
+ */
+ 'log' => '{lõg•}',
+
+ /*
+ * Used as the name for a single "commit" to the repository -
+ * for the commit page, as well as on other pages when referencing
+ * a single commit object
+ */
+ 'commit' => '{cömmït•}',
+
+ /*
+ * Used as the name for the commitdiff page, which shows all changes
+ * in a single commit
+ */
+ 'commitdiff' => '{cõmmïtdîff•••}',
+
+ /*
+ * Used as the name for the tree page and to reference tree objects -
+ * "trees" being a particular project's directory of files (or subdirectory)
+ * at a given revision
+ */
+ 'tree' => '{tréè•}',
+
+ /*
+ * Used as the name for the snapshot action, which sends a tarball of the
+ * project at a given revision
+ */
+ 'snapshot' => '{snãpshöt••}',
+
+ /*
+ * Used as the name for the tags page/section, which lists all tags for a project
+ */
+ 'tags' => '{tágs•}',
+
+ /*
+ * Used as the name for the single tag page, which shows all info on a single
+ * tag object
+ */
+ 'tag' => '{tàg•}',
+
+ /*
+ * Used as the name for the heads page/section, which lists all heads for a project
+ */
+ 'heads' => '{hèáds•}',
+
+ /*
+ * Used as the name for the history page, which lists all commits where a particular
+ * file was changed
+ */
+ 'history' => '{hîstöry••}',
+
+ /*
+ * Used as the name for the blob page, which shows the content of a file at a given
+ * revision (its 'blob' data)
+ */
+ 'blob' => '{blôb•}',
+
+ /*
+ * Used as a link to show the differences in a file for a commit
+ */
+ 'diff' => '{dîff•}',
+
+ /*
+ * Used as a link to diff a particular revision of a file to the current version
+ */
+ 'difftocurrent' => '{dîff tò cürrênt••••}',
+
+ /*
+ * Used as the name for the search action, and to caption the search box
+ */
+ 'search' => '{sêàrch••}',
+
+ /*
+ * Used as the caption on the 'RSS' button, which gets a feed of the most recent
+ * commits to a project
+ */
+ 'RSS' => '{RSS•}',
+
+ /*
+ * Used as the caption for the 'OPML' button, which gets a list of projects in OPML format
+ */
+ 'OPML' => '{ÖPML•}',
+
+ /*
+ * Used as the caption for the 'TXT' button, which gets a list of projects in plaintext
+ */
+ 'TXT' => '{TXT•}',
+
+ /*
+ * Used as a link on various actions (blob, blobdiff, commitdiff, etc) to get the plaintext
+ * version of it
+ */
+ 'plain' => '{plåïn•}',
+
+ /*
+ * Used as an indicator that something was added
+ */
+ 'new' => '{ñêw•}',
+
+ /*
+ * Used as an indicator that something was deleted
+ */
+ 'deleted' => '{délètëd••}',
+
+ /*
+ * Used as an indicator that something is a file - for example, that we are diffing a
+ * file or searching within files
+ */
+ 'file' => '{fílĕ•}',
+
+ /*
+ * Used to denote the author of a particular commit, or that we want to search
+ * authors
+ */
+ 'author' => '{åûthōr••}',
+
+ /*
+ * Used to denote the committer of a particular commit, or that we want to search
+ * committers
+ */
+ 'committer' => '{cōmmĩttęr••}',
+
+ /*
+ * Used as the link to the previous page, when paginating through log entries
+ * or search results
+ */
+ 'prev' => '{prěv•}',
+
+ /*
+ * Used as the link to the next page, when paginating through log entries
+ * or search results
+ */
+ 'next' => '{ńėxt•}',
+
+ /*
+ * Used as the link to the first page, when paginating through search results
+ */
+ 'first' => '{fĩrst•}',
+
+ /*
+ * Used as the link to the HEAD, when paginating through log entries
+ */
+ 'HEAD' => '{HĚĂD•}',
+
+ /*
+ * Used to indicate the description of the project, on the project summary page
+ */
+ 'description' => '{dêscrïptìõn•••}',
+
+ /*
+ * Used to indicate the owner of the project, on the project summary page
+ */
+ 'owner' => '{öwnêr•}',
+
+ /*
+ * Used to indicate the age (last change) of the project, on the project summary page
+ */
+ 'lastchange' => '{låst chãngë•••}',
+
+ /*
+ * Used to indicate the object that is the parent of this one (eg the commit that
+ * came right before this one)
+ */
+ 'parent' => '{pārėnt••}',
+
+ /*
+ * Used to indicate the object (commit, etc) that is attached to a tag
+ */
+ 'object' => '{őbjěct••}',
+
+ /*
+ * Used to indicate a new object was added, where
+ * %1$s is the type of object (file or tree)
+ */
+ 'newobject' => '{‹%1$s› ñėw•}',
+
+ /*
+ * Used to indicate a new object was added, where
+ * %1$s is the type of object (file or tree) and
+ * %2$s is the new mode
+ */
+ 'newobjectwithmode' => '{mõdę ‹%2$s› ñėw ‹%1$s›•••••}',
+
+ /*
+ * Used to indicate an object was deleted, where
+ * %1$s is the type of object (file or tree)
+ */
+ 'deletedobject' => '{‹%1$s› dėlětē••}',
+
+ /*
+ * Used to indicate an object's type was changed, where
+ * %1$s is the old type and %2$s is the new type
+ */
+ 'changedobjecttype' => '{‹%1$s› tö ‹%2$s› chăngěd•••••}',
+
+ /*
+ * Used to indicate an object's mode was changed, where
+ * %1$s is the mode change (either just one mode or
+ * mode1->mode2)
+ */
+ 'changedobjectmode' => '{‹%1$s› mõdêchångè••••}',
+
+ /*
+ * Used to indicate that an object was moved/renamed,
+ * where %1$s is the original name, ande
+ * %2$d is the percentage similarity,
+ */
+ 'movedobjectwithsimilarity' => '{%%‹%2$d› sĩmīląrĭtŷ, mővɛd frŏm ‹%1$s›•••••••••}',
+
+ /*
+ * Used to indicate that an object was moved/renamed,
+ * where %1$s is the original name,
+ * %2$d is the percentage similarity, and
+ * %3$s is the mode
+ */
+ 'movedobjectwithsimilaritymodechange' => '{%%‹%2$d› sĩmīląrĭtŷ, mővɛd frŏm ‹%1$s› mode ‹%3$s›•••••••••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * years ago, where %1$d is the number of years
+ */
+ 'ageyearsago' => '{ŷrs ‹%1$d› ăgő•••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * years ago, where %1$d is the number of years
+ */
+ 'agemonthsago' => '{mős ‹%1$d› ăgő•••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * weeks ago, where %1$d is the number of weeks
+ */
+ 'ageweeksago' => '{wks ‹%1$d› ăgő•••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * days ago, where %1$d is the number of days
+ */
+ 'agedaysago' => '{dŷs ‹%1$d› ăgő•••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * hours ago, where %1$d is the number of hours
+ */
+ 'agehoursago' => '{hrs ‹%1$d› ăgő•••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * minutes ago, where %1$d is the number of minutes
+ */
+ 'ageminago' => '{mñs ‹%1$d› ăgő••}',
+
+ /*
+ * Used to indicate something happened a certain number of
+ * seconds ago, where %1$d is the number of seconds
+ */
+ 'agesecago' => '{scs ‹%1$d› ăgő••}',
+
+ /*
+ * Used to indicate something is happening right now
+ * (less than 3 seconds ago)
+ */
+ 'agerightnow' => '{rĩght nøw•••}',
+
+ /*
+ * Used to indicate a certain number of files were changed in a commit
+ * where %1$d is the numebr of files changed
+ */
+ 'fileschanged' => '{chângëd ‹%1$d› fĭlēs••••}',
+);
+
+?>
+
--- a/include/util.age_string.php
+++ b/include/util.age_string.php
@@ -7,23 +7,34 @@
* Copyright (C) 2008 Christopher Han <xiphux@gmail.com>
*/
+include('i18n.lookupstring.php');
+
function age_string($age)
{
- if ($age > 60*60*24*365*2)
- return (int)($age/60/60/24/365) . " years ago";
- else if ($age > 60*60*24*(365/12)*2)
- return (int)($age/60/60/24/(365/12)) . " months ago";
- else if ($age > 60*60*24*7*2)
- return (int)($age/60/60/24/7) . " weeks ago";
- else if ($age > 60*60*24*2)
- return (int)($age/60/60/24) . " days ago";
- else if ($age > 60*60*2)
- return (int)($age/60/60) . " hours ago";
- else if ($age > 60*2)
- return (int)($age/60) . " min ago";
- else if ($age > 2)
- return (int)$age . " sec ago";
- return "right now";
+ if ($age > 60*60*24*365*2) {
+ return sprintf(lookupstring('ageyearsago'), (int)($age/60/60/24/365));
+ //i18n: return sprintf(lookupstring('%1$d years ago'), (int)($age/60/60/24/365));
+ } else if ($age > 60*60*24*(365/12)*2) {
+ return sprintf(lookupstring('agemonthsago'), (int)($age/60/60/24/(365/12)));
+ //i18n: return sprintf(lookupstring('%1$d months ago'), (int)($age/60/60/24/(365/12)));
+ } else if ($age > 60*60*24*7*2) {
+ return sprintf(lookupstring('ageweeksago'), (int)($age/60/60/24/7));
+ //i18n: return sprintf(lookupstring('%1$d weeks ago'), (int)($age/60/60/24/7));
+ } else if ($age > 60*60*24*2) {
+ return sprintf(lookupstring('agedaysago'), (int)($age/60/60/24));
+ //i18n: return sprintf(lookupstring('%1$d days ago'), (int)($age/60/60/24));
+ } else if ($age > 60*60*2) {
+ return sprintf(lookupstring('agehoursago'), (int)($age/60/60));
+ //i18n: return sprintf(lookupstring('%1$d hours ago'), (int)($age/60/60));
+ } else if ($age > 60*2) {
+ return sprintf(lookupstring('ageminago'), (int)($age/60));
+ //i18n: return sprintf(lookupstring('%1$d min ago'), (int)($age/60));
+ } else if ($age > 2) {
+ return sprintf(lookupstring('agesecago'), (int)$age);
+ //i18n: return sprintf(lookupstring('%1$d sec ago'), (int)$age);
+ }
+ return lookupstring('agerightnow');
+ //i18n: return lookupstring("right now");
}
?>
--- a/index.php
+++ b/index.php
@@ -43,6 +43,12 @@
($_GET['a'] != "opml")) {
$tpl->load_filter('output','trimwhitespace');
}
+
+ /*
+ * Init i18n
+ */
+ require_once('include/i18n.initlocale.php');
+ $localestrings = initlocale($gitphp_conf['lang']);
/*
* Setup global assigns used everywhere (such as header/footer)
--- a/templates/blob.tpl
+++ b/templates/blob.tpl
@@ -11,11 +11,25 @@
{* If we managed to look up commit info, we have enough info to display the full header - othewise just use a simple header *}
<div class="page_nav">
{if $fullnav}
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hashbase}">tree</a><br />
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: comitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hashbase}">{$localize.tree}</a><br />
+ {* i18n: plain = plain *}
{if $file}
- <a href="{$SCRIPT_NAME}?p={$project}&a=blob_plain&h={$hash}&f={$file}">plain</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=blob&hb=HEAD&f={$file}">head</a><br />
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob_plain&h={$hash}&f={$file}">{$localize.plain}</a> |
+ {* i18n: HEAD = HEAD *}
+ {if ($hashbase != "HEAD") && ($hashbase != $head)}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob&hb=HEAD&f={$file}">{$localize.HEAD}</a>
+ {else}
+ {$localize.HEAD}
+ {/if}
+ <br />
{else}
- <a href="{$SCRIPT_NAME}?p={$project}&a=blob_plain&h={$hash}">plain</a><br />
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob_plain&h={$hash}">{$localize.plain}</a><br />
{/if}
{else}
<br /><br />
--- a/templates/blobdiff.tpl
+++ b/templates/blobdiff.tpl
@@ -11,9 +11,16 @@
{* If we managed to look up commit info, we have enough info to display the full header - othewise just use a simple header *}
<div class="page_nav">
{if $fullnav}
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hashbase}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hashbase}">{$localize.tree}</a>
<br />
- <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff_plain&h={$hash}&hp={$hashparent}&f={$file}">plain</a>
+ {* i18n: plain = plain *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff_plain&h={$hash}&hp={$hashparent}&f={$file}">{$localize.plain}</a>
{else}
<br /><br />
{/if}
@@ -45,7 +52,8 @@
<div class="page_body">
<div class="diff_info">
{* Display the from -> to diff header *}
- blob:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$hashparent}&hb={$hashbase}&f={$file}">{if $file}a/{$file}{else}{$hashparent}{/if}</a> -> blob:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$hash}&hb={$hashbase}&f={$file}">{if $file}b/{$file}{else}{$hash}{/if}</a>
+ {* i18n: blob = blob *}
+ {$localize.blob}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$hashparent}&hb={$hashbase}&f={$file}">{if $file}a/{$file}{else}{$hashparent}{/if}</a> -> {$localize.blob}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$hash}&hb={$hashbase}&f={$file}">{if $file}b/{$file}{else}{$hash}{/if}</a>
</div>
{* Display the diff *}
{include file='filediff.tpl'}
--- a/templates/commit.tpl
+++ b/templates/commit.tpl
@@ -10,7 +10,13 @@
<div class="page_nav">
{* Nav *}
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">log</a> | commit | {if $parent}<a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | {/if}<a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">{$localize.log}</a> | {$localize.commit} | {if $parent}<a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | {/if}<a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">{$localize.tree}</a>
<br /><br />
</div>
<div>
@@ -29,7 +35,8 @@
{* Commit data *}
<table cellspacing="0">
<tr>
- <td>author</td>
+ {* i18n: author = author *}
+ <td>{$localize.author}</td>
<td>{$author}</td>
</tr>
<tr>
@@ -37,7 +44,8 @@
<td> {$adrfc2822} ({if $adhourlocal < 6}<span class="latenight">{/if}{$adhourlocal}:{$adminutelocal}{if $adhourlocal < 6}</span>{/if} {$adtzlocal})</td>
</tr>
<tr>
- <td>committer</td>
+ {* i18n: committer = committer *}
+ <td>{$localize.committer}</td>
<td>{$committer}</td>
</tr>
<tr>
@@ -45,19 +53,26 @@
<td> {$cdrfc2822} ({$cdhourlocal}:{$cdminutelocal} {$cdtzlocal})</td>
</tr>
<tr>
- <td>commit</td>
+ {* i18n: commit = commit *}
+ <td>{$localize.commit}</td>
<td class="monospace">{$id}</td>
<tr>
<tr>
- <td>tree</td>
+ {* i18n: tree = tree *}
+ <td>{$localize.tree}</td>
<td class="monospace"><a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}" class="list">{$tree}</a></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">tree</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$hash}">snapshot</a></td>
+ {* i18n: snapshot = snapshot *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$hash}">{$localize.snapshot}</a></td>
</tr>
{foreach from=$parents item=par}
<tr>
- <td>parent</td>
+ {* i18n: parent = parent *}
+ <td>{$localize.parent}</td>
<td class="monospace"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$par}" class="list">{$par}</a></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$par}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}&hp={$par}">commitdiff</a></td>
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$par}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}&hp={$par}">{$localize.commitdiff}</a></td>
</tr>
{/foreach}
</table>
@@ -69,7 +84,8 @@
</div>
<div class="list_head">
{if $difftreesize > 11}
- {$difftreesize} files changed:
+ {* i18n: fileschanged = %1$d files changed *}
+ {$localize.fileschanged|sprintf:$difftreesize}:
{/if}
</div>
<table cellspacing="0">
@@ -79,12 +95,22 @@
{if $difftreelines[difftree].status == "A"}
<td><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}" class="list">{$difftreelines[difftree].file}</a></td>
- <td><span class="newfile">[new {$difftreelines[difftree].to_filetype}{if $difftreelines[difftree].isreg} with mode: {$difftreelines[difftree].to_mode_cut}{/if}]</span></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">blob</a></td>
+ {if $difftreelines[difftree].isreg}
+ {* i18n: newobjectwithmode = new %1$s with mode: %2$s *}
+ <td><span class="newfile">[{$localize.newobjectwithmode|sprintf:$difftreelines[difftree].to_filetype_localized:$difftreelines[difftree].to_mode_cut}]</span></td>
+ {else}
+ {* i18n: newobject = new %1$s *}
+ <td><span class="newfile">[{$localize.newobject|sprintf:$difftreelines[difftree].to_filetype_localized}]</span></td>
+ {/if}
+ {* i18n: blob = blob *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{$localize.blob}</a></td>
{elseif $difftreelines[difftree].status == "D"}
<td><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}" class="list">{$difftreelines[difftree].file}</a></td>
- <td><span class="deletedfile">[deleted {$difftreelines[difftree].from_filetype}]</span></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">blob</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$difftreelines[difftree].file}">history</a></td>
+ {* i18n: deletedobject = deleted %1$s *}
+ <td><span class="deletedfile">[{$localize.deletedobject|sprintf:$difftreelines[difftree].from_filetype_localized}]</span></td>
+ {* i18n: blob = blob *}
+ {* i18n: history = history *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{$localize.blob}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$difftreelines[difftree].file}">{$localize.history}</a></td>
{elseif $difftreelines[difftree].status == "M" || $difftreelines[difftree].status == "T"}
<td>
{if $difftreelines[difftree].to_id != $difftreelines[difftree].from_id}
@@ -93,13 +119,38 @@
<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}" class="list">{$difftreelines[difftree].file}</a>
{/if}
</td>
- <td>{if $difftreelines[difftree].from_mode != $difftreelines[difftree].to_mode} <span class="changedfile">[changed{$difftreelines[difftree].modechange}]</span>{/if}</td>
+ <td>
+ {if $difftreelines[difftree].from_mode != $difftreelines[difftree].to_mode}
+ <span class="changedfile">
+ {if $difftreelines[difftree].typechange}
+ {* i18n: changedobjecttype = changed from %1$s to %2$s *}
+ [{$localize.changedobjecttype|sprintf:$difftreelines[difftree].from_filetype_localized:$difftreelines[difftree].to_filetype_localized}]
+ {/if}
+ {if $difftreelines[difftree].modechange}
+ {* i18n: changedobjectmode = changed mode: %1$s *}
+ [{$localize.changedobjectmode|sprintf:$difftreelines[difftree].modechange}]
+ {/if}
+ </span>
+ {/if}
+ </td>
<td class="link">
- <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">blob</a>{if $difftreelines[difftree].to_id != $difftreelines[difftree].from_id} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$difftreelines[difftree].to_id}&hp={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">diff</a>{/if} | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$difftreelines[difftree].file}">history</a></td>
+ {* i18n: blob = blob *}
+ {* i18n: diff = diff *}
+ {* i18n: history = history *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{$localize.blob}</a>{if $difftreelines[difftree].to_id != $difftreelines[difftree].from_id} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$difftreelines[difftree].to_id}&hp={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{$localize.diff}</a>{/if} | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$difftreelines[difftree].file}">{$localize.history}</a></td>
{elseif $difftreelines[difftree].status == "R"}
<td><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].to_file}" class="list">{$difftreelines[difftree].to_file}</a></td>
- <td><span class="movedfile">[moved from <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].from_file}" class="list">{$difftreelines[difftree].from_file}</a> with {$difftreelines[difftree].similarity}% similarity{$difftreelines[difftree].simmodechg}]</span></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].to_file}">blob</a>{if $difftreelines[difftree].to_id != $difftreelines[difftree].from_id} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$difftreelines[difftree].to_id}&hp={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].to_file}">diff</a>{/if}</td>
+ {capture name='oldfile' assign='oldfile'}<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].from_file}" class="list">{$difftreelines[difftree].from_file}</a>{/capture}
+ {if $difftreelines[difftree].simmodechg}
+ {* i18n: movedobjectwithsimilaritymodechange = moved from %1$s with %2$d%% similarity, mode: %3$s *}
+ <td><span class="movedfile">[{$localize.movedobjectwithsimilaritymodechange|sprintf:$oldfile:$difftreelines[difftree].similarity:$difftreelines[difftree].simmodechg}]</span></td>
+ {else}
+ {* i18n: movedobjectwithsimilarity = moved from %1$s with %2$d%% similarity *}
+ <td><span class="movedfile">[{$localize.movedobjectwithsimilarity|sprintf:$oldfile:$difftreelines[difftree].similarity}]</span></td>
+ {/if}
+ {* i18n: blob = blob *}
+ {* i18n: diff = diff *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].to_file}">{$localize.blob}</a>{if $difftreelines[difftree].to_id != $difftreelines[difftree].from_id} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$difftreelines[difftree].to_id}&hp={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].to_file}">{$localize.diff}</a>{/if}</td>
{/if}
</tr>
--- a/templates/commitdiff.tpl
+++ b/templates/commitdiff.tpl
@@ -10,7 +10,14 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | commitdiff | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">tree</a><br /><a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff_plain&h={$hash}&hp={$hashparent}">plain</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: plain = plain *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | {$localize.commitdiff} | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">{$localize.tree}</a><br /><a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff_plain&h={$hash}&hp={$hashparent}">{$localize.plain}</a>
</div>
<div>
<br /><br />
@@ -27,16 +34,18 @@
{section name=difftree loop=$difftreelines}
{if $difftreelines[difftree].status == "A"}
<div class="diff_info">
- {$difftreelines[difftree].to_type}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}{$difftreelines[difftree].file}{else}{$difftreelines[difftree].to_id}{/if}</a>(new)
+ {* i18n: deleted = deleted *}
+ {$difftreelines[difftree].to_type_localized}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}{$difftreelines[difftree].file}{else}{$difftreelines[difftree].to_id}{/if}</a>({$localize.new})
</div>
{elseif $difftreelines[difftree].status == "D"}
<div class="diff_info">
- {$difftreelines[difftree].from_type}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}{$difftreelines[difftree].file}{else}{$difftreelines[difftree].from_id}{/if}</a>(deleted)
+ {* i18n: deleted = deleted *}
+ {$difftreelines[difftree].from_type_localized}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}{$difftreelines[difftree].file}{else}{$difftreelines[difftree].from_id}{/if}</a>({$localize.deleted})
</div>
{elseif $difftreelines[difftree].status == "M"}
{if $difftreelines[difftree].from_id != $difftreelines[difftree].to_id}
<div class="diff_info">
- {$difftreelines[difftree].from_type}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}a/{$difftreelines[difftree].file}{else}{$difftreelines[difftree].from_id}{/if}</a> -> {$difftreelines[difftree].to_type}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}b/{$difftreelines[difftree].file}{else}{$difftreelines[difftree].to_id}{/if}</a>
+ {$difftreelines[difftree].from_type_localized}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].from_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}a/{$difftreelines[difftree].file}{else}{$difftreelines[difftree].from_id}{/if}</a> -> {$difftreelines[difftree].to_type_localized}:<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$difftreelines[difftree].to_id}&hb={$hash}&f={$difftreelines[difftree].file}">{if $difftreelines[difftree].file}b/{$difftreelines[difftree].file}{else}{$difftreelines[difftree].to_id}{/if}</a>
</div>
{/if}
{/if}
--- a/templates/footer.tpl
+++ b/templates/footer.tpl
@@ -11,11 +11,14 @@
<div class="page_footer_text">{$projectdescription}</div>
{/if}
{if $validproject}
- <a href="{$SCRIPT_NAME}?p={$project}&a=rss" class="rss_logo">RSS</a>
+ {* i18n: RSS = RSS *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=rss" class="rss_logo">{$localize.RSS}</a>
{/if}
{else}
- <a href="{$SCRIPT_NAME}?a=opml" class="rss_logo">OPML</a>
- <a href="{$SCRIPT_NAME}?a=project_index" class="rss_logo">TXT</a>
+ {* i18n: OPML = OPML *}
+ <a href="{$SCRIPT_NAME}?a=opml" class="rss_logo">{$localize.OPML}</a>
+ {* i18n: TXT = TXT *}
+ <a href="{$SCRIPT_NAME}?a=project_index" class="rss_logo">{$localize.TXT}</a>
{/if}
</div>
</body>
--- a/templates/header.tpl
+++ b/templates/header.tpl
@@ -12,7 +12,7 @@
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<!-- gitphp web interface {$version}, (C) 2006 Christopher Han <xiphux@gmail.com> -->
<head>
- <title>{$pagetitle}{if $project && $validproject} :: {$project}{if $action && $validaction}/{$action}{/if}{/if}</title>
+ <title>{$pagetitle}{if $project && $validproject} :: {$project}{if $action && $validaction}/{$localize.$action}{/if}{/if}</title>
{if $validproject}
<link rel="alternate" title="{$project} log" href="{$SCRIPT_NAME}?p={$project}&a=rss" type="application/rss+xml" />
{/if}
@@ -24,11 +24,12 @@
<a href="http://www.kernel.org/pub/software/scm/git/docs/" title="git documentation">
<img src="git-logo.png" width="72" height="27" alt="git" class="logo" />
</a>
- <a href="index.php">projects</a> /
+ {* i18n: projects = projects *}
+ <a href="index.php">{$localize.projects}</a> /
{if $project && $validproject}
<a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$project}</a>
{if $action && $validaction}
- / {$action}
+ / {$localize.$action}
{/if}
{if $enablesearch}
<form method="get" action="index.php" enctype="application/x-www-form-urlencoded">
@@ -37,13 +38,18 @@
<input type="hidden" name="a" value="search" />
<input type ="hidden" name="h" value="{if $currentsearchhash}{$currentsearchhash}{else}HEAD{/if}" />
<select name="st">
- <option {if $currentsearchtype == 'commit'}selected="selected"{/if} value="commit">commit</option>
- <option {if $currentsearchtype == 'author'}selected="selected"{/if} value="author">author</option>
- <option {if $currentsearchtype == 'committer'}selected="selected"{/if} value="committer">committer</option>
+ {* i18n: commit = commit *}
+ <option {if $currentsearchtype == 'commit'}selected="selected"{/if} value="commit">{$localize.commit}</option>
+ {* i18n: author = author *}
+ <option {if $currentsearchtype == 'author'}selected="selected"{/if} value="author">{$localize.author}</option>
+ {* i18n: committer = committer *}
+ <option {if $currentsearchtype == 'committer'}selected="selected"{/if} value="committer">{$localize.committer}</option>
{if $filesearch}
- <option {if $currentsearchtype == 'file'}selected="selected"{/if} value="file">file</option>
+ {* i18n: file = file *}
+ <option {if $currentsearchtype == 'file'}selected="selected"{/if} value="file">{$localize.file}</option>
{/if}
- </select> search: <input type="text" name="s" {if $currentsearch}value="{$currentsearch}"{/if} />
+ {* i18n: search = search *}
+ </select> {$localize.search}: <input type="text" name="s" {if $currentsearch}value="{$currentsearch}"{/if} />
</div>
</form>
{/if}
--- a/templates/heads.tpl
+++ b/templates/heads.tpl
@@ -1,5 +1,5 @@
{*
- * heads_nav.tpl
+ * heads.tpl
* gitphp: A PHP git repository browser
* Component: Head view template
*
@@ -10,7 +10,13 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">{$localize.tree}</a>
<br /><br />
</div>
<div>
@@ -22,7 +28,10 @@
<tr class="{cycle values="light,dark"}">
<td><i>{$head.age}</i></td>
<td><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$head.name}" class="list"><b>{$head.name}</b></a></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$head.name}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/heads/{$head.name}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h=refs/heads/{$head.name}&hb={$head.name}">tree</a></td>
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$head.name}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/heads/{$head.name}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h=refs/heads/{$head.name}&hb={$head.name}">{$localize.tree}</a></td>
</tr>
{/foreach}
</table>
--- a/templates/history.tpl
+++ b/templates/history.tpl
@@ -10,7 +10,13 @@
{* Page header *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$tree}&hb={$hash}">{$localize.tree}</a>
<br /><br />
</div>
<div>
@@ -40,7 +46,11 @@
<td title="{$historylines[history].agestringage}"><i>{$historylines[history].agestringdate}</i></td>
<td><i>{$historylines[history].authorname}</i></td>
<td><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$historylines[history].commit}" class="list"><b>{$historylines[history].title}{if $historylines[history].commitref} <span class="tag">{$historylines[history].commitref}</span>{/if}</b></a></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$historylines[history].commit}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$historylines[history].commit}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=blob&hb={$historylines[history].commit}&f={$historylines[history].file}">blob</a>{if $historylines[history].blob && $historylines[history].blobparent} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$historylines[history].blob}&hp={$historylines[history].blobparent}&hb={$historylines[history].commit}&f={$historylines[history].file}">diff to current</a>{/if}
+ {* i18n: difftocurrent = diff to current *}
+ {* i18n: blob = blob *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$historylines[history].commit}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$historylines[history].commit}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=blob&hb={$historylines[history].commit}&f={$historylines[history].file}">{$localize.blob}</a>{if $historylines[history].blob && $historylines[history].blobparent} | <a href="{$SCRIPT_NAME}?p={$project}&a=blobdiff&h={$historylines[history].blob}&hp={$historylines[history].blobparent}&hb={$historylines[history].commit}&f={$historylines[history].file}">{$localize.difftocurrent}</a>{/if}
</td>
</tr>
{/section}
--- a/templates/log.tpl
+++ b/templates/log.tpl
@@ -10,24 +10,33 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">shortlog</a> | log | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$hash}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">{$localize.shortlog}</a> | {$localize.log} | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$hash}&hb={$hash}">{$localize.tree}</a>
<br />
+ {* i18n: HEAD = HEAD *}
{if ($hash != $head) || $page}
- <a href="{$SCRIPT_NAME}?p={$project}&a=log">HEAD</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.HEAD}</a>
{else}
- HEAD
+ {$localize.HEAD}
{/if}
⋅
+ {* i18n: prev = prev *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}&pg={$page-1}" accesskey="p" title="Alt-p">prev</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}&pg={$page-1}" accesskey="p" title="Alt-p">{$localize.prev}</a>
{else}
- prev
+ {$localize.prev}
{/if}
⋅
+ {* i18n: next = next *}
{if $revlistcount > 100}
- <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}&pg={$page+1}" accesskey="n" title="Alt-n">next</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}&pg={$page+1}" accesskey="n" title="Alt-n">{$localize.next}</a>
{else}
- next
+ {$localize.next}
{/if}
<br />
</div>
@@ -51,7 +60,10 @@
</div>
<div class="title_text">
<div class="log_link">
- <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[log].commit}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[log].commit}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[log].commit}&hb={$commitlines[log].commit}">tree</a>
+ {* i18n: tree = tree *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[log].commit}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[log].commit}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[log].commit}&hb={$commitlines[log].commit}">{$localize.tree}</a>
<br />
</div>
<i>{$commitlines[log].authorname} [{$commitlines[log].rfc2822}]</i><br />
--- a/templates/project.tpl
+++ b/templates/project.tpl
@@ -10,18 +10,28 @@
{* Nav *}
<div class="page_nav">
- summary | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ {$localize.summary} | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree">{$localize.tree}</a>
<br /><br />
</div>
<div class="title"> </div>
{* Project brief *}
<table cellspacing="0">
- <tr><td>description</td><td>{$description}</td></tr>
- <tr><td>owner</td><td>{$owner}</td></tr>
- <tr><td>last change</td><td>{$lastchange}</td></tr>
+ {* i18n: description = description *}
+ {* i18n: owner = owner *}
+ {* i18n: lastchange = last change *}
+ <tr><td>{$localize.description}</td><td>{$description}</td></tr>
+ <tr><td>{$localize.owner}</td><td>{$owner}</td></tr>
+ <tr><td>{$localize.lastchange}</td><td>{$lastchange}</td></tr>
</table>
<div>
- <a class="title" href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a>
+ {* i18n: shortlog = shortlog *}
+ <a class="title" href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a>
</div>
<table cellspacing="0">
{* Recent revisions *}
@@ -39,9 +49,13 @@
{if $revlist[rev].commitref}
<span class="tag">{$revlist[rev].commitref}</span>
{/if}
- </b>
+ </b></a>
</td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$revlist[rev].commit}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$revlist[rev].commit}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$revlist[rev].commit}&hb={$revlist[rev].commit}">tree</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$revlist[rev].commit}">snapshot</a></td>
+ {* i18n: snapshot = snapshot *}
+ {* i18n: tree = tree *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$revlist[rev].commit}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$revlist[rev].commit}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$revlist[rev].commit}&hb={$revlist[rev].commit}">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$revlist[rev].commit}">{$localize.snapshot}</a></td>
</tr>
{/if}
{/section}
@@ -49,7 +63,8 @@
{if $taglist}
{* Tags *}
<div>
- <a href="{$SCRIPT_NAME}?p={$project}&a=tags" class="title">tags</a>
+ {* i18n: tags = tags *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=tags" class="title">{$localize.tags}</a>
</div>
<table cellspacing="0">
{section name=tag max=17 loop=$taglist}
@@ -66,9 +81,13 @@
</td>
<td class="link">
{if $taglist[tag].type == "tag"}
- <a href="{$SCRIPT_NAME}?p={$project}&a=tag&h={$taglist[tag].id}">tag</a> |
+ {* i18n: tag = tag *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=tag&h={$taglist[tag].id}">{$localize.tag}</a> |
{/if}
- <a href="{$SCRIPT_NAME}?p={$project}&a={$taglist[tag].reftype}&h={$taglist[tag].refid}">{$taglist[tag].reftype}</a>{if $taglist[tag].reftype == "commit"} | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/tags/{$taglist[tag].name}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/tags/{$taglist[tag].name}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$taglist[tag].refid}">snapshot</a>{/if}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: snapshot = snapshot *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a={$taglist[tag].reftype}&h={$taglist[tag].refid}">{$taglist[tag].reftype_localized}</a>{if $taglist[tag].reftype == "commit"} | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/tags/{$taglist[tag].name}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/tags/{$taglist[tag].name}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$taglist[tag].refid}">{$localize.snapshot}</a>{/if}
</td>
{/if}
</tr>
@@ -78,7 +97,8 @@
{if $headlist}
{* Heads *}
<div>
- <a href="{$SCRIPT_NAME}?p={$project}&a=heads" class="title">heads</a>
+ {* i18n: heads = heads *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=heads" class="title">{$localize.heads}</a>
</div>
<table cellspacing="0">
{section name=head max=17 loop=$headlist}
@@ -88,7 +108,10 @@
{else}
<td><i>{$headlist[head].age}</i></td>
<td><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$headlist[head].name}" class="list"><b>{$headlist[head].name}</b></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$headlist[head].name}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/heads/{$headlist[head].name}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h=refs/heads/{$headlist[head].name}&hb={$headlist[head].name}">tree</a></td>
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/heads/{$headlist[head].name}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/heads/{$headlist[head].name}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h=refs/heads/{$headlist[head].name}&hb={$headlist[head].name}">{$localize.tree}</a></td>
{/if}
</tr>
{/section}
--- a/templates/projectlist.tpl
+++ b/templates/projectlist.tpl
@@ -17,27 +17,32 @@
<table cellspacing="0">
{* Header *}
<tr>
+ {* i18n: headerproject = Project *}
{if $order == "project"}
- <th>Project</th>
+ <th>{$localize.headerproject}</th>
{else}
- <th><a class="header" href="{$SCRIPT_NAME}?o=project">Project</a></th>
+ <th><a class="header" href="{$SCRIPT_NAME}?o=project">{$localize.headerproject}</a></th>
{/if}
+ {* i18n: headerdescription = Description *}
{if $order == "descr"}
- <th>Description</th>
+ <th>{$localize.headerdescription}</th>
{else}
- <th><a class="header" href="{$SCRIPT_NAME}?o=descr">Description</a></th>
+ <th><a class="header" href="{$SCRIPT_NAME}?o=descr">{$localize.headerdescription}</a></th>
{/if}
+ {* i18n: headerowner = Owner *}
{if $order == "owner"}
- <th>Owner</th>
+ <th>{$localize.headerowner}</th>
{else}
- <th><a class="header" href="{$SCRIPT_NAME}?o=owner">Owner</a></th>
+ <th><a class="header" href="{$SCRIPT_NAME}?o=owner">{$localize.headerowner}</a></th>
{/if}
+ {* i18n: headerlastchange = Last Change *}
{if $order == "age"}
- <th>Last Change</th>
+ <th>{$localize.headerlastchange}</th>
{else}
- <th><a class="header" href="{$SCRIPT_NAME}?o=age">Last Change</a></th>
+ <th><a class="header" href="{$SCRIPT_NAME}?o=age">{$localize.headerlastchange}</a></th>
{/if}
- <th>Actions</th>
+ {* i18n: headeractions = Actions *}
+ <th>{$localize.headeractions}</th>
</tr>
{if $categorizedprojects}
@@ -69,7 +74,12 @@
<i>{$plist[proj].age_string}</i>
{/if}
</td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=tree">tree</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=snapshot&h=HEAD">snapshot</a></td>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: snapshot = snapshot *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=tree">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$plist[proj].project}&a=snapshot&h=HEAD">{$localize.snapshot}</a></td>
</tr>
{/section}
{/foreach}
@@ -93,7 +103,12 @@
<i>{$projects[proj].age_string}</i>
{/if}
</td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=tree">tree</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=snapshot&h=HEAD">snapshot</a></td>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: snapshot = snapshot *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=tree">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$projects[proj].project}&a=snapshot&h=HEAD">{$localize.snapshot}</a></td>
</tr>
{/section}
--- a/templates/search.tpl
+++ b/templates/search.tpl
@@ -10,24 +10,33 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treehash}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treehash}&hb={$hash}">{$localize.tree}</a>
<br />
+ {* i18n: first = first *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}">first</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}">{$localize.first}</a>
{else}
- first
+ {$localize.first}
{/if}
⋅
+ {* i18n: prev = prev *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}{if $page > 1}&pg={$page-1}{/if}" accesskey="p" title="Alt-p">prev</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}{if $page > 1}&pg={$page-1}{/if}" accesskey="p" title="Alt-p">{$localize.prev}</a>
{else}
- prev
+ {$localize.prev}
{/if}
⋅
+ {* i18n: next = next *}
{if $revlistcount > 100}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" accesskey="n" title="Alt-n">next</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" accesskey="n" title="Alt-n">{$localize.next}</a>
{else}
- next
+ {$localize.next}
{/if}
<br />
</div>
@@ -40,19 +49,24 @@
<tr class="{cycle values="light,dark"}">
<td title="{$commitlines[match].agestringage}"><i>{$commitlines[match].agestringdate}</i></td>
<td><i>{$commitlines[match].authorname}</i></td>
- <td><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[match].commit}" class="list" {if $title}title="{$commitlines[match].title}"{/if}><b>{$commitlines[match].title_short}</b>
+ <td><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[match].commit}" class="list" {if $title}title="{$commitlines[match].title}"{/if}><b>{$commitlines[match].title_short}</b></a>
{foreach from=$commitlines[match].matches item=line name=match}
{if $smarty.foreach.match.first}<br />{/if}{$line}<br />
{/foreach}
</td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[match].commit}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[match].commit}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[match].committree}&hb={$commitlines[match].commit}">tree</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$commitlines[match].commit}">snapshot</a>
+ {* i18n: snapshot = snapshot *}
+ {* i18n: tree = tree *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[match].commit}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[match].commit}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[match].committree}&hb={$commitlines[match].commit}">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$commitlines[match].commit}">{$localize.snapshot}</a>
</td>
</tr>
{/section}
{if $revlistcount > 100}
<tr>
- <td><a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" title="Alt-n">next</a></td>
+ {* i18n: next = next *}
+ <td><a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" title="Alt-n">{$localize.next}</a></td>
</tr>
{/if}
</table>
--- a/templates/searchfiles.tpl
+++ b/templates/searchfiles.tpl
@@ -10,24 +10,33 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treehash}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treehash}&hb={$hash}">{$localize.tree}</a>
<br />
+ {* i18n: first = first *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}">first</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}">{$localize.first}</a>
{else}
- first
+ {$localize.first}
{/if}
⋅
+ {* i18n: prev = prev *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}{if $page > 1}&pg={$page-1}{/if}" accesskey="p" title="Alt-p">prev</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}{if $page > 1}&pg={$page-1}{/if}" accesskey="p" title="Alt-p">{$localize.prev}</a>
{else}
- prev
+ {$localize.prev}
{/if}
⋅
+ {* i18n: next = next *}
{if $filesearchcount > 100}
- <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" accesskey="n" title="Alt-n">next</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" accesskey="n" title="Alt-n">{$localize.next}</a>
{else}
- next
+ {$localize.next}
{/if}
<br />
</div>
@@ -50,9 +59,12 @@
</td>
<td class="link">
{if $filesearchlines[match].tree}
- <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$filesearchlines[match].hash}&hb={$hash}&f={$filesearchlines[match].file}">tree</a>
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$filesearchlines[match].hash}&hb={$hash}&f={$filesearchlines[match].file}">{$localize.tree}</a>
{else}
- <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$filesearchlines[match].hash}&hb={$hash}&f={$filesearchlines[match].file}">blob</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$filesearchlines[match].file}">history</a>
+ {* i18n: blob = blob *}
+ {* i18n: history = history *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$filesearchlines[match].hash}&hb={$hash}&f={$filesearchlines[match].file}">{$localize.blob}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hash}&f={$filesearchlines[match].file}">{$localize.history}</a>
{/if}
</td>
</tr>
@@ -60,7 +72,8 @@
{if $filesearchcount > 100}
<tr>
- <td><a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" title="Alt-n">next</a></td>
+ {* i18n: next = next *}
+ <td><a href="{$SCRIPT_NAME}?p={$project}&a=search&h={$hash}&s={$search}&st={$searchtype}&pg={$page+1}" title="Alt-n">{$localize.next}</a></td>
</tr>
{/if}
</table>
--- a/templates/shortlog.tpl
+++ b/templates/shortlog.tpl
@@ -10,24 +10,33 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | shortlog | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$hash}&hb={$hash}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | {$localize.shortlog} | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hash}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hash}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hash}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$hash}&hb={$hash}">{$localize.tree}</a>
<br />
+ {* i18n: HEAD = HEAD *}
{if ($hash != $head) || $page}
- <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">HEAD</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.HEAD}</a>
{else}
- HEAD
+ {$localize.HEAD}
{/if}
⋅
+ {* i18n: prev = prev *}
{if $page > 0}
- <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page-1}" accesskey="p" title="Alt-p">prev</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page-1}" accesskey="p" title="Alt-p">{$localize.prev}</a>
{else}
- prev
+ {$localize.prev}
{/if}
⋅
+ {* i18n: next = next *}
{if $revlistcount > 100}
- <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page+1}" accesskey="n" title="Alt-n">next</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page+1}" accesskey="n" title="Alt-n">{$localize.next}</a>
{else}
- next
+ {$localize.next}
{/if}
<br />
</div>
@@ -45,16 +54,21 @@
{if $commitlines[log].commitref}
<span class="tag">{$commitlines[log].commitref}</span>
{/if}
- </b>
+ </b></a>
</td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[log].commit}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[log].commit}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[log].commit}&hb={$commitlines[log].commit}">tree</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$commitlines[log].commit}">snapshot</a>
+ {* i18n: snapshot = snapshot *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$commitlines[log].commit}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$commitlines[log].commit}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$commitlines[log].commit}&hb={$commitlines[log].commit}">{$localize.tree}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$commitlines[log].commit}">{$localize.snapshot}</a>
</td>
</tr>
{/section}
{if $revlistcount > 100}
<tr>
- <td><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page+1}" title="Alt-n">next</a></td>
+ {* i18n: next = next *}
+ <td><a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hash}&pg={$page+1}" title="Alt-n">{$localize.next}</a></td>
</tr>
{/if}
</table>
--- a/templates/tag.tpl
+++ b/templates/tag.tpl
@@ -10,7 +10,13 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">{$localize.tree}</a>
<br /><br />
</div>
{* Tag data *}
@@ -20,13 +26,15 @@
<div class="title_text">
<table cellspacing="0">
<tr>
- <td>object</td>
+ {* i18n: object = object *}
+ <td>{$localize.object}</td>
<td class="monospace"><a href="{$SCRIPT_NAME}?p={$project}&a={$tag.type}&h={$tag.object}" class="list">{$tag.object}</a></td>
- <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a={$tag.type}&h={$tag.object}">{$tag.type}</a></td>
+ <td class="link"><a href="{$SCRIPT_NAME}?p={$project}&a={$tag.type}&h={$tag.object}">{$tag.type_localized}</a></td>
</tr>
{if $tag.author}
<tr>
- <td>author</td>
+ {* i18n: author = author *}
+ <td>{$localize.author}</td>
<td>{$tag.author}</td>
</tr>
<tr>
--- a/templates/tags.tpl
+++ b/templates/tags.tpl
@@ -10,7 +10,13 @@
{* Nav *}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">commitdiff</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">tree</a>
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$head}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$head}">{$localize.commitdiff}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=tree&hb={$head}">{$localize.tree}</a>
<br /><br />
</div>
<div>
@@ -29,11 +35,15 @@
</td>
<td class="link">
{if $taglist[tag].type == "tag"}
- <a href="{$SCRIPT_NAME}?p={$project}&a=tag&h={$taglist[tag].id}">tag</a> |
+ {* i18n: tag = tag *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=tag&h={$taglist[tag].id}">{$localize.tag}</a> |
{/if}
- <a href="{$SCRIPT_NAME}?p={$project}&a={$taglist[tag].reftype}&h={$taglist[tag].refid}">{$taglist[tag].reftype}</a>
+ <a href="{$SCRIPT_NAME}?p={$project}&a={$taglist[tag].reftype}&h={$taglist[tag].refid}">{$taglist[tag].reftype_localized}</a>
{if $taglist[tag].reftype == "commit"}
- | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/tags/{$taglist[tag].name}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/tags/{$taglist[tag].name}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$taglist[tag].refid}">snapshot</a>
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: snapshot = snapshot *}
+ | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h=refs/tags/{$taglist[tag].name}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h=refs/tags/{$taglist[tag].name}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=snapshot&h={$taglist[tag].refid}">{$localize.snapshot}</a>
{/if}
</td>
</tr>
--- a/templates/tree.tpl
+++ b/templates/tree.tpl
@@ -11,7 +11,13 @@
{* Nav *}
{if $fullnav}
<div class="page_nav">
- <a href="{$SCRIPT_NAME}?p={$project}&a=summary">summary</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hashbase}">shortlog</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hashbase}">log</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">commit</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">commitdiff</a> | tree<br /><br />
+ {* i18n: summary = summary *}
+ {* i18n: shortlog = shortlog *}
+ {* i18n: log = log *}
+ {* i18n: commit = commit *}
+ {* i18n: commitdiff = commitdiff *}
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=summary">{$localize.summary}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=shortlog&h={$hashbase}">{$localize.shortlog}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=log&h={$hashbase}">{$localize.log}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}">{$localize.commit}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=commitdiff&h={$hashbase}">{$localize.commitdiff}</a> | {$localize.tree}<br /><br />
</div>
<div>
<a href="{$SCRIPT_NAME}?p={$project}&a=commit&h={$hashbase}" class="title">{$title}
@@ -44,14 +50,17 @@
<a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}" class="list">{$treelines[tree].name}</a>
</td>
<td class="link">
- <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}">blob</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hashbase}&f={if $base}{$base}{/if}{$treelines[tree].name}">history</a>
+ {* i18n: blob = blob *}
+ {* i18n: history = history *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=blob&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}">{$localize.blob}</a> | <a href="{$SCRIPT_NAME}?p={$project}&a=history&h={$hashbase}&f={if $base}{$base}{/if}{$treelines[tree].name}">{$localize.history}</a>
</td>
{elseif $treelines[tree].type == "tree"}
<td class="list">
<a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}">{$treelines[tree].name}</a>
</td>
<td class="link">
- <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}">tree</a>
+ {* i18n: tree = tree *}
+ <a href="{$SCRIPT_NAME}?p={$project}&a=tree&h={$treelines[tree].hash}{if $hashbase}&hb={$hashbase}{/if}&f={if $base}{$base}{/if}{$treelines[tree].name}">{$localize.tree}</a>
</td>
{/if}
</tr>