blob: e1abde969ea3e3085e8fd4a8bdcc043b2f3ae6b1 [file] [log] [blame]
<?php
/*******************************************************************************
* Copyright (c) 2007-2008 Eclipse Foundation and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Antoine Toulme, Intalio Inc. bug 248845: Refactoring generate1.php into different files with a functional approach
* Kit Lo (IBM) - patch, bug 261739, Inconsistent use of language names
* Kit Lo (IBM) - Beautify Babel Supported Languages table
*******************************************************************************/
class Language {
public $name = '';
public $iso = '';
public $locale = '';
public $id = '';
/**
* Default constructor
*/
function Language($name = '', $iso= '', $locale = '', $id = '') {
$this->name = $name;
$this->iso = $iso;
$this->locale = $locale;
$this->id = $id;
if (strcmp($iso, "en") == 0) {
$this->iso = "en_AA";
$this->name = "Pseudo Translations";
}
if ($locale != null) {
$this->name = $this->name . " (" . $this->locale . ")";
}
}
/**
* A constructor expecting an associative array as its unique parameter
*/
static function fromRow($row) {
return new Language($row['name'], $row['iso_code'], $row['locale'], $row['language_id']);
}
static function all() {
$langs = array();
$language_result = mysql_query("SELECT * FROM languages WHERE languages.is_active ORDER BY name, locale");
while (($language_row = mysql_fetch_assoc($language_result)) != null) {
$langs[] = Language::fromRow($language_row);
}
return $langs;
}
}