40 Commits

Author SHA1 Message Date
Inverle
b9abe70690 Add new translate action: move, make i18n-move-key (#8214)
So that renaming something like `conf.shortcut.toggle_sidebar` to `conf.shortcut.toggle_aside` can be done easily even after already having added `conf.shortcut.toggle_sidebar` and translated it in multiple languages.

Example of usage:
```console
./cli/manipulate.translation.php -a move -k conf.shortcut.toggle_sidebar -n conf.shortcut.toggle_aside
```
```console
make i18n-move-key key="conf.shortcut.toggle_sidebar" new-key="conf.shortcut.toggle_aside"
```

The key will be moved and all values/states will be kept.
2025-11-16 18:44:07 +01:00
Alexis Degrugillier
8619ae0779 Bump composer version from 2.5.2 to 2.8.11 (#7966)
Version 2.5.2 was released Feb 4th, 2023.
Version 2.8.11 was released Aug 21st, 2025.
2025-09-15 13:40:54 +02:00
Alexis Degrugillier
de624dc8ce Add new file in i18n (#7917)
When manipulating I18N files, it is now possible to add a new file to all
languages. This action is available both in the manipulation script and
the makefile.
2025-09-05 22:57:34 +02:00
Alexis Degrugillier
8a59dc3402 add target to generate the translation progress (#7905)
* add target to generate the translation progress

* replace short options by long options

This adds a little bit of explanation for someone looking at the code without knowing
how the underlying script is working.

* sort test targets

* sort i18n targets
2025-09-03 06:50:24 +02:00
Alexis Degrugillier
28e0a548c8 Change make help output (#7901)
The new output allows to categorize the targets.
2025-09-02 21:30:11 +02:00
Alexandre Alapetite
f477a261d6 Update dev tools (#7347)
In particular those not covered by Dependabot
2025-02-21 13:57:56 +01:00
Mike
b184dc2698 Fix the Makefile for test and fix targets. (#6913)
The bin/composer dependency was missing from half the targets that
needed it.
The vendor/bin/* targets are all created by a single call to composer,
but were all duplicating the composer call.
The php* tools defined a vendor/bin/php* target, but then proceeded to
create the bin/php* target instead by symlinking from an incorrect path.
php* tools were referenced as vendor/bin/php* even though they were
symlinked to bin/php*.
2024-10-17 15:31:58 +02:00
Alexandre Alapetite
0ea13253af Fix warnings for PHP 8.4+ (#6781) 2024-09-06 10:41:11 +02:00
Alexandre Alapetite
d56d791baf Update composer shfmt typos (#6614) 2024-07-08 12:00:58 +02:00
Frans de Jonge
5d1493ba98 Makefile: add -it to make start to allow for Ctrl+C SIGTERM (#6239) 2024-03-26 21:53:06 +01:00
Alexandre Alapetite
c89073d60e Update dev dependencies (#6023) 2024-01-05 08:45:21 +01:00
Benjamin Reich
8f07199777 add multi arch docker build (#5808)
* Add multi arch container build

Co-authored-by: EdJoPaTo <rfc-conform-git-commit-email@funny-long-domain-label-everyone-hates-as-it-is-too-long.edjopato.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>

* using label from github action

* dont remove static labels and split docker readme in seperate action

* pin 3rd party action to a commit

* enable pushing to dockerhub

* Update .github/workflows/build-images.yml

Co-authored-by: EdJoPaTo <github@edjopato.de>

* remove not needed checkout

* set github token permissions

* Update .github/workflows/push-dockerhub-readme.yml

* update docker readme to match new tags

* Apply suggestions from code review

* fix suffix for alpine image

* fix suffix for alpine image

* push images only at upstream repo

* push images only at upstream repo

* push images only at upstream repo

* tag latest-alpine as alpine

* tag latest-alpine as alpine

* remove no needed falvor

* keep falvor for build

* Clean more things

* Rename action
To use same default name than https://github.com/actions/starter-workflows/blob/main/ci/docker-publish.yml

* Rename readme action
To use same default name than https://github.com/peter-evans/dockerhub-description/blob/main/.github/workflows/dockerhub-description.yml

* Use default name for dockerhub-description
https://github.com/peter-evans/dockerhub-description/blob/main/.github/workflows/dockerhub-description.yml
Plus minor wording

* Experiment with build-args

* Debug

* Add checkout back

* Revert back to metadata-action

* Remove quotes in version

* Try to fix variables

* Experiment with automatic label values again

* Delete last Docker Hub hooks

* Use only git SHA for org.opencontainers.image.revision
https://specs.opencontainers.org/image-spec/annotations/#pre-defined-annotation-keys

* Comment out semver for now
Might be enabled later if desired

* Enable major semver

---------

Co-authored-by: EdJoPaTo <rfc-conform-git-commit-email@funny-long-domain-label-everyone-hates-as-it-is-too-long.edjopato.de>
Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
Co-authored-by: EdJoPaTo <github@edjopato.de>
2023-11-05 22:46:01 +01:00
Alexandre Alapetite
1aa43e894e Dev updates with stylelint-stylistic (#5766)
fix https://github.com/FreshRSS/FreshRSS/issues/5592
2023-10-28 14:38:17 +02:00
Alexandre Alapetite
1d9d4e3e3c Update dev dependencies (#4993)
Related to https://github.com/FreshRSS/FreshRSS/pull/4991
Required a few changes in code to pass the tests
2023-01-09 12:59:30 +01:00
Alexis Degrugillier
adf1c3bd9a Add freshrss network when creating container (#4592)
This will ease the connection between freshrss container and other containers.
2022-09-09 12:56:32 +02:00
Alexandre Alapetite
f365a9aeb4 Update all test dependencies (#4419)
* Update all test dependencies

* Remove old false-positive

* Minor update lock files

* Increase PHPStan memory for Fedora
https://github.com/FreshRSS/FreshRSS/pull/4400#issuecomment-1159514197

* Require PHP8+ for tests
Due to small changes of signature in `ob_implicit_flush` and `simplexml_load_string`, cf. https://github.com/FreshRSS/FreshRSS/pull/4123

* Missing lint in CSS files
2022-06-19 20:08:42 +02:00
Alexandre Alapetite
5a891dc0e4 Update dev dependencies stylelint SASS (#4173)
* Update dev dependencies stylelint SASS
Major update for stylelint with breaking changes
https://stylelint.io/migration-guide/to-14/

Applied automatic SASS migration to current syntax
https://sass-lang.com/documentation/cli/migrator#migrations

And a few manual fixes such as:
https://github.com/stylelint-scss/stylelint-scss/blob/master/src/rules/dollar-variable-no-missing-interpolation/README.md

Other dev dependencies are minor updates.

* RTLCSS

* Fix color-hex-length bug

* Implement make bin/composer

* Update git hash
2022-02-04 15:41:51 +01:00
Alexandre Alapetite
4e2dff4591 Add spell checking with typos (#4138)
* Add spell checking with typos
Implement https://github.com/FreshRSS/FreshRSS/pull/4134#issuecomment-1008027558

* GitHub Actions attempt

* Quiet wget

* Makefile
2022-01-09 18:21:40 +01:00
Alexandre Alapetite
9416f45dd9 GitHub Actions CI optimisation (#3929)
Efforts to reduce the resources used by CI:
* Only one git checkout
* Exclusion of irrelevant directories for several commands
* Fix some rtlcss warnings
* Move some commands from tests.yml to composer.json to make them reusasble
* Initial efforts to take avantage of all that from `make` (help welcome)
2021-10-24 17:25:41 +02:00
Alexandre Alapetite
947e918f05 Travis: Enforce phpcs line length + whitespace (#3488)
* Update Travis line length

* Also check whitespace in CSS files

* Fix line length ext.php

* More syntax, string templates

* Fix exclude-pattern

* Test JS files as well
2021-02-28 12:26:24 +01:00
Alexis Degrugillier
6be9797a26 Update PHPUnit version (#3487)
Tests weren't running with the previous version because of a reserved word in PHP8. The latest version of the library fixes that.
See https://github.com/sebastianbergmann/phpunit/issues/4373 for more
information.
2021-02-27 10:36:11 +01:00
Alexis Degrugillier
d7d39f0736 Change how updating a key works (#3072)
Before, to update a key from the reference language (en), the key was deleted
then created. This way was unproductive for all keys already translated.
Now, the key is updated in all untranslated languages.

See https://github.com/FreshRSS/FreshRSS/pull/3068#issuecomment-646868894
2020-06-22 13:24:55 +02:00
Ed Sandor
baaef3d9f4 3041 en us localization (#3060)
* Initial locaization from international english to United States English

examples:
favourite -> favorite
optimise -> optimize
occured -> occurred
labelled -> labelled
ok -> okay

* More spelling corrections

default English occured->occurred
cancelled -> canceled
labelled -> labeled

* Undo key spelling change

* i18n format and admin.php translating

* Translating admin.php

* more admin.php translating

* Translating conf.php

* Translating feedback.php and format command

* Translating gen.php

* Translating index.php

* Translating sub.php

* Translating user.php

* Translating install.php

* Fix 'there is no idle feed'

* FIx 'there is no feed to refresh"

* Add i18n manipulation option to ignore all unmodified translation keys

* Lint fixes

* Update keys newly add since original branch

* Revert unintenntional ru 'translation'

* Code review revisions

* Fix leading whitespace in ignore_unmodified api

* Update app/i18n/en-us/gen.php

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* Update app/i18n/en-us/admin.php

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* Update app/i18n/en-us/admin.php

Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>

* Update error message for Make ignore-unmodified keys to use Make syntax.
(inline with 3062) Also rename ignore-unmodifed-key ->
ignore-unmodified-keys

* Replace makefile leading spaces with tabs

* Code review revisions

* Retab added php functions

* Missed tab replace

* Remove stray '-> todo'

Co-authored-by: root <root@x-freshrss.lan.ewsandor.com>
Co-authored-by: Frans de Jonge <fransdejonge@gmail.com>
2020-06-19 22:59:27 +02:00
Alexis Degrugillier
7c76e74e33 Update rules to use Make syntax (#3062) 2020-06-15 22:16:22 +02:00
Alexis Degrugillier
0910cf34c7 Add support for extensions in Docker environment (#3042)
By default, the container starts without extensions. But if for some reasons,
you need to add them without copying or moving some code, you can embed them
while starting the container. The syntax is:
```
make start extensions="/full/path/to/extension/1 /full/path/to/extension/2"
```
2020-06-10 23:16:14 +02:00
Alexis Degrugillier
7f76c8e553 Add a language reference while adding a new one (#3044)
Before, all new languages were generated from the reference language which
was English. It makes sense for new languages but not so much for new language
flavor (ex: French Canadian versus French French)
Now, there is a way to select the reference language while adding a new one.
2020-06-10 23:14:47 +02:00
Alexis Degrugillier
8c4d71da2e Add missing translations (#3034)
* Add missing translations

* Add a simple way to check if an i18n key exists

There is a rule in the makefile to access it directly
2020-06-05 20:16:04 +02:00
Alexis Degrugillier
19b94b648b Add a make rule to refresh feeds (#3014) 2020-05-29 20:55:41 +02:00
Frans de Jonge
cf13507349 [i18n] Add a make pot command to Makefile (#3006)
By analogy with <https://github.com/FreshRSS/FreshRSS/pull/2996>.
2020-05-28 23:21:23 +02:00
Alexis Degrugillier
f05408a2e5 Fix makefile when no local php (#3010)
The makefile did not work when there was no local php.
2020-05-28 23:20:53 +02:00
Marien Fressinaud
97881628eb tec: Add a make lint command in the Makefile (#2996) 2020-05-25 19:06:23 +02:00
Marien Fressinaud
8487fa6248 Reformat i18n correctly (#2976)
* Ignore i18n gen.dir key

* Add a makefile target to update an i18n key

* Mark some i18n keys to ignore

* Reformat i18n files correctly

* Make i18n keys sort case-sensitive

Calling `make i18n-format` was always inverting 4 lines:

- gen.date.dec with gen.date.Dec
- and gen.date.nov with gen.date.Nov

I don't know why these particular lines and not the others, but it
appeared the sort function was case insensitive due to the
`SORT_FLAG_CASE` flag passed to the `ksort` function. Removing this flag
makes the calls to the formatter idempotent and more reliable.

Unfortunately it moves a lot of lines since the `_` character is
considered differently.

* Check i18n files are correctly formatted on Travis
2020-05-15 17:31:21 +02:00
Frans de Jonge
182b7b4dde Update RTL CSS files (#2848)
* Update RTL CSS files

* Add RTL for Alternative-Dark, cf. https://github.com/FreshRSS/FreshRSS/pull/2811
* Update RTL for base/Origine
* Also include a `*.rtl.rtl.css` deletion in `make rtl` to work around https://github.com/MohammadYounes/rtlcss/issues/64

* forgot to commit Makefile
2020-03-25 20:08:28 +01:00
Frans de Jonge
25666ec5d3 [UI] Add RTL support with RTLCSS (#2776)
* Add dir info to gen.php & install.php!

* Add `make rtl` command

Using rtlcss because it has actually has a command-line application!
2020-03-01 21:15:17 +01:00
Marien Fressinaud
6bc963569b tec: Add a test target to Makefile (#2725)
* tec: Add a test target to Makefile

Minor edit put php7-phar on third line

I try to keep on the third line the Alpine-specific PHP extensions (i.e.
that are not by default in Ubuntu), and in alphabetic order

Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>

* Allow to run make test without Docker
2019-12-29 13:55:45 +01:00
Marien Fressinaud
82851d2039 Make master the rolling release branch (#2705)
* Change default TAG in Makefile

We are going to drop the `dev` branch. The Docker tag `dev-*` are based
on this branch and so there will be no longer be generated. We must use
images based on the `master` branch (i.e. `latest`, `alpine` and `arm`).

* Remove references to dev branch in documentation

* Synchronize French documentation
2019-12-15 14:08:49 +01:00
Alexis Degrugillier
06ededbecc Add quotes to allow values containing spaces 2019-12-07 12:57:52 +01:00
Alexis Degrugillier
3e49b44839 Update i18n cli tools (#2673)
* Update i18n cli tools

Few things were bugging me when using the cli tool for i18n. So I've modified
the tools to be easier to use.

First, the tool automatically adds missing keys to all languages. This way, we
always have all keys in all languages.
Second, the tool detects all untranslated keys and adds automatically the todo
comment after the value.
Third, when adding a new key, the key is pushed to all languages at once. There
is no need to duplicate it manually. Thus making the duplication process obsolete.
Fourth, translation and ignore keys are manipulated at the same time. Thus we
don't have obsolete ignored strings anymore.

* Add i18n rules

I find that having the common rules in the Makefile is easier to use,
as long as you know they are here. As it is self documented, people
will see the new rules when using make.

* Use long parameters in Makefile

I find that using long parameters in scripts makes it easier to understand
what's going on. So I've switched all short parameters to long one.

* Format all i18n files

I've used the updated version of the cli tools to have some output
that can be consistently formated. This commit is a huge formating
commit. Nothing was added but some comments were removed in the
process.
2019-12-04 08:27:39 +01:00
Frans de Jonge
651cfd0daa Allow easy Docker port override 2019-11-12 20:33:13 +01:00
Marien Fressinaud
ad44ff8169 tec: Add Makefile and Docker conf for development (#2492)
Co-Authored-By: Frans de Jonge <fransdejonge@gmail.com>

Co-Authored-By: Alexandre Alapetite <alexandre@alapetite.fr>
2019-08-29 11:59:32 +02:00