mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-03-26 10:12:52 -04:00
Re-add database status in installation check (#8510)
* Re-add database status in installation check It got disabled in 2014 to get a beta out. Time to re-enable it. Tested on SQLite. "checkTable" now only verifies that at least the expected columns exist, but does not fail on additional columns provided by e.g. extensions. Related: https://github.com/FreshRSS/FreshRSS/issues/678 * make fix-all * i18n * Simpler and more correct content_bin * Fix PostgreSQL --------- Co-authored-by: Alexandre Alapetite <alexandre@alapetite.fr>
This commit is contained in:
40
README.fr.md
40
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) |
|
||||
|
||||
</translations>
|
||||
|
||||
|
||||
40
README.md
40
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) |
|
||||
|
||||
</translations>
|
||||
|
||||
|
||||
@@ -361,30 +361,32 @@ class FreshRSS_update_Controller extends FreshRSS_ActionController {
|
||||
/**
|
||||
* Check database is well-installed.
|
||||
*
|
||||
* @return array<string,bool> of tested values.
|
||||
* @return array<string,array<string,bool>|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;
|
||||
}
|
||||
|
||||
@@ -91,29 +91,44 @@ class FreshRSS_DatabaseDAO extends Minz_ModelPdo {
|
||||
return $res == null ? [] : $this->listDaoToSchema($res);
|
||||
}
|
||||
|
||||
/** @param array<string> $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<string> $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',
|
||||
]);
|
||||
}
|
||||
|
||||
|
||||
@@ -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;
|
||||
|
||||
@@ -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<string,string|int|bool|null> $dao
|
||||
* @return array{'name':string,'type':string,'notnull':bool,'default':mixed}
|
||||
|
||||
@@ -59,7 +59,7 @@ class FreshRSS_View extends Minz_View {
|
||||
/** @var array<string,'ok'|'ko'|'warn'> */
|
||||
public array $status_php;
|
||||
public bool $update_to_apply;
|
||||
/** @var array<string,bool> */
|
||||
/** @var array<string,array<string, bool>|bool> */
|
||||
public array $status_database;
|
||||
public bool $is_release_channel_stable;
|
||||
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Zkontrolujte oprávnění adresáře <em>%1$s</em> pro uživatele <em>%2$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Überprüfen Sie die Berechtigungen des Verzeichnisses <em>%s</em>. Der HTTP-Server muss Schreibrechte besitzen.',
|
||||
'ok' => 'Die Berechtigungen des Verzeichnisses <em>%s</em> 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Ελέγξτε τα δικαιώματα στον κατάλογο <em>%1$s</em> για τον χρήστη <em>%2$s</em>. Ο διακομιστής 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> 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
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Comprueba los permisos del directorio <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'مجوزهای دایرکتوری <em>%1$s</em> را برای کاربر <em>%2$s</em> بررسی کنید. سرور 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 را دارید.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Tarkista käyttäjän <em>%2$s</em> oikeudet hakemistoon <em>%1$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Veuillez vérifier les droits de l’utilisateur <em>%2$s</em> sur le répertoire <em>%1$s</em>. 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(
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Check permissions on the <em>%1$s</em> directory for <em>%2$s</em> 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 מותקנת',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Ellenőrizd a(z) <em>%1$s</em> könyvtáron a(z) <em>%2$s</em> 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Periksa izin direktori <em>%1$s</em> untuk pengguna <em>%2$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Verifica i permessi sulla cartella <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'この <em>%1$s</em> ディレクトリの <em>%2$s</em> ユーザーのアクセス権限を確認してください。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を検索するライブラリが見つかりました。',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => '<em>%s</em> 디렉토리의 권한을 확인하세요. 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을 다룰 수 있는 라이브러리가 설치되어 있습니다.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Pārbaudiet atļaujas <em>%1$s</em> mapē priekš lietotāja <em>%2$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Controleer permissies van de <em>%s</em> 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Volgatz verificar los dreches sul repertòri <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Sprawdź uprawnienia użytkownika <em>%2$s</em> dla katalogu <em>%1$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Verifique as permissões no diretório <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Verifique as permissões no diretório <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Проверьте права доступа к папке <em>%s</em> . Веб-сервер должен иметь право на запись в эту папку.',
|
||||
'ok' => 'Права на <em>./data/</em> в порядке.',
|
||||
),
|
||||
'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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Skontrolujte oprávnenia prístupu do priečinku <em>%s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => '<em>%2$s</em> kullanıcısı için <em>%1$s</em> 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => 'Перевірте доступ до каталога <em>%1$s</em> для користувача <em>%2$s</em>. 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.',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => '请检查 <em>%s</em> 目录权限,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 的库',
|
||||
|
||||
@@ -50,6 +50,19 @@ return array(
|
||||
'nok' => '請檢查 <em>%s</em> 目錄權限。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 的庫',
|
||||
|
||||
@@ -27,14 +27,18 @@
|
||||
</p>
|
||||
<?php } ?>
|
||||
|
||||
<?php /*
|
||||
<h2><?= _t('install.check.database') ?></h2>
|
||||
<h2><?= _t('install.check.database-title') ?></h2>
|
||||
|
||||
<?php foreach ($this->status_database as $key => $status) { ?>
|
||||
<p class="alert <?= match ($status) { 'ok' => 'alert-success', 'warn' => 'alert-warn', default => 'alert-error' } ?>">
|
||||
<?= _t('install.check.' . $key . '.' . ($status === 'ok' ? 'ok' : 'nok')) ?>
|
||||
<?php if ($key === 'table') { continue; } ?>
|
||||
<p class="alert <?= match ($status) { true => 'alert-success', default => 'alert-error' } ?>">
|
||||
<?= _t('install.check.database-' . $key . '.' . ($status === true ? 'ok' : 'nok')) ?>
|
||||
</p>
|
||||
<?php } ?>
|
||||
<?php foreach ((array) $this->status_database['table'] as $key => $status) { ?>
|
||||
<p class="alert <?= match ($status) { true => 'alert-success', default => 'alert-error' } ?>">
|
||||
<?= sprintf(_t('install.check.database-table.' . ($status === true ? 'ok' : 'nok')), $key) ?>
|
||||
</p>
|
||||
<?php } ?>
|
||||
*/ ?>
|
||||
|
||||
</main>
|
||||
|
||||
Reference in New Issue
Block a user