Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Translations loading fix112 #114

Merged

Conversation

sebastienserre
Copy link
Contributor

Pull Request

fix issue #112

What changed?

I have added a function to load the textdomain and make the translations working

Did you fix any specific issues?

fix issue #112

CERTIFICATION

By opening this pull request, I do agree to abide by
the CODE OF CONDUCT and be bound by the terms
of the Contribution Guidelines in effect on the date and time
of my contribution as proven by the
revision information in GitHub. I also agree that any previous contributions shall be deemed subject to the terms of the
version in effect on the date and time of this pull request, or any future revisions for pull requests I may submit.
Further, I certify that this work is my own, is original, does not violate the intellectual property of any other person
or entity, and I am not violating any license agreements or contracts I have with any person or entity. Finally, I agree
that this code may be licensed under any license deemed appropraite by AspirePress, including but not
limited to open source, closed source, proprietary or custom licenses, and that such license terms neither violate my
rights or my copyright to this code.

@sebastienserre sebastienserre marked this pull request as draft November 4, 2024 08:46
@sebastienserre sebastienserre marked this pull request as ready for review November 4, 2024 08:46
@sebastienserre
Copy link
Contributor Author

@namithj , I didn't find how to add you as reviewer.

@namithj
Copy link
Contributor

namithj commented Nov 4, 2024

Can you move this to the controller class

@ipajen ipajen requested a review from namithj November 4, 2024 08:54
@namithj
Copy link
Contributor

namithj commented Nov 4, 2024

@asirota should we actually do this. The languages loading is automatic in Wordpress (not sure from which version), this can serve for older versions though, no harm in adding it. Only problem I see is, people might not fully follow the naming conventions required for autoloading.

@sebastienserre
Copy link
Contributor Author

done @namithj

@asirota
Copy link
Member

asirota commented Nov 4, 2024

Well done. Thank you @sebastienserre for making AspireUpdate load translations that we get submitted. Eventually we will use something like glotpress but for now they will be part of the plugin.

@asirota asirota merged commit c93691f into aspirepress:main Nov 4, 2024
2 checks passed
@asirota asirota added the i18n Internationalization & Localization label Nov 4, 2024
@asirota asirota self-assigned this Nov 4, 2024
@asirota asirota added this to the Phase 1 milestone Nov 4, 2024
@afragen
Copy link
Contributor

afragen commented Nov 4, 2024

@asirota should we actually do this. The languages loading is automatic in Wordpress (not sure from which version), this can serve for older versions though, no harm in adding it. Only problem I see is, people might not fully follow the naming conventions required for autoloading.

Since WP 4.6 it should be unnecessary to use load_plugin_textdomain()

@asirota
Copy link
Member

asirota commented Nov 4, 2024

Since WP 4.6 it should be unnecessary to use load_plugin_textdomain()

Is there a better approach we can use?

@namithj
Copy link
Contributor

namithj commented Nov 4, 2024

It should have been unnecessary, but apparently the translations are not loading without it. This was the original prescribed method so nothing wrong in having it there.

@afragen
Copy link
Contributor

afragen commented Nov 4, 2024

So yes, as of WP 4.6 translation files that are stored in the WP_LANG_DIR/plugins or WP_LANG_DIR/themes. Files stored within the plugin's languages folder I believe it's still required to use load_plugin_textdomain() which should be loaded in the init hook.

There are a few methods of decoupled language packs that load the translation files into the WP_LANG_DIR/plugins and therefore are automatically loaded.

https://github.com/wearerequired/traduttore
https://github.com/afragen/translations-updater

I think both of the above will update languages packs separately from the plugin and load the packs into the WP_LANG_DIR/plugins folder.

@sebastienserre
Copy link
Contributor Author

On my side, the French translation was correctly loaded in the plugin list (plugin description) without the load_plugin_textdomain().
Only plugin settings were not correctly loaded which is maybe the sign of a bug inside the plugin.

asirota added a commit that referenced this pull request Nov 5, 2024
* Prevent Recursion on certain Host name patterns (#69)

---------

Signed-off-by: Namith Jawahar <[email protected]>

* Playground ready updating into main (#71)

* Update blueprint.json

Switching to default theme of 2022 to support minimum WP Playground support for WordPress version as 5.9.9

Signed-off-by: Namith Jawahar <[email protected]>

* Switching blueprint.json to 2022 theme

Signed-off-by: Alex Sirota <[email protected]>

---------

Signed-off-by: Alex Sirota <[email protected]>
Signed-off-by: Namith Jawahar <[email protected]>

* `Add New Plugin`: Remove 'Featured' and 'Favorites' tabs when API rewrite is enabled. (#80)

* Add class for overriding plugins screens.

* Remove unused tabs when API rewrite is enabled.

* `Add New Theme`: Remove 'Favorites' filter tab when API rewrite is enabled. (#82)

* Add class for overriding themes screens.

* Hide unsupported filters.

* Redirect unsupported filters to `theme-install.php`.

---------

Signed-off-by: Alex Sirota <[email protected]>
Co-authored-by: Alex Sirota <[email protected]>

* Add PHPUnit. (#87)

* Add PHPUnit scaffolding.

* Add Composer files for dependencies and test script.

* Add `.gitignore`.

* Add sample test for `Admin_Settings::get_setting()`.

* Add PHP 8.3 to the test matrix.

* Add `.cache/*` to `.gitignore`.

* Limit testing to PHP 7.4 (minimum) and 8.3 (latest).

* `Plugins Screens`: Initialize in `Controller::__construct()`. (#89)

* `Workflows`: Fix PHP version and add more workflow triggers. (#92)

* Fix PHP version.

* Add `push` and `workflow_dispatch` workflow triggers.

* `Tests`: Ensure options are not set when tests run. (#95)

* Introduce a test constant.

* Don't initialize when the tests are running.

* Use a new object for testing `Admin_Settings::get_setting()`.

* Warning when debug-aspire-update.log doesnt exist (#109)

* `Tests`: Add default coverage settings. (#97)

* Improve I18N Issues Based on version 0.5 (#104)

* Fixes Settings not getting saved when rewrites were turned off (#108)

* Add French Translation (#105)

* I18n fr fr (#113)

* Translations loading fix112 (#114)

* Add French translations. 

* load any available translations with code in the plugin

* #110 (#116)

Fixes #110

* Add nonce verification and sanitize `$_REQUEST/$_GET` values. (#115)

Signed-off-by: Colin Stewart <[email protected]>

* Added German Translation (#111)

* added German translation

* added gitignore for .DS_Store


Signed-off-by: Harikrishnan R <[email protected]>

* Voltron has landed. (#117)

The Voltron has landed. See if you can find where.

* `Admin Settings`: Delete all settings when the plugin is uninstalled. (#118)

* `Admin Settings`: Add multisite-safe deletion of all settings.

* Delete all settings when the plugin is uninstalled.

* add multisite support (#102)

* accidentally deleted (#124)

Fixed typo in code deleted when addressing #102

* Add `.editorconfig`. (#123)

* create zip with each new tagged release (#121)

* create zip with each new tagged release

* update .gitattributes

---------

Signed-off-by: Namith Jawahar <[email protected]>
Signed-off-by: Alex Sirota <[email protected]>
Signed-off-by: Colin Stewart <[email protected]>
Signed-off-by: Harikrishnan R <[email protected]>
Co-authored-by: Namith Jawahar <[email protected]>
Co-authored-by: Colin Stewart <[email protected]>
Co-authored-by: Alex Lion <[email protected]>
Co-authored-by: Sébastien SERRE <[email protected]>
Co-authored-by: Harikrishnan R <[email protected]>
Co-authored-by: Andy Fragen <[email protected]>
asirota added a commit that referenced this pull request Nov 5, 2024
* Prevent Recursion on certain Host name patterns (#69)

---------

Signed-off-by: Namith Jawahar <[email protected]>

* Playground ready updating into main (#71)

* Update blueprint.json

Switching to default theme of 2022 to support minimum WP Playground support for WordPress version as 5.9.9

Signed-off-by: Namith Jawahar <[email protected]>

* Switching blueprint.json to 2022 theme

Signed-off-by: Alex Sirota <[email protected]>

---------

Signed-off-by: Alex Sirota <[email protected]>
Signed-off-by: Namith Jawahar <[email protected]>

* `Add New Plugin`: Remove 'Featured' and 'Favorites' tabs when API rewrite is enabled. (#80)

* Add class for overriding plugins screens.

* Remove unused tabs when API rewrite is enabled.

* `Add New Theme`: Remove 'Favorites' filter tab when API rewrite is enabled. (#82)

* Add class for overriding themes screens.

* Hide unsupported filters.

* Redirect unsupported filters to `theme-install.php`.

---------

Signed-off-by: Alex Sirota <[email protected]>
Co-authored-by: Alex Sirota <[email protected]>

* Add PHPUnit. (#87)

* Add PHPUnit scaffolding.

* Add Composer files for dependencies and test script.

* Add `.gitignore`.

* Add sample test for `Admin_Settings::get_setting()`.

* Add PHP 8.3 to the test matrix.

* Add `.cache/*` to `.gitignore`.

* Limit testing to PHP 7.4 (minimum) and 8.3 (latest).

* `Plugins Screens`: Initialize in `Controller::__construct()`. (#89)

* `Workflows`: Fix PHP version and add more workflow triggers. (#92)

* Fix PHP version.

* Add `push` and `workflow_dispatch` workflow triggers.

* `Tests`: Ensure options are not set when tests run. (#95)

* Introduce a test constant.

* Don't initialize when the tests are running.

* Use a new object for testing `Admin_Settings::get_setting()`.

* Warning when debug-aspire-update.log doesnt exist (#109)

* `Tests`: Add default coverage settings. (#97)

* Improve I18N Issues Based on version 0.5 (#104)

* Fixes Settings not getting saved when rewrites were turned off (#108)

* Add French Translation (#105)

* I18n fr fr (#113)

* Translations loading fix112 (#114)

* Add French translations. 

* load any available translations with code in the plugin

* #110 (#116)

Fixes #110

* Add nonce verification and sanitize `$_REQUEST/$_GET` values. (#115)

Signed-off-by: Colin Stewart <[email protected]>

* Added German Translation (#111)

* added German translation

* added gitignore for .DS_Store


Signed-off-by: Harikrishnan R <[email protected]>

* Voltron has landed. (#117)

The Voltron has landed. See if you can find where.

* `Admin Settings`: Delete all settings when the plugin is uninstalled. (#118)

* `Admin Settings`: Add multisite-safe deletion of all settings.

* Delete all settings when the plugin is uninstalled.

* add multisite support (#102)

* accidentally deleted (#124)

Fixed typo in code deleted when addressing #102

* Add `.editorconfig`. (#123)

* create zip with each new tagged release (#121)

* create zip with each new tagged release

* update .gitattributes

* Cleanup after `.editorconfig` was added to the repository. (#126)

* Add coding standard. (#127)

* Add Coding Standard.

* Add PHPCS cache directory.

* Coding Standards: Apply PHPCBF to codebase.

* Coding Standards: Add GitHub workflow.

---------

Signed-off-by: Alex Sirota <[email protected]>
Co-authored-by: Alex Sirota <[email protected]>

---------

Signed-off-by: Namith Jawahar <[email protected]>
Signed-off-by: Alex Sirota <[email protected]>
Signed-off-by: Colin Stewart <[email protected]>
Signed-off-by: Harikrishnan R <[email protected]>
Co-authored-by: Namith Jawahar <[email protected]>
Co-authored-by: Colin Stewart <[email protected]>
Co-authored-by: Alex Lion <[email protected]>
Co-authored-by: Sébastien SERRE <[email protected]>
Co-authored-by: Harikrishnan R <[email protected]>
Co-authored-by: Andy Fragen <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
i18n Internationalization & Localization
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

4 participants