[refs #443] invite localization

This commit is contained in:
Alexander Machehin 2012-05-18 22:54:57 +06:00
parent 3a2dc965c9
commit aad7a3a547
11 changed files with 177 additions and 201 deletions

View File

@ -1,11 +1,20 @@
# -*- encoding : utf-8 -*- # -*- encoding : utf-8 -*-
class Users::RegisterRequestsController < ApplicationController class Users::RegisterRequestsController < ApplicationController
before_filter :user_choose_locale
layout 'invite'
def new def new
redirect_to '/invite.html' render :invite
end end
def create def create
RegisterRequest.create(params[:register_request]) RegisterRequest.create(params[:register_request])
redirect_to '/thanks.html' render :thanks
end
protected
def user_choose_locale
I18n.locale = params[:format] if User::LANGUAGES.include?(params[:format])
end end
end end

View File

@ -0,0 +1,22 @@
!!!
%html
%head
%meta{:content => "text/html; charset=utf-8", "http-equiv" => "Content-Type"}/
%title=t 'invites.title'
%script{:src => "http://html5shiv.googlecode.com/svn/trunk/html5.js", :type => "text/javascript"}
%link{:href => "/styles/prereg.css", :rel => "stylesheet", :type => "text/css"}/
%body
.wrap
= yield :nav if content_for?(:nav)
/ Top block
%header
.logo
.text=t 'invites.header'
.both
/ Page
%article
=yield
.both
/ Footer
%footer= render "layouts/menu/bottom"
= render 'layouts/counters' unless current_user.try(:admin?)

View File

@ -0,0 +1,44 @@
-content_for :nav do
%nav
-if I18n.locale == :ru
%a{:href => "#{new_register_request_path}.en"}
%p
English
%br>/
version
-elsif I18n.locale == :en
%a{:href => "#{new_register_request_path}.ru"}
%p
Русская
%br>/
версия
.left
%p
=raw t 'invites.description'
%div{:style => "clear: both;"}
.right
%h3=t 'invites.want'
%form#new_register_request{"accept-charset" => "UTF-8", :action => "/register_requests", :method => "post", :name => "invite_form"}
.signup-left=t 'invites.name'
.signup-right
%input#email.registartion-input-signup{:name => "register_request[name]", :onClick => "this.className='registartion-input-focus';disError(this);", :onblur => "if(this.value==''){this.value='';this.className='registartion-input-signup';}else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value=='#{t 'invites.login_email'}'){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();", :type => "text"}/
%div{:style => "clear: both;"}
.signup-left=t 'invites.email'
.signup-right
%input#email.registartion-input-signup{:name => "register_request[email]", :onClick => "this.className='registartion-input-focus';disError(this);", :onblur => "if(this.value==''){this.value='';this.className='registartion-input-signup';}else{this.className='registartion-input-no-focus';};buttonCheck();", :onfocus => "if(this.value=='#{t 'invites.login_email'}'){this.value='';this.className='registartion-input-focus';};", :onkeydown => "buttonCheck();", :type => "text"}/
%div{:style => "clear: both;"}
.signup-left=raw t 'invites.interest'
.signup-right
%select.registartion-input-signup{:name => "register_request[interest]"}
-t('invites.interests').each do |base, title|
%option=title
%div{:style => "clear: both;"}
.signup-left=t 'invites.comments'
.signup-right
%textarea.registartion-input-signup{:name => "register_request[more]", :rows => "3"}
%div{:style => "clear: both;"}
=hidden_field_tag :format, I18n.locale
.button
%input.button{:type => "submit", :value => t('invites.send')}
%div{:style => "clear: both;"}

View File

@ -0,0 +1,3 @@
.all
%p
%span{:style => "font-size: 28px;"}=raw t 'invites.thanks'

View File

@ -0,0 +1,29 @@
en:
invites:
title: ABF
header: 'A platform for distribution development and lifecycle management: from source code to ISO images.'
description: |
Welcome!<br><br>
On this page you can submit a request to participate in beta testing of ABF build service of ROSA company.<br><br>
In the first place we process requests from prospective maintainers and representatives of distribution teams.<br><br>
You can get detailed documentation <a class='last' href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">here</a>.<br><br>
We will be glad to answer your questions at the project <a class='last' href="http://forum.rosalab.ru/viewforum.php?f=10">here</a>.<br><br>
thanks: |
Thank You!<br><br>
We are glad that you have expressed interest in our ABF service!<br><br>
Your registration confirmation will be sent to the e-mail address you have specified in the registration form.<br><br>
We will be glad to get feedback and to answer your questions in our <a class='last' href="http://forum.rosalab.ru/viewforum.php?f=10">forum</a>.<br><br>
You can get detailed documentation <a class='last' href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">here</a>.
want: I want to become ABF beta-tester!
login_email: Login or email
name: 'First/Last name'
email: E-mail address
interest: Interest in the project
Comments: Comments
send: Send
interests:
evaluate: Evaluate ABF possibilities
maintainer: I want to become ROSA maintainer
build: I want to build a distribution using ABF

View File

@ -0,0 +1,30 @@
ru:
invites:
title: Сборочная среда
header: 'Платформа разработки и управления жизненным циклом дистрибутивов: от исходного кода до ISO-образов.'
description: |
Приветствуем Вас!<br><br>
Вы находитесь на странице размещения заявок на участие в бета-тестировании сборочного сервиса ABF компании РОСА.<br><br>
В первую очередь одобряются заявки от потенциальных майнтейнеров и представителей дистрибутивных команд.<br><br>
Ознакомиться с документацией можно <a class='last' href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">здесь</a>.<br><br>
Мы будем рады ответить на Ваши вопросы на <a class='last' href="http://forum.rosalab.ru/viewforum.php?f=10">форуме</a> проекта.
thanks: |
Спасибо!<br><br>
Благодарим за интерес к нашему сервису ABF!<br><br>
Приглашение будет выслано вам по указанной электронной почте.<br><br>
Приглашаем Вас на <a class='last' href="http://forum.rosalab.ru/viewforum.php?f=10">форум</a> проекта,
где мы будем рады ответить на Ваши вопросы и получить Ваши пожелания.<br><br>
Ознакомиться с документацией можно <a href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">здесь</a>.
want: Хочу стать бета-тестером ABF!
login_email: Логин или email
name: Имя, Фамилия
email: Электронная почта
interest: Степень интереса<br> к проекту
Comments: Также хочу сказать
send: Отправить
interests:
evaluate: Общеобразовательные цели
maintainer: Хочу стать майнтейнером РОСы
build: Хочу собрать в ABF дистрибутив

View File

@ -80,7 +80,7 @@ Rosa::Application.routes.draw do
resources :users, :controller => 'profile', :only => [] do resources :users, :controller => 'profile', :only => [] do
get :autocomplete_user_uname, :on => :collection get :autocomplete_user_uname, :on => :collection
end end
resources :register_requests, :only => [:new, :create] resources :register_requests, :only => [:new, :create], :format => /ru|en/ #view support only two languages
end end
scope :module => 'groups' do scope :module => 'groups' do

View File

@ -1,126 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Сборочная среда</title>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<link rel="stylesheet" type="text/css" href="styles/prereg.css" />
</head>
<body>
<div class="wrap">
<!--Top block-->
<header>
<div class="logo">
</div>
<div class="text">
Платформа разработки и управления жизненным циклом дистрибутивов: от исходного кода до ISO-образов
</div>
<div class="both">
</div>
</header>
<!--Page-->
<article>
<div class="left">
<p>
Приветствуем Вас!<br /><br />
Вы находитесь на странице размещения заявок на участие в бета-тестировании сборочного сервиса ABF компании РОСА.<br /><br />
В первую очередь одобряются заявки от потенциальных майнтейнеров и представителей дистрибутивных команд.<br /><br />
Ознакомиться с документацией можно <a href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">здесь</a>.<br /><br />
Мы будем рады ответить на Ваши вопросы на <a href="http://forum.rosalab.ru/viewforum.php?f=10">форуме</a> проекта.
</p>
<div style="clear: both;">
</div>
</div>
<div class="right">
<h3>Хочу стать бета-тестером ABF!</h3>
<form accept-charset="UTF-8" name='invite_form' action="/register_requests" id="new_register_request" method="post">
<div class="signup-left">
Имя, Фамилия
</div>
<div class="signup-right">
<input type="text" id="email" name="register_request[name]" class="registartion-input-signup" onkeydown="buttonCheck();" onClick="this.className='registartion-input-focus';disError(this);" onfocus="if(this.value=='Логин или email'){this.value='';this.className='registartion-input-focus';};" onblur="if(this.value==''){this.value='';this.className='registartion-input-signup';}else{this.className='registartion-input-no-focus';};buttonCheck();" />
</div>
<div style="clear: both;">
</div>
<div class="signup-left">
Электронная почта
</div>
<div class="signup-right">
<input type="text" id="email" name="register_request[email]" class="registartion-input-signup" onkeydown="buttonCheck();" onClick="this.className='registartion-input-focus';disError(this);" onfocus="if(this.value=='Логин или email'){this.value='';this.className='registartion-input-focus';};" onblur="if(this.value==''){this.value='';this.className='registartion-input-signup';}else{this.className='registartion-input-no-focus';};buttonCheck();" />
</div>
<div style="clear: both;">
</div>
<div class="signup-left">
Степень интереса<br>к проекту
</div>
<div class="signup-right">
<select name="register_request[interest]" class="registartion-input-signup">
<option>Общеобразовательные цели</option>
<option>Хочу стать майнтейнером РОСы</option>
<option>Хочу собрать в ABF дистрибутив</option>
</select>
</div>
<div style="clear: both;">
</div>
<div class="signup-left">
Также хочу сказать
</div>
<div class="signup-right">
<textarea name="register_request[more]" class="registartion-input-signup" rows="3"></textarea>
</div>
<div style="clear: both;">
</div>
<div class="button">
<input class="button" type="submit" value="Отправить">
</div>
</form>
</div>
<div style="clear: both;">
</div>
<div class="both">
</div>
</article>
</div>
<!--Footer-->
<footer>
<ul>
<li>
ROSA Лаб. © 2012 <img src="pics/square.png" alt="_" />
</li>
<li>
<img src="pics/flag.png" alt="rosa" /> <img src="pics/square.png" alt="_" />
</li>
<li>
<a href="http://www.rosalab.ru/about">О компании</a> <img src="pics/square.png" alt="_" />
</li>
<li>
<a href="http://www.rosalab.ru/about/contacts">Контакты</a>
</li>
</ul>
</footer>
<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-29164163-1']);
 _gaq.push(['_trackPageview']);
 (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

View File

@ -241,3 +241,40 @@ footer ul li a {
footer ul li a:hover { footer ul li a:hover {
text-decoration: underline; text-decoration: underline;
} }
/*language*/
div.langlist {
width: 760px;
margin: 0 auto;
text-align: center;
}
div.lang {
float: right;
margin: 2px 0px 2px 7px;
cursor: pointer;
}
nav {
width: 96px;
height: 47px;
background: url("../pics/registration.png") no-repeat;
float: right;
cursor: pointer;
}
nav p {
font-size: 14px;
color: #FFF;
margin: 0;
padding: 0;
padding-top: 0px;
font-weight: 700;
}
/* custom */
nav a {
text-decoration: none;
}

View File

@ -1,72 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Сборочная среда</title>
<script type="text/javascript" src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<link rel="stylesheet" type="text/css" href="styles/prereg.css" />
</head>
<body>
<div class="wrap">
<!--Top block-->
<header>
<div class="logo">
</div>
<div class="text">
Платформа разработки и управления жизненным циклом дистрибутивов: от исходного кода до ISO-образов
</div>
<div class="both">
</div>
</header>
<!--Page-->
<article>
<div class="all">
<p>
<span style="font-size: 28px;">Спасибо!</span><br /><br />
Благодарим за интерес к нашему сервису ABF!<br /><br />
Приглашение будет выслано вам по указанной электронной почте.<br /><br />
Приглашаем Вас на <a href="http://forum.rosalab.ru/viewforum.php?f=10">форум</a> проекта, где мы будем рады ответить на Ваши вопросы и получить Ваши пожелания.<br /><br />
Ознакомиться с документацией можно <a href="http://wiki.rosalab.ru/index.php/Сборочная_среда_ABF">здесь</a>.
</p>
</div>
<div class="both">
</div>
</article>
</div>
<!--Footer-->
<footer>
<ul>
<li>
ROSA Лаб. © 2012 <img src="pics/square.png" alt="_" />
</li>
<li>
<img src="pics/flag.png" alt="rosa" /> <img src="pics/square.png" alt="_" />
</li>
<li>
<a href="http://www.rosalab.ru/about">О компании</a> <img src="pics/square.png" alt="_" />
</li>
<li>
<a href="http://www.rosalab.ru/about/contacts">Контакты</a>
</li>
</ul>
</footer>
<script type="text/javascript">
 var _gaq = _gaq || [];
 _gaq.push(['_setAccount', 'UA-29164163-1']);
 _gaq.push(['_trackPageview']);
 (function() {
   var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
   ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
   var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();
</script>
</body>
</html>