# -*- coding: utf-8 -*-
from sphinx.errors import SphinxError


translations = {
    'submit': {
        'en': u'Submit',
        'fi': u'Lähetä',
    },
    'submit_placeholder': {
        'en': u'A+ presents the exercise submission form here.',
        'fi': u'A+ esittää tässä kohdassa tehtävän palautuslomakkeen.',
    },
        'active_element_placeholder': {
        'en': u'A+ presents the active element here.',
        'fi': u'A+ esittää tässä kohdassa "active element"-elementin.',
    },
    'feedback': {
        'en': u'Feedback',
        'fi': u'Palaute',
    },
    'exercise': {
        'en': u'Exercise',
        'fi': u'Tehtävä',
    },
    'question': {
        'en': u'Question',
        'fi': u'Kysymys',
    },
    'agreement4': {
        'en': u'strongly agree',
        'fi': u'täysin samaa mieltä',
    },
    'agreement3': {
        'en': u'agree',
        'fi': u'jokseenkin samaa mieltä',
    },
    'agreement2': {
        'en': u'disagree',
        'fi': u'jokseenkin eri mieltä',
    },
    'agreement1': {
        'en': u'strongly disagree',
        'fi': u'täysin eri mieltä',
    },
    'agreement0': {
        'en': u'cannot say / no comments',
        'fi': u'en osaa sanoa / en kommentoi',
    },
}


def get(env, key):
    if key not in translations:
        raise SphinxError('Unknown translation key {}'.format(key))

    lang = env.config.language or 'en'
    if lang not in translations[key]:
        raise SphinxError('Missing translation for {} and key {}'.format(lang, key))

    return translations[key][lang]


def opt(key, postfix=None):
    if key not in translations:
        raise SphinxError('Unknown translation key {}'.format(key))

    if postfix:
        d = translations[key].copy()
        for l in d.keys():
            d[l] = u"{} {}".format(d[l], postfix)
        return d

    return translations[key]

@@ -136,31 +136,58 @@
  u'L%C3%A4het%C3%A4',%0A
+        'sv': 'Skicka in',%0A
     %7D,%0A
-
     'submit_
@@ -335,24 +335,101 @@
 omakkeen.',%0A
+        'sv': 'A+ presenterar formul%C3%A4ret f%C3%B6r inl%C3%A4mningen av uppgiften h%C3%A4r.',%0A
     %7D,%0A     
@@ -586,24 +586,82 @@
 lementin.',%0A
+        'sv': 'A+ presenterar det aktiva elementet h%C3%A4r.',%0A
     %7D,%0A    '
@@ -722,24 +722,50 @@
 u'Palaute',%0A
+        'sv': 'Feedback',%0A
     %7D,%0A    '
@@ -826,24 +826,49 @@
 u'Teht%C3%A4v%C3%A4',%0A
+        'sv': 'Uppgift',%0A
     %7D,%0A    '
@@ -929,24 +929,47 @@
 u'Kysymys',%0A
+        'sv': 'Fr%C3%A5ga',%0A
     %7D,%0A    '
@@ -1046,32 +1046,64 @@
  samaa mielt%C3%A4',%0A
+        'sv': 'inst%C3%A4mmer helt',%0A
     %7D,%0A    'agre
@@ -1171,32 +1171,66 @@
  samaa mielt%C3%A4',%0A
+        'sv': 'inst%C3%A4mmer delvis',%0A
     %7D,%0A    'agre
@@ -1299,32 +1299,64 @@
 in eri mielt%C3%A4',%0A
+        'sv': 'inst%C3%A4mmer inte',%0A
     %7D,%0A    'agre
@@ -1434,24 +1434,61 @@
 ri mielt%C3%A4',%0A
+        'sv': 'inst%C3%A4mmer inte alls',%0A
     %7D,%0A    '
@@ -1541,24 +1541,24 @@
  comments',%0A
-
         'fi'
@@ -1592,16 +1592,69 @@
 entoi',%0A
+        'sv': 'jag kan inte s%C3%A4ga / ingen kommentar',%0A
     %7D,%0A%7D

Add Swedish translations