PHPackages                             samuelvi/translator-symfony-demo-googledrive-to-yml - 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. [Localization &amp; i18n](/categories/localization)
4. /
5. samuelvi/translator-symfony-demo-googledrive-to-yml

ActiveProject[Localization &amp; i18n](/categories/localization)

samuelvi/translator-symfony-demo-googledrive-to-yml
===================================================

Spreadsheet Translator. Symfony Demo Application. Takes a Google Drive spreadsheet and creates translation files per locale in YAML format

v8.4.3(6mo ago)00MITPHPPHP &gt;=8.4CI passing

Since Oct 26Pushed 6mo agoCompare

[ Source](https://github.com/samuelvi/translator-symfony-demo-google-drive-provider-yml-exporter)[ Packagist](https://packagist.org/packages/samuelvi/translator-symfony-demo-googledrive-to-yml)[ RSS](/packages/samuelvi-translator-symfony-demo-googledrive-to-yml/feed)WikiDiscussions main Synced 1mo ago

READMEChangelog (3)Dependencies (23)Versions (4)Used By (0)

Spreadsheet Translator Symfony Demo Application - Use Case
==========================================================

[](#spreadsheet-translator-symfony-demo-application---use-case)

Introduction
------------

[](#introduction)

Lightweight Symfony Demo Application for the Spreadsheet Translator functionality. This demo brings a command that takes a **Google Drive spreadsheet** and creates translation files per locale in **YAML format**.

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

[](#installation)

```
composer create-project samuelvi/translator-symfony-demo-googledrive-to-yml
```

This will install the demo application into your computer.

Configuration
-------------

[](#configuration)

Before running the demo, configure your Google Drive spreadsheet URL in `config/packages/atico_spreadsheet_translator.yaml`:

```
atico_spreadsheet_translator:
    frontend:
        provider:
            name: 'google_drive'
            source_resource: 'https://docs.google.com/spreadsheets/d/YOUR_SPREADSHEET_ID/edit#gid=0'
        exporter:
            format: 'yml'
            prefix: 'demo_'
            destination_folder: '%kernel.project_dir%/translations'
        shared:
            default_locale: 'en'
            name_separator: '_'
```

**Important:** Make sure your Google Spreadsheet is publicly accessible for the provider to download it.

Running the demo
----------------

[](#running-the-demo)

Type in your terminal:

```
bin/console atico:demo:translator --sheet-name=common --book-name=frontend
```

This command will generate the translation files that will be stored into the `translations/` folder.

The generated files will be:

```
translations/
├── demo_common.en_GB.yml
├── demo_common.es_ES.yml
└── demo_common.fr_FR.yml

```

demo\_common.en\_GB.yml will contain:

```
homepage:
    title: >
        Secured Spreadsheet translator
    subtitle: >
        Translator of web pages from secured spreadsheet
```

Notes
-----

[](#notes)

composer.json includes the following Spreadsheet Translator dependencies:

```
  "samuelvi/spreadsheet-translator-core": "^8.4",
  "samuelvi/spreadsheet-translator-symfony-bundle": "^8.0",
  "samuelvi/spreadsheet-translator-provider-googledrive": "^8.0",
  "samuelvi/spreadsheet-translator-reader-xlsx": "^8.1",
  "samuelvi/spreadsheet-translator-exporter-yml": "^8.0"
```

Related
-------

[](#related)

Symfony Bundle:

- [Symfony Bundle](https://github.com/samuelvi/spreadsheet-translator-symfony-bundle)

Symfony Demos:

- [Symfony Demo. Takes a local file and creates translation files per locale in php format](https://github.com/samuelvi/translator-symfony-demo-local-file-to-php)
- [Symfony Demo. Takes a google drive spreadsheet and creates translation files per locale in yml format](https://github.com/samuelvi/translator-symfony-demo-google-drive-provider-yml-exporter)
- [Symfony Demo. Takes a microsoft one drive spreadsheet and creates translation files per locale in xliff format](https://github.com/samuelvi/translator-symfony-demo-onedrive-to-xliff)

Requirements
------------

[](#requirements)

- PHP &gt;=8.4
- Symfony &gt;=7.0

Development
-----------

[](#development)

### Quick Start

[](#quick-start)

Get started quickly with the complete setup:

```
# Complete setup: build, start Docker, and install dependencies
make setup

# Run the demo
make demo
```

### Available Commands

[](#available-commands)

Run `make` or `make help` to see all available commands with descriptions.

### Testing

[](#testing)

This project includes a comprehensive test suite with unit, integration, and functional tests.

**Run all tests:**

```
# Run all tests in Docker
make test

# Run all tests locally (without Docker)
make test-local

# Run tests excluding network-dependent tests (for offline development)
make test-no-network
```

**Run specific test suites:**

```
# Unit tests only
make test-unit

# Integration tests only
make test-integration

# Functional tests only
make test-functional

# Generate coverage report
make test-coverage
```

**Run tests with PHPUnit directly:**

```
bin/phpunit

# Run specific test suite
bin/phpunit --testsuite "Unit Tests"

# Exclude network tests (for offline development)
bin/phpunit --exclude-group network

# Run specific test file
bin/phpunit tests/Unit/Command/TranslatorCommandTest.php

# Run specific test method
bin/phpunit --filter testExecuteWithBothOptions tests/Unit/Command/TranslatorCommandTest.php
```

**Test Structure:**

- `tests/Unit/` - Unit tests (isolated component testing with mocks)
- `tests/Integration/` - Integration tests (testing with real services)
- `tests/Functional/` - Functional tests (end-to-end user scenarios)
- `tests/Fixtures/` - Test fixtures and sample data

For detailed testing documentation, see [tests/README.md](tests/README.md).

### Code Quality with Rector

[](#code-quality-with-rector)

This project uses [Rector](https://github.com/rectorphp/rector) to maintain PHP 8.4 compliance and code quality standards.

**Run Rector to check for potential improvements:**

```
# In Docker
make rector-check

# Locally
make rector-local-check
# or
bin/rector process --dry-run
```

**Apply Rector changes:**

```
# In Docker
make rector-fix

# Locally
make rector-local-fix
# or
bin/rector process
```

The rector configuration (`rector.php`) includes:

- PHP 8.4 compliance rules with modern fluent syntax
- Code quality improvements
- Dead code removal and privatization
- Type declaration enhancements
- Early return patterns and strict booleans
- Symfony 7.0 best practices
- Doctrine code quality rules
- PHPUnit 11.0 rules
- Annotations to attributes conversion
- Parallel processing for faster execution

### Quality Checks

[](#quality-checks)

Run comprehensive quality checks before committing:

```
# Run all quality checks (Rector + Tests without network)
make quality-check

# Run all CI checks (includes composer validation)
make ci
```

### Docker Commands

[](#docker-commands)

```
# Build Docker images
make build

# Start services
make up

# Stop services
make down

# Restart services
make restart

# Access PHP container shell
make shell

# View container logs
make logs
```

### Composer Commands

[](#composer-commands)

```
# Install dependencies
make install

# Update dependencies
make composer-update

# Validate composer.json and composer.lock
make composer-validate
```

### Cleanup

[](#cleanup)

```
# Clean generated files, caches, and test artifacts
make clean
```

Contributing
------------

[](#contributing)

We welcome contributions to this project, including pull requests and issues (and discussions on existing issues).

If you'd like to contribute code but aren't sure what, the issues list is a good place to start. If you're a first-time code contributor, you may find Github's guide to [forking projects](https://guides.github.com/activities/forking/) helpful.

All contributors (whether contributing code, involved in issue discussions, or involved in any other way) must abide by our code of conduct.

License
-------

[](#license)

Spreadsheet Translator Symfony Bundle is licensed under the MIT License. See the LICENSE file for full details.

###  Health Score

35

—

LowBetter than 79% of packages

Maintenance69

Regular maintenance activity

Popularity0

Limited adoption so far

Community6

Small or concentrated contributor base

Maturity55

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~8 days

Total

3

Last Release

184d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/10146931?v=4)[Samuel Vicent](/maintainers/samuelvi)[@samuelvi](https://github.com/samuelvi)

---

Top Contributors

[![samuelvi](https://avatars.githubusercontent.com/u/10146931?v=4)](https://github.com/samuelvi "samuelvi (17 commits)")

###  Code Quality

TestsPHPUnit

Static AnalysisRector

### Embed Badge

![Health badge](/badges/samuelvi-translator-symfony-demo-googledrive-to-yml/health.svg)

```
[![Health](https://phpackages.com/badges/samuelvi-translator-symfony-demo-googledrive-to-yml/health.svg)](https://phpackages.com/packages/samuelvi-translator-symfony-demo-googledrive-to-yml)
```

###  Alternatives

[shopware/platform

The Shopware e-commerce core

3.3k1.5M3](/packages/shopware-platform)[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.4k5.6M651](/packages/sylius-sylius)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.0k15.4k](/packages/prestashop-prestashop)[shopware/core

Shopware platform is the core for all Shopware ecommerce products.

595.2M386](/packages/shopware-core)[ec-cube/ec-cube

EC-CUBE EC open platform.

78527.0k1](/packages/ec-cube-ec-cube)[sulu/sulu

Core framework that implements the functionality of the Sulu content management system

1.3k1.3M152](/packages/sulu-sulu)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
