Угловой перевод и пользовательский интерфейс маршрутизатора

Я пытаюсь перевести многошаговую форму с помощью angular translate и для маршрутизации использую ui-router.
все работает нормально, кроме одного.
вот мой код :
translate< /сильный>

.config(function ($translateProvider) {

    $translateProvider.useStaticFilesLoader({
        prefix: 'App/i18n/locale-',
        suffix: '.json'
    });
    $translateProvider.preferredLanguage('ir');
})

en.json и ir.json

{
        "wizardForm":{
       "stepOne":{
            "LABEL": "ثبت متقاضی",
            "NATIONALCODE": "کد ملی",
            "NAME": "نام",
            "FATHERNAME": "نام پدر",
            "GENDER": "جنسیت",
       }
}

en.json////////

{
"wizardForm":{
    "stepOne":{
        "LABEL": "Register Requester",
        "NATIONALCODE": "National Code",
        "NAME": "NAme",
        "FATHERNAME": "Father Name",
        "GENDER": "Gender",

    }
}

html

            <label translate="wizardForm.stepOne.NATIONALCODE">

            </label>

перевод отлично работает в других разделах, но не в форме? я что-то упускаю ?


person Community    schedule 29.12.2014    source источник
comment
Правильно ли указаны имена файлов json? Разве ir.json не должен быть locale-ir.json? Просто быстрое предположение...   -  person timtos    schedule 29.12.2014
comment
да, потому что в другом разделе используется ir.json   -  person    schedule 29.12.2014
comment
Но выше вы указываете префикс: «App/i18n/locale-. Вот почему я подумал, что, возможно, необходимо удалить «локаль-» из префикса или добавить «локаль-» к имени файла? Чтобы Система могла найти файл ir.json или файл locale-ir.json.   -  person timtos    schedule 29.12.2014
comment
должен ли я использовать это в каждом контроллере: $scope.changeLanguage = function (key) { $translate.use(key); };   -  person    schedule 29.12.2014
comment
Нет. Определенно нет. К сожалению, я не могу попробовать это здесь, но я бы попытался сначала упростить ваш код, чтобы найти ошибку, а затем снова добавить сложность. Попробуйте перевести без помощника статических файлов, попробуйте избавиться от иерархии в файлах json для отладки и т. д. Или создайте plunkr, на который мы можем взглянуть. Вы уверены, что ваши файлы находятся в правильном месте и имеют правильные имена? Удачи!   -  person timtos    schedule 29.12.2014
comment
Давайте продолжим обсуждение в чате.   -  person timtos    schedule 29.12.2014


Ответы (1)


Ваш json недействителен. Так должно быть

{
    "wizardForm": {
        "stepOne": {
            "LABEL": "Register Requester",
            "NATIONALCODE": "National Code",
            "NAME": "NAme",
            "FATHERNAME": "Father Name",
            "GENDER": "Gender"
        }
    }
}

и не

{
"wizardForm":{
    "stepOne":{
        "LABEL": "Register Requester",
        "NATIONALCODE": "National Code",
        "NAME": "NAme",
        "FATHERNAME": "Father Name",
        "GENDER": "Gender",

    }
}

Вам не хватает одного "}" и слишком много ",".

Попробуйте свой json здесь: jsonlint

Это помогает?

person timtos    schedule 29.12.2014
comment
к сожалению, нет, проблема в том, что я определил родительский контроллер в строке 1, и какое-то поле может получить доступ к контроллеру, а какое-то поле не может. у тебя есть идея? - person ; 29.12.2014