Showing i18n in property docs.

This commit is contained in:
Nick Winter 2014-10-28 13:44:49 -07:00
parent a4729d9d6b
commit c7713b4105
3 changed files with 17 additions and 2 deletions
app/views/play/level/tome
server

View file

@ -1,6 +1,7 @@
popoverTemplate = require 'templates/play/level/tome/spell_palette_entry_popover'
{downTheChain} = require 'lib/world/world_utils'
window.Vector = require 'lib/world/vector' # So we can document it
utils = require 'lib/utils'
safeJSONStringify = (input, maxDepth) ->
recursion = (input, path, depth) ->
@ -89,11 +90,26 @@ module.exports = class DocFormatter
if @doc.returns
toTranslate.push {obj: @doc.returns, prop: 'example'}, {obj: @doc.returns, prop: 'description'}
for {obj, prop} in toTranslate
# Translate into chosen code language.
if val = obj[prop]?[@options.language]
obj[prop] = val
else unless _.isString obj[prop]
obj[prop] = null
# Translate into chosen spoken language.
if val = obj[prop]
context = @doc.context
obj[prop] = val = utils.i18n obj, prop
if @doc.i18n
spokenLanguage = me.get 'preferredLanguage'
while spokenLanguage
spokenLanguage = spokenLanguage.substr 0, spokenLanguage.lastIndexOf('-') if fallingBack?
if spokenLanguageContext = @doc.i18n[spokenLanguage]?.context
context = spokenLanguageContext
break
fallingBack = true
obj[prop] = _.template val, context if context
formatPopover: ->
content = popoverTemplate doc: @doc, language: @options.language, value: @formatValue(), marked: marked, argumentExamples: (arg.example or arg.default or arg.name for arg in @doc.args ? []), writable: @options.writable, selectedMethod: @options.selectedMethod, cooldowns: @inferCooldowns(), item: @options.item
owner = if @doc.owner is 'this' then @options.thang else window[@doc.owner]

View file

@ -123,7 +123,6 @@ module.exports = class Handler
return @sendDatabaseError(res, err) if err
documents = (@formatEntity(req, doc) for doc in documents)
@sendSuccess(res, documents)
return
# If the model uses coco search it's probably a text search
else if @modelClass.schema.uses_coco_search

View file

@ -124,7 +124,7 @@ module.exports.getTwoGames = (req, res) ->
#if userIsAnonymous req then return errors.unauthorized(res, 'You need to be logged in to get games.')
humansGameID = req.body.humansGameID
ogresGameID = req.body.ogresGameID
ladderGameIDs = ['greed', 'criss-cross', 'brawlwood', 'dungeon-arena', 'gold-rush', 'sky-span', 'dueling-grounds', 'cavern-survival']
ladderGameIDs = ['greed', 'criss-cross', 'brawlwood', 'dungeon-arena', 'gold-rush', 'sky-span', 'dueling-grounds', 'cavern-survival', 'intuit-tf2014']
levelID = _.sample ladderGameIDs
unless ogresGameID and humansGameID
#fetch random games here