modeling i18n
This commit is contained in:
parent
194ee8a5b1
commit
00841e45d2
5 changed files with 41 additions and 18 deletions
|
@ -1,6 +1,6 @@
|
||||||
/** @jsx React.DOM */
|
/** @jsx React.DOM */
|
||||||
|
|
||||||
(function($) {
|
(function($, I18n) {
|
||||||
// Console-polyfill. MIT license.
|
// Console-polyfill. MIT license.
|
||||||
// https://github.com/paulmillr/console-polyfill
|
// https://github.com/paulmillr/console-polyfill
|
||||||
// Make it safe to do console.log() always.
|
// Make it safe to do console.log() always.
|
||||||
|
@ -120,11 +120,10 @@
|
||||||
var equippedClosetId = equippedByZone[zoneId].closet_obj_id;
|
var equippedClosetId = equippedByZone[zoneId].closet_obj_id;
|
||||||
var equippedObjectId = closetItems[equippedClosetId].obj_info_id;
|
var equippedObjectId = closetItems[equippedClosetId].obj_info_id;
|
||||||
if (itemsById.hasOwnProperty(equippedObjectId)) {
|
if (itemsById.hasOwnProperty(equippedObjectId)) {
|
||||||
// TODO: i18n title
|
|
||||||
customization.statusByItemId[equippedObjectId] = "success";
|
customization.statusByItemId[equippedObjectId] = "success";
|
||||||
itemsById[equippedObjectId].el.find("span[data-body-id=" +
|
itemsById[equippedObjectId].el.find("span[data-body-id=" +
|
||||||
customization.custom_pet.body_id + "]").addClass("modeled")
|
customization.custom_pet.body_id + "]").addClass("modeled")
|
||||||
.attr("title", "You just finished modeling this—thanks so much!");
|
.attr("title", I18n.modeledBodyTitle);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
this._customizationsByPetId[customization.custom_pet.name] = customization;
|
this._customizationsByPetId[customization.custom_pet.name] = customization;
|
||||||
|
@ -294,18 +293,10 @@
|
||||||
}
|
}
|
||||||
var itemName = this.props.item.name;
|
var itemName = this.props.item.name;
|
||||||
var imageSrc = "http://pets.neopets.com/cpn/" + petName + "/1/1.png";
|
var imageSrc = "http://pets.neopets.com/cpn/" + petName + "/1/1.png";
|
||||||
// TODO: i18n
|
var title = I18n.pet.title
|
||||||
var title = "Submit " + petName + " as a model, especially if they're " +
|
.replace(/%{pet}/g, petName)
|
||||||
"wearing the " + itemName + "!";
|
.replace(/%{item}/g, itemName);
|
||||||
if (status === "success") {
|
var statusMessage = I18n.pet.status[status] || "";
|
||||||
var statusMessage = "Thanks! <3";
|
|
||||||
} else if (status === "unworn") {
|
|
||||||
var statusMessage = "Not wearing this item.";
|
|
||||||
} else if (status === "error") {
|
|
||||||
var statusMessage = "Couldn't load. Try again?";
|
|
||||||
} else {
|
|
||||||
var statusMessage ="";
|
|
||||||
}
|
|
||||||
return <li data-status={status}><button onClick={this.handleClick} title={title} disabled={disabled}>
|
return <li data-status={status}><button onClick={this.handleClick} title={title} disabled={disabled}>
|
||||||
<img src={imageSrc} />
|
<img src={imageSrc} />
|
||||||
<div>
|
<div>
|
||||||
|
@ -330,10 +321,10 @@
|
||||||
return <div>
|
return <div>
|
||||||
<ul>{this.state.usernames.slice(0).sort().map(buildUsernameItem)}</ul>
|
<ul>{this.state.usernames.slice(0).sort().map(buildUsernameItem)}</ul>
|
||||||
<form onSubmit={this.handleSubmit}>
|
<form onSubmit={this.handleSubmit}>
|
||||||
<input type="text" placeholder="neopets username"
|
<input type="text" placeholder={I18n.neopetsUsernamesForm.label}
|
||||||
onChange={this.handleChange}
|
onChange={this.handleChange}
|
||||||
value={this.state.newUsername} />
|
value={this.state.newUsername} />
|
||||||
<button type="submit">add</button></form></div>;
|
<button type="submit">{I18n.neopetsUsernamesForm.submit}</button></form></div>;
|
||||||
},
|
},
|
||||||
handleChange: function(e) {
|
handleChange: function(e) {
|
||||||
this.setState({newUsername: e.target.value});
|
this.setState({newUsername: e.target.value});
|
||||||
|
@ -358,4 +349,4 @@
|
||||||
});
|
});
|
||||||
|
|
||||||
Modeling.init($);
|
Modeling.init($);
|
||||||
})(jQuery);
|
})(jQuery, ModelingI18n);
|
||||||
|
|
|
@ -114,5 +114,16 @@ module OutfitsHelper
|
||||||
options = {:spellcheck => false, :id => nil}.merge(options)
|
options = {:spellcheck => false, :id => nil}.merge(options)
|
||||||
text_field_tag 'name', nil, options
|
text_field_tag 'name', nil, options
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def modeling_i18n_tag
|
||||||
|
localized_cache('modeling_i18n') do
|
||||||
|
modeling_i18n = {
|
||||||
|
modeledBodyTitle: t('.newest_items.modeled.body_title'),
|
||||||
|
pet: t('.newest_items.modeled.pet'),
|
||||||
|
neopetsUsernamesForm: t('.newest_items.modeled.neopets_usernames_form')
|
||||||
|
}
|
||||||
|
haml_concat javascript_tag("var ModelingI18n = #{modeling_i18n.to_json};")
|
||||||
|
end
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
|
@ -117,4 +117,5 @@
|
||||||
|
|
||||||
- content_for :javascripts do
|
- content_for :javascripts do
|
||||||
= include_javascript_libraries :jquery20, :jquery_tmpl
|
= include_javascript_libraries :jquery20, :jquery_tmpl
|
||||||
|
= modeling_i18n_tag
|
||||||
= javascript_include_tag 'ajax_auth', 'react', 'jquery.timeago', 'pet_query', 'outfits/new', 'modeling'
|
= javascript_include_tag 'ajax_auth', 'react', 'jquery.timeago', 'pet_query', 'outfits/new', 'modeling'
|
|
@ -658,6 +658,16 @@ en-MEEP:
|
||||||
last_word_connector: '! meep '
|
last_word_connector: '! meep '
|
||||||
modeled:
|
modeled:
|
||||||
header: These items have already been meeped—meep for your help!
|
header: These items have already been meeped—meep for your help!
|
||||||
|
body_title: You just finished meeping this—meep so much!
|
||||||
|
neopets_usernames_form:
|
||||||
|
label: meepits username
|
||||||
|
submit: meep
|
||||||
|
pet:
|
||||||
|
status:
|
||||||
|
success: Meep! <3
|
||||||
|
unworn: Not meeping this item.
|
||||||
|
error: Couldn't load. Meep again?
|
||||||
|
title: Meep %{pet} as a model, especially if they're meeping the %{item}!
|
||||||
pet_query:
|
pet_query:
|
||||||
notice_html:
|
notice_html:
|
||||||
Thanks for meeping us <strong>%{pet_name}</strong>.
|
Thanks for meeping us <strong>%{pet_name}</strong>.
|
||||||
|
|
|
@ -713,6 +713,16 @@ en:
|
||||||
last_word_connector: ', or '
|
last_word_connector: ', or '
|
||||||
modeled:
|
modeled:
|
||||||
header: These items have already been modeled—thanks for your help!
|
header: These items have already been modeled—thanks for your help!
|
||||||
|
body_title: You just finished modeling this—thanks so much!
|
||||||
|
neopets_usernames_form:
|
||||||
|
label: neopets username
|
||||||
|
submit: add
|
||||||
|
pet:
|
||||||
|
status:
|
||||||
|
success: Thanks! <3
|
||||||
|
unworn: Not wearing this item.
|
||||||
|
error: Couldn't load. Try again?
|
||||||
|
title: Submit %{pet} as a model, especially if they're wearing the %{item}!
|
||||||
pet_query:
|
pet_query:
|
||||||
notice_html:
|
notice_html:
|
||||||
Thanks for showing us <strong>%{pet_name}</strong>.
|
Thanks for showing us <strong>%{pet_name}</strong>.
|
||||||
|
|
Loading…
Reference in a new issue