Share

phpArmory

The forum address has changed, you have been automatically redirected. Please update any bookmarks to use the new URL.

Subscribe

Multi Language suport

You are viewing a single message from this topic. View all messages.

  1. 2007-09-11 18:36:40 UTC
    I added some new changes o my class to make the class work with eu.wowarmory.com using Spanish, French or German language, and English UK too.

    First i use a new lang var

    /**
    * the language items get fetched
    * courtesy from flokohlert
    * @var de/en/fr/es
    */
    var $lang = "en";

    then

    new methods to choose the language

    /*
    *
    * setlang and getlang for multilanguage suport
    * en/de/es/fr/uk
    */
    function setlang($l) {
    switch($l)
    {
    case 'de':
    $this->lang = 'de';
    $this->armory = 'http://eu.wowarmory.com/';
    break;
    case 'es':
    $this->lang = 'es';
    $this->armory = 'http://eu.wowarmory.com/';
    break;

    case 'fr':
    $this->lang = 'fr';
    $this->armory = 'http://eu.wowarmory.com/';
    break;
    case 'uk':
    $this->lang = 'en';
    $this->armory = 'http://eu.wowarmory.com/';
    break;
    }

    }
    /*
    * GET LANG
    */
    function getlang(){
    return $this->lang;
    }


    And the itemNameFetch

    function itemnameFetch($itemNAME){

    // Fix for the "-" Minux character
    $itemNAME = str_replace("-", "+ ",$itemNAME);
    if ($lang != 'en')
    {
    // url encode and utf8 for öäëáéíãñ characters
    $itemNAME = urlencode(utf8_encode($itemNAME));
    }
    $url = $this->armory."search.xml?searchQuery=".str_replace(" ", "+",$itemNAME)."&searchType=items";
    //return $this->xmlToArray($this->xmlFetch($url));
    $item_ary = $this->xmlToArray($this->xmlFetch($url));
    $item_ary_value = $item_ary['armorysearch']['searchresults']['items']['item'];
    if (is_array($item_ary_value[0]))
    {
    foreach($item_ary_value as $x_item)
    {
    if (isset($x_item['name']))
    {
    if ($lang != 'en') //again decode the characters to check if item name exist
    {
    $x_item['name'] = utf8_decode($x_item['name']);
    $itemNAME = urldecode(utf8_decode($itemNAME));
    } //check if item name.
    if (strtoupper($x_item['name']) == strtoupper($itemNAME))
    $url = $this->armory."item-tooltip.xml?i=".$x_item['id'];
    }
    }
    }
    else
    $url = $this->armory."item-tooltip.xml?i=".$item_ary_value['id'];

    return $this->xmlToArray($this->xmlFetch($url));

    }


    for using the data
    if ($armory->getlang() != 'en')
    {
    $item['name'] = utf8_decode($item['name']);
    }

    with my mod for phbbb its working fine.
< Previous | 1 | Next >

Add a Reply

This forum does not allow anonymous participation.

Log in to add a reply. Not registered? Create an account to participate and receive email updates when replies are posted to this topic.