Translator
==========

Simple, fast php page translation tool

This PHP class helps in creating the website translations.
The translated text can be stored in a file or database.
Simple to use and quick to learn.

Data Storing in text file:
(example - home.lang.php)

return  array(
	 'HOME' => array('hu' => 'Kezdőlap', 'en' => 'Home', 'ger' => 'Zuhause', 'fr' => 'Maison'), 
	 'WELCOME' => array('hu' => 'Köszöntöm!', 'en' => 'Welcome!', 'ger' => 'Willkommen!', 'fr' => 'Bienvenue!'), 
	 'GOODBYE' => array('hu' => 'Viszontlátásra!', 'en' => 'Goodbye!', 'ger' => 'Auf Wiedersehen!', 'fr' => 'Au revoir!'),
	 'HEADLINE' => array('hu' => 'PHP osztály - Fordító', 'en' => 'PHP class - Translate', 'ger' => 'PHP Klasse - Übersetzen', 'fr' => 'PHP class - Traduire'),
	 'MOREINFO' => array('hu' => 'További információ', 'en' => 'Learn more', 'ger' => 'Erfahren Sie mehr', 'fr' => 'En savoir plus')
	 );

Data Storing in database:
Create table in MSSQL

CREATE TABLE [dbo].[Languages](
	[id] [int] IDENTITY(1,1) NOT NULL, 	//required
	[exp] [nvarchar](64) NULL,			//required
	[en] [nvarchar](max) NULL,			//defined
	[hu] [nvarchar](max) NULL,			//defined
	[ger] [nvarchar](max) NULL,			//defined
	[fr] [nvarchar](max) NULL,			//defined
	[page] [nvarchar](64) NULL 			//required
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
Create table in MYSQL

CREATE TABLE `Languages` (
	`id` INT(11) NOT NULL AUTO_INCREMENT,									//required
	`exp` VARCHAR(64) NOT NULL DEFAULT '0' COLLATE 'utf8_hungarian_ci',		//required
	`en` VARCHAR(512) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',		//defined
	`hu` VARCHAR(512) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',		//defined
	`ger` VARCHAR(512) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',		//defined
	`fr` VARCHAR(512) NULL DEFAULT NULL COLLATE 'utf8_hungarian_ci',		//defined
	`page` VARCHAR(64) NOT NULL DEFAULT '0' COLLATE 'utf8_hungarian_ci',	//required
	PRIMARY KEY (`id`)
)
COLLATE='utf8_hungarian_ci'
ENGINE=InnoDB;
If you are require more language, add more defined column.
Using with text file:

  require_once('Translator.php');
  $T = Translator::GetInstance('home.lang.php', 'en'); //parameters: current page data, default language
  $T->SetLang('fr');					//selected language
  echo $T->('EXPRESSION');				//echo translated expression
  echo $T->('EXPRESSION', 'ger');			//echo translated expression with selected language
 
Using with database:

  require_once('Translator.php');
  //parameters: current page, default language, and database connection option
  $T = Translator::GetInstance('home', 'en', "mysql:host=server;dbname=database;charset=utf8", user, pass); 
  /*parameters: current page ,default language, and database connection option
  $T = Translator::GetInstance("sqlsrv:Server=server;Database=database", user, pass);
  */ 
  $T->SetLang('fr');					//selected language
  echo $T->('EXPRESSION');				//echo translated expression
  echo $T->('EXPRESSION', 'ger');			//echo translated expression with selected language
  
More functions adding in the nearest future...

Author: Tóth András