Перевести особенности плана Laravel Spark - PullRequest
0 голосов
/ 22 ноября 2018

Мне было интересно, как лучше всего отобразить функции плана Spark на нескольких языках.

Допустим, у меня есть следующие функции

Spark::plan('Premium', 'monthly-artist-premium')
        ->price(10)
        ->trialDays(14)
        ->features([
            'Online profile', 'Access To More Features',
        ]);

Я думал о том, чтобы что-то сделатьнапример, используя инструмент перевода Laravel и ключи перевода

Spark::plan('Premium', 'monthly-premium')
        ->price(10)
        ->trialDays(14)
        ->features([
            'base.Online_profile', 'base.Access_to_more_features',
        ]);

А потом при рендеринге планов с использованием Vue я бы сделал что-то подобное, но это не перевод.

<li class='pricing-feature' v-for="feature in plan.features">
    @lang('@{{ feature }}')
</li>

Любая идеякак я мог бы реализовать это для обработки нескольких языков?

Ответы [ 2 ]

0 голосов
/ 02 февраля 2019

В Laravel Spark 7.0 мне удалось перевести список функций следующим образом:

  1. Добавление переведенных ключей к языковым .json файлам.
  2. На SparkServiceProvider::booted() метод с использованием этих клавиш для списка функций.
  3. Вкл. resources/views/vendor/spark/modals/plan-details.blade.php и spark/resources/views/modals/plan-details.blade.php

    <!-- Modal Body -->
    <div class="modal-body">
        <ul class="plan-feature-list p-0 m-0">
            <li v-for="feature in detailingPlan.features">
                @{{ feature }}
            </li>
        </ul>
    </div>
    

Изменить на:

    <!-- Modal Body -->
    <div class="modal-body">
        <ul class="plan-feature-list p-0 m-0">
            <li v-for="feature in detailingPlan.features">
                @{{ __(feature) }}
            </li>
        </ul>
    </div>
0 голосов
/ 30 ноября 2018

Не лучшее решение, но вот что я в итоге сделал:

Spark::freePlan('Basic')
        ->features([
            'free_plan'
]);

Затем, когда показывал планы в register-common.blade.php

, я сделал что-то подобное с v-ifусловия для каждого разные планы

<ul v-if="plan.features[0] === 'free_plan'" class='pricing-feature-list'>
    <li class="pricing-feature">
        @lang('base.Online_profile')
    </li>
</ul>
...