From 3a5cb76191114820c36d00ce79bec432dafd629c Mon Sep 17 00:00:00 2001 From: Andrew McMillan Date: Sun, 5 Nov 2006 22:27:37 +1300 Subject: [PATCH] Apply the i18n framework in various places. --- inc/RSCDSUser.php | 49 +++++++++++++++++++++------------------- inc/always.php | 19 +++++++++++----- inc/interactive-page.php | 10 ++++---- inc/page-header.php | 10 ++++---- 4 files changed, 49 insertions(+), 39 deletions(-) diff --git a/inc/RSCDSUser.php b/inc/RSCDSUser.php index 15d20f70..271c0fc4 100644 --- a/inc/RSCDSUser.php +++ b/inc/RSCDSUser.php @@ -65,7 +65,7 @@ class RSCDSUser extends User if ( $ef->EditMode ) { $html .= ''; $html .= $ef->EndForm(); } @@ -79,19 +79,21 @@ class RSCDSUser extends User * * @return string The string of html to be output */ - function RenderRelationshipsFrom( $ef, $title = "Relationships from this user" ) { + function RenderRelationshipsFrom( $ef, $title = null ) { global $session, $c; + if ( $title == null ) $title = i18n("Relationships from this user"); + $browser = new Browser(""); $browser->AddHidden( 'user_link', "'' || fullname || ''" ); - $browser->AddColumn( 'rt_name', 'Relationship' ); - $browser->AddColumn( 'fullname', 'Linked To', 'left', '##user_link##' ); + $browser->AddColumn( 'rt_name', translate('Relationship') ); + $browser->AddColumn( 'fullname', translate('Linked To'), 'left', '##user_link##' ); // $browser->AddColumn( 'is_group', 'Group?', 'centre', '', "CASE WHEN rt_isgroup THEN 'Yes' ELSE 'No' END" ); - $browser->AddHidden( 'confers', 'Confers' ); - $browser->AddColumn( 'email', 'EMail' ); + $browser->AddHidden( 'confers', translate('Confers') ); + $browser->AddColumn( 'email', translate('EMail') ); if ( $ef->EditMode ) { // && $session->AllowedTo("MaintainRelationships") ) { - $browser->AddColumn( 'delete', 'Delete', 'centre', '', "'user_no&action=delete_relationship&to_user=' || user_no || '\">Delete'" ); + $browser->AddColumn( 'delete', translate('Delete'), 'centre', '', "'user_no&action=delete_relationship&to_user=' || user_no || '\">Delete'" ); } $browser->SetJoins( 'relationship NATURAL JOIN relationship_type rt LEFT JOIN usr ON (to_user = user_no)' ); @@ -103,7 +105,7 @@ class RSCDSUser extends User else $browser->AddOrder( 'rt_name', 'A' ); - $browser->RowFormat( "\n", "\n", '#even' ); + $browser->RowFormat( "\n", "\n", '#even' ); $browser->DoQuery(); /** @@ -124,13 +126,13 @@ SELECT user_no, fullname FROM usr $group_target EOSQL; $person_selection = $ef->DataEntryField( "", "lookup", "relate_to", - array("title" => "Select the user, resource or group to relate this user to", + array("title" => translate("Select the user, resource or group to relate this user to"), "_null" => "--- select a user ".( isset($this->roles['Group Target']) ? '' : ', group ' ).'or resource ---', "_sql" => $sql ) ); $group_target = ( isset($this->roles['Group Target']) ? 'WHERE NOT rt_isgroup' : '' ); $relationship_type_selection = $ef->DataEntryField( "", "lookup", "relate_as", - array("title" => "Select the type of relationship from this user", + array("title" => translate("Select the type of relationship from this user"), "_null" => "--- select a relationship type ---", "_sql" => "SELECT rt_id, rt_name FROM relationship_type $group_target " ) ); @@ -141,7 +143,7 @@ EOSQL; ) ); } - $html = ( $title == "" ? "" : $ef->BreakLine($title) ); + $html = translate(( $title == "" ? "" : $ef->BreakLine($title) )); $html .= " \n"; $html .= $browser->Render(); $html .= "\n"; @@ -154,17 +156,18 @@ EOSQL; * * @return string The string of html to be output */ - function RenderRelationshipsTo( $ef, $title = "Relationships to this user" ) { + function RenderRelationshipsTo( $ef, $title = null ) { global $session, $c; + if ( $title == null ) $title = i18n("Relationships to this user"); $browser = new Browser(""); $browser->AddHidden( 'user_link', "'' || fullname || ''" ); - $browser->AddColumn( 'fullname', 'Linked From', 'left', '##user_link##' ); - $browser->AddColumn( 'rt_name', 'Relationship' ); - $browser->AddColumn( 'is_group', 'Group?', 'centre', '', "CASE WHEN rt_isgroup THEN 'Yes' ELSE 'No' END" ); - $browser->AddHidden( 'confers', 'Confers' ); - $browser->AddColumn( 'email', 'EMail' ); + $browser->AddColumn( 'fullname', translate('Linked From'), 'left', '##user_link##' ); + $browser->AddColumn( 'rt_name', translate('Relationship') ); + $browser->AddColumn( 'is_group', translate('Group?'), 'centre', '', "CASE WHEN rt_isgroup THEN 'Yes' ELSE 'No' END" ); + $browser->AddHidden( 'confers', translate('Confers') ); + $browser->AddColumn( 'email', translate('EMail') ); $browser->SetJoins( 'relationship NATURAL JOIN relationship_type rt LEFT JOIN usr ON (from_user = user_no)' ); $browser->SetWhere( "to_user = $this->user_no" ); @@ -175,10 +178,10 @@ EOSQL; else $browser->AddOrder( 'rt_name', 'A' ); - $browser->RowFormat( "\n", "\n", '#even' ); + $browser->RowFormat( "\n", "\n", '#even' ); $browser->DoQuery(); - $html = ( $title == "" ? "" : $ef->BreakLine($title) ); + $html = translate( $title == "" ? "" : $ef->BreakLine($title) ); $html .= " \n"; $html .= $browser->Render(); $html .= "\n"; @@ -210,10 +213,10 @@ EOSQL; dbg_error_log("User",":HandleAction: Deleting relationship from %d to %d", $this->user_no, $_GET['to_user'] ); $qry = new PgQuery("DELETE FROM relationship WHERE from_user=? AND to_user=?;", $this->user_no, $_GET['to_user'] ); if ( $qry->Exec() ) { - $c->messages[] = "Relationship deleted"; + $c->messages[] = i18n("Relationship deleted"); } else { - $c->messages[] = "There was an error writing to the database."; + $c->messages[] = i18n("There was an error writing to the database."); return false; } } @@ -236,10 +239,10 @@ EOSQL; dbg_error_log("User",":Write: Adding relationship as %d to %d", $_POST['relate_as'], isset($_POST['relate_to'] ) ); $qry = new PgQuery("INSERT INTO relationship (from_user, to_user, rt_id ) VALUES( $this->user_no, ?, ? )", $_POST['relate_to'], $_POST['relate_as'] ); if ( $qry->Exec() ) { - $c->messages[] = "Relationship added."; + $c->messages[] = i18n("Relationship added."); } else { - $c->messages[] = "There was an error writing to the database."; + $c->messages[] = i18n("There was an error writing to the database."); return false; } } diff --git a/inc/always.php b/inc/always.php index 299c6796..029c9c59 100644 --- a/inc/always.php +++ b/inc/always.php @@ -18,19 +18,16 @@ $c->images = "/images"; $c->save_time_zone_defs = 1; $c->stylesheets = array( "/rscds.css" ); $c->collections_always_exist = true; +$c->default_locale = array('es_MX', 'es_MX.UTF-8', 'es'); +$c->base_directory = preg_replace("#/[^/]*$#", "", $_SERVER['DOCUMENT_ROOT']); // Kind of private configuration values $c->total_query_time = 0; -$c->dbg = array( ); +$c->dbg = array( "i18n" => 1 ); require_once("AWLUtilities.php"); -// Internationalisation framework -require_once("Translation.php"); -init_gettext( 'rscds', '../locale' ); - - /** * Calculate the simplest form of reference to this page, excluding the PATH_INFO following the script name. */ @@ -45,6 +42,10 @@ $c->protocol_server_port_script = sprintf( "%s://%s%s%s", (isset($_SERVER['HTTPS dbg_error_log( "LOG", "==========> method =%s= =%s= =%s=", $_SERVER['REQUEST_METHOD'], $c->protocol_server_port_script, $_SERVER['PATH_INFO']); +// Internationalisation framework +require_once("Translation.php"); +init_gettext( 'rscds', $c->base_directory.'/locale' ); + if ( file_exists("/etc/rscds/".$_SERVER['SERVER_NAME']."-conf.php") ) { include_once("/etc/rscds/".$_SERVER['SERVER_NAME']."-conf.php"); } @@ -56,6 +57,12 @@ else { exit; } +/** +* Now that we have loaded the configuration file we can switch to a +* default site locale. This may be overridden by each user. +*/ +awl_set_locale($c->default_locale); + /** * Figure our version from the changelog */ diff --git a/inc/interactive-page.php b/inc/interactive-page.php index 69b13d4e..9b744e8b 100644 --- a/inc/interactive-page.php +++ b/inc/interactive-page.php @@ -1,16 +1,16 @@ AddOption("Home","/","Browse all users", false, 3900 ); -$page_menu->AddOption("Help","/help.php","Help on something or other", false, 4500 ); -$page_menu->AddOption("Logout","/?logout","Log out of the $c->system_name", false, 5400 ); -$page_menu->AddOption("Report Bug","http://sourceforge.net/tracker/?func=add&group_id=179845&atid=890785","Report a bug in the system", false, 9000 ); +$page_menu->AddOption(translate("Home"),"/",translate("Browse all users"), false, 3900 ); +$page_menu->AddOption(translate("Help"),"/help.php",translate("Help on something or other"), false, 4500 ); +$page_menu->AddOption(translate("Logout"),"/?logout",translate("Log out of the").$c->system_name, false, 5400 ); +$page_menu->AddOption(translate("Report Bug"),"http://sourceforge.net/tracker/?func=add&group_id=179845&atid=890785",translate("Report a bug in the system"), false, 9000 ); $relationship_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); $user_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); // $role_menu = new MenuSet('submenu', 'submenu', 'submenu_active'); -$user_menu->AddOption("My Details","/user.php?user_no=$session->user_no","View my own user record", false, 700); +$user_menu->AddOption(translate("My Details"),"/user.php?user_no=$session->user_no",translate("View my own user record"), false, 700); $active_menu_pattern = '#^/(index.*)?$#' ?> \ No newline at end of file diff --git a/inc/page-header.php b/inc/page-header.php index 365f275b..9912d197 100644 --- a/inc/page-header.php +++ b/inc/page-header.php @@ -1,7 +1,7 @@ title) ) { - $c->title = "Really Simple CalDAV Store"; + $c->title = translate("Really Simple CalDAV Store"); } function make_help_link($matches) @@ -21,7 +21,7 @@ function make_help_link($matches) else { $display_url = "help"; } - return " [$display_url] "; + return " [$display_url] "; } @@ -65,8 +65,8 @@ EOHDR; echo "
\n"; if ( isset($page_menu) && is_object($page_menu) ) { - $page_menu->AddSubMenu( $relationship_menu, "Relationships", "/relationship_types.php", "Browse all relationship types", false, 4050 ); - $page_menu->AddSubMenu( $user_menu, "Users", "/users.php", "Browse all users", false, 4100 ); + $page_menu->AddSubMenu( $relationship_menu, translate("Relationships"), "/relationship_types.php", translate("Browse all relationship types"), false, 4050 ); + $page_menu->AddSubMenu( $user_menu, translate("Users"), "/users.php", translate("Browse all users"), false, 4100 ); // $page_menu->AddSubMenu( $role_menu, "Roles", "/roles.php", "Browse all roles", false, 4300 ); $page_menu->MakeSomethingActive($active_menu_pattern); echo $page_menu->Render(); @@ -78,7 +78,7 @@ EOHDR; echo "
    \n"; foreach( $c->messages AS $i => $msg ) { // ##HelpTextKey## gets converted to a "/help.phph=HelpTextKey" link - $msg = preg_replace_callback("/##([^#]+)##/", "make_help_link", $msg); + $msg = preg_replace_callback("/##([^#]+)##/", "make_help_link", translate($msg)); echo "
  • $msg
  • \n"; } echo "
\n
\n";