Nano Hash - криптовалюты, майнинг, программирование

Как я могу реализовать мультитенантные переводы в Symfony2

Я разрабатываю многопользовательское решение Symfony2, и мне было интересно, есть ли способ использовать разные файлы переводов для каждого клиента, поскольку файлы переводов по умолчанию в настоящее время содержат, например, ссылки на название компании первоначального арендатора и т. д.

Я использую пакет тем Liip (https://github.com/liip/LiipThemeBundle), чтобы арендаторы могли использовать нашу кодовую базу, накладывают свой собственный дизайн сверху, но не могут разработать простой и масштабируемый способ, позволяющий им использовать свои собственные файлы переводов.

Об этом говорили в git-репозитории тематических пакетов, но я не верю, что что-то когда-либо было реализовано (https://github.com/liip/LiipThemeBundle/issues/12). В идеале я хотел бы следовать структуре каталогов, которую они предложили в этой теме, например.

root
  - app
    - Resources
      - themes
        - <theme name>
          - public
          - translations (this would be new)
          - views

так как это позволило бы нам продолжить практику использования тем в качестве автономных подмодулей git, которые арендатор может поддерживать самостоятельно.

09.04.2013

  • Не знаю, как вы хотите, но в вашем случае вы не могли бы использовать ссылку домены сообщений вместо этого? 09.04.2013
  • Но при таком методе каждый арендатор должен был бы предоставить нам свой файл, мы должны были бы обеспечить уникальность имени, и мы должны были бы добавить его в каталог app/Resources/translations нашего сайта. Кроме того, с помощью этого метода невозможно сохранить одни и те же файлы шаблонов, но использовать другой файл переводов в зависимости от арендатора. 09.04.2013

Ответы:


1

В итоге я использовал структуру каталогов, описанную выше, и имел консольную команду, которая символически связывала файл переопределения переводов в app/Resources/translations. Эта команда выполнялась во время моего сценария развертывания, а затем я создал свою собственную функцию ветки «trans», которая проверяла, следует ли использовать файл переопределения.

Не самый чистый, но определенно работает так, как я хотел.

15.04.2013
Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..