PHPackages                             samuelvi/spreadsheet-translator-symfony-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. samuelvi/spreadsheet-translator-symfony-bundle

ActiveSymfony-bundle

samuelvi/spreadsheet-translator-symfony-bundle
==============================================

Spreadsheet Translator Bundle - Translate your web site from excel files (local, google drive with or without auth, onedrive with or without auth)

v8.4.2(4mo ago)3542MITPHPPHP &gt;=8.4CI passing

Since Apr 20Pushed 4mo ago1 watchersCompare

[ Source](https://github.com/samuelvi/spreadsheet-translator-symfony-bundle)[ Packagist](https://packagist.org/packages/samuelvi/spreadsheet-translator-symfony-bundle)[ RSS](/packages/samuelvi-spreadsheet-translator-symfony-bundle/feed)WikiDiscussions main Synced today

READMEChangelog (8)Dependencies (9)Versions (22)Used By (0)

Spreadsheet Translator Symfony Bundle
=====================================

[](#spreadsheet-translator-symfony-bundle)

The Spreadsheet Translator Symfony Bundle allows creating **translation files** for your web projects from **spreadsheet files (local or remote excel files).**

There are some demos at the end of the documentation that aims to help you as much as possible.

This bundle is able to manage Spreadsheet files (xls/xlsx) from a local drive or cloud services such as: Google Drive and Microsoft One Drive, both of them with or without authentication.

The main advantages for managing web translations from spreadsheet files are:

- Avoid programming a backend.
- Avoid implementing/setting up a security system for users with the role translator.
- For cloud documents, the translation file can be editable by several users at the same time.
- Avoid installing aditional desktop software for managing not really human readable translation file formats (xliff, yml, php).
- Several translation files can be easily automated and distributed to several servers/environments.
- Using third party SpreadSheet apps, such as Google Drive, allow watching several translations in several languages at a glance, because of the column view.
- Most of these third party apps bring great tools out-of-the-box such as: search, copy, paste, replace text. (Microsoft Excel, Free Office, Google Drive, One Drive).
- Almost everyone is familiar with existing spreadsheets apps, most of the times more productive than onward/backward web based backend systems.
- Avoid innecessary database queries for each translation entry or complex cache infrastructure.

Example of Spreadsheet File with a single tab
---------------------------------------------

[](#example-of-spreadsheet-file-with-a-single-tab)

- [Example of spreadsheet file in google drive without auth.](https://docs.google.com/spreadsheets/d/1MgpsX-UXVVx1UAmbQvKrrE8yvWBt62haKuBieyOL_cE/edit?usp=sharing)

Adapters
--------

[](#adapters)

The bundle is constructed having in mind separation of concerns, so functionallities are splitted in 3 types of adapters.

- **Providers**: Allow to grasp the Spreadsheet information from 5 different sources:

    - **Local file** (Default)
    - Google Drive shared view document
    - Google Drive with authentication
    - Microsft One Drive shared view document
    - Microsft One Drive with authentication
- **Readers**: Allow to read the Spreadsheet file in different manners to expose the data to an exporter.

    - **Matrix** (Default)
    - Xlsx
- **Exporters**: Allow to export the provided Spreadsheet file into 3 types of translation file formats:

    - **Xliff** (Default)
    - Yaml
    - Php

Installation
------------

[](#installation)

Add the samuelvi/spreadsheet-translator-symfony-bundle package to your require section in the composer.json file (\*)

```
$ composer require samuelvi/spreadsheet-translator-symfony-bundle
```

**For Symfony 7+**, the bundle will be automatically registered in `config/bundles.php`. If you need to register it manually:

```
