forked from OpenNeo/impress
better i18n for contributed description
This commit is contained in:
parent
15b939f946
commit
989363f743
6 changed files with 64 additions and 44 deletions
|
@ -1,43 +1,40 @@
|
||||||
module ContributionHelper
|
module ContributionHelper
|
||||||
def contributed_description(contributed, image = true)
|
def contributed_description(contributed, show_image = true)
|
||||||
case contributed
|
case contributed
|
||||||
when Item
|
when Item
|
||||||
suffix = translate_contributed_description('item_suffix')
|
contributed_item('item', contributed, show_image)
|
||||||
contributed_item(contributed, image, suffix)
|
|
||||||
when SwfAsset
|
when SwfAsset
|
||||||
suffix = translate_contributed_description('swf_asset_suffix')
|
contributed_item('swf_asset', contributed.item, show_image)
|
||||||
contributed_item(contributed.item, image, suffix)
|
|
||||||
when PetType
|
when PetType
|
||||||
suffix = translate_contributed_description('pet_type_suffix')
|
contributed_pet_type('pet_type', contributed, show_image)
|
||||||
contributed_pet_type(contributed, image, :after => suffix)
|
|
||||||
when PetState
|
when PetState
|
||||||
prefix = translate_contributed_description('pet_state_prefix')
|
contributed_pet_type('pet_state', contributed.pet_type, show_image)
|
||||||
contributed_pet_type(contributed.pet_type, image, :before => prefix)
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
def contributed_item(item, image, adverbial)
|
def contributed_item(main_key, item, show_image)
|
||||||
if item
|
if item
|
||||||
output do |html|
|
link = link_to(item.name, item, :class => 'contributed-name')
|
||||||
html << 'the'
|
description = translate('contributions.contributed_description.parents.item.present_html',
|
||||||
html << link_to(item.name, item, :class => 'contributed-name')
|
:item_link => link)
|
||||||
html << adverbial
|
output = translate("contributions.contributed_description.main.#{main_key}_html",
|
||||||
html << image_tag(item.thumbnail_url) if image
|
:item_description => description)
|
||||||
end
|
output << image_tag(item.thumbnail_url) if show_image
|
||||||
|
output
|
||||||
else
|
else
|
||||||
"data for an item that has since been updated"
|
translate('contributions.contributed_description.parents.item.blank')
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
PET_TYPE_IMAGE_FORMAT = 'http://pets.neopets.com/cp/%s/1/3.png'
|
PET_TYPE_IMAGE_FORMAT = 'http://pets.neopets.com/cp/%s/1/3.png'
|
||||||
def contributed_pet_type(pet_type, image, options)
|
def contributed_pet_type(main_key, pet_type, show_image)
|
||||||
options[:before] ||= 'the'
|
span = content_tag(:span, pet_type.human_name, :class => 'contributed-name')
|
||||||
output do |html|
|
description = translate('contributions.contributed_description.parents.pet_type_html',
|
||||||
html << options[:before]
|
:pet_type_name => span)
|
||||||
html << content_tag(:span, pet_type.human_name, :class => 'contributed-name')
|
output = translate("contributions.contributed_description.main.#{main_key}_html",
|
||||||
html << options[:after] if options[:after]
|
:pet_type_description => description)
|
||||||
html << image_tag(sprintf(PET_TYPE_IMAGE_FORMAT, pet_type.image_hash)) if image
|
output << image_tag(sprintf(PET_TYPE_IMAGE_FORMAT, pet_type.image_hash)) if show_image
|
||||||
end
|
output
|
||||||
end
|
end
|
||||||
|
|
||||||
private
|
private
|
||||||
|
@ -46,7 +43,7 @@ module ContributionHelper
|
||||||
raw([].tap(&block).join(' '))
|
raw([].tap(&block).join(' '))
|
||||||
end
|
end
|
||||||
|
|
||||||
def translate_contributed_description(key)
|
def translate_contributed_suffix(key)
|
||||||
translate "contributions.contributed_description.#{key}"
|
translate "contributions.contributed_description.suffix.#{key}"
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -67,7 +67,8 @@ class PetType < ActiveRecord::Base
|
||||||
# Until then, access the hash using the English color/species names.
|
# Until then, access the hash using the English color/species names.
|
||||||
|
|
||||||
unless BasicHashes[species.name] && BasicHashes[species.name][color.name]
|
unless BasicHashes[species.name] && BasicHashes[species.name][color.name]
|
||||||
raise "basic image hash for #{species.name}, #{color.name} not found"
|
# TODO: use rainbow pool? some external service?
|
||||||
|
return 'deadbeef'
|
||||||
end
|
end
|
||||||
|
|
||||||
BasicHashes[species.name][color.name]
|
BasicHashes[species.name][color.name]
|
||||||
|
|
|
@ -215,10 +215,16 @@ en-MEEP:
|
||||||
|
|
||||||
contributions:
|
contributions:
|
||||||
contributed_description:
|
contributed_description:
|
||||||
item_suffix: for the first meep
|
parents:
|
||||||
swf_asset_suffix: on a new body meep
|
item:
|
||||||
pet_type_suffix: for the first meep
|
present_html: the %{item_link}
|
||||||
pet_state_prefix: a new meep for
|
blank: data for an item that has since been meeped
|
||||||
|
pet_type_html: the %{pet_type_name}
|
||||||
|
main:
|
||||||
|
item_html: "%{item_description} for the first meep"
|
||||||
|
swf_asset_html: "%{item_description} on a new body meep"
|
||||||
|
pet_type_html: "%{pet_type_description} for the first meep"
|
||||||
|
pet_state_html: "a new meep for %{pet_type_description}"
|
||||||
|
|
||||||
contribution:
|
contribution:
|
||||||
description_html: "%{user_link} meeped us %{contributed_description}"
|
description_html: "%{user_link} meeped us %{contributed_description}"
|
||||||
|
|
|
@ -216,10 +216,16 @@ en:
|
||||||
|
|
||||||
contributions:
|
contributions:
|
||||||
contributed_description:
|
contributed_description:
|
||||||
item_suffix: for the first time
|
parents:
|
||||||
swf_asset_suffix: on a new body type
|
item:
|
||||||
pet_type_suffix: for the first time
|
present_html: the %{item_link}
|
||||||
pet_state_prefix: a new pose for
|
blank: data for an item that has since been updated
|
||||||
|
pet_type_html: the %{pet_type_name}
|
||||||
|
main:
|
||||||
|
item_html: "%{item_description} for the first time"
|
||||||
|
swf_asset_html: "%{item_description} on a new body type"
|
||||||
|
pet_type_html: "%{pet_type_description} for the first time"
|
||||||
|
pet_state_html: "a new pose for %{pet_type_description}"
|
||||||
|
|
||||||
contribution:
|
contribution:
|
||||||
description_html: "%{user_link} showed us %{contributed_description}"
|
description_html: "%{user_link} showed us %{contributed_description}"
|
||||||
|
|
|
@ -164,10 +164,15 @@ es:
|
||||||
unlisted_name: No está en la lista
|
unlisted_name: No está en la lista
|
||||||
contributions:
|
contributions:
|
||||||
contributed_description:
|
contributed_description:
|
||||||
item_suffix: por primera vez
|
parents:
|
||||||
swf_asset_suffix: en un tipo de cuerpo nuevo
|
item:
|
||||||
pet_type_suffix: por primera vez
|
present_html: el %{item_link}
|
||||||
pet_state_prefix: una nueva pose
|
pet_type_html: el %{pet_type_name}
|
||||||
|
main:
|
||||||
|
item_html: "%{item_description} por primera vez"
|
||||||
|
swf_asset_html: "%{item_description} en un tipo de cuerpo nuevo"
|
||||||
|
pet_type_html: "%{pet_type_description} por primera vez"
|
||||||
|
pet_state_html: "una nueva pose para %{pet_type_description}"
|
||||||
contribution:
|
contribution:
|
||||||
description_html: "%{user_link} nos ha enseñado %{contributed_description}"
|
description_html: "%{user_link} nos ha enseñado %{contributed_description}"
|
||||||
created_at_html: "hace %{created_at_ago}"
|
created_at_html: "hace %{created_at_ago}"
|
||||||
|
|
|
@ -164,10 +164,15 @@ pt:
|
||||||
unlisted_name: Não está em uma lista
|
unlisted_name: Não está em uma lista
|
||||||
contributions:
|
contributions:
|
||||||
contributed_description:
|
contributed_description:
|
||||||
item_suffix: pela primeira vez
|
parents:
|
||||||
swf_asset_suffix: em um novo tipo de corpo
|
item:
|
||||||
pet_type_suffix: pela primeira vez
|
present_html: o %{item_link}
|
||||||
pet_state_prefix: uma nova pose para
|
pet_type_html: o %{pet_type_name}
|
||||||
|
main:
|
||||||
|
item_html: "%{item_description} pela primeira vez"
|
||||||
|
swf_asset_html: "%{item_description} em um novo tipo de corpo"
|
||||||
|
pet_type_html: "%{pet_type_description} pela primeira vez"
|
||||||
|
pet_state_html: "uma nova pose para %{pet_type_description}"
|
||||||
contribution:
|
contribution:
|
||||||
description_html: "%{user_link} nos mostrou %{contributed_description}"
|
description_html: "%{user_link} nos mostrou %{contributed_description}"
|
||||||
created_at_html: "%{created_at_ago} atrás"
|
created_at_html: "%{created_at_ago} atrás"
|
||||||
|
|
Loading…
Reference in a new issue