Project

General

Profile

Feature #613

Multilingual issues

Added by Vasily Bezruchkin over 4 years ago. Updated 7 months ago.

Status:
Rejected
Priority:
Urgent
Assignee:
Category:
Core
Target version:
Start date:
January 24, 2013
Due date:
% Done:

100%


Description

I write to you because i find something that it would be better to adjust to next releases.
When i create a multilanguage site with subrion let's say english and greek what happends:

When i am on english language the is "en" on source code, when i change language and go to greek language the source code don't became but stay the same . Please try to fix this issue for every language, because subrion is really nice cms.

You could optimize and the Meta-description & Meta-keywords for different languages, it will be very nice and the seo will rock, every language will have differents meta tags.

A last thing, i try to write an article with greek letters, but in the source code the greek letters appears like this:
" ?? ????? ? ????, ?? ??? ? ???? ? ?? ? ????!
"

I have try to insert the default iso charset for pages in iso-8859-7 but i had the same result.
By the way my mysql is on utf-8_general_ci
Did you have any solution for this? I make any mistake?
What di you think about the first propose? it's a good idea? Subrion the perfect myltilanguage cms :)

Initial request: TICKET ID EYC-302-27229

History

#1 Updated by Vasily Bezruchkin over 4 years ago

  • Description updated (diff)

#2 Updated by Vasily Bezruchkin over 4 years ago

  • Target version changed from 4.5.0 to 2.3.7

#3 Updated by Vasily Bezruchkin over 4 years ago

  • Target version changed from 2.3.7 to 3.1.8

#4 Updated by Vasily Bezruchkin about 3 years ago

  • Target version changed from 3.1.8 to 110

#5 Updated by Vasily Bezruchkin about 3 years ago

  • Target version changed from 110 to 3.2.7

#6 Updated by Vasily Bezruchkin over 2 years ago

  • Target version changed from 3.2.7 to 4.4.0

#7 Updated by j b about 1 year ago

Meta-description & Meta-keywords for different languages:
one of the ways

1. admin\pages.php

rows 78-79

$pageKeywords = $this->_iaDb->keyvalue(array('key', 'value'), "`key` LIKE('page_keyword_%') AND `category` = 'page' AND `code` = '$currentLanguage'");
$pageDescriptions = $this->_iaDb->keyvalue(array('key', 'value'), "`key` LIKE('page_description_%') AND `category` = 'page' AND `code` = '$currentLanguage'");

rows 88-89

$entry['keyword'] = isset($pageKeywords["page_keyword_{$entry['name']}"]) ? $pageKeywords["page_keyword_{$entry['name']}"] : 'No keywords';
$entry['description'] = isset($pageDescriptions["page_description_{$entry['name']}"]) ? $pageDescriptions["page_description_{$entry['name']}"] : 'No description';

rows 105-106

// $entry['meta_description'] = utf8_is_valid($data['meta_description']) ? $data['meta_description'] : utf8_bad_replace($data['meta_description']);
// $entry['meta_keywords'] = utf8_is_valid($data['meta_keywords']) ? $data['meta_keywords'] : utf8_bad_replace($data['meta_keywords']);

row 277

foreach (array('title', 'content', 'keyword', 'description') as $type)

row 312

$this->_iaDb->delete("`key` IN ('page_title_{$pageName}', 'page_content_{$pageName}', 'page_keyword_{$pageName}', 'page_description_{$pageName}')", iaLanguage::getTable());

row 325

if (isset($_POST['titles']) && isset($_POST['contents']) && isset($_POST['keywords']) && isset($_POST['descriptions']))

rows 329-330

$entryData['keywords'] = $_POST['keywords'];
$entryData['descriptions'] = $_POST['descriptions'];

rows 337-338

$entryData['keywords'] = $this->_iaDb->keyvalue(array('code', 'value'), "`key` = 'page_keyword_{$entryData['name']}' AND `category` = 'page'");
$entryData['descriptions'] = $this->_iaDb->keyvalue(array('code', 'value'), "`key` = 'page_description_{$entryData['name']}' AND `category` = 'page'");

2. admin\templates\default\pages.tpl

remove rows 169-190

<div class="wrap-group js-local-url-field">
    <div class="wrap-group-heading">
        <h4>{lang key='seo'}</h4>
    </div>

    <div class="row">
        <label class="col col-lg-2 control-label">{lang key='meta_description'}</label>

        <div class="col col-lg-4">
            <textarea name="meta_description" rows="2">{$item.meta_description|escape:'html'}</textarea>
        </div>
    </div>

    <div class="row">
        <label class="col col-lg-2 control-label">{lang key='meta_keywords'}</label>

        <div class="col col-lg-4">
            <input type="text" name="meta_keywords" value="{$item.meta_keywords|escape:'html'}">
        </div>
    </div>
</div>

insert rows 180-205

<div style="padding:15px;margin:-5px -14px 0px;background-color:#cbede7;"> 
<div class="row">
    <h4>{lang key='seo'}</h4>
</div>

<div class="row">
    <label class="col col-lg-2 control-label">{lang key='meta_description'}</label>
    <div class="col col-lg-10">
        <textarea style="height:4em" name="descriptions[{$code}]" rows="2">{if isset($item.descriptions.$code)}{$item.descriptions.$code|escape:'html'}{/if}</textarea>
    </div>
</div>

<div class="row">
    <label class="col col-lg-2 control-label">{lang key='meta_keywords'}</label>
    <div class="col col-lg-10">
        <input type="text" name="keywords[{$code}]" value="{if isset($item.keywords)}{$item.keywords.$code|escape:'html'}{/if}">
    </div>
</div>
</div>

<div class="row">
    <div class="block-heading"></div>
    <div class="block-heading">
        <h4>{lang key='pages_group_content'}</h4>
    </div>
</div>

3. templates\+ACTIVE-template+\layout.tpl
replace 2 meta - rows:

<meta name="description" content="{$core['page']['meta-description']}">
<meta name="keywords" content="{$core['page']['meta-keywords']}">

#8 Updated by j b about 1 year ago

+
4. includes\classes\ia.core.view.php

rows 1040-1041

$metaDescription = (empty($value) && iaLanguage::exists('page_description_' . $pageName))
    ? iaLanguage::get('page_description_' . $pageName)

rows 1047-1048

$metaKeywords = (empty($value) && iaLanguage::exists('page_keyword_' . $pageName))
    ? iaLanguage::get('page_keyword_' . $pageName)

#9 Updated by Vasily Bezruchkin 7 months ago

  • Assignee changed from Vasily Bezruchkin to Gleb Surinov
  • Target version changed from 4.4.0 to 4.1.0

#10 Updated by Gleb Surinov 7 months ago

  • Status changed from New to Rejected
  • % Done changed from 0 to 100

Rejecting...

Description:
Bugs with locales are fixed.
For multilingual Metas and keywords, please refer to: Feature #204

Also available in: Atom PDF