Replace translation status flags with text section (#7842)
* Replace translation status flags with text section * make fix-all * Update README.md Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> * Improve with suggestions * Improve with further suggestions * fix headers * BCP 47 https://developer.mozilla.org/en-US/docs/Glossary/BCP_47_language_tag * en-US: `TODO` -> `IGNORE` * i18n: fr * i18n: fr * i18n: fr * Links --------- Co-authored-by: maTh <1645099+math-GH@users.noreply.github.com> Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
45
README.fr.md
@@ -1,12 +1,5 @@
|
||||
[](https://liberapay.com/FreshRSS/donate)
|
||||
|
||||
<translations>
|
||||
<!-- This section is automatically generated by `cli/check.translation.php -g` -->
|
||||
|
||||
[](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-us+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-br+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-pt+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-cn+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-tw+%2F%28TODO%7CDIRTY%29%24%2F)
|
||||
|
||||
</translations>
|
||||
|
||||
* Lire ce document sur [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/edge/README.md) pour avoir les images et liens corrects.
|
||||
* [English version](README.md)
|
||||
|
||||
@@ -14,7 +7,7 @@
|
||||
|
||||
FreshRSS est un agrégateur de flux RSS à auto-héberger.
|
||||
|
||||
Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable.
|
||||
Il se veut léger et facile à prendre en main tout en étant un outil puissant et paramétrable, et [traduit](#internationalisation--20-langues-statut-des-traductions) en nombreuses langues.
|
||||
|
||||
Il permet de gérer plusieurs utilisateurs, dispose d’un mode de lecture anonyme, et supporte les étiquettes personnalisées.
|
||||
Il y a une API pour les clients (mobiles), ainsi qu’une [interface en ligne de commande](cli/README.md).
|
||||
@@ -226,6 +219,42 @@ Le processus d’import/export à l’aide d’une base de données SQLite est u
|
||||
FreshRSS permet l’ajout d’extensions en plus des fonctionnalités natives.
|
||||
Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensions).
|
||||
|
||||
# Internationalisation : 20+ langues. Statut des traductions
|
||||
|
||||
<translations>
|
||||
<!-- This section is automatically generated by `./cli/check.translation.php -g` -->
|
||||
|
||||
| Langage | Progression | |
|
||||
| - | - | - |
|
||||
| Čeština (cs) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Deutsch (de) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Ελληνικά (el) | ■■・・・・・・・・ 22% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| English (en) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| English (United States) (en-US) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-us+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Español (es) | ■■■■■■■■■・ 91% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| فارسی (fa) | ■■■■■■■■■・ 97% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Français (fr) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| עברית (he) | ■■■■・・・・・・ 45% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Magyar (hu) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Bahasa Indonesia (id) | ■■■■■■■■■・ 97% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Italiano (it) | ■■■■■■■■■・ 96% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 日本語 (ja) | ■■■■■■■■■・ 95% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 한국어 (ko) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Latviešu (lv) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Nederlands (nl) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Occitan (oc) | ■■■■■■■■・・ 81% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Polski (pl) | ■■■■■■■■■■ 100% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Português (Brasil) (pt-BR) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-br+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Português (Portugal) (pt-PT) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-pt+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Русский (ru) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Slovenčina (sk) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Türkçe (tr) | ■■■■■■■■■・ 96% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Українська (uk) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 简体中文 (zh-CN) | ■■■■■■■■■・ 90% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-cn+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 正體中文 (zh-TW) | ■■■■■■■■・・ 88% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-tw+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
|
||||
</translations>
|
||||
|
||||
# APIs et applications natives
|
||||
|
||||
|
||||
45
README.md
@@ -1,12 +1,5 @@
|
||||
[](https://liberapay.com/FreshRSS/donate)
|
||||
|
||||
<translations>
|
||||
<!-- This section is automatically generated by `cli/check.translation.php -g` -->
|
||||
|
||||
[](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-us+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-br+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-pt+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-cn+%2F%28TODO%7CDIRTY%29%24%2F) [](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-tw+%2F%28TODO%7CDIRTY%29%24%2F)
|
||||
|
||||
</translations>
|
||||
|
||||
* Read this document on [github.com/FreshRSS/FreshRSS/](https://github.com/FreshRSS/FreshRSS/blob/edge/README.md) to get the correct links and pictures.
|
||||
* [Version française](README.fr.md)
|
||||
|
||||
@@ -14,7 +7,7 @@
|
||||
|
||||
FreshRSS is a self-hosted RSS feed aggregator.
|
||||
|
||||
It is lightweight, easy to work with, powerful, and customizable.
|
||||
It is lightweight, easy to work with, powerful, customizable, and has been [translated](#internationalization-20-languages-translation-progress) into many languages.
|
||||
|
||||
It is a multi-user application with an anonymous reading mode. It supports custom tags.
|
||||
There is an API for (mobile) clients, and a [Command-Line Interface](cli/README.md).
|
||||
@@ -124,6 +117,42 @@ More detailed information about installation and server configuration can be fou
|
||||
FreshRSS supports further customizations by adding extensions on top of its core functionality.
|
||||
See the [repository dedicated to those extensions](https://github.com/FreshRSS/Extensions).
|
||||
|
||||
# Internationalization: 20+ languages. Translation progress
|
||||
|
||||
<translations>
|
||||
<!-- This section is automatically generated by `./cli/check.translation.php -g` -->
|
||||
|
||||
| Language | Progress | |
|
||||
| - | - | - |
|
||||
| Čeština (cs) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Deutsch (de) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Ελληνικά (el) | ■■・・・・・・・・ 22% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| English (en) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| English (United States) (en-US) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fen-us+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Español (es) | ■■■■■■■■■・ 91% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| فارسی (fa) | ■■■■■■■■■・ 97% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Suomi (fi) | ■■■■■■■■■・ 92% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffi+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Français (fr) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffr+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| עברית (he) | ■■■■・・・・・・ 45% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Magyar (hu) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Bahasa Indonesia (id) | ■■■■■■■■■・ 97% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Italiano (it) | ■■■■■■■■■・ 96% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 日本語 (ja) | ■■■■■■■■■・ 95% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 한국어 (ko) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Latviešu (lv) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Nederlands (nl) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Occitan (oc) | ■■■■■■■■・・ 81% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Polski (pl) | ■■■■■■■■■■ 100% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Português (Brasil) (pt-BR) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-br+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Português (Portugal) (pt-PT) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-pt+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Русский (ru) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Slovenčina (sk) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Türkçe (tr) | ■■■■■■■■■・ 96% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| Українська (uk) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 简体中文 (zh-CN) | ■■■■■■■■■・ 90% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-cn+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
| 正體中文 (zh-TW) | ■■■■■■■■・・ 88% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-tw+%2F%28TODO%7CDIRTY%29%24%2F) |
|
||||
|
||||
</translations>
|
||||
|
||||
# APIs & native apps
|
||||
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Včera',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇨🇿',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'O FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'týdnů',
|
||||
'years' => 'let',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Známé základní stránky',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Gestern',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇩🇪',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Über FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'Wochen',
|
||||
'years' => 'Jahre',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known-Seite (https://withknown.com)',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Yesterday', // TODO
|
||||
),
|
||||
'dir' => 'ltr', // TODO
|
||||
'flag' => '🇬🇷',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // TODO
|
||||
'about' => 'About FreshRSS', // TODO
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'weeks', // TODO
|
||||
'years' => 'years', // TODO
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known based sites', // TODO
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -14,10 +14,10 @@ return array(
|
||||
'information' => array(
|
||||
'address' => 'Your API address:', // IGNORE
|
||||
'output' => array(
|
||||
'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // TODO
|
||||
'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // TODO
|
||||
'pass' => '✔️ PASS', // TODO
|
||||
'unknown-error' => '❌ ', // TODO
|
||||
'encoding-support' => '⚠️ WARN: no <code>%2F</code> support, some clients might not work!', // IGNORE
|
||||
'invalid-configuration' => '⚠️ WARN: Probable invalid base URL in ./data/config.php', // IGNORE
|
||||
'pass' => '✔️ PASS', // IGNORE
|
||||
'unknown-error' => '❌ ', // IGNORE
|
||||
),
|
||||
'test' => array(
|
||||
'fever' => 'Fever API configuration test:', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Yesterday', // IGNORE
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇺🇸',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'About FreshRSS', // IGNORE
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'weeks', // IGNORE
|
||||
'years' => 'years', // IGNORE
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known based sites', // IGNORE
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Yesterday',
|
||||
),
|
||||
'dir' => 'ltr',
|
||||
'flag' => '🇬🇧',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS',
|
||||
'about' => 'About FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'weeks',
|
||||
'years' => 'years',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute',
|
||||
'language' => 'Language',
|
||||
'translated' => 'Progress',
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known based sites',
|
||||
'archiveIS' => 'archive.is',
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Ayer',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇪🇸',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Acerca de FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'semanas',
|
||||
'years' => 'años',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Sitios basados en conocidos',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => ' دیروز',
|
||||
),
|
||||
'dir' => 'rtl',
|
||||
'flag' => '🇮🇷',
|
||||
'freshrss' => array(
|
||||
'_' => ' FreshRSS',
|
||||
'about' => 'درباره FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => ' هفته',
|
||||
'years' => ' سال',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => ' سایت های مبتنی بر شناخته شده',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Eilen',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇫🇮',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Tietoja FreshRSS-sovelluksesta',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'viikkoa',
|
||||
'years' => 'vuotta',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known-sivustot',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Hier',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇫🇷',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'À propos de FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'semaines',
|
||||
'years' => 'années',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribuer',
|
||||
'language' => 'Langage',
|
||||
'translated' => 'Progression',
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Sites basés sur Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'אתמול',
|
||||
),
|
||||
'dir' => 'rtl',
|
||||
'flag' => '🇮🇱',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // TODO
|
||||
'about' => 'אודות FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'weeks', // TODO
|
||||
'years' => 'years', // TODO
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known based sites', // TODO
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Tegnap',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇭🇺',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'FreshRSS névjegy',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'hét',
|
||||
'years' => 'év',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Ismert weboldalak',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Kemarin',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇮🇩',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Tentang FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'minggu',
|
||||
'years' => 'tahun',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Situs berbasis Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Ieri',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇮🇹',
|
||||
'freshrss' => array(
|
||||
'_' => 'Feed RSS Reader',
|
||||
'about' => 'Informazioni',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'settimane',
|
||||
'years' => 'anni',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Siti basati su Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => '昨日',
|
||||
),
|
||||
'dir' => 'ディレクトリ',
|
||||
'flag' => '🇯🇵',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'FreshRSSについて',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => '週間',
|
||||
'years' => '年間',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'よく使われるサイト',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => '어제',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇰🇷',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => '정보',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => '주',
|
||||
'years' => '년',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known based sites', // IGNORE
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Vakar',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇱🇻',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // TODO
|
||||
'about' => 'Par FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'nedēļas',
|
||||
'years' => 'gadi',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Zināmas vietnes',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Gisteren',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇳🇱',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Over FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'weken',
|
||||
'years' => 'jaren',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Known-gebaseerde sites',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Ièr',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🏴',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'A prepaus de FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'setmanas',
|
||||
'years' => 'ans',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Sites basats sus Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Wczorajsze',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇵🇱',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'O oprogramowaniu FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'tygodnie',
|
||||
'years' => 'lata',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Strony bazujące na usłudze Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Ontem',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇧🇷',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Sobre FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'semanas',
|
||||
'years' => 'anos',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Sites no Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Ontem',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇵🇹',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Sobre FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'semanas',
|
||||
'years' => 'anos',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Sites no Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Вчера',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇷🇺',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'О FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'недель',
|
||||
'years' => 'лет',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Сайты на Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Včera',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇸🇰',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'O FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'týždne',
|
||||
'years' => 'roky',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Stránky založené na Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Dün',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇹🇷',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'FreshRSS Hakkında',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'hafta',
|
||||
'years' => 'yıl',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Bilinen tabanlı siteler',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => 'Вчора',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇺🇦',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => 'Про FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => 'тижд',
|
||||
'years' => 'р.',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // TODO
|
||||
'language' => 'Language', // TODO
|
||||
'translated' => 'Progress', // TODO
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => 'Сайти на Known',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => '昨天',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇨🇳',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => '关于 FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => '周',
|
||||
'years' => '年',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => '基于 Known 的站点',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -136,7 +136,6 @@ return array(
|
||||
'yesterday' => '昨天',
|
||||
),
|
||||
'dir' => 'ltr', // IGNORE
|
||||
'flag' => '🇹🇼',
|
||||
'freshrss' => array(
|
||||
'_' => 'FreshRSS', // IGNORE
|
||||
'about' => '關於 FreshRSS',
|
||||
@@ -217,6 +216,11 @@ return array(
|
||||
'weeks' => '週',
|
||||
'years' => '年',
|
||||
),
|
||||
'readme' => array(
|
||||
'contribute' => 'contribute', // IGNORE
|
||||
'language' => 'Language', // IGNORE
|
||||
'translated' => 'Progress', // IGNORE
|
||||
),
|
||||
'share' => array(
|
||||
'Known' => '基於 Known 的站點',
|
||||
'archiveIS' => 'archive.is', // IGNORE
|
||||
|
||||
@@ -149,13 +149,13 @@ cd /usr/share/FreshRSS
|
||||
# -r, --revert revert the action (only used with ignore action).
|
||||
# -o, --origin-language selects the origin language (only used with add language action).
|
||||
|
||||
./cli/check-translation.php [ ---display-result --help --language fr --display-report --generate-readme ]
|
||||
./cli/check.translation.php [ ---display-result --help --language fr --display-report --generate-readme ]
|
||||
# Check if translation files have missing keys or missing translations.
|
||||
# -d, --display-result display results of check.
|
||||
# -h, --help display help text and exit.
|
||||
# -l, --language set the language check.
|
||||
# -r, --display-report display completion report.
|
||||
# -g, --generate-readme generate readme for translation status.
|
||||
# -g, --generate-readme generate translation progress section in readme.
|
||||
```
|
||||
|
||||
## Note about cron
|
||||
|
||||
@@ -74,7 +74,22 @@ if ($cliOptions->displayReport) {
|
||||
}
|
||||
}
|
||||
|
||||
function writeToReadme(string $readmePath, string $markdownImgStr): void {
|
||||
function writeToReadme(string $readmePath, string $markdownTable): void {
|
||||
$language = explode('.', $readmePath)[1];
|
||||
// expecting `README.md` for `en` or `README.fr.md` for `fr`
|
||||
if ($language === 'md') {
|
||||
$language = 'en';
|
||||
}
|
||||
Minz_Translate::init($language);
|
||||
$placeholders = [];
|
||||
if (preg_match_all('/__.*?__/', $markdownTable, $placeholders) === false) {
|
||||
echo 'Error: Fail while matching translation placeholders', PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
foreach (array_unique($placeholders[0]) as $_ => $placeholder) {
|
||||
$markdownTable = str_replace($placeholder, _t('gen.readme.' . substr($placeholder, 2, -2)), $markdownTable);
|
||||
}
|
||||
|
||||
$readme = file_get_contents($readmePath);
|
||||
if ($readme === false) {
|
||||
echo 'Error: Unable to open ' . $readmePath, PHP_EOL;
|
||||
@@ -82,9 +97,9 @@ function writeToReadme(string $readmePath, string $markdownImgStr): void {
|
||||
}
|
||||
if (file_put_contents($readmePath, preg_replace('/<translations>(.*?)<\/translations>/s', <<<EOF
|
||||
<translations>
|
||||
<!-- This section is automatically generated by `cli/check.translation.php -g` -->
|
||||
<!-- This section is automatically generated by `./cli/check.translation.php -g` -->
|
||||
|
||||
$markdownImgStr
|
||||
$markdownTable
|
||||
|
||||
</translations>
|
||||
EOF, $readme)) === false) {
|
||||
@@ -94,90 +109,41 @@ function writeToReadme(string $readmePath, string $markdownImgStr): void {
|
||||
echo 'Successfully written translation status into ' . $readmePath, PHP_EOL;
|
||||
}
|
||||
|
||||
function embedSvg(string $contents): string {
|
||||
return preg_replace(
|
||||
'/<svg\s+(?:(?:[^>]*?)(xmlns=["\'][^"\']+["\']))?(?:(?:[^>]*?)(viewBox=["\'][^"\']+["\']))?(?:[^>]*?)>/i',
|
||||
'<svg \1 \2 width="16" height="16" x="9" y="2">',
|
||||
$contents
|
||||
) ?? '';
|
||||
}
|
||||
|
||||
if ($cliOptions->generateReadme) {
|
||||
$supportedFormats = ['txt', 'svg'];
|
||||
$flagsDir = dirname(__DIR__) . '/docs/i18n/flags';
|
||||
$markdownTable = <<<EOF
|
||||
| __language__ | __translated__ | |
|
||||
| - | - | - |
|
||||
EOF;
|
||||
$markdownTable .= "\n";
|
||||
|
||||
$markdownImgStr = '';
|
||||
foreach ($percentage as $lang => $value) {
|
||||
$percentageInt = intval(rtrim($value, '%'));
|
||||
$color = 'green';
|
||||
if ($percentageInt < 90) {
|
||||
$color = 'gold';
|
||||
}
|
||||
if ($percentageInt < 70) {
|
||||
$color = 'darkred';
|
||||
}
|
||||
$svgFile = $flagsDir . '/' . $lang . '.svg';
|
||||
$svg = '';
|
||||
if (file_exists($svgFile)) {
|
||||
$svg = file_get_contents($svgFile);
|
||||
if ($svg === false) {
|
||||
echo 'Error: Unable to open ' . $svgFile, PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
$completed = intval($percentageInt / 10);
|
||||
$uncompleted = intval(ceil((100 - $percentageInt) / 10));
|
||||
$progressBar = str_repeat('■', $completed) . str_repeat('・', $uncompleted);
|
||||
|
||||
$ghSearchUrl = 'https://github.com/search?q=' . urlencode("repo:FreshRSS/FreshRSS path:app/i18n/$lang /(TODO|DIRTY)$/");
|
||||
$genPath = $flagsDir . '/gen/' . $lang . '.svg';
|
||||
$template = '<!-- This file is automatically generated by `cli/check.translation.php -g` -->' . "\n";
|
||||
|
||||
if ($svg === '') {
|
||||
$i18nGen = include dirname(__DIR__) . "/app/i18n/$lang/gen.php";
|
||||
if (!is_array($i18nGen) || !is_string($i18nGen['flag'] ?? null)) {
|
||||
echo 'Error: No Unicode flag found for language ' . $lang, PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
$unicodeFlag = $i18nGen['flag'];
|
||||
if ($lang !== 'en' && $unicodeFlag === '🇬🇧') {
|
||||
echo 'Error: Wrong Unicode flag for language ' . $lang, PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
$value = $unicodeFlag . ' ' . $percentageInt . '%';
|
||||
$template .= <<<EOF
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="$color" />
|
||||
<text x="34" y="14">$value</text>
|
||||
</g>
|
||||
</svg>
|
||||
EOF;
|
||||
} else {
|
||||
// An SVG file is available to override the Unicode flag
|
||||
$value = $percentageInt . '%';
|
||||
$contents = embedSvg($svg);
|
||||
$template .= <<<EOF
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="$color" />
|
||||
<!-- embedded SVG -->
|
||||
$contents
|
||||
<!-- end of embedded SVG -->
|
||||
<text x="43" y="14">$value</text>
|
||||
</g>
|
||||
</svg>
|
||||
EOF;
|
||||
// BCP 47 / ISO 3166: Uppercase the last (region) subtag if any (e.g. pt-pt -> pt-PT)
|
||||
$bcp47 = $lang;
|
||||
if (str_contains($bcp47, '-')) {
|
||||
$parts = explode('-', $bcp47);
|
||||
$parts[count($parts) - 1] = strtoupper($parts[count($parts) - 1]);
|
||||
$bcp47 = implode('-', $parts);
|
||||
}
|
||||
if (file_put_contents($genPath, $template) === false) {
|
||||
echo 'Error: Fail while writing to ' . $genPath, PHP_EOL;
|
||||
exit(1);
|
||||
}
|
||||
$markdownImgStr .= "[]($ghSearchUrl) ";
|
||||
|
||||
$markdownTable .= '| ' . implode(' | ', [
|
||||
_t('gen.lang.' . $lang) . " ($bcp47)",
|
||||
$progressBar . ' ' . $percentageInt . '%',
|
||||
"[__contribute__]($ghSearchUrl)",
|
||||
]) . " |\n";
|
||||
}
|
||||
// In case we're located in ./cli/
|
||||
if (!file_exists('constants.php')) {
|
||||
chdir('..');
|
||||
}
|
||||
foreach (array_merge(['README.md'], glob('README.*.md') ?: []) as $readmePath) {
|
||||
writeToReadme($readmePath, rtrim($markdownImgStr));
|
||||
writeToReadme($readmePath, rtrim($markdownTable));
|
||||
}
|
||||
exit();
|
||||
}
|
||||
@@ -233,7 +199,7 @@ DESCRIPTION
|
||||
-h, --help display this help and exit.
|
||||
-l, --language=LANG filter by LANG.
|
||||
-r, --display-report display completion report.
|
||||
-g, --generate-readme generate readme for translation status.
|
||||
-g, --generate-readme generate translation progress section in readme.
|
||||
|
||||
HELP;
|
||||
exit();
|
||||
|
||||
@@ -1,5 +0,0 @@
|
||||
Used by [check.translation.php](../../../cli/check.translation.php)
|
||||
|
||||
See also the translation key `gen.flag` for Unicode flags.
|
||||
|
||||
Put an SVG here when the Unicode flag does not exist or does not have sufficient implementation support.
|
||||
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇨🇿 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇩🇪 99%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="darkred" />
|
||||
<text x="34" y="14">🇬🇷 22%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 330 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇺🇸 99%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇬🇧 100%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 329 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇪🇸 91%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇮🇷 97%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇫🇮 92%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇫🇷 100%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 329 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="darkred" />
|
||||
<text x="34" y="14">🇮🇱 45%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 330 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇭🇺 99%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇮🇩 97%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇮🇹 96%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇯🇵 95%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇰🇷 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇱🇻 82%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇳🇱 99%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,10 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<!-- embedded SVG -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 797.96 530.973" width="16" height="16" x="9" y="2"><path fill="#d4001c" d="M0 0h797.96v530.973H0z"/><g fill="#fddd00"><path d="m184.195 267 9.126 7.138c14.632 11.443 38.501 35.909 45.015 77.3l1.721 10.924 8.361-7.312c14.038-12.277 55.754-44.434 116.757-53.224-8.792 61.003-40.948 102.718-53.224 116.756l-7.313 8.361 10.924 1.721c41.392 6.515 65.857 30.383 77.301 45.015l7.137 9.126 7.138-9.126c11.443-14.632 35.908-38.5 77.3-45.015l10.924-1.721-7.313-8.361c-12.276-14.038-44.432-55.753-53.224-116.756 61.003 8.79 102.719 40.947 116.757 53.224l8.361 7.312 1.72-10.924c6.515-41.391 30.384-65.857 45.015-77.3l9.127-7.138-9.127-7.138c-14.631-11.443-38.5-35.908-45.015-77.299l-1.72-10.925-8.361 7.312c-14.038 12.277-55.754 44.434-116.757 53.225 8.792-61.003 40.948-102.719 53.224-116.756l7.313-8.362-10.924-1.72c-41.392-6.516-65.857-30.384-77.3-45.016L400 51.195l-7.137 9.126c-11.444 14.632-35.909 38.5-77.301 45.016l-10.924 1.72 7.313 8.362c12.276 14.037 44.432 55.753 53.224 116.756-61.003-8.791-102.719-40.948-116.757-53.225l-8.361-7.312-1.721 10.925c-6.514 41.391-30.383 65.856-45.015 77.299zm35.126 0c27.829-25.798 34.255-54.425 34.255-54.425 40.626 34.242 103.986 41.96 135.665 43.666-1.707-31.679-9.424-95.039-43.666-135.666 0 0 28.626-6.425 54.425-34.255 25.799 27.83 54.425 34.255 54.425 34.255-34.242 40.627-41.959 103.987-43.666 135.666 31.679-1.706 95.039-9.424 135.665-43.666 0 0 6.426 28.627 34.255 54.425-27.829 25.799-34.255 54.425-34.255 54.425-40.626-34.242-103.986-41.96-135.665-43.666 1.707 31.679 9.424 95.039 43.666 135.666 0 0-28.626 6.425-54.425 34.255-25.799-27.83-54.425-34.255-54.425-34.255 34.242-40.627 41.959-103.987 43.666-135.666-31.679 1.706-95.039 9.424-135.665 43.666 0 0-6.426-28.626-34.255-54.425"/><circle cx="176.775" cy="267" r="18"/><circle cx="237.575" cy="164.576" r="18"/><circle cx="237.575" cy="369.425" r="18"/><circle cx="297.576" cy="104.575" r="18"/><circle cx="297.576" cy="429.426" r="18"/><circle cx="400" cy="43.774" r="18"/><circle cx="400" cy="490.226" r="18"/><circle cx="502.424" cy="104.575" r="18"/><circle cx="502.424" cy="429.426" r="18"/><circle cx="562.425" cy="164.576" r="18"/><circle cx="562.425" cy="369.425" r="18"/><circle cx="623.226" cy="267" r="18"/></g></svg>
|
||||
<!-- end of embedded SVG -->
|
||||
<text x="43" y="14">81%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 2.6 KiB |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇵🇱 100%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 329 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇧🇷 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇵🇹 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇷🇺 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇸🇰 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇹🇷 96%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇺🇦 99%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="green" />
|
||||
<text x="34" y="14">🇨🇳 90%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 328 B |
@@ -1,7 +0,0 @@
|
||||
<!-- This file is automatically generated by `cli/check.translation.php -g` -->
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="70" height="20">
|
||||
<g fill="white" font-size="12" font-family="Verdana" text-anchor="middle">
|
||||
<rect rx="3" width="70" height="20" fill="gold" />
|
||||
<text x="34" y="14">🇹🇼 88%</text>
|
||||
</g>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 327 B |
@@ -1 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" width="797.96" height="530.973" viewBox="0 0 797.96 530.973"><path fill="#d4001c" d="M0 0h797.96v530.973H0z"/><g fill="#fddd00"><path d="m184.195 267 9.126 7.138c14.632 11.443 38.501 35.909 45.015 77.3l1.721 10.924 8.361-7.312c14.038-12.277 55.754-44.434 116.757-53.224-8.792 61.003-40.948 102.718-53.224 116.756l-7.313 8.361 10.924 1.721c41.392 6.515 65.857 30.383 77.301 45.015l7.137 9.126 7.138-9.126c11.443-14.632 35.908-38.5 77.3-45.015l10.924-1.721-7.313-8.361c-12.276-14.038-44.432-55.753-53.224-116.756 61.003 8.79 102.719 40.947 116.757 53.224l8.361 7.312 1.72-10.924c6.515-41.391 30.384-65.857 45.015-77.3l9.127-7.138-9.127-7.138c-14.631-11.443-38.5-35.908-45.015-77.299l-1.72-10.925-8.361 7.312c-14.038 12.277-55.754 44.434-116.757 53.225 8.792-61.003 40.948-102.719 53.224-116.756l7.313-8.362-10.924-1.72c-41.392-6.516-65.857-30.384-77.3-45.016L400 51.195l-7.137 9.126c-11.444 14.632-35.909 38.5-77.301 45.016l-10.924 1.72 7.313 8.362c12.276 14.037 44.432 55.753 53.224 116.756-61.003-8.791-102.719-40.948-116.757-53.225l-8.361-7.312-1.721 10.925c-6.514 41.391-30.383 65.856-45.015 77.299zm35.126 0c27.829-25.798 34.255-54.425 34.255-54.425 40.626 34.242 103.986 41.96 135.665 43.666-1.707-31.679-9.424-95.039-43.666-135.666 0 0 28.626-6.425 54.425-34.255 25.799 27.83 54.425 34.255 54.425 34.255-34.242 40.627-41.959 103.987-43.666 135.666 31.679-1.706 95.039-9.424 135.665-43.666 0 0 6.426 28.627 34.255 54.425-27.829 25.799-34.255 54.425-34.255 54.425-40.626-34.242-103.986-41.96-135.665-43.666 1.707 31.679 9.424 95.039 43.666 135.666 0 0-28.626 6.425-54.425 34.255-25.799-27.83-54.425-34.255-54.425-34.255 34.242-40.627 41.959-103.987 43.666-135.666-31.679 1.706-95.039 9.424-135.665 43.666 0 0-6.426-28.626-34.255-54.425"/><circle cx="176.775" cy="267" r="18"/><circle cx="237.575" cy="164.576" r="18"/><circle cx="237.575" cy="369.425" r="18"/><circle cx="297.576" cy="104.575" r="18"/><circle cx="297.576" cy="429.426" r="18"/><circle cx="400" cy="43.774" r="18"/><circle cx="400" cy="490.226" r="18"/><circle cx="502.424" cy="104.575" r="18"/><circle cx="502.424" cy="429.426" r="18"/><circle cx="562.425" cy="164.576" r="18"/><circle cx="562.425" cy="369.425" r="18"/><circle cx="623.226" cy="267" r="18"/></g></svg>
|
||||
|
Before Width: | Height: | Size: 2.2 KiB |