diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:28:51 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-05-15 06:28:51 +0000 |
| commit | b4f743ab434b7b67a27b706dd2577677e9b5d28d (patch) | |
| tree | c303db911b1dca76b0db28ec93fe077fc4be0fb9 | |
| parent | 514c7ea068682a9660446b8f1693e74dcee29d6d (diff) | |
automatic import of python-flask-babel-js
| -rw-r--r-- | .gitignore | 1 | ||||
| -rw-r--r-- | python-flask-babel-js.spec | 392 | ||||
| -rw-r--r-- | sources | 1 |
3 files changed, 394 insertions, 0 deletions
@@ -0,0 +1 @@ +/Flask-Babel-JS-1.0.2.tar.gz diff --git a/python-flask-babel-js.spec b/python-flask-babel-js.spec new file mode 100644 index 0000000..6b31d43 --- /dev/null +++ b/python-flask-babel-js.spec @@ -0,0 +1,392 @@ +%global _empty_manifest_terminate_build 0 +Name: python-Flask-Babel-JS +Version: 1.0.2 +Release: 1 +Summary: Flask extension to add Flask-Babel translations in JS +License: BSD +URL: https://github.com/emdemir/Flask-Babel-JS/ +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/4b/7d/9fc194b876519642373d8226b28d606d8c79e4a289455b97bcdaa8d9088d/Flask-Babel-JS-1.0.2.tar.gz +BuildArch: noarch + +Requires: python3-Flask +Requires: python3-flask-babel + +%description +Flask extension to add Flask-Babel translations in JS. +## Installation +Install via pip: `pip install flask-babel-js` +Keep in mind that this extension expects you to have +[`flask_babel`](https://github.com/python-babel/flask-babel) set-up +correctly beforehand. +## Usage +You can initialize this extension both directly and using the application +factory pattern: +``` python +from flask import Flask +from flask_babel import Babel +from flask_babel_js import BabelJS +# Initializing directly: +app = Flask(__name__) +babel = Babel(app) +babel_js = BabelJS(app) +# Initializing via application factory pattern: +babel = Babel() +babel_js = BabelJS() +def create_app(): + app = Flask(__name__) + babel.init_app(app) + babel_js.init_app(app) + return app +``` +When the extension is initialized, a new route with the name of `babel_catalog` +is added to the list of routes. This is a JavaScript file which contains all +translations in your current locale. It also includes a very basic +`gettext`-like API which you can use. It is compatible with the `javascript` +extraction method of [`Babel`](https://github.com/python-babel/babel). +Add this to your `babel.cfg` to extract Javascript translation strings: +``` ini +[javascript:app/static/*.js] +encoding = utf-8 +extract_messages=_,gettext,ngettext +``` +To include the translation catalog and functions, insert the following +inside your Jinja templates: +``` jinja +<script src="{{ url_for("babel_catalog") }}"></script> +``` +Afterwards, you can use all the functions available in the [Javascript +API](#javascript-api). +Example usage in Javascript: +``` javascript +// Translate a string +var s = _("Some untranslated text"); +// Translate a string with format values +var s2 = _("Hello, %(name)s!", { name: "John" }); +// Translate a string with plural forms +var s3 = ngettext("%(n)d item was deleted.", "%(n)d items were deleted.", n, { n: n }); +// You can access all these functions through the babel object: +// babel.gettext, babel.ngettext +``` +## Python API +### `flask_babel_js.BabelJS(app=None, view_path="/_jstrans.js")` +Initializes the extension object. +Parameters: + - `app`: The Flask application. Can be `None` if you are using the application + factory pattern. + - `view_path`: The path for the catalog URL. Defaults to `"/_jstrans.js"`. +#### `init_app(app)` +Initialize an application with the extension object. +Parameters: + - `app`: The Flask application. +#### `catalog_view()` +The catalog view which provides the JavaScript code for the catalog. You don't +need to use this directly. +## Javascript API +### `window.babel` +The main BabelJS object. +#### `catalog` +All gettext messages for the current locale are in this object. The keys are +the original arguments passed to gettext and the value is the translated +version. If the translated text has a plural form, the value is an array of the +plural forms. +#### `format(text, variables)` +Formats text using Python percent-formatting. Currently only supports `s`, `d`, +and `f` as format types. Also expects a format name. For extensions, only left +padding is supported. +Parameters: + - `text`: A Python-format string. + - `variables`: An object containing values for the format specifiers. +#### `gettext(text, variables)` +Translates a string. +This function is available globally as `gettext` and `_`. +Parameters: + - `text`: The untranslated string. + - `variables`: An object containing values for the format specifiers. +#### `ngettext(text, plural_text, n, variables)` +Translates a string with plural forms based on a value. +This function is available globally as `ngettext`. +Parameters: + - `text`: The untranslated string. + - `plural_text`: The untranslated string in plural form. + - `n`: The amount of items by which the form is selected. + - `variables`: An object containing values for the format specifiers. +#### `plural(n)` +Gets the plural form ID corresponding to the number of items for this locale. +Parameters: + - `n`: The number of items. +NOTE: This function may not exist if `Plural-Forms` is not specified in the +gettext metadata in the locale. +## License +© 2020 Efe Mert Demir. This software is licensed under the 3-Clause BSD +License, a copy of which can be found in [LICENSE](https://github.com/emdemir/Flask-Babel-JS/blob/master/LICENSE). + +%package -n python3-Flask-Babel-JS +Summary: Flask extension to add Flask-Babel translations in JS +Provides: python-Flask-Babel-JS +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-Flask-Babel-JS +Flask extension to add Flask-Babel translations in JS. +## Installation +Install via pip: `pip install flask-babel-js` +Keep in mind that this extension expects you to have +[`flask_babel`](https://github.com/python-babel/flask-babel) set-up +correctly beforehand. +## Usage +You can initialize this extension both directly and using the application +factory pattern: +``` python +from flask import Flask +from flask_babel import Babel +from flask_babel_js import BabelJS +# Initializing directly: +app = Flask(__name__) +babel = Babel(app) +babel_js = BabelJS(app) +# Initializing via application factory pattern: +babel = Babel() +babel_js = BabelJS() +def create_app(): + app = Flask(__name__) + babel.init_app(app) + babel_js.init_app(app) + return app +``` +When the extension is initialized, a new route with the name of `babel_catalog` +is added to the list of routes. This is a JavaScript file which contains all +translations in your current locale. It also includes a very basic +`gettext`-like API which you can use. It is compatible with the `javascript` +extraction method of [`Babel`](https://github.com/python-babel/babel). +Add this to your `babel.cfg` to extract Javascript translation strings: +``` ini +[javascript:app/static/*.js] +encoding = utf-8 +extract_messages=_,gettext,ngettext +``` +To include the translation catalog and functions, insert the following +inside your Jinja templates: +``` jinja +<script src="{{ url_for("babel_catalog") }}"></script> +``` +Afterwards, you can use all the functions available in the [Javascript +API](#javascript-api). +Example usage in Javascript: +``` javascript +// Translate a string +var s = _("Some untranslated text"); +// Translate a string with format values +var s2 = _("Hello, %(name)s!", { name: "John" }); +// Translate a string with plural forms +var s3 = ngettext("%(n)d item was deleted.", "%(n)d items were deleted.", n, { n: n }); +// You can access all these functions through the babel object: +// babel.gettext, babel.ngettext +``` +## Python API +### `flask_babel_js.BabelJS(app=None, view_path="/_jstrans.js")` +Initializes the extension object. +Parameters: + - `app`: The Flask application. Can be `None` if you are using the application + factory pattern. + - `view_path`: The path for the catalog URL. Defaults to `"/_jstrans.js"`. +#### `init_app(app)` +Initialize an application with the extension object. +Parameters: + - `app`: The Flask application. +#### `catalog_view()` +The catalog view which provides the JavaScript code for the catalog. You don't +need to use this directly. +## Javascript API +### `window.babel` +The main BabelJS object. +#### `catalog` +All gettext messages for the current locale are in this object. The keys are +the original arguments passed to gettext and the value is the translated +version. If the translated text has a plural form, the value is an array of the +plural forms. +#### `format(text, variables)` +Formats text using Python percent-formatting. Currently only supports `s`, `d`, +and `f` as format types. Also expects a format name. For extensions, only left +padding is supported. +Parameters: + - `text`: A Python-format string. + - `variables`: An object containing values for the format specifiers. +#### `gettext(text, variables)` +Translates a string. +This function is available globally as `gettext` and `_`. +Parameters: + - `text`: The untranslated string. + - `variables`: An object containing values for the format specifiers. +#### `ngettext(text, plural_text, n, variables)` +Translates a string with plural forms based on a value. +This function is available globally as `ngettext`. +Parameters: + - `text`: The untranslated string. + - `plural_text`: The untranslated string in plural form. + - `n`: The amount of items by which the form is selected. + - `variables`: An object containing values for the format specifiers. +#### `plural(n)` +Gets the plural form ID corresponding to the number of items for this locale. +Parameters: + - `n`: The number of items. +NOTE: This function may not exist if `Plural-Forms` is not specified in the +gettext metadata in the locale. +## License +© 2020 Efe Mert Demir. This software is licensed under the 3-Clause BSD +License, a copy of which can be found in [LICENSE](https://github.com/emdemir/Flask-Babel-JS/blob/master/LICENSE). + +%package help +Summary: Development documents and examples for Flask-Babel-JS +Provides: python3-Flask-Babel-JS-doc +%description help +Flask extension to add Flask-Babel translations in JS. +## Installation +Install via pip: `pip install flask-babel-js` +Keep in mind that this extension expects you to have +[`flask_babel`](https://github.com/python-babel/flask-babel) set-up +correctly beforehand. +## Usage +You can initialize this extension both directly and using the application +factory pattern: +``` python +from flask import Flask +from flask_babel import Babel +from flask_babel_js import BabelJS +# Initializing directly: +app = Flask(__name__) +babel = Babel(app) +babel_js = BabelJS(app) +# Initializing via application factory pattern: +babel = Babel() +babel_js = BabelJS() +def create_app(): + app = Flask(__name__) + babel.init_app(app) + babel_js.init_app(app) + return app +``` +When the extension is initialized, a new route with the name of `babel_catalog` +is added to the list of routes. This is a JavaScript file which contains all +translations in your current locale. It also includes a very basic +`gettext`-like API which you can use. It is compatible with the `javascript` +extraction method of [`Babel`](https://github.com/python-babel/babel). +Add this to your `babel.cfg` to extract Javascript translation strings: +``` ini +[javascript:app/static/*.js] +encoding = utf-8 +extract_messages=_,gettext,ngettext +``` +To include the translation catalog and functions, insert the following +inside your Jinja templates: +``` jinja +<script src="{{ url_for("babel_catalog") }}"></script> +``` +Afterwards, you can use all the functions available in the [Javascript +API](#javascript-api). +Example usage in Javascript: +``` javascript +// Translate a string +var s = _("Some untranslated text"); +// Translate a string with format values +var s2 = _("Hello, %(name)s!", { name: "John" }); +// Translate a string with plural forms +var s3 = ngettext("%(n)d item was deleted.", "%(n)d items were deleted.", n, { n: n }); +// You can access all these functions through the babel object: +// babel.gettext, babel.ngettext +``` +## Python API +### `flask_babel_js.BabelJS(app=None, view_path="/_jstrans.js")` +Initializes the extension object. +Parameters: + - `app`: The Flask application. Can be `None` if you are using the application + factory pattern. + - `view_path`: The path for the catalog URL. Defaults to `"/_jstrans.js"`. +#### `init_app(app)` +Initialize an application with the extension object. +Parameters: + - `app`: The Flask application. +#### `catalog_view()` +The catalog view which provides the JavaScript code for the catalog. You don't +need to use this directly. +## Javascript API +### `window.babel` +The main BabelJS object. +#### `catalog` +All gettext messages for the current locale are in this object. The keys are +the original arguments passed to gettext and the value is the translated +version. If the translated text has a plural form, the value is an array of the +plural forms. +#### `format(text, variables)` +Formats text using Python percent-formatting. Currently only supports `s`, `d`, +and `f` as format types. Also expects a format name. For extensions, only left +padding is supported. +Parameters: + - `text`: A Python-format string. + - `variables`: An object containing values for the format specifiers. +#### `gettext(text, variables)` +Translates a string. +This function is available globally as `gettext` and `_`. +Parameters: + - `text`: The untranslated string. + - `variables`: An object containing values for the format specifiers. +#### `ngettext(text, plural_text, n, variables)` +Translates a string with plural forms based on a value. +This function is available globally as `ngettext`. +Parameters: + - `text`: The untranslated string. + - `plural_text`: The untranslated string in plural form. + - `n`: The amount of items by which the form is selected. + - `variables`: An object containing values for the format specifiers. +#### `plural(n)` +Gets the plural form ID corresponding to the number of items for this locale. +Parameters: + - `n`: The number of items. +NOTE: This function may not exist if `Plural-Forms` is not specified in the +gettext metadata in the locale. +## License +© 2020 Efe Mert Demir. This software is licensed under the 3-Clause BSD +License, a copy of which can be found in [LICENSE](https://github.com/emdemir/Flask-Babel-JS/blob/master/LICENSE). + +%prep +%autosetup -n Flask-Babel-JS-1.0.2 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-Flask-Babel-JS -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon May 15 2023 Python_Bot <Python_Bot@openeuler.org> - 1.0.2-1 +- Package Spec generated @@ -0,0 +1 @@ +2054ae748f77bd07db60f3066d086461 Flask-Babel-JS-1.0.2.tar.gz |
