Internal Server Error when translating into a candidate language

RESOLVED FIXED

Status

Mozilla Developer Network
Localization
--
enhancement
RESOLVED FIXED
9 months ago
8 months ago

People

(Reporter: jwhitlock, Assigned: safwan)

Tracking

({in-triage})

Details

(Whiteboard: [specification][type:bug])

(Reporter)

Description

9 months ago
What did you do?
================
Bulgarian (bg) was added to CANDIDATE_LANGUAGES, and is enabled on MDN's staging server (last entry):

https://developer.allizom.org/bg/

It appears in the list of possible languages for translation:

https://developer.allizom.org/en-US/docs/Web/CSS$locales


What happened?
==============
When Bulgarian is selected, an Internal Server Error occurs

What should have happened?
==========================
The translation interface should appear

Is there anything else we should know?
======================================
Tracked in Sentry: https://sentry.prod.mozaws.net/operations/mdn-stage/issues/382596/

Error is "KeyError: u'bg'"

Last part of traceback:

  File "kuma/wiki/views/translate.py", line 261, in translate
    language = language_mapping[document_locale.lower()]

The language_mapping does not include the candidate languages:

https://github.com/mozilla/kuma/blob/master/kuma/core/apps.py#L21
(Reporter)

Updated

9 months ago
See Also: → bug 1339948, bug 1265891
Severity: normal → enhancement
Keywords: in-triage
(Assignee)

Comment 1

9 months ago
@jwhitlock How do you have enabled "bg" in staging server?
Have you Added it to MDN_LANGUAGES setting settings_local.py file?
Flags: needinfo?(jwhitlock)
(Reporter)

Comment 2

9 months ago
No, this is enabled by recent code from this year, adding a CANDIDATE_LANGUAGES item to settings:

https://github.com/mozilla/kuma/blob/b68f5fb1c6179097f4dd223c8c285c52d2bbd890/kuma/settings/common.py#L191-L194

There's a function enable_candidate_languages() that updates settings to enable the candidate languages:

https://github.com/mozilla/kuma/blob/726cfd2f3f4653808151df25f147490e58acc95e/kuma/settings/common.py#L264-L275

This is done on the staging server when kuma/settings/stage.py is loaded:

https://github.com/mozilla/kuma/blob/726cfd2f3f4653808151df25f147490e58acc95e/kuma/settings/stage.py#L20

The language_mapping has not been updated to be aware of CANDIDATE_LANGUAGES:

https://github.com/mozilla/kuma/blob/726cfd2f3f4653808151df25f147490e58acc95e/kuma/core/apps.py
Flags: needinfo?(jwhitlock)
(Assignee)

Comment 3

8 months ago
Proposed PR: https://github.com/mozilla/kuma/pull/4155
Assignee: nobody → safwan.rahman15

Comment 4

8 months ago
Commits pushed to master at https://github.com/mozilla/kuma

https://github.com/mozilla/kuma/commit/cf69bf4300e0fd07e0f53f71fa45098e7db1e35e
[Bug 1340003] Internal Server Error when translating into a candidate language

https://github.com/mozilla/kuma/commit/06bff8973e82192bcd1d3d4e6de411d0094011fa
Merge pull request #4155 from safwanrahman/fix-candidate-language

[Bug 1340003] Internal Server Error when translating into a candidate language

Comment 5

8 months ago
Commits pushed to master at https://github.com/mozilla/kuma

https://github.com/mozilla/kuma/commit/286e1aebca006cafc5a27076f7682b723efce78a
bug 1340003: Use settings.LANGUAGES, path parsing

In locale_and_slug_from_path, use settings.LANGUAGES, which includes any
enabled candidate languages. This is used by KumaScript, like:
/en-US/docs/fr/Web/CSS

https://github.com/mozilla/kuma/commit/f56a544a255e9bf87e2de0b670b53029b792d31a
bug 1340003: Use settings.LANGUAGES in sitemaps

In build_sitemaps(), create the locale list from settings.LANGUAGES,
which includes enabled candidate languages.

https://github.com/mozilla/kuma/commit/8be77448faa34c31c5e3ce2a265791fb02cdfab2
Merge pull request #4156 from jwhitlock/more_candidate_lang_1340003

bug 1340003: More changes for candidate languages
(Reporter)

Comment 6

8 months ago
Fixes pushed to stage and production. Thanks safwan!
Status: NEW → RESOLVED
Last Resolved: 8 months ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.