├── gantt.png ├── locales ├── eo.mo ├── kn.mo ├── ar_SA.mo ├── be_BY.mo ├── bg_BG.mo ├── ca_ES.mo ├── cs_CZ.mo ├── da_DK.mo ├── de_DE.mo ├── el_GR.mo ├── en_GB.mo ├── en_US.mo ├── es_419.mo ├── es_AR.mo ├── es_CL.mo ├── es_CO.mo ├── es_EC.mo ├── es_ES.mo ├── es_MX.mo ├── es_VE.mo ├── et_EE.mo ├── eu_ES.mo ├── fa_IR.mo ├── fi_FI.mo ├── fr_BE.mo ├── fr_CA.mo ├── fr_FR.mo ├── gl_ES.mo ├── he_IL.mo ├── hi_IN.mo ├── hr_HR.mo ├── hu_HU.mo ├── id_ID.mo ├── is_IS.mo ├── it_IT.mo ├── ja_JP.mo ├── ko_KR.mo ├── lt_LT.mo ├── lv_LV.mo ├── mn_MN.mo ├── ms_MY.mo ├── nb_NO.mo ├── nl_BE.mo ├── nl_NL.mo ├── nn_NO.mo ├── pl_PL.mo ├── pt_BR.mo ├── pt_PT.mo ├── ro_RO.mo ├── ru_RU.mo ├── sk_SK.mo ├── sl_SI.mo ├── sr_RS.mo ├── sv_SE.mo ├── th_TH.mo ├── tr_TR.mo ├── uk_UA.mo ├── vi_VN.mo ├── zh_CN.mo ├── zh_HK.mo ├── zh_TW.mo ├── zh_HK.po ├── ms_MY.po ├── zh_TW.po ├── th_TH.po ├── fa_IR.po ├── kn.po ├── vi_VN.po ├── nn_NO.po ├── is_IS.po ├── da_DK.po ├── eo.po ├── el_GR.po ├── eu_ES.po ├── nb_NO.po ├── fi_FI.po ├── id_ID.po ├── nl_BE.po ├── nl_NL.po ├── hi_IN.po ├── ca_ES.po ├── gl_ES.po ├── en_US.po ├── es_CL.po ├── sr_RS.po ├── fr_BE.po ├── ro_RO.po └── et_EE.po ├── screenshots ├── create_task.png └── project_tab.png ├── .gitignore ├── .stylelintrc.js ├── .tx └── config ├── .github ├── workflows │ ├── release.yml │ ├── locales-update-source.yml │ ├── locales-sync.yml │ ├── auto-tag-new-version.yml │ ├── label-commenter.yml │ ├── continuous-integration.yml │ └── close_stale_issue.yml ├── pull_request_template.md ├── dependabot.yml ├── label-commenter-config.yml └── ISSUE_TEMPLATE │ └── bug_report.yml ├── .twig_cs.dist.php ├── composer.json ├── .php-cs-fixer.php ├── eslint.config.mjs ├── phpstan.neon ├── package.json ├── README.md ├── psalm.xml ├── SECURITY.md ├── CHANGELOG.md ├── tools └── HEADER ├── public ├── js │ └── libs.js └── css │ └── gantt.scss ├── hook.php ├── front ├── global.php └── projectsexport.php ├── src ├── Link.php ├── LinkDAO.php ├── ProjectTab.php ├── Item.php ├── ProjectDAO.php └── ProjectsExport.php ├── rector.php ├── setup.php ├── .webpack.config.js └── gantt.xml /gantt.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/gantt.png -------------------------------------------------------------------------------- /locales/eo.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/eo.mo -------------------------------------------------------------------------------- /locales/kn.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/kn.mo -------------------------------------------------------------------------------- /locales/ar_SA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ar_SA.mo -------------------------------------------------------------------------------- /locales/be_BY.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/be_BY.mo -------------------------------------------------------------------------------- /locales/bg_BG.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/bg_BG.mo -------------------------------------------------------------------------------- /locales/ca_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ca_ES.mo -------------------------------------------------------------------------------- /locales/cs_CZ.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/cs_CZ.mo -------------------------------------------------------------------------------- /locales/da_DK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/da_DK.mo -------------------------------------------------------------------------------- /locales/de_DE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/de_DE.mo -------------------------------------------------------------------------------- /locales/el_GR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/el_GR.mo -------------------------------------------------------------------------------- /locales/en_GB.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/en_GB.mo -------------------------------------------------------------------------------- /locales/en_US.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/en_US.mo -------------------------------------------------------------------------------- /locales/es_419.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_419.mo -------------------------------------------------------------------------------- /locales/es_AR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_AR.mo -------------------------------------------------------------------------------- /locales/es_CL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_CL.mo -------------------------------------------------------------------------------- /locales/es_CO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_CO.mo -------------------------------------------------------------------------------- /locales/es_EC.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_EC.mo -------------------------------------------------------------------------------- /locales/es_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_ES.mo -------------------------------------------------------------------------------- /locales/es_MX.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_MX.mo -------------------------------------------------------------------------------- /locales/es_VE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/es_VE.mo -------------------------------------------------------------------------------- /locales/et_EE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/et_EE.mo -------------------------------------------------------------------------------- /locales/eu_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/eu_ES.mo -------------------------------------------------------------------------------- /locales/fa_IR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/fa_IR.mo -------------------------------------------------------------------------------- /locales/fi_FI.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/fi_FI.mo -------------------------------------------------------------------------------- /locales/fr_BE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/fr_BE.mo -------------------------------------------------------------------------------- /locales/fr_CA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/fr_CA.mo -------------------------------------------------------------------------------- /locales/fr_FR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/fr_FR.mo -------------------------------------------------------------------------------- /locales/gl_ES.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/gl_ES.mo -------------------------------------------------------------------------------- /locales/he_IL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/he_IL.mo -------------------------------------------------------------------------------- /locales/hi_IN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/hi_IN.mo -------------------------------------------------------------------------------- /locales/hr_HR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/hr_HR.mo -------------------------------------------------------------------------------- /locales/hu_HU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/hu_HU.mo -------------------------------------------------------------------------------- /locales/id_ID.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/id_ID.mo -------------------------------------------------------------------------------- /locales/is_IS.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/is_IS.mo -------------------------------------------------------------------------------- /locales/it_IT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/it_IT.mo -------------------------------------------------------------------------------- /locales/ja_JP.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ja_JP.mo -------------------------------------------------------------------------------- /locales/ko_KR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ko_KR.mo -------------------------------------------------------------------------------- /locales/lt_LT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/lt_LT.mo -------------------------------------------------------------------------------- /locales/lv_LV.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/lv_LV.mo -------------------------------------------------------------------------------- /locales/mn_MN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/mn_MN.mo -------------------------------------------------------------------------------- /locales/ms_MY.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ms_MY.mo -------------------------------------------------------------------------------- /locales/nb_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/nb_NO.mo -------------------------------------------------------------------------------- /locales/nl_BE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/nl_BE.mo -------------------------------------------------------------------------------- /locales/nl_NL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/nl_NL.mo -------------------------------------------------------------------------------- /locales/nn_NO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/nn_NO.mo -------------------------------------------------------------------------------- /locales/pl_PL.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/pl_PL.mo -------------------------------------------------------------------------------- /locales/pt_BR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/pt_BR.mo -------------------------------------------------------------------------------- /locales/pt_PT.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/pt_PT.mo -------------------------------------------------------------------------------- /locales/ro_RO.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ro_RO.mo -------------------------------------------------------------------------------- /locales/ru_RU.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/ru_RU.mo -------------------------------------------------------------------------------- /locales/sk_SK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/sk_SK.mo -------------------------------------------------------------------------------- /locales/sl_SI.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/sl_SI.mo -------------------------------------------------------------------------------- /locales/sr_RS.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/sr_RS.mo -------------------------------------------------------------------------------- /locales/sv_SE.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/sv_SE.mo -------------------------------------------------------------------------------- /locales/th_TH.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/th_TH.mo -------------------------------------------------------------------------------- /locales/tr_TR.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/tr_TR.mo -------------------------------------------------------------------------------- /locales/uk_UA.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/uk_UA.mo -------------------------------------------------------------------------------- /locales/vi_VN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/vi_VN.mo -------------------------------------------------------------------------------- /locales/zh_CN.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/zh_CN.mo -------------------------------------------------------------------------------- /locales/zh_HK.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/zh_HK.mo -------------------------------------------------------------------------------- /locales/zh_TW.mo: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/locales/zh_TW.mo -------------------------------------------------------------------------------- /screenshots/create_task.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/screenshots/create_task.png -------------------------------------------------------------------------------- /screenshots/project_tab.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pluginsGLPI/gantt/HEAD/screenshots/project_tab.png -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | dist/ 2 | node_modules/ 3 | public/build/ 4 | public/lib/ 5 | vendor/ 6 | .gh_token 7 | *.min.* 8 | var/ 9 | -------------------------------------------------------------------------------- /.stylelintrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | extends: [ 3 | '../../.stylelintrc.js' 4 | ], 5 | ignoreFiles: [ 6 | 'node_modules/**/*', 7 | 'vendor/**/*' 8 | ], 9 | }; 10 | -------------------------------------------------------------------------------- /.tx/config: -------------------------------------------------------------------------------- 1 | [main] 2 | host = https://www.transifex.com 3 | 4 | [o:teclib:p:glpi-plugin-gantt:r:gantt-pot] 5 | file_filter = locales/.po 6 | source_file = locales/gantt.pot 7 | source_lang = en_GB 8 | type = PO 9 | -------------------------------------------------------------------------------- /.github/workflows/release.yml: -------------------------------------------------------------------------------- 1 | name: "Publish release" 2 | 3 | on: 4 | push: 5 | tags: 6 | - '*' 7 | 8 | jobs: 9 | publish-release: 10 | permissions: 11 | contents: "write" 12 | name: "Publish release" 13 | uses: "glpi-project/plugin-release-workflows/.github/workflows/publish-release.yml@v1" 14 | -------------------------------------------------------------------------------- /.github/workflows/locales-update-source.yml: -------------------------------------------------------------------------------- 1 | name: "Update locales sources" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | 8 | jobs: 9 | push-on-transifex: 10 | name: "Push locales sources" 11 | uses: "glpi-project/plugin-translation-workflows/.github/workflows/transifex-push-sources.yml@v1" 12 | secrets: 13 | transifex-token: "${{ secrets.TRANSIFEX_TOKEN }}" 14 | -------------------------------------------------------------------------------- /.github/workflows/locales-sync.yml: -------------------------------------------------------------------------------- 1 | name: "Synchronize locales" 2 | 3 | on: 4 | schedule: 5 | - cron: "0 0 * * 1-5" 6 | workflow_dispatch: 7 | 8 | jobs: 9 | sync-with-transifex: 10 | name: "Sync with transifex" 11 | uses: "glpi-project/plugin-translation-workflows/.github/workflows/transifex-sync.yml@v1" 12 | secrets: 13 | github-token: "${{ secrets.LOCALES_SYNC_TOKEN }}" 14 | transifex-token: "${{ secrets.TRANSIFEX_TOKEN }}" 15 | -------------------------------------------------------------------------------- /.twig_cs.dist.php: -------------------------------------------------------------------------------- 1 | in(__DIR__ . '/templates') 11 | ->name('*.html.twig') 12 | ->ignoreVCSIgnored(true); 13 | 14 | return Config::create() 15 | ->setFinder($finder) 16 | ->setRuleSet(GlpiTwigRuleset::class) 17 | ; 18 | -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- 1 | { 2 | "require": { 3 | "php": ">=8.2" 4 | }, 5 | "require-dev": { 6 | "glpi-project/tools": "^0.8" 7 | }, 8 | "config": { 9 | "optimize-autoloader": true, 10 | "platform": { 11 | "php": "8.2.99" 12 | }, 13 | "sort-packages": true 14 | }, 15 | "autoload-dev": { 16 | "psr-4": { 17 | "Glpi\\Tools\\": "../../tools/src/" 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /.github/workflows/auto-tag-new-version.yml: -------------------------------------------------------------------------------- 1 | name: "Automatically tag new version" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | - "**/bugfixes" 8 | paths: 9 | - "setup.php" 10 | 11 | jobs: 12 | auto-tag-new-version: 13 | name: "Automatically tag new version" 14 | uses: "glpi-project/plugin-release-workflows/.github/workflows/auto-tag-new-version.yml@v1" 15 | secrets: 16 | github-token: "${{ secrets.AUTOTAG_TOKEN }}" 17 | -------------------------------------------------------------------------------- /.github/workflows/label-commenter.yml: -------------------------------------------------------------------------------- 1 | name: "Label commenter" 2 | 3 | on: 4 | issues: 5 | types: 6 | - "labeled" 7 | - "unlabeled" 8 | 9 | jobs: 10 | comment: 11 | permissions: 12 | contents: "read" 13 | issues: "write" 14 | runs-on: "ubuntu-latest" 15 | steps: 16 | - name: "Checkout" 17 | uses: "actions/checkout@v6" 18 | 19 | - name: "Label commenter" 20 | uses: "peaceiris/actions-label-commenter@v1" 21 | -------------------------------------------------------------------------------- /.php-cs-fixer.php: -------------------------------------------------------------------------------- 1 | in(__DIR__) 8 | ->name('*.php') 9 | ->ignoreVCSIgnored(true); 10 | 11 | $config = new Config(); 12 | 13 | $rules = [ 14 | '@PER-CS' => true, // Latest PER rules. 15 | ]; 16 | 17 | return $config 18 | ->setRules($rules) 19 | ->setFinder($finder) 20 | ->setCacheFile(__DIR__ . '/var/php-cs-fixer/.php-cs-fixer.cache') 21 | ; 22 | -------------------------------------------------------------------------------- /eslint.config.mjs: -------------------------------------------------------------------------------- 1 | import glpiEslintConfig from '../../eslint.config.mjs'; 2 | 3 | const filteredConfig = glpiEslintConfig.filter(config => !config.ignores); 4 | 5 | export default [ 6 | ...filteredConfig, 7 | { 8 | ignores: [ 9 | 'node_modules/*', 10 | "public/lib/*", 11 | 'vendor/*', 12 | ], 13 | }, 14 | { 15 | // Modules 16 | files: ["public/js/libs.js"], 17 | languageOptions: { 18 | sourceType: "module" 19 | } 20 | } 21 | ]; 22 | -------------------------------------------------------------------------------- /.github/pull_request_template.md: -------------------------------------------------------------------------------- 1 | ## Checklist before requesting a review 2 | 3 | *Please delete options that are not relevant.* 4 | 5 | - [ ] I have performed a self-review of my code. 6 | - [ ] I have added tests (when available) that prove my fix is effective or that my feature works. 7 | - [ ] I have updated the CHANGELOG with a short functional description of the fix or new feature. 8 | - [ ] This change requires a documentation update. 9 | 10 | ## Description 11 | 12 | - It fixes # (issue number, if applicable) 13 | - Here is a brief description of what this PR does 14 | 15 | ## Screenshots (if appropriate): 16 | -------------------------------------------------------------------------------- /phpstan.neon: -------------------------------------------------------------------------------- 1 | includes: 2 | - ../../vendor/glpi-project/phpstan-glpi/extension.neon 3 | - ../../vendor/phpstan/phpstan-deprecation-rules/rules.neon 4 | - ../../vendor/thecodingmachine/phpstan-safe-rule/phpstan-safe-rule.neon 5 | 6 | parameters: 7 | level: 5 8 | paths: 9 | - ajax 10 | - front 11 | - src 12 | - hook.php 13 | - setup.php 14 | scanDirectories: 15 | - ../../src 16 | bootstrapFiles: 17 | - ../../stubs/glpi_constants.php 18 | - ../../vendor/autoload.php 19 | - setup.php 20 | treatPhpDocTypesAsCertain: false 21 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "@glpi-plugins/glpi-gantt", 3 | "description": "Add gantt view to GLPI projects.", 4 | "private": true, 5 | "license": "GPL-2.0-or-later", 6 | "dependencies": { 7 | "dhtmlx-gantt": "^9.1.0" 8 | }, 9 | "scripts": { 10 | "build": "webpack --config .webpack.config.js", 11 | "postinstall": "npm run-script build" 12 | }, 13 | "devDependencies": { 14 | "clean-webpack-plugin": "^4.0.0", 15 | "css-loader": "^7.1.2", 16 | "file-loader": "^6.2.0", 17 | "script-loader": "^0.7.2", 18 | "style-loader": "^4.0.0", 19 | "webpack": "^5.103.0", 20 | "webpack-cli": "^6.0.1" 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | ![icon](gantt.png) 2 | 3 | # GLPI Gantt plugin 4 | 5 | This GLPI plugin add Gantt view to GLPI projects. 6 | The feature was removed from core from 10.0.1 version due to license incompatibility. 7 | ## Contributing 8 | 9 | * Open a ticket for each bug/feature so it can be discussed 10 | * Follow [development guidelines](http://glpi-developer-documentation.readthedocs.io/en/latest/plugins/index.html) 11 | * Refer to [GitFlow](http://git-flow.readthedocs.io/) process for branching 12 | * Work on a new branch on your own fork 13 | * Open a PR that will be reviewed by a developer 14 | 15 | ## Screenshots 16 | 17 | ![Project tab](screenshots/project_tab.png) 18 | ![Create task](screenshots/create_task.png) 19 | -------------------------------------------------------------------------------- /.github/dependabot.yml: -------------------------------------------------------------------------------- 1 | version: 2 2 | updates: 3 | # Ensure GitHub Actions are used in their latest version 4 | - package-ecosystem: "github-actions" 5 | directory: "/" 6 | schedule: 7 | interval: "monthly" 8 | 9 | # Strategy for composer dependencies 10 | - package-ecosystem: "composer" 11 | directory: "/" 12 | schedule: 13 | interval: "monthly" 14 | allow: 15 | - dependency-type: "direct" 16 | open-pull-requests-limit: 100 17 | versioning-strategy: "increase" 18 | groups: 19 | dev-dependencies: 20 | dependency-type: "development" 21 | 22 | # Strategy for npm dependencies 23 | - package-ecosystem: "npm" 24 | directory: "/" 25 | schedule: 26 | interval: "monthly" 27 | allow: 28 | - dependency-type: "direct" 29 | open-pull-requests-limit: 100 30 | versioning-strategy: "increase" 31 | groups: 32 | dev-dependencies: 33 | dependency-type: "development" 34 | -------------------------------------------------------------------------------- /psalm.xml: -------------------------------------------------------------------------------- 1 | 2 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 21 | 22 | 23 | 24 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | **⚠️ Please never use standard issues to report security problems; vulnerabilities are published once a fix release is available. ⚠️** 4 | 5 | ## Reporting a Vulnerability 6 | 7 | If you found a security issue, please contact us by: 8 | 9 | - [our huntr page](https://huntr.dev/repos/pluginsGLPI/gantt/) 10 | - a mail to \[glpi-security AT ow2.org\] 11 | 12 | You should provide us all details about the issue and the way to reproduce it. 13 | You may also provide a script that can be used to check the issue exists. 14 | 15 | Once the report will be handled, and if the issue is not yet fixed (or in progress) 16 | we'll add it to the GitHub security tab, and add you as observer. Meanwhile, 17 | you will reserve a CVE for the issue. 18 | 19 | Thank you for improving the security of GLPI and its plugins. 20 | 21 | ## Supported Versions 22 | 23 | We follow the same version support policy as GLPI. 24 | This means that we provide security patches to versions of the plugin that target a version of GLPI itself maintained from a security point of view. 25 | -------------------------------------------------------------------------------- /.github/workflows/continuous-integration.yml: -------------------------------------------------------------------------------- 1 | name: "Continuous integration" 2 | 3 | on: 4 | push: 5 | branches: 6 | - "main" 7 | tags: 8 | - "*" 9 | pull_request: 10 | schedule: 11 | - cron: "0 0 * * *" 12 | workflow_dispatch: 13 | 14 | concurrency: 15 | group: "${{ github.workflow }}-${{ github.ref }}" 16 | cancel-in-progress: true 17 | 18 | jobs: 19 | generate-ci-matrix: 20 | name: "Generate CI matrix" 21 | uses: "glpi-project/plugin-ci-workflows/.github/workflows/generate-ci-matrix.yml@v1" 22 | with: 23 | glpi-version: "11.0.x" 24 | ci: 25 | name: "GLPI ${{ matrix.glpi-version }} - php:${{ matrix.php-version }} - ${{ matrix.db-image }}" 26 | needs: "generate-ci-matrix" 27 | strategy: 28 | fail-fast: false 29 | matrix: ${{ fromJson(needs.generate-ci-matrix.outputs.matrix) }} 30 | uses: "glpi-project/plugin-ci-workflows/.github/workflows/continuous-integration.yml@v1" 31 | with: 32 | plugin-key: "gantt" 33 | glpi-version: "${{ matrix.glpi-version }}" 34 | php-version: "${{ matrix.php-version }}" 35 | db-image: "${{ matrix.db-image }}" 36 | -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | 5 | The format is based on [Keep a Changelog](http://keepachangelog.com/) 6 | and this project adheres to [Semantic Versioning](http://semver.org/). 7 | 8 | ## [UNRELEASED] 9 | 10 | ### Fixed 11 | 12 | - Fix Today marker position on native calendar fields 13 | 14 | ## [1.3.0] - 2025-12-02 15 | 16 | ### Added 17 | 18 | - Add `Today` marker 19 | 20 | ## [1.2.0] - 2025-09-30 21 | 22 | ### Added 23 | 24 | - GLPI 11 compatibility 25 | 26 | ## [1.1.2] - 2025-09-30 27 | 28 | ### Added 29 | 30 | - Added hours to Days zoom level 31 | 32 | ### Fixed 33 | 34 | - Milestone sticker not visible 35 | - Fix CSS since `dhtmlx-gantt` update to `9.0` 36 | - Hide breadcrumb container in fullscreen mode with horizontal layout 37 | 38 | ## [1.1.1] - 2024-07-09 39 | 40 | ### Fixed 41 | 42 | - Adjusted code to ensure compatibility with updated library versions. 43 | 44 | ## [1.1.0] - 2024-03-15 45 | 46 | ### Added 47 | 48 | - Added the ability to export gantt view data in JSON format 49 | - Use real dates if they exist over planned dates for tasks and projects 50 | -------------------------------------------------------------------------------- /tools/HEADER: -------------------------------------------------------------------------------- 1 | ------------------------------------------------------------------------- 2 | gantt plugin for GLPI 3 | ------------------------------------------------------------------------- 4 | 5 | LICENSE 6 | 7 | This file is part of gantt. 8 | 9 | gantt is free software; you can redistribute it and/or modify 10 | it under the terms of the GNU General Public License as published by 11 | the Free Software Foundation; either version 2 of the License, or 12 | any later version. 13 | 14 | gantt is distributed in the hope that it will be useful, 15 | but WITHOUT ANY WARRANTY; without even the implied warranty of 16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 17 | GNU General Public License for more details. 18 | 19 | You should have received a copy of the GNU General Public License 20 | along with gantt. If not, see . 21 | ------------------------------------------------------------------------- 22 | @copyright Copyright (C) 2013-2023 by gantt plugin team. 23 | @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 24 | @link https://github.com/pluginsGLPI/gantt 25 | ------------------------------------------------------------------------- 26 | -------------------------------------------------------------------------------- /.github/label-commenter-config.yml: -------------------------------------------------------------------------------- 1 | labels: 2 | - name: "invalid" 3 | labeled: 4 | issue: 5 | body: | 6 | This issue has been closed because you did not provide the requested information. 7 | action: "close" 8 | - name: "support" 9 | labeled: 10 | issue: 11 | body: | 12 | This issue has been closed as we only track bugs here. 13 | 14 | You can get community support on [forums](https://forum.glpi-project.org/) or you can consider [taking a subscription](https://glpi-project.org/subscriptions/) to get professional support. 15 | You can also [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly. 16 | action: close 17 | - name: "feature suggestion" 18 | labeled: 19 | issue: 20 | body: | 21 | This issue has been closed as we only track bugs here. 22 | 23 | You can open a topic to discuss with community about this enhancement on [suggestion website](https://glpi.userecho.com/). 24 | You can also [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly if you are willing to sponsor this feature. 25 | action: close 26 | -------------------------------------------------------------------------------- /public/js/libs.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ------------------------------------------------------------------------- 3 | * gantt plugin for GLPI 4 | * ------------------------------------------------------------------------- 5 | * 6 | * LICENSE 7 | * 8 | * This file is part of gantt. 9 | * 10 | * gantt is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * any later version. 14 | * 15 | * gantt is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with gantt. If not, see . 22 | * ------------------------------------------------------------------------- 23 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 24 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 25 | * @link https://github.com/pluginsGLPI/gantt 26 | * ------------------------------------------------------------------------- 27 | */ 28 | 29 | import gantt from 'dhtmlx-gantt/codebase/dhtmlxgantt.js'; 30 | window.gantt = gantt; 31 | import 'dhtmlx-gantt/codebase/dhtmlxgantt.css'; 32 | -------------------------------------------------------------------------------- /hook.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | function plugin_gantt_install() 32 | { 33 | return true; 34 | } 35 | 36 | /** 37 | * Plugin uninstall process 38 | * 39 | * @return boolean 40 | */ 41 | function plugin_gantt_uninstall() 42 | { 43 | return true; 44 | } 45 | -------------------------------------------------------------------------------- /front/global.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | 32 | use GlpiPlugin\Gantt\ProjectTab; 33 | 34 | Session::checkLoginUser(); 35 | 36 | $projecttab = new ProjectTab(); 37 | 38 | Html::header(Project::getTypeName(Session::getPluralNumber()), $_SERVER['PHP_SELF'], 'tools', 'project'); 39 | $projecttab->showForProject(); 40 | Html::footer(); 41 | -------------------------------------------------------------------------------- /.github/workflows/close_stale_issue.yml: -------------------------------------------------------------------------------- 1 | name: 'Close stale issues' 2 | on: 3 | schedule: 4 | - cron: '0 8 * * *' 5 | 6 | jobs: 7 | stale: 8 | if: github.repository == 'pluginsGLPI/gantt' 9 | permissions: 10 | issues: write # for actions/stale to close stale issues 11 | runs-on: ubuntu-latest 12 | steps: 13 | - uses: actions/stale@v10 14 | with: 15 | stale-issue-message: >- 16 | There has been no activity on this issue for some time and therefore it is considered stale 17 | and will be closed automatically in 10 days. 18 | 19 | 20 | If this issue is related to a bug, please try to reproduce on latest release. If the problem persist, 21 | feel free to add a comment to revive this issue. 22 | 23 | If it is related to a new feature, please open a topic to discuss with community about this enhancement 24 | on [suggestion website](https://glpi.userecho.com/). 25 | 26 | 27 | You may also consider taking a [subscription](https://glpi-project.org/subscriptions/) to get professionnal 28 | support or [contact GLPI editor team](https://portal.glpi-network.com/contact-us) directly. 29 | days-before-issue-stale: 15 30 | days-before-pr-stale: -1 # PR will be marked as stale manually. 31 | days-before-close: 5 32 | exempt-issue-labels: "bug,enhancement,question,security" # Issues with "bug", "enhancement", "question" or "security" labels will not be marked as stale 33 | exempt-all-milestones: true # Do not check issues/PR with defined milestone. 34 | ascending: true # First check older issues/PR. 35 | operations-per-run: 750 # Max API calls per run. 36 | -------------------------------------------------------------------------------- /src/Link.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | namespace GlpiPlugin\Gantt; 32 | 33 | /** 34 | * Class used to hold project task link details 35 | */ 36 | class Link 37 | { 38 | public $id = 0; 39 | 40 | public $source = 0; 41 | 42 | public $source_uuid = ''; 43 | 44 | public $target = 0; 45 | 46 | public $target_uuid = ''; 47 | 48 | public $type = 0; 49 | 50 | // possible values: "finish_to_start":"0", "start_to_start":"1", "finish_to_finish":"2", "start_to_finish":"3" 51 | public $lag = 0; 52 | 53 | public $lead = 0; 54 | 55 | /** 56 | * Enables Json serialization of Link objects 57 | */ 58 | public function jsonSerialize() 59 | { 60 | return (array) $this; 61 | } 62 | } 63 | -------------------------------------------------------------------------------- /rector.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | require_once __DIR__ . '/../../src/Plugin.php'; 32 | 33 | use Rector\Caching\ValueObject\Storage\FileCacheStorage; 34 | use Rector\Config\RectorConfig; 35 | use Rector\ValueObject\PhpVersion; 36 | 37 | return RectorConfig::configure() 38 | ->withPaths([ 39 | __DIR__ . '/ajax', 40 | __DIR__ . '/front', 41 | __DIR__ . '/src', 42 | ]) 43 | ->withPhpVersion(PhpVersion::PHP_82) 44 | ->withCache( 45 | cacheDirectory: __DIR__ . '/var/rector', 46 | cacheClass: FileCacheStorage::class, 47 | ) 48 | ->withRootFiles() 49 | ->withParallel(timeoutSeconds: 300) 50 | ->withImportNames(removeUnusedImports: true) 51 | ->withPreparedSets( 52 | deadCode: true, 53 | codeQuality: true, 54 | codingStyle: true, 55 | ) 56 | ->withPhpSets(php82: true) // apply PHP sets up to PHP 8.2 57 | ; 58 | -------------------------------------------------------------------------------- /front/projectsexport.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @copyright 2015-2024 Teclib' and contributors. 27 | * @copyright 2003-2014 by the INDEPNET Development Team. 28 | * @licence https://www.gnu.org/licenses/gpl-3.0.html 29 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 30 | * @link https://github.com/pluginsGLPI/gantt 31 | * ------------------------------------------------------------------------- 32 | */ 33 | 34 | use GlpiPlugin\Gantt\ProjectsExport; 35 | 36 | use function Safe\preg_replace; 37 | 38 | $project_id = $_GET['project_id'] ?? -1; 39 | 40 | // Check right 41 | Session::checkRightsOr(Project::$rightname, [Project::READALL, Project::READMY]); 42 | 43 | // Get the project name 44 | $project = new Project(); 45 | $project->getFromDB($project_id); 46 | $project_name = $project->fields['name'] ?? 'projects'; 47 | $project_name = preg_replace('/[^a-zA-Z0-9_\-]/', '', $project_name); // Remove special characters 48 | 49 | header('Content-Type: application/json'); 50 | header('Content-Disposition: attachment; filename="gantt-data-' . $project_name . '.json"'); 51 | 52 | echo (new ProjectsExport($project_id))->json(); 53 | -------------------------------------------------------------------------------- /src/LinkDAO.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | namespace GlpiPlugin\Gantt; 32 | 33 | use ProjectTaskLink; 34 | 35 | /** 36 | * DAO class for handling project task links 37 | */ 38 | class LinkDAO 39 | { 40 | public function getLinksForItemIDs($ids) 41 | { 42 | $links = []; 43 | $tasklink = new ProjectTaskLink(); 44 | 45 | $ids = implode(',', $ids); 46 | $iterator = $tasklink->getFromDBForItemIDs($ids); 47 | foreach ($iterator as $data) { 48 | $links[] = $this->populateFromDB($data); 49 | } 50 | 51 | return $links; 52 | } 53 | 54 | /** 55 | * Populates a Link object with data 56 | * 57 | * @param $data Database record 58 | * 59 | * @return Link object 60 | */ 61 | public function populateFromDB($data) 62 | { 63 | $link = new Link(); 64 | $link->id = $data['id']; 65 | $link->source = $data['source_uuid']; 66 | $link->target = $data['target_uuid']; 67 | $link->type = $data['type']; 68 | $link->lag = $data['lag']; 69 | $link->lead = $data['lead']; 70 | 71 | return $link; 72 | } 73 | } 74 | -------------------------------------------------------------------------------- /src/ProjectTab.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | namespace GlpiPlugin\Gantt; 32 | 33 | use CommonGLPI; 34 | use Glpi\Application\View\TemplateRenderer; 35 | use Plugin; 36 | use Project; 37 | 38 | class ProjectTab extends CommonGLPI 39 | { 40 | public static function getTypeName($nb = 0) 41 | { 42 | return __s('Gantt', 'gantt'); 43 | } 44 | 45 | public function getTabNameForItem(CommonGLPI $item, $withtemplate = 0) 46 | { 47 | if ($item instanceof Project) { 48 | return self::createTabEntry(self::getTypeName()); 49 | } 50 | 51 | return ''; 52 | } 53 | 54 | public static function displayTabContentForItem(CommonGLPI $item, $tabnum = 1, $withtemplate = 0) 55 | { 56 | if ($item instanceof Project) { 57 | self::showForProject($item->getId()); 58 | } 59 | 60 | return true; 61 | } 62 | 63 | public static function showForProject(int $project_id = -1) 64 | { 65 | TemplateRenderer::getInstance()->display('@gantt/view.html.twig', [ 66 | 'id' => $project_id, 67 | ]); 68 | } 69 | 70 | public static function addGlobalGanttToMenu(array $menu): array 71 | { 72 | if (isset($menu['tools']['content']['project']['links'])) { 73 | $label = ' 74 | 75 | 76 | ' . __s('Global GANTT', 'gantt') . ' 77 | 78 | '; 79 | $menu['tools']['content']['project']['links'][$label] = Plugin::getPhpDir('gantt', false) . '/front/global.php'; 80 | } 81 | 82 | return $menu; 83 | } 84 | } 85 | -------------------------------------------------------------------------------- /setup.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | use Glpi\Plugin\Hooks; 31 | use GlpiPlugin\Gantt\ProjectTab; 32 | 33 | use function Safe\define; 34 | 35 | define('PLUGIN_GANTT_VERSION', '1.3.0'); 36 | 37 | // Minimal GLPI version, inclusive 38 | define('PLUGIN_GANTT_MIN_GLPI_VERSION', '11.0.0'); 39 | // Maximum GLPI version, exclusive 40 | define('PLUGIN_GANTT_MAX_GLPI_VERSION', '11.0.99'); 41 | 42 | 43 | /** 44 | * Init hooks of the plugin. 45 | * REQUIRED 46 | * 47 | * @return void 48 | */ 49 | function plugin_init_gantt() 50 | { 51 | /** @var array $PLUGIN_HOOKS */ 52 | global $PLUGIN_HOOKS; 53 | 54 | $PLUGIN_HOOKS['csrf_compliant']['gantt'] = true; 55 | 56 | if (!Plugin::isPluginActive('gantt')) { 57 | return; 58 | } 59 | 60 | Plugin::registerClass(ProjectTab::class, [ 61 | 'addtabon' => 'Project', 62 | ]); 63 | 64 | $PLUGIN_HOOKS[Hooks::ADD_JAVASCRIPT]['gantt'][] = 'lib/libs.js'; 65 | $PLUGIN_HOOKS[Hooks::ADD_JAVASCRIPT]['gantt'][] = 'js/gantt-helper.js'; 66 | 67 | $PLUGIN_HOOKS[Hooks::ADD_CSS]['gantt'][] = 'css/gantt.scss'; 68 | 69 | $PLUGIN_HOOKS[Hooks::REDEFINE_MENUS]['gantt'] = ProjectTab::addGlobalGanttToMenu(...); 70 | } 71 | 72 | 73 | /** 74 | * Get the name and the version of the plugin 75 | * REQUIRED 76 | * 77 | * @return array 78 | */ 79 | function plugin_version_gantt() 80 | { 81 | return [ 82 | 'name' => 'gantt', 83 | 'version' => PLUGIN_GANTT_VERSION, 84 | 'author' => 'Teclib\'', 85 | 'license' => 'GPL-2.0-or-later', 86 | 'homepage' => '', 87 | 'requirements' => [ 88 | 'glpi' => [ 89 | 'min' => PLUGIN_GANTT_MIN_GLPI_VERSION, 90 | 'max' => PLUGIN_GANTT_MAX_GLPI_VERSION, 91 | ], 92 | ], 93 | ]; 94 | } 95 | -------------------------------------------------------------------------------- /.webpack.config.js: -------------------------------------------------------------------------------- 1 | /** 2 | * ------------------------------------------------------------------------- 3 | * gantt plugin for GLPI 4 | * ------------------------------------------------------------------------- 5 | * 6 | * LICENSE 7 | * 8 | * This file is part of gantt. 9 | * 10 | * gantt is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * any later version. 14 | * 15 | * gantt is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with gantt. If not, see . 22 | * ------------------------------------------------------------------------- 23 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 24 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 25 | * @link https://github.com/pluginsGLPI/gantt 26 | * ------------------------------------------------------------------------- 27 | */ 28 | 29 | const webpack = require('webpack'); 30 | const path = require('path'); 31 | 32 | /* 33 | * External libs build configuration. 34 | */ 35 | module.exports = [ 36 | { 37 | mode: 'production', 38 | entry: { 39 | 'libs': path.resolve(__dirname, 'public/js/libs.js'), 40 | }, 41 | output: { 42 | filename: 'libs.js', 43 | path: path.resolve(__dirname, 'public/lib'), 44 | }, 45 | module: { 46 | rules: [ 47 | // { 48 | // // Load scripts with no compilation for packages that are directly providing "dist" files. 49 | // // This prevents useless compilation pass and can also 50 | // // prevents incompatibility issues with the webpack require feature. 51 | // test: /\.js$/, 52 | // include: [ 53 | // path.resolve(__dirname, 'node_modules/dhtmlx-gantt'), 54 | // ], 55 | // use: ['script-loader'], 56 | // }, 57 | { 58 | test: /\.css$/, 59 | use: ['style-loader', 'css-loader'], 60 | }, 61 | { 62 | test: /\.ttf$/, 63 | use: ['file-loader'] 64 | }, 65 | ], 66 | }, 67 | plugins: [ 68 | new webpack.optimize.LimitChunkCountPlugin({ 69 | maxChunks: 1, 70 | }), 71 | ], 72 | resolve: { 73 | // Use only main file in requirement resolution as we do not yet handle modules correctly 74 | mainFields: [ 75 | 'main', 76 | ], 77 | }, 78 | devtool: 'source-map', // Add sourcemap to files 79 | // Limit verbosity to only usefull informations 80 | stats: { 81 | all: false, 82 | errors: true, 83 | errorDetails: true, 84 | warnings: true, 85 | entrypoints: true, 86 | timings: true, 87 | } 88 | } 89 | ]; 90 | -------------------------------------------------------------------------------- /src/Item.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | namespace GlpiPlugin\Gantt; 32 | 33 | use JsonSerializable; 34 | use ReturnTypeWillChange; 35 | 36 | /** 37 | * Generic class for holding Gantt item details. 38 | * Used to exchange Json data between client-server functions with Ajax calls. 39 | */ 40 | class Item implements JsonSerializable 41 | { 42 | public $id = 0; 43 | 44 | public $linktask_id; 45 | 46 | public $start_date; 47 | 48 | // format 2019-09-07 04:06:15 49 | public $end_date; 50 | 51 | public $text; 52 | 53 | public $content; 54 | 55 | public $comment; 56 | 57 | public $type; 58 | 59 | // project / task / milestone 60 | public $progress = 0.0; 61 | 62 | public $parent = ''; 63 | 64 | public $open = 1; // 1 / 0 65 | 66 | public function __construct() 67 | { 68 | $this->start_date = date('Y-m-d H:i:s'); 69 | } 70 | 71 | /** 72 | * Populates Item instances with Json data 73 | * 74 | * @param $json Json data 75 | */ 76 | public function populateFrom($json) 77 | { 78 | if (isset($json['id'])) { 79 | $this->id = $json['id']; 80 | } 81 | 82 | if (isset($json['parent'])) { 83 | $this->parent = $json['parent']; 84 | } 85 | 86 | if (isset($json['start_date'])) { 87 | $this->start_date = $json['start_date']; 88 | } 89 | 90 | if (isset($json['end_date'])) { 91 | $this->end_date = $json['end_date']; 92 | } 93 | 94 | if (isset($json['progress'])) { 95 | $this->progress = $json['progress']; 96 | } 97 | 98 | if (isset($json['name'])) { 99 | $this->text = $json['name']; 100 | } 101 | 102 | if (isset($json['type'])) { 103 | $this->type = $json['type']; 104 | } 105 | } 106 | 107 | /** 108 | * Enables Json serialization of Item objects 109 | */ 110 | #[ReturnTypeWillChange] 111 | public function jsonSerialize() 112 | { 113 | return (array) $this; 114 | } 115 | } 116 | -------------------------------------------------------------------------------- /src/ProjectDAO.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 27 | * @link https://github.com/pluginsGLPI/gantt 28 | * ------------------------------------------------------------------------- 29 | */ 30 | 31 | namespace GlpiPlugin\Gantt; 32 | 33 | use Exception; 34 | use Project; 35 | use Session; 36 | 37 | /** 38 | * DAO class for handling project records 39 | */ 40 | class ProjectDAO 41 | { 42 | public function addProject($project) 43 | { 44 | if (!Project::canCreate()) { 45 | throw new Exception(__s('Not enough rights', 'gantt')); 46 | } 47 | 48 | // Default values for a "main" project 49 | $entities_id = Session::getActiveEntity(); 50 | $is_recursive = false; 51 | 52 | // Fallback values for a sub-project 53 | if ($project->parent && $parent = Project::getById($project->parent)) { 54 | $entities_id = $parent->fields['entities_id']; 55 | $is_recursive = $parent->fields['is_recursive']; 56 | } 57 | 58 | $input = [ 59 | 'name' => $project->text, 60 | 'comment' => $project->comment, 61 | 'projects_id' => $project->parent, 62 | 'date' => $_SESSION['glpi_currenttime'], 63 | 'plan_start_date' => $project->start_date, 64 | 'plan_end_date' => $project->end_date, 65 | 'priority' => 3, //medium 66 | 'projectstates_id' => 1, 67 | 'users_id' => Session::getLoginUserID(), 68 | 'show_on_global_gantt' => 1, 69 | 'entities_id' => $entities_id, 70 | 'is_recursive' => $is_recursive, 71 | ]; 72 | $proj = new Project(); 73 | $proj->add($input); 74 | 75 | return $proj; 76 | } 77 | 78 | public function updateProject($project) 79 | { 80 | $p = new Project(); 81 | $p->getFromDB($project->id); 82 | 83 | if (!$p::canUpdate() || !$p->canUpdateItem()) { 84 | throw new Exception(__s('Not enough rights', 'gantt')); 85 | } 86 | 87 | $p->update([ 88 | 'id' => $project->id, 89 | 'percent_done' => ($project->progress * 100), 90 | 'name' => $project->text, 91 | ]); 92 | 93 | return true; 94 | } 95 | 96 | public function updateParent($project) 97 | { 98 | $p = new Project(); 99 | $p->getFromDB($project->id); 100 | 101 | if (!$p::canUpdate() || !$p->canUpdateItem()) { 102 | throw new Exception(__s('Not enough rights', 'gantt')); 103 | } 104 | 105 | $input = [ 106 | 'id' => $project->id, 107 | 'projects_id' => $project->parent, 108 | ]; 109 | $p->update($input); 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.yml: -------------------------------------------------------------------------------- 1 | name: Bug Report 2 | description: Create a report to help us improve gantt 3 | body: 4 | - type: markdown 5 | attributes: 6 | value: | 7 | 8 | Dear GLPI plugin user. 9 | 10 | **⚠️ Please never use standard issues to report security problems. See [security policy](https://github.com/pluginsGLPI/gantt/security/policy) for more details. ⚠️** 11 | 12 | BEFORE SUBMITTING YOUR ISSUE, please make sure to read and follow these steps: 13 | 14 | * We do not track feature requests nor enhancements here. Propose them on the [suggest dedicated site](https://suggest.glpi-project.org). 15 | * Keep this tracker in ENGLISH. If you want support in your language, the [community forum](https://forum.glpi-project.org) is the best place. 16 | * Always try to reproduce your issue at least on latest stable release. 17 | 18 | The GLPI team. 19 | - type: markdown 20 | attributes: 21 | value: | 22 | ## Professional Support 23 | 24 | We do not guarantee any processing / resolution time for community issues. 25 | 26 | If you need a quick fix or any guarantee, you should consider to buy a GLPI Network Subscription. 27 | 28 | More information here: https://glpi-project.org/subscriptions/ 29 | - type: checkboxes 30 | id: terms 31 | attributes: 32 | label: Code of Conduct 33 | description: By submitting this issue, you agree to follow hereinabove rules and [Contribution guide](https://github.com/glpi-project/glpi/blob/main/CONTRIBUTING.md) 34 | options: 35 | - label: I agree to follow this project's Code of Conduct 36 | validations: 37 | required: true 38 | - type: checkboxes 39 | attributes: 40 | label: Is there an existing issue for this? 41 | description: Please search to see if an issue already exists for the bug you encountered. 42 | options: 43 | - label: I have searched the existing issues 44 | validations: 45 | required: true 46 | - type: input 47 | id: glpi-version 48 | attributes: 49 | label: GLPI Version 50 | description: What version of our GLPI are you running? 51 | validations: 52 | required: true 53 | - type: input 54 | id: plugin-version 55 | attributes: 56 | label: Plugin version 57 | description: What version of `gantt` are you running? 58 | validations: 59 | required: true 60 | - type: textarea 61 | attributes: 62 | label: Bug description 63 | description: A concise description of the problem you are experiencing and what you expected to happen. 64 | validations: 65 | required: false 66 | - type: textarea 67 | id: logs 68 | attributes: 69 | label: Relevant log output 70 | description: | 71 | Please copy and paste any relevant log output. Find them in `*-error.log` files under `glpi/files/_log/`. 72 | 73 | Tip: You can attach images or log files by clicking this area to highlight it and then dragging files in. 74 | render: shell 75 | - type: input 76 | id: url 77 | attributes: 78 | label: Page URL 79 | description: If applicable, page URL where the bug happens. 80 | validations: 81 | required: false 82 | - type: textarea 83 | attributes: 84 | label: Steps To reproduce 85 | description: Steps to reproduce the behavior. 86 | placeholder: | 87 | 1. With this config... 88 | 2. Go to... 89 | 3. Scroll down to... 90 | 4. See error... 91 | validations: 92 | required: false 93 | - type: textarea 94 | attributes: 95 | label: Your GLPI setup information 96 | description: Please copy and paste information you will find in GLPI in `Setup > General` menu, `System` tab. 97 | validations: 98 | required: false 99 | - type: textarea 100 | attributes: 101 | label: Anything else? 102 | description: Add any other context about the problem here. 103 | validations: 104 | required: false 105 | -------------------------------------------------------------------------------- /gantt.xml: -------------------------------------------------------------------------------- 1 | 2 | Gantt 3 | gantt 4 | stable 5 | https://raw.githubusercontent.com/pluginsGLPI/gantt/main/gantt.png 6 | 7 | 8 | gantt GLPI plugin. 9 | Plugin GLPI gantt 10 | 11 | 12 | Add a gantt tab to GLPI projects items. The feature was removed in GLPI core from 10.0.1 version. 13 | Ajoute un onglet Gantt aux objets projet de GLPI. La fonctionnalité a été retiré du coeur de GLPI depuis la version 10.0.1. 14 | 15 | 16 | https://github.com/pluginsGLPI/gantt 17 | https://github.com/pluginsGLPI/gantt/releases 18 | https://github.com/pluginsGLPI/gantt/issues 19 | https://github.com/pluginsGLPI/gantt/blob/master/README.md 20 | 21 | Teclib' 22 | 23 | 24 | 25 | 1.3.0 26 | ~11.0.0 27 | https://github.com/pluginsGLPI/gantt/releases/download/1.3.0/glpi-gantt-1.3.0.tar.bz2 28 | 29 | 30 | 1.1.2 31 | ^10.0.1 32 | https://github.com/pluginsGLPI/gantt/releases/download/1.1.2/glpi-gantt-1.1.2.tar.bz2 33 | 34 | 35 | 1.1.1 36 | ^10.0.1 37 | https://github.com/pluginsGLPI/gantt/releases/download/1.1.1/glpi-gantt-1.1.1.tar.bz2 38 | 39 | 40 | 1.2.0 41 | ~11.0.0 42 | https://github.com/pluginsGLPI/gantt/releases/download/1.2.0/glpi-gantt-1.2.0.tar.bz2 43 | 44 | 45 | 1.1.0 46 | ^10.0.1 47 | https://github.com/pluginsGLPI/gantt/releases/download/1.1.0/glpi-gantt-1.1.0.tar.bz2 48 | 49 | 50 | 1.0.4 51 | ^10.0.1 52 | https://github.com/pluginsGLPI/gantt/releases/download/1.0.4/glpi-gantt-1.0.4.tar.bz2 53 | 54 | 55 | 1.0.3 56 | ^10.0.1 57 | https://github.com/pluginsGLPI/gantt/releases/download/1.0.3/glpi-gantt-1.0.3.tar.bz2 58 | 59 | 60 | 1.0.2 61 | ^10.0.1 62 | https://github.com/pluginsGLPI/gantt/releases/download/1.0.2/glpi-gantt-1.0.2.tar.bz2 63 | 64 | 65 | 1.0.1 66 | ^10.0.1 67 | https://github.com/pluginsGLPI/gantt/releases/download/1.0.1/glpi-gantt-1.0.1.tar.bz2 68 | 69 | 70 | 1.0.0 71 | ^10.0.1 72 | https://github.com/pluginsGLPI/gantt/releases/download/1.0.0/glpi-gantt-1.0.0.tar.bz2 73 | 74 | 75 | 76 | en_GB 77 | fr_FR 78 | 79 | GPL-2.0-or-later 80 | 81 | 82 | Project 83 | Gantt 84 | 85 | 86 | Projet 87 | Gantt 88 | 89 | 90 | 91 | https://github.com/pluginsGLPI/gantt/raw/main/screenshots/project_tab.png 92 | https://github.com/pluginsGLPI/gantt/raw/main/screenshots/create_task.png 93 | 94 | 95 | -------------------------------------------------------------------------------- /src/ProjectsExport.php: -------------------------------------------------------------------------------- 1 | . 24 | * ------------------------------------------------------------------------- 25 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 26 | * @copyright 2015-2024 Teclib' and contributors. 27 | * @copyright 2003-2014 by the INDEPNET Development Team. 28 | * @licence https://www.gnu.org/licenses/gpl-3.0.html 29 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 30 | * @link https://github.com/pluginsGLPI/gantt 31 | * ------------------------------------------------------------------------- 32 | */ 33 | 34 | namespace GlpiPlugin\Gantt; 35 | 36 | use function Safe\json_encode; 37 | 38 | final readonly class ProjectsExport 39 | { 40 | public function __construct(private int $project_id) {} 41 | 42 | private function loadProjectsData(): array 43 | { 44 | $items = []; 45 | $factory = new DataFactory(); 46 | $factory->getItemsForProject($items, $this->project_id); 47 | 48 | $id_refs = []; 49 | $to_export = []; 50 | foreach ($items as $item) { 51 | switch ($item->type) { 52 | case 'project': 53 | $project = [ 54 | 'id' => $item->id, 55 | 'name' => $item->text, 56 | 'start_date' => $item->start_date, 57 | 'end_date' => $item->end_date, 58 | ]; 59 | 60 | $id_refs[$item->id] = array_merge( 61 | $id_refs[$item->id] ?? [], 62 | $project, 63 | ); 64 | if ($item->parent == 0) { 65 | $to_export[] = &$id_refs[$item->id]; 66 | } else { 67 | $id_refs[$item->parent]['projects'][] = &$id_refs[$item->id]; 68 | } 69 | 70 | break; 71 | case 'task': 72 | $task = [ 73 | 'id' => $item->linktask_id, 74 | 'name' => $item->text, 75 | 'start_date' => $item->start_date, 76 | 'end_date' => $item->end_date, 77 | 'progress' => $item->progress, 78 | ]; 79 | 80 | $id_refs[$item->id] = array_merge( 81 | $id_refs[$item->id] ?? [], 82 | $task, 83 | ); 84 | $id_refs[$item->parent]['tasks'][] = &$id_refs[$item->id]; 85 | break; 86 | case 'milestone': 87 | $milestone = [ 88 | 'id' => $item->linktask_id, 89 | 'name' => $item->text, 90 | 'date' => $item->start_date, 91 | ]; 92 | 93 | $id_refs[$item->id] = array_merge( 94 | $id_refs[$item->id] ?? [], 95 | $milestone, 96 | ); 97 | $id_refs[$item->parent]['milestones'][] = &$id_refs[$item->id]; 98 | break; 99 | } 100 | } 101 | 102 | return $to_export; 103 | } 104 | 105 | public function json(): string 106 | { 107 | return json_encode($this->loadProjectsData()); 108 | } 109 | } 110 | -------------------------------------------------------------------------------- /locales/zh_HK.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | #, fuzzy 7 | msgid "" 8 | msgstr "" 9 | "Project-Id-Version: PACKAGE VERSION\n" 10 | "Report-Msgid-Bugs-To: \n" 11 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 12 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 13 | "Language-Team: Chinese (Hong Kong) (https://app.transifex.com/teclib/teams/28042/zh_HK/)\n" 14 | "MIME-Version: 1.0\n" 15 | "Content-Type: text/plain; charset=UTF-8\n" 16 | "Content-Transfer-Encoding: 8bit\n" 17 | "Language: zh_HK\n" 18 | "Plural-Forms: nplurals=1; plural=0;\n" 19 | 20 | #: js/gantt-helper.js:403 21 | msgid "Cancel" 22 | msgstr "" 23 | 24 | #: js/gantt-helper.js:164 25 | msgid "Comment:" 26 | msgstr "" 27 | 28 | #: js/gantt-helper.js:807 29 | msgid "Could not create project: " 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:643 33 | msgid "Could not create task: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:840 37 | #, javascript-format 38 | msgid "Could not update Project[%s]: " 39 | msgstr "" 40 | 41 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 42 | #, javascript-format 43 | msgid "Could not update Task[%s]: " 44 | msgstr "" 45 | 46 | #: templates/view.html.twig 47 | msgid "Days" 48 | msgstr "" 49 | 50 | #: js/gantt-helper.js:404 51 | msgid "Delete" 52 | msgstr "" 53 | 54 | #: js/gantt-helper.js:161 55 | msgid "Description:" 56 | msgstr "" 57 | 58 | #: js/gantt-helper.js:173 59 | msgid "Duration" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:158 63 | msgid "End date:" 64 | msgstr "" 65 | 66 | #: templates/view.html.twig 67 | msgid "Filter" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Find" 72 | msgstr "" 73 | 74 | #: js/gantt-helper.js:384 75 | msgid "Finish to Finish: " 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:381 79 | msgid "Finish to Start: " 80 | msgstr "" 81 | 82 | #: templates/view.html.twig 83 | msgid "Fullscreen" 84 | msgstr "" 85 | 86 | #: src/ProjectTab.php:45 87 | msgid "Gantt" 88 | msgstr "" 89 | 90 | #: js/gantt-helper.js:536 91 | msgid "Gantt mode: 'Readonly'" 92 | msgstr "" 93 | 94 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 95 | msgid "Global GANTT" 96 | msgstr "" 97 | 98 | #: ajax/gantt.php:140 99 | msgid "Item must be of project type" 100 | msgstr "" 101 | 102 | #: js/gantt-helper.js:399 103 | msgid "Lag" 104 | msgstr "" 105 | 106 | #: ajax/gantt.php:205 107 | msgid "Link already exist!" 108 | msgstr "" 109 | 110 | #: js/gantt-helper.js:598 111 | msgid "Links between projects and tasks cannot be created." 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:595 115 | msgid "Links between projects cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 119 | msgid "Milestone" 120 | msgstr "" 121 | 122 | #: templates/view.html.twig 123 | msgid "Months" 124 | msgstr "" 125 | 126 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 127 | msgid "New project" 128 | msgstr "" 129 | 130 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 131 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 132 | msgid "Not enough rights" 133 | msgstr "" 134 | 135 | #: js/gantt-helper.js:159 136 | msgid "Progress:" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:66 140 | msgid "Project" 141 | msgid_plural "Projects" 142 | msgstr[0] "" 143 | 144 | #: js/gantt-helper.js:171 145 | msgid "Project / Task" 146 | msgstr "" 147 | 148 | #: templates/view.html.twig 149 | msgid "Quarters" 150 | msgstr "" 151 | 152 | #: js/gantt-helper.js:402 153 | msgid "Save" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:172 157 | msgid "Start date" 158 | msgstr "" 159 | 160 | #: js/gantt-helper.js:156 161 | msgid "Start date:" 162 | msgstr "" 163 | 164 | #: js/gantt-helper.js:390 165 | msgid "Start to Finish: " 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:387 169 | msgid "Start to Start: " 170 | msgstr "" 171 | 172 | #: ajax/gantt.php:107 173 | msgid "Target item must be of project type" 174 | msgstr "" 175 | 176 | #: js/gantt-helper.js:607 177 | msgid "Target task can't end before source task ends." 178 | msgstr "" 179 | 180 | #: js/gantt-helper.js:610 181 | msgid "Target task can't end before the source task starts." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:601 185 | msgid "Target task can't start before source task ends." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:604 189 | msgid "Target task can't start before source task starts." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 193 | msgid "Task" 194 | msgid_plural "Tasks" 195 | msgstr[0] "" 196 | 197 | #: js/gantt-helper.js:221 198 | #, javascript-format 199 | msgid "Week #%s" 200 | msgstr "" 201 | 202 | #: templates/view.html.twig 203 | msgid "Weeks" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Years" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Zoom" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "by name" 216 | msgstr "" 217 | -------------------------------------------------------------------------------- /locales/ms_MY.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Malay (Malaysia) (https://app.transifex.com/teclib/teams/28042/ms_MY/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: ms_MY\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Hari" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | 148 | #: js/gantt-helper.js:171 149 | msgid "Project / Task" 150 | msgstr "" 151 | 152 | #: templates/view.html.twig 153 | msgid "Quarters" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:402 157 | msgid "Save" 158 | msgstr "Simpan" 159 | 160 | #: js/gantt-helper.js:172 161 | msgid "Start date" 162 | msgstr "Tarikh mula" 163 | 164 | #: js/gantt-helper.js:156 165 | msgid "Start date:" 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:390 169 | msgid "Start to Finish: " 170 | msgstr "" 171 | 172 | #: js/gantt-helper.js:387 173 | msgid "Start to Start: " 174 | msgstr "" 175 | 176 | #: ajax/gantt.php:107 177 | msgid "Target item must be of project type" 178 | msgstr "" 179 | 180 | #: js/gantt-helper.js:607 181 | msgid "Target task can't end before source task ends." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:610 185 | msgid "Target task can't end before the source task starts." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:601 189 | msgid "Target task can't start before source task ends." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:604 193 | msgid "Target task can't start before source task starts." 194 | msgstr "" 195 | 196 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 197 | msgid "Task" 198 | msgid_plural "Tasks" 199 | msgstr[0] "" 200 | 201 | #: js/gantt-helper.js:221 202 | #, javascript-format 203 | msgid "Week #%s" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Weeks" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Years" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Zoom" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "by name" 220 | msgstr "" 221 | -------------------------------------------------------------------------------- /locales/zh_TW.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Chinese (Taiwan) (https://app.transifex.com/teclib/teams/28042/zh_TW/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: zh_TW\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "取消" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "日" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "刪除" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "期間" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "里程碑" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "新專案" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "專案" 147 | 148 | #: js/gantt-helper.js:171 149 | msgid "Project / Task" 150 | msgstr "" 151 | 152 | #: templates/view.html.twig 153 | msgid "Quarters" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:402 157 | msgid "Save" 158 | msgstr "存檔" 159 | 160 | #: js/gantt-helper.js:172 161 | msgid "Start date" 162 | msgstr "開始日期" 163 | 164 | #: js/gantt-helper.js:156 165 | msgid "Start date:" 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:390 169 | msgid "Start to Finish: " 170 | msgstr "" 171 | 172 | #: js/gantt-helper.js:387 173 | msgid "Start to Start: " 174 | msgstr "" 175 | 176 | #: ajax/gantt.php:107 177 | msgid "Target item must be of project type" 178 | msgstr "" 179 | 180 | #: js/gantt-helper.js:607 181 | msgid "Target task can't end before source task ends." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:610 185 | msgid "Target task can't end before the source task starts." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:601 189 | msgid "Target task can't start before source task ends." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:604 193 | msgid "Target task can't start before source task starts." 194 | msgstr "" 195 | 196 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 197 | msgid "Task" 198 | msgid_plural "Tasks" 199 | msgstr[0] "作業" 200 | 201 | #: js/gantt-helper.js:221 202 | #, javascript-format 203 | msgid "Week #%s" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Weeks" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Years" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Zoom" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "by name" 220 | msgstr "" 221 | -------------------------------------------------------------------------------- /locales/th_TH.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Thai (Thailand) (https://app.transifex.com/teclib/teams/28042/th_TH/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: th_TH\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "ยกเลิก" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "วัน" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "ลบ" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "ระยะเวลา" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "โครงการ" 147 | 148 | #: js/gantt-helper.js:171 149 | msgid "Project / Task" 150 | msgstr "" 151 | 152 | #: templates/view.html.twig 153 | msgid "Quarters" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:402 157 | msgid "Save" 158 | msgstr " บันทึก " 159 | 160 | #: js/gantt-helper.js:172 161 | msgid "Start date" 162 | msgstr "วันเริ่มต้น" 163 | 164 | #: js/gantt-helper.js:156 165 | msgid "Start date:" 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:390 169 | msgid "Start to Finish: " 170 | msgstr "" 171 | 172 | #: js/gantt-helper.js:387 173 | msgid "Start to Start: " 174 | msgstr "" 175 | 176 | #: ajax/gantt.php:107 177 | msgid "Target item must be of project type" 178 | msgstr "" 179 | 180 | #: js/gantt-helper.js:607 181 | msgid "Target task can't end before source task ends." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:610 185 | msgid "Target task can't end before the source task starts." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:601 189 | msgid "Target task can't start before source task ends." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:604 193 | msgid "Target task can't start before source task starts." 194 | msgstr "" 195 | 196 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 197 | msgid "Task" 198 | msgid_plural "Tasks" 199 | msgstr[0] "งาน" 200 | 201 | #: js/gantt-helper.js:221 202 | #, javascript-format 203 | msgid "Week #%s" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Weeks" 208 | msgstr "สัปดาห์" 209 | 210 | #: templates/view.html.twig 211 | msgid "Years" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Zoom" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "by name" 220 | msgstr "" 221 | -------------------------------------------------------------------------------- /locales/fa_IR.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Persian (Iran) (https://app.transifex.com/teclib/teams/28042/fa_IR/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: fa_IR\n" 22 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "لغو" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "روز" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "برای حذف" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "مدت" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "ذخیره" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "تاریخ شروع" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/kn.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Kannada (https://app.transifex.com/teclib/teams/28042/kn/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: kn\n" 22 | "Plural-Forms: nplurals=2; plural=(n > 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "ರದ್ದುಮಾಡಿ" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "ದಿನಗಳು" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "ಅಳಿಸಿ" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "ಮೈಲಿಗಲ್ಲು" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "ಉಳಿಸಿ" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "ಪ್ರಾರಂಭ ದಿನಾಂಕ" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/vi_VN.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Vietnamese (Viet Nam) (https://app.transifex.com/teclib/teams/28042/vi_VN/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: vi_VN\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Hủy" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Các ngày" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Xóa" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Thời hạn" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Mốc" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Dự án mới" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Các dự án" 147 | 148 | #: js/gantt-helper.js:171 149 | msgid "Project / Task" 150 | msgstr "" 151 | 152 | #: templates/view.html.twig 153 | msgid "Quarters" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:402 157 | msgid "Save" 158 | msgstr "Lưu" 159 | 160 | #: js/gantt-helper.js:172 161 | msgid "Start date" 162 | msgstr "Ngày bắt đầu" 163 | 164 | #: js/gantt-helper.js:156 165 | msgid "Start date:" 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:390 169 | msgid "Start to Finish: " 170 | msgstr "" 171 | 172 | #: js/gantt-helper.js:387 173 | msgid "Start to Start: " 174 | msgstr "" 175 | 176 | #: ajax/gantt.php:107 177 | msgid "Target item must be of project type" 178 | msgstr "" 179 | 180 | #: js/gantt-helper.js:607 181 | msgid "Target task can't end before source task ends." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:610 185 | msgid "Target task can't end before the source task starts." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:601 189 | msgid "Target task can't start before source task ends." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:604 193 | msgid "Target task can't start before source task starts." 194 | msgstr "" 195 | 196 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 197 | msgid "Task" 198 | msgid_plural "Tasks" 199 | msgstr[0] "Các nhiệm vụ" 200 | 201 | #: js/gantt-helper.js:221 202 | #, javascript-format 203 | msgid "Week #%s" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Weeks" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Years" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Zoom" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "by name" 220 | msgstr "" 221 | -------------------------------------------------------------------------------- /locales/nn_NO.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Norwegian Nynorsk (Norway) (https://app.transifex.com/teclib/teams/28042/nn_NO/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: nn_NO\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Avbryt" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dag" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Slett" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Vart i" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Lagre" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/is_IS.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Icelandic (Iceland) (https://app.transifex.com/teclib/teams/28042/is_IS/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: is_IS\n" 22 | "Plural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dagar" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Vista" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Upphafsdagur" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/da_DK.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Danish (Denmark) (https://app.transifex.com/teclib/teams/28042/da_DK/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: da_DK\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Annuller" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dag" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Slet" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Varighed" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Milepæl" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nyt projekt" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Gem" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Startdato" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/eo.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Esperanto (https://app.transifex.com/teclib/teams/28042/eo/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: eo\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Отмена" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Удалить" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Продолжительность" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Этап" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Новый проект" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Сохранить" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Начиная с даты" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/el_GR.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Greek (Greece) (https://app.transifex.com/teclib/teams/28042/el_GR/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: el_GR\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Ακύρωση" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Ημέρα" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Διαγραφή" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Διάρκεια" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Αποθήκευσε" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Ημερομηνία έναρξης" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /public/css/gantt.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * ------------------------------------------------------------------------- 3 | * gantt plugin for GLPI 4 | * ------------------------------------------------------------------------- 5 | * 6 | * LICENSE 7 | * 8 | * This file is part of gantt. 9 | * 10 | * gantt is free software; you can redistribute it and/or modify 11 | * it under the terms of the GNU General Public License as published by 12 | * the Free Software Foundation; either version 2 of the License, or 13 | * any later version. 14 | * 15 | * gantt is distributed in the hope that it will be useful, 16 | * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 | * GNU General Public License for more details. 19 | * 20 | * You should have received a copy of the GNU General Public License 21 | * along with gantt. If not, see . 22 | * ------------------------------------------------------------------------- 23 | * @copyright Copyright (C) 2013-2023 by gantt plugin team. 24 | * @license GPLv2 https://www.gnu.org/licenses/gpl-2.0.html 25 | * @link https://github.com/pluginsGLPI/gantt 26 | * ------------------------------------------------------------------------- 27 | */ 28 | 29 | @keyframes spin { 30 | 100% { 31 | transform: rotate(360deg); 32 | } 33 | } 34 | 35 | .gantt-block { 36 | &__features { 37 | height: 55px; 38 | border-bottom-color: rgb(62, 67, 70); 39 | border-left-color: rgb(62, 67, 70); 40 | border-right-color: rgb(62, 67, 70); 41 | opacity: 0.85; 42 | z-index: 1000; 43 | 44 | fieldset { 45 | border: solid 1px #655; 46 | border-radius: 5px; 47 | 48 | #search { 49 | width: 150px; 50 | height: 22px; 51 | font-size: 14px; 52 | } 53 | } 54 | } 55 | 56 | &__controls { 57 | font-size: 14px !important; 58 | list-style-type: none; 59 | margin: 0; 60 | overflow: visible; 61 | padding: 0; 62 | text-align: left; 63 | user-select: none; 64 | 65 | .gantt-menu-item { 66 | display: inline-block; 67 | box-sizing: border-box; 68 | position: relative; 69 | overflow: visible; 70 | padding: 0 5px; 71 | 72 | img { 73 | vertical-align: middle; 74 | } 75 | } 76 | 77 | .gantt-menu-item-right { 78 | float: right; 79 | } 80 | 81 | .fas.fa-expand, 82 | .fa-solid.fa-expand { 83 | margin-right: 5px; 84 | } 85 | } 86 | 87 | .highlight { 88 | background-color: #8ec547 !important; 89 | } 90 | 91 | .gantt_task_progress { 92 | text-align: left; 93 | padding-left: 5px; 94 | box-sizing: border-box; 95 | color: rgb(255, 255, 255, 92.5%); 96 | font-weight: bold; 97 | } 98 | 99 | .no_progress_drag .gantt_task_progress_drag { 100 | display: none !important; 101 | } 102 | 103 | .no_link_drag .gantt_link_control { 104 | display: none; 105 | } 106 | 107 | .gantt_task_content { 108 | padding-left: 15px; 109 | } 110 | 111 | .gantt_side_content.gantt_right { 112 | padding-left: 22px; 113 | } 114 | 115 | #gantt-loader { 116 | border: 12px solid #f3f3f3; 117 | border-radius: 50%; 118 | border-top: 12px solid #444; 119 | width: 70px; 120 | height: 70px; 121 | animation: spin 1s linear infinite; 122 | display: block; 123 | visibility: visible; 124 | } 125 | 126 | .spin-center { 127 | position: absolute; 128 | top: 0; 129 | bottom: 0; 130 | left: 0; 131 | right: 0; 132 | margin: auto; 133 | z-index: 10003; 134 | } 135 | 136 | .gantt_milestone .gantt_task_content { 137 | height: 19px; 138 | width: 19px; 139 | translate: -50% 20%; 140 | color: transparent; 141 | } 142 | } 143 | 144 | .gantt_modal_box { 145 | .lag-input { 146 | font-size: 13px !important; 147 | font-weight: normal; 148 | width: 50px; 149 | } 150 | } 151 | 152 | .gantt_cal_light input[type="radio"] { 153 | margin: -3px 3px 0 7px; 154 | } 155 | 156 | .gantt_tooltip { 157 | box-sizing: border-box; 158 | overflow-wrap: break-word; 159 | 160 | .capitalize { 161 | text-transform: capitalize !important; 162 | } 163 | } 164 | 165 | #page { 166 | #gantt-loader-overlay { 167 | background-color: black; 168 | height: 100%; 169 | left: 0; 170 | position: absolute; 171 | top: 0; 172 | width: 100%; 173 | z-index: 10002; 174 | opacity: 0.15; 175 | } 176 | } 177 | 178 | .gantt_today, .gantt_marker.today { 179 | background: inherit; 180 | color: var(--dhx-gantt-base-colors-white); 181 | position: absolute; 182 | font-size: var(--dhx-gantt-caption-font-size); 183 | line-height: var(--dhx-gantt-caption-line-height); 184 | font-weight: var(--dhx-gantt-caption-line-weight); 185 | } 186 | -------------------------------------------------------------------------------- /locales/eu_ES.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Basque (Spain) (https://app.transifex.com/teclib/teams/28042/eu_ES/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: eu_ES\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Ezeztatu" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Egun" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Ezabatu" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Iraupena" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Mugarria" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "Hilabete" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Proiektu berria" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Proiektua" 147 | msgstr[1] "Proiektuak" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Gorde" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Hasiera data" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Ataza" 201 | msgstr[1] "Atazak" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/nb_NO.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Norwegian Bokmål (Norway) (https://app.transifex.com/teclib/teams/28042/nb_NO/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: nb_NO\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Avbryt" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dager" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Slett" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Varighet" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Milepæl" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nytt prosjekt" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Prosjekt" 147 | msgstr[1] "Prosjekter" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Lagre" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Startdato" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Oppgave" 201 | msgstr[1] "Oppgaver" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/fi_FI.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Finnish (Finland) (https://app.transifex.com/teclib/teams/28042/fi_FI/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: fi_FI\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Peru" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Viikonpäivät" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Poista" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Kesto" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Välitavoite" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Uusi projekti" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Projekti" 147 | msgstr[1] "Projektit" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Tallenna" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Aloituspäivä" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Tehtävä" 201 | msgstr[1] "Tehtävät" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/id_ID.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Indonesian (Indonesia) (https://app.transifex.com/teclib/teams/28042/id_ID/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: id_ID\n" 22 | "Plural-Forms: nplurals=1; plural=0;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Batal" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Hari-hari" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Hapus" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Durasi" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "Item harus berupa tipe project" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "Pranala sudah ada!" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Proyek baru" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | 148 | #: js/gantt-helper.js:171 149 | msgid "Project / Task" 150 | msgstr "" 151 | 152 | #: templates/view.html.twig 153 | msgid "Quarters" 154 | msgstr "" 155 | 156 | #: js/gantt-helper.js:402 157 | msgid "Save" 158 | msgstr "Simpan" 159 | 160 | #: js/gantt-helper.js:172 161 | msgid "Start date" 162 | msgstr "Tanggal mulai" 163 | 164 | #: js/gantt-helper.js:156 165 | msgid "Start date:" 166 | msgstr "" 167 | 168 | #: js/gantt-helper.js:390 169 | msgid "Start to Finish: " 170 | msgstr "" 171 | 172 | #: js/gantt-helper.js:387 173 | msgid "Start to Start: " 174 | msgstr "" 175 | 176 | #: ajax/gantt.php:107 177 | msgid "Target item must be of project type" 178 | msgstr "Target tujuan harus berupa tipe project" 179 | 180 | #: js/gantt-helper.js:607 181 | msgid "Target task can't end before source task ends." 182 | msgstr "" 183 | 184 | #: js/gantt-helper.js:610 185 | msgid "Target task can't end before the source task starts." 186 | msgstr "" 187 | 188 | #: js/gantt-helper.js:601 189 | msgid "Target task can't start before source task ends." 190 | msgstr "" 191 | 192 | #: js/gantt-helper.js:604 193 | msgid "Target task can't start before source task starts." 194 | msgstr "" 195 | 196 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 197 | msgid "Task" 198 | msgid_plural "Tasks" 199 | msgstr[0] "" 200 | 201 | #: js/gantt-helper.js:221 202 | #, javascript-format 203 | msgid "Week #%s" 204 | msgstr "" 205 | 206 | #: templates/view.html.twig 207 | msgid "Weeks" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Years" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Zoom" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "by name" 220 | msgstr "" 221 | -------------------------------------------------------------------------------- /locales/nl_BE.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Dutch (Belgium) (https://app.transifex.com/teclib/teams/28042/nl_BE/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: nl_BE\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Annuleren" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dagen" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Verwijderen" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duur" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Mijlpaal" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nieuw project" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Niet genoeg rechten" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Project" 147 | msgstr[1] "Projecten" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Bewaren" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Begindatum" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Taak" 201 | msgstr[1] "Taken" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/nl_NL.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Dutch (Netherlands) (https://app.transifex.com/teclib/teams/28042/nl_NL/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: nl_NL\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Annuleren" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dagen" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Verwijderen" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duur" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "Koppeling bestaat al!" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Mijlpaal" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nieuw project" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Niet genoeg rechten" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Bewaren" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Begindatum" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "" 201 | msgstr[1] "" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/hi_IN.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Hindi (India) (https://app.transifex.com/teclib/teams/28042/hi_IN/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: hi_IN\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "रद्द करें" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "दिन" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "विलोपन" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "अवधि" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "मील का पत्थर" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "नई परियोजना" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "पर्याप्त अधिकार नहीं" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "परियोजनाओं" 147 | msgstr[1] "परियोजनाओं" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "सहेजें" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "आरंभ करने की तिथि" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "कार्य" 201 | msgstr[1] "कार्य" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/ca_ES.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Catalan (Spain) (https://app.transifex.com/teclib/teams/28042/ca_ES/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: ca_ES\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Cancel·la" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dies" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Suprimeix" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duració" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "Pantalla completa" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Fita" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nou projecte" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "No tens prous permisos" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Projecte" 147 | msgstr[1] "Projectes" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Desa" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Data inicial" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Tasca" 201 | msgstr[1] "Tasques" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/gl_ES.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Galician (Spain) (https://app.transifex.com/teclib/teams/28042/gl_ES/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: gl_ES\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Cancelar" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Días" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Borrar" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duración" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "Pantalla completa" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Fito" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Novo proxecto" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Non tes dereitos suficientes" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Proxecto" 147 | msgstr[1] "Proxectos" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Gardar" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Data inicial" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Tarefa" 201 | msgstr[1] "Tarefas" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/en_US.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: English (United States) (https://app.transifex.com/teclib/teams/28042/en_US/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: en_US\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Cancel" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Days" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Delete" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duration" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "Fullscreen" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "Link already exist!" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Milestone" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "Months" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "New Project" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Not enough rights" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Project" 147 | msgstr[1] "Projects" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Save" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Start Date" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Task" 201 | msgstr[1] "Tasks" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "" 223 | -------------------------------------------------------------------------------- /locales/es_CL.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Spanish (Chile) (https://app.transifex.com/teclib/teams/28042/es_CL/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: es_CL\n" 22 | "Plural-Forms: nplurals=3; plural=n == 1 ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Cancelar" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Días" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Eliminar" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Duración" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Hito" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nuevo proyecto" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | msgstr[2] "" 149 | 150 | #: js/gantt-helper.js:171 151 | msgid "Project / Task" 152 | msgstr "" 153 | 154 | #: templates/view.html.twig 155 | msgid "Quarters" 156 | msgstr "" 157 | 158 | #: js/gantt-helper.js:402 159 | msgid "Save" 160 | msgstr "Guardar" 161 | 162 | #: js/gantt-helper.js:172 163 | msgid "Start date" 164 | msgstr "Fecha de Inicio" 165 | 166 | #: js/gantt-helper.js:156 167 | msgid "Start date:" 168 | msgstr "" 169 | 170 | #: js/gantt-helper.js:390 171 | msgid "Start to Finish: " 172 | msgstr "" 173 | 174 | #: js/gantt-helper.js:387 175 | msgid "Start to Start: " 176 | msgstr "" 177 | 178 | #: ajax/gantt.php:107 179 | msgid "Target item must be of project type" 180 | msgstr "" 181 | 182 | #: js/gantt-helper.js:607 183 | msgid "Target task can't end before source task ends." 184 | msgstr "" 185 | 186 | #: js/gantt-helper.js:610 187 | msgid "Target task can't end before the source task starts." 188 | msgstr "" 189 | 190 | #: js/gantt-helper.js:601 191 | msgid "Target task can't start before source task ends." 192 | msgstr "" 193 | 194 | #: js/gantt-helper.js:604 195 | msgid "Target task can't start before source task starts." 196 | msgstr "" 197 | 198 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 199 | msgid "Task" 200 | msgid_plural "Tasks" 201 | msgstr[0] "" 202 | msgstr[1] "" 203 | msgstr[2] "" 204 | 205 | #: js/gantt-helper.js:221 206 | #, javascript-format 207 | msgid "Week #%s" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Weeks" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Years" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "Zoom" 220 | msgstr "" 221 | 222 | #: templates/view.html.twig 223 | msgid "by name" 224 | msgstr "" 225 | -------------------------------------------------------------------------------- /locales/sr_RS.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Serbian (Serbia) (https://app.transifex.com/teclib/teams/28042/sr_RS/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: sr_RS\n" 22 | "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Otkaži" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Dani" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Obriši" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Trajanje" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Prekretnica" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Novi projekat" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | msgstr[2] "" 149 | 150 | #: js/gantt-helper.js:171 151 | msgid "Project / Task" 152 | msgstr "" 153 | 154 | #: templates/view.html.twig 155 | msgid "Quarters" 156 | msgstr "" 157 | 158 | #: js/gantt-helper.js:402 159 | msgid "Save" 160 | msgstr "Snimi" 161 | 162 | #: js/gantt-helper.js:172 163 | msgid "Start date" 164 | msgstr "Početni datum" 165 | 166 | #: js/gantt-helper.js:156 167 | msgid "Start date:" 168 | msgstr "" 169 | 170 | #: js/gantt-helper.js:390 171 | msgid "Start to Finish: " 172 | msgstr "" 173 | 174 | #: js/gantt-helper.js:387 175 | msgid "Start to Start: " 176 | msgstr "" 177 | 178 | #: ajax/gantt.php:107 179 | msgid "Target item must be of project type" 180 | msgstr "" 181 | 182 | #: js/gantt-helper.js:607 183 | msgid "Target task can't end before source task ends." 184 | msgstr "" 185 | 186 | #: js/gantt-helper.js:610 187 | msgid "Target task can't end before the source task starts." 188 | msgstr "" 189 | 190 | #: js/gantt-helper.js:601 191 | msgid "Target task can't start before source task ends." 192 | msgstr "" 193 | 194 | #: js/gantt-helper.js:604 195 | msgid "Target task can't start before source task starts." 196 | msgstr "" 197 | 198 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 199 | msgid "Task" 200 | msgid_plural "Tasks" 201 | msgstr[0] "" 202 | msgstr[1] "" 203 | msgstr[2] "" 204 | 205 | #: js/gantt-helper.js:221 206 | #, javascript-format 207 | msgid "Week #%s" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Weeks" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Years" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "Zoom" 220 | msgstr "" 221 | 222 | #: templates/view.html.twig 223 | msgid "by name" 224 | msgstr "" 225 | -------------------------------------------------------------------------------- /locales/fr_BE.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: French (Belgium) (https://app.transifex.com/teclib/teams/28042/fr_BE/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: fr_BE\n" 22 | "Plural-Forms: nplurals=3; plural=(n == 0 || n == 1) ? 0 : n != 0 && n % 1000000 == 0 ? 1 : 2;\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Annuler" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Jours" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Supprimer" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Durée" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Étape" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Nouveau projet" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Autorisations insuffisantes" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "" 147 | msgstr[1] "" 148 | msgstr[2] "" 149 | 150 | #: js/gantt-helper.js:171 151 | msgid "Project / Task" 152 | msgstr "" 153 | 154 | #: templates/view.html.twig 155 | msgid "Quarters" 156 | msgstr "" 157 | 158 | #: js/gantt-helper.js:402 159 | msgid "Save" 160 | msgstr "Enregistrer" 161 | 162 | #: js/gantt-helper.js:172 163 | msgid "Start date" 164 | msgstr "Date de début" 165 | 166 | #: js/gantt-helper.js:156 167 | msgid "Start date:" 168 | msgstr "" 169 | 170 | #: js/gantt-helper.js:390 171 | msgid "Start to Finish: " 172 | msgstr "" 173 | 174 | #: js/gantt-helper.js:387 175 | msgid "Start to Start: " 176 | msgstr "" 177 | 178 | #: ajax/gantt.php:107 179 | msgid "Target item must be of project type" 180 | msgstr "" 181 | 182 | #: js/gantt-helper.js:607 183 | msgid "Target task can't end before source task ends." 184 | msgstr "" 185 | 186 | #: js/gantt-helper.js:610 187 | msgid "Target task can't end before the source task starts." 188 | msgstr "" 189 | 190 | #: js/gantt-helper.js:601 191 | msgid "Target task can't start before source task ends." 192 | msgstr "" 193 | 194 | #: js/gantt-helper.js:604 195 | msgid "Target task can't start before source task starts." 196 | msgstr "" 197 | 198 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 199 | msgid "Task" 200 | msgid_plural "Tasks" 201 | msgstr[0] "" 202 | msgstr[1] "" 203 | msgstr[2] "" 204 | 205 | #: js/gantt-helper.js:221 206 | #, javascript-format 207 | msgid "Week #%s" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Weeks" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Years" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "Zoom" 220 | msgstr "" 221 | 222 | #: templates/view.html.twig 223 | msgid "by name" 224 | msgstr "" 225 | -------------------------------------------------------------------------------- /locales/ro_RO.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Romanian (Romania) (https://app.transifex.com/teclib/teams/28042/ro_RO/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: ro_RO\n" 22 | "Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?2:1));\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Anulează" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Zile" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Șterge" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Durata" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Etapa" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Proiect nou" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Proiect" 147 | msgstr[1] "Proiecte" 148 | msgstr[2] "Proiecte" 149 | 150 | #: js/gantt-helper.js:171 151 | msgid "Project / Task" 152 | msgstr "" 153 | 154 | #: templates/view.html.twig 155 | msgid "Quarters" 156 | msgstr "" 157 | 158 | #: js/gantt-helper.js:402 159 | msgid "Save" 160 | msgstr "Salvează" 161 | 162 | #: js/gantt-helper.js:172 163 | msgid "Start date" 164 | msgstr "Dată de început" 165 | 166 | #: js/gantt-helper.js:156 167 | msgid "Start date:" 168 | msgstr "" 169 | 170 | #: js/gantt-helper.js:390 171 | msgid "Start to Finish: " 172 | msgstr "" 173 | 174 | #: js/gantt-helper.js:387 175 | msgid "Start to Start: " 176 | msgstr "" 177 | 178 | #: ajax/gantt.php:107 179 | msgid "Target item must be of project type" 180 | msgstr "" 181 | 182 | #: js/gantt-helper.js:607 183 | msgid "Target task can't end before source task ends." 184 | msgstr "" 185 | 186 | #: js/gantt-helper.js:610 187 | msgid "Target task can't end before the source task starts." 188 | msgstr "" 189 | 190 | #: js/gantt-helper.js:601 191 | msgid "Target task can't start before source task ends." 192 | msgstr "" 193 | 194 | #: js/gantt-helper.js:604 195 | msgid "Target task can't start before source task starts." 196 | msgstr "" 197 | 198 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 199 | msgid "Task" 200 | msgid_plural "Tasks" 201 | msgstr[0] "Task" 202 | msgstr[1] "Taskuri" 203 | msgstr[2] "Taskuri" 204 | 205 | #: js/gantt-helper.js:221 206 | #, javascript-format 207 | msgid "Week #%s" 208 | msgstr "" 209 | 210 | #: templates/view.html.twig 211 | msgid "Weeks" 212 | msgstr "" 213 | 214 | #: templates/view.html.twig 215 | msgid "Years" 216 | msgstr "" 217 | 218 | #: templates/view.html.twig 219 | msgid "Zoom" 220 | msgstr "" 221 | 222 | #: templates/view.html.twig 223 | msgid "by name" 224 | msgstr "" 225 | -------------------------------------------------------------------------------- /locales/et_EE.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | # Translators: 7 | # Cédric Anne, 2022 8 | # 9 | #, fuzzy 10 | msgid "" 11 | msgstr "" 12 | "Project-Id-Version: PACKAGE VERSION\n" 13 | "Report-Msgid-Bugs-To: \n" 14 | "POT-Creation-Date: 2023-04-24 12:40+0000\n" 15 | "PO-Revision-Date: 2022-05-06 13:53+0000\n" 16 | "Last-Translator: Cédric Anne, 2022\n" 17 | "Language-Team: Estonian (Estonia) (https://app.transifex.com/teclib/teams/28042/et_EE/)\n" 18 | "MIME-Version: 1.0\n" 19 | "Content-Type: text/plain; charset=UTF-8\n" 20 | "Content-Transfer-Encoding: 8bit\n" 21 | "Language: et_EE\n" 22 | "Plural-Forms: nplurals=2; plural=(n != 1);\n" 23 | 24 | #: js/gantt-helper.js:403 25 | msgid "Cancel" 26 | msgstr "Tühista" 27 | 28 | #: js/gantt-helper.js:164 29 | msgid "Comment:" 30 | msgstr "Kommentaar:" 31 | 32 | #: js/gantt-helper.js:807 33 | msgid "Could not create project: " 34 | msgstr "" 35 | 36 | #: js/gantt-helper.js:643 37 | msgid "Could not create task: " 38 | msgstr "" 39 | 40 | #: js/gantt-helper.js:840 41 | #, javascript-format 42 | msgid "Could not update Project[%s]: " 43 | msgstr "" 44 | 45 | #: js/gantt-helper.js:682 js/gantt-helper.js:715 46 | #, javascript-format 47 | msgid "Could not update Task[%s]: " 48 | msgstr "" 49 | 50 | #: templates/view.html.twig 51 | msgid "Days" 52 | msgstr "Päeva" 53 | 54 | #: js/gantt-helper.js:404 55 | msgid "Delete" 56 | msgstr "Kustuta" 57 | 58 | #: js/gantt-helper.js:161 59 | msgid "Description:" 60 | msgstr "" 61 | 62 | #: js/gantt-helper.js:173 63 | msgid "Duration" 64 | msgstr "Kestvus" 65 | 66 | #: js/gantt-helper.js:158 67 | msgid "End date:" 68 | msgstr "" 69 | 70 | #: templates/view.html.twig 71 | msgid "Filter" 72 | msgstr "Filter" 73 | 74 | #: templates/view.html.twig 75 | msgid "Find" 76 | msgstr "Leia" 77 | 78 | #: js/gantt-helper.js:384 79 | msgid "Finish to Finish: " 80 | msgstr "" 81 | 82 | #: js/gantt-helper.js:381 83 | msgid "Finish to Start: " 84 | msgstr "" 85 | 86 | #: templates/view.html.twig 87 | msgid "Fullscreen" 88 | msgstr "Täisekraan" 89 | 90 | #: src/ProjectTab.php:45 91 | msgid "Gantt" 92 | msgstr "" 93 | 94 | #: js/gantt-helper.js:536 95 | msgid "Gantt mode: 'Readonly'" 96 | msgstr "" 97 | 98 | #: src/ProjectTab.php:73 src/ProjectTab.php:75 99 | msgid "Global GANTT" 100 | msgstr "" 101 | 102 | #: ajax/gantt.php:140 103 | msgid "Item must be of project type" 104 | msgstr "" 105 | 106 | #: js/gantt-helper.js:399 107 | msgid "Lag" 108 | msgstr "" 109 | 110 | #: ajax/gantt.php:205 111 | msgid "Link already exist!" 112 | msgstr "Seos on juba olemas!" 113 | 114 | #: js/gantt-helper.js:598 115 | msgid "Links between projects and tasks cannot be created." 116 | msgstr "" 117 | 118 | #: js/gantt-helper.js:595 119 | msgid "Links between projects cannot be created." 120 | msgstr "" 121 | 122 | #: js/gantt-helper.js:68 js/gantt-helper.js:73 123 | msgid "Milestone" 124 | msgstr "Verstapost" 125 | 126 | #: templates/view.html.twig 127 | msgid "Months" 128 | msgstr "Kuud" 129 | 130 | #: js/gantt-helper.js:77 js/gantt-helper.js:82 js/gantt-helper.js:332 131 | msgid "New project" 132 | msgstr "Uus projekt" 133 | 134 | #: src/ProjectDAO.php:45 src/ProjectDAO.php:83 src/ProjectDAO.php:100 135 | #: src/TaskDAO.php:42 src/TaskDAO.php:87 src/TaskDAO.php:112 136 | msgid "Not enough rights" 137 | msgstr "Õigused puuduvad" 138 | 139 | #: js/gantt-helper.js:159 140 | msgid "Progress:" 141 | msgstr "" 142 | 143 | #: js/gantt-helper.js:66 144 | msgid "Project" 145 | msgid_plural "Projects" 146 | msgstr[0] "Projekt" 147 | msgstr[1] "Projektid" 148 | 149 | #: js/gantt-helper.js:171 150 | msgid "Project / Task" 151 | msgstr "" 152 | 153 | #: templates/view.html.twig 154 | msgid "Quarters" 155 | msgstr "Kvartalit" 156 | 157 | #: js/gantt-helper.js:402 158 | msgid "Save" 159 | msgstr "Salvesta" 160 | 161 | #: js/gantt-helper.js:172 162 | msgid "Start date" 163 | msgstr "Algusaeg" 164 | 165 | #: js/gantt-helper.js:156 166 | msgid "Start date:" 167 | msgstr "" 168 | 169 | #: js/gantt-helper.js:390 170 | msgid "Start to Finish: " 171 | msgstr "" 172 | 173 | #: js/gantt-helper.js:387 174 | msgid "Start to Start: " 175 | msgstr "" 176 | 177 | #: ajax/gantt.php:107 178 | msgid "Target item must be of project type" 179 | msgstr "" 180 | 181 | #: js/gantt-helper.js:607 182 | msgid "Target task can't end before source task ends." 183 | msgstr "" 184 | 185 | #: js/gantt-helper.js:610 186 | msgid "Target task can't end before the source task starts." 187 | msgstr "" 188 | 189 | #: js/gantt-helper.js:601 190 | msgid "Target task can't start before source task ends." 191 | msgstr "" 192 | 193 | #: js/gantt-helper.js:604 194 | msgid "Target task can't start before source task starts." 195 | msgstr "" 196 | 197 | #: js/gantt-helper.js:67 js/gantt-helper.js:72 198 | msgid "Task" 199 | msgid_plural "Tasks" 200 | msgstr[0] "Tegevus" 201 | msgstr[1] "Tegevused" 202 | 203 | #: js/gantt-helper.js:221 204 | #, javascript-format 205 | msgid "Week #%s" 206 | msgstr "" 207 | 208 | #: templates/view.html.twig 209 | msgid "Weeks" 210 | msgstr "Nädalat" 211 | 212 | #: templates/view.html.twig 213 | msgid "Years" 214 | msgstr "Aastat" 215 | 216 | #: templates/view.html.twig 217 | msgid "Zoom" 218 | msgstr "" 219 | 220 | #: templates/view.html.twig 221 | msgid "by name" 222 | msgstr "nime järgi" 223 | --------------------------------------------------------------------------------