Skip to content

Commit

Permalink
Fix bug in translating lists in multilingual plugin.
Browse files Browse the repository at this point in the history
Get translations of individual items in a list
instead of looking for a translation of the entire
list object.

Also use 'in' to check for dict keys instead of
the deprecated '.has_key()'.
  • Loading branch information
johnglover committed May 30, 2012
1 parent 53fe726 commit be850dd
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions ckanext/multilingual/plugin.py
Expand Up @@ -69,7 +69,7 @@ def translate_data_dict(data_dict):
translated_flattened[key] = value

elif isinstance(value, basestring):
if desired_translations.has_key(value):
if value in desired_translations:
translated_flattened[key] = desired_translations[value]
else:
translated_flattened[key] = fallback_translations.get(
Expand All @@ -81,11 +81,12 @@ def translate_data_dict(data_dict):
else:
translated_value = []
for item in value:
if desired_translations.has_key(value):
translated_flattened[key] = desired_translations[value]
if item in desired_translations:
translated_value.append(desired_translations[item])
else:
translated_flattened[key] = fallback_translations.get(
value, value)
translated_value.append(
fallback_translations.get(item, item)
)
translated_flattened[key] = translated_value

# Finally unflatten and return the translated data dict.
Expand Down

0 comments on commit be850dd

Please sign in to comment.