diff --git a/README.fr.md b/README.fr.md index eccecf71d..485f36887 100644 --- a/README.fr.md +++ b/README.fr.md @@ -227,33 +227,33 @@ Voir le [dépôt dédié à ces extensions](https://github.com/FreshRSS/Extensio | Langage | Progression | | | - | - | - | -| Čeština (cs) | ■■■■■■■■・・ 83% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) | -| Deutsch (de) | ■■■■■■■■■・ 97% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) | -| Ελληνικά (el) | ■■■・・・・・・・ 38% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) | +| Čeština (cs) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) | +| Deutsch (de) | ■■■■■■■■■・ 96% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) | +| Ελληνικά (el) | ■■■・・・・・・・ 37% | [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) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) | -| فارسی (fa) | ■■■■■■■■■・ 92% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) | +| Español (es) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) | +| فارسی (fa) | ■■■■■■■■■・ 91% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) | | Suomi (fi) | ■■■■■■■■■・ 94% | [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) | ■■■■・・・・・・ 42% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) | -| Magyar (hu) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) | +| עברית (he) | ■■■■・・・・・・ 41% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) | +| Magyar (hu) | ■■■■■■■■■・ 97% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) | | Bahasa Indonesia (id) | ■■■■■■■■■・ 91% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) | -| Italiano (it) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) | -| 日本語 (ja) | ■■■■■■■■■・ 90% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) | -| 한국어 (ko) | ■■■■■■■■・・ 83% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) | -| Latviešu (lv) | ■■■■■■■・・・ 77% | [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) | ■■■■■■■・・・ 76% | [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) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-BR+%2F%28TODO%7CDIRTY%29%24%2F) | +| Italiano (it) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) | +| 日本語 (ja) | ■■■■■■■■・・ 89% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) | +| 한국어 (ko) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) | +| Latviešu (lv) | ■■■■■■■・・・ 76% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) | +| Nederlands (nl) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) | +| Occitan (oc) | ■■■■■■■・・・ 75% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) | +| Polski (pl) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) | +| Português (Brasil) (pt-BR) | ■■■■■■■■■・ 98% | [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) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-PT+%2F%28TODO%7CDIRTY%29%24%2F) | -| Русский (ru) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) | -| Slovenčina (sk) | ■■■■■■■■・・ 83% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) | -| Türkçe (tr) | ■■■■■■■■■・ 91% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) | +| Русский (ru) | ■■■■■■■■■・ 97% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) | +| Slovenčina (sk) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) | +| Türkçe (tr) | ■■■■■■■■■・ 90% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) | | Українська (uk) | ■■■■■■■■■・ 93% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) | -| 简体中文 (zh-CN) | ■■■■■■■■■・ 99% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-CN+%2F%28TODO%7CDIRTY%29%24%2F) | -| 正體中文 (zh-TW) | ■■■■■■■■・・ 83% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-TW+%2F%28TODO%7CDIRTY%29%24%2F) | +| 简体中文 (zh-CN) | ■■■■■■■■■・ 98% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-CN+%2F%28TODO%7CDIRTY%29%24%2F) | +| 正體中文 (zh-TW) | ■■■■■■■■・・ 82% | [contribuer](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-TW+%2F%28TODO%7CDIRTY%29%24%2F) | diff --git a/README.md b/README.md index 6c25a8037..8f60dde56 100644 --- a/README.md +++ b/README.md @@ -123,33 +123,33 @@ See the [repository dedicated to those extensions](https://github.com/FreshRSS/E | Language | Progress | | | - | - | - | -| Čeština (cs) | ■■■■■■■■・・ 83% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) | -| Deutsch (de) | ■■■■■■■■■・ 97% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) | -| Ελληνικά (el) | ■■■・・・・・・・ 38% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fel+%2F%28TODO%7CDIRTY%29%24%2F) | +| Čeština (cs) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fcs+%2F%28TODO%7CDIRTY%29%24%2F) | +| Deutsch (de) | ■■■■■■■■■・ 96% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fde+%2F%28TODO%7CDIRTY%29%24%2F) | +| Ελληνικά (el) | ■■■・・・・・・・ 37% | [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) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) | -| فارسی (fa) | ■■■■■■■■■・ 92% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) | +| Español (es) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fes+%2F%28TODO%7CDIRTY%29%24%2F) | +| فارسی (fa) | ■■■■■■■■■・ 91% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ffa+%2F%28TODO%7CDIRTY%29%24%2F) | | Suomi (fi) | ■■■■■■■■■・ 94% | [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) | ■■■■・・・・・・ 42% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) | -| Magyar (hu) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) | +| עברית (he) | ■■■■・・・・・・ 41% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhe+%2F%28TODO%7CDIRTY%29%24%2F) | +| Magyar (hu) | ■■■■■■■■■・ 97% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fhu+%2F%28TODO%7CDIRTY%29%24%2F) | | Bahasa Indonesia (id) | ■■■■■■■■■・ 91% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fid+%2F%28TODO%7CDIRTY%29%24%2F) | -| Italiano (it) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) | -| 日本語 (ja) | ■■■■■■■■■・ 90% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) | -| 한국어 (ko) | ■■■■■■■■・・ 83% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) | -| Latviešu (lv) | ■■■■■■■・・・ 77% | [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) | ■■■■■■■・・・ 76% | [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) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-BR+%2F%28TODO%7CDIRTY%29%24%2F) | +| Italiano (it) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fit+%2F%28TODO%7CDIRTY%29%24%2F) | +| 日本語 (ja) | ■■■■■■■■・・ 89% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fja+%2F%28TODO%7CDIRTY%29%24%2F) | +| 한국어 (ko) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fko+%2F%28TODO%7CDIRTY%29%24%2F) | +| Latviešu (lv) | ■■■■■■■・・・ 76% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Flv+%2F%28TODO%7CDIRTY%29%24%2F) | +| Nederlands (nl) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fnl+%2F%28TODO%7CDIRTY%29%24%2F) | +| Occitan (oc) | ■■■■■■■・・・ 75% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Foc+%2F%28TODO%7CDIRTY%29%24%2F) | +| Polski (pl) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpl+%2F%28TODO%7CDIRTY%29%24%2F) | +| Português (Brasil) (pt-BR) | ■■■■■■■■■・ 98% | [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) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fpt-PT+%2F%28TODO%7CDIRTY%29%24%2F) | -| Русский (ru) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) | -| Slovenčina (sk) | ■■■■■■■■・・ 83% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) | -| Türkçe (tr) | ■■■■■■■■■・ 91% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) | +| Русский (ru) | ■■■■■■■■■・ 97% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fru+%2F%28TODO%7CDIRTY%29%24%2F) | +| Slovenčina (sk) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fsk+%2F%28TODO%7CDIRTY%29%24%2F) | +| Türkçe (tr) | ■■■■■■■■■・ 90% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Ftr+%2F%28TODO%7CDIRTY%29%24%2F) | | Українська (uk) | ■■■■■■■■■・ 93% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fuk+%2F%28TODO%7CDIRTY%29%24%2F) | -| 简体中文 (zh-CN) | ■■■■■■■■■・ 99% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-CN+%2F%28TODO%7CDIRTY%29%24%2F) | -| 正體中文 (zh-TW) | ■■■■■■■■・・ 83% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-TW+%2F%28TODO%7CDIRTY%29%24%2F) | +| 简体中文 (zh-CN) | ■■■■■■■■■・ 98% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-CN+%2F%28TODO%7CDIRTY%29%24%2F) | +| 正體中文 (zh-TW) | ■■■■■■■■・・ 82% | [contribute](https://github.com/search?q=repo%3AFreshRSS%2FFreshRSS+path%3Aapp%2Fi18n%2Fzh-TW+%2F%28TODO%7CDIRTY%29%24%2F) | diff --git a/app/Controllers/updateController.php b/app/Controllers/updateController.php index e29ce754d..9a1fd0fb9 100644 --- a/app/Controllers/updateController.php +++ b/app/Controllers/updateController.php @@ -361,30 +361,32 @@ class FreshRSS_update_Controller extends FreshRSS_ActionController { /** * Check database is well-installed. * - * @return array of tested values. + * @return array|bool> of tested values. */ private static function check_install_database(): array { $status = [ 'connection' => true, 'tables' => false, - 'categories' => false, - 'feeds' => false, - 'entries' => false, - 'entrytmp' => false, - 'tag' => false, - 'entrytag' => false, + 'table' => [ + 'categories' => false, + 'feeds' => false, + 'entries' => false, + 'entrytmp' => false, + 'tag' => false, + 'entrytag' => false, + ], ]; try { $dbDAO = FreshRSS_Factory::createDatabaseDAO(); $status['tables'] = $dbDAO->tablesAreCorrect(); - $status['categories'] = $dbDAO->categoryIsCorrect(); - $status['feeds'] = $dbDAO->feedIsCorrect(); - $status['entries'] = $dbDAO->entryIsCorrect(); - $status['entrytmp'] = $dbDAO->entrytmpIsCorrect(); - $status['tag'] = $dbDAO->tagIsCorrect(); - $status['entrytag'] = $dbDAO->entrytagIsCorrect(); + $status['table']['categories'] = $dbDAO->categoryIsCorrect(); + $status['table']['feeds'] = $dbDAO->feedIsCorrect(); + $status['table']['entries'] = $dbDAO->entryIsCorrect(); + $status['table']['entrytmp'] = $dbDAO->entrytmpIsCorrect(); + $status['table']['tag'] = $dbDAO->tagIsCorrect(); + $status['table']['entrytag'] = $dbDAO->entrytagIsCorrect(); } catch (Minz_PDOConnectionException $e) { $status['connection'] = false; } diff --git a/app/Models/DatabaseDAO.php b/app/Models/DatabaseDAO.php index f98803537..ab8c2cca7 100644 --- a/app/Models/DatabaseDAO.php +++ b/app/Models/DatabaseDAO.php @@ -91,29 +91,44 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo { return $res == null ? [] : $this->listDaoToSchema($res); } - /** @param array $schema */ - public function checkTable(string $table, array $schema): bool { - $columns = $this->getSchema($table); - if (count($columns) === 0 || count($schema) === 0) { + /** + * Verify that database table has at least the given columns + * + * @param string $table + * @param array $expectedColumns + */ + public function checkTable(string $table, array $expectedColumns): bool { + $columnInfo = $this->getSchema($table); + $exististingColumns = array_column($columnInfo, 'name'); + if (count($exististingColumns) === 0 || count($expectedColumns) === 0) { return false; } - $ok = count($columns) === count($schema); - foreach ($columns as $c) { - $ok &= in_array($c['name'], $schema, true); + //allow for extensions adding additional columns + $ok = count($exististingColumns) >= count($expectedColumns); + foreach ($expectedColumns as $name) { + $ok &= in_array($name, $exististingColumns, true); } return (bool)$ok; } public function categoryIsCorrect(): bool { - return $this->checkTable('category', ['id', 'name']); + return $this->checkTable('category', [ + 'id', + 'name', + 'kind', + 'lastUpdate', + 'error', + 'attributes', + ]); } public function feedIsCorrect(): bool { return $this->checkTable('feed', [ 'id', 'url', + 'kind', 'category', 'name', 'website', @@ -131,12 +146,34 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo { } public function entryIsCorrect(): bool { + $entryDAO = FreshRSS_Factory::createEntryDao(); return $this->checkTable('entry', [ 'id', 'guid', 'title', 'author', - 'content_bin', + $entryDAO::isCompressed() ? 'content_bin' : 'content', + 'link', + 'date', + 'lastSeen', + 'lastUserModified', + 'hash', + 'is_read', + 'is_favorite', + 'id_feed', + 'tags', + 'attributes', + ]); + } + + public function entrytmpIsCorrect(): bool { + $entryDAO = FreshRSS_Factory::createEntryDao(); + return $this->checkTable('entrytmp', [ + 'id', + 'guid', + 'title', + 'author', + $entryDAO::isCompressed() ? 'content_bin' : 'content', 'link', 'date', 'lastSeen', @@ -145,12 +182,7 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo { 'is_favorite', 'id_feed', 'tags', - ]); - } - - public function entrytmpIsCorrect(): bool { - return $this->checkTable('entrytmp', [ - 'id', 'guid', 'title', 'author', 'content_bin', 'link', 'date', 'lastSeen', 'hash', 'is_read', 'is_favorite', 'id_feed', 'tags' + 'attributes', ]); } diff --git a/app/Models/DatabaseDAOPGSQL.php b/app/Models/DatabaseDAOPGSQL.php index 1ead69192..ff6fd2fa0 100644 --- a/app/Models/DatabaseDAOPGSQL.php +++ b/app/Models/DatabaseDAOPGSQL.php @@ -13,7 +13,7 @@ class FreshRSS_DatabaseDAOPGSQL extends FreshRSS_DatabaseDAOSQLite { #[\Override] public function tablesAreCorrect(): bool { $db = FreshRSS_Context::systemConf()->db; - $sql = 'SELECT * FROM pg_catalog.pg_tables where tableowner=:tableowner'; + $sql = 'SELECT tablename FROM pg_catalog.pg_tables where tableowner=:tableowner'; $res = $this->fetchAssoc($sql, [':tableowner' => $db['user']]); if ($res == null) { return false; diff --git a/app/Models/DatabaseDAOSQLite.php b/app/Models/DatabaseDAOSQLite.php index 661c669dc..517633275 100644 --- a/app/Models/DatabaseDAOSQLite.php +++ b/app/Models/DatabaseDAOSQLite.php @@ -44,20 +44,6 @@ class FreshRSS_DatabaseDAOSQLite extends FreshRSS_DatabaseDAO { return []; } - #[\Override] - public function entryIsCorrect(): bool { - return $this->checkTable('entry', [ - 'id', 'guid', 'title', 'author', 'content', 'link', 'date', 'lastSeen', 'hash', 'is_read', 'is_favorite', 'id_feed', 'tags', - ]); - } - - #[\Override] - public function entrytmpIsCorrect(): bool { - return $this->checkTable('entrytmp', [ - 'id', 'guid', 'title', 'author', 'content', 'link', 'date', 'lastSeen', 'hash', 'is_read', 'is_favorite', 'id_feed', 'tags' - ]); - } - /** * @param array $dao * @return array{'name':string,'type':string,'notnull':bool,'default':mixed} diff --git a/app/Models/View.php b/app/Models/View.php index 6b44c0816..fa1b2760a 100644 --- a/app/Models/View.php +++ b/app/Models/View.php @@ -59,7 +59,7 @@ class FreshRSS_View extends Minz_View { /** @var array */ public array $status_php; public bool $update_to_apply; - /** @var array */ + /** @var array|bool> */ public array $status_database; public bool $is_release_channel_stable; diff --git a/app/i18n/cs/install.php b/app/i18n/cs/install.php index eb7e059ea..640b13432 100644 --- a/app/i18n/cs/install.php +++ b/app/i18n/cs/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Zkontrolujte oprávnění adresáře %1$s pro uživatele %2$s. Server HTTP musí mít oprávnění pro zápis.', 'ok' => 'Oprávnění adresáře data jsou v pořádku.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Nelze nalézt požadovanou knihovnu pro procházení DOM.', 'ok' => 'Máte požadovanou knihovnu pro procházení DOM.', diff --git a/app/i18n/de/install.php b/app/i18n/de/install.php index 0417da943..2e327bfef 100644 --- a/app/i18n/de/install.php +++ b/app/i18n/de/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses %s. Der HTTP-Server muss Schreibrechte besitzen.', 'ok' => 'Die Berechtigungen des Verzeichnisses %s sind in Ordnung.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Ihnen fehlt eine benötigte Bibliothek um DOM zu durchstöbern.', 'ok' => 'Sie haben die benötigte Bibliothek um DOM zu durchstöbern.', diff --git a/app/i18n/el/install.php b/app/i18n/el/install.php index ff8dc28bc..09649f267 100644 --- a/app/i18n/el/install.php +++ b/app/i18n/el/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο %1$s για τον χρήστη %2$s. Ο διακομιστής HTTP πρέπει να έχει δικαίωμα εγγραφής.', 'ok' => 'Τα δικαιώματα στον κατάλογο δεδομένων (data) είναι εντάξει.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Δεν βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM.', 'ok' => 'Βρέθηκε η απαιτούμενη βιβλιοθήκη για περιήγηση στο DOM.', diff --git a/app/i18n/en-US/install.php b/app/i18n/en-US/install.php index 9e7298308..e7f748b59 100644 --- a/app/i18n/en-US/install.php +++ b/app/i18n/en-US/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permissions.', 'ok' => 'Permissions on the data directory are good.', // IGNORE ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // IGNORE + 'ok' => 'Database connection is good.', // IGNORE + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // IGNORE + 'ok' => 'Database table "%s" is good.', // IGNORE + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // IGNORE + 'ok' => 'All database tables exist.', // IGNORE + ), + 'database-title' => 'Database', // IGNORE 'dom' => array( 'nok' => 'Cannot find the required library to browse the DOM.', // IGNORE 'ok' => 'You have the required library to browse the DOM.', // IGNORE diff --git a/app/i18n/en/install.php b/app/i18n/en/install.php index 5d00816e3..4f0099af0 100644 --- a/app/i18n/en/install.php +++ b/app/i18n/en/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permission.', 'ok' => 'Permissions on the data directory are good.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', + 'ok' => 'Database connection is good.', + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', + 'ok' => 'Database table "%s" is good.', + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', + 'ok' => 'All database tables exist.', + ), + 'database-title' => 'Database', 'dom' => array( 'nok' => 'Cannot find the required library to browse the DOM.', 'ok' => 'You have the required library to browse the DOM.', diff --git a/app/i18n/es/install.php b/app/i18n/es/install.php index 08c38ef96..602a1304a 100644 --- a/app/i18n/es/install.php +++ b/app/i18n/es/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Comprueba los permisos del directorio %s. El servidor HTTP debe contar con permisos de escritura.', 'ok' => 'Los permisos del directorio data son correctos.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'No se ha podido localizar la librería necesaria para explorar la DOM.', 'ok' => 'Dispones de la librería necesaria para explorar la DOM.', diff --git a/app/i18n/fa/install.php b/app/i18n/fa/install.php index 94ccfd198..526ba757e 100644 --- a/app/i18n/fa/install.php +++ b/app/i18n/fa/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'مجوزهای دایرکتوری %1$s را برای کاربر %2$s بررسی کنید. سرور HTTP باید مجوز نوشتن داشته باشد.', 'ok' => 'مجوزهای مربوط به دایرکتوری داده خوب است.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'کتابخانه مورد نیاز برای مرور DOM را نمی‌توان پیدا کرد.', 'ok' => 'شما کتابخانه مورد نیاز برای مرور DOM را دارید.', diff --git a/app/i18n/fi/install.php b/app/i18n/fi/install.php index aa67de894..898bbdb92 100644 --- a/app/i18n/fi/install.php +++ b/app/i18n/fi/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Tarkista käyttäjän %2$s oikeudet hakemistoon %1$s. HTTP-palvelimella on oltava kirjoitusoikeus.', 'ok' => 'Data-hakemiston oikeudet ovat oikein.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'DOM-rakenteen selaamiseen tarvittavaa kirjastoa ei löydy.', 'ok' => 'DOM-rakenteen selaamiseen tarvittava kirjasto löytyy.', diff --git a/app/i18n/fr/install.php b/app/i18n/fr/install.php index 21a3f74cd..eb6fe72c6 100644 --- a/app/i18n/fr/install.php +++ b/app/i18n/fr/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Veuillez vérifier les droits de l’utilisateur %2$s sur le répertoire %1$s. Le serveur HTTP doit être capable d’écrire dedans.', 'ok' => 'Les droits sur le répertoire de data sont bons.', ), + 'database-connection' => array( + 'nok' => 'Erreur de connexion à la base de données.', + 'ok' => 'La connexion à la base de données est bonne.', + ), + 'database-table' => array( + 'nok' => 'La table de la base de données "%s" est incomplète.', + 'ok' => 'La table de la base de données "%s" est correcte.', + ), + 'database-tables' => array( + 'nok' => 'Certaines tables de la base de données sont manquantes.', + 'ok' => 'Toutes les tables de la base de données existent.', + ), + 'database-title' => 'Base de données', 'dom' => array( 'nok' => 'Impossible de trouver la librairie requise pour parcourir le DOM.', 'ok' => 'Vous disposez de la librairie requise pour parcourir le DOM.', @@ -59,8 +72,8 @@ return array( 'ok' => 'Les droits sur le répertoire des favicons sont bons.', ), 'fileinfo' => array( - 'nok' => 'Vous ne disposez pas de la librairie recommendée php-fileinfo.', - 'ok' => 'Vous disposez de la librairie recommendée php-fileinfo.', + 'nok' => 'Vous ne disposez pas de la librairie recommandéee php-fileinfo.', + 'ok' => 'Vous disposez de la librairie recommandéee php-fileinfo.', ), 'files' => 'Installation des fichiers', 'intl' => array( diff --git a/app/i18n/he/install.php b/app/i18n/he/install.php index b8f972e05..5d5616458 100644 --- a/app/i18n/he/install.php +++ b/app/i18n/he/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Check permissions on the %1$s directory for %2$s user. The HTTP server must have write permissions.', 'ok' => 'ההרשאות בתיקיית הדאטא תקינות', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'הספרייה הנדרשת לסיור ב DOM אינה מותקנת (php-xml package)', 'ok' => 'הספרייה הנדרשת לסיור ב DOM מותקנת', diff --git a/app/i18n/hu/install.php b/app/i18n/hu/install.php index 6596b36dd..f1c2a4cec 100644 --- a/app/i18n/hu/install.php +++ b/app/i18n/hu/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Ellenőrizd a(z) %1$s könyvtáron a(z) %2$s felhasználónak. A HTTP szervernek szüksége van írási jogosultságra.', 'ok' => 'A data könyvtár jogosultságai rendben vannak.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'A DOM böngészéséhez nem található a könyvtár.', 'ok' => 'A DOM böngészésére való könyvtár telepítve van.', diff --git a/app/i18n/id/install.php b/app/i18n/id/install.php index 2f86b4ae6..cde661eed 100644 --- a/app/i18n/id/install.php +++ b/app/i18n/id/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Periksa izin direktori %1$s untuk pengguna %2$s. Peladen HTTP harus memiliki izin menulis di direktori tersebut.', 'ok' => 'Izin untuk direktori data sudah bagus.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Tidak dapat menemukan pustaka yang diperlukan untuk menelusuri DOM.', 'ok' => 'Anda memiliki pustaka yang diperlukan untuk menelusuri DOM.', diff --git a/app/i18n/it/install.php b/app/i18n/it/install.php index c7272b7ea..e4ca36ed8 100644 --- a/app/i18n/it/install.php +++ b/app/i18n/it/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Verifica i permessi sulla cartella %s. Il server HTTP deve avere i permessi per scriverci dentro.', 'ok' => 'I permessi sulla cartella data sono corretti.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Manca una libreria richiesta per leggere DOM.', 'ok' => 'Libreria richiesta per leggere DOM presente.', diff --git a/app/i18n/ja/install.php b/app/i18n/ja/install.php index 7b1b33fb9..860cf7666 100644 --- a/app/i18n/ja/install.php +++ b/app/i18n/ja/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'この %1$s ディレクトリの %2$s ユーザーのアクセス権限を確認してください。HTTPサーバーは編集権限を必要としています。', 'ok' => 'ディレクトリのパーミッションは正しく設定されています。', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'DOMを検索するライブラリが見つかりませんでした。', 'ok' => 'DOMを検索するライブラリが見つかりました。', diff --git a/app/i18n/ko/install.php b/app/i18n/ko/install.php index 95b6e81c4..f2bd7a233 100644 --- a/app/i18n/ko/install.php +++ b/app/i18n/ko/install.php @@ -50,6 +50,19 @@ return array( 'nok' => '%s 디렉토리의 권한을 확인하세요. HTTP 서버가 쓰기 권한을 가지고 있어야 합니다', 'ok' => 'data 디렉토리의 권한이 올바르게 설정되었습니다.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'DOM을 다룰 수 있는 라이브러리를 찾을 수 없습니다 (php-xml 패키지).', 'ok' => 'DOM을 다룰 수 있는 라이브러리가 설치되어 있습니다.', diff --git a/app/i18n/lv/install.php b/app/i18n/lv/install.php index 343f1392c..6466837cb 100644 --- a/app/i18n/lv/install.php +++ b/app/i18n/lv/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Pārbaudiet atļaujas %1$s mapē priekš lietotāja %2$s. HTTP serverim jābūt piešķirtām rakstīšanas atļaujām.', 'ok' => 'Ar datu mapes atļaujām viss ir kārtībā.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Nevar atrast nepieciešamo bibliotēku, lai pārlūkotu DOM (php-xml pakete).', 'ok' => 'Jums ir nepieciešamā bibliotēka, lai pārlūkotu DOM.', diff --git a/app/i18n/nl/install.php b/app/i18n/nl/install.php index dc6ba99f6..2af2d7b1e 100644 --- a/app/i18n/nl/install.php +++ b/app/i18n/nl/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Controleer permissies van de %s map. HTTP server moet rechten hebben om er in te kunnen schrijven.', 'ok' => 'Permissies van de data map zijn goed.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'U mist een benodigde bibliotheek om te bladeren in de DOM.', 'ok' => 'U hebt de benodigde bibliotheek om te bladeren in de DOM.', diff --git a/app/i18n/oc/install.php b/app/i18n/oc/install.php index 442b0fc61..8c9e4f314 100644 --- a/app/i18n/oc/install.php +++ b/app/i18n/oc/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Volgatz verificar los dreches sul repertòri %s. Lo servidor HTTP deu poder escriure dedins.', 'ok' => 'Los dreches sul repertòri data son bons.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Impossible de trobar una bibliotèca per percórrer lo DOM.', 'ok' => 'Avètz la bibliotèca per percórrer lo DOM.', diff --git a/app/i18n/pl/install.php b/app/i18n/pl/install.php index 788dfcf5b..59c09dafa 100644 --- a/app/i18n/pl/install.php +++ b/app/i18n/pl/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Sprawdź uprawnienia użytkownika %2$s dla katalogu %1$s. Użytkownik serwera WWW musi mieć uprawnienia do zapisu.', 'ok' => 'Uprawnienia dla katalogu danych się zgadzają.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Nie znaleziono wymaganej biblioteki do korzystania z DOM-u.', 'ok' => 'Znaleziono wymaganą bibliotekę do korzystania z DOM-u.', diff --git a/app/i18n/pt-BR/install.php b/app/i18n/pt-BR/install.php index 5a3670437..905d8d598 100644 --- a/app/i18n/pt-BR/install.php +++ b/app/i18n/pt-BR/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Verifique as permissões no diretório %s. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', 'ok' => 'Permissões no diretório data estão corretos.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Não foi possível encontrar uma biblioteca necessária para navegar pelo DOM (php-xml).', 'ok' => 'Você tem a biblioteca necessária para navegar pelo DOM.', diff --git a/app/i18n/pt-PT/install.php b/app/i18n/pt-PT/install.php index 5aa0989a2..10215222f 100644 --- a/app/i18n/pt-PT/install.php +++ b/app/i18n/pt-PT/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Verifique as permissões no diretório %s. O servidor HTTP deve ter direitos para escrever dentro desta pasta.', 'ok' => 'Permissões no diretório data estão corretos.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Não foi possível encontrar uma biblioteca necessária para navegar pelo DOM (php-xml).', 'ok' => 'Tem a biblioteca necessária para navegar pelo DOM.', diff --git a/app/i18n/ru/install.php b/app/i18n/ru/install.php index 9814e91ee..f7f0c9584 100644 --- a/app/i18n/ru/install.php +++ b/app/i18n/ru/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Проверьте права доступа к папке %s . Веб-сервер должен иметь право на запись в эту папку.', 'ok' => 'Права на ./data/ в порядке.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'У вас не установлена необходимая библиотека для просмотра DOM (пакет php-xml).', 'ok' => 'У вас установлена необходимая библиотека для просмотра DOM.', diff --git a/app/i18n/sk/install.php b/app/i18n/sk/install.php index 567f7ad42..4640c1eee 100644 --- a/app/i18n/sk/install.php +++ b/app/i18n/sk/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Skontrolujte oprávnenia prístupu do priečinku %s. HTTP server musí mať právo doň zapisovať.', 'ok' => 'Oprávnenia prístupu do priečinku údajov sú OK.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Nepodarilo sa nájsť požadovanú knižnicu na prehliadanie DOM.', 'ok' => 'Našla sa požadovaná knižnica na prehliadanie DOM.', diff --git a/app/i18n/tr/install.php b/app/i18n/tr/install.php index fbc05b4cf..f697d81d4 100644 --- a/app/i18n/tr/install.php +++ b/app/i18n/tr/install.php @@ -50,6 +50,19 @@ return array( 'nok' => '%2$s kullanıcısı için %1$s dizinindeki izinleri kontrol edin. HTTP sunucusunun yazma izni olmalı.', 'ok' => 'Veri dizinindeki izinler uygun.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'DOM’u taramak için gerekli kütüphane bulunamadı.', 'ok' => 'DOM’u taramak için gerekli kütüphaneniz var.', diff --git a/app/i18n/uk/install.php b/app/i18n/uk/install.php index 055e32007..1977de405 100644 --- a/app/i18n/uk/install.php +++ b/app/i18n/uk/install.php @@ -50,6 +50,19 @@ return array( 'nok' => 'Перевірте доступ до каталога %1$s для користувача %2$s. HTTP-серверу потрібен дозвіл на запис.', 'ok' => 'Доступ до каталога даних працює.', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => 'Не вдалося знайти необхідну бібліотеку роботи з DOM.', 'ok' => 'У вас є необхідна бібліотека роботи з DOM.', diff --git a/app/i18n/zh-CN/install.php b/app/i18n/zh-CN/install.php index 708d74245..c5a51d5c9 100644 --- a/app/i18n/zh-CN/install.php +++ b/app/i18n/zh-CN/install.php @@ -50,6 +50,19 @@ return array( 'nok' => '请检查 %s 目录权限,HTTP 服务器必须拥有写入权限。', 'ok' => 'data 目录权限正常', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => '找不到用于浏览 DOM 的库(php-xml 包)', 'ok' => '已找到用于浏览 DOM 的库', diff --git a/app/i18n/zh-TW/install.php b/app/i18n/zh-TW/install.php index c7b2e17f3..37c2564aa 100644 --- a/app/i18n/zh-TW/install.php +++ b/app/i18n/zh-TW/install.php @@ -50,6 +50,19 @@ return array( 'nok' => '請檢查 %s 目錄權限。HTTP 伺服器必須有其寫入權限。', 'ok' => 'data 目錄權限正常', ), + 'database-connection' => array( + 'nok' => 'Database connection error.', // TODO + 'ok' => 'Database connection is good.', // TODO + ), + 'database-table' => array( + 'nok' => 'Database table "%s" is incomplete.', // TODO + 'ok' => 'Database table "%s" is good.', // TODO + ), + 'database-tables' => array( + 'nok' => 'Some database tables are missing.', // TODO + 'ok' => 'All database tables exist.', // TODO + ), + 'database-title' => 'Database', // TODO 'dom' => array( 'nok' => '找不到用於瀏覽 DOM 的庫(php-xml)', 'ok' => '已找到用於瀏覽 DOM 的庫', diff --git a/app/views/update/checkInstall.phtml b/app/views/update/checkInstall.phtml index 6c1b5f69d..470b2dc5e 100644 --- a/app/views/update/checkInstall.phtml +++ b/app/views/update/checkInstall.phtml @@ -27,14 +27,18 @@

- +

status_database as $key => $status) { ?> -

- + +

+ +

+ + status_database['table'] as $key => $status) { ?> +

+

- */ ?>