Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Spreadsheet Translator Core Laravel Package

samuelvi/spreadsheet-translator-core

Core library for spreadsheet-translator: parses and converts spreadsheet files into translation resources. Built for Laravel/PHP workflows, enabling import/export of i18n strings from Excel/CSV with a clean, reusable engine for other adapters and apps.

View on GitHub
Deep Wiki
Context7

Spreadsheet Translator Core

The "Spreeadsheet Translator Core" contains the core library for the Spreadsheet Translator functionallity

Symfony Bundle:

  • Symfony Bundle

Symfony Demos:

  • Symfony Demo. Takes a local file and creates translation files per locale in php format
  • Symfony Demo. Takes a google drive spreadsheet and creates translation files per locale in yml format
  • Symfony Demo. Takes an authenticated google drive spreadsheet and creates translation files per locale in php format
  • Symfony Demo. Takes a microsoft one drive spreadsheet and creates translation files per locale in xliff format

Exporters:

  • Yml exporter
  • Php exporter
  • Xliff exporter

Providers:

  • Local file
  • Google drive

Readers:

  • Xlsx
  • Matrix

Requirements

  • PHP >=8.4

Testing

This project contains both unit and integration tests to ensure the quality of the code.

Running the tests

To run the tests, you can use the following command:

make test

This will run all the tests in the tests/ directory.

Test suite

The test suite is composed of two types of tests:

  • Unit tests: These tests are located in the tests/Unit directory and test individual components of the application in isolation.
  • Integration tests: These tests are located in the tests/Integration directory and test the integration of multiple components of the application.

Continuous Integration

The project uses GitHub Actions for automated testing. All tests, code quality checks, and static analysis run automatically on:

  • Push to main/master/develop branches
  • Pull requests

Code Quality Tools

This project uses Rector to maintain code quality and ensure compatibility with PHP 8.4.

Rector Commands

To preview the changes Rector would make without modifying files (dry-run):

vendor/bin/rector process --dry-run

To apply Rector changes automatically:

vendor/bin/rector process

Rector Configuration

The Rector configuration file (rector.php) is set up to:

  • Upgrade code to PHP 8.4 standards
  • Add strict type declarations to all PHP files
  • Improve code quality and remove dead code
  • Add type declarations where possible

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 helpful.

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

License

SpreadsheetTranslator is licensed under the MIT License. See the LICENSE file for full details.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk
adachsoft/changelog-linter
adachsoft/collection
payerurl/telegrambot-crypto-payment-instant-payout
dskripchenko/laravel-hybrid-search
riorizkyrainey/lara-ced
mehedimi/static-vel
zharp/zharp
nonsapiens/bigquery-model-sync
lgu-bayambang-ict-office/lgu-laravel-development-standards
andydefer/laravel-support
se7enxweb/flysystem
lampwick/laravel
jeslage/statamic-emojis
micahdshackelford/rmap-laravel