gitea/options/locale
Denys Konovalov 63ab92d797
Pre-register OAuth2 applications for git credential helpers ()
This PR is an extended implementation of  and builds upon the
proposal by @hickford in , utilizing some ideas proposed
internally by @wxiaoguang.

Mainly, this PR consists of a mechanism to pre-register OAuth2
applications on startup, which can be enabled or disabled by modifying
the `[oauth2].DEFAULT_APPLICATIONS` parameter in app.ini. The OAuth2
applications registered this way are being marked as "locked" and
neither be deleted nor edited over UI to prevent confusing/unexpected
behavior. Instead, they're being removed if no longer enabled in config.


![grafik](https://github.com/go-gitea/gitea/assets/47871822/81a78b1c-4b68-40a7-9e99-c272ebb8f62e)

The implemented mechanism can also be used to pre-register other OAuth2
applications in the future, if wanted.

Co-authored-by: hickford <mirth.hickford@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>

---------

Co-authored-by: M Hickford <mirth.hickford@gmail.com>
Co-authored-by: wxiaoguang <wxiaoguang@gmail.com>
..
TRANSLATORS Fix missing left and right carets in TRANSLATORS ()
locale_cs-CZ.ini [skip ci] Updated translations via Crowdin
locale_de-DE.ini [skip ci] Updated translations via Crowdin
locale_el-GR.ini [skip ci] Updated translations via Crowdin
locale_en-US.ini Pre-register OAuth2 applications for git credential helpers ()
locale_es-ES.ini [skip ci] Updated translations via Crowdin
locale_fa-IR.ini [skip ci] Updated translations via Crowdin
locale_fi-FI.ini [skip ci] Updated translations via Crowdin
locale_fr-FR.ini [skip ci] Updated translations via Crowdin
locale_hu-HU.ini [skip ci] Updated translations via Crowdin
locale_id-ID.ini [skip ci] Updated translations via Crowdin
locale_is-IS.ini [skip ci] Updated translations via Crowdin
locale_it-IT.ini [skip ci] Updated translations via Crowdin
locale_ja-JP.ini [skip ci] Updated translations via Crowdin
locale_ko-KR.ini [skip ci] Updated translations via Crowdin
locale_lv-LV.ini [skip ci] Updated translations via Crowdin
locale_nl-NL.ini [skip ci] Updated translations via Crowdin
locale_pl-PL.ini [skip ci] Updated translations via Crowdin
locale_pt-BR.ini [skip ci] Updated translations via Crowdin
locale_pt-PT.ini [skip ci] Updated translations via Crowdin
locale_ru-RU.ini [skip ci] Updated translations via Crowdin
locale_si-LK.ini [skip ci] Updated translations via Crowdin
locale_sk-SK.ini [skip ci] Updated translations via Crowdin
locale_sv-SE.ini [skip ci] Updated translations via Crowdin
locale_tr-TR.ini [skip ci] Updated translations via Crowdin
locale_uk-UA.ini [skip ci] Updated translations via Crowdin
locale_zh-CN.ini [skip ci] Updated translations via Crowdin
locale_zh-HK.ini [skip ci] Updated translations via Crowdin
locale_zh-TW.ini [skip ci] Updated translations via Crowdin