├── .editorconfig ├── .github ├── CONTRIBUTING.md ├── FUNDING.yml ├── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE.md ├── SECURITY.md └── workflows │ ├── build.yml │ └── ecs.yml ├── .gitignore ├── CHANGELOG.md ├── LICENSE.md ├── README.md ├── composer.json ├── docs ├── guide-de │ ├── README.md │ ├── asset-bundles.md │ ├── assets-setup.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── migrating-yii2-bootstrap.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-es │ ├── README.md │ ├── asset-bundles.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-ja │ ├── README.md │ ├── asset-bundles.md │ ├── assets-setup.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── migrating-yii2-bootstrap.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-pt-BR │ ├── README.md │ ├── asset-bundles.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-ru │ ├── README.md │ ├── asset-bundles.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── migrating-yii2-bootstrap.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-uk │ ├── README.md │ ├── basic-usage.md │ ├── installation.md │ ├── topics-sass.md │ └── usage-widgets.md ├── guide-zh-CN │ ├── README.md │ ├── asset-bundles.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── topics-sass.md │ └── usage-widgets.md └── guide │ ├── README.md │ ├── asset-bundles.md │ ├── assets-setup.md │ ├── basic-usage.md │ ├── helper-html.md │ ├── installation.md │ ├── migrating-yii2-bootstrap.md │ ├── topics-sass.md │ └── usage-widgets.md ├── ecs.php ├── phpunit.xml.dist ├── src ├── Accordion.php ├── ActiveField.php ├── ActiveForm.php ├── Alert.php ├── BaseHtml.php ├── BootstrapAsset.php ├── BootstrapIconAsset.php ├── BootstrapPluginAsset.php ├── BootstrapWidgetTrait.php ├── Breadcrumbs.php ├── Button.php ├── ButtonDropdown.php ├── ButtonGroup.php ├── ButtonToolbar.php ├── Carousel.php ├── Dropdown.php ├── Html.php ├── InputWidget.php ├── LinkPager.php ├── Modal.php ├── Nav.php ├── NavBar.php ├── Offcanvas.php ├── Popover.php ├── Progress.php ├── Tabs.php ├── Toast.php ├── ToggleButtonGroup.php ├── Widget.php ├── i18n │ └── TranslationBootstrap.php └── messages │ ├── af │ ├── messages.mo │ └── messages.po │ ├── ar │ ├── messages.mo │ └── messages.po │ ├── az │ ├── messages.mo │ └── messages.po │ ├── be │ ├── messages.mo │ └── messages.po │ ├── bg │ ├── messages.mo │ └── messages.po │ ├── bs │ ├── messages.mo │ └── messages.po │ ├── ca │ ├── messages.mo │ └── messages.po │ ├── config.php │ ├── cs │ ├── messages.mo │ └── messages.po │ ├── da │ ├── messages.mo │ └── messages.po │ ├── de-CH │ ├── messages.mo │ └── messages.po │ ├── de │ ├── messages.mo │ └── messages.po │ ├── el │ ├── messages.mo │ └── messages.po │ ├── es │ ├── messages.mo │ └── messages.po │ ├── et │ ├── messages.mo │ └── messages.po │ ├── fa │ ├── messages.mo │ └── messages.po │ ├── fi │ ├── messages.mo │ └── messages.po │ ├── fr │ ├── messages.mo │ └── messages.po │ ├── he │ ├── messages.mo │ └── messages.po │ ├── hi │ ├── messages.mo │ └── messages.po │ ├── hr │ ├── messages.mo │ └── messages.po │ ├── hu │ ├── messages.mo │ └── messages.po │ ├── hy │ ├── messages.mo │ └── messages.po │ ├── id │ ├── messages.mo │ └── messages.po │ ├── it │ ├── messages.mo │ └── messages.po │ ├── ja │ ├── messages.mo │ └── messages.po │ ├── ka │ ├── messages.mo │ └── messages.po │ ├── kk │ ├── messages.mo │ └── messages.po │ ├── ko │ ├── messages.mo │ └── messages.po │ ├── kz │ ├── messages.mo │ └── messages.po │ ├── lt │ ├── messages.mo │ └── messages.po │ ├── lv │ ├── messages.mo │ └── messages.po │ ├── ms │ ├── messages.mo │ └── messages.po │ ├── nb-NO │ ├── messages.mo │ └── messages.po │ ├── nl │ ├── messages.mo │ └── messages.po │ ├── pl │ ├── messages.mo │ └── messages.po │ ├── pt-BR │ ├── messages.mo │ └── messages.po │ ├── pt │ ├── messages.mo │ └── messages.po │ ├── ro │ ├── messages.mo │ └── messages.po │ ├── ru │ ├── messages.mo │ └── messages.po │ ├── sk │ ├── messages.mo │ └── messages.po │ ├── sl │ ├── messages.mo │ └── messages.po │ ├── sr-Latn │ ├── messages.mo │ └── messages.po │ ├── sr │ ├── messages.mo │ └── messages.po │ ├── sv │ ├── messages.mo │ └── messages.po │ ├── tg │ ├── messages.mo │ └── messages.po │ ├── th │ ├── messages.mo │ └── messages.po │ ├── tr │ ├── messages.mo │ └── messages.po │ ├── uk │ ├── messages.mo │ └── messages.po │ ├── uz │ ├── messages.mo │ └── messages.po │ ├── vi │ ├── messages.mo │ └── messages.po │ ├── zh-CN │ ├── messages.mo │ └── messages.po │ └── zh-TW │ ├── messages.mo │ └── messages.po └── tests ├── AccordionTest.php ├── ActiveFieldDefaultFormCheckTest.php ├── ActiveFieldTest.php ├── ActiveFormTest.php ├── AlertTest.php ├── BreadcrumbsTest.php ├── ButtonDropdownTest.php ├── ButtonGroupTest.php ├── ButtonToolbarTest.php ├── CarouselTest.php ├── DropdownTest.php ├── HtmlTest.php ├── LinkPagerTest.php ├── ModalTest.php ├── NavBarTest.php ├── NavTest.php ├── OffcanvasTest.php ├── PopoverTest.php ├── ProgressTest.php ├── TabsTest.php ├── TestCase.php ├── ToastTest.php ├── ToggleButtonGroupTest.php ├── TranslationTest.php ├── assets └── .gitignore ├── bootstrap.php └── data ├── ExtendedActiveField.php ├── Singer.php └── User.php /.editorconfig: -------------------------------------------------------------------------------- 1 | # editorconfig.org 2 | 3 | root = true 4 | 5 | [*] 6 | charset = utf-8 7 | end_of_line = lf 8 | insert_final_newline = true 9 | indent_style = space 10 | indent_size = 4 11 | trim_trailing_whitespace = true 12 | 13 | [*.md] 14 | trim_trailing_whitespace = false 15 | -------------------------------------------------------------------------------- /.github/CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | Contributing to Yii2 2 | ==================== 3 | 4 | - [Report an issue](https://github.com/yiisoft/yii2/blob/master/docs/internals/report-an-issue.md) 5 | - [Translate documentation or messages](https://github.com/yiisoft/yii2/blob/master/docs/internals/translation-workflow.md) 6 | - [Give us feedback or start a design discussion](https://www.yiiframework.com/forum/index.php/forum/42-general-discussions-for-yii-20/) 7 | - [Contribute to the core code or fix bugs](https://github.com/yiisoft/yii2/blob/master/docs/internals/git-workflow.md) 8 | -------------------------------------------------------------------------------- /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | # These are supported funding model platforms 2 | 3 | open_collective: yiisoft 4 | github: [yiisoft] 5 | tidelift: "packagist/yiisoft/yii2-bootstrap5" 6 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | 5 | 6 | ### What steps will reproduce the problem? 7 | 8 | ### What is the expected result? 9 | 10 | ### What do you get instead? 11 | 12 | 13 | ### Additional info 14 | 15 | | Q | A 16 | | ---------------- | --- 17 | | Yii vesion | 18 | | PHP version | 19 | | Operating system | 20 | -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | | Q | A 2 | | ------------- | --- 3 | | Is bugfix? | ✔️/❌ 4 | | New feature? | ✔️/❌ 5 | | Breaks BC? | ✔️/❌ 6 | | Fixed issues | 7 | -------------------------------------------------------------------------------- /.github/SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | Please use the [security issue form](https://www.yiiframework.com/security) to report to us any security issue you find in Yii. 4 | DO NOT use the issue tracker or discuss it in the public forum as it will cause more damage than help. 5 | 6 | Please note that as a non-commercial OpenSource project we are not able to pay bounties at the moment. 7 | -------------------------------------------------------------------------------- /.github/workflows/build.yml: -------------------------------------------------------------------------------- 1 | name: build 2 | 3 | on: [ push, pull_request ] 4 | 5 | env: 6 | DEFAULT_COMPOSER_FLAGS: "--prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi --ignore-platform-req=php" 7 | 8 | jobs: 9 | phpunit: 10 | name: PHP ${{ matrix.php }}-${{ matrix.os }} 11 | runs-on: ${{ matrix.os }} 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | os: [ ubuntu-latest ] 16 | php: [ "7.3", "7.4", "8.0", "8.1", "8.2", "8.3", "8.4" ] 17 | 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v4 21 | - name: Install PHP 22 | uses: shivammathur/setup-php@v2 23 | with: 24 | php-version: ${{ matrix.php }} 25 | - name: Determine composer cache directory 26 | id: composer-cache 27 | run: echo "COMPOSER_CACHE_DIR=$(composer config cache-dir)" >> $GITHUB_ENV 28 | - name: Cache dependencies composer installed with composer 29 | uses: actions/cache@v4 30 | with: 31 | path: ${{ env.COMPOSER_CACHE_DIR }} 32 | key: php${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} 33 | restore-keys: php${{ matrix.php }}-composer- 34 | - name: Update composer 35 | run: composer self-update 36 | - name: Install dependencies with composer 37 | run: composer update $DEFAULT_COMPOSER_FLAGS 38 | - name: Run unit tests with coverage 39 | run: vendor/bin/phpunit --verbose --coverage-clover=coverage.clover --colors=always 40 | if: matrix.php == '7.4' 41 | - name: Run unit tests without coverage 42 | run: vendor/bin/phpunit --verbose --colors=always 43 | if: matrix.php != '7.4' 44 | - name: Upload code coverage 45 | run: | 46 | wget https://scrutinizer-ci.com/ocular.phar 47 | php ocular.phar code-coverage:upload --format=php-clover coverage.clover 48 | if: matrix.php == '7.4' 49 | continue-on-error: true # if is fork 50 | -------------------------------------------------------------------------------- /.github/workflows/ecs.yml: -------------------------------------------------------------------------------- 1 | name: ecs 2 | 3 | on: [ push, pull_request ] 4 | 5 | env: 6 | DEFAULT_COMPOSER_FLAGS: "--prefer-dist --no-interaction --no-progress --optimize-autoloader --ansi --ignore-platform-req=php" 7 | 8 | jobs: 9 | easy-coding-standard: 10 | name: PHP ${{ matrix.php }}-${{ matrix.os }} 11 | runs-on: ${{ matrix.os }} 12 | strategy: 13 | fail-fast: false 14 | matrix: 15 | os: [ ubuntu-latest ] 16 | php: [ "8.0", "8.1", "8.2", "8.3", "8.4" ] 17 | 18 | steps: 19 | - name: Checkout 20 | uses: actions/checkout@v4 21 | - name: Install PHP 22 | uses: shivammathur/setup-php@v2 23 | with: 24 | php-version: ${{ matrix.php }} 25 | - name: Determine composer cache directory 26 | id: composer-cache 27 | run: echo "COMPOSER_CACHE_DIR=$(composer config cache-dir)" >> $GITHUB_ENV 28 | - name: Cache dependencies composer installed with composer 29 | uses: actions/cache@v4 30 | with: 31 | path: ${{ env.COMPOSER_CACHE_DIR }} 32 | key: php${{ matrix.php }}-composer-${{ hashFiles('composer.json') }} 33 | restore-keys: php${{ matrix.php }}-composer- 34 | - name: Update composer 35 | run: composer self-update 36 | - name: Install dependencies with composer 37 | run: composer update $DEFAULT_COMPOSER_FLAGS 38 | - name: Run easy-coding-standard 39 | run: vendor/bin/ecs check src tests --ansi 40 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # phpstorm project files 2 | .idea 3 | 4 | # netbeans project files 5 | nbproject 6 | 7 | # zend studio for eclipse project files 8 | .buildpath 9 | .project 10 | .settings 11 | 12 | # windows thumbnail cache 13 | Thumbs.db 14 | 15 | # composer 16 | composer.phar 17 | /vendor 18 | /composer.lock 19 | 20 | # Mac DS_Store Files 21 | .DS_Store 22 | 23 | # phpunit itself is not needed 24 | phpunit.phar 25 | # local phpunit config 26 | /phpunit.xml 27 | 28 | /tests/bootstrap.local.php 29 | /tests/runtime 30 | /tests/data/config.local.php 31 | /tests/docker 32 | /tests/dockerids 33 | 34 | # nodejs 35 | /node_modules 36 | /package-lock.json 37 | .phpunit.result.cache 38 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | Yii Framework 2 bootstrap5 extension Change Log 2 | ============================================== 3 | 4 | 2.0.51 under development 5 | ------------------------ 6 | 7 | - Bug #88: Fix ButtonDropdown JS error (stevekr, simialbi) 8 | 9 | 2.0.50 April 10, 2025 10 | --------------------- 11 | 12 | - Bug #84: Checkbox labels in inline forms are no longer hidden (BBoom) 13 | - Bug #80: Prevent publishing of whole bootstrap directory (rmenor) 14 | - Bug #92: Explicit nullable parameter (OneMorePenguin, simialbi) 15 | - Enh #78: Navbar has new attribute `brandImageOptions` (EvilKarter) 16 | - Bug #74: Bootstrap5 Button is not registering clientEvents (simialbi) 17 | - Bug #72: Nav::isItemActive(): Return value must be of type bool, int returned (hirenbhut93) 18 | - Bug #62: Navbar can now accept `collapseOptions` to be `false` (theblindfrog) 19 | 20 | 21 | 2.0.4 November 30, 2022 22 | ----------------------- 23 | 24 | - Bug #58: Dropdown clientEvents did not fire because they need to be bound on parent (simialbi) 25 | - Bug #43: Accordion widget does not set "collapsed" class on toggle button (simialbi) 26 | - Enh #39: Add inline mode to `BaseHtml::checkboxList()` and `BaseHtml::radioList()` (WinterSilence) 27 | - Enh #40: Breadcrumbs refactoring (WinterSilence) 28 | - Bug #46: Fix data-attribute usage for Dropdown toggle (machour) 29 | - Enh #48: Update `BootstrapWidgetTrait` to initialize JS plugins without jQuery (WinterSilence) 30 | 31 | 32 | 2.0.3 April 22, 2022 33 | -------------------- 34 | 35 | - Enh #36: `BootstrapWidgetTrait::$clientOptions = false` disables registerJs in `BootstrapWidgetTrait` (julianrutten) 36 | - Enh #33: Updated russian translations (WinterSilence) 37 | - Enh #28: Added translations (simialbi) 38 | - Enh #24: Accept `Breadcrumbs::$homeLink = false` to omit "Home" link (fetus-hina) 39 | - Enh #27: Changed all data- and aria- attributes to short syntax (simialbi) 40 | - Enh #26: Add Bootstrap icon asset (Krakozaber) 41 | - Enh #18: Add rangeInput(), colorInput() and switch mode to checkbox() in class ActiveField (WinterSilence) 42 | - Bug #19: Fix value of attribute "aria-current" in LinkPager::renderPageButton() (WinterSilence) 43 | - Bug #23: Fix class attribute in listBox() and dropDownList() of class ActiveField (WinterSilence) 44 | - Bug #133: Fix default `homeUrl` in `Breadcrumbs` widget (luke-) 45 | 46 | 47 | 2.0.2 October 21, 2021 48 | ---------------------- 49 | 50 | - Bug #5: BootstrapWidgetTrait::registerPlugin do nothing if no clientOptions is provided (dicrtarasov) 51 | - Bug #6: yii\bootstrap5\BaseHtml::staticControl(): Argument #1 ($value) must be of type string, int given (dicrtarasov) 52 | - Bug #9: fixed default ActiveField::hintOptions (dicrtarasov) 53 | - Bug #15: Fixed inline rendering of checkboxLists and radioLists (simialbi) 54 | - Enh #11: Brought back close button api (simialbi) 55 | 56 | 57 | 2.0.1 August 11, 2021 58 | --------------------- 59 | 60 | - no changes in this release. 61 | 62 | 63 | 1.0.0 64 | ----------------------- 65 | - Initial release 66 | -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | Copyright © 2008 by Yii Software LLC (http://www.yiisoft.com) 2 | All rights reserved. 3 | 4 | Redistribution and use in source and binary forms, with or without 5 | modification, are permitted provided that the following conditions 6 | are met: 7 | 8 | * Redistributions of source code must retain the above copyright 9 | notice, this list of conditions and the following disclaimer. 10 | * Redistributions in binary form must reproduce the above copyright 11 | notice, this list of conditions and the following disclaimer in 12 | the documentation and/or other materials provided with the 13 | distribution. 14 | * Neither the name of Yii Software LLC nor the names of its 15 | contributors may be used to endorse or promote products derived 16 | from this software without specific prior written permission. 17 | 18 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 19 | "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 20 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS 21 | FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE 22 | COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, 23 | INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, 24 | BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 25 | LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 26 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 27 | LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN 28 | ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 29 | POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 |

2 | 3 | 4 | 5 |

Twitter Bootstrap 5 Extension for Yii 2

6 |
7 |

8 | 9 | This is the Twitter Bootstrap extension for [Yii framework 2.0](https://www.yiiframework.com). It encapsulates [Bootstrap 5](https://getbootstrap.com/) components 10 | and plugins in terms of Yii widgets, and thus makes using Bootstrap components/plugins 11 | in Yii applications extremely easy. 12 | 13 | For license information check the [LICENSE](LICENSE.md)-file. 14 | 15 | Documentation is at [docs/guide/README.md](docs/guide/README.md). 16 | 17 | [![Latest Stable Version](https://poser.pugx.org/yiisoft/yii2-bootstrap5/v/stable.png)](https://packagist.org/packages/yiisoft/yii2-bootstrap5) 18 | [![Total Downloads](https://poser.pugx.org/yiisoft/yii2-bootstrap5/downloads.png)](https://packagist.org/packages/yiisoft/yii2-bootstrap5) 19 | [![Build Status](https://github.com/yiisoft/yii2-bootstrap5/workflows/build/badge.svg)](https://github.com/yiisoft/yii2-bootstrap5/actions/workflows/build.yml) 20 | [![ECS Status](https://github.com/yiisoft/yii2-bootstrap5/workflows/ecs/badge.svg)](https://github.com/yiisoft/yii2-bootstrap5/actions/workflows/ecs.yml) 21 | 22 | 23 | Installation 24 | ------------ 25 | 26 | The preferred way to install this extension is through [composer](https://getcomposer.org/download/). 27 | 28 | Either run 29 | 30 | ``` 31 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 32 | ``` 33 | 34 | or add 35 | 36 | ``` 37 | "yiisoft/yii2-bootstrap5": "*" 38 | ``` 39 | 40 | to the require section of your `composer.json` file. 41 | 42 | Translations 43 | ---- 44 | 45 | The i18n configuration will be automatically added to your application configuration via bootstrapping process. 46 | 47 | Usage 48 | ---- 49 | 50 | For example, the following 51 | single line of code in a view file would render a Bootstrap Progress plugin: 52 | 53 | ```php 54 | 60, 'label' => 'test']) ?> 55 | ``` 56 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "yiisoft/yii2-bootstrap5", 3 | "description": "The Twitter Bootstrap v5 extension for the Yii framework", 4 | "keywords": [ 5 | "yii2", 6 | "bootstrap", 7 | "bootstrap5" 8 | ], 9 | "type": "yii2-extension", 10 | "license": "BSD-3-Clause", 11 | "support": { 12 | "source": "https://github.com/yiisoft/yii2-bootstrap5" 13 | }, 14 | "authors": [ 15 | { 16 | "name": "Sergey Zhukovskiy", 17 | "email": "mylistryx@gmail.com", 18 | "homepage": "https://net23.ru/" 19 | }, 20 | { 21 | "name": "Simon Karlen", 22 | "email": "simi.albi@outlook.com" 23 | } 24 | ], 25 | "minimum-stability": "stable", 26 | "require": { 27 | "php": ">=7.3", 28 | "ext-json": "*", 29 | "yiisoft/yii2": "^2.0.42", 30 | "bower-asset/bootstrap": "^5.2.3" 31 | }, 32 | "require-dev": { 33 | "yiisoft/yii2-coding-standards": "~2.0", 34 | "phpunit/phpunit": "^9.6", 35 | "symplify/easy-coding-standard": "^12.1", 36 | "twbs/bootstrap-icons": "^1.7.2" 37 | }, 38 | "suggest": { 39 | "twbs/bootstrap-icons": "Add this package to the `require` section of your `composer.json` if you'd like to use the bootstrap icon asset." 40 | }, 41 | "config": { 42 | "allow-plugins": { 43 | "yiisoft/yii2-composer": true 44 | } 45 | }, 46 | "repositories": [ 47 | { 48 | "type": "composer", 49 | "url": "https://asset-packagist.org" 50 | } 51 | ], 52 | "autoload": { 53 | "psr-4": { 54 | "yii\\bootstrap5\\": "src" 55 | } 56 | }, 57 | "autoload-dev": { 58 | "psr-4": { 59 | "yiiunit\\extensions\\bootstrap5\\": "tests" 60 | } 61 | }, 62 | "extra": { 63 | "branch-alias": { 64 | "dev-master": "2.0.x-dev" 65 | }, 66 | "bootstrap": "yii\\bootstrap5\\i18n\\TranslationBootstrap" 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /docs/guide-de/README.md: -------------------------------------------------------------------------------- 1 | Twitter Bootstrap Erweiterung für Yii 2 2 | ======================================= 3 | 4 | Diese Erweiterung enthält Unterstützung für das [Bootstrap 5 Framework](https://getbootstrap.com/) (auch bekannt als "Twitter Bootstrap") 5 | Markup und dessen Komponenten. Bootstrap ist eine exzellentes, reponsives Framework welches den clientseitigen 6 | Entwicklungsprozess vehement zu verkürzen vermag. 7 | 8 | Die Basis von Bootstrap ist unterteilt in folgende 2 Bereiche: 9 | - CSS Basics: Grid Layout System, Typography, Helper-Klassen, Responsive Funktionen. 10 | - "Ready to use"-Komponenten: Formulare, Menus, Paginationen, Modals, Tabs etc. 11 | 12 | Loslegen 13 | -------- 14 | 15 | * [Installation](installation.md) 16 | * [Assets Setup](assets-setup.md) 17 | * [Basic Usage](basic-usage.md) 18 | 19 | Verwendung 20 | ---------- 21 | 22 | * [Yii widgets](usage-widgets.md) 23 | * [Html helper](helper-html.md) 24 | * [Asset Bundles](asset-bundles.md) 25 | 26 | Weitere Themen 27 | -------------- 28 | 29 | * [Using the .sass files of Bootstrap directly](topics-sass.md) 30 | * [Migration von yii2-bootstrap](migrating-yii2-bootstrap.md) 31 | -------------------------------------------------------------------------------- /docs/guide-de/asset-bundles.md: -------------------------------------------------------------------------------- 1 | Asset Bundles 2 | ============= 3 | 4 | Bootstrap ist eine komplexe Front-End-Lösung, welche CSS, Javascript, Schriften usw. beinhaltet. 5 | Um Ihnen die flexibelste Kontrolle über die einzelnen Komponenten zu ermöglichen, enthält diese Erweiterung verschiedene Asset Bundles. 6 | 7 | Das sind: 8 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - enthält nur das hauptsächliche CSS. 9 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - enthält das Javascript. Abhängig von [[yii\bootstrap5\BootstrapAsset]]. 10 | - [[yii\bootstrap5\BootstrapIconAsset|BootstrapIconAsset]] - enthält die Bootstrap Icons. 11 | 12 | Verschiedene Anwendungsanforderungen erfordern verschiedene Bundles (bzw. Kombinationen). 13 | Falls Sie nur auf das CSS angewiesen sind, reicht es wenn Sie [[yii\bootstrap5\BootstrapAsset]] laden. 14 | Wenn Sie das Javascript verwenden möchten, müssen Sie [[yii\bootstrap5\BootstrapPluginAsset]] auch laden. 15 | Falls Sie die Icons von Bootstrap 5 verwenden möchten, fügen Sie `twbs/bootstrap-icons` zu ihrem `composer.json` in die 16 | `require` Sektion ein und registrieren Sie [[yii\bootstrap5\BootstrapIconAsset]] in Ihrer Applikation 17 | 18 | > Tipp: Die meisten Widgets laden [[yii\bootstrap5\BootstrapPluginAsset]] automatisch. 19 | -------------------------------------------------------------------------------- /docs/guide-de/basic-usage.md: -------------------------------------------------------------------------------- 1 | Grundlegende Verwendung 2 | ======================= 3 | 4 | Yii verpackt die Bootstrap Basics nicht in PHP Code, da dass HTML selbst sehr einfach aufgebaut ist. Sie finden mehr 5 | Informationen zur Verwendung der Basics unter [bootstrap documentation website](https://getbootstrap.com/docs/). Yii bietet 6 | aber eine einfache Methode zur Einbindung der Bootstrap Assets in Ihre Seite durch das Hinzufügen einer Zeile zu `AppAsset.ph` 7 | im `@app/assets` Verzeichnis: 8 | 9 | ```php 10 | public $depends = [ 11 | 'yii\web\YiiAsset', 12 | 'yii\bootstrap5\BootstrapAsset', // Diese Zeile 13 | ]; 14 | ``` 15 | 16 | Die Verwendung von Bootstrap mittels des Yii Asset Manager erlaubt die Komprimierung und Kombinierung der Bootstrapressourcen 17 | mit den Applikationsressourcen (falls nötig). 18 | -------------------------------------------------------------------------------- /docs/guide-de/helper-html.md: -------------------------------------------------------------------------------- 1 | HTML helper 2 | =========== 3 | 4 | Bootstrap führt viele konsistente HTML Strukturen ein, welche es erlauben, verschiedene visuelle Effekte einfach zu verwenden. 5 | Ausschliesslich die komplexesten von ihnen sind mittels Widgets in dieser Erweiterung umgesetzt worden. Der Rest kann manuell 6 | mittels HTML zusammengestellt werden. 7 | Einige spezielle Bootstrap Markups sind implementiert im [[\yii\bootstrap5\Html]]-Helper. 8 | Die [[\yii\bootstrap5\Html]]-Klasse ist eine Erweiterung der regulären [[\yii\helpers\Html]]-Klasse mit Anpassungen zur 9 | Verwendung mit Bootstrap. Sie bietet verschiedene nützliche Methoden wie z.B. 10 | 11 | - `staticControl()` - erlaubt das erstellen von "[statischen Feldern](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" 12 | 13 | Die [[\yii\bootstrap5\Html]]-Klasse erbt von der [[\yii\helpers\Html]]-Klasse und ersetzt diese dadurch vollumfänglich. 14 | Sie benötigen folglich **nicht** beide in Ihren Views. 15 | Beispiel: 16 | 17 | ```php 18 | 22 | Html::tag('i', ['class' => 'fas fa-check']) . Html::encode('Save & apply'), 24 | 'encodeLabel' => false, 25 | 'options' => ['class' => 'btn-primary'], 26 | ]); ?> 27 | ``` 28 | 29 | > Vorsicht: Verwechseln Sie [[\yii\bootstrap5\Html]] und [[\yii\helpers\Html]] Klassen nicht und bedenken Sie jeweils 30 | welche Sie in Ihren Views verwenden. 31 | -------------------------------------------------------------------------------- /docs/guide-de/installation.md: -------------------------------------------------------------------------------- 1 | Installation 2 | ============ 3 | 4 | ## Mittels Composer Package 5 | 6 | Der empfohlene Weg zur Installation dieser Erweiterung ist mittels [composer](https://getcomposer.org/download/). 7 | 8 | Führen Sie entweder folgenden Befehlt aus 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | oder fügen Sie folgendes 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap5": "~1.0.0" 18 | ``` 19 | 20 | zur `require`-Sektion Ihrer `composer.json`-Datei hinzu. 21 | -------------------------------------------------------------------------------- /docs/guide-de/migrating-yii2-bootstrap.md: -------------------------------------------------------------------------------- 1 | Migration von yii2-bootstrap4 2 | ============================= 3 | 4 | yii2-bootstrap4 ist eine komplette Überarbeitung des Projekts (siehe den Bootstrap 4 von Bootstrap 3 Migrationsguide). 5 | Die größten Änderungen finden Sie hier zusammengefasst: 6 | 7 | ## Allgemein 8 | 9 | * Der Namespace ist nun `yii\bootstrap5` anstatt `yii\bootstrap4` 10 | * Die PHP Kompatibilität **ist beschränkt auf** `>=7.0` 11 | * Der "Schließen"-Button von Widgets wie [[yii\bootstrap5\Alert|Alert]] oder [[yii\bootstrap5|Modal|Modal]] wird neu 12 | via CSS dargestellt und hat keinen Inhalt mehr. Es ist daher beim Überschreiben sicherzustellen, dass die `btn-close` 13 | Klasse entfernt wird und die benötigten Stile manuell gesetzt werden. 14 | 15 | ## Widgets / Klassen 16 | 17 | ### BaseHtml 18 | 19 | ### ActiveField 20 | 21 | ### ActiveForm 22 | 23 | Es gibt eine neue Konstante [[yii\bootstrap5\ActiveForm::LAYOUT_FLOATING]]. Sie repräsentiert ein 24 | [neues Formular-Layout](https://getbootstrap.com/docs/5.1/forms/floating-labels/) in Bootstrap 5. 25 | 26 | ### Breadcrumbs 27 | 28 | ### ButtonDropdown 29 | 30 | ### ButtonToolbar 31 | 32 | ### Carousel 33 | 34 | ### LinkPager 35 | 36 | ### Modal 37 | 38 | ### Nav 39 | 40 | ### NavBar 41 | 42 | Es gibt nun die Möglichkeit der Erstellung einer [Offcanvas Navbar](https://getbootstrap.com/docs/5.1/components/navbar/#offcanvas). 43 | Dies ist zu erreichen, indem man die Eigenschaft `$collapseOptions` des Widgets [[yii\bootstrap5\NavBar|Navbar]] auf `false` 44 | und die Eigenschaft `$offcanvasOptions` auf ein array setzt (auch wenn leer). 45 | 46 | ### Tabs 47 | 48 | ### ToggleButtonGroup 49 | -------------------------------------------------------------------------------- /docs/guide-de/topics-sass.md: -------------------------------------------------------------------------------- 1 | Direkte Verwendung der .sass Dateien von Bootstrap 2 | ================================================== 3 | 4 | Falls Sie das [Bootstrap CSS direkt in Ihre SASS-Dateien integerieren](https://getbootstrap.com/docs/4.1/getting-started/theming/#sass) 5 | möchten, müssen Sie unter Umständen das Laden der Orginal Bootstrap-CSS-Dateien verhindern. 6 | Dies können Sie durch das Leeren des `css`-Property in der [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]]-Datei bewerkstelligen. 7 | Konfigurieren Sie dazu die `assetManager`-[Komponente](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) wie folgt: 8 | 9 | ```php 10 | 'assetManager' => [ 11 | 'bundles' => [ 12 | 'yii\bootstrap5\BootstrapAsset' => [ 13 | 'css' => [], 14 | ] 15 | ] 16 | ] 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/guide-de/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii widgets 2 | =========== 3 | 4 | Die komplexesten Bootstrap Komponenten sind umgesetzt mittels Yii-Widget zur vereinfachten Verwendung und Integration 5 | von Framework-Funktionen. Alle Widgets gehören zum `\yii\bootstrap5` Namespace: 6 | 7 | - [[yii\bootstrap5\Accordion|Accordion]] 8 | - [[yii\bootstrap5\ActiveField|ActiveField]] 9 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 10 | - [[yii\bootstrap5\Alert|Alert]] 11 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 12 | - [[yii\bootstrap5\Button|Button]] 13 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 14 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 15 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 16 | - [[yii\bootstrap5\Carousel|Carousel]] 17 | - [[yii\bootstrap5\Dropdown|Dropdown]] 18 | - [[yii\bootstrap5\Modal|Modal]] 19 | - [[yii\bootstrap5\Nav|Nav]] 20 | - [[yii\bootstrap5\NavBar|NavBar]] 21 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 22 | - [[yii\bootstrap5\Progress|Progress]] 23 | - [[yii\bootstrap5\Tabs|Tabs]] 24 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 25 | 26 | ## ActiveField: Weitere Input-Typen 27 | 28 | - [Range](https://getbootstrap.com/docs/5.1/forms/range/): `$form->rangeInput(['min' => 0, 'max' => 100, 'step' => 1])` 29 | - [Color picker](https://getbootstrap.com/docs/5.1/forms/form-control/#color): `$form->colorInput()` 30 | - [Switch](https://getbootstrap.com/docs/5.1/forms/checks-radios/#switches): `$form->checkbox(['switch' => true])` 31 | 32 | ## Anpassen der Widget CSS-Klassen 33 | 34 | Die Widgets erlauben die schnelle Erstellung von HTML-Markup der Bootstrap Komponenten. 35 | Die Standard-CSS-Klassen einer bestimmten Komponente wird automatisch vom Widget hinzugefügt. Alle weiteren (optionalen) 36 | Klassen können Sie mittels der Attribute des Widgets anpassen. 37 | 38 | Verwenden Sie z.B. [[yii\bootstrap5\Button::options]] zur Anpassung des Aussehens des Buttons. Die Klasse `btn`, welche 39 | benötigt vom Button Widget benötigt wird, wird automatisch hinzugefügt. Sie müssen lediglich die besondere Button-Klasse 40 | hinzufügen: 41 | 42 | ```php 43 | echo Button::widget([ 44 | 'label' => 'Action', 45 | 'options' => ['class' => 'btn-primary'], // produces class "btn btn-primary" 46 | ]); 47 | ``` 48 | 49 | Manchmal möchte man aber die Standard-Klasse ersetzen. 50 | Das [[yii\bootstrap5\ButtonGroup]]-Widget beispielsweise verwendet standardmässig die 'btn-group' Klasse für den Container, 51 | es müsste aber 'btn-group-vertical' erhalten zur vertikalen Ausrichtung. 52 | Würden Sie wie oben nur die 'class'-Option verwenden, würde die 'btn-group-vertical'-Klasse zur 'btn-group'-Klasse hinzugefügt. 53 | Zum Überschreiben der Standard-Klassen eines Widgets, müssen Sie die 'class'-Option unter dem Array-Schlüssel 'widget' angeben: 54 | 55 | ```php 56 | echo ButtonGroup::widget([ 57 | 'options' => [ 58 | 'class' => ['widget' => 'btn-group-vertical'] // replaces 'btn-group' with 'btn-group-vertical' 59 | ], 60 | 'buttons' => [ 61 | ['label' => 'A'], 62 | ['label' => 'B'], 63 | ] 64 | ]); 65 | ``` 66 | 67 | 68 | ## Navbar widget 69 | 70 | Das Navbar Widget hat so seine Eigenheiten. Bei der Verwendung des Widgets sollten Sie darauf achten, dass der Breakpoint, 71 | ab welchem die Navigation zugeklappt wird (Mobile Navigation) sowie das Farbschema definiert sind. 72 | 73 | Diese Definition geschieht über CSS Klassen. Die Standartwerte lauten `navbar-light bg-light` fürs Farbschema und 74 | `navbar-expand-lg` für den brakpoint. Für weitere Informationen, konsultieren Sie die [Bootstrap Dokumentation](https://getbootstrap.com/docs/5.1/components/navbar/): 75 | ```php 76 | Navbar::begin([ 77 | 'options' => [ 78 | 'class' => ['navbar-dark', 'bg-dark', 'navbar-expand-md'] 79 | ] 80 | ]); 81 | [...] 82 | Navbar::end(); 83 | ``` 84 | 85 | Falls Sie die Reihenfolge des Logos und des "Toggle Buttons" ändern möchten, können Sie dies wie folgt tun: 86 | ```php 87 | Navbar::begin([ 88 | 'brandOptions' => [ 89 | 'class' => ['order-1'] 90 | ], 91 | 'togglerOptions' => [ 92 | 'class' => ['order-0'] 93 | ] 94 | ]); 95 | [...] 96 | Navbar::end(); 97 | ``` 98 | -------------------------------------------------------------------------------- /docs/guide-es/README.md: -------------------------------------------------------------------------------- 1 | Extensión Twitter Bootstrap para Yii 2 2 | ====================================== 3 | 4 | La extensión incluye soporte para el marcado de [Bootstrap 5](https://getbootstrap.com/) y los componentes del framework 5 | (también conocido como "Twitter Bootstrap"). Bootstrap es un excelente framework responsivo que puede acelerar 6 | enormemente el proceso de desarrollo del lado del cliente. 7 | 8 | El núcleo de Boostrap está representado por dos partes: 9 | 10 | - Bases de CSS, tales como un sistema de cuadriculas, tipografía, clases de ayuda, y utilidades responsivas. 11 | - Componentes listos para usar, tales como formularios, menús, paginación, cajas modales, tabs, etc. 12 | 13 | Pasos Iniciales 14 | --------------- 15 | 16 | * [Instalación](installation.md) 17 | * [Uso Básico](basic-usage.md) 18 | 19 | Uso 20 | --- 21 | 22 | * [Yii widgets](usage-widgets.md) 23 | * [Html helper](helper-html.md) 24 | * [Asset Bundles](asset-bundles.md) 25 | 26 | Temas Adicionales 27 | ----------------- 28 | 29 | * [Usando directamente los ficheros .sass de Bootstrap](topics-sass.md) 30 | -------------------------------------------------------------------------------- /docs/guide-es/asset-bundles.md: -------------------------------------------------------------------------------- 1 | Asset Bundles 2 | ============= 3 | 4 | Bootstrap es una completa solución front-end, que incluye CSS, JavaScript, fuentes y mucho más. 5 | Con el fin de permitir un control más flexible sobre los componentes de Bootstrap, esta extensión proporciona 6 | varios asset bundles. 7 | Ellos son: 8 | 9 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - contiene unicamente los ficheros CSS principales. 10 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - depende de [[yii\bootstrap5\BootstrapAsset]], contiene ficheros javascript. 11 | 12 | Particularmente las aplicaciones pueden necesitar requerir diferentes usos de bundle (o combinación de bundle). 13 | Si necesitas unicamente estilos CSS, [[yii\bootstrap5\BootstrapAsset]] será suficiente para ti. Sin embargo, si 14 | quieres usar el JavaScript de Bootstrap, necesitas registrar [[yii\bootstrap5\BootstrapPluginAsset]]. 15 | 16 | > Consejo: la mayoría de los widgets registran automaticamente [[yii\bootstrap5\BootstrapPluginAsset]]. 17 | -------------------------------------------------------------------------------- /docs/guide-es/basic-usage.md: -------------------------------------------------------------------------------- 1 | Uso Básico 2 | ========== 3 | 4 | Yii no se ajusta a los conceptos básicos de bootstrap dentro del código PHP, desde el HTML es muy simple en si mismo 5 | en este caso. Puedes encontrar los detalles sobre el uso de los conceptos básicos en la [web de bootstrap](https://getbootstrap.com/docs/). Yii proporciona una manera de incluir los assets de bootstrap en tus páginas añadiendo una única linea a `AppAsset.php` localizado en tu 6 | directorio `@app/assets`: 7 | 8 | ```php 9 | public $depends = [ 10 | 'yii\web\YiiAsset', 11 | 'yii\bootstrap5\BootstrapAsset', // esta linea 12 | ]; 13 | ``` 14 | 15 | Usando bootstrap a través de Yii asset manager permite que minimices los recursos y combinarlos con tus propios recursos 16 | cuando lo necesites. 17 | -------------------------------------------------------------------------------- /docs/guide-es/helper-html.md: -------------------------------------------------------------------------------- 1 | Html helper 2 | =========== 3 | 4 | Bootstrap introduce muchas construcciones y esqueletos consistentes de HTML, que permiten crear diferentes efectos visuales. 5 | Unicamente lo más complejo está cubierto por los widgets proporcionados en esta extensión. El resto debería ser 6 | compuesto manualmente usando HTML directamente. 7 | Sin embargo, algunas marcas especiales de Bootstrap son cubiertas por el helper [[\yii\bootstrap5\Html]]. 8 | [[\yii\bootstrap5\Html]] es una versión mejorada de la regular [[\yii\helpers\Html]] dedicada a las necesidades de Bootstrap. 9 | Proporciona varios métodos útiles: 10 | 11 | - `staticControl()` - permite renderizar formularios "[static controls](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" 12 | 13 | [[\yii\bootstrap5\Html]] hereda todas las funcionalidades disponibles en [[\yii\helpers\Html]] y puede usarse como sustituto, 14 | así que no es necesario incluir ambos dentro de los archivos de tus vistas. 15 | Por ejemplo: 16 | 17 | ```php 18 | 21 | Html::encode('Save & apply'), 23 | 'encodeLabel' => false, 24 | 'options' => ['class' => 'btn-primary'], 25 | ]); ?> 26 | ``` 27 | 28 | > Atención: no confundas [[\yii\bootstrap5\Html]] con [[\yii\helpers\Html]], ten cuidado que clases estás usando dentro de tus vistas. 29 | -------------------------------------------------------------------------------- /docs/guide-es/installation.md: -------------------------------------------------------------------------------- 1 | Instalación 2 | =========== 3 | 4 | ## Obteniendo el Paquete de Composer 5 | 6 | La mejor manera para instalar esta extensión es a través de [composer](https://getcomposer.org/download/). 7 | 8 | Ejecuta 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | o añade 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap": "~1.0.0" 18 | ``` 19 | 20 | en la sección require de tu fichero `composer.json`. 21 | -------------------------------------------------------------------------------- /docs/guide-es/topics-sass.md: -------------------------------------------------------------------------------- 1 | Usando directamente los ficheros .sass de Bootstrap 2 | =================================================== 3 | 4 | Si deseas incluir el [css de Bootstrap directamente en tus ficheros sass](https://getbootstrap.com/getting-started/#customizing) puedes necesitar deshabilitar los ficheros css de bootstrap originales para ser cargados. 5 | Puedes hacer esto mediante la configuración de la propiedad css de [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] asignando 6 | un array vacio. 7 | Para esto necesitas configurar el `assetManager` [componente de aplicación](https://github.com/yiisoft/yii2/blob/master/docs/guide-es/structure-application-components.md) como se muestra a continuación: 8 | 9 | ```php 10 | 'assetManager' => [ 11 | 'bundles' => [ 12 | 'yii\bootstrap5\BootstrapAsset' => [ 13 | 'css' => [], 14 | ] 15 | ] 16 | ] 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/guide-es/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii widgets 2 | =========== 3 | 4 | La mayoría de los componentes de bootstrap están encapsulados dentro de Yii widgets lo que permite una sintaxis 5 | más robusta y poder integrarse con las características del framework. Todos los widgets pertenecen 6 | al namespace `\yii\bootstrap5`: 7 | 8 | - [[yii\bootstrap5\Accordion|Accordion]] 9 | - [[yii\bootstrap5\ActiveField|ActiveField]] 10 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 11 | - [[yii\bootstrap5\Alert|Alert]] 12 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 13 | - [[yii\bootstrap5\Button|Button]] 14 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 15 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 16 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 17 | - [[yii\bootstrap5\Carousel|Carousel]] 18 | - [[yii\bootstrap5\Dropdown|Dropdown]] 19 | - [[yii\bootstrap5\LinkPager|LinkPager]] 20 | - [[yii\bootstrap5\Modal|Modal]] 21 | - [[yii\bootstrap5\Nav|Nav]] 22 | - [[yii\bootstrap5\NavBar|NavBar]] 23 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 24 | - [[yii\bootstrap5\Popover|Popover]] 25 | - [[yii\bootstrap5\Progress|Progress]] 26 | - [[yii\bootstrap5\Tabs|Tabs]] 27 | - [[yii\bootstrap5\Toast|Toast]] 28 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 29 | 30 | 31 | ## Personalización de las clases css para los widget 32 | 33 | Los widgets permiten una rápida composición del HTML para los componentes de bootstrap que requieren las clases 34 | CSS de bootstrap. 35 | Las clases por defecto para un componente en particular serán añadidas automáticamente por los widgets, y las clases 36 | opcionales que quieres personalizar son frecuentemente soportadas a través de las propiedades de los widgets. 37 | 38 | Por ejemplo, puedas usar [[yii\bootstrap5\Button::options]] para personalizar la apariencia de un botón. 39 | La clase 'btn' que se requiere para un botón será añadida automáticamente, por lo que no necesitas preocuparte 40 | por ello. 41 | Todo lo que necesitas es especificar una clase de botón en particular: 42 | 43 | ```php 44 | echo Button::widget([ 45 | 'label' => 'Action', 46 | 'options' => ['class' => 'btn-primary'], // produce la clase "btn btn-primary" 47 | ]); 48 | ``` 49 | 50 | Sin embargo, a veces puede que tengas que remplazar las clases por defecto por las alternativas. 51 | Por ejemplo, el widget [[yii\bootstrap5\ButtonGroup]] utiliza por defecto la clase 'btn-group' para el contenido del div, pero necesitas usar 'btn-group-vertical' en lugar de alinear los botones verticalmente. 52 | El uso directo de la opción 'class' simplemente añade 'btn-group-vertical' a 'btn-group, el cual producirá un resultado incorrecto. 53 | Con el fin de sobrescribir las clases por defecto de un widget, necesitas especificar la opción 'class' como un 54 | array que contiene la definición de la clase personalizada bajo la clave 'widget': 55 | 56 | ```php 57 | echo ButtonGroup::widget([ 58 | 'options' => [ 59 | 'class' => ['widget' => 'btn-group-vertical'] // remplaza 'btn-group' con 'btn-group-vertical' 60 | ], 61 | 'buttons' => [ 62 | ['label' => 'A'], 63 | ['label' => 'B'], 64 | ] 65 | ]); 66 | ``` 67 | -------------------------------------------------------------------------------- /docs/guide-ja/README.md: -------------------------------------------------------------------------------- 1 | Yii 2 Twitter Bootstrap エクステンション 2 | ======================================== 3 | 4 | このエクステンションは、マークアップとコンポーネントのフレームワーク [Bootstrap 5](https://getbootstrap.com/) ("Twitter Bootstrap" としても知られています) 5 | に対するサポートを提供します。 6 | Bootstrap は優れた、レスポンシブなフレームワークであり、クライアント・サイドの開発プロセスを大いにスピードアップすることが出来るものです。 7 | 8 | Bootstrap のコアは二つの部分によって表されます。 9 | 10 | - CSS の基礎。例えば、グリッド・レイアウト・システム、タイポグラフィ、ヘルパ・クラス、レスポンシブ・ユーティリティなど。 11 | - そのまま使えるコンポーネント。フォーム、メニュー、ページネーション、モーダル・ボックス、タブなど。 12 | 13 | 始めよう 14 | -------- 15 | 16 | * [インストール](installation.md) 17 | * [アセットのセットアップ](assets-setup.md) 18 | * [基本的な使用方法](basic-usage.md) 19 | 20 | 使用方法 21 | -------- 22 | 23 | * [Yii ウィジェット](usage-widgets.md) 24 | * [Html ヘルパ](helper-html.md) 25 | * [アセット・バンドル](asset-bundles.md) 26 | 27 | 追加のトピック 28 | -------------- 29 | 30 | * [Bootstrap の .sass ファイルを直接に使う](topics-sass.md) 31 | * [yii2-bootstrap からの移行](migrating-yii2-bootstrap.md) 32 | -------------------------------------------------------------------------------- /docs/guide-ja/asset-bundles.md: -------------------------------------------------------------------------------- 1 | アセット・バンドル 2 | ================== 3 | 4 | Bootstrap は、CSS、JavaScript、フォントなどを含む複雑なフロントエンド・ソリューションです。 5 | Bootstrap コンポーネントに対する最大限の柔軟な制御を可能にするために、このエクステンションは複数のアセット・バンドルを提供しています。 6 | すなわち、 7 | 8 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - メインの CSS ファイルのみを含みます。 9 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - [[yii\bootstrap5\BootstrapAsset]] に依存し、javascript ファイルを含みます。 10 | 11 | 個々のアプリケーションは、その要求に応じて、異なるバンドル (またはバンドルの組み合わせ) を必要とするでしょう。 12 | CSS のスタイルだけが必要なのであれば、[[yii\bootstrap5\BootstrapAsset]] だけで十分です。 13 | しかし、Bootstrap の JavaScript を必要とする場合は、[[yii\bootstrap5\BootstrapPluginAsset]] 14 | をも登録しなければなりません。 15 | 16 | > Tip: ほとんどのウィジェットは [[yii\bootstrap5\BootstrapPluginAsset]] を自動的に登録します。 17 | -------------------------------------------------------------------------------- /docs/guide-ja/basic-usage.md: -------------------------------------------------------------------------------- 1 | 基本的な使用方法 2 | ================ 3 | 4 | Yii は bootstrap の基礎を PHP コードでラップすることをしていません。なぜなら、この場合の HTML コードがそれ自体として非常にシンプルだからです。 5 | bootstrap の基礎を使用することに関する詳細は、[bootstrap ドキュメント・ウェブ・サイト](https://getbootstrap.com/docs/) で見ることが出来ます。 6 | それでも、Yii はあなたのページに bootstrap のアセットをインクルードするための便利な方法を提供しています。 7 | `@app/assets` ディレクトリに配置されている `AppAsset.php` に一行を加えるだけで大丈夫です。 8 | 9 | ```php 10 | public $depends = [ 11 | 'yii\web\YiiAsset', 12 | 'yii\bootstrap5\BootstrapAsset', // この行です 13 | ]; 14 | ``` 15 | 16 | Yii のアセットマネージャによって bootstrap を使うと、必要に応じて、bootstrap のリソースを最小化したり、 17 | あなた自身のリソースと結合したりすることが出来ます。 18 | -------------------------------------------------------------------------------- /docs/guide-ja/helper-html.md: -------------------------------------------------------------------------------- 1 | Html ヘルパ 2 | =========== 3 | 4 | Bootstrap は、一貫性の高い多数の HTML 構文ないしはスケルトンを導入して、さまざまな視覚的効果の生成を可能にしています。 5 | このエクステンションによって提供されるウィジェットがカバーしているのは、その中の最も複雑なものだけです。 6 | 残りのものは、直接に HTML 構文を使って、手作業で構築しなければなりません。 7 | ただし、いくつかの特別な Bootstrap マークアップについては、[[\yii\bootstrap5\Html]] によってカバーされています。 8 | [[\yii\bootstrap5\Html]] は通常の [[\yii\helpers\Html]] の拡張版であり、Bootstrap の要求に特化して、 9 | いくつかの便利なメソッドを提供するものです。例えば、 10 | 11 | - `staticControl()` - フォームの "[static controls](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" のレンダリングを可能にする 12 | 13 | [[\yii\bootstrap5\Html]] は [[\yii\helpers\Html]] を継承しており、 14 | その代替物として使うことが出来ますので、ビュー・ファイルの中で両方を使う必要はありません。 15 | 16 | 例えば、 17 | 18 | ```php 19 | 22 | Html::encode('Save & apply'), 24 | 'encodeLabel' => false, 25 | 'options' => ['class' => 'btn-primary'], 26 | ]); ?> 27 | ``` 28 | 29 | > 注意: [[\yii\bootstrap5\Html]] と [[\yii\helpers\Html]] を混同してはいけません。 30 | ビューの中でどちらのクラスを使っているのかに注意してください。 31 | -------------------------------------------------------------------------------- /docs/guide-ja/installation.md: -------------------------------------------------------------------------------- 1 | インストール 2 | ============ 3 | 4 | ## Composer パッケージを取得する 5 | 6 | このエクステンションをインストールするのに推奨される方法は [composer](https://getcomposer.org/download/) によるものです。 7 | 8 | 下記のコマンドを実行してください。 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | または、あなたの `composer.json` ファイルの `require` セクションに、 15 | ``` 16 | "yiisoft/yii2-bootstrap": "~1.0.0" 17 | ``` 18 | 19 | を追加してください。 20 | -------------------------------------------------------------------------------- /docs/guide-ja/migrating-yii2-bootstrap.md: -------------------------------------------------------------------------------- 1 | yii2-bootstrap4 からの移行 2 | ========================= 3 | 4 | yii2-bootstrap5 は、Bootstrap 4 から Bootstrap 5 への移行ガイドに従って、yii-bootstrap4 プロジェクト全体を大きく書き換えたものです。 5 | 最も注目すべき変更点を要約すると以下の通りです。 6 | 7 | ## 一般 8 | 9 | * 名前空間は `yii\bootstrap4` から `yii\bootstrap5` に変更 10 | 11 | ## ウィジェット / クラス 12 | 13 | ### BaseHtml 14 | 15 | ### ActiveField 16 | 17 | ### ActiveForm 18 | 19 | 新しい定数[[yii\bootstrap5\ActiveForm::LAYOUT_FLOATING]]があります。 Bootstrap5で導入された[新しいフォームレイアウト](https://getbootstrap.com/docs/5.1/forms/floating-labels/)です。 20 | 21 | ### Breadcrumbs 22 | 23 | ### ButtonDropdown 24 | 25 | ### ButtonToolbar 26 | 27 | ### Carousel 28 | 29 | ### LinkPager 30 | 31 | ### Modal 32 | 33 | ### Nav 34 | 35 | ### NavBar 36 | 37 | ### Tabs 38 | 39 | ### ToggleButtonGroup 40 | -------------------------------------------------------------------------------- /docs/guide-ja/topics-sass.md: -------------------------------------------------------------------------------- 1 | Bootstrap の .sass ファイルを直接に使う 2 | ======================================= 3 | 4 | あなたが [Bootstrap CSS をあなたの sass ファイルに直接含める](https://getbootstrap.com/getting-started/#customizing) ことを望む場合は、 5 | オリジナルの CSS ファイルがロードされないように無効化する必要があります。 6 | [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] の `css` プロパティを空に設定することによって、そうすることが出来ます。 7 | そのためには、`assetManager` [アプリケーション・コンポーネント](https://github.com/yiisoft/yii2/blob/master/docs/guide-ja/structure-application-components.md) を以下のように構成します。 8 | 9 | ```php 10 | 'assetManager' => [ 11 | 'bundles' => [ 12 | 'yii\bootstrap5\BootstrapAsset' => [ 13 | 'css' => [], 14 | ] 15 | ] 16 | ] 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/guide-ja/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii ウィジェット 2 | ================ 3 | 4 | 複雑な bootstrap コンポーネントのほとんどは Yii ウィジェットでラップされて、より堅牢な構文を与えられ、フレームワークの諸機能と統合されています。 5 | 全てのウィジェットは `\yii\bootstrap5` 名前空間に属します。 6 | 7 | - [[yii\bootstrap5\Accordion|Accordion]] 8 | - [[yii\bootstrap5\ActiveField|ActiveField]] 9 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 10 | - [[yii\bootstrap5\Alert|Alert]] 11 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 12 | - [[yii\bootstrap5\Button|Button]] 13 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 14 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 15 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 16 | - [[yii\bootstrap5\Carousel|Carousel]] 17 | - [[yii\bootstrap5\Dropdown|Dropdown]] 18 | - [[yii\bootstrap5\LinkPager|LinkPager]] 19 | - [[yii\bootstrap5\Modal|Modal]] 20 | - [[yii\bootstrap5\Nav|Nav]] 21 | - [[yii\bootstrap5\NavBar|NavBar]] 22 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 23 | - [[yii\bootstrap5\Popover|Popover]] 24 | - [[yii\bootstrap5\Progress|Progress]] 25 | - [[yii\bootstrap5\Tabs|Tabs]] 26 | - [[yii\bootstrap5\Toast|Toast]] 27 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 28 | 29 | 30 | ## ウィジェットの CSS クラスをカスタマイズする 31 | 32 | これらのウィジェットを使うと、bootstrap CSS クラスの使用を要求する bootstrap コンポーネントのための HTML を素速く構成することが出来ます。特定のコンポーネントのデフォルトの CSS クラスはウィジェットによって自動的に追加されます。 33 | そして、あなたがカスタマイズしたいであろうオプションの CSS クラスは、通常は、ウィジェットのプロパティによってサポートされています。 34 | 35 | 例えば、[[yii\bootstrap5\Button::options]] を使って、ボタンの外見をカスタマイズすることが出来ます。 36 | このとき、ボタンに要求される 'btn' クラスは自動的に追加されますので、あなたが心配をする必要はありません。 37 | 特定のボタン・クラスを指定するだけで十分です。 38 | 39 | ```php 40 | echo Button::widget([ 41 | 'label' => 'Action', 42 | 'options' => ['class' => 'btn-primary'], // "btn btn-primary" というクラスを生成 43 | ]); 44 | ``` 45 | 46 | しかしながら、時として、デフォルトのクラスを別のクラスで置き換える必要がある場合があります。 47 | 例えば、[[yii\bootstrap5\ButtonGroup]] は、コンテナの div に 'btn-group' をデフォルトで使用しますが、 48 | ボタンを垂直に並べるために 'btn-group-vertical' を代りに使いたいことがあるでしょう。 49 | 単純に 'class' オプションを使うと、'btn-group-vertical' が 'btn-group' に追加されるだけで、正しくない結果が生成されることになります。 50 | ウィジェットのデフォルトのクラスをオーバーライドするためには、'class' オプションに配列形式を使用して、'widget' キーの下にカスタマイズしたクラスの定義を指定しなければなりません。 51 | 52 | ```php 53 | echo ButtonGroup::widget([ 54 | 'options' => [ 55 | 'class' => ['widget' => 'btn-group-vertical'] // 'btn-group' を 'btn-group-vertical' で置き換え 56 | ], 57 | 'buttons' => [ 58 | ['label' => 'A'], 59 | ['label' => 'B'], 60 | ] 61 | ]); 62 | ``` 63 | 64 | ## Navbar ウィジェット 65 | 66 | Navbar ウィジェットには独特の癖があります。あなたは Navbar が折り畳まれるブレークポイントと 67 | Navbar の全体的なスタイル (カラー・スキーム) を指定しなければなりません。 68 | 69 | カラー・スキームと折り畳みのブレークポイントは CSS のクラスで変更することが出来ます。指定されない場合は、カラー・スキームは `navbar-light bg-light`、 70 | ブレークポイントは`navbar-expand-lg` がデフォルトとして採用されます。詳細な情報は、[Bootstrap documentation](https://getbootstrap.com/docs/5.1/components/navbar/) を参照して下さい。 71 | 72 | ```php 73 | Navbar::begin([ 74 | 'options' => [ 75 | 'class' => ['navbar-dark', 'bg-dark', 'navbar-expand-md'] 76 | ] 77 | ]); 78 | [...] 79 | Navbar::end(); 80 | ``` 81 | 82 | モバイル向けナビゲーションでブランド (アイコン) とトグル・ボタンの位置を入れ替えたい場合は、次のようにすることが出来ます。 83 | 84 | ```php 85 | Navbar::begin([ 86 | 'brandOptions' => [ 87 | 'class' => ['order-1'] 88 | ], 89 | 'togglerOptions' => [ 90 | 'class' => ['order-0'] 91 | ] 92 | ]); 93 | [...] 94 | Navbar::end(); 95 | ``` 96 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/README.md: -------------------------------------------------------------------------------- 1 | Extenção Twitter Bootstrap para Yii 2 2 | ===================================== 3 | 4 | A extensão inclui suporte para marcação e componentes ao framework [Bootstrap 5](https://getbootstrap.com/) 5 | (também conhecido como "Bootstrap Twitter"). Bootstrap é um excelente framework ágil, que pode acelerar bastante o 6 | do lado do cliente do seu processo de desenvolvimento. 7 | 8 | O núcleo do bootstrap é representado por duas partes: 9 | 10 | - Noções básicas de estilo CSS, tais como um sistema de rede layout, tipografia, classes auxiliares, e os utilitários de resposta. 11 | - Componentes prontos para usar, tais como formulários, menus, paginação, caixas de modais, guias, etc. 12 | 13 | Iniciando 14 | --------------- 15 | 16 | * [Instalação](installation.md) 17 | * [uso Básico](basic-usage.md) 18 | 19 | Uso 20 | ----- 21 | 22 | * [Yii widgets](usage-widgets.md) 23 | * [Html helper](helper-html.md) 24 | * [Asset Bundles](asset-bundles.md) 25 | 26 | Tópicos Adicionais 27 | ----------------- 28 | 29 | * [Usando arquivos .sass do Bootstrap diretamente](topics-sass.md) 30 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/asset-bundles.md: -------------------------------------------------------------------------------- 1 | Asset Bundles 2 | ============= 3 | 4 | Bootstrap é uma solução complexa para front-end, o qual inclue CSS, JavaScript, fontes e assim por diante. 5 | A fim de permitir que você tenha controle mais flexível sobre componentes Bootstrap , esta extensão fornece vários asset bundles. Eles são: 6 | 7 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - Contém apenas arquivos CSS. 8 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - Depende de [[yii\bootstrap5\BootstrapAsset]], contem os arquivos JavaScript. 9 | 10 | Necessidades de aplicações específicas podem exigir utilização de pacotes diferentes ( ou a combinação bundle). 11 | Se você precisa apenas de estilos CSS, [[yii\bootstrap5\BootstrapAsset]] será o suficiente para você. No entanto , se 12 | você quiser usar Bootstrap JavaScript, você precisa se registrar [[yii\bootstrap5\BootstrapPluginAsset]]. 13 | 14 | > Tip: a maioria dos widgets [[yii\bootstrap5\BootstrapPluginAsset]] registram automaticamente. 15 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/basic-usage.md: -------------------------------------------------------------------------------- 1 | Uso Básico 2 | =========== 3 | 4 | O Yii Não registra os componentes básicos do bootstrap em código PHP visto que esse HTML é muito simples, por si só. 5 | Você pode encontrar detalhes sobre como usar o básico no [site documentação do Bootstrap] (https://getbootstrap.com/docs/). O Yii ainda fornece uma 6 | forma conveniente para incluir assets de bootstrap em suas páginas com uma única linha adicionado ao arquivo `AppAsset.php` localizado no seu 7 | diretório `@app/assets`: 8 | 9 | ```php 10 | public $depends = [ 11 | 'yii\web\YiiAsset', 12 | 'yii\bootstrap5\BootstrapAsset', // this line 13 | ]; 14 | ``` 15 | 16 | Usando bootstrap através Yii assets lhe permite minimizar os seus recursos/fontes e combinar com seus próprios recursos/fontes quando 17 | necessário. 18 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/helper-html.md: -------------------------------------------------------------------------------- 1 | Bootstrap introduz construções HTML mais consistentes e esqueletos, que permitem a criação de diferentes efeitos visuais. Apenas o mais complexos deles são cobertos por os widgets fornecidos com esta extensão . O restante deverá ser escrito manualmente usando escrita HTML direta. No entanto, vários casos especiais de marcação Bootstrap são cobertos pelo helper [[\yii\bootstrap5\Html]]. [[\yii\bootstrap5\Html]] é uma versão melhorada de [[\yii\helpers\Html]] dedicada à quem precisa do Bootstrap. Ele fornece vários métodos úteis : 2 | 3 | - staticControl() - allows rendering of form "[static controls](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" 4 | 5 | [[\yii\bootstrap5\Html]] herda toda funcionalidade disponível em [[\yii\helpers\Html]] e pode ser usado como um substituto , para que você não precisa de ambos dentro de seus arquivos de views . Por exemplo: 6 | 7 | 8 | 11 | Html::encode('Save & apply'), 13 | 'encodeLabel' => false, 14 | 'options' => ['class' => 'btn-primary'], 15 | ]); ?> 16 | 17 | Atenção: Não confunda [[\yii\bootstrap5\Html]] e [[\yii\helpers\Html]], tenha o cuidado de que classe você está usando dentro de seus arquivos de views. 18 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/installation.md: -------------------------------------------------------------------------------- 1 | Instalação 2 | ============ 3 | 4 | ## Instalando através do composer 5 | 6 | A maneira recomendada para instalar esta extensão é através do [composer](https://getcomposer.org/download/). 7 | 8 | Então rode 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | Ou Adicione 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap": "~1.0.0" 18 | ``` 19 | 20 | na sessão de requirimentos do seu arquivo `composer.json`. 21 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/topics-sass.md: -------------------------------------------------------------------------------- 1 | Usando arquivos .sass diretamente do Bootstrap 2 | =========================================== 3 | 4 | Se você quiser incluir o [css do Bootstrap diretamente em seus arquivos sass] (https://getbootstrap.com/getting-started/#customizing) 5 | talvez você precise desativar os arquivos css do Bootstrap originais que são carregados. 6 | Você pode fazer isso definindo a propriedade css do [[yii \ inicialização \ BootstrapAsset | BootstrapAsset]] e deixe estar vazio. 7 | Para isso, você precisa configurar o `assetManager` [application component](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) 8 | do seguinte modo: 9 | 10 | ```php 11 | 'assetManager' => [ 12 | 'bundles' => [ 13 | 'yii\bootstrap5\BootstrapAsset' => [ 14 | 'css' => [], 15 | ] 16 | ] 17 | ] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/guide-pt-BR/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii widgets 2 | =========== 3 | 4 | A maioria dos componentes complexos do bootstrap são envolvidos em widgets Yii para permitir uma sintaxe mais robusta e integrar-se com 5 | características estruturais do framework. Todos widgets pertencem ao namespace `\yii\bootstrap5`: 6 | 7 | - [[yii\bootstrap5\Accordion|Accordion]] 8 | - [[yii\bootstrap5\ActiveField|ActiveField]] 9 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 10 | - [[yii\bootstrap5\Alert|Alert]] 11 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 12 | - [[yii\bootstrap5\Button|Button]] 13 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 14 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 15 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 16 | - [[yii\bootstrap5\Carousel|Carousel]] 17 | - [[yii\bootstrap5\Dropdown|Dropdown]] 18 | - [[yii\bootstrap5\LinkPager|LinkPager]] 19 | - [[yii\bootstrap5\Modal|Modal]] 20 | - [[yii\bootstrap5\Nav|Nav]] 21 | - [[yii\bootstrap5\NavBar|NavBar]] 22 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 23 | - [[yii\bootstrap5\Popover|Popover]] 24 | - [[yii\bootstrap5\Progress|Progress]] 25 | - [[yii\bootstrap5\Tabs|Tabs]] 26 | - [[yii\bootstrap5\Toast|Toast]] 27 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 28 | -------------------------------------------------------------------------------- /docs/guide-ru/README.md: -------------------------------------------------------------------------------- 1 | Расширение Twitter Bootstrap для Yii 2 2 | ====================================== 3 | 4 | Расширение включает поддержку разметки и компонентов фреймворка [Bootstrap 5](https://getbootstrap.com/) (также известного как "Twitter Bootstrap"). Bootstrap является прекрасным, отзывчивым фреймворком, который может значительно ускорить процесс разработки на стороне клиента. 5 | 6 | Ядро Bootstrap представлено двумя частями: 7 | 8 | - CSS основа, такая как система разметки, типографика, вспомогательные классы, и утилиты адаптивности. 9 | - Готовые к использованию компоненты, такие как формы, меню, нумерация страниц, модальные окна, вкладки и т.д. 10 | 11 | Как начать 12 | ---------- 13 | 14 | * [Установка](installation.md) 15 | * [Основы использования](basic-usage.md) 16 | 17 | Использование 18 | ------------ 19 | 20 | * [Виджеты Yii](usage-widgets.md) 21 | * [Класс-помощник Html](helper-html.md) 22 | * [Asset Bundles](asset-bundles.md) 23 | 24 | Дополнительно 25 | ------------- 26 | 27 | * [Использование .sass файлов Bootstrap напрямую](topics-sass.md) 28 | * [Миграция с yii2-bootstrap4](migrating-yii2-bootstrap.md) 29 | -------------------------------------------------------------------------------- /docs/guide-ru/asset-bundles.md: -------------------------------------------------------------------------------- 1 | Asset Bundles 2 | ============= 3 | 4 | Bootstrap - это комплексное front-end решение, включающее CSS, JavaScript, шрифты и т.д. Для того чтобы обеспечить гибкий контроль над компонентами Bootstrap, расширение предоставляет несколько Asset Bundles. Вот они: 5 | 6 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - содержит CSS файлы. 7 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - зависит от [[yii\bootstrap5\BootstrapAsset]], содержащий javascript файлы. 8 | - [[yii\bootstrap5\BootstrapIconAsset|BootstrapIconAsset]] - содержит иконки. 9 | 10 | Конкретные приложения могут потребовать различного использования. Если вам нужны только CSS-стили, то пакета [[yii\bootstrap5\BootstrapAsset]] будет достаточно. Тем не менее, если вы хотите использовать Bootstrap JavaScript, вам необходимо зарегистрировать [[yii\bootstrap5\BootstrapPluginAsset]], если вы хотите использовать Bootstrap Icons, вам необходимо зарегистрировать [[yii\bootstrap5\BootstrapIconAsset|BootstrapIconAsset]]. 11 | 12 | > Tip: большинство виджетов регистрируются с помощью [[yii\bootstrap5\BootstrapPluginAsset]] автоматически. 13 | -------------------------------------------------------------------------------- /docs/guide-ru/basic-usage.md: -------------------------------------------------------------------------------- 1 | Базовое использование 2 | =========== 3 | 4 | Yii не оборачивает базовый Bootstrap в PHP код, поскольку HTML, в этом случае, прост сам по себе. Вы можете найти подробную информацию о возможностях Bootstrap в [официальной документации](https://getbootstrap.com/docs/). Тем не менее, Yii обеспечивает удобный способ включения Bootstrap assets на страницах вашего приложения добавлением одной строки в файл `AppAsset.php`, расположенный в директории `@app/assets`: 5 | 6 | ```php 7 | public $depends = [ 8 | 'yii\web\YiiAsset', 9 | 'yii\bootstrap5\BootstrapAsset', // подключение Bootstrap 10 | ]; 11 | ``` 12 | 13 | Использование загрузки Bootstrap через Yii Asset Manager позволяет минимизировать ресурсы и объединить с вашими собственными ресурсами, когда это будет необходимо. 14 | -------------------------------------------------------------------------------- /docs/guide-ru/helper-html.md: -------------------------------------------------------------------------------- 1 | Класс-помощник Html 2 | =================== 3 | 4 | Bootstrap предоставляет множество последовательных HTML конструкции и каркасов, которые позволяют создавать различные визуальные эффекты. Только самые сложные из них передставлены виджетами, поставляемые с данным расширением. Остальные должны быть собраны вручную, используя HTML напрямую. Тем не менее, несколько специальных Bootstrap разметок предоставляются в помощнике [[\yii\bootstrap5\Html]]. [[\yii\bootstrap5\Html]] является расширенной версией [[\yii\helpers\Html]], удовлетворяющей потребности Bootstrap. Он предоставляет несколько полезных методов: 5 | 6 | - `staticControl()` - позволяет отображать "[статические элементы управления](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" формы 7 | 8 | [[\yii\bootstrap5\Html]] наследует все функциональные возможности, доступные в [[\yii\helpers\Html]], и может быть использован в качестве замены в ваших представлениях. Например: 9 | 10 | ```php 11 | 14 | Html::encode('Save & apply'), 16 | 'encodeLabel' => false, 17 | 'options' => ['class' => 'btn-primary'], 18 | ]); ?> 19 | ``` 20 | 21 | > Attention: не путайте [[\yii\bootstrap5\Html]] и [[\yii\helpers\Html]]! Следите за тем какой класс вы используете в своих представлениях. 22 | -------------------------------------------------------------------------------- /docs/guide-ru/installation.md: -------------------------------------------------------------------------------- 1 | Установка 2 | ========= 3 | 4 | ## Получение расширения через Composer 5 | 6 | Предпочтительный способ установки расширения - через [Composer](https://getcomposer.org/download/). 7 | 8 | Для этого запустите команду 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | или добавьте 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap5": "~2.0.0" 18 | ``` 19 | 20 | в секцию **require** вашего `composer.json`. 21 | -------------------------------------------------------------------------------- /docs/guide-ru/migrating-yii2-bootstrap.md: -------------------------------------------------------------------------------- 1 | Миграция с yii2-bootstrap4 2 | ============================== 3 | 4 | yii2-bootstrap5 является серьезной переработкой всего проекта (в соответствии с руководством по миграции с Bootstrap4 на Bootstrap5). 5 | Наиболее заметные изменения кратко изложены ниже: 6 | 7 | ## General 8 | 9 | * Изменение namespace с `yii\bootstrap4` на `yii\bootstrap5` 10 | * Минимальная совместимая версия php **ограничена** `>=7.0` 11 | * Кнопки закрытия виджетов, таких как [[yii\bootstrap5\Alert|Alert]] или [[yii\bootstrap5\Modal|Modal]], теперь отображаются 12 | с помощью CSS и больше не содержат содержимого. Поэтому обязательно удалите класс "btn-close" и самостоятельно установите соответствующие стили, если вы его переопределяли. 13 | 14 | 15 | ## Widgets / Classes 16 | 17 | ### BaseHtml 18 | 19 | ### ActiveField 20 | 21 | ### ActiveForm 22 | 23 | Новая константа [[yii\bootstrap5\ActiveForm::LAYOUT_FLOATING]]. Это 24 | [new form layout](https://getbootstrap.com/docs/5.1/forms/floating-labels/) введен в Bootstrap 5. 25 | 26 | ### Breadcrumbs 27 | 28 | ### ButtonDropdown 29 | 30 | ### ButtonToolbar 31 | 32 | ### Carousel 33 | 34 | ### LinkPager 35 | 36 | ### Modal 37 | 38 | Заменить `data-target` и `data-toggle` на `data-bs-target` и `data-bs-toggle` 39 | 40 | ### Nav 41 | 42 | ### NavBar 43 | 44 | Теперь есть возможность создать [offcanvas navbar](https://getbootstrap.com/docs/5.1/components/navbar/#offcanvas). 45 | Вы можете добиться этого, установив для параметра `$collapseOptions` значение `false` в виджете [[yii\bootstrap5\NavBar|Navbar]] и 46 | `$offcanvasOptions`, значение пустого массива. 47 | 48 | ### Tabs 49 | 50 | ### ToggleButtonGroup 51 | -------------------------------------------------------------------------------- /docs/guide-ru/topics-sass.md: -------------------------------------------------------------------------------- 1 | Использование .sass файлов Bootstrap напрямую 2 | ============================================= 3 | 4 | Если вы хотите включить [Bootstrap CSS непосредственно в ваши sass-файлы](https://getbootstrap.com/getting-started/#customizing), вам может понадобиться исключить исходные css-файлы Bootstrap из загрузки. Вы можете сделать это, установив пустым свойство `css` пакета [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]]. Для этого вам необходимо настроить [компонент приложения](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) `assetManager` следующим образом: 5 | 6 | ```php 7 | 'assetManager' => [ 8 | 'bundles' => [ 9 | 'yii\bootstrap5\BootstrapAsset' => [ 10 | 'css' => [], // исключение исходных css-файлов из загрузки 11 | ] 12 | ] 13 | ] 14 | ``` 15 | -------------------------------------------------------------------------------- /docs/guide-ru/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Виджеты Yii 2 | =========== 3 | 4 | Большинство сложных Bootstrap компонентов обернуты в виджеты Yii, чтобы обеспечить более надежный синтаксис и интеграцию с особенностями фреймворка. Все виджеты относятся к пространству имен `\yii\bootstrap5`: 5 | 6 | - [[yii\bootstrap5\Accordion|Accordion]] 7 | - [[yii\bootstrap5\ActiveField|ActiveField]] 8 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 9 | - [[yii\bootstrap5\Alert|Alert]] 10 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 11 | - [[yii\bootstrap5\Button|Button]] 12 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 13 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 14 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 15 | - [[yii\bootstrap5\Carousel|Carousel]] 16 | - [[yii\bootstrap5\Dropdown|Dropdown]] 17 | - [[yii\bootstrap5\LinkPager|LinkPager]] 18 | - [[yii\bootstrap5\Modal|Modal]] 19 | - [[yii\bootstrap5\Nav|Nav]] 20 | - [[yii\bootstrap5\NavBar|NavBar]] 21 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 22 | - [[yii\bootstrap5\Popover|Popover]] 23 | - [[yii\bootstrap5\Progress|Progress]] 24 | - [[yii\bootstrap5\Tabs|Tabs]] 25 | - [[yii\bootstrap5\Toast|Toast]] 26 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 27 | 28 | ## ActiveField: дополнительные поля 29 | 30 | - [Диапазон](https://getbootstrap.com/docs/5.1/forms/range/): `$form->rangeInput(['min' => 0, 'max' => 100, 'step' => 1])` 31 | - [Выбор цвета](https://getbootstrap.com/docs/5.1/forms/form-control/#color): `$form->colorInput()` 32 | - [Переключатель](https://getbootstrap.com/docs/5.1/forms/checks-radios/#switches): `$form->checkbox(['switch' => true])` 33 | 34 | ## Настройка CSS классов виджетов 35 | 36 | Виджеты позволяют быстро создавать HTML Bootstrap компоненты, которые требуют CSS классы Bootstrap. Классы по умолчанию, для конкретного компонента, будут добавлены автоматически виджетом, и необязательные классы, которые вы можете настроить, как правило, поддерживаются через свойства виджета. 37 | 38 | Например, вы можете использовать [[yii\bootstrap5\Button::options]] чтобы настроить внешний вид кнопки. Класс `btn`, который требуется для кнопки, будет добавлен автоматически. Все, что вам нужно, это указать конкретный класс кнопки: 39 | 40 | ```php 41 | echo Button::widget([ 42 | 'label' => 'Action', 43 | 'options' => ['class' => 'btn-primary'], // устанавливает класс "btn btn-primary" 44 | ]); 45 | ``` 46 | 47 | Тем не менее, иногда вам может понадобиться заменить классы по умолчанию альтернативными. Например, виджет [[yii\bootstrap5\ButtonGroup]] использует класс `btn-group` для контейнера `div` по умолчанию, но вам, возможно, придётся использовать `btn-group-vertical` чтобы выровнять кнопки по вертикали. Добавление `btn-group-vertical` в параметр `class` приведет к неправильному результату. Для того, чтобы переопределить классы виджета по умолчанию, необходимо указать параметр `class` как массив, содержащий определение класса, настроенное в ключе `widget`: 48 | 49 | ```php 50 | echo ButtonGroup::widget([ 51 | 'options' => [ 52 | 'class' => ['widget' => 'btn-group-vertical'] // заменяет класс 'btn-group' на 'btn-group-vertical' 53 | ], 54 | 'buttons' => [ 55 | ['label' => 'A'], 56 | ['label' => 'B'], 57 | ] 58 | ]); 59 | ``` 60 | 61 | ## Виджет навигационной панели 62 | 63 | Виджет навигационной панели имеет свои особенности. Вы должны задать точку останова (разрешение при котором панель отображается в свернутом виде) 64 | и основной стиль отображения (цветовая схема) для панели. 65 | 66 | Вы можете изменить цветовую схему и точку останова с помощью CSS классов. По умолчанию, используется цветовая схема 67 | `navbar-light bg-light` и точка останова `navbar-expand-lg`. Для получения доп. информации, смотрите [документацию Bootstrap](https://getbootstrap.com/docs/5.1/components/navbar/): 68 | 69 | ```php 70 | Navbar::begin([ 71 | 'options' => [ 72 | 'class' => ['navbar-dark', 'bg-dark', 'navbar-expand-md'] 73 | ] 74 | ]); 75 | [...] 76 | Navbar::end(); 77 | ``` 78 | 79 | Если Вы хотите повернуть бренд (значок) и переключить положение кнопок в мобильной навигации, то можете сделать это следующим образом: 80 | 81 | ```php 82 | Navbar::begin([ 83 | 'brandOptions' => [ 84 | 'class' => ['order-1'] 85 | ], 86 | 'togglerOptions' => [ 87 | 'class' => ['order-0'] 88 | ] 89 | ]); 90 | [...] 91 | Navbar::end(); 92 | ``` 93 | -------------------------------------------------------------------------------- /docs/guide-uk/README.md: -------------------------------------------------------------------------------- 1 | Розширення Twitter Bootstrap для Yii 2 2 | ====================================== 3 | 4 | З коробки Yii включає підтримку розмітки [Bootstrap 5](https://getbootstrap.com/) та компонентів фреймворку 5 | (також відомий як "Twitter Bootstrap"). Bootstrap є чудовим, адаптивним фреймворком, який може значно прискорити 6 | процес розробки клієнтської частини сайту. 7 | 8 | Ядро Bootstrap представлене двома частинами: 9 | 10 | - Основи CSS, такі як система макету сітки, типографія, допоміжні класи і адаптивні утиліти. 11 | - Готові до використання компоненти, такі як форми, меню, нумерація сторінок (pagination), модальні вікна, вкладки (tabs) і т.д. 12 | 13 | Початок роботи 14 | -------------- 15 | 16 | * [Встановлення](installation.md) 17 | * [Основи використання](basic-usage.md) 18 | 19 | Використання 20 | ------------ 21 | 22 | * [Віджети Yii](usage-widgets.md) 23 | 24 | Додаткові теми 25 | -------------- 26 | 27 | * [Використання .sass файлів в Bootstrap](topics-sass.md) 28 | -------------------------------------------------------------------------------- /docs/guide-uk/basic-usage.md: -------------------------------------------------------------------------------- 1 | Основи використання 2 | =================== 3 | 4 | Yii не загортає основи bootstrap в код PHP, оскільки в цьому випадку, сам по собі HTML є дуже простим. 5 | Ви можете знайти детальну інформацію щодо використання основ на [сайті документації bootstrap](https://getbootstrap.com/docs/). 6 | Проте Yii забезпечує зручний спосіб підключення ресурсів bootstrap до ваших сторінок за допомогою додання всього одного рядка до файлу 7 | `AppAsset.php`, розташованого в каталозі `@app/assets`: 8 | 9 | ```php 10 | public $depends = [ 11 | 'yii\web\YiiAsset', 12 | 'yii\bootstrap5\BootstrapAsset', // цей рядок 13 | ]; 14 | ``` 15 | 16 | Використання bootstrap через менеджер ресурсів Yii дозволяє мінімізувати свої ресурси і обʼєднати із вашими власними ресурсами коли це необхідно. 17 | -------------------------------------------------------------------------------- /docs/guide-uk/installation.md: -------------------------------------------------------------------------------- 1 | Встановлення 2 | ============ 3 | 4 | ## Отримання пакету Composer 5 | 6 | Кращим способом для встановлення даного розширення є встановлення через [composer](https://getcomposer.org/download/). 7 | 8 | Запустіть 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | або додайте 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap": "~1.0.0" 18 | ``` 19 | 20 | до потрібного розділу вашого файлу `composer.json`. 21 | -------------------------------------------------------------------------------- /docs/guide-uk/topics-sass.md: -------------------------------------------------------------------------------- 1 | Використання .sass файлів в Bootstrap 2 | ===================================== 3 | 4 | Якщо ви хочете включити [CSS Bootstrap напряму до ваших sass файлів](https://getbootstrap.com/getting-started/#customizing) 5 | вам необхідно відключити завантаження оригінальних css файлів bootstrap. 6 | Ви можете зробити це, встановивши CSS властивість [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] порожньою. 7 | Для цього вам необхідно налаштувати [компонент додатка](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) 8 | `assetManager` наступним чином: 9 | 10 | ```php 11 | 'assetManager' => [ 12 | 'bundles' => [ 13 | 'yii\bootstrap5\BootstrapAsset' => [ 14 | 'css' => [], 15 | ] 16 | ] 17 | ] 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/guide-uk/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Віджети Yii 2 | =========== 3 | 4 | Найбільш складні компоненти bootstrap загорнуті в віджети Yii, щоб забезпечити більш надійний синтаксис 5 | та інтегрувати його з можливостями фреймворку. Всі віджети належать до простору імен `\yii\bootstrap5`: 6 | 7 | - [[yii\bootstrap5\Accordion|Accordion]] 8 | - [[yii\bootstrap5\ActiveField|ActiveField]] 9 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 10 | - [[yii\bootstrap5\Alert|Alert]] 11 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 12 | - [[yii\bootstrap5\Button|Button]] 13 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 14 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 15 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 16 | - [[yii\bootstrap5\Carousel|Carousel]] 17 | - [[yii\bootstrap5\Dropdown|Dropdown]] 18 | - [[yii\bootstrap5\LinkPager|LinkPager]] 19 | - [[yii\bootstrap5\Modal|Modal]] 20 | - [[yii\bootstrap5\Nav|Nav]] 21 | - [[yii\bootstrap5\NavBar|NavBar]] 22 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 23 | - [[yii\bootstrap5\Popover|Popover]] 24 | - [[yii\bootstrap5\Progress|Progress]] 25 | - [[yii\bootstrap5\Tabs|Tabs]] 26 | - [[yii\bootstrap5\Toast|Toast]] 27 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 28 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/README.md: -------------------------------------------------------------------------------- 1 | 基于Yii 2 的 Twitter Bootstrap 扩展 2 | ===================================== 3 | 4 | 扩展包括对 [Bootstrap 5](https://getbootstrap.com/) 标记和组件框架的支持 5 | (也称为“Twitter Bootstrap”)。 Bootstrap是一个优秀的,响应式框架,可以大大加快 6 | 客户端的开发过程。 7 | 8 | Bootstrap的核心由两部分组成: 9 | 10 | - 基础CSS样式,如栅格化布局,排版,帮助类和响应式工具。 11 | - 开箱即用的组件,如表单,菜单,分页,模态框,标签等。 12 | 13 | 起步 14 | --------------- 15 | 16 | * [安装](installation.md) 17 | * [基本用法](basic-usage.md) 18 | 19 | 使用 20 | ----- 21 | 22 | * [Yii 小部件](usage-widgets.md) 23 | * [Html 助手](helper-html.md) 24 | * [Asset Bundles(资源包)](asset-bundles.md) 25 | 26 | 其他 27 | ----------------- 28 | 29 | * [直接使用Bootstrap的.sass文件](topics-sass.md) 30 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/asset-bundles.md: -------------------------------------------------------------------------------- 1 | 资源包 2 | ============= 3 | 4 | Bootstrap是一个复杂的前端解决方案,其中包括 CSS , JavaScript ,字体等。 5 | 为了灵活的控制 Bootstrap 组件,此扩展提供了多个资源包。 6 | 如下: 7 | 8 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - 只包含主要的 CSS 文件. 9 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - 包含 javascript 文件, 依赖于 [[yii\bootstrap5\BootstrapAsset]] . 10 | 11 | 特定的应用可能需要加载不同的资源包,(或者资源包组合). 12 | 如果只需要 CSS 文件, 引入 [[yii\bootstrap5\BootstrapAsset]] 即可. 但是, 如果需要使用 Bootstrap 的 JavaScript, 则需要引入 [[yii\bootstrap5\BootstrapPluginAsset]]. 13 | 14 | > 提示:大多数小部件会自动注册到 [[yii\bootstrap5\BootstrapPluginAsset]] 。 15 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/basic-usage.md: -------------------------------------------------------------------------------- 1 | 使用 2 | =========== 3 | 4 | Yii不会将 bootstrap 合并到PHP代码中,因为HTML本身是非常简单的。猛击 [bootstrap 文档页](https://getbootstrap.com/docs/) 查看如何使用 bootstrap. 但是 Yii 还是提供了在框架中更为方便的管理和使用 bootstrap的方式,在 `@app/assets` 路径下的 `AppAsset.php` 文件中,添加如下代码即可: 5 | 6 | ```php 7 | public $depends = [ 8 | 'yii\web\YiiAsset', 9 | 'yii\bootstrap5\BootstrapAsset', // this line 10 | ]; 11 | ``` 12 | 13 | 通过 Yii 的资源管理器(asset manager)引入 bootstrap ,可最小化的引入 bootstrap 并在需要时合并自定义资源文件一起使用。 14 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/helper-html.md: -------------------------------------------------------------------------------- 1 | Html 助手 2 | =========== 3 | 4 | Bootstrap 引入了许多一致的 HTML 结构和骨架,允许创建不同的视觉效果。 5 | 只有最复杂的部分由此扩展提供的小部件覆盖。 其余应使用直接 HTML 手动组合。 6 | 但是, 有些特殊的 Bootstrap 标签被 [[\yii\bootstrap5\Html]] 重载. 7 | [[\yii\bootstrap5\Html]] 是基于 Bootstrap 的 [[\yii\helpers\Html]] 增强版. 8 | 它提供了很多实用的方法,例如: 9 | 10 | - `staticControl()` - 生成表单静态组件 "[static controls](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" 11 | 12 | [[\yii\bootstrap5\Html]] 继承了 [[\yii\helpers\Html]] 的所有功能,所以不需要在视图文件中同时引入这两个文件,如果需要,仅使用 [[\yii\bootstrap5\Html]] 即可. 13 | 例如: 14 | 15 | ```php 16 | 19 | Html::encode('Save & apply'), 21 | 'encodeLabel' => false, 22 | 'options' => ['class' => 'btn-primary'], 23 | ]); ?> 24 | ``` 25 | 26 | > 注意: 不要混淆 [[\yii\bootstrap5\Html]] 和 [[\yii\helpers\Html]], 一定注意你在视图中引入和使用的类. 27 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/installation.md: -------------------------------------------------------------------------------- 1 | 安装 2 | ============ 3 | 4 | ## 获取 Composer 包 5 | 6 | 安装此扩展的首选方式是通过 [composer](https://getcomposer.org/download/). 7 | 8 | 直接运行 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | 或者在项目目录的 `composer.json` 文件中添加如下代码 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap": "~1.0.0" 18 | ``` 19 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/topics-sass.md: -------------------------------------------------------------------------------- 1 | 直接使用Bootstrap的.sass文件 2 | ======================================= 3 | 4 | 如果引入 [直接使用Bootstrap的.sass文件](https://getbootstrap.com/getting-started/#customizing) 5 | 则需要禁用原始加载的 css 文件. 6 | 通过设置 [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] 的 css 属性为空即可. 7 | 为此,需要配置 `assetManager` [应用组件](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) 为如下: 8 | 9 | ```php 10 | 'assetManager' => [ 11 | 'bundles' => [ 12 | 'yii\bootstrap5\BootstrapAsset' => [ 13 | 'css' => [], 14 | ] 15 | ] 16 | ] 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/guide-zh-CN/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii 小部件 2 | =========== 3 | 4 | 大多数复杂的 bootstrap 组件被包装到 Yii 小部件中,以允许更强大的语法并与框架特性集成。 所有小部件都在命名空间 `\yii\bootstrap5` 下: 5 | 6 | - [[yii\bootstrap5\Accordion|Accordion]] 7 | - [[yii\bootstrap5\ActiveField|ActiveField]] 8 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 9 | - [[yii\bootstrap5\Alert|Alert]] 10 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 11 | - [[yii\bootstrap5\Button|Button]] 12 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 13 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 14 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 15 | - [[yii\bootstrap5\Carousel|Carousel]] 16 | - [[yii\bootstrap5\Dropdown|Dropdown]] 17 | - [[yii\bootstrap5\LinkPager|LinkPager]] 18 | - [[yii\bootstrap5\Modal|Modal]] 19 | - [[yii\bootstrap5\Nav|Nav]] 20 | - [[yii\bootstrap5\NavBar|NavBar]] 21 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 22 | - [[yii\bootstrap5\Popover|Popover]] 23 | - [[yii\bootstrap5\Progress|Progress]] 24 | - [[yii\bootstrap5\Tabs|Tabs]] 25 | - [[yii\bootstrap5\Toast|Toast]] 26 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 27 | 28 | ## 自定义小部件CSS类 29 | 30 | 这些小部件可以快速构建基于 bootstrap CSS 样式的 bootstrap 组件,并直接生成 HTML 代码。 31 | 特定组件的默认样式是自动添加的,也可以通过修改部件属性添加自定义样式类。 32 | 33 | 例如, 使用 [[yii\bootstrap5\Button::options]] 创建按钮。 34 | 按钮中的 `btn` 样式将会被自动添加。只要再添加自己所需的按钮样式即可: 35 | 36 | ```php 37 | echo Button::widget([ 38 | 'label' => 'Action', 39 | 'options' => ['class' => 'btn-primary'], // produces class "btn btn-primary" 40 | ]); 41 | ``` 42 | 43 | 但是,有的时候需要将默认样式替换为自定义样式。 44 | 例如, 小部件 [[yii\bootstrap5\ButtonGroup]] 默认使用 'btn-group' 类作为 div 容器的默认样式,但是我们希望使用 'btn-group-vertical' 作为默认样式以实现按钮组的垂直居中。 45 | 直接在 'class' 选项中添加 'btn-group-vertical' 是替换不了 'btn-group' 的。 46 | 为了重载组件的默认样式,需要在 'class' 选项中的 'widget' 选项中定义即可: 47 | 48 | ```php 49 | echo ButtonGroup::widget([ 50 | 'options' => [ 51 | 'class' => ['widget' => 'btn-group-vertical'] // replaces 'btn-group' with 'btn-group-vertical' 52 | ], 53 | 'buttons' => [ 54 | ['label' => 'A'], 55 | ['label' => 'B'], 56 | ] 57 | ]); 58 | ``` 59 | -------------------------------------------------------------------------------- /docs/guide/README.md: -------------------------------------------------------------------------------- 1 | Twitter Bootstrap Extension for Yii 2 2 | ===================================== 3 | 4 | The extension includes support for the [Bootstrap 5](https://getbootstrap.com/) markup and components framework 5 | (also known as "Twitter Bootstrap"). Bootstrap is an excellent, responsive framework that can greatly speed up the 6 | client-side of your development process. 7 | 8 | The core of Bootstrap is represented by two parts: 9 | 10 | - CSS basics, such as a grid layout system, typography, helper classes, and responsive utilities. 11 | - Ready to use components, such as forms, menus, pagination, modal boxes, tabs etc. 12 | 13 | Getting Started 14 | --------------- 15 | 16 | * [Installation](installation.md) 17 | * [Assets Setup](assets-setup.md) 18 | * [Basic Usage](basic-usage.md) 19 | 20 | Usage 21 | ----- 22 | 23 | * [Yii widgets](usage-widgets.md) 24 | * [Html helper](helper-html.md) 25 | * [Asset Bundles](asset-bundles.md) 26 | 27 | Additional topics 28 | ----------------- 29 | 30 | * [Using the .sass files of Bootstrap directly](topics-sass.md) 31 | * [Migrating from yii2-bootstrap](migrating-yii2-bootstrap.md) 32 | -------------------------------------------------------------------------------- /docs/guide/asset-bundles.md: -------------------------------------------------------------------------------- 1 | Asset Bundles 2 | ============= 3 | 4 | Bootstrap is a complex front-end solution, which includes CSS, JavaScript, fonts and so on. 5 | In order to allow you the most flexible control over Bootstrap components, this extension provides several asset bundles. 6 | They are: 7 | 8 | - [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] - contains only the main CSS files. 9 | - [[yii\bootstrap5\BootstrapPluginAsset|BootstrapPluginAsset]] - depends on [[yii\bootstrap5\BootstrapAsset]], contains the javascript files. 10 | - [[yii\bootstrap5\BootstrapIconAsset|BootstrapIconAsset]] - contains Bootstrap icons. 11 | 12 | Particular application needs may require different bundle (or bundle combination) usage. 13 | If you only need CSS styles, [[yii\bootstrap5\BootstrapAsset]] will be enough for you. However, if 14 | you intend to use Bootstrap JavaScript, you will need to register [[yii\bootstrap5\BootstrapPluginAsset]] 15 | as well. If you'd like to use the Bootstrap icons, you'll need to add `twbs/bootstrap-icons` package to your 16 | `composer.json` and register [[yii\bootstrap5\BootstrapIconAsset]] in your application. 17 | 18 | > Tip: most of the widgets register [[yii\bootstrap5\BootstrapPluginAsset]] automatically. 19 | -------------------------------------------------------------------------------- /docs/guide/basic-usage.md: -------------------------------------------------------------------------------- 1 | Basic Usage 2 | =========== 3 | 4 | Yii doesn't wrap the Bootstrap basics into PHP code since HTML is very simple by itself in this case. You can find details 5 | about using the basics at [Bootstrap documentation](https://getbootstrap.com/docs/). Still Yii provides a convenient 6 | way to include Bootstrap assets in your pages with a line(s) added to `@app/assets/AppAsset.php`(basic application): 7 | 8 | ```php 9 | public $depends = [ 10 | <...> 11 | yii\bootstrap5\BootstrapAsset::class, 12 | // optional, Bootstrap icons 13 | // yii\bootstrap5\BootstrapIconAsset::class 14 | ]; 15 | ``` 16 | 17 | Using Bootstrap through Yii asset manager allows you to minimize its resources and combine with your own resources when 18 | needed. 19 | -------------------------------------------------------------------------------- /docs/guide/helper-html.md: -------------------------------------------------------------------------------- 1 | Html helper 2 | =========== 3 | 4 | Bootstrap introduces many consistent HTML constructions and skeletons, which allow creating different visual effects. 5 | Only the most complex of them are covered by the widgets provided with this extension. The rest should be composed manually 6 | using direct HTML composition. 7 | However, several special Bootstrap markup cases are covered by the [[\yii\bootstrap5\Html]] helper. 8 | [[\yii\bootstrap5\Html]] is an enhanced version of the regular [[\yii\helpers\Html]] dedicated to the Bootstrap needs. 9 | It provides some useful methods like: 10 | 11 | - `staticControl()` - allows rendering of form "[static controls](https://getbootstrap.com/docs/5.1/forms/form-control/#readonly-plain-text)" 12 | 13 | As [[\yii\bootstrap5\Html]] extends [[\yii\helpers\Html]], it can be used as a substitute, so you don't need them both 14 | inside your view files. 15 | 16 | For example: 17 | 18 | ```php 19 | 22 | Html::encode('Save & apply'), 24 | 'encodeLabel' => false, 25 | 'options' => ['class' => 'btn-primary'], 26 | ]); ?> 27 | ``` 28 | 29 | > Attention: do not confuse [[\yii\bootstrap5\Html]] and [[\yii\helpers\Html]], be careful of which class 30 | you are using inside your views. 31 | -------------------------------------------------------------------------------- /docs/guide/installation.md: -------------------------------------------------------------------------------- 1 | Installation 2 | ============ 3 | 4 | ## Getting Composer package 5 | 6 | The preferred way to install this extension is through [composer](https://getcomposer.org/download/). 7 | 8 | Either run 9 | 10 | ``` 11 | php composer.phar require --prefer-dist yiisoft/yii2-bootstrap5 12 | ``` 13 | 14 | or add 15 | 16 | ``` 17 | "yiisoft/yii2-bootstrap5": "~1.0.0" 18 | ``` 19 | 20 | to the require section of your `composer.json` file. 21 | -------------------------------------------------------------------------------- /docs/guide/migrating-yii2-bootstrap.md: -------------------------------------------------------------------------------- 1 | Migrating from yii2-bootstrap4 2 | ============================== 3 | 4 | yii2-bootstrap5 is a major rewrite of the entire project (according Bootstrap 5 to Bootstrap 4 migration guide). 5 | The most notable changes are summarized below: 6 | 7 | ## General 8 | 9 | * The namespace is `yii\bootstrap5` instead of `yii\bootstrap4` 10 | * The php compatibility **is limited to** `>=7.0` 11 | * The close buttons of widgets like [[yii\bootstrap5\Alert|Alert]] or [[yii\bootstrap5|Modal|Modal]] now gets rendered 12 | via CSS and does not have any content anymore. So be sure to remove `btn-close` class and set appropriate styles yourself 13 | if you override it. 14 | 15 | ## Widgets / Classes 16 | 17 | ### BaseHtml 18 | 19 | ### ActiveField 20 | 21 | ### ActiveForm 22 | 23 | There is a new constant [[yii\bootstrap5\ActiveForm::LAYOUT_FLOATING]]. It's a 24 | [new form layout](https://getbootstrap.com/docs/5.1/forms/floating-labels/) introduced in Bootstrap 5. 25 | 26 | ### Breadcrumbs 27 | 28 | ### ButtonDropdown 29 | 30 | ### ButtonToolbar 31 | 32 | ### Carousel 33 | 34 | ### LinkPager 35 | 36 | ### Modal 37 | 38 | Change `data-target` and `data-toggle` to `data-bs-target` and `data-bs-toggle` 39 | 40 | ### Nav 41 | 42 | ### NavBar 43 | 44 | There is now the possibility to create an [offcanvas navbar](https://getbootstrap.com/docs/5.1/components/navbar/#offcanvas). 45 | You can achieve this by setting the `$collapseOptions` to `false` in [[yii\bootstrap5\NavBar|Navbar]] widget and the 46 | `$offcanvasOptions` to at least an empty array. 47 | 48 | ### Tabs 49 | 50 | ### ToggleButtonGroup 51 | -------------------------------------------------------------------------------- /docs/guide/topics-sass.md: -------------------------------------------------------------------------------- 1 | Using the .sass files of Bootstrap directly 2 | =========================================== 3 | 4 | If you want to include the [Bootstrap css directly in your sass files](https://getbootstrap.com/getting-started/#customizing) 5 | you may need to disable the bootstrap css files loaded by this extension. 6 | You can do this by setting the css property of [[yii\bootstrap5\BootstrapAsset|BootstrapAsset]] to be empty. 7 | For this, you need to configure the `assetManager` [application component](https://github.com/yiisoft/yii2/blob/master/docs/guide/structure-application-components.md) as follows: 8 | 9 | ```php 10 | 'assetManager' => [ 11 | 'bundles' => [ 12 | 'yii\bootstrap5\BootstrapAsset' => [ 13 | 'css' => [], 14 | ] 15 | ] 16 | ] 17 | ``` 18 | -------------------------------------------------------------------------------- /docs/guide/usage-widgets.md: -------------------------------------------------------------------------------- 1 | Yii widgets 2 | =========== 3 | 4 | Most complex bootstrap components are wrapped into Yii widgets to allow more robust syntax and integrate with 5 | framework features. All widgets belong to `\yii\bootstrap5` namespace: 6 | 7 | - [[yii\bootstrap5\Accordion|Accordion]] 8 | - [[yii\bootstrap5\ActiveField|ActiveField]] 9 | - [[yii\bootstrap5\ActiveForm|ActiveForm]] 10 | - [[yii\bootstrap5\Alert|Alert]] 11 | - [[yii\bootstrap5\Breadcrumbs|Breadcrumbs]] 12 | - [[yii\bootstrap5\Button|Button]] 13 | - [[yii\bootstrap5\ButtonDropdown|ButtonDropdown]] 14 | - [[yii\bootstrap5\ButtonGroup|ButtonGroup]] 15 | - [[yii\bootstrap5\ButtonToolbar|ButtonToolbar]] 16 | - [[yii\bootstrap5\Carousel|Carousel]] 17 | - [[yii\bootstrap5\Dropdown|Dropdown]] 18 | - [[yii\bootstrap5\LinkPager|LinkPager]] 19 | - [[yii\bootstrap5\Modal|Modal]] 20 | - [[yii\bootstrap5\Nav|Nav]] 21 | - [[yii\bootstrap5\NavBar|NavBar]] 22 | - [[yii\bootstrap5\Offcanvas|Offcanvas]] 23 | - [[yii\bootstrap5\Popover|Popover]] 24 | - [[yii\bootstrap5\Progress|Progress]] 25 | - [[yii\bootstrap5\Tabs|Tabs]] 26 | - [[yii\bootstrap5\Toast|Toast]] 27 | - [[yii\bootstrap5\ToggleButtonGroup|ToggleButtonGroup]] 28 | 29 | ## ActiveField: additional fields 30 | 31 | - [Range](https://getbootstrap.com/docs/5.1/forms/range/): `$form->rangeInput(['min' => 0, 'max' => 100, 'step' => 1])` 32 | - [Color picker](https://getbootstrap.com/docs/5.1/forms/form-control/#color): `$form->colorInput()` 33 | - [Switch](https://getbootstrap.com/docs/5.1/forms/checks-radios/#switches): `$form->checkbox(['switch' => true])` 34 | 35 | ## Customizing widget CSS classes 36 | 37 | The widgets allow quick composition of the HTML for the bootstrap components that require the bootstrap CSS classes. 38 | The default classes for a particular component will be added automatically by the widget, and the optional classes that you may want to customize are usually supported through the properties of the widget. 39 | 40 | For example, you may use [[yii\bootstrap5\Button::options]] to customize the appearance of a button. 41 | The class 'btn' which is required for a button will be added automatically, so you don't need to worry about it. 42 | All you need is specify a particular button class: 43 | 44 | ```php 45 | echo Button::widget([ 46 | 'label' => 'Action', 47 | 'options' => ['class' => 'btn-primary'], // produces class "btn btn-primary" 48 | ]); 49 | ``` 50 | 51 | However, sometimes you may need to replace the default classes with the alternative ones. 52 | For example, the widget [[yii\bootstrap5\ButtonGroup]] uses 'btn-group' class for the container div by default, 53 | but you may need to use 'btn-group-vertical' instead to align the buttons vertically. 54 | Using a plain 'class' option simply adds 'btn-group-vertical' to 'btn-group', which will produce an incorrect result. 55 | In order to override the default classes of a widget, you need to specify the 'class' option as an array that contains the customized class definition under the 'widget' key: 56 | 57 | ```php 58 | echo ButtonGroup::widget([ 59 | 'options' => [ 60 | 'class' => ['widget' => 'btn-group-vertical'] // replaces 'btn-group' with 'btn-group-vertical' 61 | ], 62 | 'buttons' => [ 63 | ['label' => 'A'], 64 | ['label' => 'B'], 65 | ] 66 | ]); 67 | ``` 68 | 69 | ## Navbar widget 70 | 71 | The navbar widget has its peculiarities. You should define at which breakpoint the navbar collapses and the generic 72 | style of navbar (color scheme). 73 | 74 | You can change the color scheme and the collapse breakpoint with css classes. If not defined, the scheme defaults to 75 | `navbar-light bg-light` and the breakpoint to `navbar-expand-lg`. For more information, see [Bootstrap documentation](https://getbootstrap.com/docs/5.1/components/navbar/): 76 | 77 | ```php 78 | Navbar::begin([ 79 | 'options' => [ 80 | 'class' => ['navbar-dark', 'bg-dark', 'navbar-expand-md'] 81 | ] 82 | ]); 83 | [...] 84 | Navbar::end(); 85 | ``` 86 | 87 | If you'd like to flip the brand (icon) and toggle button positions in mobile navigation, you can do this like this: 88 | 89 | ```php 90 | Navbar::begin([ 91 | 'brandOptions' => [ 92 | 'class' => ['order-1'] 93 | ], 94 | 'togglerOptions' => [ 95 | 'class' => ['order-0'] 96 | ] 97 | ]); 98 | [...] 99 | Navbar::end(); 100 | ``` 101 | -------------------------------------------------------------------------------- /ecs.php: -------------------------------------------------------------------------------- 1 | withConfiguredRule( 12 | ClassDefinitionFixer::class, 13 | [ 14 | 'space_before_parenthesis' => true, 15 | ], 16 | ) 17 | ->withFileExtensions(['php']) 18 | ->withPaths( 19 | [ 20 | __DIR__ . '/src', 21 | __DIR__ . '/tests', 22 | ] 23 | ) 24 | ->withPhpCsFixerSets(false, false, false, false, false, true) 25 | ->withPreparedSets( 26 | true, 27 | false, 28 | false, 29 | false, 30 | true, 31 | true, 32 | true, 33 | false, 34 | true, 35 | false, 36 | false, 37 | true, 38 | true 39 | ) 40 | ->withRules([NoUnusedImportsFixer::class, OrderedTraitsFixer::class]); 41 | -------------------------------------------------------------------------------- /phpunit.xml.dist: -------------------------------------------------------------------------------- 1 | 2 | 9 | 10 | 11 | ./tests 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /src/ActiveForm.php: -------------------------------------------------------------------------------- 1 | 'horizontal']) 25 | * ``` 26 | * 27 | * This will set default values for the [[ActiveField]] 28 | * to render horizontal form fields. In particular the [[ActiveField::template|template]] 29 | * is set to `{label} {beginWrapper} {input} {error} {endWrapper} {hint}` and the 30 | * [[ActiveField::horizontalCssClasses|horizontalCssClasses]] are set to: 31 | * 32 | * ```php 33 | * [ 34 | * 'offset' => 'offset-sm-3', 35 | * 'label' => 'col-sm-3', 36 | * 'wrapper' => 'col-sm-6', 37 | * 'error' => '', 38 | * 'hint' => 'col-sm-3', 39 | * ] 40 | * ``` 41 | * 42 | * To get a different column layout in horizontal mode you can modify those options 43 | * through [[fieldConfig]]: 44 | * 45 | * ```php 46 | * $form = ActiveForm::begin([ 47 | * 'layout' => 'horizontal', 48 | * 'fieldConfig' => [ 49 | * 'template' => "{label}\n{beginWrapper}\n{input}\n{hint}\n{error}\n{endWrapper}", 50 | * 'horizontalCssClasses' => [ 51 | * 'label' => 'col-sm-4', 52 | * 'offset' => 'offset-sm-4', 53 | * 'wrapper' => 'col-sm-8', 54 | * 'error' => '', 55 | * 'hint' => '', 56 | * ], 57 | * ], 58 | * ]); 59 | * ``` 60 | * 61 | * @see ActiveField for details on the [[fieldConfig]] options 62 | * @see https://getbootstrap.com/docs/5.1/components/forms/ 63 | * 64 | * @author Michael Härtl 65 | * @author Simon Karlen 66 | */ 67 | class ActiveForm extends \yii\widgets\ActiveForm 68 | { 69 | /** 70 | * Default form layout 71 | */ 72 | public const LAYOUT_DEFAULT = 'default'; 73 | /** 74 | * Horizontal form layout 75 | */ 76 | public const LAYOUT_HORIZONTAL = 'horizontal'; 77 | /** 78 | * Inline form layout 79 | */ 80 | public const LAYOUT_INLINE = 'inline'; 81 | /** 82 | * Floating labels form layout 83 | */ 84 | public const LAYOUT_FLOATING = 'floating'; 85 | 86 | /** 87 | * @var string the default field class name when calling [[field()]] to create a new field. 88 | * @see fieldConfig 89 | */ 90 | public $fieldClass = ActiveField::class; 91 | /** 92 | * @var array HTML attributes for the form tag. Default is `[]`. 93 | */ 94 | public $options = []; 95 | /** 96 | * @var string the form layout. Either [[LAYOUT_DEFAULT]], [[LAYOUT_HORIZONTAL]] or [[LAYOUT_INLINE]]. 97 | * By choosing a layout, an appropriate default field configuration is applied. This will 98 | * render the form fields with slightly different markup for each layout. You can 99 | * override these defaults through [[fieldConfig]]. 100 | * @see ActiveField for details on Bootstrap 5 field configuration 101 | */ 102 | public $layout = self::LAYOUT_DEFAULT; 103 | /** 104 | * @var string the CSS class that is added to a field container when the associated attribute has validation error. 105 | */ 106 | public $errorCssClass = 'is-invalid'; 107 | public $successCssClass = 'is-valid'; 108 | public $errorSummaryCssClass = 'alert alert-danger'; 109 | public $validationStateOn = self::VALIDATION_STATE_ON_INPUT; 110 | 111 | 112 | /** 113 | * @throws InvalidConfigException 114 | */ 115 | public function init(): void 116 | { 117 | if (!in_array($this->layout, [self::LAYOUT_DEFAULT, self::LAYOUT_HORIZONTAL, self::LAYOUT_INLINE, self::LAYOUT_FLOATING], true)) { 118 | throw new InvalidConfigException('Invalid layout type: ' . $this->layout); 119 | } 120 | 121 | if ($this->layout === self::LAYOUT_INLINE) { 122 | Html::addCssClass($this->options, [ 123 | 'widget' => 'form-inline', 124 | ]); 125 | } 126 | parent::init(); 127 | } 128 | 129 | /** 130 | * @return ActiveField|\yii\widgets\ActiveField 131 | */ 132 | public function field($model, $attribute, $options = []): ActiveField 133 | { 134 | return parent::field($model, $attribute, $options); 135 | } 136 | } 137 | -------------------------------------------------------------------------------- /src/Alert.php: -------------------------------------------------------------------------------- 1 | [ 24 | * 'class' => 'alert-info', 25 | * ], 26 | * 'body' => 'Say hello...', 27 | * ]); 28 | * ``` 29 | * 30 | * The following example will show the content enclosed between the [[begin()]] 31 | * and [[end()]] calls within the alert box: 32 | * 33 | * ```php 34 | * Alert::begin([ 35 | * 'options' => [ 36 | * 'class' => 'alert-warning', 37 | * ], 38 | * ]); 39 | * 40 | * echo 'Say hello...'; 41 | * 42 | * Alert::end(); 43 | * ``` 44 | * 45 | * @see https://getbootstrap.com/docs/5.1/components/alerts/ 46 | * @author Antonio Ramirez 47 | * @author Simon Karlen 48 | */ 49 | class Alert extends Widget 50 | { 51 | /** 52 | * @var string the body content in the alert component. Note that anything between 53 | * the [[begin()]] and [[end()]] calls of the Alert widget will also be treated 54 | * as the body content, and will be rendered before this. 55 | */ 56 | public $body; 57 | /** 58 | * @var array|false the options for rendering the close button tag. 59 | * The close button is displayed in the header of the modal window. Clicking 60 | * on the button will hide the modal window. If this is false, no close button will be rendered. 61 | * 62 | * The following special options are supported: 63 | * 64 | * - tag: string, the tag name of the button. Defaults to 'button'. 65 | * 66 | * The rest of the options will be rendered as the HTML attributes of the button tag. 67 | * Please refer to the [Alert documentation](https://getbootstrap.com/docs/5.1/components/alerts/) 68 | * for the supported HTML attributes. 69 | */ 70 | public $closeButton = []; 71 | 72 | 73 | public function init(): void 74 | { 75 | parent::init(); 76 | 77 | $this->initOptions(); 78 | 79 | ob_start(); 80 | echo Html::beginTag('div', $this->options) . "\n"; 81 | } 82 | 83 | public function run(): string 84 | { 85 | $content = ob_get_clean(); 86 | $content .= "\n" . $this->renderBodyEnd(); 87 | $content .= "\n" . Html::endTag('div'); 88 | 89 | $this->registerPlugin('alert'); 90 | 91 | return $content; 92 | } 93 | 94 | /** 95 | * Renders the alert body and the close button (if any). 96 | * @return string the rendering result 97 | */ 98 | protected function renderBodyEnd(): string 99 | { 100 | return $this->body . "\n" . $this->renderCloseButton() . "\n"; 101 | } 102 | 103 | /** 104 | * Renders the close button. 105 | * @return string|null the rendering result 106 | */ 107 | protected function renderCloseButton(): ?string 108 | { 109 | if (($closeButton = $this->closeButton) !== false) { 110 | $tag = ArrayHelper::remove($closeButton, 'tag', 'button'); 111 | $label = ArrayHelper::remove($closeButton, 'label', ''); 112 | if ($tag === 'button' && !isset($closeButton['type'])) { 113 | $closeButton['type'] = 'button'; 114 | } 115 | 116 | return Html::tag($tag, $label, $closeButton); 117 | } else { 118 | return null; 119 | } 120 | } 121 | 122 | /** 123 | * Initializes the widget options. 124 | * This method sets the default values for various options. 125 | */ 126 | protected function initOptions(): void 127 | { 128 | Html::addCssClass($this->options, [ 129 | 'widget' => 'alert', 130 | ]); 131 | 132 | if ($this->closeButton !== false) { 133 | $this->closeButton = array_merge([ 134 | 'class' => [ 135 | 'widget' => 'btn-close', 136 | ], 137 | 'data' => [ 138 | 'bs-dismiss' => 'alert', 139 | ], 140 | 'aria' => [ 141 | 'label' => Yii::t('yii/bootstrap5', 'Close'), 142 | ], 143 | ], $this->closeButton); 144 | 145 | Html::addCssClass($this->options, [ 146 | 'toggle' => 'alert-dismissible', 147 | ]); 148 | } 149 | if (!isset($this->options['role'])) { 150 | $this->options['role'] = 'alert'; 151 | } 152 | } 153 | } 154 | -------------------------------------------------------------------------------- /src/BootstrapAsset.php: -------------------------------------------------------------------------------- 1 | 33 | * @author Qiang Xue 34 | * @author Paul Klimov 35 | */ 36 | trait BootstrapWidgetTrait 37 | { 38 | /** 39 | * @var array|false the options for the underlying Bootstrap JS plugin/component. 40 | * Please refer to the corresponding Bootstrap plugin/component Web page for possible options. 41 | * For example, [this page](https://getbootstrap.com/docs/5.1/components/modal/#options) shows 42 | * how to use the "Modal" component and the supported options (e.g. "backdrop"). 43 | * If this property is false, `registerJs()` will not be called on the view to initialize the module. 44 | */ 45 | public $clientOptions = []; 46 | /** 47 | * @var array the event handlers for the underlying Bootstrap JS plugin. 48 | * Please refer to the corresponding Bootstrap plugin Web page for possible events. 49 | * For example, [this page](https://getbootstrap.com/docs/5.1/components/modal/#events) shows 50 | * how to use the "Modal" plugin and the supported events (e.g. "shown.bs.modal"). 51 | */ 52 | public $clientEvents = []; 53 | 54 | /** 55 | * Initializes the widget. 56 | * This method will register the bootstrap asset bundle. If you override this method, 57 | * make sure you call the parent implementation first. 58 | * @throws InvalidConfigException 59 | */ 60 | public function init(): void 61 | { 62 | parent::init(); 63 | if (!isset($this->options['id'])) { 64 | $this->options['id'] = $this->getId(); 65 | } 66 | } 67 | 68 | /** 69 | * Registers a specific Bootstrap plugin/component and the related events. 70 | * 71 | * @param string $name the name of the Bootstrap plugin 72 | */ 73 | protected function registerPlugin(string $name): void 74 | { 75 | /** 76 | * @see https://github.com/twbs/bootstrap/blob/v5.2.0/js/index.esm.js 77 | */ 78 | $jsPlugins = [ 79 | 'alert', 80 | 'button', 81 | 'carousel', 82 | 'collapse', 83 | 'dropdown', 84 | 'modal', 85 | 'offcanvas', 86 | 'popover', 87 | 'scrollspy', 88 | 'tab', 89 | 'toast', 90 | 'tooltip', 91 | ]; 92 | if (in_array($name, $jsPlugins, true)) { 93 | $view = $this->getView(); 94 | BootstrapPluginAsset::register($view); 95 | // 'popover', 'toast' and 'tooltip' plugins not activates via data attributes 96 | if ($this->clientOptions !== false || in_array($name, ['popover', 'toast', 'tooltip'], true)) { 97 | $name = ucfirst($name); 98 | $id = $this->options['id']; 99 | $options = empty($this->clientOptions) ? '{}' : Json::htmlEncode($this->clientOptions); 100 | $view->registerJs("(new bootstrap.$name('#$id', $options));"); 101 | } 102 | 103 | $this->registerClientEvents($name); 104 | } 105 | } 106 | 107 | /** 108 | * Registers JS event handlers that are listed in [[clientEvents]]. 109 | */ 110 | protected function registerClientEvents(?string $name = null): void 111 | { 112 | if (!empty($this->clientEvents)) { 113 | $id = $this->options['id']; 114 | $js = []; 115 | $appendix = ($name === 'dropdown') ? '.parentElement' : ''; 116 | foreach ($this->clientEvents as $event => $handler) { 117 | $js[] = "document.getElementById('$id')$appendix.addEventListener('$event', $handler);"; 118 | } 119 | $this->getView()->registerJs(implode("\n", $js)); 120 | } 121 | } 122 | } 123 | -------------------------------------------------------------------------------- /src/Button.php: -------------------------------------------------------------------------------- 1 | 'Action', 23 | * 'options' => ['class' => 'btn-lg'], 24 | * ]); 25 | * ``` 26 | * @see https://getbootstrap.com/docs/5.1/components/buttons/ 27 | * @author Antonio Ramirez 28 | */ 29 | class Button extends Widget 30 | { 31 | /** 32 | * @var string the tag to use to render the button 33 | */ 34 | public $tagName = 'button'; 35 | /** 36 | * @var string the button label 37 | */ 38 | public $label = 'Button'; 39 | /** 40 | * @var bool whether the label should be HTML-encoded. 41 | */ 42 | public $encodeLabel = true; 43 | 44 | 45 | /** 46 | * Initializes the widget. 47 | * If you override this method, make sure you call the parent implementation first. 48 | * @throws InvalidConfigException 49 | */ 50 | public function init(): void 51 | { 52 | parent::init(); 53 | Html::addCssClass($this->options, [ 54 | 'widget' => 'btn', 55 | ]); 56 | } 57 | 58 | public function run(): string 59 | { 60 | $this->registerPlugin('button'); 61 | return Html::tag( 62 | $this->tagName, 63 | $this->encodeLabel ? Html::encode($this->label) : $this->label, 64 | $this->options, 65 | ); 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /src/ButtonGroup.php: -------------------------------------------------------------------------------- 1 | [ 25 | * ['label' => 'A'], 26 | * ['label' => 'B'], 27 | * ['label' => 'C', 'visible' => false], 28 | * ] 29 | * ]); 30 | * 31 | * // button group with an item as a string 32 | * echo ButtonGroup::widget([ 33 | * 'buttons' => [ 34 | * Button::widget(['label' => 'A']), 35 | * ['label' => 'B'], 36 | * ] 37 | * ]); 38 | * ``` 39 | * 40 | * Pressing on the button should be handled via JavaScript. See the following for details: 41 | * 42 | * @see https://getbootstrap.com/docs/5.1/components/buttons/ 43 | * @see https://getbootstrap.com/docs/5.1/components/button-group/ 44 | * 45 | * @author Antonio Ramirez 46 | * @author Simon Karlen 47 | */ 48 | class ButtonGroup extends Widget 49 | { 50 | /** 51 | * @var array list of buttons. Each array element represents a single button 52 | * which can be specified as a string or an array of the following structure: 53 | * 54 | * - label: string, required, the button label. 55 | * - options: array, optional, the HTML attributes of the button. 56 | * - visible: bool, optional, whether this button is visible. Defaults to true. 57 | */ 58 | public $buttons = []; 59 | /** 60 | * @var bool whether to HTML-encode the button labels. 61 | */ 62 | public $encodeLabels = true; 63 | 64 | 65 | public function init(): void 66 | { 67 | parent::init(); 68 | Html::addCssClass($this->options, [ 69 | 'widget' => 'btn-group', 70 | ]); 71 | if (!isset($this->options['role'])) { 72 | $this->options['role'] = 'group'; 73 | } 74 | } 75 | 76 | /** 77 | * @throws Throwable 78 | */ 79 | public function run(): string 80 | { 81 | BootstrapAsset::register($this->getView()); 82 | 83 | return Html::tag('div', $this->renderButtons(), $this->options); 84 | } 85 | 86 | /** 87 | * Generates the buttons that compound the group as specified on [[buttons]]. 88 | * @return string the rendering result. 89 | * @throws Throwable 90 | */ 91 | protected function renderButtons(): string 92 | { 93 | $buttons = []; 94 | foreach ($this->buttons as $button) { 95 | if (is_array($button)) { 96 | $visible = ArrayHelper::remove($button, 'visible', true); 97 | if ($visible === false) { 98 | continue; 99 | } 100 | 101 | $button['view'] = $this->getView(); 102 | if (!isset($button['encodeLabel'])) { 103 | $button['encodeLabel'] = $this->encodeLabels; 104 | } 105 | if (!isset($button['options'], $button['options']['type'])) { 106 | ArrayHelper::setValue($button, 'options.type', 'button'); 107 | } 108 | $buttons[] = Button::widget($button); 109 | } else { 110 | $buttons[] = $button; 111 | } 112 | } 113 | 114 | return implode("\n", $buttons); 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /src/ButtonToolbar.php: -------------------------------------------------------------------------------- 1 | [ 25 | * [ 26 | * 'buttons' => [ 27 | * ['label' => '1', 'options' => ['class' => ['btn-secondary']]], 28 | * ['label' => '2', 'options' => ['class' => ['btn-secondary']]], 29 | * ['label' => '3', 'options' => ['class' => ['btn-secondary']]], 30 | * ['label' => '4', 'options' => ['class' => ['btn-secondary']]] 31 | * ], 32 | * 'class' => ['mr-2'] 33 | * ], 34 | * [ 35 | * 'buttons' => [ 36 | * ['label' => '5', 'options' => ['class' => ['btn-secondary']]], 37 | * ['label' => '6', 'options' => ['class' => ['btn-secondary']]], 38 | * ['label' => '7', 'options' => ['class' => ['btn-secondary']]] 39 | * ], 40 | * 'class' => ['mr-2'] 41 | * ], 42 | * [ 43 | * 'buttons' => [ 44 | * ['label' => '8', 'options' => ['class' => ['btn-secondary']]] 45 | * ] 46 | * ] 47 | * ] 48 | * ]); 49 | * ``` 50 | * 51 | * Pressing on the button should be handled via JavaScript. See the following for details: 52 | * 53 | * @see https://getbootstrap.com/docs/5.1/components/buttons/ 54 | * @see https://getbootstrap.com/docs/5.1/components/button-group/#button-toolbar 55 | * 56 | * @author Simon Karlen 57 | */ 58 | class ButtonToolbar extends Widget 59 | { 60 | /** 61 | * @var array list of buttons groups. Each array element represents a single group 62 | * which can be specified as a string or an array of the following structure: 63 | * 64 | * - buttons: array list of buttons. Either as array or string representation 65 | * - options: array optional, the HTML attributes of the button group. 66 | * - encodeLabels: bool whether to HTML-encode the button labels. 67 | */ 68 | public $buttonGroups = []; 69 | 70 | 71 | public function init(): void 72 | { 73 | parent::init(); 74 | Html::addCssClass($this->options, [ 75 | 'widget' => 'btn-toolbar', 76 | ]); 77 | if (!isset($this->options['role'])) { 78 | $this->options['role'] = 'toolbar'; 79 | } 80 | } 81 | 82 | /** 83 | * @throws Throwable 84 | */ 85 | public function run(): string 86 | { 87 | BootstrapAsset::register($this->getView()); 88 | 89 | return Html::tag('div', $this->renderButtonGroups(), $this->options); 90 | } 91 | 92 | /** 93 | * Generates the button groups that compound the toolbar as specified on [[buttonGroups]]. 94 | * @return string the rendering result. 95 | * @throws Throwable 96 | */ 97 | protected function renderButtonGroups(): string 98 | { 99 | $buttonGroups = []; 100 | foreach ($this->buttonGroups as $group) { 101 | if (is_array($group)) { 102 | $group['view'] = $this->getView(); 103 | 104 | if (!isset($group['buttons'])) { 105 | continue; 106 | } 107 | 108 | $buttonGroups[] = ButtonGroup::widget($group); 109 | } else { 110 | $buttonGroups[] = $group; 111 | } 112 | } 113 | 114 | return implode("\n", $buttonGroups); 115 | } 116 | } 117 | -------------------------------------------------------------------------------- /src/Html.php: -------------------------------------------------------------------------------- 1 | field($model, 'item_id')->widget(\yii\bootstrap5\ToggleButtonGroup::class, [ 23 | * 'type' => \yii\bootstrap5\ToggleButtonGroup::TYPE_CHECKBOX 24 | * 'items' => [ 25 | * 'fooValue' => 'BarLabel', 26 | * 'barValue' => 'BazLabel' 27 | * ] 28 | * ]) ?> 29 | * ``` 30 | * 31 | * @see https://getbootstrap.com/docs/5.1/components/buttons/#checkbox-and-radio-buttons 32 | * 33 | * @author Paul Klimov 34 | * @author Simon Karlen 35 | */ 36 | class ToggleButtonGroup extends InputWidget 37 | { 38 | /** 39 | * Checkbox type 40 | */ 41 | public const TYPE_CHECKBOX = 'checkbox'; 42 | /** 43 | * Radio type 44 | */ 45 | public const TYPE_RADIO = 'radio'; 46 | 47 | /** 48 | * @var string input type, can be [[TYPE_CHECKBOX]] or [[TYPE_RADIO]] 49 | */ 50 | public $type; 51 | /** 52 | * @var array the data item used to generate the checkboxes. 53 | * The array values are the labels, while the array keys are the corresponding checkbox or radio values. 54 | */ 55 | public $items = []; 56 | /** 57 | * @var array, the HTML attributes for the label (button) tag. 58 | * @see Html::checkbox() 59 | * @see Html::radio() 60 | */ 61 | public $labelOptions = [ 62 | 'class' => ['btn', 'btn-outline-secondary'], 63 | ]; 64 | /** 65 | * @var bool whether the items labels should be HTML-encoded. 66 | */ 67 | public $encodeLabels = true; 68 | 69 | 70 | public function init(): void 71 | { 72 | parent::init(); 73 | $this->registerPlugin('button'); 74 | Html::addCssClass($this->options, [ 75 | 'widget' => 'btn-group', 76 | ]); 77 | $this->options['role'] = 'group'; 78 | } 79 | 80 | /** 81 | * @throws InvalidConfigException 82 | */ 83 | public function run(): string 84 | { 85 | if (!isset($this->options['item'])) { 86 | $this->options['item'] = [$this, 'renderItem']; 87 | } 88 | switch ($this->type) { 89 | case 'checkbox': 90 | if ($this->hasModel()) { 91 | return Html::activeCheckboxList($this->model, $this->attribute, $this->items, $this->options); 92 | } else { 93 | return Html::checkboxList($this->name, $this->value, $this->items, $this->options); 94 | } 95 | // no break 96 | case 'radio': 97 | if ($this->hasModel()) { 98 | return Html::activeRadioList($this->model, $this->attribute, $this->items, $this->options); 99 | } else { 100 | return Html::radioList($this->name, $this->value, $this->items, $this->options); 101 | } 102 | // no break 103 | default: 104 | throw new InvalidConfigException("Unsupported type '{$this->type}'"); 105 | } 106 | } 107 | 108 | /** 109 | * Default callback for checkbox/radio list item rendering. 110 | * @param int $index item index. 111 | * @param string $label item label. 112 | * @param string $name input name. 113 | * @param bool $checked whether value is checked or not. 114 | * @param string $value input value. 115 | * @return string generated HTML. 116 | * @see Html::checkbox() 117 | * @see Html::radio() 118 | */ 119 | public function renderItem(int $index, string $label, string $name, bool $checked, string $value): string 120 | { 121 | unset($index); 122 | $labelOptions = $this->labelOptions; 123 | $labelOptions['wrapInput'] = false; 124 | Html::addCssClass($labelOptions, [ 125 | 'widget' => 'btn', 126 | ]); 127 | $type = $this->type; 128 | if ($this->encodeLabels) { 129 | $label = Html::encode($label); 130 | } 131 | $options = [ 132 | 'label' => $label, 133 | 'labelOptions' => $labelOptions, 134 | 'autocomplete' => 'off', 135 | 'value' => $value, 136 | ]; 137 | Html::addCssClass($options, [ 138 | 'widget' => 'btn-check', 139 | ]); 140 | 141 | return Html::$type($name, $checked, $options); 142 | } 143 | } 144 | -------------------------------------------------------------------------------- /src/Widget.php: -------------------------------------------------------------------------------- 1 | 19 | */ 20 | class TranslationBootstrap implements BootstrapInterface 21 | { 22 | public function bootstrap($app): void 23 | { 24 | $app->getI18n()->translations['yii/bootstrap5'] = [ 25 | 'class' => GettextMessageSource::class, 26 | 'sourceLanguage' => 'en-US', 27 | 'basePath' => '@yii/bootstrap5/messages', 28 | ]; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /src/messages/af/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/af/messages.mo -------------------------------------------------------------------------------- /src/messages/af/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: af\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ar/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ar/messages.mo -------------------------------------------------------------------------------- /src/messages/ar/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ar\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/az/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/az/messages.mo -------------------------------------------------------------------------------- /src/messages/az/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: az\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/be/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/be/messages.mo -------------------------------------------------------------------------------- /src/messages/be/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: be\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/bg/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/bg/messages.mo -------------------------------------------------------------------------------- /src/messages/bg/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: bg\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/bs/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/bs/messages.mo -------------------------------------------------------------------------------- /src/messages/bs/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: bs\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ca/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ca/messages.mo -------------------------------------------------------------------------------- /src/messages/ca/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ca\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/config.php: -------------------------------------------------------------------------------- 1 | __DIR__ . '/..', 13 | // string, required, root directory containing message translations. 14 | 'messagePath' => __DIR__, 15 | // array, required, list of language codes that the extracted messages 16 | // should be translated to. For example, ['zh-CN', 'de']. 17 | 'languages' => ['af', 'ar', 'az', 'be', 'bg', 'bs', 'ca', 'cs', 'da', 'de', 'de-CH', 'el', 'es', 'et', 'fa', 'fi', 'fr', 'he', 'hi', 'hr', 'hu', 'hy', 'id', 'it', 'ja', 'ka', 'kk', 'ko', 'kz', 'lt', 'lv', 'ms', 'nb-NO', 'nl', 'pl', 'pt', 'pt-BR', 'ro', 'ru', 'sk', 'sl', 'sr', 'sr-Latn', 'sv', 'tg', 'th', 'tr', 'uk', 'uz', 'vi', 'zh-CN', 'zh-TW'], 18 | // string, the name of the function for translating messages. 19 | // Defaults to 'Yii::t'. This is used as a mark to find the messages to be 20 | // translated. You may use a string for single function name or an array for 21 | // multiple function names. 22 | 'translator' => 'Yii::t', 23 | // boolean, whether to sort messages by keys when merging new messages 24 | // with the existing ones. Defaults to false, which means the new (untranslated) 25 | // messages will be separated from the old (translated) ones. 26 | 'sort' => false, 27 | // boolean, whether the message file should be overwritten with the merged messages 28 | 'overwrite' => true, 29 | // boolean, whether to remove messages that no longer appear in the source code. 30 | // Defaults to false, which means each of these messages will be enclosed with a pair of '@@' marks. 31 | 'removeUnused' => true, 32 | // boolean, whether to mark messages that no longer appear in the source code. 33 | // Defaults to true, which means each of these messages will be enclosed with a pair of '@@' marks. 34 | 'markUnused' => false, 35 | // array, list of patterns that specify which files/directories should NOT be processed. 36 | // If empty or not set, all files/directories will be processed. 37 | // A path matches a pattern if it contains the pattern string at its end. For example, 38 | // '/a/b' will match all files and directories ending with '/a/b'; 39 | // the '*.svn' will match all files and directories whose name ends with '.svn'. 40 | // and the '.svn' will match all files and directories named exactly '.svn'. 41 | // Note, the '/' characters in a pattern matches both '/' and '\'. 42 | // See helpers/FileHelper::findFiles() description for more details on pattern matching rules. 43 | 'except' => [ 44 | '.svn', 45 | '.git', 46 | '.gitignore', 47 | '.gitkeep', 48 | '.hgignore', 49 | '.hgkeep', 50 | '/messages', 51 | ], 52 | // array, list of patterns that specify which files (not directories) should be processed. 53 | // If empty or not set, all files will be processed. 54 | // Please refer to "except" for details about the patterns. 55 | // If a file/directory matches both a pattern in "only" and "except", it will NOT be processed. 56 | 'only' => ['*.php'], 57 | 'phpFileHeader' => '', 58 | // Generated file format. Can be "php", "db" or "po". 59 | 'format' => 'po', 60 | // Connection component ID for "db" format. 61 | //'db' => 'db', 62 | //DocBlock used for messages array in generated PHP file. If `null`, default DocBlock will be used. 63 | 'phpDocBlock' => null, 64 | ]; 65 | -------------------------------------------------------------------------------- /src/messages/cs/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/cs/messages.mo -------------------------------------------------------------------------------- /src/messages/cs/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: cs\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/da/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/da/messages.mo -------------------------------------------------------------------------------- /src/messages/da/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: da\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/de-CH/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/de-CH/messages.mo -------------------------------------------------------------------------------- /src/messages/de-CH/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: de_CH\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "Button" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "Schliessen" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "Anzeigen" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "Dropdown anzeigen / verstecken" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "Navigation anzeigen / verstecken" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/de/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/de/messages.mo -------------------------------------------------------------------------------- /src/messages/de/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: de\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "Button" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "Schließen" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "Anzeigen" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "Dropdown anzeigen / verstecken" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "Navigation anzeigen / verstecken" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/el/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/el/messages.mo -------------------------------------------------------------------------------- /src/messages/el/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: el\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/es/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/es/messages.mo -------------------------------------------------------------------------------- /src/messages/es/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: es\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/et/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/et/messages.mo -------------------------------------------------------------------------------- /src/messages/et/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: et\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/fa/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/fa/messages.mo -------------------------------------------------------------------------------- /src/messages/fa/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: fa\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/fi/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/fi/messages.mo -------------------------------------------------------------------------------- /src/messages/fi/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: fi\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/fr/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/fr/messages.mo -------------------------------------------------------------------------------- /src/messages/fr/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: fr\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "Bouton" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "Fermer" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "Afficher" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "Basculer le menu déroulant" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "Basculer la navigation" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/he/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/he/messages.mo -------------------------------------------------------------------------------- /src/messages/he/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: he\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/hi/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/hi/messages.mo -------------------------------------------------------------------------------- /src/messages/hi/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: hi\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/hr/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/hr/messages.mo -------------------------------------------------------------------------------- /src/messages/hr/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: hr\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/hu/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/hu/messages.mo -------------------------------------------------------------------------------- /src/messages/hu/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: hu\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/hy/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/hy/messages.mo -------------------------------------------------------------------------------- /src/messages/hy/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: hy\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/id/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/id/messages.mo -------------------------------------------------------------------------------- /src/messages/id/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: id\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/it/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/it/messages.mo -------------------------------------------------------------------------------- /src/messages/it/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: it\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "Bottone" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "Chiudi" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "Indicare" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "Attiva/Disattiva lista a tendina" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "Attiva/Disattiva navigazione" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ja/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ja/messages.mo -------------------------------------------------------------------------------- /src/messages/ja/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ja\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "ボタン" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "閉じる" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "表示" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "ドロップダウンをトグル" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ka/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ka/messages.mo -------------------------------------------------------------------------------- /src/messages/ka/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ka\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/kk/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/kk/messages.mo -------------------------------------------------------------------------------- /src/messages/kk/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: kk\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ko/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ko/messages.mo -------------------------------------------------------------------------------- /src/messages/ko/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ko\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/kz/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/kz/messages.mo -------------------------------------------------------------------------------- /src/messages/kz/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: kz\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/lt/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/lt/messages.mo -------------------------------------------------------------------------------- /src/messages/lt/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: lt\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/lv/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/lv/messages.mo -------------------------------------------------------------------------------- /src/messages/lv/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: lv\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ms/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ms/messages.mo -------------------------------------------------------------------------------- /src/messages/ms/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ms\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/nb-NO/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/nb-NO/messages.mo -------------------------------------------------------------------------------- /src/messages/nb-NO/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: nb_NO\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/nl/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/nl/messages.mo -------------------------------------------------------------------------------- /src/messages/nl/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: nl\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/pl/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/pl/messages.mo -------------------------------------------------------------------------------- /src/messages/pl/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: pl\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/pt-BR/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/pt-BR/messages.mo -------------------------------------------------------------------------------- /src/messages/pt-BR/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: pt_BR\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/pt/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/pt/messages.mo -------------------------------------------------------------------------------- /src/messages/pt/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: pt\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ro/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ro/messages.mo -------------------------------------------------------------------------------- /src/messages/ro/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ro\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/ru/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/ru/messages.mo -------------------------------------------------------------------------------- /src/messages/ru/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: ru\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "Кнопка" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "Закрыть" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "Показать" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "Переключить навигацию" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "Переключить навигацию" 32 | -------------------------------------------------------------------------------- /src/messages/sk/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/sk/messages.mo -------------------------------------------------------------------------------- /src/messages/sk/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: sk\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/sl/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/sl/messages.mo -------------------------------------------------------------------------------- /src/messages/sl/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: sl\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/sr-Latn/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/sr-Latn/messages.mo -------------------------------------------------------------------------------- /src/messages/sr-Latn/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: sr_Latn\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/sr/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/sr/messages.mo -------------------------------------------------------------------------------- /src/messages/sr/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: sr\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/sv/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/sv/messages.mo -------------------------------------------------------------------------------- /src/messages/sv/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: sv\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/tg/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/tg/messages.mo -------------------------------------------------------------------------------- /src/messages/tg/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: tg\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/th/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/th/messages.mo -------------------------------------------------------------------------------- /src/messages/th/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: th\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/tr/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/tr/messages.mo -------------------------------------------------------------------------------- /src/messages/tr/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: tr\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/uk/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/uk/messages.mo -------------------------------------------------------------------------------- /src/messages/uk/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: uk\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/uz/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/uz/messages.mo -------------------------------------------------------------------------------- /src/messages/uz/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: uz\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/vi/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/vi/messages.mo -------------------------------------------------------------------------------- /src/messages/vi/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: vi\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/zh-CN/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/zh-CN/messages.mo -------------------------------------------------------------------------------- /src/messages/zh-CN/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: zh_CN\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /src/messages/zh-TW/messages.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/yiisoft/yii2-bootstrap5/bd19a9d413a5778f09ec6f8e2fe8105cd4bf11d6/src/messages/zh-TW/messages.mo -------------------------------------------------------------------------------- /src/messages/zh-TW/messages.po: -------------------------------------------------------------------------------- 1 | msgid "" 2 | msgstr "" 3 | "Project-Id-Version: \n" 4 | "POT-Creation-Date: \n" 5 | "PO-Revision-Date: \n" 6 | "Last-Translator: \n" 7 | "Language-Team: \n" 8 | "Language: zh_TW\n" 9 | "MIME-Version: 1.0\n" 10 | "Content-Type: text/plain; charset=UTF-8\n" 11 | "Content-Transfer-Encoding: 8bit\n" 12 | 13 | msgctxt "yii/bootstrap5" 14 | msgid "Button" 15 | msgstr "" 16 | 17 | msgctxt "yii/bootstrap5" 18 | msgid "Close" 19 | msgstr "" 20 | 21 | msgctxt "yii/bootstrap5" 22 | msgid "Show" 23 | msgstr "" 24 | 25 | msgctxt "yii/bootstrap5" 26 | msgid "Toggle Dropdown" 27 | msgstr "" 28 | 29 | msgctxt "yii/bootstrap5" 30 | msgid "Toggle navigation" 31 | msgstr "" 32 | 33 | -------------------------------------------------------------------------------- /tests/AlertTest.php: -------------------------------------------------------------------------------- 1 | 'Holy guacamole! You should check in on some of those fields below.', 21 | 'options' => [ 22 | 'class' => ['alert-warning'], 23 | ], 24 | ]); 25 | 26 | $expectedHtml = << 28 | 29 | Holy guacamole! You should check in on some of those fields below. 30 | 31 | 32 | 33 | HTML; 34 | 35 | $this->assertEqualsWithoutLE($expectedHtml, $html); 36 | } 37 | 38 | 39 | public function testDismissibleAlert() 40 | { 41 | Alert::$counter = 0; 42 | $html = Alert::widget([ 43 | 'body' => "Message1", 44 | ]); 45 | 46 | $expectedHtml = << 48 | 49 | Message1 50 | 51 | 52 | 53 | HTML; 54 | $this->assertEqualsWithoutLE($expectedHtml, $html); 55 | } 56 | 57 | /** 58 | * @see https://github.com/yiisoft/yii2-bootstrap5/issues/11 59 | */ 60 | public function testDismissibleAlertCustomButton() 61 | { 62 | Alert::$counter = 0; 63 | $html = Alert::widget([ 64 | 'body' => "Low Blow: Bob Loblaw's Law Blog Lobs Law Bomb", 65 | 'options' => [ 66 | 'class' => 'alert-warning', 67 | ], 68 | 'closeButton' => [ 69 | 'label' => 'Dismiss', 70 | 'tag' => 'a', 71 | 'class' => [ 72 | 'widget' => 'btn btn-outline-warning', 73 | ], 74 | 'style' => [ 75 | 'position' => 'absolute', 76 | 'top' => '.5rem', 77 | 'right' => '.5rem', 78 | ], 79 | ], 80 | ]); 81 | 82 | $expectedHtml = << 84 | 85 | Low Blow: Bob Loblaw's Law Blog Lobs Law Bomb 86 | Dismiss 87 | 88 | 89 | HTML; 90 | $this->assertEqualsWithoutLE($expectedHtml, $html); 91 | } 92 | } 93 | -------------------------------------------------------------------------------- /tests/BreadcrumbsTest.php: -------------------------------------------------------------------------------- 1 | [ 19 | 'label' => 'Home', 20 | 'url' => '#', 21 | ], 22 | 'links' => [ 23 | [ 24 | 'label' => 'Library', 25 | 'url' => '#', 26 | ], 27 | [ 28 | 'label' => 'Data', 29 | ], 30 | ], 31 | ]); 32 | 33 | $expected = << 38 | HTML; 39 | $this->assertEqualsWithoutLE($expected, $out); 40 | } 41 | 42 | public function testRenderWithoutHomeLink() 43 | { 44 | Breadcrumbs::$counter = 0; 45 | $out = Breadcrumbs::widget([ 46 | 'homeLink' => false, 47 | 'links' => [ 48 | [ 49 | 'label' => 'Library', 50 | 'url' => '#', 51 | ], 52 | [ 53 | 'label' => 'Data', 54 | ], 55 | ], 56 | ]); 57 | 58 | $expected = << 62 | HTML; 63 | 64 | $this->assertEqualsWithoutLE($expected, $out); 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /tests/ButtonDropdownTest.php: -------------------------------------------------------------------------------- 1 | ButtonDropdown::DIRECTION_UP, 21 | 'options' => [ 22 | 'class' => $containerClass, 23 | ], 24 | 'label' => 'Action', 25 | 'dropdown' => [ 26 | 'items' => [ 27 | [ 28 | 'label' => 'DropdownA', 29 | 'url' => '/', 30 | ], 31 | [ 32 | 'label' => 'DropdownB', 33 | 'url' => '#', 34 | ], 35 | ], 36 | ], 37 | ]); 38 | 39 | $this->assertStringContainsString("$containerClass dropup btn-group", $out); 40 | } 41 | 42 | public function testDirection(): void 43 | { 44 | ButtonDropdown::$counter = 0; 45 | $out = ButtonDropdown::widget([ 46 | 'direction' => ButtonDropdown::DIRECTION_LEFT, 47 | 'label' => 'Action', 48 | 'dropdown' => [ 49 | 'items' => [ 50 | [ 51 | 'label' => 'ItemA', 52 | 'url' => '#', 53 | ], 54 | [ 55 | 'label' => 'ItemB', 56 | 'url' => '#', 57 | ], 58 | ], 59 | ], 60 | ]); 61 | 62 | $expected = << 64 | 65 | 67 | EXPECTED; 68 | 69 | $this->assertEqualsWithoutLE($expected, $out); 70 | } 71 | 72 | public function testSplit(): void 73 | { 74 | ButtonDropdown::$counter = 0; 75 | $out = ButtonDropdown::widget([ 76 | 'direction' => ButtonDropdown::DIRECTION_DOWN, 77 | 'label' => 'Split dropdown', 78 | 'split' => true, 79 | 'dropdown' => [ 80 | 'items' => [ 81 | [ 82 | 'label' => 'ItemA', 83 | 'url' => '#', 84 | ], 85 | [ 86 | 'label' => 'ItemB', 87 | 'url' => '#', 88 | ], 89 | ], 90 | ], 91 | ]); 92 | 93 | $expected = << 95 | 96 | 98 | EXPECTED; 99 | 100 | $this->assertEqualsWithoutLE($expected, $out); 101 | } 102 | 103 | /** 104 | * @see https://github.com/yiisoft/yii2-bootstrap5/pull/88 fix 105 | */ 106 | public function testGeneratedJS(): void 107 | { 108 | ButtonDropdown::$counter = 0; 109 | $out = ButtonDropdown::widget([ 110 | 'direction' => ButtonDropdown::DIRECTION_DOWN, 111 | 'label' => 'Action', 112 | 'dropdown' => [ 113 | 'items' => [ 114 | [ 115 | 'label' => 'DropdownA', 116 | 'url' => '/', 117 | ], 118 | [ 119 | 'label' => 'DropdownB', 120 | 'url' => '#', 121 | ], 122 | ], 123 | ], 124 | ]); 125 | 126 | $js = array_shift(\Yii::$app->view->js); 127 | 128 | $this->assertIsArray($js); 129 | $this->assertNotContains('(new bootstrap.Button(\'#w0-button\', {}));', $js); 130 | $this->assertContains('(new bootstrap.Dropdown(\'#w0-button\', {}));', $js); 131 | } 132 | } 133 | -------------------------------------------------------------------------------- /tests/ButtonGroupTest.php: -------------------------------------------------------------------------------- 1 | [ 20 | [ 21 | 'label' => 'button-A', 22 | ], 23 | [ 24 | 'label' => 'button-B', 25 | 'visible' => true, 26 | ], 27 | [ 28 | 'label' => 'button-C', 29 | 'visible' => false, 30 | ], 31 | Button::widget([ 32 | 'label' => 'button-D', 33 | ]), 34 | ], 35 | ]); 36 | 37 | $expected = << 39 | 40 | 41 | HTML; 42 | 43 | 44 | $this->assertEqualsWithoutLE($expected, $out); 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /tests/OffcanvasTest.php: -------------------------------------------------------------------------------- 1 | false, 19 | 'bodyOptions' => [ 20 | 'class' => 'offcanvas-body test', 21 | 'style' => [ 22 | 'text-align' => 'center', 23 | ], 24 | ], 25 | ]); 26 | 27 | 28 | $expected = << 31 | 32 |
33 | 34 |
35 | 36 | HTML; 37 | 38 | $this->assertEqualsWithoutLE($expected, $out); 39 | } 40 | 41 | 42 | public function testOptions() 43 | { 44 | Offcanvas::$counter = 0; 45 | 46 | ob_start(); 47 | Offcanvas::begin([ 48 | 'title' => 'Offcanvas title', 49 | 'headerOptions' => [ 50 | 'data-test' => 'Test', 51 | ], 52 | 'titleOptions' => [ 53 | 'tag' => 'h2', 54 | ], 55 | 'placement' => Offcanvas::PLACEMENT_END, 56 | 'backdrop' => false, 57 | 'scrolling' => true, 58 | 'closeButton' => false, 59 | ]); 60 | echo '

Woohoo, you\'re reading this text in an offcanvas!

'; 61 | Offcanvas::end(); 62 | $out = ob_get_clean(); 63 | 64 | $expected = << 67 |
68 |

Offcanvas title

69 |
70 |
71 |

Woohoo, you're reading this text in an offcanvas!

72 |
73 | 74 | HTML; 75 | 76 | $this->assertEqualsWithoutLE($expected, $out); 77 | } 78 | 79 | public function testTriggerButton() 80 | { 81 | Offcanvas::$counter = 0; 82 | 83 | ob_start(); 84 | Offcanvas::begin([ 85 | 'toggleButton' => [ 86 | 'class' => ['btn', 'btn-primary'], 87 | 'label' => 'Launch demo offcanvas', 88 | ], 89 | 'title' => 'Offcanvas title', 90 | ]); 91 | echo '

Woohoo, you\'re reading this text in an offcanvas!

'; 92 | Offcanvas::end(); 93 | $out = ob_get_clean(); 94 | 95 | $this->assertStringContainsString( 96 | '', 97 | $out, 98 | ); 99 | } 100 | } 101 | -------------------------------------------------------------------------------- /tests/PopoverTest.php: -------------------------------------------------------------------------------- 1 | [ 22 | 'class' => ['btn', 'btn-primary'], 23 | ], 24 | ]); 25 | 26 | $expected = <<Show 28 | HTML; 29 | 30 | $this->assertEqualsWithoutLE($expected, $out); 31 | } 32 | 33 | public function testClientOptions() 34 | { 35 | Popover::$counter = 0; 36 | Popover::widget([ 37 | 'headerOptions' => [ 38 | 'class' => ['test-header'], 39 | ], 40 | 'placement' => Popover::PLACEMENT_BOTTOM, 41 | 'title' => 'Test Popover', 42 | ]); 43 | 44 | $js = Yii::$app->view->js[View::POS_READY]; 45 | 46 | $this->assertIsArray($js); 47 | $options = array_shift($js); 48 | 49 | $this->assertContainsWithoutLE("(new bootstrap.Popover('#w0', {", $options); 50 | $this->assertContainsWithoutLE("id=\u0022w0-popover\u0022", $options); 51 | $this->assertContainsWithoutLE("class=\u0022test-header popover-header\u0022", $options); 52 | $this->assertContainsWithoutLE('"placement":"bottom"', $options); 53 | $this->assertContainsWithoutLE('"title":"Test Popover"', $options); 54 | } 55 | 56 | public function testContent() 57 | { 58 | Popover::$counter = 0; 59 | Popover::begin([]); 60 | echo Html::tag('span', 'Test content', [ 61 | 'class' => ['test-content'], 62 | ]); 63 | Popover::end(); 64 | 65 | $js = Yii::$app->view->js[View::POS_READY]; 66 | 67 | $this->assertIsArray($js); 68 | $options = array_shift($js); 69 | 70 | $this->assertContainsWithoutLE('"content":"\u003Cspan class=\u0022test-content\u0022\u003ETest content\u003C\/span\u003E"', $options); 71 | } 72 | } 73 | -------------------------------------------------------------------------------- /tests/ProgressTest.php: -------------------------------------------------------------------------------- 1 | 'Progress', 19 | 'percent' => 25, 20 | 'barOptions' => [ 21 | 'class' => 'bg-warning', 22 | ], 23 | ]); 24 | 25 | $expected = << 27 |
Progress
28 | 29 | HTML; 30 | 31 | $this->assertEqualsWithoutLE($expected, $out); 32 | } 33 | 34 | public function testRender() 35 | { 36 | Progress::$counter = 0; 37 | $out = Progress::widget([ 38 | 'bars' => [ 39 | [ 40 | 'label' => 'Progress', 41 | 'percent' => 25, 42 | ], 43 | ], 44 | ]); 45 | 46 | $expected = << 48 |
Progress
49 | 50 | HTML; 51 | 52 | $this->assertEqualsWithoutLE($expected, $out); 53 | } 54 | 55 | 56 | public function testMultiple() 57 | { 58 | Progress::$counter = 0; 59 | $out = Progress::widget([ 60 | 'bars' => [ 61 | [ 62 | 'label' => '', 63 | 'percent' => 15, 64 | ], 65 | [ 66 | 'label' => '', 67 | 'percent' => 30, 68 | 'options' => [ 69 | 'class' => ['bg-success'], 70 | ], 71 | ], 72 | [ 73 | 'label' => '', 74 | 'percent' => 20, 75 | 'options' => [ 76 | 'class' => ['bg-info'], 77 | ], 78 | ], 79 | ], 80 | ]); 81 | 82 | $expected = << 84 |
85 |
86 |
87 | 88 | HTML; 89 | 90 | $this->assertEqualsWithoutLE($expected, $out); 91 | } 92 | 93 | /** 94 | * @see https://github.com/yiisoft/yii2-bootstrap5/issues/121 95 | */ 96 | public function testRussianLocaleRendering() 97 | { 98 | $this->mockWebApplication([ 99 | 'language' => 'ru-RU', 100 | 'sourceLanguage' => 'en-US', 101 | ]); 102 | 103 | Progress::$counter = 0; 104 | $out = Progress::widget([ 105 | 'bars' => [ 106 | [ 107 | 'label' => 'Progress', 108 | 'percent' => 25, 109 | ], 110 | ], 111 | ]); 112 | 113 | $expected = << 115 |
Progress
116 | 117 | HTML; 118 | 119 | $this->assertEqualsWithoutLE($expected, $out); 120 | } 121 | } 122 | -------------------------------------------------------------------------------- /tests/TestCase.php: -------------------------------------------------------------------------------- 1 | assertEquals($expected, $actual); 28 | } 29 | 30 | /** 31 | * Asserting two strings equality ignoring line endings 32 | */ 33 | public function assertContainsWithoutLE(string $needle, string $haystack) 34 | { 35 | $needle = str_replace("\r\n", "\n", $needle); 36 | $haystack = str_replace("\r\n", "\n", $haystack); 37 | 38 | $this->assertStringContainsString($needle, $haystack); 39 | } 40 | 41 | protected function setUp(): void 42 | { 43 | parent::setUp(); 44 | $this->mockWebApplication(); 45 | } 46 | 47 | protected function tearDown(): void 48 | { 49 | parent::tearDown(); 50 | $this->destroyApplication(); 51 | } 52 | 53 | protected function mockWebApplication(array $config = [], string $appClass = '\yii\web\Application') 54 | { 55 | new $appClass(ArrayHelper::merge([ 56 | 'id' => 'testapp', 57 | 'basePath' => __DIR__, 58 | 'vendorPath' => dirname(__DIR__) . '/vendor', 59 | 'language' => 'en-US', 60 | 'aliases' => [ 61 | '@bower' => '@vendor/bower-asset', 62 | '@npm' => '@vendor/npm-asset', 63 | ], 64 | 'components' => [ 65 | 'i18n' => [ 66 | 'translations' => [ 67 | 'yii/bootstrap5*' => [ 68 | 'class' => 'yii\i18n\GettextMessageSource', 69 | 'sourceLanguage' => 'en-US', 70 | 'basePath' => '@yii/bootstrap5/messages', 71 | ], 72 | ], 73 | ], 74 | 'request' => [ 75 | 'cookieValidationKey' => 'wefJDF8sfdsfSDefwqdxj9oq', 76 | 'scriptFile' => __DIR__ . '/index.php', 77 | 'scriptUrl' => '/index.php', 78 | ], 79 | ], 80 | ], $config)); 81 | } 82 | 83 | /** 84 | * Mocks controller action with parameters 85 | */ 86 | protected function mockAction(string $controllerId, string $actionID, ?string $moduleID = null, array $params = []) 87 | { 88 | Yii::$app->controller = $controller = new Controller($controllerId, Yii::$app); 89 | $controller->actionParams = $params; 90 | $controller->action = new Action($actionID, $controller); 91 | 92 | if ($moduleID !== null) { 93 | $controller->module = new Module($moduleID); 94 | } 95 | } 96 | 97 | /** 98 | * Removes controller 99 | */ 100 | protected function removeMockedAction() 101 | { 102 | Yii::$app->controller = null; 103 | } 104 | 105 | /** 106 | * Destroys application in Yii::$app by setting it to null. 107 | */ 108 | protected function destroyApplication() 109 | { 110 | Yii::$app = null; 111 | Yii::$container = new Container(); 112 | } 113 | } 114 | -------------------------------------------------------------------------------- /tests/ToggleButtonGroupTest.php: -------------------------------------------------------------------------------- 1 | ToggleButtonGroup::TYPE_CHECKBOX, 21 | 'model' => new ToggleButtonGroupTestModel(), 22 | 'attribute' => 'value', 23 | 'items' => [ 24 | '1' => 'item 1', 25 | '2' => 'item 2', 26 | ], 27 | ]); 28 | 29 | $expectedHtml = <<
31 | 32 | 33 |
34 | HTML; 35 | $this->assertEqualsWithoutLE($expectedHtml, $html); 36 | } 37 | 38 | 39 | public function testCheckboxChecked() 40 | { 41 | Html::$counter = 0; 42 | $html = ToggleButtonGroup::widget([ 43 | 'type' => ToggleButtonGroup::TYPE_CHECKBOX, 44 | 'model' => new ToggleButtonGroupTestModel([ 45 | 'value' => '2', 46 | ]), 47 | 'attribute' => 'value', 48 | 'items' => [ 49 | '1' => 'item 1', 50 | '2' => 'item 2', 51 | ], 52 | ]); 53 | 54 | $this->assertStringContainsString('', $html); 55 | } 56 | 57 | public function testRadio() 58 | { 59 | Html::$counter = 0; 60 | $html = ToggleButtonGroup::widget([ 61 | 'type' => ToggleButtonGroup::TYPE_RADIO, 62 | 'model' => new ToggleButtonGroupTestModel(), 63 | 'attribute' => 'value', 64 | 'items' => [ 65 | '1' => 'item 1', 66 | '2' => 'item 2', 67 | ], 68 | ]); 69 | 70 | $expectedHtml = <<
72 | 73 | 74 |
75 | HTML; 76 | $this->assertEqualsWithoutLE($expectedHtml, $html); 77 | } 78 | 79 | 80 | public function testRadioChecked() 81 | { 82 | Html::$counter = 0; 83 | $html = ToggleButtonGroup::widget([ 84 | 'type' => ToggleButtonGroup::TYPE_RADIO, 85 | 'model' => new ToggleButtonGroupTestModel([ 86 | 'value' => '2', 87 | ]), 88 | 'attribute' => 'value', 89 | 'items' => [ 90 | '1' => 'item 1', 91 | '2' => 'item 2', 92 | ], 93 | ]); 94 | 95 | $this->assertStringContainsString('', $html); 96 | } 97 | } 98 | 99 | class ToggleButtonGroupTestModel extends Model 100 | { 101 | public $value; 102 | } 103 | -------------------------------------------------------------------------------- /tests/TranslationTest.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | 9 | namespace yiiunit\extensions\bootstrap5; 10 | 11 | use yii\bootstrap5\Alert; 12 | use yii\bootstrap5\Breadcrumbs; 13 | 14 | class TranslationTest extends TestCase 15 | { 16 | protected function setUp(): void 17 | { 18 | $this->mockWebApplication([ 19 | 'language' => 'de-CH', 20 | 'sourceLanguage' => 'en-US', 21 | 'components' => [ 22 | 'i18n' => [ 23 | 'translations' => [ 24 | 'yii/bootstrap5*' => [ 25 | 'class' => 'yii\i18n\GettextMessageSource', 26 | 'sourceLanguage' => 'en-US', 27 | 'basePath' => '@yii/bootstrap5/messages', 28 | ], 29 | ], 30 | ], 31 | ], 32 | ]); 33 | } 34 | 35 | public function testTranslatedAlert() 36 | { 37 | Alert::$counter = 0; 38 | $html = Alert::widget([ 39 | 'body' => 'Heilige Guacamole! Das ist ein deutscher Test.', 40 | 'options' => [ 41 | 'class' => ['alert-warning'], 42 | ], 43 | ]); 44 | 45 | $expectedHtml = << 47 | 48 | Heilige Guacamole! Das ist ein deutscher Test. 49 | 50 | 51 | 52 | HTML; 53 | 54 | $this->assertEqualsWithoutLE($expectedHtml, $html); 55 | } 56 | 57 | public function testTranslatedBreadcrumb() 58 | { 59 | Breadcrumbs::$counter = 0; 60 | $out = Breadcrumbs::widget([ 61 | 'links' => [ 62 | [ 63 | 'label' => 'Library', 64 | 'url' => '#', 65 | ], 66 | [ 67 | 'label' => 'Data', 68 | ], 69 | ], 70 | ]); 71 | 72 | $expected = << 77 | HTML; 78 | $this->assertEqualsWithoutLE($expected, $out); 79 | } 80 | } 81 | -------------------------------------------------------------------------------- /tests/assets/.gitignore: -------------------------------------------------------------------------------- 1 | * 2 | !.gitignore -------------------------------------------------------------------------------- /tests/bootstrap.php: -------------------------------------------------------------------------------- 1 | 15 | */ 16 | class ExtendedActiveField extends ActiveField 17 | { 18 | public $horizontalCssClasses = [ 19 | 'offset' => 'col-md-offset-4', 20 | 'label' => 'col-md-4', 21 | 'wrapper' => 'col-md-6', 22 | 'error' => 'col-md-3', 23 | 'hint' => 'col-md-3', 24 | ]; 25 | } 26 | -------------------------------------------------------------------------------- /tests/data/Singer.php: -------------------------------------------------------------------------------- 1 | 11 | */ 12 | class Singer extends Model 13 | { 14 | public $firstName; 15 | public $lastName; 16 | public $test; 17 | 18 | public function rules() 19 | { 20 | return [ 21 | [['lastName'], 22 | 'default', 23 | 'value' => 'Lennon'], 24 | [['lastName'], 'required'], 25 | [['underscore_style'], 'yii\captcha\CaptchaValidator'], 26 | [['test'], 27 | 'required', 28 | 'when' => function ($model) { 29 | return $model->firstName === 'cebe'; 30 | }], 31 | ]; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /tests/data/User.php: -------------------------------------------------------------------------------- 1 | 7 | */ 8 | 9 | namespace yiiunit\extensions\bootstrap5\data; 10 | 11 | use yii\base\Model; 12 | 13 | class User extends Model 14 | { 15 | public $id; 16 | public $firstName; 17 | public $lastName; 18 | public $username; 19 | public $password; 20 | 21 | public function rules() 22 | { 23 | return [ 24 | ['id', 'integer'], 25 | [['firstName', 'lastName'], 'string'], 26 | [ 27 | 'username', 28 | 'string', 29 | 'min' => 4, 30 | ], 31 | [ 32 | 'password', 33 | 'string', 34 | 'min' => 8, 35 | 'max' => '20', 36 | ], 37 | [['username', 'password'], 'required'], 38 | ]; 39 | } 40 | 41 | public function attributeHints() 42 | { 43 | return [ 44 | 'username' => 'Your username must be at least 4 characters long', 45 | 'password' => 'Your password must be 8-20 characters long, contain letters and numbers, and must not contain spaces, special characters, or emoji.', 46 | ]; 47 | } 48 | } 49 | --------------------------------------------------------------------------------