Changeset 2702

Show
Ignore:
Timestamp:
07/03/08 21:43:12 (17 months ago)
Author:
arvind
Message:

Initial work on eliminating the need to run make me:
* Moved language constants into MT::I18N frameork
* Replaced preprocessor directives with their I18N equivs or hardcode
* Removed the need for .pre files
* mt-wizard.cgi and mt-check.cgi now attempt to detect browser language using MT::Util::browser_language

Location:
branches/feature-no-make-me
Files:
3 added
3 removed
15 modified

Legend:

Unmodified
Added
Removed
  • branches/feature-no-make-me

    • Property svn:ignore
      •  

        old new  
        11mt-config.cgi 
        2 mt-check.cgi 
        32mt-config.cgi-original 
        43build-language-stamp 
  • branches/feature-no-make-me/lib

    • Property svn:ignore deleted
  • branches/feature-no-make-me/lib/MT/App/Wizard.pm

    r2609 r2702  
    1010use base qw( MT::App ); 
    1111 
    12 use MT::Util qw( trim ); 
     12use MT::Util qw( trim browser_language ); 
    1313 
    1414sub id { 'wizard' } 
     
    4343    $app->set_no_cache; 
    4444    $app->{requires_login} = 0; 
     45     
     46    my $default_lang = $app->param('default_language') || browser_language(); 
     47    $app->set_language($default_lang); 
    4548 
    4649    my $mode = $app->mode; 
     
    297300    $param{mt_static_exists} = $app->mt_static_exists; 
    298301    $param{static_file_path} = $static_file_path; 
     302       
     303    my $langs = $app->supported_languages; 
     304    my @languages; 
     305    my $curr_lang ||= $app->current_language || $app->config('DefaultLanguage'); 
     306    $curr_lang = 'en-us' if ( lc($curr_lang) eq 'en_us' ); 
     307    for my $tag ( keys %$langs ) { 
     308        ( my $name = $langs->{$tag} ) =~ s/\w+ English/English/; 
     309        my $row = { l_tag => $tag, l_name => $app->translate($name) }; 
     310        $row->{l_selected} = 1 if $curr_lang eq $tag; 
     311        push @languages, $row; 
     312    } 
     313    @languages = sort { $a->{l_name} cmp $b->{l_name} } @languages; 
     314    $param{languages} = \@languages; 
    299315 
    300316    return $app->build_page("start.tmpl", \%param); 
     
    333349    $param->{'wizard_steps'} = $steps; 
    334350    $param->{'step'} = $app->param('step'); 
     351    $param->{'default_language'} = $app->param('default_language'); 
    335352 
    336353    return $app->SUPER::build_page($tmpl, $param); 
  • branches/feature-no-make-me/lib/MT/I18N/default.pm

    r1524 r2702  
    2727sub DISPLAY_LENGTH_EDIT_ENTRY_TEXT_FROM_EXCERPT ()     { 50 } 
    2828sub DISPLAY_LENGTH_EDIT_ENTRY_TEXT_BREAK_UP ()         { 30 } 
     29 
     30sub PORTAL_URL()            { 'http://www.sixapart.com/movabletype/' } 
     31sub SUPPORT_URL()           { 'http://www.sixapart.com/movabletype/support/' } 
     32sub NEWS_URL()              { 'http://www.sixapart.com/movabletype/news/' } 
     33sub NEWSBOX_URL()           { 'http://www.sixapart.com/movabletype/news/mt4_news_widget.html' } 
     34sub LEARNINGNEWS_URL()      { 'http://learning.movabletype.org/newsbox.html' } 
     35sub CATEGORY_NAME_NODASH()  { 0 } 
     36sub DEFAULT_TIMEZONE()      { 0 } 
     37sub MAIL_ENCODING()         { 'ISO-8859-1' } 
     38sub LOG_EXPORT_ENCODING()   { '' } 
     39sub EXPORT_ENCODING()       { '' } 
     40sub PUBLISH_CHARSET()       { 'utf-8' } 
     41 
    2942 
    3043my $ENCODING_NAMES = [ 
  • branches/feature-no-make-me/lib/MT/I18N/ja.pm

    r1524 r2702  
    2929sub DISPLAY_LENGTH_EDIT_ENTRY_TEXT_FROM_EXCERPT ()     { 25 } 
    3030sub DISPLAY_LENGTH_EDIT_ENTRY_TEXT_BREAK_UP ()         { 30 } 
     31 
     32sub PORTAL_URL()            { 'http://www.sixapart.jp/movabletype/' } 
     33sub SUPPORT_URL()           { 'http://www.sixapart.jp/movabletype/support/' } 
     34sub NEWS_URL()              { 'http://www.sixapart.jp/movabletype/' } 
     35sub NEWSBOX_URL()           { 'http://www.sixapart.jp/movabletype/news/newsbox.html' } 
     36sub LEARNINGNEWS_URL()      { 'http://www.movabletype.jp/newsbox.html' } 
     37sub CATEGORY_NAME_NODASH()  { 1 } 
     38sub DEFAULT_TIMEZONE()      { 9 } 
     39sub MAIL_ENCODING()         { 'ISO-2022-JP' } 
     40sub LOG_EXPORT_ENCODING()   { 'Shift_JIS' } 
     41sub EXPORT_ENCODING()       { 'Shift_JIS' } 
     42sub PUBLISH_CHARSET()       { 'UTF-8' } 
    3143 
    3244my $ENCODING_NAMES = [ 
  • branches/feature-no-make-me/lib/MT/Util.pm

    r2548 r2702  
    2626                 epoch2ts ts2epoch escape_unicode unescape_unicode 
    2727                 sax_parser trim ltrim rtrim asset_cleanup caturl multi_iter 
    28                  weaken log_time ); 
     28                 weaken log_time browser_language ); 
    2929 
    3030{ 
     
    14511451$Languages{ja} = $Languages{jp}; 
    14521452 
     1453sub browser_language { 
     1454    my @browser_langs = $ENV{HTTP_ACCEPT_LANGUAGE} =~ m{ 
     1455        ( 
     1456                [a-z]{2}      # en 
     1457                (?:-[a-z]{2})?  # -us 
     1458        ) 
     1459        \s* 
     1460        (?: 
     1461                ; \s* q\s*=\s*  # ; q= 
     1462                (?:1|0\.[0-9]+)   # 0.xx or 1 
     1463        )? 
     1464    }xmsg; 
     1465    my $mt_langs = MT->supported_languages; 
     1466    foreach my $lang (@browser_langs) { 
     1467        if($mt_langs->{$lang}) { 
     1468            return $lang; 
     1469        } 
     1470         
     1471        $lang =~ m/(.*)-.*/s; 
     1472        if($mt_langs->{$1}) { 
     1473            return $1; 
     1474        } 
     1475    } 
     1476     
     1477    return 'en-us'; 
     1478} 
     1479 
    14531480sub launch_background_tasks { 
    14541481    return !($ENV{MOD_PERL} || $ENV{FAST_CGI} 
  • branches/feature-no-make-me/php

    • Property svn:ignore deleted
  • branches/feature-no-make-me/tmpl/wizard/blog.tmpl

    r1309 r2702  
    2323<input type="hidden" name="step" value="setup_blog" /> 
    2424<input type="hidden" name="set_static_uri_to" id="set_static_uri_to" value="<mt:var name="static_uri">" /> 
     25<input type="hidden" name="default_language" value="<mt:var name="default_language">" />     
    2526<input type="hidden" name="config" value="<mt:var name="config" escape="html">" /> 
    2627 
  • branches/feature-no-make-me/tmpl/wizard/cfg_dir.tmpl

    r1309 r2702  
    77<input type="hidden" name="step" value="cfg_dir" /> 
    88<input type="hidden" name="set_static_uri_to" id="set_static_uri_to" value="<mt:var name="static_uri">"> 
     9<input type="hidden" name="default_language" value="<mt:var name="default_language">" />     
    910<input type="hidden" name="config" value="<mt:var name="config" escape="html">" /> 
    1011 
  • branches/feature-no-make-me/tmpl/wizard/complete.tmpl

    r1461 r2702  
    3232<input type="hidden" name="config" value="<mt:var name="config" escape="html">" /> 
    3333<input type="hidden" name="set_static_uri_to" id="set_static_uri_to" value="<mt:var name=static_uri escape="html">"> 
     34<input type="hidden" name="default_language" value="<mt:var name="default_language">" />     
    3435 
    3536<mt:if name="file_not_found"> 
  • branches/feature-no-make-me/tmpl/wizard/configure.tmpl

    r2616 r2702  
    105105<input type="hidden" name="step" value="configure" /> 
    106106<input type="hidden" name="set_static_uri_to" id="set_static_uri_to" value="<mt:var name="static_uri">" /> 
     107<input type="hidden" name="default_language" value="<mt:var name="default_language">" />     
    107108<input type="hidden" name="config" value="<mt:var name="config" escape="html">" /> 
    108109 
  • branches/feature-no-make-me/tmpl/wizard/mt-config.tmpl

    r1678 r2702  
    4343SendMailPath <mt:var name="sendmail_path"></mt:if></mt:if></mt:if><mt:if name="temp_dir"> 
    4444 
    45 TempDir <mt:var name="temp_dir"></mt:if><mt:loop name="tmpl_loop"> 
     45TempDir <mt:var name="temp_dir"></mt:if><mt:if name="default_language"> 
     46     
     47DefaultLanguage <mt:var name="default_language"></mt:if><mt:loop name="tmpl_loop"> 
    4648 
    4749<mt:var name="tmpl_code"></mt:loop> 
  • branches/feature-no-make-me/tmpl/wizard/optional.tmpl

    r2484 r2702  
    66<input type="hidden" name="step" value="optional" /> 
    77<input type="hidden" name="set_static_uri_to" id="set_static_uri_to" value="<mt:var name="static_uri" escape="html">" /> 
     8<input type="hidden" name="default_language" value="<mt:var name="default_language">" />     
    89<input type="hidden" name="config" value="<mt:var name="config" escape="html">" /> 
    910 
  • branches/feature-no-make-me/tmpl/wizard/packages.tmpl

    r2484 r2702  
    4545<input type="hidden" name="config" value="<$mt:var name="config" escape="html"$>" /> 
    4646<input type="hidden" name="set_static_uri_to" value="<mt:var name="static_uri">" /> 
     47<input type="hidden" name="default_language" value="<mt:var name="default_language">" /> 
    4748 
    4849<mt:if name="missing_db"> 
  • branches/feature-no-make-me/tmpl/wizard/start.tmpl

    r2484 r2702  
    166166 
    167167    <p class="intro"><__trans phrase="This wizard will help you configure the basic settings needed to run Movable Type."></p> 
     168     
     169    <mtapp:setting 
     170                id="default_language" 
     171                label="<__trans phrase="Language">" 
     172                hint="<__trans phrase="Default language.">"> 
     173                <select name="default_language" id="default_language" class="se" onchange="changeLanguage(this.form);"><mt:loop name="languages"> 
     174                    <option value="<mt:var name="l_tag">"<mt:if name="l_selected"> selected="selected"</mt:if>><mt:var name="l_name"></option></mt:loop> 
     175                </select> 
     176            </mtapp:setting> 
    168177 
    169178    <mt:if name="uri_invalid">