feat: deploy to hf space | model=llama-12257b
Browse filesThis view is limited to 50 files because it contains too many changes. See raw diff
- .gitattributes +22 -0
- DEPLOY_GUIDE.md +425 -0
- DEPLOY_GUIDE_zh.md +425 -0
- Dockerfile +537 -0
- LICENSE +21 -0
- README.md +333 -5
- README_zh.md +315 -0
- bt-source/conf/softList.conf +7 -0
- bt-source/init/bt6.init +422 -0
- bt-source/init/bt7.init +497 -0
- bt-source/install/public.sh +193 -0
- bt-source/panel/BT-Panel +532 -0
- bt-source/panel/BT-Task +14 -0
- bt-source/panel/BTPanel/__init__.py +0 -0
- bt-source/panel/BTPanel/static/ckeditor/CHANGES.md +0 -0
- bt-source/panel/BTPanel/static/ckeditor/LICENSE.md +1420 -0
- bt-source/panel/BTPanel/static/ckeditor/README.md +39 -0
- bt-source/panel/BTPanel/static/ckeditor/adapters/jquery.js +10 -0
- bt-source/panel/BTPanel/static/ckeditor/build-config.js +190 -0
- bt-source/panel/BTPanel/static/ckeditor/ckeditor.js +0 -0
- bt-source/panel/BTPanel/static/ckeditor/config.js +11 -0
- bt-source/panel/BTPanel/static/ckeditor/contents.css +208 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/af.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/ar.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/az.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/bg.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/bn.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/bs.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/ca.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/cs.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/cy.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/da.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/de-ch.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/de.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/el.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/en-au.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/en-ca.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/en-gb.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/en.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/eo.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/es-mx.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/es.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/et.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/eu.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/fa.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/fi.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/fo.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/fr-ca.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/fr.js +5 -0
- bt-source/panel/BTPanel/static/ckeditor/lang/gl.js +5 -0
.gitattributes
CHANGED
|
@@ -33,3 +33,25 @@ saved_model/**/* filter=lfs diff=lfs merge=lfs -text
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 33 |
*.zip filter=lfs diff=lfs merge=lfs -text
|
| 34 |
*.zst filter=lfs diff=lfs merge=lfs -text
|
| 35 |
*tfevents* filter=lfs diff=lfs merge=lfs -text
|
| 36 |
+
bt-source/panel/BTPanel/static/editor/icons/file-icons.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 37 |
+
bt-source/panel/BTPanel/static/font/file-icons.woff2 filter=lfs diff=lfs merge=lfs -text
|
| 38 |
+
bt-source/panel/BTPanel/static/images/bg-default.png filter=lfs diff=lfs merge=lfs -text
|
| 39 |
+
bt-source/panel/BTPanel/static/images/bg-images.png filter=lfs diff=lfs merge=lfs -text
|
| 40 |
+
bt-source/panel/BTPanel/static/images/bg-main-dark.png filter=lfs diff=lfs merge=lfs -text
|
| 41 |
+
bt-source/panel/BTPanel/static/images/bg-main.png filter=lfs diff=lfs merge=lfs -text
|
| 42 |
+
bt-source/panel/BTPanel/static/images/dep_ico/youmiactivitys.png filter=lfs diff=lfs merge=lfs -text
|
| 43 |
+
bt-source/panel/BTPanel/static/images/home/home-load-transparent-bg.png filter=lfs diff=lfs merge=lfs -text
|
| 44 |
+
bt-source/panel/BTPanel/static/images/soft_ico/ico-portblast.svg filter=lfs diff=lfs merge=lfs -text
|
| 45 |
+
bt-source/panel/BTPanel/static/img/dep_ico/shop.png filter=lfs diff=lfs merge=lfs -text
|
| 46 |
+
bt-source/panel/BTPanel/static/img/dep_ico/yd_tc_plus.png filter=lfs diff=lfs merge=lfs -text
|
| 47 |
+
bt-source/panel/BTPanel/static/img/report/img_01.png filter=lfs diff=lfs merge=lfs -text
|
| 48 |
+
bt-source/panel/BTPanel/static/img/report/新建项目.png filter=lfs diff=lfs merge=lfs -text
|
| 49 |
+
bt-source/panel/class/PluginLoader.aarch64.Python3.7.so filter=lfs diff=lfs merge=lfs -text
|
| 50 |
+
bt-source/panel/class/PluginLoader.i686.Python3.7.so filter=lfs diff=lfs merge=lfs -text
|
| 51 |
+
bt-source/panel/class/PluginLoader.loongarch64.Python3.7.so filter=lfs diff=lfs merge=lfs -text
|
| 52 |
+
bt-source/panel/class/PluginLoader.x86_64.Python3.7.so filter=lfs diff=lfs merge=lfs -text
|
| 53 |
+
bt-source/panel/class/PluginLoader.x86_64.glibc214.Python3.7.so filter=lfs diff=lfs merge=lfs -text
|
| 54 |
+
bt-source/panel/class/btdockerModel/config/docker_hub_repos.db filter=lfs diff=lfs merge=lfs -text
|
| 55 |
+
bt-source/panel/class/projectModel/wordpress.db filter=lfs diff=lfs merge=lfs -text
|
| 56 |
+
bt-source/panel/class/safeModel/tpl.docx filter=lfs diff=lfs merge=lfs -text
|
| 57 |
+
bt-source/panel/config/GeoLite2-City.mmdb filter=lfs diff=lfs merge=lfs -text
|
DEPLOY_GUIDE.md
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# Deploying OpenClaw on Hugging Face Spaces (with Auto Backup & Restore)
|
| 2 |
+
|
| 3 |
+
> **Source**: [tenfy's blog - Deploying OpenClaw on Hugging Face Spaces](https://tenfy.cn/posts/openclaw-hf-space-deploy/) (adapted for this project)
|
| 4 |
+
>
|
| 5 |
+
> **Original Author**: tenfyzhong([https://tenfy.cn](https://tenfy.cn))
|
| 6 |
+
>
|
| 7 |
+
> **Adapted by**: ClawCopilot Team([https://github.com/ClawCopilot/Openclaw-Hf-Docker](https://github.com/ClawCopilot/Openclaw-Hf-Docker))
|
| 8 |
+
>
|
| 9 |
+
> **Original Post Date**: 2026-03-25
|
| 10 |
+
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
## What This Solution Solves
|
| 14 |
+
|
| 15 |
+
This project builds on tenfy's `openclaw-hf` by adding **BT Panel (Baota)** as PID 1, providing a user-friendly web management interface:
|
| 16 |
+
|
| 17 |
+
- Build OpenClaw container image on top of `ubuntu:24.04`
|
| 18 |
+
- **BT Panel (Baota)** as container PID 1, listening on port `7860` (default HF Space port), provides web management interface
|
| 19 |
+
- **OpenClaw Gateway** runs on separate port `18789` (default)
|
| 20 |
+
- Support pre-configuring third-party OpenAI-compatible models via environment variables (`base_url + api_key`)
|
| 21 |
+
- OpenClaw config and workspace stored in `/root/.openclaw`
|
| 22 |
+
- Auto-restore latest backup from HF Dataset on startup
|
| 23 |
+
- Periodic backup to HF Dataset via `cron`
|
| 24 |
+
- **Supervisord** manages `cron` and `openclaw-gateway` processes
|
| 25 |
+
- Pre-installed tools: `vim`, `opencode`, `codex`, `claude`, `sshx` for debugging and interaction inside the container
|
| 26 |
+
- Built-in DDNS-GO for dynamic DNS updates (non-critical, installation failure doesn't break the build)
|
| 27 |
+
|
| 28 |
+
---
|
| 29 |
+
|
| 30 |
+
## Container Architecture
|
| 31 |
+
|
| 32 |
+
```
|
| 33 |
+
PID 1 (bt-panel)
|
| 34 |
+
└── /usr/local/bin/hf-entrypoint.sh
|
| 35 |
+
├── /usr/bin/supervisord
|
| 36 |
+
│ ├── cron (scheduled backup tasks)
|
| 37 |
+
│ └── openclaw-gateway (OpenClaw Gateway, port 18789)
|
| 38 |
+
└── node hf-server.js (container health check)
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
- **BT Panel**: port `7860`, web management interface
|
| 42 |
+
- **OpenClaw Gateway**: port `18789`, AI Gateway API
|
| 43 |
+
- **Supervisord**: process manager, manages both `cron` and `openclaw-gateway`
|
| 44 |
+
- **Health check**: `curl http://localhost:7860`, called by Hugging Face platform
|
| 45 |
+
|
| 46 |
+
---
|
| 47 |
+
|
| 48 |
+
## 1. Register Hugging Face & Generate HF_TOKEN
|
| 49 |
+
|
| 50 |
+
If you don't have a Hugging Face account yet, sign up first: [https://huggingface.co/join](https://huggingface.co/join)
|
| 51 |
+
|
| 52 |
+
After preparing your account, create a token following these steps:
|
| 53 |
+
|
| 54 |
+
1. Open Hugging Face Token page: [https://huggingface.co/settings/tokens](https://huggingface.co/settings/tokens)
|
| 55 |
+
2. Create a new token (recommended name: `deploy-openclaw`)
|
| 56 |
+
3. Grant the required permissions (need ability to create Spaces and write to Datasets)
|
| 57 |
+
4. Copy the token (format: `hf_xxx...`)
|
| 58 |
+
|
| 59 |
+
Login locally and verify:
|
| 60 |
+
|
| 61 |
+
```bash
|
| 62 |
+
hf auth login
|
| 63 |
+
hf auth whoami
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
When `bootstrap-hf.sh` prompts for `HF_TOKEN for backup dataset`:
|
| 67 |
+
- You can paste the newly created token directly
|
| 68 |
+
- Or leave it empty to let the script reuse the current `hf auth login` local credentials
|
| 69 |
+
|
| 70 |
+
---
|
| 71 |
+
|
| 72 |
+
## 2. One-Click Deployment (Recommended)
|
| 73 |
+
|
| 74 |
+
The repository provides an interactive script. It's recommended to use the script instead of manual setup.
|
| 75 |
+
|
| 76 |
+
### 1. Clone the Repository
|
| 77 |
+
|
| 78 |
+
```bash
|
| 79 |
+
git clone https://github.com/ClawCopilot/Openclaw-Hf-Docker.git
|
| 80 |
+
cd Openclaw-Hf-Docker
|
| 81 |
+
```
|
| 82 |
+
|
| 83 |
+
### 2. Run the Bootstrap Script
|
| 84 |
+
|
| 85 |
+
macOS / Linux:
|
| 86 |
+
|
| 87 |
+
```bash
|
| 88 |
+
./scripts/bootstrap-hf.sh
|
| 89 |
+
```
|
| 90 |
+
|
| 91 |
+
Windows PowerShell:
|
| 92 |
+
|
| 93 |
+
```powershell
|
| 94 |
+
powershell -ExecutionPolicy ByPass -File .\scripts\bootstrap-hf.ps1
|
| 95 |
+
```
|
| 96 |
+
|
| 97 |
+
### 3. What the Script Does Automatically
|
| 98 |
+
|
| 99 |
+
- Check and install `hf` CLI if missing
|
| 100 |
+
- Check Hugging Face login status (trigger `hf auth login` if needed)
|
| 101 |
+
- Ask for and confirm deployment parameters (including final `Proceed with these settings?` confirmation)
|
| 102 |
+
- Ask for BT Panel port, username, and password
|
| 103 |
+
- Create private Space and private backup Dataset, upload current repository to Space
|
| 104 |
+
- Auto-write Variables / Secrets (including backup, gateway credentials, BT Panel config, etc.)
|
| 105 |
+
- Write security-related variables by default:
|
| 106 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_ALLOW_INSECURE_AUTH=false`
|
| 107 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_DISABLE_DEVICE_AUTH=false`
|
| 108 |
+
|
| 109 |
+
### 4. BT Panel Username Rules
|
| 110 |
+
|
| 111 |
+
**Must satisfy the following**:
|
| 112 |
+
- Start with a lowercase letter
|
| 113 |
+
- Can only contain lowercase letters and numbers
|
| 114 |
+
- Length 3-32 characters
|
| 115 |
+
|
| 116 |
+
Examples: `btadmin`, `mypanel123`, `openclawspace`
|
| 117 |
+
|
| 118 |
+
---
|
| 119 |
+
|
| 120 |
+
## 3. Use Agent for Auto Deployment
|
| 121 |
+
|
| 122 |
+
Suitable for users who don't want to manually configure. You can directly send this to an AI Agent:
|
| 123 |
+
|
| 124 |
+
```
|
| 125 |
+
Please deploy OpenClaw to Hugging Face by strictly following the deployment skill in https://github.com/tenfyzhong/openclaw-hf/blob/main/SKILL.md
|
| 126 |
+
```
|
| 127 |
+
|
| 128 |
+
Agent usually does:
|
| 129 |
+
|
| 130 |
+
1. Check dependencies first (`git`, `hf`, `python3`, `huggingface_hub`)
|
| 131 |
+
2. Collect deployment parameters from you in fixed order
|
| 132 |
+
3. Call `bootstrap-hf.sh` / `bootstrap-hf.ps1` to execute deployment
|
| 133 |
+
4. Report Space / Dataset / App / Health URLs and version info
|
| 134 |
+
5. If gateway credentials are auto-generated, also report them
|
| 135 |
+
|
| 136 |
+
If you want to provide all parameters at once, send this template to the Agent:
|
| 137 |
+
|
| 138 |
+
```
|
| 139 |
+
space_name: openclaw-hf
|
| 140 |
+
dataset_name: openclaw-hf-backup
|
| 141 |
+
openclaw_version: latest
|
| 142 |
+
gateway_token: <leave empty to auto-generate, or fill manually>
|
| 143 |
+
gateway_password: <leave empty to auto-generate, or fill manually>
|
| 144 |
+
hf_token: <your HF_TOKEN, or leave empty to reuse local login>
|
| 145 |
+
configure_custom_llm: no
|
| 146 |
+
openclaw_sshx_auto_start: true
|
| 147 |
+
bt_panel_port: 7860
|
| 148 |
+
bt_panel_username: btadmin
|
| 149 |
+
bt_panel_password: <leave empty to auto-generate, or fill manually>
|
| 150 |
+
proceed_with_settings: yes
|
| 151 |
+
```
|
| 152 |
+
|
| 153 |
+
---
|
| 154 |
+
|
| 155 |
+
## 4. Pre-Deployment Requirements
|
| 156 |
+
|
| 157 |
+
The script depends on the following commands:
|
| 158 |
+
|
| 159 |
+
```bash
|
| 160 |
+
git --version
|
| 161 |
+
hf version
|
| 162 |
+
python3 --version
|
| 163 |
+
```
|
| 164 |
+
|
| 165 |
+
Also requires Python package:
|
| 166 |
+
|
| 167 |
+
```bash
|
| 168 |
+
python3 -c "import huggingface_hub" >/dev/null 2>&1 || \
|
| 169 |
+
python3 -m pip install --user 'huggingface_hub[cli]'
|
| 170 |
+
```
|
| 171 |
+
|
| 172 |
+
---
|
| 173 |
+
|
| 174 |
+
## 5. Key Variables & Secrets
|
| 175 |
+
|
| 176 |
+
In Space's `Settings -> Variables and secrets`, at minimum you need:
|
| 177 |
+
|
| 178 |
+
- Variable: `OPENCLAW_BACKUP_DATASET_REPO` (format: `username/dataset-name`)
|
| 179 |
+
- Secret: `HF_TOKEN` (needs write permission to the backup Dataset)
|
| 180 |
+
- Secret: `OPENCLAW_GATEWAY_TOKEN` (recommended)
|
| 181 |
+
- Secret: `OPENCLAW_GATEWAY_PASSWORD` (optional)
|
| 182 |
+
- Variable: `BT_PANEL_PORT` (default `7860`)
|
| 183 |
+
- Variable: `BT_PANEL_USERNAME` (default `btadmin`)
|
| 184 |
+
- Secret: `BT_PANEL_PASSWORD` (BT Panel password)
|
| 185 |
+
|
| 186 |
+
If you use `bootstrap-hf.sh` / `bootstrap-hf.ps1`, the above will be configured automatically.
|
| 187 |
+
|
| 188 |
+
### Optional: Pre-configure LLM (all three must be provided together)
|
| 189 |
+
|
| 190 |
+
- `OPENCLAW_LLM_BASE_URL`
|
| 191 |
+
- `OPENCLAW_LLM_MODEL`
|
| 192 |
+
- `OPENCLAW_LLM_API_KEY`
|
| 193 |
+
|
| 194 |
+
If only 1-2 of them are filled, the entrypoint script will skip model pre-configuration.
|
| 195 |
+
|
| 196 |
+
### Common Optional Variables
|
| 197 |
+
|
| 198 |
+
| Variable | Default | Description |
|
| 199 |
+
|----------|---------|-------------|
|
| 200 |
+
| `OPENCLAW_VERSION` | `latest` | OpenClaw version |
|
| 201 |
+
| `OPENCLAW_BACKUP_CRON` | `*/30 * * * *` | Backup interval (every 30 min by default) |
|
| 202 |
+
| `OPENCLAW_BACKUP_KEEP_COUNT` | `24` | Number of latest backups to keep |
|
| 203 |
+
| `OPENCLAW_SSHX_AUTO_START` | `false` | Set to `true` to auto-start sshx |
|
| 204 |
+
| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway listening port |
|
| 205 |
+
| `BT_PANEL_PORT` | `7860` | BT Panel listening port |
|
| 206 |
+
| `BT_PANEL_USERNAME` | `btadmin` | BT Panel username (lowercase letter start) |
|
| 207 |
+
| `BT_PANEL_PASSWORD` | auto-generated | BT Panel password |
|
| 208 |
+
|
| 209 |
+
---
|
| 210 |
+
|
| 211 |
+
## 6. What the Script Will Ask You
|
| 212 |
+
|
| 213 |
+
Following the flow, main inputs are:
|
| 214 |
+
|
| 215 |
+
1. `space_name` (default `openclaw-hf`)
|
| 216 |
+
2. `dataset_name` (default `<space_name>-backup`)
|
| 217 |
+
3. `OPENCLAW_VERSION` (default auto-detect latest version)
|
| 218 |
+
4. `OPENCLAW_GATEWAY_TOKEN` (can leave empty for auto-generated 32-char random value)
|
| 219 |
+
5. `OPENCLAW_GATEWAY_PASSWORD` (can leave empty for auto-generated 16-char random value)
|
| 220 |
+
6. `HF_TOKEN` (can leave empty, reuse locally logged-in token)
|
| 221 |
+
7. Whether to configure LLM immediately (all three must be filled for it to take effect)
|
| 222 |
+
8. If not configuring LLM, whether to enable `OPENCLAW_SSHX_AUTO_START`
|
| 223 |
+
9. **BT Panel port** (default `7860`)
|
| 224 |
+
10. **BT Panel username** (must start with lowercase letter, only lowercase letters and numbers, 3-32 chars)
|
| 225 |
+
11. **BT Panel password** (can leave empty for auto-generation)
|
| 226 |
+
12. Final confirmation: `Proceed with these settings?` (selecting `no` will exit without remote changes)
|
| 227 |
+
|
| 228 |
+
If token/password is auto-generated by the script, it will be printed at the end. Please save it promptly.
|
| 229 |
+
|
| 230 |
+
---
|
| 231 |
+
|
| 232 |
+
## 7. How to Verify After Deployment
|
| 233 |
+
|
| 234 |
+
Assuming Space repo is `<owner>/<space_name>`, available URLs:
|
| 235 |
+
|
| 236 |
+
| Service | URL |
|
| 237 |
+
|---------|-----|
|
| 238 |
+
| BT Panel Admin | `https://<owner>-<space_name>.hf.space:7860` |
|
| 239 |
+
| BT Panel Health | `https://<owner>-<space_name>.hf.space` |
|
| 240 |
+
| OpenClaw Gateway | `https://<owner>-<space_name>.hf.space:18789` |
|
| 241 |
+
| Space Page | `https://huggingface.co/spaces/<owner>/<space_name>` |
|
| 242 |
+
|
| 243 |
+
For example:
|
| 244 |
+
|
| 245 |
+
```bash
|
| 246 |
+
OPENCLAW_HF_SPACE_ID="yourname/openclaw-hf"
|
| 247 |
+
SPACE_HOST="${OPENCLAW_HF_SPACE_ID/\//-}.hf.space"
|
| 248 |
+
echo "BT Panel: https://${SPACE_HOST}:7860"
|
| 249 |
+
echo "Gateway: https://${SPACE_HOST}:18789"
|
| 250 |
+
```
|
| 251 |
+
|
| 252 |
+
> **Note**: Some network environments may restrict direct access to port `:18789`. The BT Panel admin interface (7860) is the primary access entry point.
|
| 253 |
+
|
| 254 |
+
---
|
| 255 |
+
|
| 256 |
+
## 8. BT Panel Usage Guide
|
| 257 |
+
|
| 258 |
+
### Login to BT Panel
|
| 259 |
+
|
| 260 |
+
1. After deployment completes, wait for container to start (~2-5 minutes)
|
| 261 |
+
2. Visit `https://<owner>-<space_name>.hf.space:7860`
|
| 262 |
+
3. Login with the `BT_PANEL_USERNAME` and `BT_PANEL_PASSWORD` set during deployment
|
| 263 |
+
|
| 264 |
+
> On first login, you may need to wait for BT Panel service to fully start. If the page is inaccessible, please try again later.
|
| 265 |
+
|
| 266 |
+
### BT Panel Security Recommendations
|
| 267 |
+
|
| 268 |
+
- After deployment, it is recommended to modify `BT_PANEL_PASSWORD` in `Settings -> Variables and secrets`
|
| 269 |
+
- Avoid exposing BT Panel admin interface to the public internet
|
| 270 |
+
- `BT_PANEL_USERNAME` must conform to rules: start with lowercase letter, only lowercase letters and numbers
|
| 271 |
+
|
| 272 |
+
---
|
| 273 |
+
|
| 274 |
+
## 9. How to Do OpenClaw Initial Configuration
|
| 275 |
+
|
| 276 |
+
1. Open Hugging Face Space page, go to container logs, find the temporary access link output by `sshx`
|
| 277 |
+
2. Open that link in browser to enter container shell, execute `openclaw onboard` and follow the guide
|
| 278 |
+
3. During onboarding, OpenClaw may restart, and the `sshx` link may also change; if current link expires, go back to logs to get the new link and continue
|
| 279 |
+
4. Official wizard reference: [https://docs.openclaw.ai/start/wizard](https://docs.openclaw.ai/start/wizard)
|
| 280 |
+
5. After configuration is complete, remember to go back to `Settings -> Variables and secrets`, change `OPENCLAW_SSHX_AUTO_START` to `false` (or delete this variable), then restart Space to turn off `sshx`
|
| 281 |
+
|
| 282 |
+
If you modified OpenClaw configuration and want it to take effect immediately, you can restart the corresponding process (example):
|
| 283 |
+
|
| 284 |
+
```bash
|
| 285 |
+
ps -ef | grep 'openclaw-gateway' | grep -v 'grep' | awk '{print $2}' | xargs -I{} kill {}
|
| 286 |
+
```
|
| 287 |
+
|
| 288 |
+
---
|
| 289 |
+
|
| 290 |
+
## 10. Backup & Restore Mechanism
|
| 291 |
+
|
| 292 |
+
The data lifecycle of this project is as follows:
|
| 293 |
+
|
| 294 |
+
- **Startup Restore**: On container startup, it fetches `latest-backup.json` from Dataset to locate the latest backup and restore
|
| 295 |
+
- **Scheduled Backup**: Upload periodically based on `OPENCLAW_BACKUP_CRON` (every 30 minutes by default)
|
| 296 |
+
- **Shutdown Backup**: Do a final backup when container receives stop signal before exiting
|
| 297 |
+
- **Artifacts include**:
|
| 298 |
+
- `backups/openclaw-backup-<timestamp>.tar.gz`
|
| 299 |
+
- `latest-backup.json`
|
| 300 |
+
- **Retention Policy**: Only keep the latest `OPENCLAW_BACKUP_KEEP_COUNT` timestamped archives (default `24`)
|
| 301 |
+
|
| 302 |
+
---
|
| 303 |
+
|
| 304 |
+
## 11. Keep-Alive & 24/7 Running Suggestions
|
| 305 |
+
|
| 306 |
+
- Free `cpu-basic` will sleep (currently after about 48 hours of no access)
|
| 307 |
+
- Strict 24/7 requires paid hardware, set `Sleep time` to `Never`
|
| 308 |
+
- For private Space health checks, must include `Authorization: Bearer <HF_TOKEN>`, otherwise you'll see 404 (normal access control behavior)
|
| 309 |
+
|
| 310 |
+
If you just want to reduce cold start probability, you can periodically request the BT Panel health check address; but on free tier, this is not an officially guaranteed always-on solution.
|
| 311 |
+
|
| 312 |
+
### Using cron-job.org for Keep-Alive
|
| 313 |
+
|
| 314 |
+
If you don't want to maintain scheduled tasks yourself, you can use [https://cron-job.org/](https://cron-job.org/).
|
| 315 |
+
|
| 316 |
+
According to their official FAQ ([https://cron-job.org/faq/](https://cron-job.org/faq/)), they support custom headers, HTTPS, and up to once per minute calls. For OpenClaw Space, pinging once every 10-15 minutes is usually sufficient.
|
| 317 |
+
|
| 318 |
+
#### 1. Create a Task
|
| 319 |
+
|
| 320 |
+
1. Open [https://cron-job.org/](https://cron-job.org/) and register/login (console is at `console.cron-job.org`)
|
| 321 |
+
2. Create new HTTP cron job
|
| 322 |
+
3. URL: `https://<owner>-<space_name>.hf.space` (BT Panel health check)
|
| 323 |
+
4. Method: `GET`
|
| 324 |
+
5. Schedule: recommend once every 10-15 minutes
|
| 325 |
+
|
| 326 |
+
#### 2. Add Header for Private Space
|
| 327 |
+
|
| 328 |
+
```
|
| 329 |
+
Authorization: Bearer <HF_TOKEN>
|
| 330 |
+
```
|
| 331 |
+
|
| 332 |
+
It's recommended to create a separate low-permission token for keep-alive only, don't reuse the high-permission backup token.
|
| 333 |
+
|
| 334 |
+
#### 3. Do Test Run Before Enabling Alerts
|
| 335 |
+
|
| 336 |
+
After creating the task, test it manually once first, then enable failure notifications (email, etc.) to be notified promptly when Space is unavailable or token expires.
|
| 337 |
+
|
| 338 |
+
---
|
| 339 |
+
|
| 340 |
+
## 12. sshx Usage (Optional)
|
| 341 |
+
|
| 342 |
+
`sshx` is pre-installed in the image (along with `vim`, `opencode`, `codex`, `claude`).
|
| 343 |
+
|
| 344 |
+
### 1. Auto Start (Environment Variable)
|
| 345 |
+
|
| 346 |
+
```bash
|
| 347 |
+
OPENCLAW_SSHX_AUTO_START=true
|
| 348 |
+
```
|
| 349 |
+
|
| 350 |
+
### 2. Manual Start Inside Container
|
| 351 |
+
|
| 352 |
+
```bash
|
| 353 |
+
sshx
|
| 354 |
+
```
|
| 355 |
+
|
| 356 |
+
### 3. Start via OpenClaw Terminal in Background
|
| 357 |
+
|
| 358 |
+
```bash
|
| 359 |
+
nohup sshx >/proc/1/fd/1 2>/proc/1/fd/2 &
|
| 360 |
+
```
|
| 361 |
+
|
| 362 |
+
If you temporarily need `sshx` later, you can also let OpenClaw start it via IM; after use, remember to let OpenClaw turn off `sshx` via IM as well.
|
| 363 |
+
|
| 364 |
+
### Cleanup After Use
|
| 365 |
+
|
| 366 |
+
```bash
|
| 367 |
+
pgrep -fa sshx
|
| 368 |
+
pkill -TERM -f '(^|/)sshx($| )'
|
| 369 |
+
```
|
| 370 |
+
|
| 371 |
+
---
|
| 372 |
+
|
| 373 |
+
## 13. Process Management
|
| 374 |
+
|
| 375 |
+
This project uses **Supervisord** to manage processes (PM2 has been removed):
|
| 376 |
+
|
| 377 |
+
```
|
| 378 |
+
PID 1 (bt-panel)
|
| 379 |
+
└── supervisord
|
| 380 |
+
├── cron
|
| 381 |
+
└── openclaw-gateway
|
| 382 |
+
```
|
| 383 |
+
|
| 384 |
+
- **Supervisord**: as a child process of bt-panel, correctly managed
|
| 385 |
+
- **cron**: scheduled backup tasks (runs every 30 minutes by default)
|
| 386 |
+
- **openclaw-gateway**: OpenClaw Gateway service, listening on port 18789
|
| 387 |
+
- **PM2**: removed from this project, no longer used for managing Gateway
|
| 388 |
+
|
| 389 |
+
### Check Process Status
|
| 390 |
+
|
| 391 |
+
Inside container:
|
| 392 |
+
|
| 393 |
+
```bash
|
| 394 |
+
supervisorctl status
|
| 395 |
+
```
|
| 396 |
+
|
| 397 |
+
### View Logs
|
| 398 |
+
|
| 399 |
+
```bash
|
| 400 |
+
# supervisord logs
|
| 401 |
+
tail -f /var/log/hf-entrypoint/supervisord-stdout.log
|
| 402 |
+
|
| 403 |
+
# cron logs
|
| 404 |
+
tail -f /var/log/hf-entrypoint/cron-stdout.log
|
| 405 |
+
|
| 406 |
+
# openclaw-gateway logs
|
| 407 |
+
tail -f /var/log/hf-entrypoint/openclaw-gateway-stdout.log
|
| 408 |
+
```
|
| 409 |
+
|
| 410 |
+
---
|
| 411 |
+
|
| 412 |
+
## 14. Summary
|
| 413 |
+
|
| 414 |
+
If your goal is "quickly running a restorable OpenClaw instance on Hugging Face", this project has covered the key aspects: deployment, configuration, backup, restore, keep-alive, and remote debugging, with BT Panel providing a more user-friendly web management interface.
|
| 415 |
+
|
| 416 |
+
It's recommended to first use the repository's `bootstrap-hf` script to get the default configuration working, then add LLM, keep-alive, and `sshx` strategies as needed.
|
| 417 |
+
|
| 418 |
+
---
|
| 419 |
+
|
| 420 |
+
## Related Links
|
| 421 |
+
|
| 422 |
+
- Repository: [https://github.com/ClawCopilot/Openclaw-Hf-Docker](https://github.com/ClawCopilot/Openclaw-Hf-Docker)
|
| 423 |
+
- Original Article: [https://tenfy.cn/posts/openclaw-hf-space-deploy/](https://tenfy.cn/posts/openclaw-hf-space-deploy/)
|
| 424 |
+
- OpenClaw Official Wizard: [https://docs.openclaw.ai/start/wizard](https://docs.openclaw.ai/start/wizard)
|
| 425 |
+
- BT Panel Official Site: [https://www.bt.cn/](https://www.bt.cn/)
|
DEPLOY_GUIDE_zh.md
ADDED
|
@@ -0,0 +1,425 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 用 Hugging Face Spaces 部署 OpenClaw(含自动备份与恢复)
|
| 2 |
+
|
| 3 |
+
> **来源**: [tenfy's blog - 用 Hugging Face Spaces 部署 OpenClaw(含自动备份与恢复)](https://tenfy.cn/posts/openclaw-hf-space-deploy/)(经本项目定制改编)
|
| 4 |
+
>
|
| 5 |
+
> **原文作者**: tenfyzhong([https://tenfy.cn](https://tenfy.cn))
|
| 6 |
+
>
|
| 7 |
+
> **改编作者**: ClawCopilot Team([https://github.com/ClawCopilot/Openclaw-Hf-Docker](https://github.com/ClawCopilot/Openclaw-Hf-Docker))
|
| 8 |
+
>
|
| 9 |
+
> **原文日期**: 2026-03-25
|
| 10 |
+
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
## 这个方案解决了什么问题
|
| 14 |
+
|
| 15 |
+
本项目在 tenfy's `openclaw-hf` 基础上,引入 **BT Panel(宝塔面板)** 作为 PID 1,提供更易用的 Web 管理界面:
|
| 16 |
+
|
| 17 |
+
- 基于 `ubuntu:24.04` 构建 OpenClaw 容器镜像
|
| 18 |
+
- **BT Panel(宝塔面板)** 作为容器 PID 1,监听端口 `7860`(Hugging Face Space 默认端口),提供 Web 管理界面
|
| 19 |
+
- **OpenClaw Gateway** 运行在独立端口 `18789`(默认)
|
| 20 |
+
- 支持通过环境变量预置第三方 OpenAI 兼容模型(`base_url + api_key`)
|
| 21 |
+
- OpenClaw 配置和工作目录存储在 `/root/.openclaw`
|
| 22 |
+
- 启动时自动从 HF Dataset 恢复最近备份
|
| 23 |
+
- 通过 `cron` 定时备份到 HF Dataset
|
| 24 |
+
- 通过 **Supervisord** 管理 `cron` 和 `openclaw-gateway` 进程
|
| 25 |
+
- 镜像内预装 `vim`、`opencode`、`codex`、`claude`、`sshx`,方便容器内排障与交互
|
| 26 |
+
- 内置 DDNS-GO,支持动态 DNS 更新(非关键功能,安装失败不影响构建)
|
| 27 |
+
|
| 28 |
+
---
|
| 29 |
+
|
| 30 |
+
## 容器架构
|
| 31 |
+
|
| 32 |
+
```
|
| 33 |
+
PID 1 (bt-panel)
|
| 34 |
+
└── /usr/local/bin/hf-entrypoint.sh
|
| 35 |
+
├── /usr/bin/supervisord
|
| 36 |
+
│ ├── cron(定时备份任务)
|
| 37 |
+
│ └── openclaw-gateway(OpenClaw Gateway,端口 18789)
|
| 38 |
+
└── node hf-server.js(容器健康检查)
|
| 39 |
+
```
|
| 40 |
+
|
| 41 |
+
- **BT Panel**:端口 `7860`,Web 管理界面
|
| 42 |
+
- **OpenClaw Gateway**:端口 `18789`,AI Gateway API
|
| 43 |
+
- **Supervisord**:进程管理器,同时管理 `cron` 和 `openclaw-gateway`
|
| 44 |
+
- **健康检查**:`curl http://localhost:7860`,由 Hugging Face 平台调用
|
| 45 |
+
|
| 46 |
+
---
|
| 47 |
+
|
| 48 |
+
## 一、先注册 Hugging Face 并生成 HF_TOKEN
|
| 49 |
+
|
| 50 |
+
如果你还没有 Hugging Face 账号,先去注册:[https://huggingface.co/join](https://huggingface.co/join)
|
| 51 |
+
|
| 52 |
+
账号准备好后,按下面步骤创建 token(用于脚本配置备份与 Space):
|
| 53 |
+
|
| 54 |
+
1. 打开 Hugging Face Token 页面:[https://huggingface.co/settings/tokens](https://huggingface.co/settings/tokens)
|
| 55 |
+
2. 创建一个新 token(建议命名为 `deploy-openclaw`)
|
| 56 |
+
3. 授予所需权限(需要有创建 Space 和写 Dataset 的权限)
|
| 57 |
+
4. 复制 token(形如 `hf_xxx...`)
|
| 58 |
+
|
| 59 |
+
本地可先登录并校验:
|
| 60 |
+
|
| 61 |
+
```bash
|
| 62 |
+
hf auth login
|
| 63 |
+
hf auth whoami
|
| 64 |
+
```
|
| 65 |
+
|
| 66 |
+
`bootstrap-hf.sh` 提示 `HF_TOKEN for backup dataset` 时:
|
| 67 |
+
- 可以直接粘贴新建 token
|
| 68 |
+
- 也可以留空,让脚本复用当前 `hf auth login` 的本地凭证
|
| 69 |
+
|
| 70 |
+
---
|
| 71 |
+
|
| 72 |
+
## 二、一键部署(推荐)
|
| 73 |
+
|
| 74 |
+
仓库已提供交互式脚本,建议优先走脚本,不要手搓流程。
|
| 75 |
+
|
| 76 |
+
### 1. 克隆仓库
|
| 77 |
+
|
| 78 |
+
```bash
|
| 79 |
+
git clone https://github.com/ClawCopilot/Openclaw-Hf-Docker.git
|
| 80 |
+
cd Openclaw-Hf-Docker
|
| 81 |
+
```
|
| 82 |
+
|
| 83 |
+
### 2. 运行引导脚本
|
| 84 |
+
|
| 85 |
+
macOS / Linux:
|
| 86 |
+
|
| 87 |
+
```bash
|
| 88 |
+
./scripts/bootstrap-hf.sh
|
| 89 |
+
```
|
| 90 |
+
|
| 91 |
+
Windows PowerShell:
|
| 92 |
+
|
| 93 |
+
```powershell
|
| 94 |
+
powershell -ExecutionPolicy ByPass -File .\scripts\bootstrap-hf.ps1
|
| 95 |
+
```
|
| 96 |
+
|
| 97 |
+
### 3. 脚本会自动完成
|
| 98 |
+
|
| 99 |
+
- 检查并安装 `hf` CLI(如缺失)
|
| 100 |
+
- 检查 Hugging Face 登录状态(需要时触发 `hf auth login`)
|
| 101 |
+
- 询问并确认部署参数(包含一次最终 `Proceed with these settings?` 确认)
|
| 102 |
+
- 询问 BT Panel 端口、用户名和密码
|
| 103 |
+
- 创建私有 Space 与私有备份 Dataset,并上传当前仓库到 Space
|
| 104 |
+
- 自动写入 Variables / Secrets(含备份、网关凭据、BT Panel 配置等)
|
| 105 |
+
- 默认写入安全相关变量:
|
| 106 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_ALLOW_INSECURE_AUTH=false`
|
| 107 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_DISABLE_DEVICE_AUTH=false`
|
| 108 |
+
|
| 109 |
+
### 4. BT Panel 用户名规范
|
| 110 |
+
|
| 111 |
+
**必须满足以下条件**:
|
| 112 |
+
- 以小写字母开头
|
| 113 |
+
- 只能包含小写字母和数字
|
| 114 |
+
- 长度 3-32 位
|
| 115 |
+
|
| 116 |
+
例如:`btadmin`、`mypanel123`、`openclawspace`
|
| 117 |
+
|
| 118 |
+
---
|
| 119 |
+
|
| 120 |
+
## 三、使用 Agent 自动部署
|
| 121 |
+
|
| 122 |
+
适合不想手动点配置的用户。可以直接发给 AI Agent:
|
| 123 |
+
|
| 124 |
+
```
|
| 125 |
+
Please deploy OpenClaw to Hugging Face by strictly following the deployment skill in https://github.com/tenfyzhong/openclaw-hf/blob/main/SKILL.md
|
| 126 |
+
```
|
| 127 |
+
|
| 128 |
+
Agent 通常会做这些事:
|
| 129 |
+
|
| 130 |
+
1. 先检查依赖(`git`、`hf`、`python3`、`huggingface_hub`)
|
| 131 |
+
2. 按固定顺序向你收集部署参数
|
| 132 |
+
3. 调用 `bootstrap-hf.sh` / `bootstrap-hf.ps1` 执行部署
|
| 133 |
+
4. 回传 Space / Dataset / App / Health 地址与版本信息
|
| 134 |
+
5. 如果网关凭据是自动生成的,也会一并回传
|
| 135 |
+
|
| 136 |
+
如果你希望一次性把参数给全,可以发这个模板给 Agent:
|
| 137 |
+
|
| 138 |
+
```
|
| 139 |
+
space_name: openclaw-hf
|
| 140 |
+
dataset_name: openclaw-hf-backup
|
| 141 |
+
openclaw_version: latest
|
| 142 |
+
gateway_token: <留空自动生成或手动填写>
|
| 143 |
+
gateway_password: <留空自动生成或手动填写>
|
| 144 |
+
hf_token: <���的 HF_TOKEN,或留空复用本地登录>
|
| 145 |
+
configure_custom_llm: no
|
| 146 |
+
openclaw_sshx_auto_start: true
|
| 147 |
+
bt_panel_port: 7860
|
| 148 |
+
bt_panel_username: btadmin
|
| 149 |
+
bt_panel_password: <留空自动生成或手动填写>
|
| 150 |
+
proceed_with_settings: yes
|
| 151 |
+
```
|
| 152 |
+
|
| 153 |
+
---
|
| 154 |
+
|
| 155 |
+
## 四、部署前准备
|
| 156 |
+
|
| 157 |
+
脚本依赖以下命令:
|
| 158 |
+
|
| 159 |
+
```bash
|
| 160 |
+
git --version
|
| 161 |
+
hf version
|
| 162 |
+
python3 --version
|
| 163 |
+
```
|
| 164 |
+
|
| 165 |
+
还需要 Python 包:
|
| 166 |
+
|
| 167 |
+
```bash
|
| 168 |
+
python3 -c "import huggingface_hub" >/dev/null 2>&1 || \
|
| 169 |
+
python3 -m pip install --user 'huggingface_hub[cli]'
|
| 170 |
+
```
|
| 171 |
+
|
| 172 |
+
---
|
| 173 |
+
|
| 174 |
+
## 五、关键变量与密钥
|
| 175 |
+
|
| 176 |
+
在 Space 的 `Settings -> Variables and secrets` 中,至少要有:
|
| 177 |
+
|
| 178 |
+
- 变量: `OPENCLAW_BACKUP_DATASET_REPO`(格式:`username/dataset-name`)
|
| 179 |
+
- 密钥: `HF_TOKEN`(需要对备份 Dataset 有写权限)
|
| 180 |
+
- 密钥: `OPENCLAW_GATEWAY_TOKEN`(推荐)
|
| 181 |
+
- 密钥: `OPENCLAW_GATEWAY_PASSWORD`(可选)
|
| 182 |
+
- 变量: `BT_PANEL_PORT`(默认 `7860`)
|
| 183 |
+
- 变量: `BT_PANEL_USERNAME`(默认 `btadmin`)
|
| 184 |
+
- 密钥: `BT_PANEL_PASSWORD`(BT Panel 密码)
|
| 185 |
+
|
| 186 |
+
如果你使用 `bootstrap-hf.sh` / `bootstrap-hf.ps1`,以上会自动配置。
|
| 187 |
+
|
| 188 |
+
### 可选:预置 LLM(三项必须同时提供)
|
| 189 |
+
|
| 190 |
+
- `OPENCLAW_LLM_BASE_URL`
|
| 191 |
+
- `OPENCLAW_LLM_MODEL`
|
| 192 |
+
- `OPENCLAW_LLM_API_KEY`
|
| 193 |
+
|
| 194 |
+
只填其中 1-2 项不会生效,入口脚本会跳过模型预配置。
|
| 195 |
+
|
| 196 |
+
### 常见可选变量
|
| 197 |
+
|
| 198 |
+
| 变量 | 默认值 | 说明 |
|
| 199 |
+
|------|--------|------|
|
| 200 |
+
| `OPENCLAW_VERSION` | `latest` | OpenClaw 版本 |
|
| 201 |
+
| `OPENCLAW_BACKUP_CRON` | `*/30 * * * *` | 备份周期(默认每 30 分钟) |
|
| 202 |
+
| `OPENCLAW_BACKUP_KEEP_COUNT` | `24` | 保留最新备份数量 |
|
| 203 |
+
| `OPENCLAW_SSHX_AUTO_START` | `false` | 设为 `true` 自动启动 sshx |
|
| 204 |
+
| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway 监听端口 |
|
| 205 |
+
| `BT_PANEL_PORT` | `7860` | BT Panel 监听端口 |
|
| 206 |
+
| `BT_PANEL_USERNAME` | `btadmin` | BT Panel 用户名(小写字母开头) |
|
| 207 |
+
| `BT_PANEL_PASSWORD` | 自动生成 | BT Panel 密码 |
|
| 208 |
+
|
| 209 |
+
---
|
| 210 |
+
|
| 211 |
+
## 六、脚本会问哪些问题
|
| 212 |
+
|
| 213 |
+
按流程,主要输入如下:
|
| 214 |
+
|
| 215 |
+
1. `space_name`(默认 `openclaw-hf`)
|
| 216 |
+
2. `dataset_name`(默认 `<space_name>-backup`)
|
| 217 |
+
3. `OPENCLAW_VERSION`(默认自动探测最新版本)
|
| 218 |
+
4. `OPENCLAW_GATEWAY_TOKEN`(可留空自动生成 32 位随机值)
|
| 219 |
+
5. `OPENCLAW_GATEWAY_PASSWORD`(可留空自动生成 16 位随机值)
|
| 220 |
+
6. `HF_TOKEN`(可留空,复用本地已登录 token)
|
| 221 |
+
7. 是否立即配置 LLM(三项全填才生效)
|
| 222 |
+
8. 如果不配 LLM,是否启用 `OPENCLAW_SSHX_AUTO_START`
|
| 223 |
+
9. **BT Panel 端口**(默认 `7860`)
|
| 224 |
+
10. **BT Panel 用户名**(必须以小写字母开头,只能包含小写字母和数字,长度 3-32 位)
|
| 225 |
+
11. **BT Panel 密码**(可留空自动生成)
|
| 226 |
+
12. 最终确认:`Proceed with these settings?`(选 `no` 会退出,不做远端变更)
|
| 227 |
+
|
| 228 |
+
如果 token/password 由脚本自动生成,会在结束时打印出来,请及时保存。
|
| 229 |
+
|
| 230 |
+
---
|
| 231 |
+
|
| 232 |
+
## 七、部署完成后如何验证
|
| 233 |
+
|
| 234 |
+
假设 Space repo 是 `<owner>/<space_name>`,可用地址如下:
|
| 235 |
+
|
| 236 |
+
| 服务 | 地址 |
|
| 237 |
+
|------|------|
|
| 238 |
+
| BT Panel 管理界面 | `https://<owner>-<space_name>.hf.space:7860` |
|
| 239 |
+
| BT Panel 健康检查 | `https://<owner>-<space_name>.hf.space` |
|
| 240 |
+
| OpenClaw Gateway | `https://<owner>-<space_name>.hf.space:18789` |
|
| 241 |
+
| Space 页面 | `https://huggingface.co/spaces/<owner>/<space_name>` |
|
| 242 |
+
|
| 243 |
+
例如:
|
| 244 |
+
|
| 245 |
+
```bash
|
| 246 |
+
OPENCLAW_HF_SPACE_ID="yourname/openclaw-hf"
|
| 247 |
+
SPACE_HOST="${OPENCLAW_HF_SPACE_ID/\//-}.hf.space"
|
| 248 |
+
echo "BT Panel: https://${SPACE_HOST}:7860"
|
| 249 |
+
echo "Gateway: https://${SPACE_HOST}:18789"
|
| 250 |
+
```
|
| 251 |
+
|
| 252 |
+
> **注意**:部分网络环境下直接访问 `:18789` 端口可能受限。BT Panel 管理界面(7860)是主要访问入口。
|
| 253 |
+
|
| 254 |
+
---
|
| 255 |
+
|
| 256 |
+
## 八、BT Panel 使用说明
|
| 257 |
+
|
| 258 |
+
### 登录 BT Panel
|
| 259 |
+
|
| 260 |
+
1. 部署完成后,等待容器启动(约 2-5 分钟)
|
| 261 |
+
2. 访问 `https://<owner>-<space_name>.hf.space:7860`
|
| 262 |
+
3. 使用部署时设置的 `BT_PANEL_USERNAME` 和 `BT_PANEL_PASSWORD` 登录
|
| 263 |
+
|
| 264 |
+
> 首次登录可能需要等待 BT Panel 服务完全启动,如果页面无法访问,请稍后再试。
|
| 265 |
+
|
| 266 |
+
### BT Panel 安全建议
|
| 267 |
+
|
| 268 |
+
- 部署完成后,建议在 `Settings -> Variables and secrets` 中修改 `BT_PANEL_PASSWORD`
|
| 269 |
+
- 避免在公网暴露 BT Panel 管理界面
|
| 270 |
+
- `BT_PANEL_USERNAME` 必须符合规范:以小写字母开头,只能包含小写字母和数字
|
| 271 |
+
|
| 272 |
+
---
|
| 273 |
+
|
| 274 |
+
## 九、如何进行 OpenClaw 首次配置
|
| 275 |
+
|
| 276 |
+
1. 打开 Hugging Face Space 页面,进入容器日志,找到 `sshx` 输出的临时访问链接
|
| 277 |
+
2. 在浏览器打开该链接进入容器 shell,执行 `openclaw onboard` 按引导完成配置
|
| 278 |
+
3. onboarding 过程中 OpenClaw 可能重启,`sshx` 链接也可能变化;若当前链接失效,回到日志获取新链接继续执行
|
| 279 |
+
4. 官方向导可参考:[https://docs.openclaw.ai/start/wizard](https://docs.openclaw.ai/start/wizard)
|
| 280 |
+
5. 配置完成后,记得回到 `Settings -> Variables and secrets`,将 `OPENCLAW_SSHX_AUTO_START` 改为 `false`(或删除该变量),然后重启 Space,把 `sshx` 关闭
|
| 281 |
+
|
| 282 |
+
如果你修改了 OpenClaw 配置并希望立即生效,可以重启对应进程(示例):
|
| 283 |
+
|
| 284 |
+
```bash
|
| 285 |
+
ps -ef | grep 'openclaw-gateway' | grep -v 'grep' | awk '{print $2}' | xargs -I{} kill {}
|
| 286 |
+
```
|
| 287 |
+
|
| 288 |
+
---
|
| 289 |
+
|
| 290 |
+
## 十、备份与恢复机制
|
| 291 |
+
|
| 292 |
+
本项目的数据生命周期如下:
|
| 293 |
+
|
| 294 |
+
- **启动恢复**:容器启动时从 Dataset 获取 `latest-backup.json` 来定位最新备份并恢复
|
| 295 |
+
- **定时备份**:根据 `OPENCLAW_BACKUP_CRON` 周期上传(默认每 30 分钟)
|
| 296 |
+
- **退出兜底**:容器收到停止信号时再做一次最终备份
|
| 297 |
+
- **产物包含**:
|
| 298 |
+
- `backups/openclaw-backup-<timestamp>.tar.gz`
|
| 299 |
+
- `latest-backup.json`
|
| 300 |
+
- **保留策略**:只保留最近 `OPENCLAW_BACKUP_KEEP_COUNT` 个时间戳归档(默认 `24`)
|
| 301 |
+
|
| 302 |
+
---
|
| 303 |
+
|
| 304 |
+
## 十一、Keep-Alive 与 24/7 运行建议
|
| 305 |
+
|
| 306 |
+
- 免费 `cpu-basic` 会休眠(当前一般约 48 小时无访问后)
|
| 307 |
+
- 严格 24/7 需要付费硬件,并把 `Sleep time` 设为 `Never`
|
| 308 |
+
- 私有 Space 做健康检查必须带 `Authorization: Bearer <HF_TOKEN>`,否则会看到 404(正常权限行为)
|
| 309 |
+
|
| 310 |
+
如果你只是减少冷启动概率,可以定时请求 BT Panel 健康检查地址;在免费层这不是官方保证的常驻方案。
|
| 311 |
+
|
| 312 |
+
### 使用 cron-job.org 做保活
|
| 313 |
+
|
| 314 |
+
如果你不想自己维护定时任务,可以用 [https://cron-job.org/](https://cron-job.org/)。
|
| 315 |
+
|
| 316 |
+
根据其官方 FAQ([https://cron-job.org/faq/](https://cron-job.org/faq/)),支持自定义 Header、HTTPS,以及最高每分钟一次调用。对 OpenClaw Space 来说,每 10-15 分钟 ping 一次通常就够。
|
| 317 |
+
|
| 318 |
+
#### 1. 创建任务
|
| 319 |
+
|
| 320 |
+
1. 打开 [https://cron-job.org/](https://cron-job.org/) 并注册/登录(控制台在 `console.cron-job.org`)
|
| 321 |
+
2. 新建 HTTP cron job
|
| 322 |
+
3. URL 填:`https://<owner>-<space_name>.hf.space`(BT Panel 健康检查)
|
| 323 |
+
4. Method 选 `GET`
|
| 324 |
+
5. 调度建议每 10-15 分钟一次
|
| 325 |
+
|
| 326 |
+
#### 2. 私有 Space 添加 Header
|
| 327 |
+
|
| 328 |
+
```
|
| 329 |
+
Authorization: Bearer <HF_TOKEN>
|
| 330 |
+
```
|
| 331 |
+
|
| 332 |
+
建议单独创建一个仅用于保活的低权限 token,不要复用高权限备份 token。
|
| 333 |
+
|
| 334 |
+
#### 3. 先做 Test Run 再开告警
|
| 335 |
+
|
| 336 |
+
创建任务后先手动测试一次,再启用失败通知(邮件等),方便第一时间发现 Space 不可用或 token 过期。
|
| 337 |
+
|
| 338 |
+
---
|
| 339 |
+
|
| 340 |
+
## 十二、sshx 用法(可选)
|
| 341 |
+
|
| 342 |
+
镜像已预装 `sshx`(以及 `vim`、`opencode`、`codex`、`claude`)。
|
| 343 |
+
|
| 344 |
+
### 1. 自动启动(环境变量)
|
| 345 |
+
|
| 346 |
+
```bash
|
| 347 |
+
OPENCLAW_SSHX_AUTO_START=true
|
| 348 |
+
```
|
| 349 |
+
|
| 350 |
+
### 2. 容器内手动启动
|
| 351 |
+
|
| 352 |
+
```bash
|
| 353 |
+
sshx
|
| 354 |
+
```
|
| 355 |
+
|
| 356 |
+
### 3. 让 OpenClaw 终端后台启动
|
| 357 |
+
|
| 358 |
+
```bash
|
| 359 |
+
nohup sshx >/proc/1/fd/1 2>/proc/1/fd/2 &
|
| 360 |
+
```
|
| 361 |
+
|
| 362 |
+
后续如果临时需要 `sshx`,也可以通过 IM 让 OpenClaw 启动一个;使用完成后,记得再通过 IM 让 OpenClaw 把 `sshx` 关掉。
|
| 363 |
+
|
| 364 |
+
### 使用结束后建议及时清理
|
| 365 |
+
|
| 366 |
+
```bash
|
| 367 |
+
pgrep -fa sshx
|
| 368 |
+
pkill -TERM -f '(^|/)sshx($| )'
|
| 369 |
+
```
|
| 370 |
+
|
| 371 |
+
---
|
| 372 |
+
|
| 373 |
+
## 十三、进程管理说明
|
| 374 |
+
|
| 375 |
+
本项目使用 **Supervisord** 管理进程,而非 PM2:
|
| 376 |
+
|
| 377 |
+
```
|
| 378 |
+
PID 1 (bt-panel)
|
| 379 |
+
└── supervisord
|
| 380 |
+
├── cron
|
| 381 |
+
└── openclaw-gateway
|
| 382 |
+
```
|
| 383 |
+
|
| 384 |
+
- **Supervisord**:作为 bt-panel 的子进程,被正确管理
|
| 385 |
+
- **cron**:定时备份任务(每 30 分钟执行一次)
|
| 386 |
+
- **openclaw-gateway**:OpenClaw Gateway 服务,监听端口 18789
|
| 387 |
+
- **PM2**:已从本项目中移除,不再用于管理 Gateway
|
| 388 |
+
|
| 389 |
+
### 查看进程状态
|
| 390 |
+
|
| 391 |
+
容器内执行:
|
| 392 |
+
|
| 393 |
+
```bash
|
| 394 |
+
supervisorctl status
|
| 395 |
+
```
|
| 396 |
+
|
| 397 |
+
### 查看日志
|
| 398 |
+
|
| 399 |
+
```bash
|
| 400 |
+
# supervisord 日志
|
| 401 |
+
tail -f /var/log/hf-entrypoint/supervisord-stdout.log
|
| 402 |
+
|
| 403 |
+
# cron 日志
|
| 404 |
+
tail -f /var/log/hf-entrypoint/cron-stdout.log
|
| 405 |
+
|
| 406 |
+
# openclaw-gateway 日志
|
| 407 |
+
tail -f /var/log/hf-entrypoint/openclaw-gateway-stdout.log
|
| 408 |
+
```
|
| 409 |
+
|
| 410 |
+
---
|
| 411 |
+
|
| 412 |
+
## 十四、总结
|
| 413 |
+
|
| 414 |
+
如果你的目标是"在 Hugging Face 上快速跑起来一个可恢复的 OpenClaw 实例",本项目已经覆盖了部署、配置、备份、恢复、保活和远程调试这些关键环节,并且通过 BT Panel 提供了更易用的 Web 管理界面。
|
| 415 |
+
|
| 416 |
+
建议优先使用仓库自带的 `bootstrap-hf` 脚本先跑通默认配置,再按需叠加 LLM、保活和 `sshx` 策略。
|
| 417 |
+
|
| 418 |
+
---
|
| 419 |
+
|
| 420 |
+
## 相关链接
|
| 421 |
+
|
| 422 |
+
- 仓库地址:[https://github.com/ClawCopilot/Openclaw-Hf-Docker](https://github.com/ClawCopilot/Openclaw-Hf-Docker)
|
| 423 |
+
- 原文链接:[https://tenfy.cn/posts/openclaw-hf-space-deploy/](https://tenfy.cn/posts/openclaw-hf-space-deploy/)
|
| 424 |
+
- OpenClaw 官方向导:[https://docs.openclaw.ai/start/wizard](https://docs.openclaw.ai/start/wizard)
|
| 425 |
+
- BT Panel 官网:[https://www.bt.cn/](https://www.bt.cn/)
|
Dockerfile
ADDED
|
@@ -0,0 +1,537 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# syntax=docker/dockerfile:1.7
|
| 2 |
+
# enable BuildKit cache mounts
|
| 3 |
+
# use with: docker buildx build --load .
|
| 4 |
+
|
| 5 |
+
FROM ubuntu:24.04
|
| 6 |
+
|
| 7 |
+
ARG DEBIAN_FRONTEND=noninteractive
|
| 8 |
+
|
| 9 |
+
# OpenClaw version (build-time default: latest)
|
| 10 |
+
ARG OPENCLAW_VERSION
|
| 11 |
+
ENV OPENCLAW_VERSION=${OPENCLAW_VERSION:-latest}
|
| 12 |
+
|
| 13 |
+
# ============================================
|
| 14 |
+
# Runtime Override Variables
|
| 15 |
+
# docker run -e VAR=value or docker build --build-arg VAR=value
|
| 16 |
+
# ============================================
|
| 17 |
+
|
| 18 |
+
# ----- HuggingFace Core -----
|
| 19 |
+
ARG HF_TOKEN
|
| 20 |
+
ARG OPENCLAW_HF_SPACE_ID
|
| 21 |
+
ARG OPENCLAW_BACKUP_DATASET_REPO
|
| 22 |
+
ARG OPENCLAW_RESTORE_DATASET_REPO
|
| 23 |
+
ARG OPENCLAW_BACKUP_REPO_TYPE
|
| 24 |
+
ARG OPENCLAW_BACKUP_PATH_PREFIX
|
| 25 |
+
|
| 26 |
+
# ----- Backup Enable/Disable -----
|
| 27 |
+
ARG OPENCLAW_BACKUP_ENABLED
|
| 28 |
+
ARG OPENCLAW_BACKUP_NPM_ENABLED
|
| 29 |
+
ARG OPENCLAW_RESTORE_NPM_ENABLED
|
| 30 |
+
|
| 31 |
+
# ----- Backup Schedule -----
|
| 32 |
+
ARG OPENCLAW_BACKUP_CRON
|
| 33 |
+
ARG OPENCLAW_INCREMENTAL_BACKUP
|
| 34 |
+
ARG OPENCLAW_INCREMENTAL_INTERVAL_MINUTES
|
| 35 |
+
ARG OPENCLAW_FULL_BACKUP_INTERVAL_HOURS
|
| 36 |
+
ARG OPENCLAW_MAX_INCREMENTAL_BACKUPS
|
| 37 |
+
|
| 38 |
+
# ----- Backup Encryption -----
|
| 39 |
+
ARG OPENCLAW_BACKUP_ENCRYPTION_ENABLED
|
| 40 |
+
ARG OPENCLAW_BACKUP_ENCRYPTION_PASSWORD
|
| 41 |
+
|
| 42 |
+
# ----- Backup Retention & Compression -----
|
| 43 |
+
ARG OPENCLAW_BACKUP_KEEP_COUNT
|
| 44 |
+
ARG OPENCLAW_BACKUP_COMPRESSION_LEVEL
|
| 45 |
+
ARG OPENCLAW_BACKUP_SPLIT_SIZE
|
| 46 |
+
ARG OPENCLAW_BACKUP_SIZE_WARNING_MB
|
| 47 |
+
|
| 48 |
+
# ----- Dynamic Backup Strategy -----
|
| 49 |
+
ARG OPENCLAW_DYNAMIC_BACKUP
|
| 50 |
+
ARG OPENCLAW_DYNAMIC_SMALL_THRESHOLD_MB
|
| 51 |
+
ARG OPENCLAW_DYNAMIC_MEDIUM_THRESHOLD_MB
|
| 52 |
+
ARG OPENCLAW_DYNAMIC_HIGH_CHANGE_RATE
|
| 53 |
+
ARG OPENCLAW_DYNAMIC_LOW_CHANGE_RATE
|
| 54 |
+
ARG OPENCLAW_DYNAMIC_MIN_CHANGED_FILES
|
| 55 |
+
ARG OPENCLAW_DYNAMIC_MIN_CHANGED_SIZE_KB
|
| 56 |
+
|
| 57 |
+
# ----- Backup Extra Paths -----
|
| 58 |
+
ARG OPENCLAW_BACKUP_EXTRA_DIRS
|
| 59 |
+
ARG OPENCLAW_BACKUP_EXTRA_FILES
|
| 60 |
+
|
| 61 |
+
# ----- Restore & Watchdog -----
|
| 62 |
+
ARG OPENCLAW_RESTORE_TIMEOUT
|
| 63 |
+
ARG WATCHDOG_INTERVAL
|
| 64 |
+
ARG MAX_BACKUP_AGE_MINUTES
|
| 65 |
+
ARG FORCE_BACKUP_INTERVAL
|
| 66 |
+
|
| 67 |
+
# ----- SSH & SSHX -----
|
| 68 |
+
ARG OPENCLAW_SSH_AGENT_AUTOSTART
|
| 69 |
+
ARG OPENCLAW_SSHX_AUTO_START
|
| 70 |
+
ARG ROOT_PASSWORD
|
| 71 |
+
|
| 72 |
+
# ----- LLM Configuration -----
|
| 73 |
+
ARG OPENCLAW_LLM_BASE_URL
|
| 74 |
+
ARG OPENCLAW_LLM_MODEL
|
| 75 |
+
|
| 76 |
+
# ----- BT Panel -----
|
| 77 |
+
ARG BT_PANEL_PORT
|
| 78 |
+
ARG BT_PANEL_USERNAME
|
| 79 |
+
ARG BT_PANEL_PASSWORD
|
| 80 |
+
ARG BT_PANEL_SAFE_PATH
|
| 81 |
+
ARG BT_PANEL_TIMEZONE
|
| 82 |
+
|
| 83 |
+
# ----- Claude Code Model Router -----
|
| 84 |
+
ARG CCMR_ENABLED
|
| 85 |
+
ARG CCMR_PORT
|
| 86 |
+
|
| 87 |
+
# ============================================
|
| 88 |
+
# Environment Variables (with defaults)
|
| 89 |
+
# ============================================
|
| 90 |
+
|
| 91 |
+
# ----- HuggingFace Core -----
|
| 92 |
+
ENV HF_TOKEN=${HF_TOKEN:-}
|
| 93 |
+
ENV OPENCLAW_HF_SPACE_ID=${OPENCLAW_HF_SPACE_ID:-}
|
| 94 |
+
ENV OPENCLAW_BACKUP_DATASET_REPO=${OPENCLAW_BACKUP_DATASET_REPO:-}
|
| 95 |
+
ENV OPENCLAW_RESTORE_DATASET_REPO=${OPENCLAW_RESTORE_DATASET_REPO:-}
|
| 96 |
+
ENV OPENCLAW_BACKUP_REPO_TYPE=${OPENCLAW_BACKUP_REPO_TYPE:-dataset}
|
| 97 |
+
ENV OPENCLAW_BACKUP_PATH_PREFIX=${OPENCLAW_BACKUP_PATH_PREFIX:-backups}
|
| 98 |
+
|
| 99 |
+
# ----- Backup Enable/Disable -----
|
| 100 |
+
ENV OPENCLAW_BACKUP_ENABLED=${OPENCLAW_BACKUP_ENABLED:-false}
|
| 101 |
+
ENV OPENCLAW_BACKUP_NPM_ENABLED=${OPENCLAW_BACKUP_NPM_ENABLED:-false}
|
| 102 |
+
ENV OPENCLAW_RESTORE_NPM_ENABLED=${OPENCLAW_RESTORE_NPM_ENABLED:-false}
|
| 103 |
+
|
| 104 |
+
# ----- Backup Schedule -----
|
| 105 |
+
ENV OPENCLAW_BACKUP_CRON=${OPENCLAW_BACKUP_CRON:-"*/10 * * * *"}
|
| 106 |
+
ENV OPENCLAW_INCREMENTAL_BACKUP=${OPENCLAW_INCREMENTAL_BACKUP:-true}
|
| 107 |
+
ENV OPENCLAW_INCREMENTAL_INTERVAL_MINUTES=${OPENCLAW_INCREMENTAL_INTERVAL_MINUTES:-15}
|
| 108 |
+
ENV OPENCLAW_FULL_BACKUP_INTERVAL_HOURS=${OPENCLAW_FULL_BACKUP_INTERVAL_HOURS:-1}
|
| 109 |
+
ENV OPENCLAW_MAX_INCREMENTAL_BACKUPS=${OPENCLAW_MAX_INCREMENTAL_BACKUPS:-15}
|
| 110 |
+
|
| 111 |
+
# ----- Backup Encryption -----
|
| 112 |
+
ENV OPENCLAW_BACKUP_ENCRYPTION_ENABLED=${OPENCLAW_BACKUP_ENCRYPTION_ENABLED:-false}
|
| 113 |
+
ENV OPENCLAW_BACKUP_ENCRYPTION_PASSWORD=${OPENCLAW_BACKUP_ENCRYPTION_PASSWORD:-}
|
| 114 |
+
|
| 115 |
+
# ----- Backup Retention & Compression -----
|
| 116 |
+
ENV OPENCLAW_BACKUP_KEEP_COUNT=${OPENCLAW_BACKUP_KEEP_COUNT:-48}
|
| 117 |
+
ENV OPENCLAW_BACKUP_COMPRESSION_LEVEL=${OPENCLAW_BACKUP_COMPRESSION_LEVEL:-6}
|
| 118 |
+
ENV OPENCLAW_BACKUP_SPLIT_SIZE=${OPENCLAW_BACKUP_SPLIT_SIZE:-500M}
|
| 119 |
+
ENV OPENCLAW_BACKUP_SIZE_WARNING_MB=${OPENCLAW_BACKUP_SIZE_WARNING_MB:-1500}
|
| 120 |
+
|
| 121 |
+
# ----- Dynamic Backup Strategy -----
|
| 122 |
+
ENV OPENCLAW_DYNAMIC_BACKUP=${OPENCLAW_DYNAMIC_BACKUP:-true}
|
| 123 |
+
ENV OPENCLAW_DYNAMIC_SMALL_THRESHOLD_MB=${OPENCLAW_DYNAMIC_SMALL_THRESHOLD_MB:-500}
|
| 124 |
+
ENV OPENCLAW_DYNAMIC_MEDIUM_THRESHOLD_MB=${OPENCLAW_DYNAMIC_MEDIUM_THRESHOLD_MB:-2000}
|
| 125 |
+
ENV OPENCLAW_DYNAMIC_HIGH_CHANGE_RATE=${OPENCLAW_DYNAMIC_HIGH_CHANGE_RATE:-10}
|
| 126 |
+
ENV OPENCLAW_DYNAMIC_LOW_CHANGE_RATE=${OPENCLAW_DYNAMIC_LOW_CHANGE_RATE:-2}
|
| 127 |
+
ENV OPENCLAW_DYNAMIC_MIN_CHANGED_FILES=${OPENCLAW_DYNAMIC_MIN_CHANGED_FILES:-5}
|
| 128 |
+
ENV OPENCLAW_DYNAMIC_MIN_CHANGED_SIZE_KB=${OPENCLAW_DYNAMIC_MIN_CHANGED_SIZE_KB:-100}
|
| 129 |
+
|
| 130 |
+
# ----- Backup Extra Paths -----
|
| 131 |
+
ENV OPENCLAW_BACKUP_EXTRA_DIRS=${OPENCLAW_BACKUP_EXTRA_DIRS:-}
|
| 132 |
+
ENV OPENCLAW_BACKUP_EXTRA_FILES=${OPENCLAW_BACKUP_EXTRA_FILES:-}
|
| 133 |
+
|
| 134 |
+
# ----- Restore & Watchdog -----
|
| 135 |
+
ENV OPENCLAW_RESTORE_TIMEOUT=${OPENCLAW_RESTORE_TIMEOUT:-5400}
|
| 136 |
+
ENV WATCHDOG_INTERVAL=${WATCHDOG_INTERVAL:-600}
|
| 137 |
+
ENV MAX_BACKUP_AGE_MINUTES=${MAX_BACKUP_AGE_MINUTES:-30}
|
| 138 |
+
ENV FORCE_BACKUP_INTERVAL=${FORCE_BACKUP_INTERVAL:-14400}
|
| 139 |
+
|
| 140 |
+
# ----- SSH & SSHX -----
|
| 141 |
+
ENV OPENCLAW_SSH_AGENT_AUTOSTART=${OPENCLAW_SSH_AGENT_AUTOSTART:-true}
|
| 142 |
+
ENV OPENCLAW_SSHX_AUTO_START=${OPENCLAW_SSHX_AUTO_START:-false}
|
| 143 |
+
ENV ROOT_PASSWORD=${ROOT_PASSWORD:-"lauer3912"}
|
| 144 |
+
|
| 145 |
+
# ----- LLM Configuration -----
|
| 146 |
+
ENV OPENCLAW_LLM_BASE_URL=${OPENCLAW_LLM_BASE_URL:-}
|
| 147 |
+
ENV OPENCLAW_LLM_MODEL=${OPENCLAW_LLM_MODEL:-}
|
| 148 |
+
|
| 149 |
+
# ----- BT Panel -----
|
| 150 |
+
ENV BT_PANEL_PORT=${BT_PANEL_PORT:-7860}
|
| 151 |
+
ENV BT_PANEL_USERNAME=${BT_PANEL_USERNAME:-btadmin}
|
| 152 |
+
ENV BT_PANEL_PASSWORD=${BT_PANEL_PASSWORD:-}
|
| 153 |
+
ENV BT_PANEL_SAFE_PATH=${BT_PANEL_SAFE_PATH:-}
|
| 154 |
+
ENV BT_PANEL_TIMEZONE=${BT_PANEL_TIMEZONE:-Asia/Shanghai}
|
| 155 |
+
|
| 156 |
+
# ----- Claude Code Model Router -----
|
| 157 |
+
ENV CCMR_ENABLED=${CCMR_ENABLED:-false}
|
| 158 |
+
ENV CCMR_PORT=${CCMR_PORT:-8080}
|
| 159 |
+
ENV CCMR_CONFIG_DIR=${CCMR_CONFIG_DIR:-/root/.ccmr}
|
| 160 |
+
|
| 161 |
+
# ----- Supervisor -----
|
| 162 |
+
ENV SUPERVISOR_HTTP_AUTH=${SUPERVISOR_HTTP_AUTH:-supervisor}
|
| 163 |
+
|
| 164 |
+
# ============================================
|
| 165 |
+
# BuildKit cache mounts for faster builds
|
| 166 |
+
# ============================================
|
| 167 |
+
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
|
| 168 |
+
--mount=type=cache,target=/var/lib/apt,sharing=locked \
|
| 169 |
+
--mount=type=cache,target=/root/.cache/pip,sharing=locked \
|
| 170 |
+
--mount=type=cache,target=/root/.go/cache,sharing=locked \
|
| 171 |
+
set -eux; \
|
| 172 |
+
echo "BuildKit cache mounts enabled"
|
| 173 |
+
|
| 174 |
+
RUN printf 'Acquire::Retries "5";\nAcquire::http::Timeout "30";\nAcquire::https::Timeout "30";\n' \
|
| 175 |
+
> /etc/apt/apt.conf.d/80-openclaw-retries && \
|
| 176 |
+
set -eux; \
|
| 177 |
+
for attempt in 1 2 3 4 5; do \
|
| 178 |
+
if apt-get update && apt-get install -y --no-install-recommends \
|
| 179 |
+
ca-certificates \
|
| 180 |
+
cmake \
|
| 181 |
+
cron \
|
| 182 |
+
curl \
|
| 183 |
+
sudo \
|
| 184 |
+
supervisor \
|
| 185 |
+
g++ \
|
| 186 |
+
gh \
|
| 187 |
+
git \
|
| 188 |
+
lsof \
|
| 189 |
+
gnupg \
|
| 190 |
+
gosu \
|
| 191 |
+
openssh-server \
|
| 192 |
+
openssh-client \
|
| 193 |
+
hostname \
|
| 194 |
+
jq \
|
| 195 |
+
libasound2t64 \
|
| 196 |
+
libatk-bridge2.0-0 \
|
| 197 |
+
libatk1.0-0 \
|
| 198 |
+
libatspi2.0-0 \
|
| 199 |
+
libcairo2 \
|
| 200 |
+
libcups2t64 \
|
| 201 |
+
libdbus-1-3 \
|
| 202 |
+
libgbm1 \
|
| 203 |
+
libglib2.0-0 \
|
| 204 |
+
libnspr4 \
|
| 205 |
+
libnss3 \
|
| 206 |
+
libpango-1.0-0 \
|
| 207 |
+
libx11-6 \
|
| 208 |
+
libxcb1 \
|
| 209 |
+
libxcomposite1 \
|
| 210 |
+
libxdamage1 \
|
| 211 |
+
libxext6 \
|
| 212 |
+
libxfixes3 \
|
| 213 |
+
libxkbcommon0 \
|
| 214 |
+
libxrandr2 \
|
| 215 |
+
make \
|
| 216 |
+
neovim \
|
| 217 |
+
nginx \
|
| 218 |
+
openssl \
|
| 219 |
+
procps \
|
| 220 |
+
python3 \
|
| 221 |
+
python3-pip \
|
| 222 |
+
tar \
|
| 223 |
+
unzip \
|
| 224 |
+
vim \
|
| 225 |
+
ffmpeg \
|
| 226 |
+
imagemagick \
|
| 227 |
+
inotify-tools \
|
| 228 |
+
sshpass \
|
| 229 |
+
wget \
|
| 230 |
+
libbz2-dev \
|
| 231 |
+
libcurl4-openssl-dev \
|
| 232 |
+
libffi-dev \
|
| 233 |
+
libfreetype-dev \
|
| 234 |
+
libgdbm-dev \
|
| 235 |
+
libicu-dev \
|
| 236 |
+
libjpeg-dev \
|
| 237 |
+
liblzma-dev \
|
| 238 |
+
libncurses-dev \
|
| 239 |
+
libpcap-dev \
|
| 240 |
+
libpcre3-dev \
|
| 241 |
+
libpng-dev \
|
| 242 |
+
libreadline-dev \
|
| 243 |
+
libsqlite3-dev \
|
| 244 |
+
libssl-dev \
|
| 245 |
+
libwebp-dev \
|
| 246 |
+
libxml2-dev \
|
| 247 |
+
libxslt-dev \
|
| 248 |
+
tk-dev \
|
| 249 |
+
zlib1g-dev; then \
|
| 250 |
+
break; \
|
| 251 |
+
fi; \
|
| 252 |
+
if [ "$attempt" -eq 5 ]; then \
|
| 253 |
+
exit 1; \
|
| 254 |
+
fi; \
|
| 255 |
+
echo "apt bootstrap failed on attempt $attempt, retrying..." >&2; \
|
| 256 |
+
rm -rf /var/lib/apt/lists/*; \
|
| 257 |
+
sleep $((attempt * 5)); \
|
| 258 |
+
done; \
|
| 259 |
+
rm -rf /var/lib/apt/lists/*
|
| 260 |
+
|
| 261 |
+
# Install Go 1.25 (official binary release)
|
| 262 |
+
RUN ARCH="$(dpkg --print-architecture)" && \
|
| 263 |
+
case "$ARCH" in \
|
| 264 |
+
amd64) GO_ARCH="amd64" ;; \
|
| 265 |
+
arm64) GO_ARCH="arm64" ;; \
|
| 266 |
+
*) echo "unsupported arch for go: $ARCH" >&2; exit 1 ;; \
|
| 267 |
+
esac && \
|
| 268 |
+
curl -fsSL "https://go.dev/dl/go1.25.9.linux-${GO_ARCH}.tar.gz" -o /tmp/go.tar.gz && \
|
| 269 |
+
rm -rf /usr/local/go && \
|
| 270 |
+
tar -C /usr/local -xzf /tmp/go.tar.gz && \
|
| 271 |
+
rm /tmp/go.tar.gz && \
|
| 272 |
+
/usr/local/go/bin/go version
|
| 273 |
+
|
| 274 |
+
# Install Rust stable via rustup
|
| 275 |
+
RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y --default-toolchain stable && \
|
| 276 |
+
. "$HOME/.cargo/env" && \
|
| 277 |
+
rustc --version && \
|
| 278 |
+
cargo --version
|
| 279 |
+
RUN curl -fsSL https://deb.nodesource.com/setup_24.x | bash - && \
|
| 280 |
+
apt-get install -y --no-install-recommends nodejs && \
|
| 281 |
+
node --version && \
|
| 282 |
+
npm --version && \
|
| 283 |
+
rm -rf /var/lib/apt/lists/*
|
| 284 |
+
|
| 285 |
+
RUN /bin/bash -lc 'set -euo pipefail; \
|
| 286 |
+
CFT_VERSION="$(curl -fsSL https://googlechromelabs.github.io/chrome-for-testing/LATEST_RELEASE_STABLE)"; \
|
| 287 |
+
DEB_ARCH="$(dpkg --print-architecture)"; \
|
| 288 |
+
case "$DEB_ARCH" in \
|
| 289 |
+
amd64) CFT_ARCH=linux64 ;; \
|
| 290 |
+
arm64) CFT_ARCH=linux-arm64 ;; \
|
| 291 |
+
*) echo "unsupported architecture for chromium: $DEB_ARCH" >&2; exit 1 ;; \
|
| 292 |
+
esac; \
|
| 293 |
+
CFT_ZIP="chrome-${CFT_ARCH}.zip"; \
|
| 294 |
+
CFT_DIR="chrome-${CFT_ARCH}"; \
|
| 295 |
+
CFT_URL="https://storage.googleapis.com/chrome-for-testing-public/${CFT_VERSION}/${CFT_ARCH}/${CFT_ZIP}"; \
|
| 296 |
+
curl -fsSL "$CFT_URL" -o "/tmp/${CFT_ZIP}"; \
|
| 297 |
+
rm -rf "/opt/${CFT_DIR}"; \
|
| 298 |
+
unzip -q "/tmp/${CFT_ZIP}" -d /opt; \
|
| 299 |
+
rm -f "/tmp/${CFT_ZIP}"; \
|
| 300 |
+
ln -sf "/opt/${CFT_DIR}/chrome" /usr/local/bin/chromium; \
|
| 301 |
+
chromium --version >/dev/null'
|
| 302 |
+
|
| 303 |
+
|
| 304 |
+
RUN /bin/bash -lc 'set -euo pipefail; \
|
| 305 |
+
OPENCLAW_VERSION_VALUE="${OPENCLAW_VERSION:-latest}"; \
|
| 306 |
+
HOME=/root curl -fsSL https://openclaw.ai/install.sh | bash -s -- --no-onboard --version "$OPENCLAW_VERSION_VALUE"'
|
| 307 |
+
|
| 308 |
+
RUN /bin/bash -lc 'set -euo pipefail; \
|
| 309 |
+
OPENCLAW_BIN="$(command -v openclaw || true)"; \
|
| 310 |
+
if [[ -z "$OPENCLAW_BIN" ]] && [[ -x /root/.npm-global/bin/openclaw ]]; then \
|
| 311 |
+
OPENCLAW_BIN=/root/.npm-global/bin/openclaw; \
|
| 312 |
+
elif [[ -z "$OPENCLAW_BIN" ]] && [[ -x /root/.local/bin/openclaw ]]; then \
|
| 313 |
+
OPENCLAW_BIN=/root/.local/bin/openclaw; \
|
| 314 |
+
fi; \
|
| 315 |
+
if [[ -z "$OPENCLAW_BIN" ]]; then \
|
| 316 |
+
echo "openclaw command not found after installer" >&2; \
|
| 317 |
+
exit 1; \
|
| 318 |
+
fi; \
|
| 319 |
+
ln -sf "$OPENCLAW_BIN" /usr/local/bin/openclaw; \
|
| 320 |
+
/usr/local/bin/openclaw --help >/dev/null'
|
| 321 |
+
|
| 322 |
+
RUN /bin/bash -lc 'set -euo pipefail; \
|
| 323 |
+
if ! command -v npm >/dev/null; then \
|
| 324 |
+
echo "npm command not found; cannot install developer CLIs" >&2; \
|
| 325 |
+
exit 1; \
|
| 326 |
+
fi; \
|
| 327 |
+
npm install -g --no-audit --no-fund opencode-ai @openai/codex @anthropic-ai/claude-code @larksuite/cli; \
|
| 328 |
+
npm install -g --no-audit --no-fund claude-code-model-router; \
|
| 329 |
+
npx skills add larksuite/cli -y -g; \
|
| 330 |
+
NPM_PREFIX="$(npm config get prefix)"; \
|
| 331 |
+
NPM_BIN="${NPM_PREFIX%/}/bin"; \
|
| 332 |
+
for cmd in opencode codex claude ccmr; do \
|
| 333 |
+
CLI_BIN="$(command -v "$cmd" || true)"; \
|
| 334 |
+
if [[ -z "$CLI_BIN" ]] && [[ -x "$NPM_BIN/$cmd" ]]; then \
|
| 335 |
+
CLI_BIN="$NPM_BIN/$cmd"; \
|
| 336 |
+
elif [[ -z "$CLI_BIN" ]] && [[ -x /root/.npm-global/bin/"$cmd" ]]; then \
|
| 337 |
+
CLI_BIN=/root/.npm-global/bin/"$cmd"; \
|
| 338 |
+
elif [[ -z "$CLI_BIN" ]] && [[ -x /root/.local/bin/"$cmd" ]]; then \
|
| 339 |
+
CLI_BIN=/root/.local/bin/"$cmd"; \
|
| 340 |
+
fi; \
|
| 341 |
+
if [[ -z "$CLI_BIN" ]]; then \
|
| 342 |
+
echo "$cmd command not found after npm install" >&2; \
|
| 343 |
+
exit 1; \
|
| 344 |
+
fi; \
|
| 345 |
+
ln -sf "$CLI_BIN" "/usr/local/bin/$cmd"; \
|
| 346 |
+
"/usr/local/bin/$cmd" --help >/dev/null; \
|
| 347 |
+
done'
|
| 348 |
+
|
| 349 |
+
# Install PM2 for process management
|
| 350 |
+
RUN npm install -g --no-audit --no-fund pm2 && pm2 --version
|
| 351 |
+
|
| 352 |
+
RUN python3 -m pip install --no-cache-dir --break-system-packages "huggingface_hub[cli]>=0.31.1" "uv>=0.6.0" "Pillow>=10.0.0" && \
|
| 353 |
+
hf --help >/dev/null && \
|
| 354 |
+
uv --version >/dev/null
|
| 355 |
+
|
| 356 |
+
RUN python3 --version >/dev/null && \
|
| 357 |
+
gh --version >/dev/null && \
|
| 358 |
+
nvim --version >/dev/null && \
|
| 359 |
+
command -v chromium >/dev/null
|
| 360 |
+
|
| 361 |
+
RUN HOME=/root /bin/bash -lc "curl -sSf https://sshx.io/get | sh" && \
|
| 362 |
+
if [ -x /root/.local/bin/sshx ]; then ln -sf /root/.local/bin/sshx /usr/local/bin/sshx; fi && \
|
| 363 |
+
sshx --help >/dev/null
|
| 364 |
+
|
| 365 |
+
# Install DDNS-GO for dynamic DNS updates (non-critical, don't fail build)
|
| 366 |
+
RUN /bin/bash -lc ' \
|
| 367 |
+
DDNS_VERSION="$(curl -fsSL https://api.github.com/repos/jeessy2/ddns-go/releases/latest 2>/dev/null | python3 -c "import sys,json; print(json.load(sys.stdin)[\"tag_name\"])" 2>/dev/null || echo "v6.1.0")"; \
|
| 368 |
+
DEB_ARCH="$(dpkg --print-architecture)"; \
|
| 369 |
+
case "$DEB_ARCH" in \
|
| 370 |
+
amd64) DDNS_ARCH=amd64 ;; \
|
| 371 |
+
arm64) DDNS_ARCH=arm64 ;; \
|
| 372 |
+
*) echo "unsupported architecture for ddns-go: $DEB_ARCH" >&2; exit 0 ;; \
|
| 373 |
+
esac; \
|
| 374 |
+
curl -fsSL "https://github.com/jeessy2/ddns-go/releases/download/${DDNS_VERSION}/ddns-go_${DDNS_VERSION#v}_linux_${DDNS_ARCH}.tar.gz" -o /tmp/ddns-go.tar.gz && \
|
| 375 |
+
tar -xzf /tmp/ddns-go.tar.gz -C /tmp && \
|
| 376 |
+
mv /tmp/ddns-go /usr/local/bin/ddns-go && \
|
| 377 |
+
chmod +x /usr/local/bin/ddns-go && \
|
| 378 |
+
rm -f /tmp/ddns-go.tar.gz && \
|
| 379 |
+
ddns-go --version || true'
|
| 380 |
+
|
| 381 |
+
WORKDIR /root
|
| 382 |
+
|
| 383 |
+
# Copy all scripts and configs first
|
| 384 |
+
COPY scripts/openclaw-entrypoint.sh /usr/local/bin/openclaw-entrypoint.sh
|
| 385 |
+
COPY scripts/openclaw-backup-cron.sh /usr/local/bin/openclaw-backup-cron.sh
|
| 386 |
+
COPY scripts/openclaw-backup-health.sh /usr/local/bin/openclaw-backup-health.sh
|
| 387 |
+
COPY scripts/openclaw-backup-watchdog.sh /usr/local/bin/openclaw-backup-watchdog.sh
|
| 388 |
+
COPY scripts/openclaw-restore.sh /usr/local/bin/openclaw-restore.sh
|
| 389 |
+
COPY scripts/openclaw-gateway-ctl /usr/local/bin/openclaw-gateway-ctl
|
| 390 |
+
COPY scripts/hf-entrypoint.sh /usr/local/bin/hf-entrypoint.sh
|
| 391 |
+
COPY scripts/ssh-agent-autostart.sh /usr/local/bin/ssh-agent-autostart.sh
|
| 392 |
+
COPY scripts/save-env.sh /usr/local/bin/save-env.sh
|
| 393 |
+
COPY scripts/update-env-from-secrets.sh /usr/local/bin/update-env-from-secrets.sh
|
| 394 |
+
COPY scripts/openclaw-env-sync.sh /usr/local/bin/openclaw-env-sync.sh
|
| 395 |
+
COPY scripts/upgrade-openclaw.sh /usr/local/bin/upgrade-openclaw.sh
|
| 396 |
+
COPY scripts/nginx-demo.sh /usr/local/bin/nginx-demo.sh
|
| 397 |
+
COPY scripts/supervisord.conf /etc/supervisor/supervisord.conf
|
| 398 |
+
COPY pm2/ecosystem.config.js /app/pm2/ecosystem.config.js
|
| 399 |
+
COPY scripts/server.js /app/hf-server.js
|
| 400 |
+
COPY scripts/ccmr-setup.sh /usr/local/bin/ccmr-setup.sh
|
| 401 |
+
COPY scripts/ccmr-wrapper.sh /usr/local/bin/ccmr-wrapper.sh
|
| 402 |
+
COPY scripts/ccmr.env.example /root/.env.d/ccmr.env.example
|
| 403 |
+
COPY openclaw_hf /opt/openclaw-hf/openclaw_hf
|
| 404 |
+
COPY hf-patch-v1.0.0.tar.gz.enc /root/.hf-patch/hf-patch-v1.0.0.tar.gz.enc
|
| 405 |
+
|
| 406 |
+
# Set execute permissions on all scripts
|
| 407 |
+
RUN chmod 755 /usr/local/bin/openclaw-entrypoint.sh \
|
| 408 |
+
/usr/local/bin/openclaw-backup-cron.sh \
|
| 409 |
+
/usr/local/bin/openclaw-backup-health.sh \
|
| 410 |
+
/usr/local/bin/openclaw-backup-watchdog.sh \
|
| 411 |
+
/usr/local/bin/openclaw-restore.sh \
|
| 412 |
+
/usr/local/bin/openclaw-gateway-ctl \
|
| 413 |
+
/usr/local/bin/hf-entrypoint.sh \
|
| 414 |
+
/usr/local/bin/ssh-agent-autostart.sh \
|
| 415 |
+
/usr/local/bin/save-env.sh \
|
| 416 |
+
/usr/local/bin/update-env-from-secrets.sh \
|
| 417 |
+
/usr/local/bin/openclaw-env-sync.sh \
|
| 418 |
+
/usr/local/bin/ccmr-setup.sh \
|
| 419 |
+
/usr/local/bin/ccmr-wrapper.sh \
|
| 420 |
+
/usr/local/bin/upgrade-openclaw.sh \
|
| 421 |
+
/usr/local/bin/nginx-demo.sh && \
|
| 422 |
+
mkdir -p /root/.openclaw/workspace /var/log/openclaw /root/.pm2 /var/log/supervisor /var/run /root/.ssh && \
|
| 423 |
+
chmod 700 /root/.ssh
|
| 424 |
+
|
| 425 |
+
ENV NODE_ENV=production
|
| 426 |
+
ENV PM2_HOME=/root/.pm2
|
| 427 |
+
ENV PYTHONUNBUFFERED=1
|
| 428 |
+
ENV HOME=/root
|
| 429 |
+
ENV PATH="/usr/local/go/bin:/root/.cargo/bin:$PATH"
|
| 430 |
+
ENV GOPROXY=https://goproxy.cn,direct
|
| 431 |
+
ENV OPENCLAW_HOME=/root
|
| 432 |
+
ENV OPENCLAW_USER=root
|
| 433 |
+
ENV OPENCLAW_GROUP=root
|
| 434 |
+
ENV OPENCLAW_STATE_DIR=/root/.openclaw
|
| 435 |
+
ENV OPENCLAW_WORKSPACE_DIR=/root/.openclaw/workspace
|
| 436 |
+
ENV OPENCLAW_CONFIG_PATH=/root/.openclaw/openclaw.json
|
| 437 |
+
ENV OPENCLAW_GATEWAY_BIND=lan
|
| 438 |
+
ENV OPENCLAW_GATEWAY_PORT=18789
|
| 439 |
+
ENV OPENCLAW_INIT_GATEWAY_MODE=local
|
| 440 |
+
ENV OPENCLAW_GATEWAY_AUTH_MODE=token
|
| 441 |
+
ENV OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_ALLOW_HOST_HEADER_ORIGIN_FALLBACK=true
|
| 442 |
+
ENV OPENCLAW_GATEWAY_CONTROLUI_ALLOW_INSECURE_AUTH=false
|
| 443 |
+
ENV OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_DISABLE_DEVICE_AUTH=false
|
| 444 |
+
ENV OPENCLAW_LLM_PROVIDER=thirdparty
|
| 445 |
+
ENV OPENCLAW_LLM_API=openai-completions
|
| 446 |
+
ENV OPENCLAW_BACKUP_SOURCE_DIR=/root/.openclaw
|
| 447 |
+
ENV OPENCLAW_BACKUP_ROOT_CONFIG_DIR=/root/.config
|
| 448 |
+
ENV OPENCLAW_BACKUP_ROOT_CODEX_DIR=/root/.codex
|
| 449 |
+
ENV OPENCLAW_BACKUP_ROOT_CLAUDE_DIR=/root/.claude
|
| 450 |
+
ENV OPENCLAW_BACKUP_ROOT_CARGO_DIR=/root/.cargo
|
| 451 |
+
ENV OPENCLAW_BACKUP_ROOT_PIP_DIR=/root/.pip
|
| 452 |
+
ENV OPENCLAW_BACKUP_ROOT_RUSTUP_DIR=/root/.rustup
|
| 453 |
+
ENV OPENCLAW_BACKUP_ROOT_AGENTS_DIR=/root/.agents
|
| 454 |
+
ENV OPENCLAW_BACKUP_ROOT_SSH_DIR=/root/.ssh
|
| 455 |
+
ENV OPENCLAW_BACKUP_ROOT_ENV_DIR=/root/.env.d
|
| 456 |
+
ENV OPENCLAW_BACKUP_ROOT_NPM_DIR=/root/.npm
|
| 457 |
+
ENV OPENCLAW_BACKUP_ROOT_LARK_CLI_DIR=/root/.lark-cli
|
| 458 |
+
ENV OPENCLAW_BACKUP_PRIVATE=true
|
| 459 |
+
|
| 460 |
+
# Backup health check configuration
|
| 461 |
+
ENV OPENCLAW_BACKUP_HEALTH_CHECK_ENABLED=false
|
| 462 |
+
ENV OPENCLAW_BACKUP_HEALTH_CHECK_BEFORE=false
|
| 463 |
+
ENV OPENCLAW_BACKUP_HEALTH_CHECK_AFTER=false
|
| 464 |
+
ENV OPENCLAW_BACKUP_MAX_RETRIES=3
|
| 465 |
+
ENV OPENCLAW_MAX_BACKUP_AGE_MINUTES=90
|
| 466 |
+
ENV OPENCLAW_MAX_FAILED_ATTEMPTS=3
|
| 467 |
+
|
| 468 |
+
# ============================================
|
| 469 |
+
# Labels
|
| 470 |
+
# ============================================
|
| 471 |
+
ARG BUILD_VERSION
|
| 472 |
+
ENV BUILD_VERSION=${BUILD_VERSION:-latest}
|
| 473 |
+
LABEL org.opencontainers.image.title="GGSheng ClawCopilot HF Space"
|
| 474 |
+
LABEL org.opencontainers.image.description="GGSheng ClawCopilot with BT Panel on HuggingFace Spaces"
|
| 475 |
+
LABEL org.opencontainers.image.version="${BUILD_VERSION:-latest}"
|
| 476 |
+
LABEL org.opencontainers.image.authors="GGSheng ClawCopilot Team"
|
| 477 |
+
LABEL org.opencontainers.image.source="https://github.com/ClawCopilot/Openclaw-Hf-Docker"
|
| 478 |
+
|
| 479 |
+
# ============================================
|
| 480 |
+
# Healthcheck
|
| 481 |
+
# ============================================
|
| 482 |
+
# 检查宝塔面板和SSH服务
|
| 483 |
+
HEALTHCHECK --interval=30s --timeout=10s --start-period=10s --retries=3 \
|
| 484 |
+
CMD /usr/local/bin/check_ssh_health.sh --no-response >/dev/null 2>&1 && \
|
| 485 |
+
curl -f http://localhost:7860 >/dev/null 2>&1 || exit 1
|
| 486 |
+
|
| 487 |
+
# BT Panel default port (使用变量支持构建时自定义)
|
| 488 |
+
EXPOSE ${BT_PANEL_PORT:-7860}
|
| 489 |
+
# Openclaw default gateway port (使用变量支持构建时自定义)
|
| 490 |
+
EXPOSE ${OPENCLAW_GATEWAY_PORT:-18789}
|
| 491 |
+
# CCMR port (Claude Code Model Router)
|
| 492 |
+
EXPOSE ${CCMR_PORT:-8080}
|
| 493 |
+
# tunnel listen port
|
| 494 |
+
EXPOSE ${TUNNEL_LISTEN_PORT:-1080}
|
| 495 |
+
|
| 496 |
+
# Install BT Panel (宝塔面板) with custom root route
|
| 497 |
+
# 使用本地修改后的宝塔源码和依赖
|
| 498 |
+
COPY scripts/bt_install_panel_custom.sh /tmp/bt-install-panel.sh
|
| 499 |
+
COPY bt-source/panel /www/server/panel
|
| 500 |
+
COPY bt-source/init/bt6.init /www/server/panel/install/src/bt6.init
|
| 501 |
+
COPY bt-source/init/bt7.init /www/server/panel/install/src/bt7.init
|
| 502 |
+
COPY bt-source/install/public.sh /www/server/panel/install/public.sh
|
| 503 |
+
COPY bt-source/conf/softList.conf /www/server/panel/install/conf/softList.conf
|
| 504 |
+
|
| 505 |
+
COPY index.html /www/server/panel/index.html
|
| 506 |
+
|
| 507 |
+
# SSH Stability Optimization
|
| 508 |
+
COPY scripts/optimize_ssh.sh /tmp/optimize_ssh.sh
|
| 509 |
+
COPY scripts/ssh_service_watchdog.sh /usr/local/bin/ssh_service_watchdog.sh
|
| 510 |
+
COPY scripts/check_ssh_health.sh /usr/local/bin/check_ssh_health.sh
|
| 511 |
+
RUN chmod +x /tmp/optimize_ssh.sh && \
|
| 512 |
+
chmod +x /usr/local/bin/ssh_service_watchdog.sh && \
|
| 513 |
+
chmod +x /usr/local/bin/check_ssh_health.sh && \
|
| 514 |
+
if [ -f /etc/ssh/sshd_config ]; then \
|
| 515 |
+
bash /tmp/optimize_ssh.sh || echo "SSH optimization completed with warnings"; \
|
| 516 |
+
fi && \
|
| 517 |
+
rm -f /tmp/optimize_ssh.sh && \
|
| 518 |
+
echo "[SSH-WATCHDOG] SSH服务看门狗脚本已安装"
|
| 519 |
+
|
| 520 |
+
|
| 521 |
+
RUN chmod 755 /tmp/bt-install-panel.sh && \
|
| 522 |
+
echo "[BT-PANEL] 开始自动化安装..." && \
|
| 523 |
+
echo "[BT-PANEL] 使用本地修改后的源码和依赖" && \
|
| 524 |
+
echo " - PANEL_PORT: ${BT_PANEL_PORT:-7860}" && \
|
| 525 |
+
export PANEL_PORT="${BT_PANEL_PORT:-7860}" && \
|
| 526 |
+
export PANEL_USER="${BT_PANEL_USERNAME:-bt}" && \
|
| 527 |
+
export PANEL_PASSWORD="${BT_PANEL_PASSWORD:-}" && \
|
| 528 |
+
export SAFE_PATH="${BT_PANEL_SAFE_PATH:-}" && \
|
| 529 |
+
export BT_TIMEZONE="${BT_PANEL_TIMEZONE:-Asia/Shanghai}" && \
|
| 530 |
+
export go=y && \
|
| 531 |
+
export yes=yes && \
|
| 532 |
+
bash /tmp/bt-install-panel.sh; \
|
| 533 |
+
rm -f /tmp/bt-install-panel.sh
|
| 534 |
+
|
| 535 |
+
# HF Spaces entrypoint: bt-panel as PID 1, PM2 manages openclaw
|
| 536 |
+
ENTRYPOINT ["/usr/local/bin/hf-entrypoint.sh"]
|
| 537 |
+
CMD []
|
LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
MIT License
|
| 2 |
+
|
| 3 |
+
Copyright (c) 2026 tenfyzhong
|
| 4 |
+
|
| 5 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 6 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 7 |
+
in the Software without restriction, including without limitation the rights
|
| 8 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 9 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 10 |
+
furnished to do so, subject to the following conditions:
|
| 11 |
+
|
| 12 |
+
The above copyright notice and this permission notice shall be included in all
|
| 13 |
+
copies or substantial portions of the Software.
|
| 14 |
+
|
| 15 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 16 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 17 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 18 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 19 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 20 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
| 21 |
+
SOFTWARE.
|
README.md
CHANGED
|
@@ -1,10 +1,338 @@
|
|
| 1 |
---
|
| 2 |
-
title:
|
| 3 |
-
emoji:
|
| 4 |
-
colorFrom:
|
| 5 |
-
colorTo:
|
| 6 |
sdk: docker
|
|
|
|
|
|
|
|
|
|
|
|
|
| 7 |
pinned: false
|
| 8 |
---
|
| 9 |
|
| 10 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
---
|
| 2 |
+
title: action
|
| 3 |
+
emoji: 🦞
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
sdk: docker
|
| 7 |
+
sdk_version: 29.0.4
|
| 8 |
+
python_version: 3.14.4
|
| 9 |
+
app_port: 7860
|
| 10 |
+
app_file: mian.py
|
| 11 |
pinned: false
|
| 12 |
---
|
| 13 |
|
| 14 |
+
# OpenClaw on Hugging Face Space (Docker)
|
| 15 |
+
|
| 16 |
+
> **Languages:** [English](./README.md) · [简体中文](./README_zh.md)
|
| 17 |
+
> **Deployment Guide:** [DEPLOY_GUIDE.md](./DEPLOY_GUIDE.md) | [中文部署指南](./DEPLOY_GUIDE_zh.md)
|
| 18 |
+
|
| 19 |
+
This setup is designed to provide the following:
|
| 20 |
+
|
| 21 |
+
- Build the OpenClaw container on top of `ubuntu:24.04`
|
| 22 |
+
- Serve the OpenClaw dashboard directly on port `7860` (default Space access port)
|
| 23 |
+
- Use third-party OpenAI-compatible `base_url + api_key` by default (injected via environment variables)
|
| 24 |
+
- Store OpenClaw config/workspace under `/root/.openclaw`
|
| 25 |
+
- Restore state automatically from a Hugging Face Dataset on startup
|
| 26 |
+
- Run scheduled backups of OpenClaw data to a Hugging Face Dataset via `cron` (as `root` user)
|
| 27 |
+
- Incremental backup + dynamic strategy + AES-256-CBC encryption + large file splitting
|
| 28 |
+
- Backup watchdog (auto-triggers backup when cron fails)
|
| 29 |
+
- SSH service with auto-healing watchdog + host key generation
|
| 30 |
+
- CCMR (Claude Code Model Router) with 10 platform API key support
|
| 31 |
+
- Multi-dataset restore (restore from a different dataset)
|
| 32 |
+
- Preinstall `python3`, `uv`, `vim`, `neovim`, `chromium` (via Chrome for Testing archive), `gh`, `hf`, `opencode`, `codex`, `claude` (Claude Code CLI), `@larksuite/cli` (with `npx skills add larksuite/cli -y -g`), and `sshx` in the image for interactive terminal use
|
| 33 |
+
|
| 34 |
+
## Repository Layout
|
| 35 |
+
|
| 36 |
+
- `Dockerfile`: Runtime image for the Space
|
| 37 |
+
- `scripts/openclaw-entrypoint.sh`: Main startup flow (restore, config generation, cron setup, gateway start)
|
| 38 |
+
- `scripts/hf-entrypoint.sh`: HF Spaces container entrypoint (PID 1, manages supervisord + SSH + PM2 + BT Panel)
|
| 39 |
+
- `scripts/supervisord.conf`: Supervisord config, manages cron, backup-watchdog, openclaw-gateway, ccmr-gateway
|
| 40 |
+
- `openclaw_hf/backup.py`: Backup/restore implementation (full/incremental, encryption, split, dynamic strategy, resume)
|
| 41 |
+
- `scripts/openclaw-backup-cron.sh`: Cron entrypoint for backup jobs
|
| 42 |
+
- `scripts/openclaw-backup-watchdog.sh`: Backup watchdog, auto-triggers backup when overdue
|
| 43 |
+
- `scripts/openclaw-backup-health.sh`: Backup health check & auto-repair
|
| 44 |
+
- `scripts/openclaw-restore.sh`: Startup restore entrypoint
|
| 45 |
+
- `scripts/openclaw-gateway-ctl`: Gateway process management (start/stop/restart/reload)
|
| 46 |
+
- `scripts/openclaw-env-sync.sh`: Sync environment variables from HF API
|
| 47 |
+
- `scripts/update-env-from-secrets.sh`: Fetch latest env vars from HF API
|
| 48 |
+
- `scripts/bt_install_panel_custom.sh`: BT Panel installation script
|
| 49 |
+
- `scripts/bootstrap-hf.sh`: Interactive bootstrap for Space/Dataset creation, upload, and Space variables/secrets setup (macOS/Linux)
|
| 50 |
+
- `scripts/bootstrap-hf.ps1`: Interactive bootstrap for Space/Dataset creation, upload, and Space variables/secrets setup (Windows PowerShell)
|
| 51 |
+
- `scripts/rebuild-space.sh`: Force push latest code to Space and trigger rebuild
|
| 52 |
+
- `scripts/delete-backups.sh`: Batch cleanup old backups from Dataset
|
| 53 |
+
- `scripts/delete-hf.py`: HF resource deletion tool (Space/Dataset/files/storage)
|
| 54 |
+
- `scripts/find-largest-backup.py`: Find best backup in Dataset
|
| 55 |
+
- `scripts/ssh_service_watchdog.sh`: SSH service watchdog (process monitor + auto-recovery)
|
| 56 |
+
- `scripts/check_ssh_health.sh`: SSH health check (used by Docker HEALTHCHECK)
|
| 57 |
+
- `scripts/ssh-agent-autostart.sh`: SSH agent auto-start and key loading
|
| 58 |
+
- `scripts/optimize_ssh.sh`: SSH configuration optimization
|
| 59 |
+
- `scripts/save-env.sh`: Save environment to `/etc/profile.d`
|
| 60 |
+
- `scripts/hf-storage.sh` / `scripts/hf-storage.py`: HuggingFace storage utilities
|
| 61 |
+
- `scripts/ccmr-setup.sh`: CCMR configuration generation
|
| 62 |
+
- `scripts/ccmr-wrapper.sh`: CCMR Supervisor wrapper (hot-reload + crash recovery)
|
| 63 |
+
- `scripts/server.js`: PID 1 keep-alive HTTP server
|
| 64 |
+
- `pm2/ecosystem.config.js`: PM2 configuration (optional extension)
|
| 65 |
+
- `tests/test_backup.py`: Unit tests for the backup module
|
| 66 |
+
- `tests/test_entrypoint_config.py`: Unit tests for gateway config generation behavior
|
| 67 |
+
|
| 68 |
+
## Required Variables (Space Settings)
|
| 69 |
+
|
| 70 |
+
In your Hugging Face Space (`Settings -> Variables and secrets`), configure at least:
|
| 71 |
+
|
| 72 |
+
- Variable: `OPENCLAW_BACKUP_DATASET_REPO`: Backup target Dataset in `username/dataset-name` format
|
| 73 |
+
- Secret: `HF_TOKEN`: Used to write backups to the Dataset (must have write permission to that Dataset)
|
| 74 |
+
- Secret: `OPENCLAW_GATEWAY_TOKEN`: Gateway token (recommended; if omitted in deployment workflow, generate a random 32-character value)
|
| 75 |
+
- Secret: `OPENCLAW_GATEWAY_PASSWORD`: Gateway password (optional; if omitted in deployment workflow, generate a random 16-character value)
|
| 76 |
+
|
| 77 |
+
When using `./scripts/bootstrap-hf.sh` (macOS/Linux) or `./scripts/bootstrap-hf.ps1` (Windows PowerShell), these values are configured automatically on the target Space.
|
| 78 |
+
|
| 79 |
+
## Optional LLM Variables (All-Or-None)
|
| 80 |
+
|
| 81 |
+
Set all of these together only when you want OpenClaw to preconfigure a custom third-party model:
|
| 82 |
+
|
| 83 |
+
- Variable: `OPENCLAW_LLM_BASE_URL`: Third-party base URL (for example OpenAI-compatible `/v1`)
|
| 84 |
+
- Variable: `OPENCLAW_LLM_MODEL`: Third-party model ID
|
| 85 |
+
- Secret: `OPENCLAW_LLM_API_KEY`: Third-party API key
|
| 86 |
+
|
| 87 |
+
If any of the three is missing, entrypoint skips custom model generation.
|
| 88 |
+
In that case, you can still configure from inside the container (for example via `sshx`).
|
| 89 |
+
|
| 90 |
+
## Common Optional Variables
|
| 91 |
+
|
| 92 |
+
| Variable | Default | Description |
|
| 93 |
+
|----------|---------|-------------|
|
| 94 |
+
| `OPENCLAW_VERSION` | `latest` | OpenClaw version for Docker install |
|
| 95 |
+
| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway listen port |
|
| 96 |
+
| `OPENCLAW_GATEWAY_BIND` | `lan` | Gateway bind mode (`lan`/`local`) |
|
| 97 |
+
| `OPENCLAW_STATE_DIR` | `/root/.openclaw` | OpenClaw state directory |
|
| 98 |
+
| `OPENCLAW_USER` | `root` | Runtime user for gateway and cron |
|
| 99 |
+
| `OPENCLAW_GROUP` | `root` | Runtime group |
|
| 100 |
+
| `OPENCLAW_CONFIG_PATH` | `/root/.openclaw/openclaw.json` | Gateway config path |
|
| 101 |
+
| `OPENCLAW_WORKSPACE_DIR` | `/root/.openclaw/workspace` | Workspace directory |
|
| 102 |
+
| `OPENCLAW_BACKUP_CRON` | `*/10 * * * *` | Backup cron expression |
|
| 103 |
+
| `OPENCLAW_BACKUP_SOURCE_DIR` | `/root/.openclaw` | Backup/restore base directory |
|
| 104 |
+
| `OPENCLAW_BACKUP_ROOT_*_DIR` | Various | Extra backup dirs (config, codex, claude, agents, ssh, env, npm, lark-cli) |
|
| 105 |
+
| `OPENCLAW_BACKUP_PATH_PREFIX` | `backups` | Backup path prefix |
|
| 106 |
+
| `OPENCLAW_BACKUP_KEEP_COUNT` | `24` | Number of backups to keep |
|
| 107 |
+
| `OPENCLAW_BACKUP_ENCRYPTION_ENABLED` | `false` | Enable AES-256-CBC encryption |
|
| 108 |
+
| `OPENCLAW_BACKUP_SPLIT_SIZE` | `500M` | Large file split volume size |
|
| 109 |
+
| `OPENCLAW_INCREMENTAL_BACKUP` | `true` | Enable incremental backup |
|
| 110 |
+
| `OPENCLAW_DYNAMIC_BACKUP` | `true` | Enable dynamic backup strategy |
|
| 111 |
+
| `OPENCLAW_FULL_BACKUP_INTERVAL_HOURS` | `1` | Force full backup interval |
|
| 112 |
+
| `OPENCLAW_MAX_INCREMENTAL_BACKUPS` | `15` | Max incremental backups before full |
|
| 113 |
+
| `OPENCLAW_RESTORE_TIMEOUT` | `5400` | Restore timeout (seconds, 90 min) |
|
| 114 |
+
| `WATCHDOG_INTERVAL` | `600` | Backup watchdog check interval (s) |
|
| 115 |
+
| `MAX_BACKUP_AGE_MINUTES` | `30` | Max backup age (minutes) |
|
| 116 |
+
| `FORCE_BACKUP_INTERVAL` | `14400` | Force backup interval (seconds) |
|
| 117 |
+
| `OPENCLAW_SSHX_AUTO_START` | `false` | Auto-start `sshx` on boot |
|
| 118 |
+
| `OPENCLAW_GATEWAY_AUTH_MODE` | `token` | Auth mode (`token`/`password`) |
|
| 119 |
+
| `ROOT_PASSWORD` | `lauer3912` | SSH root password |
|
| 120 |
+
| `CCMR_ENABLED` | `false` | Enable Claude Code Model Router |
|
| 121 |
+
| `CCMR_PORT` | `8080` | CCMR gateway port |
|
| 122 |
+
|
| 123 |
+
## Quick Deployment
|
| 124 |
+
|
| 125 |
+
Run the interactive bootstrap script from repo root:
|
| 126 |
+
|
| 127 |
+
```bash
|
| 128 |
+
./scripts/bootstrap-hf.sh
|
| 129 |
+
```
|
| 130 |
+
|
| 131 |
+
```powershell
|
| 132 |
+
powershell -ExecutionPolicy ByPass -File .\scripts\bootstrap-hf.ps1
|
| 133 |
+
```
|
| 134 |
+
|
| 135 |
+
`bootstrap-hf.sh` / `bootstrap-hf.ps1` will:
|
| 136 |
+
|
| 137 |
+
- Check/install `hf` CLI:
|
| 138 |
+
- macOS/Linux: `curl -LsSf https://hf.co/cli/install.sh | bash`
|
| 139 |
+
- Windows PowerShell: `powershell -ExecutionPolicy ByPass -c "irm https://hf.co/cli/install.ps1 | iex"`
|
| 140 |
+
- Resolve HF auth first (before all other variables):
|
| 141 |
+
- if `hf auth whoami` is not logged in: prompt `HF_TOKEN` and run `hf auth login --token <HF_TOKEN>`
|
| 142 |
+
- if already logged in: ask whether to use current user
|
| 143 |
+
- choose `yes`: continue
|
| 144 |
+
- choose `no`: backup current token, prompt new `HF_TOKEN`, run `hf auth login --token <HF_TOKEN>`, and restore the previous token at the end
|
| 145 |
+
- Ask for `space_name`, `dataset_name`, `OPENCLAW_VERSION`, gateway token/password, and optional LLM settings
|
| 146 |
+
- Default `OPENCLAW_VERSION` to latest detected from npm registry (`openclaw`), fallback `latest` when detection fails
|
| 147 |
+
- Auto-generate `OPENCLAW_GATEWAY_TOKEN` (32 chars) and `OPENCLAW_GATEWAY_PASSWORD` (16 chars) if left empty
|
| 148 |
+
- Create private Space + Dataset and upload this repository
|
| 149 |
+
- Configure Space `Variables and secrets` automatically, including:
|
| 150 |
+
- `OPENCLAW_BACKUP_DATASET_REPO`
|
| 151 |
+
- `OPENCLAW_VERSION`
|
| 152 |
+
- `HF_TOKEN`
|
| 153 |
+
- `OPENCLAW_GATEWAY_TOKEN`
|
| 154 |
+
- `OPENCLAW_GATEWAY_PASSWORD`
|
| 155 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_ALLOW_INSECURE_AUTH=false`
|
| 156 |
+
- `OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_DISABLE_DEVICE_AUTH=false`
|
| 157 |
+
- Optionally configure LLM triplet and set `OPENCLAW_SSHX_AUTO_START` from prompt choice (`true`/`false`)
|
| 158 |
+
- Print planned deployment settings and require a final confirmation before creating/updating Space/Dataset resources
|
| 159 |
+
- Print Hugging Face Space page URL, app URL, and `/healthz`
|
| 160 |
+
|
| 161 |
+
If gateway token/password were auto-generated, the script prints them at the end.
|
| 162 |
+
|
| 163 |
+
## Agent Hand-off Prompt
|
| 164 |
+
|
| 165 |
+
Copy and send to your agent:
|
| 166 |
+
|
| 167 |
+
```
|
| 168 |
+
Please deploy OpenClaw to Hugging Face by strictly following the deployment skill in https://github.com/tenfyzhong/openclaw-hf/blob/main/SKILL.md
|
| 169 |
+
```
|
| 170 |
+
|
| 171 |
+
## Hugging Face Keep-Alive
|
| 172 |
+
|
| 173 |
+
How to keep a Space available depends on hardware tier:
|
| 174 |
+
|
| 175 |
+
- Free `cpu-basic`: the Space sleeps after inactivity (currently around 48h). It cannot be configured to run forever on free hardware.
|
| 176 |
+
- Paid hardware: the Space runs continuously by default. In `Settings -> Hardware`, set `Sleep time` to `Never` (or use API with `sleep_time=-1`) for true 24/7 availability.
|
| 177 |
+
- Cost-saving mode on paid hardware: set a custom `Sleep time` (for example `3600` seconds) so it auto-sleeps and auto-wakes on the next visit.
|
| 178 |
+
|
| 179 |
+
Space URL composition:
|
| 180 |
+
|
| 181 |
+
- Space repo ID format: `<owner>/<space_name>` (example: `tenfyzhong/openclaw-hf`)
|
| 182 |
+
- Public runtime host format: `https://<owner>-<space_name>.hf.space`
|
| 183 |
+
- OpenClaw health check URL: `https://<owner>-<space_name>.hf.space/healthz`
|
| 184 |
+
- Inside the Space runtime, Hugging Face also provides `SPACE_HOST`, so health URL can be built as `https://${SPACE_HOST}/healthz`.
|
| 185 |
+
|
| 186 |
+
Example:
|
| 187 |
+
|
| 188 |
+
```bash
|
| 189 |
+
OPENCLAW_HF_SPACE_ID="tenfyzhong/openclaw-hf"
|
| 190 |
+
SPACE_HOST="${OPENCLAW_HF_SPACE_ID/\//-}.hf.space"
|
| 191 |
+
HEALTH_URL="https://${SPACE_HOST}/healthz"
|
| 192 |
+
echo "$HEALTH_URL"
|
| 193 |
+
```
|
| 194 |
+
|
| 195 |
+
Keep-alive by periodic health checks:
|
| 196 |
+
|
| 197 |
+
```bash
|
| 198 |
+
*/12 * * * * HF_TOKEN=hf_xxx /path/to/repo/scripts/check-space-health.sh tenfyzhong/openclaw-hf >/dev/null || true
|
| 199 |
+
```
|
| 200 |
+
|
| 201 |
+
Notes:
|
| 202 |
+
|
| 203 |
+
- For private Spaces, unauthenticated calls to `https://<owner>-<space_name>.hf.space/healthz` return a Hub 404 page. This is expected access control behavior.
|
| 204 |
+
- For private Spaces, include `Authorization: Bearer <HF_TOKEN>` (the helper script above does this automatically via `HF_TOKEN` or `HUGGINGFACE_HUB_TOKEN`).
|
| 205 |
+
- This ping strategy is a practical workaround for reducing idle sleep on free hardware, but it is not a guaranteed always-on method.
|
| 206 |
+
- If you need strict 24/7 uptime, use paid hardware and set sleep time to `Never`.
|
| 207 |
+
|
| 208 |
+
References:
|
| 209 |
+
|
| 210 |
+
- <https://huggingface.co/docs/hub/spaces-gpus#sleep-time>
|
| 211 |
+
- <https://huggingface.co/docs/huggingface_hub/package_reference/space_runtime>
|
| 212 |
+
- <https://huggingface.co/docs/hub/spaces-overview>
|
| 213 |
+
|
| 214 |
+
Programmatic options (owner token required):
|
| 215 |
+
|
| 216 |
+
```python
|
| 217 |
+
from huggingface_hub import HfApi
|
| 218 |
+
|
| 219 |
+
api = HfApi(token="hf_xxx")
|
| 220 |
+
repo_id = "your-username/your-space"
|
| 221 |
+
|
| 222 |
+
# Keep running (paid hardware)
|
| 223 |
+
api.set_space_sleep_time(repo_id=repo_id, sleep_time=-1)
|
| 224 |
+
|
| 225 |
+
# Or sleep after 1 hour of inactivity
|
| 226 |
+
api.set_space_sleep_time(repo_id=repo_id, sleep_time=3600)
|
| 227 |
+
|
| 228 |
+
# Manual control
|
| 229 |
+
api.pause_space(repo_id=repo_id)
|
| 230 |
+
api.restart_space(repo_id=repo_id)
|
| 231 |
+
```
|
| 232 |
+
|
| 233 |
+
For this project, if you need stable dashboard access without cold starts, use paid hardware and set sleep time to `Never`.
|
| 234 |
+
|
| 235 |
+
## SSH Service
|
| 236 |
+
|
| 237 |
+
The container has a comprehensive SSH service guarding system to ensure continuous availability:
|
| 238 |
+
|
| 239 |
+
- **Auto-start**: Entrypoint generates host keys, cleans stale PID files, starts sshd
|
| 240 |
+
- **SSH Watchdog** (`ssh_service_watchdog.sh`): Monitors sshd every 30s, auto-recovers on failure
|
| 241 |
+
- **Multi-level repair**: Config corruption → backup config → minimal config → auto-reinstall openssh-server
|
| 242 |
+
- **Exponential backoff**: Gradually increases wait time on consecutive failures
|
| 243 |
+
- **Health check** (`check_ssh_health.sh`): Used by Docker HEALTHCHECK
|
| 244 |
+
- **SSH Agent auto-load**: Auto-starts ssh-agent and loads keys from `/root/.ssh/`
|
| 245 |
+
- **Root password**: Set via `ROOT_PASSWORD` environment variable
|
| 246 |
+
|
| 247 |
+
## CCMR (Claude Code Model Router)
|
| 248 |
+
|
| 249 |
+
CCMR gateway is integrated and managed by Supervisord with hot-reload support:
|
| 250 |
+
|
| 251 |
+
- **Auto-config**: Set `CCMR_*_API_KEY` env vars to enable
|
| 252 |
+
- **10 API Key slots**: DeepSeek, Qwen, Kimi, GLM, MiniMax (CN/Global), MiMo (SGP/CN/AMS/PAYG)
|
| 253 |
+
- **File hot-reload**: Edit `/root/.env.d/ccmr.env` and changes apply immediately without restart
|
| 254 |
+
- **Crash recovery**: Supervisord auto-restarts CCMR process
|
| 255 |
+
|
| 256 |
+
## Backup/Restore Flow
|
| 257 |
+
|
| 258 |
+
### Restore
|
| 259 |
+
|
| 260 |
+
**Automatic restore on startup** (always runs on container restart/rebuild):
|
| 261 |
+
|
| 262 |
+
- `openclaw-state` -> `OPENCLAW_BACKUP_SOURCE_DIR` (default `/root/.openclaw`)
|
| 263 |
+
- `root-config` -> `OPENCLAW_BACKUP_ROOT_CONFIG_DIR` (default `/root/.config`)
|
| 264 |
+
- `root-codex` -> `OPENCLAW_BACKUP_ROOT_CODEX_DIR` (default `/root/.codex`)
|
| 265 |
+
- `root-claude` -> `OPENCLAW_BACKUP_ROOT_CLAUDE_DIR` (default `/root/.claude`)
|
| 266 |
+
- `root-agents` -> `OPENCLAW_BACKUP_ROOT_AGENTS_DIR` (default `/root/.agents`)
|
| 267 |
+
- `root-ssh` -> `OPENCLAW_BACKUP_ROOT_SSH_DIR` (default `/root/.ssh`)
|
| 268 |
+
- `root-env` -> `OPENCLAW_BACKUP_ROOT_ENV_DIR` (default `/root/.env.d`)
|
| 269 |
+
- `root-npm` -> `OPENCLAW_BACKUP_ROOT_NPM_DIR` (default `/root/.npm`)
|
| 270 |
+
- `root-lark-cli` -> `OPENCLAW_BACKUP_ROOT_LARK_CLI_DIR` (default `/root/.lark-cli`)
|
| 271 |
+
|
| 272 |
+
Multi-dataset restore: set `OPENCLAW_RESTORE_DATASET_REPO` to restore from a different dataset.
|
| 273 |
+
|
| 274 |
+
### Backup
|
| 275 |
+
|
| 276 |
+
- **Scheduled backup**: Runs based on `OPENCLAW_BACKUP_CRON` (default every 10 min)
|
| 277 |
+
- **Incremental backup** (default on): Only backs up changed files after a full backup
|
| 278 |
+
- **Dynamic strategy** (default on): Auto-adjusts compression and splitting based on file size and change rate
|
| 279 |
+
- **Manual force full backup**: `python3 backup.py backup --force-full` skips incremental checks
|
| 280 |
+
- **AES-256-CBC encryption**: Optional, allows secure storage on public datasets
|
| 281 |
+
- **Large file splitting**: Default 500MB per volume, avoids upload failures
|
| 282 |
+
- **Resume support**: Creates checkpoint files during upload, allows resume on interruption
|
| 283 |
+
- **Shutdown backup**: Final backup before container exit on stop signal
|
| 284 |
+
- **Retention**: Keeps newest `OPENCLAW_BACKUP_KEEP_COUNT` (default 24) archives, auto-deletes older ones
|
| 285 |
+
|
| 286 |
+
### Backup Watchdog
|
| 287 |
+
|
| 288 |
+
`openclaw-backup-watchdog.sh` acts as the **last line of defense**:
|
| 289 |
+
|
| 290 |
+
- Auto-triggers backup when no backup for `MAX_BACKUP_AGE_MINUTES` (default 30 min)
|
| 291 |
+
- Force backup every `FORCE_BACKUP_INTERVAL` (default 4 hours)
|
| 292 |
+
- File lock prevents concurrent execution
|
| 293 |
+
- Automatic backoff on consecutive failures
|
| 294 |
+
|
| 295 |
+
## Use sshx Inside the Container
|
| 296 |
+
|
| 297 |
+
`sshx` is preinstalled in the image.
|
| 298 |
+
|
| 299 |
+
1. Auto-start `sshx` in background via environment variables:
|
| 300 |
+
|
| 301 |
+
```bash
|
| 302 |
+
OPENCLAW_SSHX_AUTO_START=true
|
| 303 |
+
```
|
| 304 |
+
|
| 305 |
+
When enabled, entrypoint starts `sshx` in background and sends `sshx` output directly to container stdout/stderr logs (no file logging).
|
| 306 |
+
|
| 307 |
+
2. Manual start inside container:
|
| 308 |
+
|
| 309 |
+
```bash
|
| 310 |
+
sshx
|
| 311 |
+
```
|
| 312 |
+
|
| 313 |
+
3. Let OpenClaw start a process itself (run in OpenClaw terminal/tool):
|
| 314 |
+
|
| 315 |
+
```bash
|
| 316 |
+
nohup sshx >/proc/1/fd/1 2>/proc/1/fd/2 &
|
| 317 |
+
```
|
| 318 |
+
|
| 319 |
+
4. After use, close `sshx` process promptly:
|
| 320 |
+
|
| 321 |
+
```bash
|
| 322 |
+
pgrep -fa sshx
|
| 323 |
+
pkill -TERM -f '(^|/)sshx($| )'
|
| 324 |
+
```
|
| 325 |
+
|
| 326 |
+
## Local Test
|
| 327 |
+
|
| 328 |
+
```bash
|
| 329 |
+
python3 -m unittest discover -s tests -p 'test_*.py'
|
| 330 |
+
```
|
| 331 |
+
|
| 332 |
+
Pull Requests to `main` run GitHub Actions CI automatically (`.github/workflows/pr-ci.yml`):
|
| 333 |
+
- Unit tests: `python3 -m unittest discover -s tests -p 'test_*.py'`
|
| 334 |
+
- Docker image build: `docker build` (via Buildx) with `OPENCLAW_VERSION=latest`
|
| 335 |
+
|
| 336 |
+
## License
|
| 337 |
+
|
| 338 |
+
MIT. See `LICENSE`.
|
README_zh.md
ADDED
|
@@ -0,0 +1,315 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
---
|
| 2 |
+
title: OpenClaw HF Space
|
| 3 |
+
emoji: 🦞
|
| 4 |
+
colorFrom: blue
|
| 5 |
+
colorTo: indigo
|
| 6 |
+
sdk: docker
|
| 7 |
+
sdk_version: 29.0.4
|
| 8 |
+
app_port: 7860
|
| 9 |
+
app_file: mian.py
|
| 10 |
+
pinned: false
|
| 11 |
+
---
|
| 12 |
+
|
| 13 |
+
# OpenClaw HF Space 部署工具(中文版)
|
| 14 |
+
|
| 15 |
+
> **Languages:** [English](./README.md) · [简体中文](./README_zh.md)
|
| 16 |
+
> **部署指南:** [English](./DEPLOY_GUIDE.md) · [中文部署指南](./DEPLOY_GUIDE_zh.md)
|
| 17 |
+
|
| 18 |
+
本项目提供在 Hugging Face Space 上部署 OpenClaw 的完整解决方案。
|
| 19 |
+
|
| 20 |
+
## 功能特性
|
| 21 |
+
|
| 22 |
+
- 基于 `ubuntu:24.04` 构建 OpenClaw 容器镜像
|
| 23 |
+
- 默认通过 BT Panel(宝塔面板)管理服务,端口 `7860`
|
| 24 |
+
- OpenClaw Gateway 运行在独立端口 `18789`(默认)
|
| 25 |
+
- 默认使用第三方 OpenAI 兼容接口(`base_url + api_key`),通过环境变量注入
|
| 26 |
+
- OpenClaw 配置和工作目录存储在 `/root/.openclaw`
|
| 27 |
+
- 启动时自动从 Hugging Face Dataset 恢复状态
|
| 28 |
+
- 通过 `cron` 定时备份 OpenClaw 数据到 Hugging Face Dataset
|
| 29 |
+
- 增量备份 + 动态备份策略 + AES-256-CBC 加密 + 大文件分卷
|
| 30 |
+
- 备份看门狗(兜底保障,cron 失效时自动触发备份)
|
| 31 |
+
- SSH 服务自动守护(看门狗监控自愈 + 自动生成主机密钥)
|
| 32 |
+
- CCMR(Claude Code Model Router)支持,自动配置 10 个平台 API Key
|
| 33 |
+
- 多数据集恢复支持(可从不同 Dataset 恢复)
|
| 34 |
+
- 预装工具:`python3`、`uv`、`vim`、`neovim`、`chromium`(Chrome for Testing)、`gh`、`hf`、`opencode`、`codex`、`claude`(Claude Code CLI)、`@larksuite/cli`、`sshx`
|
| 35 |
+
- 内置 DDNS-GO,支持动态 DNS 更新(非关键功能,安装失败不影响构建)
|
| 36 |
+
|
| 37 |
+
## 项目结构
|
| 38 |
+
|
| 39 |
+
- `Dockerfile`: Space 运行时镜像
|
| 40 |
+
- `scripts/openclaw-entrypoint.sh`: 主启动流程(恢复、配置生成、cron 设置、gateway 启动)
|
| 41 |
+
- `scripts/hf-entrypoint.sh`: HF Spaces 容器入口(PID 1,管理 supervisord + SSH + PM2 + BT Panel)
|
| 42 |
+
- `scripts/supervisord.conf`: Supervisord 配置,管理 cron、backup-watchdog、openclaw-gateway、ccmr-gateway
|
| 43 |
+
- `openclaw_hf/backup.py`: 备份/恢复实现(全量/增量、加密、分卷、动态策略、断点续传)
|
| 44 |
+
- `scripts/openclaw-backup-cron.sh`: Cron 备份任务入口
|
| 45 |
+
- `scripts/openclaw-backup-watchdog.sh`: 备份看门狗,兜底保障自动触发备份
|
| 46 |
+
- `scripts/openclaw-backup-health.sh`: 备份健康检查与自动修复
|
| 47 |
+
- `scripts/openclaw-restore.sh`: 启动恢复入口
|
| 48 |
+
- `scripts/openclaw-gateway-ctl`: Gateway 进程管理(start/stop/restart/reload)
|
| 49 |
+
- `scripts/openclaw-env-sync.sh`: 从 HF API 同步环境变量
|
| 50 |
+
- `scripts/update-env-from-secrets.sh`: 从 HF API 获取最新环境变量
|
| 51 |
+
- `scripts/bt_install_panel_custom.sh`: BT Panel 安装脚本
|
| 52 |
+
- `scripts/bootstrap-hf.sh`: 交互式引导脚本(macOS/Linux)
|
| 53 |
+
- `scripts/bootstrap-hf.ps1`: 交互式引导脚本(Windows PowerShell)
|
| 54 |
+
- `scripts/rebuild-space.sh`: 强制推送最新代码到 Space 并触发重建
|
| 55 |
+
- `scripts/delete-backups.sh`: 批量清理 Dataset 中的旧备份
|
| 56 |
+
- `scripts/delete-hf.py`: HF 资源删除工具(Space/Dataset/文件/存储)
|
| 57 |
+
- `scripts/find-largest-backup.py`: 查找 Dataset 中最佳备份
|
| 58 |
+
- `scripts/ssh_service_watchdog.sh`: SSH 服务看门狗(进程监控 + 自动恢复)
|
| 59 |
+
- `scripts/check_ssh_health.sh`: SSH 健康检查脚本(Docker HEALTHCHECK 使用)
|
| 60 |
+
- `scripts/ssh-agent-autostart.sh`: SSH Agent 自动启动和加载密钥
|
| 61 |
+
- `scripts/optimize_ssh.sh`: SSH 配置优化
|
| 62 |
+
- `scripts/save-env.sh`: 保存环境变量到 `/etc/profile.d`
|
| 63 |
+
- `scripts/hf-storage.sh` / `scripts/hf-storage.py`: HuggingFace 公共存储工具
|
| 64 |
+
- `scripts/ccmr-setup.sh`: CCMR 配置生成脚本
|
| 65 |
+
- `scripts/ccmr-wrapper.sh`: CCMR Supervisor 启动包装(文件热加载 + 崩溃恢复)
|
| 66 |
+
- `scripts/server.js`: PID 1 存活 HTTP 服务
|
| 67 |
+
- `pm2/ecosystem.config.js`: PM2 配置文件(可选扩展)
|
| 68 |
+
- `tests/test_backup.py`: 备份模块单元测试
|
| 69 |
+
- `tests/test_entrypoint_config.py`: Gateway 配置生成行为单元测试
|
| 70 |
+
|
| 71 |
+
## 必填变量(Space Settings)
|
| 72 |
+
|
| 73 |
+
在 Hugging Face Space 的 `Settings -> Variables and secrets` 中配置:
|
| 74 |
+
|
| 75 |
+
- 变量: `OPENCLAW_BACKUP_DATASET_REPO`: 备份目标 Dataset,格式 `username/dataset-name`
|
| 76 |
+
- 密钥: `HF_TOKEN`: 用于向 Dataset 写入备份(必须对该 Dataset 有写权限)
|
| 77 |
+
- 密钥: `OPENCLAW_GATEWAY_TOKEN`: Gateway 令牌(建议填写;留空则自动生成 32 位随机值)
|
| 78 |
+
- 密钥: `OPENCLAW_GATEWAY_PASSWORD`: Gateway 密码(可选;留空则自动生成 16 位随机值)
|
| 79 |
+
|
| 80 |
+
使用 `./scripts/bootstrap-hf.sh` 或 `./scripts/bootstrap-hf.ps1` 时,这些值会自动配置到目标 Space。
|
| 81 |
+
|
| 82 |
+
## BT Panel 变量
|
| 83 |
+
|
| 84 |
+
- `BT_PANEL_PORT`(默认: `7860`): BT Panel 监听端口
|
| 85 |
+
- `BT_PANEL_USERNAME`(默认: `btadmin`): BT Panel 用户名,**必须以小写字母开头,只能包含小写字母和数字,长度 3-32 位**
|
| 86 |
+
- `BT_PANEL_PASSWORD`: BT Panel 密码,留空则自动生成
|
| 87 |
+
- `BT_PANEL_SAFE_PATH`: BT Panel 安全入口路径(默认: `lauer3912`)
|
| 88 |
+
- `BT_PANEL_TIMEZONE`(默认: `Asia/Shanghai`): BT Panel 时区
|
| 89 |
+
|
| 90 |
+
## SSH 服务
|
| 91 |
+
|
| 92 |
+
容器内置 SSH 服务守护体系,确保 SSH 持续可用:
|
| 93 |
+
|
| 94 |
+
- **自动启动**: 入口点自动生成主机密钥、清理残留 PID、启动 sshd
|
| 95 |
+
- **SSH 看门狗** (`ssh_service_watchdog.sh`): 每 30 秒监控 sshd 进程,异常时自动恢复
|
| 96 |
+
- **多级修复**: 配置损坏→使用备份配置→生成最小配置→自动重装 openssh-server
|
| 97 |
+
- **指数退避**: 连续失败时逐步增加等待时间,避免频繁重试
|
| 98 |
+
- **健康检查** (`check_ssh_health.sh`): 配合 Docker HEALTHCHECK 使用
|
| 99 |
+
- **SSH Agent 自动加载**: 自动启动 ssh-agent 并加载 `/root/.ssh/` 下的私钥
|
| 100 |
+
- **ROOT 密码**: 通过 `ROOT_PASSWORD` 环境变量设置
|
| 101 |
+
|
| 102 |
+
## CCMR(Claude Code Model Router)
|
| 103 |
+
|
| 104 |
+
集成 CCMR 网关,通过 Supervisor 管理,支持热加载:
|
| 105 |
+
|
| 106 |
+
- **自动配置**: 设置 `CCMR_*_API_KEY` 环境变量即可启用
|
| 107 |
+
- **10 个 API Key 支持**: DeepSeek、通义千问、Kimi、智谱 GLM、MiniMax(CN/Global)、MiMo(SGP/CN/AMS/PAYG)
|
| 108 |
+
- **文件热加载**: 编辑 `/root/.env.d/ccmr.env` 后立即生效,无需重启
|
| 109 |
+
- **崩溃恢复**: Supervisor 自动重启 CCMR 进程
|
| 110 |
+
|
| 111 |
+
## 可选 LLM 变量(全有或全无)
|
| 112 |
+
|
| 113 |
+
只有在需要 OpenClaw 预配置自定义第三方模型时才设置这三个:
|
| 114 |
+
|
| 115 |
+
- 变量: `OPENCLAW_LLM_BASE_URL`: 第三方 base URL(如 OpenAI 兼容的 `/v1`)
|
| 116 |
+
- 变量: `OPENCLAW_LLM_MODEL`: 第三方模型 ID
|
| 117 |
+
- 密钥: `OPENCLAW_LLM_API_KEY`: 第三方 API key
|
| 118 |
+
|
| 119 |
+
三者任一缺失则跳过自定义模型生成,此时仍可在容器内通过 `sshx` 配置 LLM。
|
| 120 |
+
|
| 121 |
+
## 常用可选变量
|
| 122 |
+
|
| 123 |
+
| 变量 | 默认值 | 说明 |
|
| 124 |
+
|------|--------|------|
|
| 125 |
+
| `OPENCLAW_VERSION` | `latest` | OpenClaw 版本,用于 Docker 安装步骤 |
|
| 126 |
+
| `OPENCLAW_GATEWAY_PORT` | `18789` | Gateway 监听端口(避免与 BT Panel 的 7860 冲突) |
|
| 127 |
+
| `OPENCLAW_GATEWAY_BIND` | `lan` | Gateway 绑定方式(`lan`/`local`) |
|
| 128 |
+
| `OPENCLAW_STATE_DIR` | `/root/.openclaw` | OpenClaw 状态目录 |
|
| 129 |
+
| `OPENCLAW_USER` | `root` | Gateway 和 cron 任务的运行时用户 |
|
| 130 |
+
| `OPENCLAW_GROUP` | `root` | 运行时用户组 |
|
| 131 |
+
| `OPENCLAW_CONFIG_PATH` | `/root/.openclaw/openclaw.json` | Gateway 配置文件路径 |
|
| 132 |
+
| `OPENCLAW_WORKSPACE_DIR` | `/root/.openclaw/workspace` | 工作目录 |
|
| 133 |
+
| `OPENCLAW_BACKUP_CRON` | `*/10 * * * *` | 备份 cron 表达式(默认每 10 分钟) |
|
| 134 |
+
| `OPENCLAW_BACKUP_SOURCE_DIR` | `/root/.openclaw` | 备份/恢复基础目录 |
|
| 135 |
+
| `OPENCLAW_BACKUP_ROOT_*_DIR` | 各有默认值 | 额外备份目录(config、codex、claude、agents、ssh、npm、lark-cli) |
|
| 136 |
+
| `OPENCLAW_BACKUP_PATH_PREFIX` | `backups` | 备份路径前缀 |
|
| 137 |
+
| `OPENCLAW_BACKUP_KEEP_COUNT` | `24` | 保留的最新备份数量 |
|
| 138 |
+
| `OPENCLAW_BACKUP_ENCRYPTION_ENABLED` | `false` | 启用 AES-256-CBC 加密备份 |
|
| 139 |
+
| `OPENCLAW_BACKUP_SPLIT_SIZE` | `500M` | 大文件分卷大小 |
|
| 140 |
+
| `OPENCLAW_INCREMENTAL_BACKUP` | `true` | 启用增量备份 |
|
| 141 |
+
| `OPENCLAW_DYNAMIC_BACKUP` | `true` | 启用动态备份策略 |
|
| 142 |
+
| `OPENCLAW_FULL_BACKUP_INTERVAL_HOURS` | `1` | 强制全量备份间隔 |
|
| 143 |
+
| `OPENCLAW_MAX_INCREMENTAL_BACKUPS` | `15` | 增量备份次数上限 |
|
| 144 |
+
| `OPENCLAW_RESTORE_TIMEOUT` | `5400` | 恢复超时(秒,默认 90 分钟) |
|
| 145 |
+
| `WATCHDOG_INTERVAL` | `600` | 备份看门狗检查间隔(秒) |
|
| 146 |
+
| `MAX_BACKUP_AGE_MINUTES` | `30` | 备份最大间隔(分钟) |
|
| 147 |
+
| `FORCE_BACKUP_INTERVAL` | `14400` | 强制备份间隔(秒) |
|
| 148 |
+
| `OPENCLAW_SSHX_AUTO_START` | `false` | 设为 `true` 启动时自动后台运行 `sshx` |
|
| 149 |
+
| `OPENCLAW_GATEWAY_AUTH_MODE` | `token` | 认证模式(`token`/`password`) |
|
| 150 |
+
| `OPENCLAW_GATEWAY_CONTROLUI_ALLOW_INSECURE_AUTH` | `false` | 允许不安全认证 |
|
| 151 |
+
| `OPENCLAW_GATEWAY_CONTROLUI_DANGEROUSLY_DISABLE_DEVICE_AUTH` | `false` | 禁用设备配对(**强烈不建议在公网开启**) |
|
| 152 |
+
| `ROOT_PASSWORD` | `lauer3912` | SSH root 用户密码 |
|
| 153 |
+
| `CCMR_ENABLED` | `false` | 启用 Claude Code Model Router |
|
| 154 |
+
| `CCMR_PORT` | `8080` | CCMR 网关端口 |
|
| 155 |
+
|
| 156 |
+
## 快速部署
|
| 157 |
+
|
| 158 |
+
从仓库根目录运行交互式引导脚本:
|
| 159 |
+
|
| 160 |
+
```bash
|
| 161 |
+
./scripts/bootstrap-hf.sh
|
| 162 |
+
```
|
| 163 |
+
|
| 164 |
+
```powershell
|
| 165 |
+
powershell -ExecutionPolicy ByPass -File .\scripts\bootstrap-hf.ps1
|
| 166 |
+
```
|
| 167 |
+
|
| 168 |
+
`bootstrap-hf.sh` / `bootstrap-hf.ps1` 会执行以下操作:
|
| 169 |
+
|
| 170 |
+
1. 检查/安装 `hf` CLI
|
| 171 |
+
2. 解析 HF 认证状态(未登录则提示输入 `HF_TOKEN` 并登录;已登录则询问是否使用当前用户)
|
| 172 |
+
3. 询问 `space_name`、`dataset_name`、`OPENCLAW_VERSION`、Gateway 令牌/密码及可选 LLM 配置
|
| 173 |
+
4. 自动生成 `OPENCLAW_GATEWAY_TOKEN`(32 位)和 `OPENCLAW_GATEWAY_PASSWORD`(16 位)
|
| 174 |
+
5. 创建私有 Space + Dataset 并上传仓库
|
| 175 |
+
6. 自动配置 Space 的 `Variables and secrets`
|
| 176 |
+
7. 显示部署设置并要求确认
|
| 177 |
+
8. 输出 Hugging Face Space 页面地址、应用地址和 `/healthz` 健康检查地址
|
| 178 |
+
|
| 179 |
+
如自动生成了令牌/密码,脚本结束时会自动显示。
|
| 180 |
+
|
| 181 |
+
## Hugging Face Space 保活策略
|
| 182 |
+
|
| 183 |
+
Space 保活策略取决于硬件套餐:
|
| 184 |
+
|
| 185 |
+
- 免费 `cpu-basic`:Space 在不活跃后进入休眠(约 48 小时),无法配置为永久运行
|
| 186 |
+
- 付费硬件:Space 默认持续运行。在 `Settings -> Hardware` 中将 `Sleep time` 设为 `Never` 可实现真正的 24/7 可用性
|
| 187 |
+
- 付费硬件节能模式:设置自定义 `Sleep time`(如 `3600` 秒),实现自动休眠和自动唤醒
|
| 188 |
+
|
| 189 |
+
Space URL 构成:
|
| 190 |
+
|
| 191 |
+
- Space Repo ID 格式: `<owner>/<space_name>`(示例: `username/openclaw-hf`)
|
| 192 |
+
- 公开运行时地址: `https://<owner>-<space_name>.hf.space`
|
| 193 |
+
- 健康检查地址: `https://<owner>-<space_name>.hf.space/healthz`
|
| 194 |
+
|
| 195 |
+
定时健康检查保持活跃:
|
| 196 |
+
|
| 197 |
+
```bash
|
| 198 |
+
*/12 * * * * HF_TOKEN=hf_xxx /path/to/repo/scripts/check-space-health.sh username/openclaw-hf >/dev/null || true
|
| 199 |
+
```
|
| 200 |
+
|
| 201 |
+
注意:
|
| 202 |
+
- 私有 Space 的 `https://<owner>-<space_name>.hf.space/healthz` 返回 Hub 404,这是正常的访问控制行为
|
| 203 |
+
- 私有 Space 请求需要包含 `Authorization: Bearer <HF_TOKEN>`
|
| 204 |
+
|
| 205 |
+
## 备份/恢复流程
|
| 206 |
+
|
| 207 |
+
### 恢复流程
|
| 208 |
+
|
| 209 |
+
**启动时从 Dataset 自动恢复**,容器重启或重建时必定执行:
|
| 210 |
+
|
| 211 |
+
- `openclaw-state` -> `OPENCLAW_BACKUP_SOURCE_DIR`(默认 `/root/.openclaw`)
|
| 212 |
+
- `root-config` -> `OPENCLAW_BACKUP_ROOT_CONFIG_DIR`(默认 `/root/.config`)
|
| 213 |
+
- `root-codex` -> `OPENCLAW_BACKUP_ROOT_CODEX_DIR`(默认 `/root/.codex`)
|
| 214 |
+
- `root-claude` -> `OPENCLAW_BACKUP_ROOT_CLAUDE_DIR`(默认 `/root/.claude`)
|
| 215 |
+
- `root-agents` -> `OPENCLAW_BACKUP_ROOT_AGENTS_DIR`(默认 `/root/.agents`)
|
| 216 |
+
- `root-ssh` -> `OPENCLAW_BACKUP_ROOT_SSH_DIR`(默认 `/root/.ssh`)
|
| 217 |
+
- `root-env` -> `OPENCLAW_BACKUP_ROOT_ENV_DIR`(默认 `/root/.env.d`)
|
| 218 |
+
- `root-npm` -> `OPENCLAW_BACKUP_ROOT_NPM_DIR`(默认 `/root/.npm`)
|
| 219 |
+
- `root-lark-cli` -> `OPENCLAW_BACKUP_ROOT_LARK_CLI_DIR`(默认 `/root/.lark-cli`)
|
| 220 |
+
|
| 221 |
+
支持多数据集恢复:设置 `OPENCLAW_RESTORE_DATASET_REPO` 可以从不同 Dataset 恢复。
|
| 222 |
+
|
| 223 |
+
### 备份流程
|
| 224 |
+
|
| 225 |
+
- **定时备份**:根据 `OPENCLAW_BACKUP_CRON`(默认每 10 分钟)执行
|
| 226 |
+
- **增量备份**(默认开启):全量备份后只备份变化文件,大幅减少数据量
|
| 227 |
+
- **动态备份策略**(默认开启):根据文件大小和变化率自动调整压缩级别和分卷策略
|
| 228 |
+
- **手动强制全备份**:`python3 backup.py backup --force-full` 可跳过增量检查强制执行全量备份
|
| 229 |
+
- **AES-256-CBC 加密**:可选开启,加密后的备份可安全存储在公开 Dataset
|
| 230 |
+
- **大文件分卷**:默认 500MB 分卷,避免单文件过大导致上传失败
|
| 231 |
+
- **断点续传**:上传过程中创建 checkpoint 文件,中断后可恢复
|
| 232 |
+
- **关机备份**:容器收到停止信号时,执行最后一次备份后再退出
|
| 233 |
+
- **保留策略**:上传后只保留最新的 `OPENCLAW_BACKUP_KEEP_COUNT`(默认 24 个)带时间戳的备份归档,自动删除更旧的
|
| 234 |
+
|
| 235 |
+
### 备份看门狗
|
| 236 |
+
|
| 237 |
+
`openclaw-backup-watchdog.sh` 作为备份系统的**兜底保障**:
|
| 238 |
+
|
| 239 |
+
- 即使 cron 失效,看门狗也会在超过 `MAX_BACKUP_AGE_MINUTES`(默认 30 分钟)无备份时自动触发
|
| 240 |
+
- 每 `FORCE_BACKUP_INTERVAL`(默认 4 小时)强制执行一次备份
|
| 241 |
+
- 使用文件锁防止并发执行
|
| 242 |
+
- 连续失败时自动退避
|
| 243 |
+
|
| 244 |
+
## 在容器内使用 sshx
|
| 245 |
+
|
| 246 |
+
`sshx` 已预装在镜像中。
|
| 247 |
+
|
| 248 |
+
1. 通过环境变量自动启动:
|
| 249 |
+
```bash
|
| 250 |
+
OPENCLAW_SSHX_AUTO_START=true
|
| 251 |
+
```
|
| 252 |
+
启用后入口脚本会在后台启动 `sshx`,输出直接发送到容器 stdout/stderr
|
| 253 |
+
|
| 254 |
+
2. 在容器内手动启动:
|
| 255 |
+
```bash
|
| 256 |
+
sshx
|
| 257 |
+
```
|
| 258 |
+
|
| 259 |
+
3. 通过 OpenClaw 终端/工具启动:
|
| 260 |
+
```bash
|
| 261 |
+
nohup sshx >/proc/1/fd/1 2>/proc/1/fd/2 &
|
| 262 |
+
```
|
| 263 |
+
|
| 264 |
+
4. 使用完毕后及时关闭:
|
| 265 |
+
```bash
|
| 266 |
+
pgrep -fa sshx
|
| 267 |
+
pkill -TERM -f '(^|/)sshx($| )'
|
| 268 |
+
```
|
| 269 |
+
|
| 270 |
+
## 本地测试
|
| 271 |
+
|
| 272 |
+
```bash
|
| 273 |
+
python3 -m unittest discover -s tests -p 'test_*.py'
|
| 274 |
+
```
|
| 275 |
+
|
| 276 |
+
## CI/CD
|
| 277 |
+
|
| 278 |
+
向 `main` 分支提交 Pull Request 后,GitHub Actions CI 会自动运行(`.github/workflows/pr-ci.yml`):
|
| 279 |
+
- 单元测试:`python3 -m unittest discover -s tests -p 'test_*.py'`
|
| 280 |
+
- Docker 镜像构建:`docker build`(通过 Buildx),使用 `OPENCLAW_VERSION=latest`
|
| 281 |
+
|
| 282 |
+
## 架构说明
|
| 283 |
+
|
| 284 |
+
容器启动顺序(`hf-entrypoint.sh` 作为 PID 1):
|
| 285 |
+
|
| 286 |
+
```
|
| 287 |
+
PID 1 (node hf-server.js)
|
| 288 |
+
├── supervisord (后台)
|
| 289 |
+
│ ├── cron
|
| 290 |
+
│ ├── backup-watchdog
|
| 291 |
+
│ ├── openclaw-gateway (via openclaw-entrypoint.sh)
|
| 292 |
+
│ │ └── openclaw (gateway 进程管理器)
|
| 293 |
+
│ └── ccmr-gateway (via ccmr-wrapper.sh, 启用时)
|
| 294 |
+
├── sshd
|
| 295 |
+
├── ssh_service_watchdog.sh (SSH 看门狗)
|
| 296 |
+
├── PM2 (可选,ecosystem.config.js 有配置时)
|
| 297 |
+
└── BT Panel
|
| 298 |
+
```
|
| 299 |
+
|
| 300 |
+
进程管理使用 **Supervisord** 管理后台服务,原因:
|
| 301 |
+
- Supervisord 是为"进程管理者"设计的,适合 PID 1 下运行
|
| 302 |
+
- 信号传递正确,SIGTERM 能正确传递给子进程
|
| 303 |
+
- 相比 PM2 更轻量,职责单一
|
| 304 |
+
|
| 305 |
+
关键启动步骤:
|
| 306 |
+
1. `supervisord` 后台启动,管理 cron/backup-watchdog/openclaw-gateway/ccmr-gateway
|
| 307 |
+
2. 生成 SSH 主机密钥,启动 sshd + SSH 看门狗
|
| 308 |
+
3. 等待 openclaw-gateway 完成备份恢复
|
| 309 |
+
4. 可选启动 PM2 管理附加进程
|
| 310 |
+
5. 启动 BT Panel
|
| 311 |
+
6. `node hf-server.js` 作为 PID 1 前台进程接管容器生命周期
|
| 312 |
+
|
| 313 |
+
## License
|
| 314 |
+
|
| 315 |
+
MIT. See `LICENSE`.
|
bt-source/conf/softList.conf
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
[{"name":"Nginx","versions":[{"status":false,"version":"1.28"},{"status":false,"version":"1.26"},{"status":false,"version":"1.25"},{"status":false,"version":"1.24"},{"status":false,"version":"1.22"},{"status":false,"version":"-Tengine2.2"},{"status":false,"version":"openresty"}],"type":"Web服务器","msg":"Nginx是一款轻量级的Web服务器!","shell":"nginx.sh","check":"server/nginx/sbin/nginx"},
|
| 2 |
+
{"name":"Apache","versions":[{"status":false,"version":"2.4"}],"type":"Web服务器","msg":"Apache是世界使用排名第一的Web服务器软件。","shell":"httpd.sh","check":"server/apache/bin/httpd"},
|
| 3 |
+
{"name":"MySQL","versions":[{"status":false,"version":"5.5"},{"status":false,"version":"5.6"},{"status":false,"version":"5.7"},{"status":false,"version":"8.0"},{"status":false,"version":"8.4"},{"status":false,"version":"mariadb_10.4"},{"status":false,"version":"mariadb_10.5"}],"type":"数据库","msg":"推荐安装!","shell":"mysql.sh","check":"server/mysql/bin/mysql"},
|
| 4 |
+
{"name":"Pure-Ftpd","versions":[{"status":false,"version":"1.0.49"}],"type":"FTP服务器","msg":"PureFTPd是一款专注于程序健壮和软件安全的免费FTP服务器软件","shell":"pure-ftpd.sh","check":"server/pure-ftpd/bin/pure-pw"},
|
| 5 |
+
{"name":"PHP","versions":[{"status":false,"version":"8.2"},{"status":false,"version":"5.4"},{"status":false,"version":"5.6"},{"status":false,"version":"7.1"},{"status":false,"version":"7.2"},{"status":false,"version":"7.3"},{"status":false,"version":"7.4"},{"status":false,"version":"8.0"},{"status":false,"version":"8.1"},{"status":false,"version":"8.3"}],"type":"语言解释器","msg":"若非必要,请安装更新的版本!","shell":"php.sh","check":"server/php/VERSION/bin/php"},
|
| 6 |
+
{"name":"Tomcat","versions":[{"status":false,"version":"7"},{"status":false,"version":"8"},{"status":false,"version":"9"}],"type":"语言解释器","msg":"java-ee解释器","shell":"tomcat.sh","check":"server/tomcat/bin/catalina.sh"},
|
| 7 |
+
{"name":"phpMyAdmin","versions":[{"status":false,"version":"4.4"},{"status":false,"version":"4.9"},{"status":false,"version":"5.1"},{"status":false,"version":"5.2"}],"type":"数据库工具","msg":"Web端MySQL管理工具","shell":"phpmyadmin.sh","check":"server/phpmyadmin/version.pl"}]
|
bt-source/init/bt6.init
ADDED
|
@@ -0,0 +1,422 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
# chkconfig: 2345 55 25
|
| 3 |
+
# description: bt Cloud Service
|
| 4 |
+
|
| 5 |
+
### BEGIN INIT INFO
|
| 6 |
+
# Provides: bt
|
| 7 |
+
# Required-Start: $all
|
| 8 |
+
# Required-Stop: $all
|
| 9 |
+
# Default-Start: 2 3 4 5
|
| 10 |
+
# Default-Stop: 0 1 6
|
| 11 |
+
# Short-Description: starts bt
|
| 12 |
+
# Description: starts the bt
|
| 13 |
+
### END INIT INFO
|
| 14 |
+
panel_init(){
|
| 15 |
+
panel_path=/www/server/panel
|
| 16 |
+
pidfile=$panel_path/logs/panel.pid
|
| 17 |
+
cd $panel_path
|
| 18 |
+
env_path=$panel_path/pyenv/bin/python3
|
| 19 |
+
if [ -f $env_path ];then
|
| 20 |
+
pythonV=$panel_path/pyenv/bin/python3
|
| 21 |
+
chmod -R 700 $panel_path/pyenv/bin &> /dev/null
|
| 22 |
+
else
|
| 23 |
+
pythonV=/usr/bin/python
|
| 24 |
+
fi
|
| 25 |
+
reg="^#\!$pythonV\$"
|
| 26 |
+
is_sed=$(cat $panel_path/BT-Panel|head -n 1|grep -E $reg)
|
| 27 |
+
if [ "${is_sed}" = "" ];then
|
| 28 |
+
sed -i "s@^#!.*@#!$pythonV@" $panel_path/BT-Panel &> /dev/null
|
| 29 |
+
fi
|
| 30 |
+
is_python=$(cat $panel_path/BT-Task|grep import)
|
| 31 |
+
if [ "${is_python}" != "" ];then
|
| 32 |
+
is_sed=$(cat $panel_path/BT-Task|head -n 1|grep -E $reg)
|
| 33 |
+
if [ "${is_sed}" = "" ];then
|
| 34 |
+
sed -i "s@^#!.*@#!$pythonV@" $panel_path/BT-Task &> /dev/null
|
| 35 |
+
fi
|
| 36 |
+
fi
|
| 37 |
+
chmod 700 $panel_path/BT-Panel &> /dev/null
|
| 38 |
+
chmod 700 $panel_path/BT-Task &> /dev/null
|
| 39 |
+
log_file=$panel_path/logs/error.log
|
| 40 |
+
task_log_file=$panel_path/logs/task.log
|
| 41 |
+
if [ -f $panel_path/data/ssl.pl ];then
|
| 42 |
+
log_file=/dev/null
|
| 43 |
+
fi
|
| 44 |
+
|
| 45 |
+
port=$(cat $panel_path/data/port.pl)
|
| 46 |
+
}
|
| 47 |
+
panel_init
|
| 48 |
+
|
| 49 |
+
get_panel_pids(){
|
| 50 |
+
isStart=$(ps aux|grep -E '(runserver|BT-Panel)'|grep -v grep|awk '{print $2}'|xargs)
|
| 51 |
+
pids=$isStart
|
| 52 |
+
arr=$isStart
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
get_task_pids(){
|
| 56 |
+
isStart=$(ps aux|grep -E '(task.py|BT-Task)'|grep -v grep|awk '{print $2}'|xargs)
|
| 57 |
+
pids=$isStart
|
| 58 |
+
arr=$isStart
|
| 59 |
+
}
|
| 60 |
+
|
| 61 |
+
panel_start()
|
| 62 |
+
{
|
| 63 |
+
isStart=`ps aux|grep 'runserver:app'|grep -v grep|awk '{print $2}'`
|
| 64 |
+
if [ "$isStart" != '' ];then
|
| 65 |
+
kill -9 $isStart
|
| 66 |
+
fi
|
| 67 |
+
get_panel_pids
|
| 68 |
+
|
| 69 |
+
if [ -f $panel_path/script/init_db.py ]; then
|
| 70 |
+
$pythonV $panel_path/script/init_db.py init_db # 初始化面板数据库
|
| 71 |
+
$pythonV $panel_path/tools.py check_db # 检查面板数据库,默认数据
|
| 72 |
+
fi
|
| 73 |
+
if [ "$isStart" == '' ];then
|
| 74 |
+
rm -f $pidfile &> /dev/null
|
| 75 |
+
|
| 76 |
+
echo -e "Starting Bt-Panel...\c"
|
| 77 |
+
echo '\n' >> $log_file
|
| 78 |
+
if [ $? -ne 0 ];then
|
| 79 |
+
$panel_path/BT-Panel > /dev/null 2>&1
|
| 80 |
+
else
|
| 81 |
+
$panel_path/BT-Panel >> $log_file 2>&1
|
| 82 |
+
fi
|
| 83 |
+
isStart=""
|
| 84 |
+
n=0
|
| 85 |
+
while [[ "$isStart" == "" ]];
|
| 86 |
+
do
|
| 87 |
+
echo -e ".\c"
|
| 88 |
+
sleep 0.5
|
| 89 |
+
get_panel_pids
|
| 90 |
+
let n+=1
|
| 91 |
+
if [ $n -gt 8 ];then
|
| 92 |
+
break;
|
| 93 |
+
fi
|
| 94 |
+
done
|
| 95 |
+
if [ "$isStart" == '' ];then
|
| 96 |
+
panel_port_check
|
| 97 |
+
echo -e "\033[31mfailed\033[0m"
|
| 98 |
+
echo '------------------------------------------------------'
|
| 99 |
+
tail -n 20 $log_file
|
| 100 |
+
echo '------------------------------------------------------'
|
| 101 |
+
echo -e "\033[31mError: BT-Panel service startup failed.\033[0m"
|
| 102 |
+
fi
|
| 103 |
+
echo -e " \033[32mdone\033[0m"
|
| 104 |
+
else
|
| 105 |
+
echo "Starting Bt-Panel... Bt-Panel (pid $(echo $isStart)) already running"
|
| 106 |
+
fi
|
| 107 |
+
|
| 108 |
+
get_task_pids
|
| 109 |
+
if [ "$isStart" == '' ];then
|
| 110 |
+
echo -e "Starting Bt-Tasks... \c"
|
| 111 |
+
echo '\n' >> $task_log_file
|
| 112 |
+
if [ $? -ne 0 ];then
|
| 113 |
+
$panel_path/BT-Task > /dev/null 2>&1
|
| 114 |
+
else
|
| 115 |
+
$panel_path/BT-Task >> $task_log_file 2>&1
|
| 116 |
+
fi
|
| 117 |
+
sleep 0.2
|
| 118 |
+
get_task_pids
|
| 119 |
+
if [ "$isStart" == '' ];then
|
| 120 |
+
echo -e "\033[31mfailed\033[0m"
|
| 121 |
+
echo '------------------------------------------------------'
|
| 122 |
+
tail -n 20 $task_log_file
|
| 123 |
+
echo '------------------------------------------------------'
|
| 124 |
+
echo -e "\033[31mError: BT-Task service startup failed.\033[0m"
|
| 125 |
+
return;
|
| 126 |
+
fi
|
| 127 |
+
echo -e " \033[32mdone\033[0m"
|
| 128 |
+
else
|
| 129 |
+
echo "Starting Bt-Tasks... Bt-Tasks (pid $isStart) already running"
|
| 130 |
+
fi
|
| 131 |
+
|
| 132 |
+
if [[ -f ${panel_path}/data/panel_ssl_error.pl ]]; then
|
| 133 |
+
port=$(cat $panel_path/data/port.pl)
|
| 134 |
+
password=$(cat $panel_path/default.pl)
|
| 135 |
+
if [ -f $panel_path/data/domain.conf ];then
|
| 136 |
+
address=$(cat $panel_path/data/domain.conf)
|
| 137 |
+
fi
|
| 138 |
+
auth_path=/login
|
| 139 |
+
if [ -f $panel_path/data/admin_path.pl ];then
|
| 140 |
+
auth_path=$(cat $panel_path/data/admin_path.pl)
|
| 141 |
+
fi
|
| 142 |
+
if [ "$address" = "" ];then
|
| 143 |
+
address=$(curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/getIpAddress)
|
| 144 |
+
fi
|
| 145 |
+
if [ "$auth_path" == "/" ];then
|
| 146 |
+
auth_path=/login
|
| 147 |
+
fi
|
| 148 |
+
LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
|
| 149 |
+
echo ""
|
| 150 |
+
echo -e "=================================================================="
|
| 151 |
+
echo -e "\033[32m您的面板SSL证书似乎出现了问题,已为您临时关闭面板HTTPS访问\033[0m"
|
| 152 |
+
echo -e "\033[32m请使用如下地址访问宝塔面板,随后到面板设置中重新开启面板SSL证书即可!\033[0m"
|
| 153 |
+
echo -e "=================================================================="
|
| 154 |
+
echo "外网面板地址: http://${address}:${port}${auth_path}"
|
| 155 |
+
echo "内网面板地址: http://${LOCAL_IP}:${port}${auth_path}"
|
| 156 |
+
echo -e `$pythonV $panel_path/tools.py username`
|
| 157 |
+
echo -e "password: $password"
|
| 158 |
+
echo -e "\033[33mWarning:\033[0m"
|
| 159 |
+
echo -e "\033[33mIf you cannot access the panel, \033[0m"
|
| 160 |
+
echo -e "\033[33mrelease the following port (8888|888|80|443|20|21) in the security group\033[0m"
|
| 161 |
+
echo -e "\033[33m注意:初始密码仅在首次登录面板前能正确获取,其它时间请通过 bt 5 命令修改密码\033[0m"
|
| 162 |
+
echo -e "=================================================================="
|
| 163 |
+
echo -e "=================================================================="
|
| 164 |
+
echo ""
|
| 165 |
+
rm -rf ${panel_path}/data/panel_ssl_error.pl
|
| 166 |
+
fi
|
| 167 |
+
}
|
| 168 |
+
|
| 169 |
+
panel_port_check()
|
| 170 |
+
{
|
| 171 |
+
is_process=$(lsof -n -P -i:$port -sTCP:LISTEN|grep LISTEN|grep -v grep|awk '{print $1}'|sort|uniq|xargs)
|
| 172 |
+
for pn in ${is_process[@]}
|
| 173 |
+
do
|
| 174 |
+
if [ "$pn" = "nginx" ];then
|
| 175 |
+
/etc/init.d/nginx restart
|
| 176 |
+
fi
|
| 177 |
+
|
| 178 |
+
if [ "$pn" = "httpd" ];then
|
| 179 |
+
/etc/init.d/httpd restart
|
| 180 |
+
fi
|
| 181 |
+
|
| 182 |
+
if [ "$pn" = "mysqld" ];then
|
| 183 |
+
/etc/init.d/mysqld restart
|
| 184 |
+
fi
|
| 185 |
+
|
| 186 |
+
if [ "$pn" = "superviso" ];then
|
| 187 |
+
pkill -9 superviso
|
| 188 |
+
sleep 0.2
|
| 189 |
+
supervisord -c /etc/supervisor/supervisord.conf
|
| 190 |
+
fi
|
| 191 |
+
|
| 192 |
+
if [ "$pn" = "pure-ftpd" ];then
|
| 193 |
+
/etc/init.d/pure-ftpd restart
|
| 194 |
+
fi
|
| 195 |
+
|
| 196 |
+
if [ "$pn" = "memcached" ];then
|
| 197 |
+
/etc/init.d/memcached restart
|
| 198 |
+
fi
|
| 199 |
+
|
| 200 |
+
if [ "$pn" = "sudo" ];then
|
| 201 |
+
if [ -f /etc/init.d/redis ];then
|
| 202 |
+
/etc/init.d/redis restart
|
| 203 |
+
fi
|
| 204 |
+
fi
|
| 205 |
+
|
| 206 |
+
if [ "$pn" = "php-fpm" ];then
|
| 207 |
+
php_v=(52 53 54 55 56 70 71 72 73 74);
|
| 208 |
+
for pv in ${php_v[@]};
|
| 209 |
+
do
|
| 210 |
+
if [ -f /etc/init.d/php-fpm-${pv} ];then
|
| 211 |
+
if [ -f /www/server/php/%{pv}/sbin/php-fpm ];then
|
| 212 |
+
if [ -f /tmp/php-cgi-${pv}.sock ];then
|
| 213 |
+
/etc/init.d/php-fpm-${pv} start
|
| 214 |
+
fi
|
| 215 |
+
/etc/init.d/php-fpm-${pv} restart
|
| 216 |
+
fi
|
| 217 |
+
fi
|
| 218 |
+
done
|
| 219 |
+
fi
|
| 220 |
+
done
|
| 221 |
+
|
| 222 |
+
is_ports=$(lsof -n -P -i:$port|grep LISTEN|grep -v grep|awk '{print $2}'|xargs)
|
| 223 |
+
if [ "$is_ports" != '' ];then
|
| 224 |
+
kill -9 $is_ports
|
| 225 |
+
sleep 1
|
| 226 |
+
fi
|
| 227 |
+
}
|
| 228 |
+
|
| 229 |
+
panel_stop()
|
| 230 |
+
{
|
| 231 |
+
echo -e "Stopping Bt-Tasks...\c";
|
| 232 |
+
get_task_pids
|
| 233 |
+
arr=($pids)
|
| 234 |
+
for p in ${arr[@]}
|
| 235 |
+
do
|
| 236 |
+
kill -9 $p
|
| 237 |
+
done
|
| 238 |
+
echo -e " \033[32mdone\033[0m"
|
| 239 |
+
|
| 240 |
+
echo -e "Stopping Bt-Panel...\c";
|
| 241 |
+
|
| 242 |
+
get_panel_pids
|
| 243 |
+
for p in ${arr[@]}
|
| 244 |
+
do
|
| 245 |
+
kill -9 $p &>/dev/null
|
| 246 |
+
done
|
| 247 |
+
|
| 248 |
+
if [ -f $pidfile ];then
|
| 249 |
+
rm -f $pidfile &> /dev/null
|
| 250 |
+
fi
|
| 251 |
+
echo -e " \033[32mdone\033[0m"
|
| 252 |
+
}
|
| 253 |
+
|
| 254 |
+
panel_status()
|
| 255 |
+
{
|
| 256 |
+
port=$(cat $panel_path/data/port.pl)
|
| 257 |
+
get_panel_pids
|
| 258 |
+
if [ "$isStart" != '' ];then
|
| 259 |
+
echo -e "\033[32mBt-Panel (pid $(echo $isStart)) already running\033[0m"
|
| 260 |
+
else
|
| 261 |
+
echo -e "\033[31mBt-Panel not running\033[0m"
|
| 262 |
+
fi
|
| 263 |
+
|
| 264 |
+
get_task_pids
|
| 265 |
+
if [ "$isStart" != '' ];then
|
| 266 |
+
echo -e "\033[32mBt-Task (pid $isStart) already running\033[0m"
|
| 267 |
+
else
|
| 268 |
+
echo -e "\033[31mBt-Task not running\033[0m"
|
| 269 |
+
fi
|
| 270 |
+
}
|
| 271 |
+
|
| 272 |
+
panel_reload()
|
| 273 |
+
{
|
| 274 |
+
isStart=$(ps aux|grep 'runserver:app'|grep -v grep|awk '{print $2}')
|
| 275 |
+
if [ "$isStart" != '' ];then
|
| 276 |
+
kill -9 $isStart
|
| 277 |
+
sleep 0.5
|
| 278 |
+
fi
|
| 279 |
+
get_panel_pids
|
| 280 |
+
if [ "$isStart" != '' ];then
|
| 281 |
+
|
| 282 |
+
get_panel_pids
|
| 283 |
+
for p in ${arr[@]}
|
| 284 |
+
do
|
| 285 |
+
kill -9 $p
|
| 286 |
+
done
|
| 287 |
+
rm -f $pidfile
|
| 288 |
+
echo -e "Reload Bt-Panel.\c";
|
| 289 |
+
nohup $panel_path/BT-Panel >> $log_file 2>&1 &
|
| 290 |
+
isStart=""
|
| 291 |
+
n=0
|
| 292 |
+
while [[ "$isStart" == "" ]];
|
| 293 |
+
do
|
| 294 |
+
echo -e ".\c"
|
| 295 |
+
sleep 0.5
|
| 296 |
+
get_panel_pids
|
| 297 |
+
let n+=1
|
| 298 |
+
if [ $n -gt 8 ];then
|
| 299 |
+
break;
|
| 300 |
+
fi
|
| 301 |
+
done
|
| 302 |
+
if [ "$isStart" == '' ];then
|
| 303 |
+
panel_port_check
|
| 304 |
+
echo -e "\033[31mfailed\033[0m"
|
| 305 |
+
echo '------------------------------------------------------'
|
| 306 |
+
tail -n 20 $log_file
|
| 307 |
+
echo '------------------------------------------------------'
|
| 308 |
+
echo -e "\033[31mError: BT-Panel service startup failed.\033[0m"
|
| 309 |
+
return;
|
| 310 |
+
fi
|
| 311 |
+
echo -e " \033[32mdone\033[0m"
|
| 312 |
+
else
|
| 313 |
+
echo -e "\033[31mBt-Panel not running\033[0m"
|
| 314 |
+
panel_start
|
| 315 |
+
fi
|
| 316 |
+
}
|
| 317 |
+
|
| 318 |
+
install_used()
|
| 319 |
+
{
|
| 320 |
+
if [ -f $panel_path/aliyun.pl ];then
|
| 321 |
+
password=$(cat /dev/urandom | head -n 16 | md5sum | head -c 12)
|
| 322 |
+
username=$($pythonV $panel_path/tools.py panel $password)
|
| 323 |
+
echo "$password" > $panel_path/default.pl
|
| 324 |
+
rm -f $panel_path/aliyun.pl
|
| 325 |
+
chattr +i $panel_path/default.pl
|
| 326 |
+
fi
|
| 327 |
+
|
| 328 |
+
if [ -f $panel_path/php_mysql_auto.pl ];then
|
| 329 |
+
bash $panel_path/script/mysql_auto.sh &> /dev/null
|
| 330 |
+
bash $panel_path/script/php_auto.sh &> /dev/null
|
| 331 |
+
rm -f $panel_path/php_mysql_auto.pl
|
| 332 |
+
fi
|
| 333 |
+
|
| 334 |
+
pip_file=/www/server/panel/pyenv/bin/pip3
|
| 335 |
+
python_file=/www/server/panel/pyenv/bin/python3
|
| 336 |
+
if [ -f $pip_file ];then
|
| 337 |
+
is_rep=$(ls -l /usr/bin/btpip|grep pip3.)
|
| 338 |
+
if [ "${is_rep}" != "" ];then
|
| 339 |
+
rm -f /usr/bin/btpip /usr/bin/btpython
|
| 340 |
+
ln -sf $pip_file /usr/bin/btpip
|
| 341 |
+
ln -sf $python_file /usr/bin/btpython
|
| 342 |
+
fi
|
| 343 |
+
fi
|
| 344 |
+
|
| 345 |
+
}
|
| 346 |
+
|
| 347 |
+
error_logs()
|
| 348 |
+
{
|
| 349 |
+
tail -n 100 $log_file
|
| 350 |
+
}
|
| 351 |
+
|
| 352 |
+
|
| 353 |
+
case "$1" in
|
| 354 |
+
'start')
|
| 355 |
+
install_used
|
| 356 |
+
panel_start
|
| 357 |
+
;;
|
| 358 |
+
'stop')
|
| 359 |
+
panel_stop
|
| 360 |
+
;;
|
| 361 |
+
'restart')
|
| 362 |
+
panel_stop
|
| 363 |
+
sleep 1
|
| 364 |
+
panel_start
|
| 365 |
+
;;
|
| 366 |
+
'reload')
|
| 367 |
+
panel_reload
|
| 368 |
+
;;
|
| 369 |
+
'status')
|
| 370 |
+
panel_status
|
| 371 |
+
;;
|
| 372 |
+
'logs')
|
| 373 |
+
error_logs
|
| 374 |
+
;;
|
| 375 |
+
'panel')
|
| 376 |
+
$pythonV $panel_path/tools.py cli $2
|
| 377 |
+
;;
|
| 378 |
+
'default')
|
| 379 |
+
port=$(cat $panel_path/data/port.pl)
|
| 380 |
+
password=$(cat $panel_path/default.pl)
|
| 381 |
+
if [ -f $panel_path/data/domain.conf ];then
|
| 382 |
+
address=$(cat $panel_path/data/domain.conf)
|
| 383 |
+
fi
|
| 384 |
+
auth_path=/login
|
| 385 |
+
if [ -f $panel_path/data/admin_path.pl ];then
|
| 386 |
+
auth_path=$(cat $panel_path/data/admin_path.pl)
|
| 387 |
+
fi
|
| 388 |
+
if [ "$address" = "" ];then
|
| 389 |
+
address=$(curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/getIpAddress)
|
| 390 |
+
fi
|
| 391 |
+
pool=http
|
| 392 |
+
if [ -f $panel_path/data/ssl.pl ];then
|
| 393 |
+
pool=https
|
| 394 |
+
fi
|
| 395 |
+
if [ "$auth_path" == "/" ];then
|
| 396 |
+
auth_path=/login
|
| 397 |
+
fi
|
| 398 |
+
LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
|
| 399 |
+
echo -e "=================================================================="
|
| 400 |
+
echo -e "\033[32mBT-Panel default info!\033[0m"
|
| 401 |
+
echo -e "=================================================================="
|
| 402 |
+
echo "外网面板地址: $pool://${address}:${port}${auth_path}"
|
| 403 |
+
echo "内网面板地址: $pool://${LOCAL_IP}:${port}${auth_path}"
|
| 404 |
+
echo -e `$pythonV $panel_path/tools.py username`
|
| 405 |
+
echo -e "password: $password"
|
| 406 |
+
echo -e "\033[33mWarning:\033[0m"
|
| 407 |
+
echo -e "\033[33mIf you cannot access the panel, \033[0m"
|
| 408 |
+
echo -e "\033[33mrelease the following port (8888|888|80|443|20|21) in the security group\033[0m"
|
| 409 |
+
echo -e "\033[33m注意:初始密码仅在首次登录面板前能正确获取,其它时间请通过 bt 5 命令修改密码\033[0m"
|
| 410 |
+
echo -e "=================================================================="
|
| 411 |
+
;;
|
| 412 |
+
*)
|
| 413 |
+
if [ "${LANG}" != "en_US.UTF-8" ];then
|
| 414 |
+
export LANG=en_US.UTF-8 &> /dev/null
|
| 415 |
+
fi
|
| 416 |
+
if [ "${LC_ALL}" != "en_US.UTF-8" ];then
|
| 417 |
+
export LC_ALL=en_US.UTF-8 &> /dev/null
|
| 418 |
+
fi
|
| 419 |
+
$pythonV $panel_path/tools.py cli $1
|
| 420 |
+
;;
|
| 421 |
+
esac
|
| 422 |
+
|
bt-source/init/bt7.init
ADDED
|
@@ -0,0 +1,497 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
# chkconfig: 2345 55 25
|
| 3 |
+
# description: bt Cloud Service
|
| 4 |
+
|
| 5 |
+
### BEGIN INIT INFO
|
| 6 |
+
# Provides: bt
|
| 7 |
+
# Required-Start: $all
|
| 8 |
+
# Required-Stop: $all
|
| 9 |
+
# Default-Start: 2 3 4 5
|
| 10 |
+
# Default-Stop: 0 1 6
|
| 11 |
+
# Short-Description: starts bt
|
| 12 |
+
# Description: starts the bt
|
| 13 |
+
### END INIT INFO
|
| 14 |
+
|
| 15 |
+
if [ "$(id -u)" -ne 0 ]; then
|
| 16 |
+
echo "===================警告======================"
|
| 17 |
+
echo "检测到非root用户权限执行bt命令,可能存在异常 "
|
| 18 |
+
echo "请使用此命令重新执行:sudo bt"
|
| 19 |
+
echo "============================================="
|
| 20 |
+
fi
|
| 21 |
+
|
| 22 |
+
panel_init(){
|
| 23 |
+
panel_path=/www/server/panel
|
| 24 |
+
pidfile=$panel_path/logs/panel.pid
|
| 25 |
+
cd $panel_path
|
| 26 |
+
env_path=$panel_path/pyenv/bin/python3
|
| 27 |
+
if [ -f $env_path ];then
|
| 28 |
+
pythonV=$panel_path/pyenv/bin/python3
|
| 29 |
+
chmod -R 700 $panel_path/pyenv/bin &> /dev/null
|
| 30 |
+
is_sed_panel=$(cat $panel_path/BT-Panel|head -n 1|grep '^#!/www/server/panel/pyenv/bin/python3$')
|
| 31 |
+
is_sed_task=$(cat $panel_path/BT-Task|head -n 1|grep '^#!/www/server/panel/pyenv/bin/python3$')
|
| 32 |
+
else
|
| 33 |
+
pythonV=/usr/bin/python
|
| 34 |
+
is_sed_panel=$(cat $panel_path/BT-Panel|head -n 1|grep '^#!/usr/bin/python$')
|
| 35 |
+
is_sed_task=$(cat $panel_path/BT-Task|head -n 1|grep '^#!/usr/bin/python$')
|
| 36 |
+
fi
|
| 37 |
+
if [ "${is_sed_panel}" = "" ];then
|
| 38 |
+
sed -i "s@^#!.*@#!$pythonV@" $panel_path/BT-Panel &> /dev/null
|
| 39 |
+
fi
|
| 40 |
+
is_python=$(cat $panel_path/BT-Task|grep import)
|
| 41 |
+
if [ "${is_python}" != "" ];then
|
| 42 |
+
if [ "${is_sed_task}" = "" ];then
|
| 43 |
+
sed -i "s@^#!.*@#!$pythonV@" $panel_path/BT-Task &> /dev/null
|
| 44 |
+
fi
|
| 45 |
+
fi
|
| 46 |
+
chmod 700 $panel_path/BT-Panel &> /dev/null
|
| 47 |
+
chmod 700 $panel_path/BT-Task &> /dev/null
|
| 48 |
+
log_file=$panel_path/logs/error.log
|
| 49 |
+
task_log_file=$panel_path/logs/task.log
|
| 50 |
+
if [ -f $panel_path/data/ssl.pl ];then
|
| 51 |
+
log_file=/dev/null
|
| 52 |
+
fi
|
| 53 |
+
|
| 54 |
+
port=$(cat $panel_path/data/port.pl)
|
| 55 |
+
}
|
| 56 |
+
panel_init
|
| 57 |
+
|
| 58 |
+
get_panel_pids(){
|
| 59 |
+
isStart=$(ps aux|grep -E '(runserver|BT-Panel)'|grep -v grep|awk '{print $2}'|xargs)
|
| 60 |
+
pids=$isStart
|
| 61 |
+
arr=$isStart
|
| 62 |
+
}
|
| 63 |
+
|
| 64 |
+
get_task_pids(){
|
| 65 |
+
isStart=$(ps aux|grep -E '(task.py|BT-Task)'|grep -v grep|awk '{print $2}'|xargs)
|
| 66 |
+
pids=$isStart
|
| 67 |
+
arr=$isStart
|
| 68 |
+
}
|
| 69 |
+
|
| 70 |
+
panel_start()
|
| 71 |
+
{
|
| 72 |
+
isStart=`ps aux|grep 'runserver:app'|grep -v grep|awk '{print $2}'`
|
| 73 |
+
if [ "$isStart" != '' ];then
|
| 74 |
+
kill -9 $isStart
|
| 75 |
+
fi
|
| 76 |
+
get_panel_pids
|
| 77 |
+
|
| 78 |
+
if [ -f $panel_path/script/init_db.py ]; then
|
| 79 |
+
$pythonV $panel_path/script/init_db.py init_db # 初始化面板数据库
|
| 80 |
+
$pythonV $panel_path/tools.py check_db # 检查面板数据库,默认数据
|
| 81 |
+
fi
|
| 82 |
+
if [ "$isStart" == '' ];then
|
| 83 |
+
rm -f $pidfile &> /dev/null
|
| 84 |
+
|
| 85 |
+
echo -e "Starting Bt-Panel...\c"
|
| 86 |
+
echo '\n' >> $log_file
|
| 87 |
+
if [ $? -ne 0 ];then
|
| 88 |
+
$panel_path/BT-Panel > /dev/null 2>&1
|
| 89 |
+
else
|
| 90 |
+
$panel_path/BT-Panel >> $log_file 2>&1
|
| 91 |
+
fi
|
| 92 |
+
isStart=""
|
| 93 |
+
n=0
|
| 94 |
+
while [[ "$isStart" == "" ]];
|
| 95 |
+
do
|
| 96 |
+
echo -e ".\c"
|
| 97 |
+
sleep 0.5
|
| 98 |
+
get_panel_pids
|
| 99 |
+
let n+=1
|
| 100 |
+
if [ $n -gt 8 ];then
|
| 101 |
+
break;
|
| 102 |
+
fi
|
| 103 |
+
done
|
| 104 |
+
if [ "$isStart" == '' ];then
|
| 105 |
+
panel_port_check
|
| 106 |
+
echo -e "\033[31mfailed\033[0m"
|
| 107 |
+
echo '------------------------------------------------------'
|
| 108 |
+
tail -n 20 $log_file
|
| 109 |
+
echo '------------------------------------------------------'
|
| 110 |
+
echo -e "\033[31mError: BT-Panel service startup failed.\033[0m"
|
| 111 |
+
fi
|
| 112 |
+
echo -e " \033[32mdone\033[0m"
|
| 113 |
+
else
|
| 114 |
+
echo "Starting Bt-Panel... Bt-Panel (pid $(echo $isStart)) already running"
|
| 115 |
+
fi
|
| 116 |
+
|
| 117 |
+
get_task_pids
|
| 118 |
+
if [ "$isStart" == '' ];then
|
| 119 |
+
echo -e "Starting Bt-Tasks... \c"
|
| 120 |
+
echo '\n' >> $task_log_file
|
| 121 |
+
if [ $? -ne 0 ];then
|
| 122 |
+
$panel_path/BT-Task > /dev/null 2>&1
|
| 123 |
+
else
|
| 124 |
+
$panel_path/BT-Task >> $task_log_file 2>&1
|
| 125 |
+
fi
|
| 126 |
+
sleep 0.2
|
| 127 |
+
get_task_pids
|
| 128 |
+
if [ "$isStart" == '' ];then
|
| 129 |
+
echo -e "\033[31mfailed\033[0m"
|
| 130 |
+
echo '------------------------------------------------------'
|
| 131 |
+
tail -n 20 $task_log_file
|
| 132 |
+
echo '------------------------------------------------------'
|
| 133 |
+
echo -e "\033[31mError: BT-Task service startup failed.\033[0m"
|
| 134 |
+
return;
|
| 135 |
+
fi
|
| 136 |
+
echo -e " \033[32mdone\033[0m"
|
| 137 |
+
else
|
| 138 |
+
echo "Starting Bt-Tasks... Bt-Tasks (pid $isStart) already running"
|
| 139 |
+
fi
|
| 140 |
+
|
| 141 |
+
if [[ -f ${panel_path}/data/panel_ssl_error.pl ]]; then
|
| 142 |
+
port=$(cat $panel_path/data/port.pl)
|
| 143 |
+
password=$(cat $panel_path/default.pl)
|
| 144 |
+
if [ -f $panel_path/data/domain.conf ];then
|
| 145 |
+
address=$(cat $panel_path/data/domain.conf)
|
| 146 |
+
fi
|
| 147 |
+
auth_path=/login
|
| 148 |
+
if [ -f $panel_path/data/admin_path.pl ];then
|
| 149 |
+
auth_path=$(cat $panel_path/data/admin_path.pl)
|
| 150 |
+
fi
|
| 151 |
+
if [ "$address" = "" ];then
|
| 152 |
+
address=$(curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/getIpAddress)
|
| 153 |
+
fi
|
| 154 |
+
if [ "$auth_path" == "/" ];then
|
| 155 |
+
auth_path=/login
|
| 156 |
+
fi
|
| 157 |
+
LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
|
| 158 |
+
echo ""
|
| 159 |
+
echo -e "=================================================================="
|
| 160 |
+
echo -e "\033[32m您的面板SSL证书似乎出现了问题,已为您临时关闭面板HTTPS访问\033[0m"
|
| 161 |
+
echo -e "\033[32m请使用如下地址访问宝塔面板,随后到面板设置中重新开启面板SSL证书即可!\033[0m"
|
| 162 |
+
echo -e "=================================================================="
|
| 163 |
+
echo "外网面板地址: http://${address}:${port}${auth_path}"
|
| 164 |
+
echo "内网面板地址: http://${LOCAL_IP}:${port}${auth_path}"
|
| 165 |
+
echo -e `$pythonV $panel_path/tools.py username`
|
| 166 |
+
echo -e "password: $password"
|
| 167 |
+
echo -e "\033[33mWarning:\033[0m"
|
| 168 |
+
echo -e "\033[33mIf you cannot access the panel, \033[0m"
|
| 169 |
+
echo -e "\033[33mrelease the following port (8888|888|80|443|20|21) in the security group\033[0m"
|
| 170 |
+
echo -e "\033[33m注意:初始密码仅在首次登录面板前能正确获取,其它时间请通过 bt 5 命令修改密码\033[0m"
|
| 171 |
+
echo -e "=================================================================="
|
| 172 |
+
echo -e "=================================================================="
|
| 173 |
+
echo ""
|
| 174 |
+
rm -rf ${panel_path}/data/panel_ssl_error.pl
|
| 175 |
+
fi
|
| 176 |
+
}
|
| 177 |
+
|
| 178 |
+
panel_port_check()
|
| 179 |
+
{
|
| 180 |
+
is_process=$(lsof -n -P -i:$port -sTCP:LISTEN|grep LISTEN|grep -v grep|awk '{print $1}'|sort|uniq|xargs)
|
| 181 |
+
for pn in ${is_process[@]}
|
| 182 |
+
do
|
| 183 |
+
if [ "$pn" = "nginx" ];then
|
| 184 |
+
/etc/init.d/nginx restart
|
| 185 |
+
fi
|
| 186 |
+
|
| 187 |
+
if [ "$pn" = "httpd" ];then
|
| 188 |
+
/etc/init.d/httpd restart
|
| 189 |
+
fi
|
| 190 |
+
|
| 191 |
+
if [ "$pn" = "mysqld" ];then
|
| 192 |
+
/etc/init.d/mysqld restart
|
| 193 |
+
fi
|
| 194 |
+
|
| 195 |
+
if [ "$pn" = "superviso" ];then
|
| 196 |
+
pkill -9 superviso
|
| 197 |
+
sleep 0.2a
|
| 198 |
+
supervisord -c /etc/supervisor/supervisord.conf
|
| 199 |
+
fi
|
| 200 |
+
|
| 201 |
+
if [ "$pn" = "pure-ftpd" ];then
|
| 202 |
+
/etc/init.d/pure-ftpd restart
|
| 203 |
+
fi
|
| 204 |
+
|
| 205 |
+
if [ "$pn" = "memcached" ];then
|
| 206 |
+
/etc/init.d/memcached restart
|
| 207 |
+
fi
|
| 208 |
+
|
| 209 |
+
if [ "$pn" = "sudo" ];then
|
| 210 |
+
if [ -f /etc/init.d/redis ];then
|
| 211 |
+
/etc/init.d/redis restart
|
| 212 |
+
fi
|
| 213 |
+
fi
|
| 214 |
+
|
| 215 |
+
if [ "$pn" = "php-fpm" ];then
|
| 216 |
+
php_v=(52 53 54 55 56 70 71 72 73 74);
|
| 217 |
+
for pv in ${php_v[@]};
|
| 218 |
+
do
|
| 219 |
+
if [ -f /etc/init.d/php-fpm-${pv} ];then
|
| 220 |
+
if [ -f /www/server/php/%{pv}/sbin/php-fpm ];then
|
| 221 |
+
if [ -f /tmp/php-cgi-${pv}.sock ];then
|
| 222 |
+
/etc/init.d/php-fpm-${pv} start
|
| 223 |
+
fi
|
| 224 |
+
/etc/init.d/php-fpm-${pv} restart
|
| 225 |
+
fi
|
| 226 |
+
fi
|
| 227 |
+
done
|
| 228 |
+
fi
|
| 229 |
+
done
|
| 230 |
+
|
| 231 |
+
is_ports=$(lsof -n -P -i:$port|grep LISTEN|grep -v grep|awk '{print $2}'|xargs)
|
| 232 |
+
if [ "$is_ports" != '' ];then
|
| 233 |
+
kill -9 $is_ports
|
| 234 |
+
sleep 1
|
| 235 |
+
fi
|
| 236 |
+
}
|
| 237 |
+
|
| 238 |
+
panel_stop()
|
| 239 |
+
{
|
| 240 |
+
echo -e "Stopping Bt-Tasks...\c";
|
| 241 |
+
get_task_pids
|
| 242 |
+
arr=($pids)
|
| 243 |
+
for p in ${arr[@]}
|
| 244 |
+
do
|
| 245 |
+
kill -9 $p
|
| 246 |
+
done
|
| 247 |
+
echo -e " \033[32mdone\033[0m"
|
| 248 |
+
|
| 249 |
+
echo -e "Stopping Bt-Panel...\c";
|
| 250 |
+
|
| 251 |
+
get_panel_pids
|
| 252 |
+
for p in ${arr[@]}
|
| 253 |
+
do
|
| 254 |
+
kill -9 $p &>/dev/null
|
| 255 |
+
done
|
| 256 |
+
|
| 257 |
+
if [ -f $pidfile ];then
|
| 258 |
+
rm -f $pidfile &> /dev/null
|
| 259 |
+
fi
|
| 260 |
+
echo -e " \033[32mdone\033[0m"
|
| 261 |
+
}
|
| 262 |
+
|
| 263 |
+
panel_status()
|
| 264 |
+
{
|
| 265 |
+
port=$(cat $panel_path/data/port.pl)
|
| 266 |
+
get_panel_pids
|
| 267 |
+
if [ "$isStart" != '' ];then
|
| 268 |
+
echo -e "\033[32mBt-Panel (pid $(echo $isStart)) already running\033[0m"
|
| 269 |
+
else
|
| 270 |
+
echo -e "\033[31mBt-Panel not running\033[0m"
|
| 271 |
+
fi
|
| 272 |
+
|
| 273 |
+
get_task_pids
|
| 274 |
+
if [ "$isStart" != '' ];then
|
| 275 |
+
echo -e "\033[32mBt-Task (pid $isStart) already running\033[0m"
|
| 276 |
+
else
|
| 277 |
+
echo -e "\033[31mBt-Task not running\033[0m"
|
| 278 |
+
fi
|
| 279 |
+
}
|
| 280 |
+
|
| 281 |
+
panel_reload()
|
| 282 |
+
{
|
| 283 |
+
isStart=$(ps aux|grep 'runserver:app'|grep -v grep|awk '{print $2}')
|
| 284 |
+
if [ "$isStart" != '' ];then
|
| 285 |
+
kill -9 $isStart
|
| 286 |
+
sleep 0.5
|
| 287 |
+
fi
|
| 288 |
+
get_panel_pids
|
| 289 |
+
if [ "$isStart" != '' ];then
|
| 290 |
+
|
| 291 |
+
get_panel_pids
|
| 292 |
+
for p in ${arr[@]}
|
| 293 |
+
do
|
| 294 |
+
kill -9 $p
|
| 295 |
+
done
|
| 296 |
+
rm -f $pidfile
|
| 297 |
+
echo -e "Reload Bt-Panel.\c";
|
| 298 |
+
nohup $panel_path/BT-Panel >> $log_file 2>&1 &
|
| 299 |
+
isStart=""
|
| 300 |
+
n=0
|
| 301 |
+
while [[ "$isStart" == "" ]];
|
| 302 |
+
do
|
| 303 |
+
echo -e ".\c"
|
| 304 |
+
sleep 0.5
|
| 305 |
+
get_panel_pids
|
| 306 |
+
let n+=1
|
| 307 |
+
if [ $n -gt 8 ];then
|
| 308 |
+
break;
|
| 309 |
+
fi
|
| 310 |
+
done
|
| 311 |
+
if [ "$isStart" == '' ];then
|
| 312 |
+
panel_port_check
|
| 313 |
+
echo -e "\033[31mfailed\033[0m"
|
| 314 |
+
echo '------------------------------------------------------'
|
| 315 |
+
tail -n 20 $log_file
|
| 316 |
+
echo '------------------------------------------------------'
|
| 317 |
+
echo -e "\033[31mError: BT-Panel service startup failed.\033[0m"
|
| 318 |
+
return;
|
| 319 |
+
fi
|
| 320 |
+
echo -e " \033[32mdone\033[0m"
|
| 321 |
+
else
|
| 322 |
+
echo -e "\033[31mBt-Panel not running\033[0m"
|
| 323 |
+
panel_start
|
| 324 |
+
fi
|
| 325 |
+
}
|
| 326 |
+
|
| 327 |
+
install_used()
|
| 328 |
+
{
|
| 329 |
+
if [ -f $panel_path/random_path.pl ];then
|
| 330 |
+
random_path=$(cat /dev/urandom | head -n 16 | md5sum | head -c 6)
|
| 331 |
+
echo "/${random_path}" > $panel_path/data/admin_path.pl
|
| 332 |
+
random_user=$(cat /dev/urandom | head -n 16 | md5sum | head -c 8)
|
| 333 |
+
re_user=$($pythonV $panel_path/tools.py reusername $random_user)
|
| 334 |
+
rm -f $panel_path/random_path.pl
|
| 335 |
+
fi
|
| 336 |
+
|
| 337 |
+
if [ -f $panel_path/aliyun.pl ];then
|
| 338 |
+
random_user=$(cat /dev/urandom | head -n 16 | md5sum | head -c 8)
|
| 339 |
+
re_user=$($pythonV $panel_path/tools.py reusername $random_user)
|
| 340 |
+
password=$(cat /dev/urandom | head -n 16 | md5sum | head -c 12)
|
| 341 |
+
username=$($pythonV $panel_path/tools.py panel $password)
|
| 342 |
+
echo "$password" > $panel_path/default.pl
|
| 343 |
+
if [ -f "/www/server/panel/data/o.pl" ];then
|
| 344 |
+
IDC_CODE=$(cat /www/server/panel/data/o.pl)
|
| 345 |
+
else
|
| 346 |
+
IDC_CODE=""
|
| 347 |
+
fi
|
| 348 |
+
if [ -f "/www/server/panel/script/download_ip.sh" ];then
|
| 349 |
+
echo "bash /www/server/panel/script/download_ip.sh > /dev/null 2>&1" |at now + 5 minutes
|
| 350 |
+
fi
|
| 351 |
+
echo "curl -sS --connect-timeout 10 -m 60 https://www.bt.cn/Api/SetupCount?type=Linux\&o=$IDC_CODE > /dev/null 2>&1" |at now + 5 minutes
|
| 352 |
+
rm -f $panel_path/aliyun.pl
|
| 353 |
+
chattr +i $panel_path/default.pl
|
| 354 |
+
fi
|
| 355 |
+
|
| 356 |
+
if [ -f $panel_path/php_mysql_auto.pl ];then
|
| 357 |
+
bash $panel_path/script/mysql_auto.sh &> /dev/null
|
| 358 |
+
bash $panel_path/script/php_auto.sh &> /dev/null
|
| 359 |
+
rm -f $panel_path/php_mysql_auto.pl
|
| 360 |
+
fi
|
| 361 |
+
|
| 362 |
+
pip_file=/www/server/panel/pyenv/bin/pip3
|
| 363 |
+
python_file=/www/server/panel/pyenv/bin/python3
|
| 364 |
+
if [ -f $pip_file ];then
|
| 365 |
+
is_rep=$(ls -l /usr/bin/btpip|grep pip3.)
|
| 366 |
+
if [ "${is_rep}" != "" ];then
|
| 367 |
+
rm -f /usr/bin/btpip /usr/bin/btpython
|
| 368 |
+
ln -sf $pip_file /usr/bin/btpip
|
| 369 |
+
ln -sf $python_file /usr/bin/btpython
|
| 370 |
+
fi
|
| 371 |
+
fi
|
| 372 |
+
|
| 373 |
+
}
|
| 374 |
+
|
| 375 |
+
|
| 376 |
+
|
| 377 |
+
error_logs()
|
| 378 |
+
{
|
| 379 |
+
tail -n 100 $log_file
|
| 380 |
+
}
|
| 381 |
+
|
| 382 |
+
|
| 383 |
+
case "$1" in
|
| 384 |
+
'start')
|
| 385 |
+
install_used
|
| 386 |
+
panel_start
|
| 387 |
+
;;
|
| 388 |
+
'stop')
|
| 389 |
+
panel_stop
|
| 390 |
+
;;
|
| 391 |
+
'restart')
|
| 392 |
+
if [ -f "/www/server/panel/script/reload_check.py" ];then
|
| 393 |
+
btpython /www/server/panel/script/reload_check.py
|
| 394 |
+
fi
|
| 395 |
+
panel_stop
|
| 396 |
+
sleep 1
|
| 397 |
+
panel_start
|
| 398 |
+
;;
|
| 399 |
+
'reload')
|
| 400 |
+
panel_reload
|
| 401 |
+
;;
|
| 402 |
+
'status')
|
| 403 |
+
panel_status
|
| 404 |
+
;;
|
| 405 |
+
'logs')
|
| 406 |
+
error_logs
|
| 407 |
+
;;
|
| 408 |
+
'panel')
|
| 409 |
+
$pythonV $panel_path/tools.py cli $2
|
| 410 |
+
;;
|
| 411 |
+
'default')
|
| 412 |
+
port=$(cat $panel_path/data/port.pl)
|
| 413 |
+
password=$(cat $panel_path/default.pl)
|
| 414 |
+
if [ -f $panel_path/data/domain.conf ];then
|
| 415 |
+
address=$(cat $panel_path/data/domain.conf)
|
| 416 |
+
fi
|
| 417 |
+
auth_path=/login
|
| 418 |
+
if [ -f $panel_path/data/admin_path.pl ];then
|
| 419 |
+
auth_path=$(cat $panel_path/data/admin_path.pl)
|
| 420 |
+
fi
|
| 421 |
+
ipv4_address=""
|
| 422 |
+
ipv6_address=""
|
| 423 |
+
if [ "$address" = "" ];then
|
| 424 |
+
ipv4_address=$(curl -4 -sS --connect-timeout 4 -m 5 https://api.bt.cn/Api/getIpAddress 2>&1)
|
| 425 |
+
if [ -z "${ipv4_address}" ];then
|
| 426 |
+
ipv4_address=$(curl -4 -sS --connect-timeout 4 -m 5 https://www.bt.cn/Api/getIpAddress 2>&1)
|
| 427 |
+
if [ -z "${ipv4_address}" ];then
|
| 428 |
+
ipv4_address=$(curl -4 -sS --connect-timeout 4 -m 5 https://www.aapanel.com/api/common/getClientIP 2>&1)
|
| 429 |
+
fi
|
| 430 |
+
fi
|
| 431 |
+
IPV4_REGEX="^([0-9]{1,3}\.){3}[0-9]{1,3}$"
|
| 432 |
+
if ! [[ $ipv4_address =~ $IPV4_REGEX ]]; then
|
| 433 |
+
ipv4_address=""
|
| 434 |
+
fi
|
| 435 |
+
|
| 436 |
+
ipv6_address=$(curl -6 -sS --connect-timeout 4 -m 5 https://www.bt.cn/Api/getIpAddress 2>&1)
|
| 437 |
+
IPV6_REGEX="^([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}$"
|
| 438 |
+
if ! [[ $ipv6_address =~ $IPV6_REGEX ]]; then
|
| 439 |
+
ipv6_address=""
|
| 440 |
+
else
|
| 441 |
+
if [[ ! $ipv6_address =~ ^\[ ]]; then
|
| 442 |
+
ipv6_address="[$ipv6_address]"
|
| 443 |
+
fi
|
| 444 |
+
fi
|
| 445 |
+
fi
|
| 446 |
+
|
| 447 |
+
pool=http
|
| 448 |
+
if [ -f $panel_path/data/ssl.pl ];then
|
| 449 |
+
pool=https
|
| 450 |
+
fi
|
| 451 |
+
if [ "$auth_path" == "/" ];then
|
| 452 |
+
auth_path=/login
|
| 453 |
+
fi
|
| 454 |
+
panel_site_address=""
|
| 455 |
+
if [ -f /www/server/panel/data/panel_site_address.pl ];then
|
| 456 |
+
panel_site_address=$(cat /www/server/panel/data/panel_site_address.pl)
|
| 457 |
+
fi
|
| 458 |
+
LOCAL_IP=$(ip addr | grep -E -o '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -E -v "^127\.|^255\.|^0\." | head -n 1)
|
| 459 |
+
echo -e "=================================================================="
|
| 460 |
+
echo -e "\033[32mBT-Panel default info!\033[0m"
|
| 461 |
+
echo -e "=================================================================="
|
| 462 |
+
if [ "$address" = "" ] && [ "$ipv4_address" = "" ] && [ "$ipv6_address" = "" ];then
|
| 463 |
+
address="服务器公网IP"
|
| 464 |
+
echo "获取外网IP失败,请使用服务器公网IP+端口访问面板"
|
| 465 |
+
fi
|
| 466 |
+
if [ "$ipv4_address" ];then
|
| 467 |
+
echo "外网ipv4面板地址: $pool://${ipv4_address}:${port}${auth_path}"
|
| 468 |
+
fi
|
| 469 |
+
if [ "$ipv6_address" ];then
|
| 470 |
+
echo "外网ipv6面板地址: $pool://${ipv6_address}:${port}${auth_path}"
|
| 471 |
+
fi
|
| 472 |
+
if [ "$address" ];then
|
| 473 |
+
echo "外网面板地址: $pool://${address}:${port}${auth_path}"
|
| 474 |
+
fi
|
| 475 |
+
echo "内网面板地址: $pool://${LOCAL_IP}:${port}${auth_path}"
|
| 476 |
+
if [ "$panel_site_address" != "" ];then
|
| 477 |
+
echo "面板免端口地址: ${panel_site_address}"
|
| 478 |
+
fi
|
| 479 |
+
echo -e `$pythonV $panel_path/tools.py username`
|
| 480 |
+
echo -e "password: $password"
|
| 481 |
+
echo -e "\033[33mWarning:\033[0m"
|
| 482 |
+
echo -e "\033[33mIf you cannot access the panel, \033[0m"
|
| 483 |
+
echo -e "\033[33mrelease the following port (8888|888|80|443|20|21) in the security group\033[0m"
|
| 484 |
+
echo -e "\033[33m注意:初始密码仅在首次登录面板前能正确获取,其它时间请通过 bt 5 命令修改密码\033[0m"
|
| 485 |
+
echo -e "=================================================================="
|
| 486 |
+
;;
|
| 487 |
+
*)
|
| 488 |
+
if [ "${LANG}" != "en_US.UTF-8" ];then
|
| 489 |
+
export LANG=en_US.UTF-8 &> /dev/null
|
| 490 |
+
fi
|
| 491 |
+
if [ "${LC_ALL}" != "en_US.UTF-8" ];then
|
| 492 |
+
export LC_ALL=en_US.UTF-8 &> /dev/null
|
| 493 |
+
fi
|
| 494 |
+
$pythonV $panel_path/tools.py cli $1
|
| 495 |
+
;;
|
| 496 |
+
esac
|
| 497 |
+
|
bt-source/install/public.sh
ADDED
|
@@ -0,0 +1,193 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/bin/bash
|
| 2 |
+
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin
|
| 3 |
+
pyenv_bin=/www/server/panel/pyenv/bin
|
| 4 |
+
rep_path=${pyenv_bin}:$PATH
|
| 5 |
+
if [ -d "$pyenv_bin" ];then
|
| 6 |
+
PATH=$rep_path
|
| 7 |
+
fi
|
| 8 |
+
export PATH
|
| 9 |
+
export LANG=en_US.UTF-8
|
| 10 |
+
export LANGUAGE=en_US:en
|
| 11 |
+
|
| 12 |
+
NODE_FILE_CHECK=$(cat /www/server/panel/data/node.json |grep 125.88.182.172)
|
| 13 |
+
if [ "${NODE_FILE_CHECK}" ];then
|
| 14 |
+
rm -f /www/server/panel/data/node.json
|
| 15 |
+
fi
|
| 16 |
+
|
| 17 |
+
if [ -f "/www/server/panel/install/d_node.pl" ];then
|
| 18 |
+
LOCAL_DATE=$(date +%Y-%m-%d)
|
| 19 |
+
FILE_DATE=$(stat /www/server/panel/install/d_node.pl|grep Change|awk '{print $2}')
|
| 20 |
+
if [ "${LOCAL_DATE}" != "${FILE_DATE}" ];then
|
| 21 |
+
rm -f /www/server/panel/install/d_node.pl
|
| 22 |
+
else
|
| 23 |
+
test_url=$(cat /www/server/panel/install/d_node.pl)
|
| 24 |
+
HTTP_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${test_url}/net_test|xargs|awk '{print $2}')
|
| 25 |
+
if [ "${HTTP_CHECK}" == "200" ];then
|
| 26 |
+
NODE_URL=$test_url
|
| 27 |
+
fi
|
| 28 |
+
fi
|
| 29 |
+
fi
|
| 30 |
+
|
| 31 |
+
get_node_url(){
|
| 32 |
+
nodes=(https://dg2.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://cmcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn https://na1-node.bt.cn https://jp1-node.bt.cn https://cf1-node.aapanel.com);
|
| 33 |
+
|
| 34 |
+
if [ -f "/www/server/panel/data/domestic_ip.pl" ];then
|
| 35 |
+
nodes=(https://dg2.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://cmcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn);
|
| 36 |
+
fi
|
| 37 |
+
|
| 38 |
+
if [ -f "/www/server/panel/data/foreign_ip.pl" ];then
|
| 39 |
+
nodes=(https://cf1-node.aapanel.com https://dg2.bt.cn https://na1-node.bt.cn https://jp1-node.bt.cn https://download.bt.cn https://ctcc1-node.bt.cn https://ctcc2-node.bt.cn https://hk1-node.bt.cn);
|
| 40 |
+
fi
|
| 41 |
+
|
| 42 |
+
if [ "$1" ];then
|
| 43 |
+
nodes=($(echo ${nodes[*]}|sed "s#${1}##"))
|
| 44 |
+
fi
|
| 45 |
+
|
| 46 |
+
tmp_file1=/dev/shm/net_test1.pl
|
| 47 |
+
tmp_file2=/dev/shm/net_test2.pl
|
| 48 |
+
[ -f "${tmp_file1}" ] && rm -f ${tmp_file1}
|
| 49 |
+
[ -f "${tmp_file2}" ] && rm -f ${tmp_file2}
|
| 50 |
+
touch $tmp_file1
|
| 51 |
+
touch $tmp_file2
|
| 52 |
+
for node in ${nodes[@]};
|
| 53 |
+
do
|
| 54 |
+
if [ "${node}" == "https://cf1-node.aapanel.com" ];then
|
| 55 |
+
NODE_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/1net_test|xargs)
|
| 56 |
+
else
|
| 57 |
+
NODE_CHECK=$(curl --connect-timeout 3 -m 3 2>/dev/null -w "%{http_code} %{time_total}" ${node}/net_test|xargs)
|
| 58 |
+
fi
|
| 59 |
+
RES=$(echo ${NODE_CHECK}|awk '{print $1}')
|
| 60 |
+
NODE_STATUS=$(echo ${NODE_CHECK}|awk '{print $2}')
|
| 61 |
+
TIME_TOTAL=$(echo ${NODE_CHECK}|awk '{print $3 * 1000 - 500 }'|cut -d '.' -f 1)
|
| 62 |
+
if [ "${NODE_STATUS}" == "200" ];then
|
| 63 |
+
if [ $TIME_TOTAL -lt 300 ];then
|
| 64 |
+
if [ $RES -ge 1500 ];then
|
| 65 |
+
echo "$RES $node" >> $tmp_file1
|
| 66 |
+
fi
|
| 67 |
+
else
|
| 68 |
+
if [ $RES -ge 1500 ];then
|
| 69 |
+
echo "$TIME_TOTAL $node" >> $tmp_file2
|
| 70 |
+
fi
|
| 71 |
+
fi
|
| 72 |
+
|
| 73 |
+
i=$(($i+1))
|
| 74 |
+
if [ $TIME_TOTAL -lt 300 ];then
|
| 75 |
+
if [ $RES -ge 2390 ];then
|
| 76 |
+
break;
|
| 77 |
+
fi
|
| 78 |
+
fi
|
| 79 |
+
fi
|
| 80 |
+
done
|
| 81 |
+
|
| 82 |
+
NODE_URL=$(cat $tmp_file1|sort -r -g -t " " -k 1|head -n 1|awk '{print $2}')
|
| 83 |
+
if [ -z "$NODE_URL" ];then
|
| 84 |
+
NODE_URL=$(cat $tmp_file2|sort -g -t " " -k 1|head -n 1|awk '{print $2}')
|
| 85 |
+
if [ -z "$NODE_URL" ];then
|
| 86 |
+
NODE_URL='https://download.bt.cn';
|
| 87 |
+
fi
|
| 88 |
+
fi
|
| 89 |
+
rm -f $tmp_file1
|
| 90 |
+
rm -f $tmp_file2
|
| 91 |
+
}
|
| 92 |
+
|
| 93 |
+
GetCpuStat(){
|
| 94 |
+
time1=$(cat /proc/stat |grep 'cpu ')
|
| 95 |
+
sleep 1
|
| 96 |
+
time2=$(cat /proc/stat |grep 'cpu ')
|
| 97 |
+
cpuTime1=$(echo ${time1}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
|
| 98 |
+
cpuTime2=$(echo ${time2}|awk '{print $2+$3+$4+$5+$6+$7+$8}')
|
| 99 |
+
runTime=$((${cpuTime2}-${cpuTime1}))
|
| 100 |
+
idelTime1=$(echo ${time1}|awk '{print $5}')
|
| 101 |
+
idelTime2=$(echo ${time2}|awk '{print $5}')
|
| 102 |
+
idelTime=$((${idelTime2}-${idelTime1}))
|
| 103 |
+
useTime=$(((${runTime}-${idelTime})*3))
|
| 104 |
+
[ ${useTime} -gt ${runTime} ] && cpuBusy="true"
|
| 105 |
+
if [ "${cpuBusy}" == "true" ]; then
|
| 106 |
+
cpuCore=$((${cpuInfo}/2))
|
| 107 |
+
else
|
| 108 |
+
cpuCore=$((${cpuInfo}-1))
|
| 109 |
+
fi
|
| 110 |
+
}
|
| 111 |
+
GetPackManager(){
|
| 112 |
+
if [ -f "/usr/bin/yum" ] && [ -f "/etc/yum.conf" ]; then
|
| 113 |
+
PM="yum"
|
| 114 |
+
elif [ -f "/usr/bin/apt-get" ] && [ -f "/usr/bin/dpkg" ]; then
|
| 115 |
+
PM="apt-get"
|
| 116 |
+
fi
|
| 117 |
+
}
|
| 118 |
+
|
| 119 |
+
bt_check(){
|
| 120 |
+
p_path=/www/server/panel/class/panelPlugin.py
|
| 121 |
+
if [ -f $p_path ];then
|
| 122 |
+
is_ext=$(cat $p_path|grep btwaf)
|
| 123 |
+
if [ "$is_ext" != "" ];then
|
| 124 |
+
send_check
|
| 125 |
+
fi
|
| 126 |
+
fi
|
| 127 |
+
|
| 128 |
+
p_path=/www/server/panel/BTPanel/templates/default/index.html
|
| 129 |
+
if [ -f $p_path ];then
|
| 130 |
+
is_ext=$(cat $p_path|grep fbi)
|
| 131 |
+
if [ "$is_ext" != "" ];then
|
| 132 |
+
send_check
|
| 133 |
+
fi
|
| 134 |
+
fi
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
send_check(){
|
| 138 |
+
chattr -i /etc/init.d/bt
|
| 139 |
+
chmod +x /etc/init.d/bt
|
| 140 |
+
p_path2=/www/server/panel/class/common.py
|
| 141 |
+
p_version=$(cat $p_path2|grep "version = "|awk '{print $3}'|tr -cd [0-9.])
|
| 142 |
+
curl -sS --connect-timeout 3 -m 60 https://www.bt.cn/api/panel/notpro?version=$p_version
|
| 143 |
+
NODE_URL=""
|
| 144 |
+
exit 0;
|
| 145 |
+
}
|
| 146 |
+
GetSysInfo(){
|
| 147 |
+
if [ "${PM}" = "yum" ]; then
|
| 148 |
+
SYS_VERSION=$(cat /etc/redhat-release)
|
| 149 |
+
elif [ "${PM}" = "apt-get" ]; then
|
| 150 |
+
SYS_VERSION=$(cat /etc/issue)
|
| 151 |
+
fi
|
| 152 |
+
SYS_INFO=$(uname -msr)
|
| 153 |
+
SYS_BIT=$(getconf LONG_BIT)
|
| 154 |
+
MEM_TOTAL=$(free -m|grep Mem|awk '{print $2}')
|
| 155 |
+
CPU_INFO=$(getconf _NPROCESSORS_ONLN)
|
| 156 |
+
GCC_VER=$(gcc -v 2>&1|grep "gcc version"|awk '{print $3}')
|
| 157 |
+
CMAKE_VER=$(cmake --version|grep version|awk '{print $3}')
|
| 158 |
+
|
| 159 |
+
echo -e ${SYS_VERSION}
|
| 160 |
+
echo -e Bit:${SYS_BIT} Mem:${MEM_TOTAL}M Core:${CPU_INFO} gcc:${GCC_VER} cmake:${CMAKE_VER}
|
| 161 |
+
echo -e ${SYS_INFO}
|
| 162 |
+
}
|
| 163 |
+
cpuInfo=$(getconf _NPROCESSORS_ONLN)
|
| 164 |
+
if [ "${cpuInfo}" -ge "4" ];then
|
| 165 |
+
GetCpuStat
|
| 166 |
+
else
|
| 167 |
+
cpuCore="1"
|
| 168 |
+
fi
|
| 169 |
+
GetPackManager
|
| 170 |
+
|
| 171 |
+
if [ -d "/www/server/phpmyadmin/pma" ];then
|
| 172 |
+
rm -rf /www/server/phpmyadmin/pma
|
| 173 |
+
EN_CHECK=$(cat /www/server/panel/config/config.json |grep English)
|
| 174 |
+
if [ "${EN_CHECK}" ];then
|
| 175 |
+
curl https://download.bt.cn/install/update6_en.sh|bash
|
| 176 |
+
else
|
| 177 |
+
curl https://download.bt.cn/install/update6.sh|bash
|
| 178 |
+
fi
|
| 179 |
+
echo > /www/server/panel/data/restart.pl
|
| 180 |
+
fi
|
| 181 |
+
|
| 182 |
+
if [ ! $NODE_URL ];then
|
| 183 |
+
EN_CHECK=$(cat /www/server/panel/config/config.json |grep English)
|
| 184 |
+
if [ -z "${EN_CHECK}" ];then
|
| 185 |
+
echo '正在选择下载节点...';
|
| 186 |
+
else
|
| 187 |
+
echo "selecting download node...";
|
| 188 |
+
fi
|
| 189 |
+
get_node_url
|
| 190 |
+
bt_check
|
| 191 |
+
fi
|
| 192 |
+
|
| 193 |
+
|
bt-source/panel/BT-Panel
ADDED
|
@@ -0,0 +1,532 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/www/server/panel/pyenv/bin/python
|
| 2 |
+
#coding: utf-8
|
| 3 |
+
# +-------------------------------------------------------------------
|
| 4 |
+
# | 宝塔Linux面板
|
| 5 |
+
# +-------------------------------------------------------------------
|
| 6 |
+
# | Copyright (c) 2015-2099 宝塔软件(http://bt.cn) All rights reserved.
|
| 7 |
+
# +-------------------------------------------------------------------
|
| 8 |
+
# | Author: hwliang <hwl@bt.cn>
|
| 9 |
+
# +-------------------------------------------------------------------
|
| 10 |
+
|
| 11 |
+
import os
|
| 12 |
+
import sys
|
| 13 |
+
import ssl
|
| 14 |
+
import time
|
| 15 |
+
import logging
|
| 16 |
+
import threading
|
| 17 |
+
import pyinotify
|
| 18 |
+
import socket
|
| 19 |
+
import re
|
| 20 |
+
from gevent import monkey
|
| 21 |
+
from gevent.pywsgi import WSGIServer
|
| 22 |
+
from gevent.pool import Pool
|
| 23 |
+
from concurrent.futures import ThreadPoolExecutor
|
| 24 |
+
|
| 25 |
+
# 尽早打猴子补丁,确保所有I/O操作被协程化
|
| 26 |
+
monkey.patch_all(socket=True, select=True)
|
| 27 |
+
|
| 28 |
+
# 常量定义
|
| 29 |
+
_PATH = '/www/server/panel'
|
| 30 |
+
PID_FILE = f"{_PATH}/logs/panel.pid"
|
| 31 |
+
TASK_PID_FILE = f"{_PATH}/logs/task.pid"
|
| 32 |
+
UPGRADE_FLASK_TIME_FILE = f"{_PATH}/upgrade_flask_time.pl"
|
| 33 |
+
ERROR_LOG = f"{_PATH}/logs/error.log"
|
| 34 |
+
PORT_FILE = f"{_PATH}/data/port.pl"
|
| 35 |
+
IPV6_FLAG = f"{_PATH}/data/ipv6.pl"
|
| 36 |
+
SSL_FLAG = f"{_PATH}/data/ssl.pl"
|
| 37 |
+
SSL_KEY = f"{_PATH}/ssl/privateKey.pem"
|
| 38 |
+
SSL_CERT = f"{_PATH}/ssl/certificate.pem"
|
| 39 |
+
SSL_ERROR_FLAG = f"{_PATH}/data/panel_ssl_error.pl"
|
| 40 |
+
SSL_VERIFY_FLAG = f"{_PATH}/data/ssl_verify_data.pl"
|
| 41 |
+
SSL_CRL = f"{_PATH}/ssl/crl.pem"
|
| 42 |
+
SSL_CA = f"{_PATH}/ssl/ca.pem"
|
| 43 |
+
UPGRADE_FILE = f"{_PATH}/script/upgrade_flask.sh"
|
| 44 |
+
|
| 45 |
+
# 性能优化参数
|
| 46 |
+
MAX_WORKERS = 1000 # 最大协程数
|
| 47 |
+
MAX_THREAD_WORKERS = 10 # 线程池大小(用于CPU密集型任务)
|
| 48 |
+
TCP_BUFFER_SIZE = 1024*1024 # TCP缓冲区大小
|
| 49 |
+
|
| 50 |
+
# 设置工作目录和导入路径
|
| 51 |
+
os.chdir(_PATH)
|
| 52 |
+
if 'class/' not in sys.path:
|
| 53 |
+
sys.path.insert(0, 'class/')
|
| 54 |
+
|
| 55 |
+
# 导入面板模块
|
| 56 |
+
from BTPanel import app, public
|
| 57 |
+
|
| 58 |
+
# 检查调试模式
|
| 59 |
+
is_debug = os.path.exists('data/debug.pl')
|
| 60 |
+
|
| 61 |
+
# 创建协程池和线程池
|
| 62 |
+
greenlet_pool = Pool(MAX_WORKERS)
|
| 63 |
+
thread_pool = ThreadPoolExecutor(max_workers=MAX_THREAD_WORKERS)
|
| 64 |
+
|
| 65 |
+
# 配置日志
|
| 66 |
+
logging.basicConfig(
|
| 67 |
+
level=logging.DEBUG if is_debug else logging.WARNING,
|
| 68 |
+
format="[%(asctime)s][%(levelname)s] - %(message)s"
|
| 69 |
+
)
|
| 70 |
+
logger = logging.getLogger(app.name)
|
| 71 |
+
|
| 72 |
+
def setup_logging():
|
| 73 |
+
"""设置日志配置"""
|
| 74 |
+
if is_debug:
|
| 75 |
+
logger.setLevel(logging.DEBUG)
|
| 76 |
+
else:
|
| 77 |
+
logger.setLevel(logging.WARNING)
|
| 78 |
+
|
| 79 |
+
# 将Flask应用日志与主日志集成
|
| 80 |
+
app.logger.handlers = logger.handlers
|
| 81 |
+
app.logger.setLevel(logger.level)
|
| 82 |
+
|
| 83 |
+
def check_plugin_loader():
|
| 84 |
+
"""检查并加载适当的插件加载器"""
|
| 85 |
+
try:
|
| 86 |
+
machine = os.uname().machine
|
| 87 |
+
except Exception as e:
|
| 88 |
+
logger.error(f"获取系统架构失败: {e}")
|
| 89 |
+
machine = 'x86_64'
|
| 90 |
+
|
| 91 |
+
plugin_loader_file = 'class/PluginLoader.so'
|
| 92 |
+
plugin_loader_src_file = f"class/PluginLoader.{machine}.Python3.7.so"
|
| 93 |
+
|
| 94 |
+
# 特殊处理x86_64架构的glibc版本
|
| 95 |
+
if machine == 'x86_64':
|
| 96 |
+
glibc_version = public.get_glibc_version()
|
| 97 |
+
if glibc_version in ['2.14', '2.13', '2.12', '2.11', '2.10']:
|
| 98 |
+
plugin_loader_src_file = f"class/PluginLoader.{machine}.glibc214.Python3.7.so"
|
| 99 |
+
|
| 100 |
+
if os.path.exists(plugin_loader_src_file):
|
| 101 |
+
try:
|
| 102 |
+
os.system(f"\cp -f {plugin_loader_src_file} {plugin_loader_file}")
|
| 103 |
+
logger.info(f"已加载插件加载器: {plugin_loader_src_file}")
|
| 104 |
+
except Exception as e:
|
| 105 |
+
logger.error(f"加载插件加载器失败: {e}")
|
| 106 |
+
|
| 107 |
+
def start_background_task():
|
| 108 |
+
"""启动后台任务"""
|
| 109 |
+
try:
|
| 110 |
+
public.ExecShell(f"chmod 700 {_PATH}/BT-Task")
|
| 111 |
+
public.ExecShell(f"{_PATH}/BT-Task")
|
| 112 |
+
logger.info("后台任务已启动")
|
| 113 |
+
except Exception as e:
|
| 114 |
+
logger.error(f"启动后台任务失败: {e}")
|
| 115 |
+
|
| 116 |
+
def monitor_task():
|
| 117 |
+
"""监控后台任务状态,必要时重启"""
|
| 118 |
+
cycle = 60
|
| 119 |
+
while True:
|
| 120 |
+
try:
|
| 121 |
+
time.sleep(cycle)
|
| 122 |
+
|
| 123 |
+
# 检查pid文件
|
| 124 |
+
if not os.path.exists(TASK_PID_FILE):
|
| 125 |
+
logger.warning("任务PID文件不存在,重启任务")
|
| 126 |
+
start_background_task()
|
| 127 |
+
continue
|
| 128 |
+
|
| 129 |
+
# 读取pid
|
| 130 |
+
task_pid = public.readFile(TASK_PID_FILE).strip()
|
| 131 |
+
if not task_pid:
|
| 132 |
+
logger.warning("任务PID为空,重启任务")
|
| 133 |
+
start_background_task()
|
| 134 |
+
continue
|
| 135 |
+
|
| 136 |
+
# 检查进程是否存在
|
| 137 |
+
comm_file = f"/proc/{task_pid}/comm"
|
| 138 |
+
if not os.path.exists(comm_file):
|
| 139 |
+
logger.warning(f"任务进程 {task_pid} 不存在,重启任务")
|
| 140 |
+
start_background_task()
|
| 141 |
+
continue
|
| 142 |
+
|
| 143 |
+
# 检查是否为面板任务进程
|
| 144 |
+
comm = public.readFile(comm_file).strip()
|
| 145 |
+
if 'BT-Task' not in comm:
|
| 146 |
+
logger.warning(f"进程 {task_pid} 不是面板任务,重启任务")
|
| 147 |
+
start_background_task()
|
| 148 |
+
|
| 149 |
+
except Exception as e:
|
| 150 |
+
logger.error(f"监控任务时发生错误: {e}")
|
| 151 |
+
|
| 152 |
+
def setup_ssl_context():
|
| 153 |
+
"""配置SSL上下文"""
|
| 154 |
+
if not (os.path.exists(SSL_FLAG) and os.path.exists(SSL_KEY) and os.path.exists(SSL_CERT)):
|
| 155 |
+
return None
|
| 156 |
+
|
| 157 |
+
# 检查证书文件大小
|
| 158 |
+
if os.path.getsize(SSL_KEY) < 10 or os.path.getsize(SSL_CERT) < 10:
|
| 159 |
+
logger.warning("SSL证书文件大小异常,禁用SSL")
|
| 160 |
+
try:
|
| 161 |
+
os.remove(SSL_KEY)
|
| 162 |
+
os.remove(SSL_CERT)
|
| 163 |
+
os.remove(SSL_FLAG)
|
| 164 |
+
public.writeFile(SSL_ERROR_FLAG, 'True')
|
| 165 |
+
except Exception as e:
|
| 166 |
+
logger.error(f"清理SSL文件失败: {e}")
|
| 167 |
+
return None
|
| 168 |
+
|
| 169 |
+
try:
|
| 170 |
+
ssl_context = ssl.create_default_context(ssl.Purpose.CLIENT_AUTH)
|
| 171 |
+
ssl_context.load_cert_chain(certfile=SSL_CERT, keyfile=SSL_KEY)
|
| 172 |
+
|
| 173 |
+
# 设置最低TLS版本
|
| 174 |
+
if hasattr(ssl_context, "minimum_version"):
|
| 175 |
+
ssl_context.minimum_version = ssl.TLSVersion.TLSv1_2
|
| 176 |
+
else:
|
| 177 |
+
ssl_context.options |= (ssl.OP_NO_SSLv2 | ssl.OP_NO_SSLv3 | ssl.OP_NO_TLSv1 | ssl.OP_NO_TLSv1_1)
|
| 178 |
+
|
| 179 |
+
# 设置加密套件
|
| 180 |
+
ssl_context.set_ciphers("ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE")
|
| 181 |
+
|
| 182 |
+
# 证书验证配置
|
| 183 |
+
if os.path.exists(SSL_VERIFY_FLAG):
|
| 184 |
+
if os.path.exists(SSL_CA):
|
| 185 |
+
ssl_context.load_verify_locations(SSL_CA)
|
| 186 |
+
ssl_context.verify_mode = ssl.CERT_REQUIRED
|
| 187 |
+
ssl_context.set_default_verify_paths()
|
| 188 |
+
logger.info("启用SSL证书验证")
|
| 189 |
+
else:
|
| 190 |
+
logger.warning("SSL验证数据存在但CA证书不存在")
|
| 191 |
+
|
| 192 |
+
logger.info("SSL上下文配置完成")
|
| 193 |
+
return ssl_context
|
| 194 |
+
except Exception as e:
|
| 195 |
+
logger.error(f"配置SSL上下文失败: {e}")
|
| 196 |
+
return None
|
| 197 |
+
|
| 198 |
+
def check_upgrade():
|
| 199 |
+
"""检查并执行面板升级"""
|
| 200 |
+
try:
|
| 201 |
+
need_upgrade = True
|
| 202 |
+
# 检查是否需要升级
|
| 203 |
+
last_upgrade_time = 0 if not os.path.exists(UPGRADE_FLASK_TIME_FILE) else os.path.getmtime(UPGRADE_FLASK_TIME_FILE)
|
| 204 |
+
if time.time() - last_upgrade_time < 86400: # 24小时内不重复升级
|
| 205 |
+
logger.info("未到升级时间,跳过升级检查")
|
| 206 |
+
need_upgrade = False
|
| 207 |
+
|
| 208 |
+
for path_dir in sys.path:
|
| 209 |
+
if not path_dir.endswith("site-packages"):
|
| 210 |
+
continue
|
| 211 |
+
file = os.path.join(path_dir, "flask", "__init__.py")
|
| 212 |
+
if os.path.exists(file):
|
| 213 |
+
with open(file, "rt") as f:
|
| 214 |
+
data = f.read()
|
| 215 |
+
if re.search("__version__\s*=\s*\"1\.\d+", data):
|
| 216 |
+
need_upgrade = True
|
| 217 |
+
|
| 218 |
+
if not need_upgrade:
|
| 219 |
+
return
|
| 220 |
+
|
| 221 |
+
# 检查升级时间文件
|
| 222 |
+
if not os.path.exists(UPGRADE_FLASK_TIME_FILE):
|
| 223 |
+
with open(UPGRADE_FLASK_TIME_FILE, 'w') as f:
|
| 224 |
+
f.write(str(time.time()))
|
| 225 |
+
logger.info("创建升级时间文件")
|
| 226 |
+
|
| 227 |
+
# 执行升级脚本
|
| 228 |
+
if os.path.exists(UPGRADE_FILE):
|
| 229 |
+
logger.info("开始执行面板升级...")
|
| 230 |
+
os.system(f"nohup bash {UPGRADE_FILE} &>/dev/null &")
|
| 231 |
+
with open(UPGRADE_FLASK_TIME_FILE, 'w') as f:
|
| 232 |
+
f.write(str(time.time()))
|
| 233 |
+
logger.info("面板升级已启动")
|
| 234 |
+
except Exception as e:
|
| 235 |
+
logger.error(f"检查升级时发生错误: {e}")
|
| 236 |
+
|
| 237 |
+
def cleanup():
|
| 238 |
+
"""清理临时文件和旧文件"""
|
| 239 |
+
try:
|
| 240 |
+
# 清理临时文件
|
| 241 |
+
public.clear_tmp_file()
|
| 242 |
+
logger.info("临时文件清理完成")
|
| 243 |
+
|
| 244 |
+
# 移除旧的flask目录
|
| 245 |
+
if os.path.exists('class/flask'):
|
| 246 |
+
os.system('rm -rf class/flask')
|
| 247 |
+
logger.info("移除旧的Flask目录")
|
| 248 |
+
except Exception as e:
|
| 249 |
+
logger.error(f"清理过程中发生错误: {e}")
|
| 250 |
+
|
| 251 |
+
def init_database():
|
| 252 |
+
"""初始化数据库(如果需要)"""
|
| 253 |
+
if not os.path.exists(f"{_PATH}/data/db"):
|
| 254 |
+
try:
|
| 255 |
+
logger.info("初始化数据库...")
|
| 256 |
+
os.system(f"nohup {public.get_python_bin()} {_PATH}/script/init_db.py &>/dev/null &")
|
| 257 |
+
except Exception as e:
|
| 258 |
+
logger.error(f"初始化数据库失败: {e}")
|
| 259 |
+
|
| 260 |
+
class PanelEventHandler(pyinotify.ProcessEvent):
|
| 261 |
+
"""面板文件变更事件处理器"""
|
| 262 |
+
_exts = ['py', 'html', 'BT-Panel', 'so']
|
| 263 |
+
_exclude_patterns = [
|
| 264 |
+
re.compile(f'{_PATH}/plugin/.+'),
|
| 265 |
+
re.compile(f'{_PATH}/(tmp|temp|install)/.+'),
|
| 266 |
+
re.compile(f'{_PATH}/pyenv/.+'),
|
| 267 |
+
re.compile(f'{_PATH}/class/projectModel/.+'),
|
| 268 |
+
re.compile(f'{_PATH}/class/databaseModel/.+')
|
| 269 |
+
]
|
| 270 |
+
_last_time = 0
|
| 271 |
+
|
| 272 |
+
def is_ext(self, filename):
|
| 273 |
+
"""检查文件是否为需要监控的类型"""
|
| 274 |
+
fname = os.path.basename(filename)
|
| 275 |
+
if not fname or '.' not in fname:
|
| 276 |
+
return False
|
| 277 |
+
|
| 278 |
+
ext = fname.split('.')[-1]
|
| 279 |
+
if ext not in self._exts:
|
| 280 |
+
return False
|
| 281 |
+
|
| 282 |
+
for pattern in self._exclude_patterns:
|
| 283 |
+
if pattern.match(filename):
|
| 284 |
+
return False
|
| 285 |
+
|
| 286 |
+
return True
|
| 287 |
+
|
| 288 |
+
def panel_reload(self, filename, event_type):
|
| 289 |
+
"""处理面板重载事件"""
|
| 290 |
+
stime = time.time()
|
| 291 |
+
if stime - self._last_time < 2: # 防抖处理
|
| 292 |
+
return
|
| 293 |
+
|
| 294 |
+
self._last_time = stime
|
| 295 |
+
logger.debug(f'检测到文件: {filename} -> {event_type}')
|
| 296 |
+
|
| 297 |
+
fname = os.path.basename(filename)
|
| 298 |
+
if fname in ['BT-Task', 'task.py']:
|
| 299 |
+
logger.info('正在重启后台任务...')
|
| 300 |
+
public.ExecShell(f"nohup bash {_PATH}/init.sh restart &>{ERROR_LOG} &")
|
| 301 |
+
logger.info('后台任务已启动!')
|
| 302 |
+
else:
|
| 303 |
+
logger.info('正在重启面板...')
|
| 304 |
+
time.sleep(0.5) # 给系统一些时间处理文件变更
|
| 305 |
+
public.ExecShell(f"nohup bash {_PATH}/init.sh reload &>{ERROR_LOG} &")
|
| 306 |
+
|
| 307 |
+
def process_IN_CREATE(self, event):
|
| 308 |
+
"""处理文件创建事件"""
|
| 309 |
+
if self.is_ext(event.pathname):
|
| 310 |
+
# 使用协程池处理事件
|
| 311 |
+
greenlet_pool.spawn(self.panel_reload, event.pathname, '[创建]')
|
| 312 |
+
|
| 313 |
+
def process_IN_DELETE(self, event):
|
| 314 |
+
"""处理文件删除事件"""
|
| 315 |
+
if self.is_ext(event.pathname):
|
| 316 |
+
greenlet_pool.spawn(self.panel_reload, event.pathname, '[删除]')
|
| 317 |
+
|
| 318 |
+
def process_IN_MODIFY(self, event):
|
| 319 |
+
"""处理文件修改事件"""
|
| 320 |
+
if self.is_ext(event.pathname):
|
| 321 |
+
greenlet_pool.spawn(self.panel_reload, event.pathname, '[修改]')
|
| 322 |
+
|
| 323 |
+
def process_IN_MOVED_TO(self, event):
|
| 324 |
+
"""处理文件移动事件"""
|
| 325 |
+
if self.is_ext(event.pathname):
|
| 326 |
+
greenlet_pool.spawn(self.panel_reload, event.pathname, '[覆盖]')
|
| 327 |
+
|
| 328 |
+
def start_file_watcher():
|
| 329 |
+
"""启动文件变更监控"""
|
| 330 |
+
logger.info('启动文件变更监控...')
|
| 331 |
+
try:
|
| 332 |
+
event_handler = PanelEventHandler()
|
| 333 |
+
watch_manager = pyinotify.WatchManager()
|
| 334 |
+
mask = pyinotify.IN_CREATE | pyinotify.IN_DELETE | pyinotify.IN_MODIFY | pyinotify.IN_MOVED_TO
|
| 335 |
+
watch_manager.add_watch(_PATH, mask, auto_add=True, rec=True)
|
| 336 |
+
notifier = pyinotify.Notifier(watch_manager, event_handler)
|
| 337 |
+
notifier.loop()
|
| 338 |
+
except Exception as e:
|
| 339 |
+
logger.error(f"启动文件监控失败: {e}")
|
| 340 |
+
|
| 341 |
+
def get_server_port():
|
| 342 |
+
"""获取服务器端口配置"""
|
| 343 |
+
try:
|
| 344 |
+
with open(PORT_FILE) as f:
|
| 345 |
+
port = int(f.read().strip())
|
| 346 |
+
return port if port else 8888
|
| 347 |
+
except Exception as e:
|
| 348 |
+
logger.warning(f"读取端口配置失败,使用默认端口 8888: {e}")
|
| 349 |
+
return 8888
|
| 350 |
+
|
| 351 |
+
def get_server_host():
|
| 352 |
+
"""获取服务器主机配置"""
|
| 353 |
+
return "0:0:0:0:0:0:0:0" if os.path.exists(IPV6_FLAG) else '0.0.0.0'
|
| 354 |
+
|
| 355 |
+
def optimize_socket_options(server_socket):
|
| 356 |
+
"""优化套接字选项"""
|
| 357 |
+
try:
|
| 358 |
+
# 增大TCP缓冲区提高吞吐量
|
| 359 |
+
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_RCVBUF, TCP_BUFFER_SIZE)
|
| 360 |
+
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_SNDBUF, TCP_BUFFER_SIZE)
|
| 361 |
+
|
| 362 |
+
# 启用TCP keep-alive
|
| 363 |
+
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_KEEPALIVE, 1)
|
| 364 |
+
|
| 365 |
+
# 设置TCP keep-alive参数
|
| 366 |
+
server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPIDLE, 60)
|
| 367 |
+
server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPINTVL, 10)
|
| 368 |
+
server_socket.setsockopt(socket.IPPROTO_TCP, socket.TCP_KEEPCNT, 5)
|
| 369 |
+
|
| 370 |
+
logger.info(f"套接字优化已应用: 缓冲区大小={TCP_BUFFER_SIZE}")
|
| 371 |
+
except Exception as e:
|
| 372 |
+
logger.warning(f"套接字优化失败: {e}")
|
| 373 |
+
|
| 374 |
+
def create_server_socket(host, port, ssl_context=None):
|
| 375 |
+
"""创建并优化服务器套接字"""
|
| 376 |
+
|
| 377 |
+
# 创建套接字
|
| 378 |
+
if host == "0:0:0:0:0:0:0:0": # IPv6
|
| 379 |
+
server_socket = socket.socket(socket.AF_INET6, socket.SOCK_STREAM)
|
| 380 |
+
server_socket.setsockopt(socket.IPPROTO_IPV6, socket.IPV6_V6ONLY, 0)
|
| 381 |
+
else: # IPv4
|
| 382 |
+
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
| 383 |
+
|
| 384 |
+
# 设置套接字选项
|
| 385 |
+
server_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
|
| 386 |
+
optimize_socket_options(server_socket)
|
| 387 |
+
|
| 388 |
+
# 绑定地址和端口
|
| 389 |
+
server_socket.bind((host, port))
|
| 390 |
+
server_socket.listen(100) # 增大backlog
|
| 391 |
+
|
| 392 |
+
logger.info(f"服务器套接字已创建: {host}:{port}")
|
| 393 |
+
return server_socket
|
| 394 |
+
|
| 395 |
+
def start_web_server():
|
| 396 |
+
"""启动Web服务器"""
|
| 397 |
+
# 获取配置
|
| 398 |
+
PORT = get_server_port()
|
| 399 |
+
HOST = get_server_host()
|
| 400 |
+
ssl_context = setup_ssl_context()
|
| 401 |
+
|
| 402 |
+
# 启动服务器
|
| 403 |
+
try:
|
| 404 |
+
# 创建并优化服务器套接字
|
| 405 |
+
server_socket = create_server_socket(HOST, PORT, ssl_context)
|
| 406 |
+
|
| 407 |
+
# 尝试使用flask_sock
|
| 408 |
+
try:
|
| 409 |
+
import flask_sock
|
| 410 |
+
if ssl_context:
|
| 411 |
+
http_server = WSGIServer(server_socket, app, ssl_context=ssl_context, log=app.logger,spawn=100)
|
| 412 |
+
else:
|
| 413 |
+
http_server = WSGIServer(server_socket, app, log=app.logger,spawn=100)
|
| 414 |
+
logger.info(f"服务器将使用flask_sock在 {HOST}:{PORT} 启动")
|
| 415 |
+
except:
|
| 416 |
+
# 回退到geventwebsocket
|
| 417 |
+
from geventwebsocket.handler import WebSocketHandler
|
| 418 |
+
if ssl_context:
|
| 419 |
+
http_server = WSGIServer(server_socket, app, ssl_context=ssl_context,
|
| 420 |
+
handler_class=WebSocketHandler, log=app.logger,spawn=100)
|
| 421 |
+
else:
|
| 422 |
+
http_server = WSGIServer(server_socket, app, handler_class=WebSocketHandler, log=app.logger,spawn=100)
|
| 423 |
+
logger.info(f"服务器将使用geventwebsocket在 {HOST}:{PORT} 启动")
|
| 424 |
+
|
| 425 |
+
# 记录启动信息
|
| 426 |
+
protocol = "HTTPS" if ssl_context else "HTTP"
|
| 427 |
+
logger.info(f"{protocol} 服务器已启动,监听地址: {HOST}:{PORT}")
|
| 428 |
+
|
| 429 |
+
# 启动服务器
|
| 430 |
+
http_server.serve_forever()
|
| 431 |
+
except Exception as e:
|
| 432 |
+
try:
|
| 433 |
+
if e.errno == 98 or 'Address already in use' in str(e):
|
| 434 |
+
logger.info(f"端口 {PORT} 已被占用,请检查是否有其他程序占用该端口。")
|
| 435 |
+
logger.info(f"如是新安装面板可尝试重装解决")
|
| 436 |
+
except:
|
| 437 |
+
pass
|
| 438 |
+
logger.critical(f"启动Web服务器失败: {e}")
|
| 439 |
+
sys.exit(1)
|
| 440 |
+
|
| 441 |
+
def daemonize():
|
| 442 |
+
"""将进程转为守护进程"""
|
| 443 |
+
# 确保我们不是进程组组长
|
| 444 |
+
if os.fork():
|
| 445 |
+
sys.exit(0)
|
| 446 |
+
|
| 447 |
+
# 创建新会话
|
| 448 |
+
os.setsid()
|
| 449 |
+
|
| 450 |
+
# 再次fork,确保我们不是会话组长
|
| 451 |
+
if os.fork():
|
| 452 |
+
sys.exit(0)
|
| 453 |
+
|
| 454 |
+
# 关闭标准输入输出
|
| 455 |
+
sys.stdout.flush()
|
| 456 |
+
sys.stderr.flush()
|
| 457 |
+
|
| 458 |
+
# 重定向标准输入到/dev/null
|
| 459 |
+
si = open(os.devnull, 'r')
|
| 460 |
+
os.dup2(si.fileno(), sys.stdin.fileno())
|
| 461 |
+
|
| 462 |
+
# 重定向标准输出和错误到日志文件
|
| 463 |
+
if is_debug:
|
| 464 |
+
try:
|
| 465 |
+
so = open(ERROR_LOG, 'a+')
|
| 466 |
+
os.dup2(so.fileno(), sys.stdout.fileno())
|
| 467 |
+
os.dup2(so.fileno(), sys.stderr.fileno())
|
| 468 |
+
except Exception as e:
|
| 469 |
+
logger.error(f"重定向输出失败: {e}")
|
| 470 |
+
|
| 471 |
+
def init_jobs():
|
| 472 |
+
'''初始化面板环境检查任务'''
|
| 473 |
+
public.ExecShell("nohup {} {}/class/jobs.py &>{}/logs/jobs.log &".format(public.get_python_bin(), _PATH, _PATH))
|
| 474 |
+
|
| 475 |
+
def main():
|
| 476 |
+
"""主函数"""
|
| 477 |
+
try:
|
| 478 |
+
# 设置日志
|
| 479 |
+
setup_logging()
|
| 480 |
+
|
| 481 |
+
# 清理旧进程
|
| 482 |
+
if os.path.exists(PID_FILE):
|
| 483 |
+
try:
|
| 484 |
+
pid = public.readFile(PID_FILE).strip()
|
| 485 |
+
if pid:
|
| 486 |
+
os.system(f"kill -9 {pid}")
|
| 487 |
+
if os.path.exists(PID_FILE):
|
| 488 |
+
time.sleep(0.5)
|
| 489 |
+
os.system(f"kill -9 {pid}")
|
| 490 |
+
time.sleep(0.5)
|
| 491 |
+
logger.info(f"已终止旧面板进程 {pid}")
|
| 492 |
+
except Exception as e:
|
| 493 |
+
logger.warning(f"终止旧面板进程失败: {e}")
|
| 494 |
+
|
| 495 |
+
# 守护进程模式
|
| 496 |
+
daemonize()
|
| 497 |
+
# 写入新的PID
|
| 498 |
+
with open(PID_FILE, 'w') as f:
|
| 499 |
+
f.write(str(os.getpid()))
|
| 500 |
+
|
| 501 |
+
# 初始化
|
| 502 |
+
logger.info("面板启动中...")
|
| 503 |
+
check_plugin_loader()
|
| 504 |
+
cleanup()
|
| 505 |
+
check_upgrade()
|
| 506 |
+
init_database()
|
| 507 |
+
init_jobs()
|
| 508 |
+
|
| 509 |
+
# 启动后台任务
|
| 510 |
+
start_background_task()
|
| 511 |
+
|
| 512 |
+
# 启动任务监控线程
|
| 513 |
+
task_thread = threading.Thread(target=monitor_task)
|
| 514 |
+
task_thread.daemon = True
|
| 515 |
+
task_thread.start()
|
| 516 |
+
|
| 517 |
+
# 调试模式下启动文件监控
|
| 518 |
+
if is_debug:
|
| 519 |
+
logger.info("调试模式已启用")
|
| 520 |
+
dev_thread = threading.Thread(target=start_file_watcher)
|
| 521 |
+
dev_thread.daemon = True
|
| 522 |
+
dev_thread.start()
|
| 523 |
+
|
| 524 |
+
# 启动Web服务器
|
| 525 |
+
start_web_server()
|
| 526 |
+
|
| 527 |
+
except Exception as e:
|
| 528 |
+
logger.critical(f"面板启动失败: {e}")
|
| 529 |
+
sys.exit(1)
|
| 530 |
+
|
| 531 |
+
if __name__ == '__main__':
|
| 532 |
+
main()
|
bt-source/panel/BT-Task
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
#!/www/server/panel/pyenv/bin/python
|
| 2 |
+
#coding: utf-8
|
| 3 |
+
# +-------------------------------------------------------------------
|
| 4 |
+
# | 宝塔Linux面板
|
| 5 |
+
# +-------------------------------------------------------------------
|
| 6 |
+
# | Copyright (c) 2015-2099 宝塔软件(http://bt.cn) All rights reserved.
|
| 7 |
+
# +-------------------------------------------------------------------
|
| 8 |
+
# | Author: hwliang <hwl@bt.cn>
|
| 9 |
+
# +-------------------------------------------------------------------
|
| 10 |
+
|
| 11 |
+
import os,sys
|
| 12 |
+
os.chdir('/www/server/panel')
|
| 13 |
+
import task
|
| 14 |
+
task.main()
|
bt-source/panel/BTPanel/__init__.py
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
bt-source/panel/BTPanel/static/ckeditor/CHANGES.md
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
bt-source/panel/BTPanel/static/ckeditor/LICENSE.md
ADDED
|
@@ -0,0 +1,1420 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
Software License Agreement
|
| 2 |
+
==========================
|
| 3 |
+
|
| 4 |
+
CKEditor - The text editor for Internet - https://ckeditor.com/
|
| 5 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 6 |
+
|
| 7 |
+
Licensed under the terms of any of the following licenses at your
|
| 8 |
+
choice:
|
| 9 |
+
|
| 10 |
+
- GNU General Public License Version 2 or later (the "GPL")
|
| 11 |
+
http://www.gnu.org/licenses/gpl.html
|
| 12 |
+
(See Appendix A)
|
| 13 |
+
|
| 14 |
+
- GNU Lesser General Public License Version 2.1 or later (the "LGPL")
|
| 15 |
+
http://www.gnu.org/licenses/lgpl.html
|
| 16 |
+
(See Appendix B)
|
| 17 |
+
|
| 18 |
+
- Mozilla Public License Version 1.1 or later (the "MPL")
|
| 19 |
+
http://www.mozilla.org/MPL/MPL-1.1.html
|
| 20 |
+
(See Appendix C)
|
| 21 |
+
|
| 22 |
+
You are not required to, but if you want to explicitly declare the
|
| 23 |
+
license you have chosen to be bound to when using, reproducing,
|
| 24 |
+
modifying and distributing this software, just include a text file
|
| 25 |
+
titled "legal.txt" in your version of this software, indicating your
|
| 26 |
+
license choice. In any case, your choice will not restrict any
|
| 27 |
+
recipient of your version of this software to use, reproduce, modify
|
| 28 |
+
and distribute this software under any of the above licenses.
|
| 29 |
+
|
| 30 |
+
Sources of Intellectual Property Included in CKEditor
|
| 31 |
+
-----------------------------------------------------
|
| 32 |
+
|
| 33 |
+
Where not otherwise indicated, all CKEditor content is authored by
|
| 34 |
+
CKSource engineers and consists of CKSource-owned intellectual
|
| 35 |
+
property. In some specific instances, CKEditor will incorporate work
|
| 36 |
+
done by developers outside of CKSource with their express permission.
|
| 37 |
+
|
| 38 |
+
The following libraries are included in CKEditor under the MIT license (see Appendix D):
|
| 39 |
+
|
| 40 |
+
* CKSource Samples Framework (included in the samples) - Copyright (c) 2014-2019, CKSource - Frederico Knabben.
|
| 41 |
+
* PicoModal (included in `samples/js/sf.js`) - Copyright (c) 2012 James Frasca.
|
| 42 |
+
* CodeMirror (included in the samples) - Copyright (C) 2014 by Marijn Haverbeke <marijnh@gmail.com> and others.
|
| 43 |
+
|
| 44 |
+
Parts of code taken from the following libraries are included in CKEditor under the MIT license (see Appendix D):
|
| 45 |
+
|
| 46 |
+
* jQuery (inspired the domReady function, ckeditor_base.js) - Copyright (c) 2011 John Resig, http://jquery.com/
|
| 47 |
+
|
| 48 |
+
The following libraries are included in CKEditor under the SIL Open Font License, Version 1.1 (see Appendix E):
|
| 49 |
+
|
| 50 |
+
* Font Awesome (included in the toolbar configurator) - Copyright (C) 2012 by Dave Gandy.
|
| 51 |
+
|
| 52 |
+
The following libraries are included in CKEditor under the BSD-3 License (see Appendix F):
|
| 53 |
+
|
| 54 |
+
* highlight.js (included in the `codesnippet` plugin) - Copyright (c) 2006, Ivan Sagalaev.
|
| 55 |
+
* YUI Library (included in the `uicolor` plugin) - Copyright (c) 2009, Yahoo! Inc.
|
| 56 |
+
|
| 57 |
+
|
| 58 |
+
Trademarks
|
| 59 |
+
----------
|
| 60 |
+
|
| 61 |
+
CKEditor is a trademark of CKSource - Frederico Knabben. All other brand
|
| 62 |
+
and product names are trademarks, registered trademarks or service
|
| 63 |
+
marks of their respective holders.
|
| 64 |
+
|
| 65 |
+
---
|
| 66 |
+
|
| 67 |
+
Appendix A: The GPL License
|
| 68 |
+
---------------------------
|
| 69 |
+
|
| 70 |
+
```
|
| 71 |
+
GNU GENERAL PUBLIC LICENSE
|
| 72 |
+
Version 2, June 1991
|
| 73 |
+
|
| 74 |
+
Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
|
| 75 |
+
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
| 76 |
+
Everyone is permitted to copy and distribute verbatim copies
|
| 77 |
+
of this license document, but changing it is not allowed.
|
| 78 |
+
|
| 79 |
+
Preamble
|
| 80 |
+
|
| 81 |
+
The licenses for most software are designed to take away your
|
| 82 |
+
freedom to share and change it. By contrast, the GNU General Public
|
| 83 |
+
License is intended to guarantee your freedom to share and change free
|
| 84 |
+
software-to make sure the software is free for all its users. This
|
| 85 |
+
General Public License applies to most of the Free Software
|
| 86 |
+
Foundation's software and to any other program whose authors commit to
|
| 87 |
+
using it. (Some other Free Software Foundation software is covered by
|
| 88 |
+
the GNU Lesser General Public License instead.) You can apply it to
|
| 89 |
+
your programs, too.
|
| 90 |
+
|
| 91 |
+
When we speak of free software, we are referring to freedom, not
|
| 92 |
+
price. Our General Public Licenses are designed to make sure that you
|
| 93 |
+
have the freedom to distribute copies of free software (and charge for
|
| 94 |
+
this service if you wish), that you receive source code or can get it
|
| 95 |
+
if you want it, that you can change the software or use pieces of it
|
| 96 |
+
in new free programs; and that you know you can do these things.
|
| 97 |
+
|
| 98 |
+
To protect your rights, we need to make restrictions that forbid
|
| 99 |
+
anyone to deny you these rights or to ask you to surrender the rights.
|
| 100 |
+
These restrictions translate to certain responsibilities for you if you
|
| 101 |
+
distribute copies of the software, or if you modify it.
|
| 102 |
+
|
| 103 |
+
For example, if you distribute copies of such a program, whether
|
| 104 |
+
gratis or for a fee, you must give the recipients all the rights that
|
| 105 |
+
you have. You must make sure that they, too, receive or can get the
|
| 106 |
+
source code. And you must show them these terms so they know their
|
| 107 |
+
rights.
|
| 108 |
+
|
| 109 |
+
We protect your rights with two steps: (1) copyright the software, and
|
| 110 |
+
(2) offer you this license which gives you legal permission to copy,
|
| 111 |
+
distribute and/or modify the software.
|
| 112 |
+
|
| 113 |
+
Also, for each author's protection and ours, we want to make certain
|
| 114 |
+
that everyone understands that there is no warranty for this free
|
| 115 |
+
software. If the software is modified by someone else and passed on, we
|
| 116 |
+
want its recipients to know that what they have is not the original, so
|
| 117 |
+
that any problems introduced by others will not reflect on the original
|
| 118 |
+
authors' reputations.
|
| 119 |
+
|
| 120 |
+
Finally, any free program is threatened constantly by software
|
| 121 |
+
patents. We wish to avoid the danger that redistributors of a free
|
| 122 |
+
program will individually obtain patent licenses, in effect making the
|
| 123 |
+
program proprietary. To prevent this, we have made it clear that any
|
| 124 |
+
patent must be licensed for everyone's free use or not licensed at all.
|
| 125 |
+
|
| 126 |
+
The precise terms and conditions for copying, distribution and
|
| 127 |
+
modification follow.
|
| 128 |
+
|
| 129 |
+
GNU GENERAL PUBLIC LICENSE
|
| 130 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
| 131 |
+
|
| 132 |
+
0. This License applies to any program or other work which contains
|
| 133 |
+
a notice placed by the copyright holder saying it may be distributed
|
| 134 |
+
under the terms of this General Public License. The "Program", below,
|
| 135 |
+
refers to any such program or work, and a "work based on the Program"
|
| 136 |
+
means either the Program or any derivative work under copyright law:
|
| 137 |
+
that is to say, a work containing the Program or a portion of it,
|
| 138 |
+
either verbatim or with modifications and/or translated into another
|
| 139 |
+
language. (Hereinafter, translation is included without limitation in
|
| 140 |
+
the term "modification".) Each licensee is addressed as "you".
|
| 141 |
+
|
| 142 |
+
Activities other than copying, distribution and modification are not
|
| 143 |
+
covered by this License; they are outside its scope. The act of
|
| 144 |
+
running the Program is not restricted, and the output from the Program
|
| 145 |
+
is covered only if its contents constitute a work based on the
|
| 146 |
+
Program (independent of having been made by running the Program).
|
| 147 |
+
Whether that is true depends on what the Program does.
|
| 148 |
+
|
| 149 |
+
1. You may copy and distribute verbatim copies of the Program's
|
| 150 |
+
source code as you receive it, in any medium, provided that you
|
| 151 |
+
conspicuously and appropriately publish on each copy an appropriate
|
| 152 |
+
copyright notice and disclaimer of warranty; keep intact all the
|
| 153 |
+
notices that refer to this License and to the absence of any warranty;
|
| 154 |
+
and give any other recipients of the Program a copy of this License
|
| 155 |
+
along with the Program.
|
| 156 |
+
|
| 157 |
+
You may charge a fee for the physical act of transferring a copy, and
|
| 158 |
+
you may at your option offer warranty protection in exchange for a fee.
|
| 159 |
+
|
| 160 |
+
2. You may modify your copy or copies of the Program or any portion
|
| 161 |
+
of it, thus forming a work based on the Program, and copy and
|
| 162 |
+
distribute such modifications or work under the terms of Section 1
|
| 163 |
+
above, provided that you also meet all of these conditions:
|
| 164 |
+
|
| 165 |
+
a) You must cause the modified files to carry prominent notices
|
| 166 |
+
stating that you changed the files and the date of any change.
|
| 167 |
+
|
| 168 |
+
b) You must cause any work that you distribute or publish, that in
|
| 169 |
+
whole or in part contains or is derived from the Program or any
|
| 170 |
+
part thereof, to be licensed as a whole at no charge to all third
|
| 171 |
+
parties under the terms of this License.
|
| 172 |
+
|
| 173 |
+
c) If the modified program normally reads commands interactively
|
| 174 |
+
when run, you must cause it, when started running for such
|
| 175 |
+
interactive use in the most ordinary way, to print or display an
|
| 176 |
+
announcement including an appropriate copyright notice and a
|
| 177 |
+
notice that there is no warranty (or else, saying that you provide
|
| 178 |
+
a warranty) and that users may redistribute the program under
|
| 179 |
+
these conditions, and telling the user how to view a copy of this
|
| 180 |
+
License. (Exception: if the Program itself is interactive but
|
| 181 |
+
does not normally print such an announcement, your work based on
|
| 182 |
+
the Program is not required to print an announcement.)
|
| 183 |
+
|
| 184 |
+
These requirements apply to the modified work as a whole. If
|
| 185 |
+
identifiable sections of that work are not derived from the Program,
|
| 186 |
+
and can be reasonably considered independent and separate works in
|
| 187 |
+
themselves, then this License, and its terms, do not apply to those
|
| 188 |
+
sections when you distribute them as separate works. But when you
|
| 189 |
+
distribute the same sections as part of a whole which is a work based
|
| 190 |
+
on the Program, the distribution of the whole must be on the terms of
|
| 191 |
+
this License, whose permissions for other licensees extend to the
|
| 192 |
+
entire whole, and thus to each and every part regardless of who wrote it.
|
| 193 |
+
|
| 194 |
+
Thus, it is not the intent of this section to claim rights or contest
|
| 195 |
+
your rights to work written entirely by you; rather, the intent is to
|
| 196 |
+
exercise the right to control the distribution of derivative or
|
| 197 |
+
collective works based on the Program.
|
| 198 |
+
|
| 199 |
+
In addition, mere aggregation of another work not based on the Program
|
| 200 |
+
with the Program (or with a work based on the Program) on a volume of
|
| 201 |
+
a storage or distribution medium does not bring the other work under
|
| 202 |
+
the scope of this License.
|
| 203 |
+
|
| 204 |
+
3. You may copy and distribute the Program (or a work based on it,
|
| 205 |
+
under Section 2) in object code or executable form under the terms of
|
| 206 |
+
Sections 1 and 2 above provided that you also do one of the following:
|
| 207 |
+
|
| 208 |
+
a) Accompany it with the complete corresponding machine-readable
|
| 209 |
+
source code, which must be distributed under the terms of Sections
|
| 210 |
+
1 and 2 above on a medium customarily used for software interchange; or,
|
| 211 |
+
|
| 212 |
+
b) Accompany it with a written offer, valid for at least three
|
| 213 |
+
years, to give any third party, for a charge no more than your
|
| 214 |
+
cost of physically performing source distribution, a complete
|
| 215 |
+
machine-readable copy of the corresponding source code, to be
|
| 216 |
+
distributed under the terms of Sections 1 and 2 above on a medium
|
| 217 |
+
customarily used for software interchange; or,
|
| 218 |
+
|
| 219 |
+
c) Accompany it with the information you received as to the offer
|
| 220 |
+
to distribute corresponding source code. (This alternative is
|
| 221 |
+
allowed only for noncommercial distribution and only if you
|
| 222 |
+
received the program in object code or executable form with such
|
| 223 |
+
an offer, in accord with Subsection b above.)
|
| 224 |
+
|
| 225 |
+
The source code for a work means the preferred form of the work for
|
| 226 |
+
making modifications to it. For an executable work, complete source
|
| 227 |
+
code means all the source code for all modules it contains, plus any
|
| 228 |
+
associated interface definition files, plus the scripts used to
|
| 229 |
+
control compilation and installation of the executable. However, as a
|
| 230 |
+
special exception, the source code distributed need not include
|
| 231 |
+
anything that is normally distributed (in either source or binary
|
| 232 |
+
form) with the major components (compiler, kernel, and so on) of the
|
| 233 |
+
operating system on which the executable runs, unless that component
|
| 234 |
+
itself accompanies the executable.
|
| 235 |
+
|
| 236 |
+
If distribution of executable or object code is made by offering
|
| 237 |
+
access to copy from a designated place, then offering equivalent
|
| 238 |
+
access to copy the source code from the same place counts as
|
| 239 |
+
distribution of the source code, even though third parties are not
|
| 240 |
+
compelled to copy the source along with the object code.
|
| 241 |
+
|
| 242 |
+
4. You may not copy, modify, sublicense, or distribute the Program
|
| 243 |
+
except as expressly provided under this License. Any attempt
|
| 244 |
+
otherwise to copy, modify, sublicense or distribute the Program is
|
| 245 |
+
void, and will automatically terminate your rights under this License.
|
| 246 |
+
However, parties who have received copies, or rights, from you under
|
| 247 |
+
this License will not have their licenses terminated so long as such
|
| 248 |
+
parties remain in full compliance.
|
| 249 |
+
|
| 250 |
+
5. You are not required to accept this License, since you have not
|
| 251 |
+
signed it. However, nothing else grants you permission to modify or
|
| 252 |
+
distribute the Program or its derivative works. These actions are
|
| 253 |
+
prohibited by law if you do not accept this License. Therefore, by
|
| 254 |
+
modifying or distributing the Program (or any work based on the
|
| 255 |
+
Program), you indicate your acceptance of this License to do so, and
|
| 256 |
+
all its terms and conditions for copying, distributing or modifying
|
| 257 |
+
the Program or works based on it.
|
| 258 |
+
|
| 259 |
+
6. Each time you redistribute the Program (or any work based on the
|
| 260 |
+
Program), the recipient automatically receives a license from the
|
| 261 |
+
original licensor to copy, distribute or modify the Program subject to
|
| 262 |
+
these terms and conditions. You may not impose any further
|
| 263 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
| 264 |
+
You are not responsible for enforcing compliance by third parties to
|
| 265 |
+
this License.
|
| 266 |
+
|
| 267 |
+
7. If, as a consequence of a court judgment or allegation of patent
|
| 268 |
+
infringement or for any other reason (not limited to patent issues),
|
| 269 |
+
conditions are imposed on you (whether by court order, agreement or
|
| 270 |
+
otherwise) that contradict the conditions of this License, they do not
|
| 271 |
+
excuse you from the conditions of this License. If you cannot
|
| 272 |
+
distribute so as to satisfy simultaneously your obligations under this
|
| 273 |
+
License and any other pertinent obligations, then as a consequence you
|
| 274 |
+
may not distribute the Program at all. For example, if a patent
|
| 275 |
+
license would not permit royalty-free redistribution of the Program by
|
| 276 |
+
all those who receive copies directly or indirectly through you, then
|
| 277 |
+
the only way you could satisfy both it and this License would be to
|
| 278 |
+
refrain entirely from distribution of the Program.
|
| 279 |
+
|
| 280 |
+
If any portion of this section is held invalid or unenforceable under
|
| 281 |
+
any particular circumstance, the balance of the section is intended to
|
| 282 |
+
apply and the section as a whole is intended to apply in other
|
| 283 |
+
circumstances.
|
| 284 |
+
|
| 285 |
+
It is not the purpose of this section to induce you to infringe any
|
| 286 |
+
patents or other property right claims or to contest validity of any
|
| 287 |
+
such claims; this section has the sole purpose of protecting the
|
| 288 |
+
integrity of the free software distribution system, which is
|
| 289 |
+
implemented by public license practices. Many people have made
|
| 290 |
+
generous contributions to the wide range of software distributed
|
| 291 |
+
through that system in reliance on consistent application of that
|
| 292 |
+
system; it is up to the author/donor to decide if he or she is willing
|
| 293 |
+
to distribute software through any other system and a licensee cannot
|
| 294 |
+
impose that choice.
|
| 295 |
+
|
| 296 |
+
This section is intended to make thoroughly clear what is believed to
|
| 297 |
+
be a consequence of the rest of this License.
|
| 298 |
+
|
| 299 |
+
8. If the distribution and/or use of the Program is restricted in
|
| 300 |
+
certain countries either by patents or by copyrighted interfaces, the
|
| 301 |
+
original copyright holder who places the Program under this License
|
| 302 |
+
may add an explicit geographical distribution limitation excluding
|
| 303 |
+
those countries, so that distribution is permitted only in or among
|
| 304 |
+
countries not thus excluded. In such case, this License incorporates
|
| 305 |
+
the limitation as if written in the body of this License.
|
| 306 |
+
|
| 307 |
+
9. The Free Software Foundation may publish revised and/or new versions
|
| 308 |
+
of the General Public License from time to time. Such new versions will
|
| 309 |
+
be similar in spirit to the present version, but may differ in detail to
|
| 310 |
+
address new problems or concerns.
|
| 311 |
+
|
| 312 |
+
Each version is given a distinguishing version number. If the Program
|
| 313 |
+
specifies a version number of this License which applies to it and "any
|
| 314 |
+
later version", you have the option of following the terms and conditions
|
| 315 |
+
either of that version or of any later version published by the Free
|
| 316 |
+
Software Foundation. If the Program does not specify a version number of
|
| 317 |
+
this License, you may choose any version ever published by the Free Software
|
| 318 |
+
Foundation.
|
| 319 |
+
|
| 320 |
+
10. If you wish to incorporate parts of the Program into other free
|
| 321 |
+
programs whose distribution conditions are different, write to the author
|
| 322 |
+
to ask for permission. For software which is copyrighted by the Free
|
| 323 |
+
Software Foundation, write to the Free Software Foundation; we sometimes
|
| 324 |
+
make exceptions for this. Our decision will be guided by the two goals
|
| 325 |
+
of preserving the free status of all derivatives of our free software and
|
| 326 |
+
of promoting the sharing and reuse of software generally.
|
| 327 |
+
|
| 328 |
+
NO WARRANTY
|
| 329 |
+
|
| 330 |
+
11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
|
| 331 |
+
FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
|
| 332 |
+
OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
|
| 333 |
+
PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
|
| 334 |
+
OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
| 335 |
+
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
|
| 336 |
+
TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
|
| 337 |
+
PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
|
| 338 |
+
REPAIR OR CORRECTION.
|
| 339 |
+
|
| 340 |
+
12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
|
| 341 |
+
WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
|
| 342 |
+
REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
|
| 343 |
+
INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
|
| 344 |
+
OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
|
| 345 |
+
TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
|
| 346 |
+
YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
|
| 347 |
+
PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
|
| 348 |
+
POSSIBILITY OF SUCH DAMAGES.
|
| 349 |
+
|
| 350 |
+
END OF TERMS AND CONDITIONS
|
| 351 |
+
```
|
| 352 |
+
|
| 353 |
+
Appendix B: The LGPL License
|
| 354 |
+
----------------------------
|
| 355 |
+
|
| 356 |
+
```
|
| 357 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
| 358 |
+
Version 2.1, February 1999
|
| 359 |
+
|
| 360 |
+
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
|
| 361 |
+
59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
| 362 |
+
Everyone is permitted to copy and distribute verbatim copies
|
| 363 |
+
of this license document, but changing it is not allowed.
|
| 364 |
+
|
| 365 |
+
[This is the first released version of the Lesser GPL. It also counts
|
| 366 |
+
as the successor of the GNU Library Public License, version 2, hence
|
| 367 |
+
the version number 2.1.]
|
| 368 |
+
|
| 369 |
+
Preamble
|
| 370 |
+
|
| 371 |
+
The licenses for most software are designed to take away your
|
| 372 |
+
freedom to share and change it. By contrast, the GNU General Public
|
| 373 |
+
Licenses are intended to guarantee your freedom to share and change
|
| 374 |
+
free software-to make sure the software is free for all its users.
|
| 375 |
+
|
| 376 |
+
This license, the Lesser General Public License, applies to some
|
| 377 |
+
specially designated software packages-typically libraries-of the
|
| 378 |
+
Free Software Foundation and other authors who decide to use it. You
|
| 379 |
+
can use it too, but we suggest you first think carefully about whether
|
| 380 |
+
this license or the ordinary General Public License is the better
|
| 381 |
+
strategy to use in any particular case, based on the explanations below.
|
| 382 |
+
|
| 383 |
+
When we speak of free software, we are referring to freedom of use,
|
| 384 |
+
not price. Our General Public Licenses are designed to make sure that
|
| 385 |
+
you have the freedom to distribute copies of free software (and charge
|
| 386 |
+
for this service if you wish); that you receive source code or can get
|
| 387 |
+
it if you want it; that you can change the software and use pieces of
|
| 388 |
+
it in new free programs; and that you are informed that you can do
|
| 389 |
+
these things.
|
| 390 |
+
|
| 391 |
+
To protect your rights, we need to make restrictions that forbid
|
| 392 |
+
distributors to deny you these rights or to ask you to surrender these
|
| 393 |
+
rights. These restrictions translate to certain responsibilities for
|
| 394 |
+
you if you distribute copies of the library or if you modify it.
|
| 395 |
+
|
| 396 |
+
For example, if you distribute copies of the library, whether gratis
|
| 397 |
+
or for a fee, you must give the recipients all the rights that we gave
|
| 398 |
+
you. You must make sure that they, too, receive or can get the source
|
| 399 |
+
code. If you link other code with the library, you must provide
|
| 400 |
+
complete object files to the recipients, so that they can relink them
|
| 401 |
+
with the library after making changes to the library and recompiling
|
| 402 |
+
it. And you must show them these terms so they know their rights.
|
| 403 |
+
|
| 404 |
+
We protect your rights with a two-step method: (1) we copyright the
|
| 405 |
+
library, and (2) we offer you this license, which gives you legal
|
| 406 |
+
permission to copy, distribute and/or modify the library.
|
| 407 |
+
|
| 408 |
+
To protect each distributor, we want to make it very clear that
|
| 409 |
+
there is no warranty for the free library. Also, if the library is
|
| 410 |
+
modified by someone else and passed on, the recipients should know
|
| 411 |
+
that what they have is not the original version, so that the original
|
| 412 |
+
author's reputation will not be affected by problems that might be
|
| 413 |
+
introduced by others.
|
| 414 |
+
|
| 415 |
+
Finally, software patents pose a constant threat to the existence of
|
| 416 |
+
any free program. We wish to make sure that a company cannot
|
| 417 |
+
effectively restrict the users of a free program by obtaining a
|
| 418 |
+
restrictive license from a patent holder. Therefore, we insist that
|
| 419 |
+
any patent license obtained for a version of the library must be
|
| 420 |
+
consistent with the full freedom of use specified in this license.
|
| 421 |
+
|
| 422 |
+
Most GNU software, including some libraries, is covered by the
|
| 423 |
+
ordinary GNU General Public License. This license, the GNU Lesser
|
| 424 |
+
General Public License, applies to certain designated libraries, and
|
| 425 |
+
is quite different from the ordinary General Public License. We use
|
| 426 |
+
this license for certain libraries in order to permit linking those
|
| 427 |
+
libraries into non-free programs.
|
| 428 |
+
|
| 429 |
+
When a program is linked with a library, whether statically or using
|
| 430 |
+
a shared library, the combination of the two is legally speaking a
|
| 431 |
+
combined work, a derivative of the original library. The ordinary
|
| 432 |
+
General Public License therefore permits such linking only if the
|
| 433 |
+
entire combination fits its criteria of freedom. The Lesser General
|
| 434 |
+
Public License permits more lax criteria for linking other code with
|
| 435 |
+
the library.
|
| 436 |
+
|
| 437 |
+
We call this license the "Lesser" General Public License because it
|
| 438 |
+
does Less to protect the user's freedom than the ordinary General
|
| 439 |
+
Public License. It also provides other free software developers Less
|
| 440 |
+
of an advantage over competing non-free programs. These disadvantages
|
| 441 |
+
are the reason we use the ordinary General Public License for many
|
| 442 |
+
libraries. However, the Lesser license provides advantages in certain
|
| 443 |
+
special circumstances.
|
| 444 |
+
|
| 445 |
+
For example, on rare occasions, there may be a special need to
|
| 446 |
+
encourage the widest possible use of a certain library, so that it becomes
|
| 447 |
+
a de-facto standard. To achieve this, non-free programs must be
|
| 448 |
+
allowed to use the library. A more frequent case is that a free
|
| 449 |
+
library does the same job as widely used non-free libraries. In this
|
| 450 |
+
case, there is little to gain by limiting the free library to free
|
| 451 |
+
software only, so we use the Lesser General Public License.
|
| 452 |
+
|
| 453 |
+
In other cases, permission to use a particular library in non-free
|
| 454 |
+
programs enables a greater number of people to use a large body of
|
| 455 |
+
free software. For example, permission to use the GNU C Library in
|
| 456 |
+
non-free programs enables many more people to use the whole GNU
|
| 457 |
+
operating system, as well as its variant, the GNU/Linux operating
|
| 458 |
+
system.
|
| 459 |
+
|
| 460 |
+
Although the Lesser General Public License is Less protective of the
|
| 461 |
+
users' freedom, it does ensure that the user of a program that is
|
| 462 |
+
linked with the Library has the freedom and the wherewithal to run
|
| 463 |
+
that program using a modified version of the Library.
|
| 464 |
+
|
| 465 |
+
The precise terms and conditions for copying, distribution and
|
| 466 |
+
modification follow. Pay close attention to the difference between a
|
| 467 |
+
"work based on the library" and a "work that uses the library". The
|
| 468 |
+
former contains code derived from the library, whereas the latter must
|
| 469 |
+
be combined with the library in order to run.
|
| 470 |
+
|
| 471 |
+
GNU LESSER GENERAL PUBLIC LICENSE
|
| 472 |
+
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
|
| 473 |
+
|
| 474 |
+
0. This License Agreement applies to any software library or other
|
| 475 |
+
program which contains a notice placed by the copyright holder or
|
| 476 |
+
other authorized party saying it may be distributed under the terms of
|
| 477 |
+
this Lesser General Public License (also called "this License").
|
| 478 |
+
Each licensee is addressed as "you".
|
| 479 |
+
|
| 480 |
+
A "library" means a collection of software functions and/or data
|
| 481 |
+
prepared so as to be conveniently linked with application programs
|
| 482 |
+
(which use some of those functions and data) to form executables.
|
| 483 |
+
|
| 484 |
+
The "Library", below, refers to any such software library or work
|
| 485 |
+
which has been distributed under these terms. A "work based on the
|
| 486 |
+
Library" means either the Library or any derivative work under
|
| 487 |
+
copyright law: that is to say, a work containing the Library or a
|
| 488 |
+
portion of it, either verbatim or with modifications and/or translated
|
| 489 |
+
straightforwardly into another language. (Hereinafter, translation is
|
| 490 |
+
included without limitation in the term "modification".)
|
| 491 |
+
|
| 492 |
+
"Source code" for a work means the preferred form of the work for
|
| 493 |
+
making modifications to it. For a library, complete source code means
|
| 494 |
+
all the source code for all modules it contains, plus any associated
|
| 495 |
+
interface definition files, plus the scripts used to control compilation
|
| 496 |
+
and installation of the library.
|
| 497 |
+
|
| 498 |
+
Activities other than copying, distribution and modification are not
|
| 499 |
+
covered by this License; they are outside its scope. The act of
|
| 500 |
+
running a program using the Library is not restricted, and output from
|
| 501 |
+
such a program is covered only if its contents constitute a work based
|
| 502 |
+
on the Library (independent of the use of the Library in a tool for
|
| 503 |
+
writing it). Whether that is true depends on what the Library does
|
| 504 |
+
and what the program that uses the Library does.
|
| 505 |
+
|
| 506 |
+
1. You may copy and distribute verbatim copies of the Library's
|
| 507 |
+
complete source code as you receive it, in any medium, provided that
|
| 508 |
+
you conspicuously and appropriately publish on each copy an
|
| 509 |
+
appropriate copyright notice and disclaimer of warranty; keep intact
|
| 510 |
+
all the notices that refer to this License and to the absence of any
|
| 511 |
+
warranty; and distribute a copy of this License along with the
|
| 512 |
+
Library.
|
| 513 |
+
|
| 514 |
+
You may charge a fee for the physical act of transferring a copy,
|
| 515 |
+
and you may at your option offer warranty protection in exchange for a
|
| 516 |
+
fee.
|
| 517 |
+
|
| 518 |
+
2. You may modify your copy or copies of the Library or any portion
|
| 519 |
+
of it, thus forming a work based on the Library, and copy and
|
| 520 |
+
distribute such modifications or work under the terms of Section 1
|
| 521 |
+
above, provided that you also meet all of these conditions:
|
| 522 |
+
|
| 523 |
+
a) The modified work must itself be a software library.
|
| 524 |
+
|
| 525 |
+
b) You must cause the files modified to carry prominent notices
|
| 526 |
+
stating that you changed the files and the date of any change.
|
| 527 |
+
|
| 528 |
+
c) You must cause the whole of the work to be licensed at no
|
| 529 |
+
charge to all third parties under the terms of this License.
|
| 530 |
+
|
| 531 |
+
d) If a facility in the modified Library refers to a function or a
|
| 532 |
+
table of data to be supplied by an application program that uses
|
| 533 |
+
the facility, other than as an argument passed when the facility
|
| 534 |
+
is invoked, then you must make a good faith effort to ensure that,
|
| 535 |
+
in the event an application does not supply such function or
|
| 536 |
+
table, the facility still operates, and performs whatever part of
|
| 537 |
+
its purpose remains meaningful.
|
| 538 |
+
|
| 539 |
+
(For example, a function in a library to compute square roots has
|
| 540 |
+
a purpose that is entirely well-defined independent of the
|
| 541 |
+
application. Therefore, Subsection 2d requires that any
|
| 542 |
+
application-supplied function or table used by this function must
|
| 543 |
+
be optional: if the application does not supply it, the square
|
| 544 |
+
root function must still compute square roots.)
|
| 545 |
+
|
| 546 |
+
These requirements apply to the modified work as a whole. If
|
| 547 |
+
identifiable sections of that work are not derived from the Library,
|
| 548 |
+
and can be reasonably considered independent and separate works in
|
| 549 |
+
themselves, then this License, and its terms, do not apply to those
|
| 550 |
+
sections when you distribute them as separate works. But when you
|
| 551 |
+
distribute the same sections as part of a whole which is a work based
|
| 552 |
+
on the Library, the distribution of the whole must be on the terms of
|
| 553 |
+
this License, whose permissions for other licensees extend to the
|
| 554 |
+
entire whole, and thus to each and every part regardless of who wrote
|
| 555 |
+
it.
|
| 556 |
+
|
| 557 |
+
Thus, it is not the intent of this section to claim rights or contest
|
| 558 |
+
your rights to work written entirely by you; rather, the intent is to
|
| 559 |
+
exercise the right to control the distribution of derivative or
|
| 560 |
+
collective works based on the Library.
|
| 561 |
+
|
| 562 |
+
In addition, mere aggregation of another work not based on the Library
|
| 563 |
+
with the Library (or with a work based on the Library) on a volume of
|
| 564 |
+
a storage or distribution medium does not bring the other work under
|
| 565 |
+
the scope of this License.
|
| 566 |
+
|
| 567 |
+
3. You may opt to apply the terms of the ordinary GNU General Public
|
| 568 |
+
License instead of this License to a given copy of the Library. To do
|
| 569 |
+
this, you must alter all the notices that refer to this License, so
|
| 570 |
+
that they refer to the ordinary GNU General Public License, version 2,
|
| 571 |
+
instead of to this License. (If a newer version than version 2 of the
|
| 572 |
+
ordinary GNU General Public License has appeared, then you can specify
|
| 573 |
+
that version instead if you wish.) Do not make any other change in
|
| 574 |
+
these notices.
|
| 575 |
+
|
| 576 |
+
Once this change is made in a given copy, it is irreversible for
|
| 577 |
+
that copy, so the ordinary GNU General Public License applies to all
|
| 578 |
+
subsequent copies and derivative works made from that copy.
|
| 579 |
+
|
| 580 |
+
This option is useful when you wish to copy part of the code of
|
| 581 |
+
the Library into a program that is not a library.
|
| 582 |
+
|
| 583 |
+
4. You may copy and distribute the Library (or a portion or
|
| 584 |
+
derivative of it, under Section 2) in object code or executable form
|
| 585 |
+
under the terms of Sections 1 and 2 above provided that you accompany
|
| 586 |
+
it with the complete corresponding machine-readable source code, which
|
| 587 |
+
must be distributed under the terms of Sections 1 and 2 above on a
|
| 588 |
+
medium customarily used for software interchange.
|
| 589 |
+
|
| 590 |
+
If distribution of object code is made by offering access to copy
|
| 591 |
+
from a designated place, then offering equivalent access to copy the
|
| 592 |
+
source code from the same place satisfies the requirement to
|
| 593 |
+
distribute the source code, even though third parties are not
|
| 594 |
+
compelled to copy the source along with the object code.
|
| 595 |
+
|
| 596 |
+
5. A program that contains no derivative of any portion of the
|
| 597 |
+
Library, but is designed to work with the Library by being compiled or
|
| 598 |
+
linked with it, is called a "work that uses the Library". Such a
|
| 599 |
+
work, in isolation, is not a derivative work of the Library, and
|
| 600 |
+
therefore falls outside the scope of this License.
|
| 601 |
+
|
| 602 |
+
However, linking a "work that uses the Library" with the Library
|
| 603 |
+
creates an executable that is a derivative of the Library (because it
|
| 604 |
+
contains portions of the Library), rather than a "work that uses the
|
| 605 |
+
library". The executable is therefore covered by this License.
|
| 606 |
+
Section 6 states terms for distribution of such executables.
|
| 607 |
+
|
| 608 |
+
When a "work that uses the Library" uses material from a header file
|
| 609 |
+
that is part of the Library, the object code for the work may be a
|
| 610 |
+
derivative work of the Library even though the source code is not.
|
| 611 |
+
Whether this is true is especially significant if the work can be
|
| 612 |
+
linked without the Library, or if the work is itself a library. The
|
| 613 |
+
threshold for this to be true is not precisely defined by law.
|
| 614 |
+
|
| 615 |
+
If such an object file uses only numerical parameters, data
|
| 616 |
+
structure layouts and accessors, and small macros and small inline
|
| 617 |
+
functions (ten lines or less in length), then the use of the object
|
| 618 |
+
file is unrestricted, regardless of whether it is legally a derivative
|
| 619 |
+
work. (Executables containing this object code plus portions of the
|
| 620 |
+
Library will still fall under Section 6.)
|
| 621 |
+
|
| 622 |
+
Otherwise, if the work is a derivative of the Library, you may
|
| 623 |
+
distribute the object code for the work under the terms of Section 6.
|
| 624 |
+
Any executables containing that work also fall under Section 6,
|
| 625 |
+
whether or not they are linked directly with the Library itself.
|
| 626 |
+
|
| 627 |
+
6. As an exception to the Sections above, you may also combine or
|
| 628 |
+
link a "work that uses the Library" with the Library to produce a
|
| 629 |
+
work containing portions of the Library, and distribute that work
|
| 630 |
+
under terms of your choice, provided that the terms permit
|
| 631 |
+
modification of the work for the customer's own use and reverse
|
| 632 |
+
engineering for debugging such modifications.
|
| 633 |
+
|
| 634 |
+
You must give prominent notice with each copy of the work that the
|
| 635 |
+
Library is used in it and that the Library and its use are covered by
|
| 636 |
+
this License. You must supply a copy of this License. If the work
|
| 637 |
+
during execution displays copyright notices, you must include the
|
| 638 |
+
copyright notice for the Library among them, as well as a reference
|
| 639 |
+
directing the user to the copy of this License. Also, you must do one
|
| 640 |
+
of these things:
|
| 641 |
+
|
| 642 |
+
a) Accompany the work with the complete corresponding
|
| 643 |
+
machine-readable source code for the Library including whatever
|
| 644 |
+
changes were used in the work (which must be distributed under
|
| 645 |
+
Sections 1 and 2 above); and, if the work is an executable linked
|
| 646 |
+
with the Library, with the complete machine-readable "work that
|
| 647 |
+
uses the Library", as object code and/or source code, so that the
|
| 648 |
+
user can modify the Library and then relink to produce a modified
|
| 649 |
+
executable containing the modified Library. (It is understood
|
| 650 |
+
that the user who changes the contents of definitions files in the
|
| 651 |
+
Library will not necessarily be able to recompile the application
|
| 652 |
+
to use the modified definitions.)
|
| 653 |
+
|
| 654 |
+
b) Use a suitable shared library mechanism for linking with the
|
| 655 |
+
Library. A suitable mechanism is one that (1) uses at run time a
|
| 656 |
+
copy of the library already present on the user's computer system,
|
| 657 |
+
rather than copying library functions into the executable, and (2)
|
| 658 |
+
will operate properly with a modified version of the library, if
|
| 659 |
+
the user installs one, as long as the modified version is
|
| 660 |
+
interface-compatible with the version that the work was made with.
|
| 661 |
+
|
| 662 |
+
c) Accompany the work with a written offer, valid for at
|
| 663 |
+
least three years, to give the same user the materials
|
| 664 |
+
specified in Subsection 6a, above, for a charge no more
|
| 665 |
+
than the cost of performing this distribution.
|
| 666 |
+
|
| 667 |
+
d) If distribution of the work is made by offering access to copy
|
| 668 |
+
from a designated place, offer equivalent access to copy the above
|
| 669 |
+
specified materials from the same place.
|
| 670 |
+
|
| 671 |
+
e) Verify that the user has already received a copy of these
|
| 672 |
+
materials or that you have already sent this user a copy.
|
| 673 |
+
|
| 674 |
+
For an executable, the required form of the "work that uses the
|
| 675 |
+
Library" must include any data and utility programs needed for
|
| 676 |
+
reproducing the executable from it. However, as a special exception,
|
| 677 |
+
the materials to be distributed need not include anything that is
|
| 678 |
+
normally distributed (in either source or binary form) with the major
|
| 679 |
+
components (compiler, kernel, and so on) of the operating system on
|
| 680 |
+
which the executable runs, unless that component itself accompanies
|
| 681 |
+
the executable.
|
| 682 |
+
|
| 683 |
+
It may happen that this requirement contradicts the license
|
| 684 |
+
restrictions of other proprietary libraries that do not normally
|
| 685 |
+
accompany the operating system. Such a contradiction means you cannot
|
| 686 |
+
use both them and the Library together in an executable that you
|
| 687 |
+
distribute.
|
| 688 |
+
|
| 689 |
+
7. You may place library facilities that are a work based on the
|
| 690 |
+
Library side-by-side in a single library together with other library
|
| 691 |
+
facilities not covered by this License, and distribute such a combined
|
| 692 |
+
library, provided that the separate distribution of the work based on
|
| 693 |
+
the Library and of the other library facilities is otherwise
|
| 694 |
+
permitted, and provided that you do these two things:
|
| 695 |
+
|
| 696 |
+
a) Accompany the combined library with a copy of the same work
|
| 697 |
+
based on the Library, uncombined with any other library
|
| 698 |
+
facilities. This must be distributed under the terms of the
|
| 699 |
+
Sections above.
|
| 700 |
+
|
| 701 |
+
b) Give prominent notice with the combined library of the fact
|
| 702 |
+
that part of it is a work based on the Library, and explaining
|
| 703 |
+
where to find the accompanying uncombined form of the same work.
|
| 704 |
+
|
| 705 |
+
8. You may not copy, modify, sublicense, link with, or distribute
|
| 706 |
+
the Library except as expressly provided under this License. Any
|
| 707 |
+
attempt otherwise to copy, modify, sublicense, link with, or
|
| 708 |
+
distribute the Library is void, and will automatically terminate your
|
| 709 |
+
rights under this License. However, parties who have received copies,
|
| 710 |
+
or rights, from you under this License will not have their licenses
|
| 711 |
+
terminated so long as such parties remain in full compliance.
|
| 712 |
+
|
| 713 |
+
9. You are not required to accept this License, since you have not
|
| 714 |
+
signed it. However, nothing else grants you permission to modify or
|
| 715 |
+
distribute the Library or its derivative works. These actions are
|
| 716 |
+
prohibited by law if you do not accept this License. Therefore, by
|
| 717 |
+
modifying or distributing the Library (or any work based on the
|
| 718 |
+
Library), you indicate your acceptance of this License to do so, and
|
| 719 |
+
all its terms and conditions for copying, distributing or modifying
|
| 720 |
+
the Library or works based on it.
|
| 721 |
+
|
| 722 |
+
10. Each time you redistribute the Library (or any work based on the
|
| 723 |
+
Library), the recipient automatically receives a license from the
|
| 724 |
+
original licensor to copy, distribute, link with or modify the Library
|
| 725 |
+
subject to these terms and conditions. You may not impose any further
|
| 726 |
+
restrictions on the recipients' exercise of the rights granted herein.
|
| 727 |
+
You are not responsible for enforcing compliance by third parties with
|
| 728 |
+
this License.
|
| 729 |
+
|
| 730 |
+
11. If, as a consequence of a court judgment or allegation of patent
|
| 731 |
+
infringement or for any other reason (not limited to patent issues),
|
| 732 |
+
conditions are imposed on you (whether by court order, agreement or
|
| 733 |
+
otherwise) that contradict the conditions of this License, they do not
|
| 734 |
+
excuse you from the conditions of this License. If you cannot
|
| 735 |
+
distribute so as to satisfy simultaneously your obligations under this
|
| 736 |
+
License and any other pertinent obligations, then as a consequence you
|
| 737 |
+
may not distribute the Library at all. For example, if a patent
|
| 738 |
+
license would not permit royalty-free redistribution of the Library by
|
| 739 |
+
all those who receive copies directly or indirectly through you, then
|
| 740 |
+
the only way you could satisfy both it and this License would be to
|
| 741 |
+
refrain entirely from distribution of the Library.
|
| 742 |
+
|
| 743 |
+
If any portion of this section is held invalid or unenforceable under any
|
| 744 |
+
particular circumstance, the balance of the section is intended to apply,
|
| 745 |
+
and the section as a whole is intended to apply in other circumstances.
|
| 746 |
+
|
| 747 |
+
It is not the purpose of this section to induce you to infringe any
|
| 748 |
+
patents or other property right claims or to contest validity of any
|
| 749 |
+
such claims; this section has the sole purpose of protecting the
|
| 750 |
+
integrity of the free software distribution system which is
|
| 751 |
+
implemented by public license practices. Many people have made
|
| 752 |
+
generous contributions to the wide range of software distributed
|
| 753 |
+
through that system in reliance on consistent application of that
|
| 754 |
+
system; it is up to the author/donor to decide if he or she is willing
|
| 755 |
+
to distribute software through any other system and a licensee cannot
|
| 756 |
+
impose that choice.
|
| 757 |
+
|
| 758 |
+
This section is intended to make thoroughly clear what is believed to
|
| 759 |
+
be a consequence of the rest of this License.
|
| 760 |
+
|
| 761 |
+
12. If the distribution and/or use of the Library is restricted in
|
| 762 |
+
certain countries either by patents or by copyrighted interfaces, the
|
| 763 |
+
original copyright holder who places the Library under this License may add
|
| 764 |
+
an explicit geographical distribution limitation excluding those countries,
|
| 765 |
+
so that distribution is permitted only in or among countries not thus
|
| 766 |
+
excluded. In such case, this License incorporates the limitation as if
|
| 767 |
+
written in the body of this License.
|
| 768 |
+
|
| 769 |
+
13. The Free Software Foundation may publish revised and/or new
|
| 770 |
+
versions of the Lesser General Public License from time to time.
|
| 771 |
+
Such new versions will be similar in spirit to the present version,
|
| 772 |
+
but may differ in detail to address new problems or concerns.
|
| 773 |
+
|
| 774 |
+
Each version is given a distinguishing version number. If the Library
|
| 775 |
+
specifies a version number of this License which applies to it and
|
| 776 |
+
"any later version", you have the option of following the terms and
|
| 777 |
+
conditions either of that version or of any later version published by
|
| 778 |
+
the Free Software Foundation. If the Library does not specify a
|
| 779 |
+
license version number, you may choose any version ever published by
|
| 780 |
+
the Free Software Foundation.
|
| 781 |
+
|
| 782 |
+
14. If you wish to incorporate parts of the Library into other free
|
| 783 |
+
programs whose distribution conditions are incompatible with these,
|
| 784 |
+
write to the author to ask for permission. For software which is
|
| 785 |
+
copyrighted by the Free Software Foundation, write to the Free
|
| 786 |
+
Software Foundation; we sometimes make exceptions for this. Our
|
| 787 |
+
decision will be guided by the two goals of preserving the free status
|
| 788 |
+
of all derivatives of our free software and of promoting the sharing
|
| 789 |
+
and reuse of software generally.
|
| 790 |
+
|
| 791 |
+
NO WARRANTY
|
| 792 |
+
|
| 793 |
+
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
|
| 794 |
+
WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
|
| 795 |
+
EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
|
| 796 |
+
OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
|
| 797 |
+
KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
|
| 798 |
+
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
|
| 799 |
+
PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
|
| 800 |
+
LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
|
| 801 |
+
THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
|
| 802 |
+
|
| 803 |
+
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
|
| 804 |
+
WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
|
| 805 |
+
AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
|
| 806 |
+
FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
|
| 807 |
+
CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
|
| 808 |
+
LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
|
| 809 |
+
RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
|
| 810 |
+
FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
|
| 811 |
+
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
|
| 812 |
+
DAMAGES.
|
| 813 |
+
|
| 814 |
+
END OF TERMS AND CONDITIONS
|
| 815 |
+
```
|
| 816 |
+
|
| 817 |
+
Appendix C: The MPL License
|
| 818 |
+
---------------------------
|
| 819 |
+
|
| 820 |
+
```
|
| 821 |
+
MOZILLA PUBLIC LICENSE
|
| 822 |
+
Version 1.1
|
| 823 |
+
|
| 824 |
+
1. Definitions.
|
| 825 |
+
|
| 826 |
+
1.0.1. "Commercial Use" means distribution or otherwise making the
|
| 827 |
+
Covered Code available to a third party.
|
| 828 |
+
|
| 829 |
+
1.1. "Contributor" means each entity that creates or contributes to
|
| 830 |
+
the creation of Modifications.
|
| 831 |
+
|
| 832 |
+
1.2. "Contributor Version" means the combination of the Original
|
| 833 |
+
Code, prior Modifications used by a Contributor, and the Modifications
|
| 834 |
+
made by that particular Contributor.
|
| 835 |
+
|
| 836 |
+
1.3. "Covered Code" means the Original Code or Modifications or the
|
| 837 |
+
combination of the Original Code and Modifications, in each case
|
| 838 |
+
including portions thereof.
|
| 839 |
+
|
| 840 |
+
1.4. "Electronic Distribution Mechanism" means a mechanism generally
|
| 841 |
+
accepted in the software development community for the electronic
|
| 842 |
+
transfer of data.
|
| 843 |
+
|
| 844 |
+
1.5. "Executable" means Covered Code in any form other than Source
|
| 845 |
+
Code.
|
| 846 |
+
|
| 847 |
+
1.6. "Initial Developer" means the individual or entity identified
|
| 848 |
+
as the Initial Developer in the Source Code notice required by Exhibit
|
| 849 |
+
A.
|
| 850 |
+
|
| 851 |
+
1.7. "Larger Work" means a work which combines Covered Code or
|
| 852 |
+
portions thereof with code not governed by the terms of this License.
|
| 853 |
+
|
| 854 |
+
1.8. "License" means this document.
|
| 855 |
+
|
| 856 |
+
1.8.1. "Licensable" means having the right to grant, to the maximum
|
| 857 |
+
extent possible, whether at the time of the initial grant or
|
| 858 |
+
subsequently acquired, any and all of the rights conveyed herein.
|
| 859 |
+
|
| 860 |
+
1.9. "Modifications" means any addition to or deletion from the
|
| 861 |
+
substance or structure of either the Original Code or any previous
|
| 862 |
+
Modifications. When Covered Code is released as a series of files, a
|
| 863 |
+
Modification is:
|
| 864 |
+
A. Any addition to or deletion from the contents of a file
|
| 865 |
+
containing Original Code or previous Modifications.
|
| 866 |
+
|
| 867 |
+
B. Any new file that contains any part of the Original Code or
|
| 868 |
+
previous Modifications.
|
| 869 |
+
|
| 870 |
+
1.10. "Original Code" means Source Code of computer software code
|
| 871 |
+
which is described in the Source Code notice required by Exhibit A as
|
| 872 |
+
Original Code, and which, at the time of its release under this
|
| 873 |
+
License is not already Covered Code governed by this License.
|
| 874 |
+
|
| 875 |
+
1.10.1. "Patent Claims" means any patent claim(s), now owned or
|
| 876 |
+
hereafter acquired, including without limitation, method, process,
|
| 877 |
+
and apparatus claims, in any patent Licensable by grantor.
|
| 878 |
+
|
| 879 |
+
1.11. "Source Code" means the preferred form of the Covered Code for
|
| 880 |
+
making modifications to it, including all modules it contains, plus
|
| 881 |
+
any associated interface definition files, scripts used to control
|
| 882 |
+
compilation and installation of an Executable, or source code
|
| 883 |
+
differential comparisons against either the Original Code or another
|
| 884 |
+
well known, available Covered Code of the Contributor's choice. The
|
| 885 |
+
Source Code can be in a compressed or archival form, provided the
|
| 886 |
+
appropriate decompression or de-archiving software is widely available
|
| 887 |
+
for no charge.
|
| 888 |
+
|
| 889 |
+
1.12. "You" (or "Your") means an individual or a legal entity
|
| 890 |
+
exercising rights under, and complying with all of the terms of, this
|
| 891 |
+
License or a future version of this License issued under Section 6.1.
|
| 892 |
+
For legal entities, "You" includes any entity which controls, is
|
| 893 |
+
controlled by, or is under common control with You. For purposes of
|
| 894 |
+
this definition, "control" means (a) the power, direct or indirect,
|
| 895 |
+
to cause the direction or management of such entity, whether by
|
| 896 |
+
contract or otherwise, or (b) ownership of more than fifty percent
|
| 897 |
+
(50%) of the outstanding shares or beneficial ownership of such
|
| 898 |
+
entity.
|
| 899 |
+
|
| 900 |
+
2. Source Code License.
|
| 901 |
+
|
| 902 |
+
2.1. The Initial Developer Grant.
|
| 903 |
+
The Initial Developer hereby grants You a world-wide, royalty-free,
|
| 904 |
+
non-exclusive license, subject to third party intellectual property
|
| 905 |
+
claims:
|
| 906 |
+
(a) under intellectual property rights (other than patent or
|
| 907 |
+
trademark) Licensable by Initial Developer to use, reproduce,
|
| 908 |
+
modify, display, perform, sublicense and distribute the Original
|
| 909 |
+
Code (or portions thereof) with or without Modifications, and/or
|
| 910 |
+
as part of a Larger Work; and
|
| 911 |
+
|
| 912 |
+
(b) under Patents Claims infringed by the making, using or
|
| 913 |
+
selling of Original Code, to make, have made, use, practice,
|
| 914 |
+
sell, and offer for sale, and/or otherwise dispose of the
|
| 915 |
+
Original Code (or portions thereof).
|
| 916 |
+
|
| 917 |
+
(c) the licenses granted in this Section 2.1(a) and (b) are
|
| 918 |
+
effective on the date Initial Developer first distributes
|
| 919 |
+
Original Code under the terms of this License.
|
| 920 |
+
|
| 921 |
+
(d) Notwithstanding Section 2.1(b) above, no patent license is
|
| 922 |
+
granted: 1) for code that You delete from the Original Code; 2)
|
| 923 |
+
separate from the Original Code; or 3) for infringements caused
|
| 924 |
+
by: i) the modification of the Original Code or ii) the
|
| 925 |
+
combination of the Original Code with other software or devices.
|
| 926 |
+
|
| 927 |
+
2.2. Contributor Grant.
|
| 928 |
+
Subject to third party intellectual property claims, each Contributor
|
| 929 |
+
hereby grants You a world-wide, royalty-free, non-exclusive license
|
| 930 |
+
|
| 931 |
+
(a) under intellectual property rights (other than patent or
|
| 932 |
+
trademark) Licensable by Contributor, to use, reproduce, modify,
|
| 933 |
+
display, perform, sublicense and distribute the Modifications
|
| 934 |
+
created by such Contributor (or portions thereof) either on an
|
| 935 |
+
unmodified basis, with other Modifications, as Covered Code
|
| 936 |
+
and/or as part of a Larger Work; and
|
| 937 |
+
|
| 938 |
+
(b) under Patent Claims infringed by the making, using, or
|
| 939 |
+
selling of Modifications made by that Contributor either alone
|
| 940 |
+
and/or in combination with its Contributor Version (or portions
|
| 941 |
+
of such combination), to make, use, sell, offer for sale, have
|
| 942 |
+
made, and/or otherwise dispose of: 1) Modifications made by that
|
| 943 |
+
Contributor (or portions thereof); and 2) the combination of
|
| 944 |
+
Modifications made by that Contributor with its Contributor
|
| 945 |
+
Version (or portions of such combination).
|
| 946 |
+
|
| 947 |
+
(c) the licenses granted in Sections 2.2(a) and 2.2(b) are
|
| 948 |
+
effective on the date Contributor first makes Commercial Use of
|
| 949 |
+
the Covered Code.
|
| 950 |
+
|
| 951 |
+
(d) Notwithstanding Section 2.2(b) above, no patent license is
|
| 952 |
+
granted: 1) for any code that Contributor has deleted from the
|
| 953 |
+
Contributor Version; 2) separate from the Contributor Version;
|
| 954 |
+
3) for infringements caused by: i) third party modifications of
|
| 955 |
+
Contributor Version or ii) the combination of Modifications made
|
| 956 |
+
by that Contributor with other software (except as part of the
|
| 957 |
+
Contributor Version) or other devices; or 4) under Patent Claims
|
| 958 |
+
infringed by Covered Code in the absence of Modifications made by
|
| 959 |
+
that Contributor.
|
| 960 |
+
|
| 961 |
+
3. Distribution Obligations.
|
| 962 |
+
|
| 963 |
+
3.1. Application of License.
|
| 964 |
+
The Modifications which You create or to which You contribute are
|
| 965 |
+
governed by the terms of this License, including without limitation
|
| 966 |
+
Section 2.2. The Source Code version of Covered Code may be
|
| 967 |
+
distributed only under the terms of this License or a future version
|
| 968 |
+
of this License released under Section 6.1, and You must include a
|
| 969 |
+
copy of this License with every copy of the Source Code You
|
| 970 |
+
distribute. You may not offer or impose any terms on any Source Code
|
| 971 |
+
version that alters or restricts the applicable version of this
|
| 972 |
+
License or the recipients' rights hereunder. However, You may include
|
| 973 |
+
an additional document offering the additional rights described in
|
| 974 |
+
Section 3.5.
|
| 975 |
+
|
| 976 |
+
3.2. Availability of Source Code.
|
| 977 |
+
Any Modification which You create or to which You contribute must be
|
| 978 |
+
made available in Source Code form under the terms of this License
|
| 979 |
+
either on the same media as an Executable version or via an accepted
|
| 980 |
+
Electronic Distribution Mechanism to anyone to whom you made an
|
| 981 |
+
Executable version available; and if made available via Electronic
|
| 982 |
+
Distribution Mechanism, must remain available for at least twelve (12)
|
| 983 |
+
months after the date it initially became available, or at least six
|
| 984 |
+
(6) months after a subsequent version of that particular Modification
|
| 985 |
+
has been made available to such recipients. You are responsible for
|
| 986 |
+
ensuring that the Source Code version remains available even if the
|
| 987 |
+
Electronic Distribution Mechanism is maintained by a third party.
|
| 988 |
+
|
| 989 |
+
3.3. Description of Modifications.
|
| 990 |
+
You must cause all Covered Code to which You contribute to contain a
|
| 991 |
+
file documenting the changes You made to create that Covered Code and
|
| 992 |
+
the date of any change. You must include a prominent statement that
|
| 993 |
+
the Modification is derived, directly or indirectly, from Original
|
| 994 |
+
Code provided by the Initial Developer and including the name of the
|
| 995 |
+
Initial Developer in (a) the Source Code, and (b) in any notice in an
|
| 996 |
+
Executable version or related documentation in which You describe the
|
| 997 |
+
origin or ownership of the Covered Code.
|
| 998 |
+
|
| 999 |
+
3.4. Intellectual Property Matters
|
| 1000 |
+
(a) Third Party Claims.
|
| 1001 |
+
If Contributor has knowledge that a license under a third party's
|
| 1002 |
+
intellectual property rights is required to exercise the rights
|
| 1003 |
+
granted by such Contributor under Sections 2.1 or 2.2,
|
| 1004 |
+
Contributor must include a text file with the Source Code
|
| 1005 |
+
distribution titled "LEGAL" which describes the claim and the
|
| 1006 |
+
party making the claim in sufficient detail that a recipient will
|
| 1007 |
+
know whom to contact. If Contributor obtains such knowledge after
|
| 1008 |
+
the Modification is made available as described in Section 3.2,
|
| 1009 |
+
Contributor shall promptly modify the LEGAL file in all copies
|
| 1010 |
+
Contributor makes available thereafter and shall take other steps
|
| 1011 |
+
(such as notifying appropriate mailing lists or newsgroups)
|
| 1012 |
+
reasonably calculated to inform those who received the Covered
|
| 1013 |
+
Code that new knowledge has been obtained.
|
| 1014 |
+
|
| 1015 |
+
(b) Contributor APIs.
|
| 1016 |
+
If Contributor's Modifications include an application programming
|
| 1017 |
+
interface and Contributor has knowledge of patent licenses which
|
| 1018 |
+
are reasonably necessary to implement that API, Contributor must
|
| 1019 |
+
also include this information in the LEGAL file.
|
| 1020 |
+
|
| 1021 |
+
(c) Representations.
|
| 1022 |
+
Contributor represents that, except as disclosed pursuant to
|
| 1023 |
+
Section 3.4(a) above, Contributor believes that Contributor's
|
| 1024 |
+
Modifications are Contributor's original creation(s) and/or
|
| 1025 |
+
Contributor has sufficient rights to grant the rights conveyed by
|
| 1026 |
+
this License.
|
| 1027 |
+
|
| 1028 |
+
3.5. Required Notices.
|
| 1029 |
+
You must duplicate the notice in Exhibit A in each file of the Source
|
| 1030 |
+
Code. If it is not possible to put such notice in a particular Source
|
| 1031 |
+
Code file due to its structure, then You must include such notice in a
|
| 1032 |
+
location (such as a relevant directory) where a user would be likely
|
| 1033 |
+
to look for such a notice. If You created one or more Modification(s)
|
| 1034 |
+
You may add your name as a Contributor to the notice described in
|
| 1035 |
+
Exhibit A. You must also duplicate this License in any documentation
|
| 1036 |
+
for the Source Code where You describe recipients' rights or ownership
|
| 1037 |
+
rights relating to Covered Code. You may choose to offer, and to
|
| 1038 |
+
charge a fee for, warranty, support, indemnity or liability
|
| 1039 |
+
obligations to one or more recipients of Covered Code. However, You
|
| 1040 |
+
may do so only on Your own behalf, and not on behalf of the Initial
|
| 1041 |
+
Developer or any Contributor. You must make it absolutely clear than
|
| 1042 |
+
any such warranty, support, indemnity or liability obligation is
|
| 1043 |
+
offered by You alone, and You hereby agree to indemnify the Initial
|
| 1044 |
+
Developer and every Contributor for any liability incurred by the
|
| 1045 |
+
Initial Developer or such Contributor as a result of warranty,
|
| 1046 |
+
support, indemnity or liability terms You offer.
|
| 1047 |
+
|
| 1048 |
+
3.6. Distribution of Executable Versions.
|
| 1049 |
+
You may distribute Covered Code in Executable form only if the
|
| 1050 |
+
requirements of Section 3.1-3.5 have been met for that Covered Code,
|
| 1051 |
+
and if You include a notice stating that the Source Code version of
|
| 1052 |
+
the Covered Code is available under the terms of this License,
|
| 1053 |
+
including a description of how and where You have fulfilled the
|
| 1054 |
+
obligations of Section 3.2. The notice must be conspicuously included
|
| 1055 |
+
in any notice in an Executable version, related documentation or
|
| 1056 |
+
collateral in which You describe recipients' rights relating to the
|
| 1057 |
+
Covered Code. You may distribute the Executable version of Covered
|
| 1058 |
+
Code or ownership rights under a license of Your choice, which may
|
| 1059 |
+
contain terms different from this License, provided that You are in
|
| 1060 |
+
compliance with the terms of this License and that the license for the
|
| 1061 |
+
Executable version does not attempt to limit or alter the recipient's
|
| 1062 |
+
rights in the Source Code version from the rights set forth in this
|
| 1063 |
+
License. If You distribute the Executable version under a different
|
| 1064 |
+
license You must make it absolutely clear that any terms which differ
|
| 1065 |
+
from this License are offered by You alone, not by the Initial
|
| 1066 |
+
Developer or any Contributor. You hereby agree to indemnify the
|
| 1067 |
+
Initial Developer and every Contributor for any liability incurred by
|
| 1068 |
+
the Initial Developer or such Contributor as a result of any such
|
| 1069 |
+
terms You offer.
|
| 1070 |
+
|
| 1071 |
+
3.7. Larger Works.
|
| 1072 |
+
You may create a Larger Work by combining Covered Code with other code
|
| 1073 |
+
not governed by the terms of this License and distribute the Larger
|
| 1074 |
+
Work as a single product. In such a case, You must make sure the
|
| 1075 |
+
requirements of this License are fulfilled for the Covered Code.
|
| 1076 |
+
|
| 1077 |
+
4. Inability to Comply Due to Statute or Regulation.
|
| 1078 |
+
|
| 1079 |
+
If it is impossible for You to comply with any of the terms of this
|
| 1080 |
+
License with respect to some or all of the Covered Code due to
|
| 1081 |
+
statute, judicial order, or regulation then You must: (a) comply with
|
| 1082 |
+
the terms of this License to the maximum extent possible; and (b)
|
| 1083 |
+
describe the limitations and the code they affect. Such description
|
| 1084 |
+
must be included in the LEGAL file described in Section 3.4 and must
|
| 1085 |
+
be included with all distributions of the Source Code. Except to the
|
| 1086 |
+
extent prohibited by statute or regulation, such description must be
|
| 1087 |
+
sufficiently detailed for a recipient of ordinary skill to be able to
|
| 1088 |
+
understand it.
|
| 1089 |
+
|
| 1090 |
+
5. Application of this License.
|
| 1091 |
+
|
| 1092 |
+
This License applies to code to which the Initial Developer has
|
| 1093 |
+
attached the notice in Exhibit A and to related Covered Code.
|
| 1094 |
+
|
| 1095 |
+
6. Versions of the License.
|
| 1096 |
+
|
| 1097 |
+
6.1. New Versions.
|
| 1098 |
+
Netscape Communications Corporation ("Netscape") may publish revised
|
| 1099 |
+
and/or new versions of the License from time to time. Each version
|
| 1100 |
+
will be given a distinguishing version number.
|
| 1101 |
+
|
| 1102 |
+
6.2. Effect of New Versions.
|
| 1103 |
+
Once Covered Code has been published under a particular version of the
|
| 1104 |
+
License, You may always continue to use it under the terms of that
|
| 1105 |
+
version. You may also choose to use such Covered Code under the terms
|
| 1106 |
+
of any subsequent version of the License published by Netscape. No one
|
| 1107 |
+
other than Netscape has the right to modify the terms applicable to
|
| 1108 |
+
Covered Code created under this License.
|
| 1109 |
+
|
| 1110 |
+
6.3. Derivative Works.
|
| 1111 |
+
If You create or use a modified version of this License (which you may
|
| 1112 |
+
only do in order to apply it to code which is not already Covered Code
|
| 1113 |
+
governed by this License), You must (a) rename Your license so that
|
| 1114 |
+
the phrases "Mozilla", "MOZILLAPL", "MOZPL", "Netscape",
|
| 1115 |
+
"MPL", "NPL" or any confusingly similar phrase do not appear in your
|
| 1116 |
+
license (except to note that your license differs from this License)
|
| 1117 |
+
and (b) otherwise make it clear that Your version of the license
|
| 1118 |
+
contains terms which differ from the Mozilla Public License and
|
| 1119 |
+
Netscape Public License. (Filling in the name of the Initial
|
| 1120 |
+
Developer, Original Code or Contributor in the notice described in
|
| 1121 |
+
Exhibit A shall not of themselves be deemed to be modifications of
|
| 1122 |
+
this License.)
|
| 1123 |
+
|
| 1124 |
+
7. DISCLAIMER OF WARRANTY.
|
| 1125 |
+
|
| 1126 |
+
COVERED CODE IS PROVIDED UNDER THIS LICENSE ON AN "AS IS" BASIS,
|
| 1127 |
+
WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
|
| 1128 |
+
WITHOUT LIMITATION, WARRANTIES THAT THE COVERED CODE IS FREE OF
|
| 1129 |
+
DEFECTS, MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING.
|
| 1130 |
+
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE COVERED CODE
|
| 1131 |
+
IS WITH YOU. SHOULD ANY COVERED CODE PROVE DEFECTIVE IN ANY RESPECT,
|
| 1132 |
+
YOU (NOT THE INITIAL DEVELOPER OR ANY OTHER CONTRIBUTOR) ASSUME THE
|
| 1133 |
+
COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
|
| 1134 |
+
OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF
|
| 1135 |
+
ANY COVERED CODE IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER.
|
| 1136 |
+
|
| 1137 |
+
8. TERMINATION.
|
| 1138 |
+
|
| 1139 |
+
8.1. This License and the rights granted hereunder will terminate
|
| 1140 |
+
automatically if You fail to comply with terms herein and fail to cure
|
| 1141 |
+
such breach within 30 days of becoming aware of the breach. All
|
| 1142 |
+
sublicenses to the Covered Code which are properly granted shall
|
| 1143 |
+
survive any termination of this License. Provisions which, by their
|
| 1144 |
+
nature, must remain in effect beyond the termination of this License
|
| 1145 |
+
shall survive.
|
| 1146 |
+
|
| 1147 |
+
8.2. If You initiate litigation by asserting a patent infringement
|
| 1148 |
+
claim (excluding declatory judgment actions) against Initial Developer
|
| 1149 |
+
or a Contributor (the Initial Developer or Contributor against whom
|
| 1150 |
+
You file such action is referred to as "Participant") alleging that:
|
| 1151 |
+
|
| 1152 |
+
(a) such Participant's Contributor Version directly or indirectly
|
| 1153 |
+
infringes any patent, then any and all rights granted by such
|
| 1154 |
+
Participant to You under Sections 2.1 and/or 2.2 of this License
|
| 1155 |
+
shall, upon 60 days notice from Participant terminate prospectively,
|
| 1156 |
+
unless if within 60 days after receipt of notice You either: (i)
|
| 1157 |
+
agree in writing to pay Participant a mutually agreeable reasonable
|
| 1158 |
+
royalty for Your past and future use of Modifications made by such
|
| 1159 |
+
Participant, or (ii) withdraw Your litigation claim with respect to
|
| 1160 |
+
the Contributor Version against such Participant. If within 60 days
|
| 1161 |
+
of notice, a reasonable royalty and payment arrangement are not
|
| 1162 |
+
mutually agreed upon in writing by the parties or the litigation claim
|
| 1163 |
+
is not withdrawn, the rights granted by Participant to You under
|
| 1164 |
+
Sections 2.1 and/or 2.2 automatically terminate at the expiration of
|
| 1165 |
+
the 60 day notice period specified above.
|
| 1166 |
+
|
| 1167 |
+
(b) any software, hardware, or device, other than such Participant's
|
| 1168 |
+
Contributor Version, directly or indirectly infringes any patent, then
|
| 1169 |
+
any rights granted to You by such Participant under Sections 2.1(b)
|
| 1170 |
+
and 2.2(b) are revoked effective as of the date You first made, used,
|
| 1171 |
+
sold, distributed, or had made, Modifications made by that
|
| 1172 |
+
Participant.
|
| 1173 |
+
|
| 1174 |
+
8.3. If You assert a patent infringement claim against Participant
|
| 1175 |
+
alleging that such Participant's Contributor Version directly or
|
| 1176 |
+
indirectly infringes any patent where such claim is resolved (such as
|
| 1177 |
+
by license or settlement) prior to the initiation of patent
|
| 1178 |
+
infringement litigation, then the reasonable value of the licenses
|
| 1179 |
+
granted by such Participant under Sections 2.1 or 2.2 shall be taken
|
| 1180 |
+
into account in determining the amount or value of any payment or
|
| 1181 |
+
license.
|
| 1182 |
+
|
| 1183 |
+
8.4. In the event of termination under Sections 8.1 or 8.2 above,
|
| 1184 |
+
all end user license agreements (excluding distributors and resellers)
|
| 1185 |
+
which have been validly granted by You or any distributor hereunder
|
| 1186 |
+
prior to termination shall survive termination.
|
| 1187 |
+
|
| 1188 |
+
9. LIMITATION OF LIABILITY.
|
| 1189 |
+
|
| 1190 |
+
UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER TORT
|
| 1191 |
+
(INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL YOU, THE INITIAL
|
| 1192 |
+
DEVELOPER, ANY OTHER CONTRIBUTOR, OR ANY DISTRIBUTOR OF COVERED CODE,
|
| 1193 |
+
OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR
|
| 1194 |
+
ANY INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY
|
| 1195 |
+
CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL,
|
| 1196 |
+
WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER
|
| 1197 |
+
COMMERCIAL DAMAGES OR LOSSES, EVEN IF SUCH PARTY SHALL HAVE BEEN
|
| 1198 |
+
INFORMED OF THE POSSIBILITY OF SUCH DAMAGES. THIS LIMITATION OF
|
| 1199 |
+
LIABILITY SHALL NOT APPLY TO LIABILITY FOR DEATH OR PERSONAL INJURY
|
| 1200 |
+
RESULTING FROM SUCH PARTY'S NEGLIGENCE TO THE EXTENT APPLICABLE LAW
|
| 1201 |
+
PROHIBITS SUCH LIMITATION. SOME JURISDICTIONS DO NOT ALLOW THE
|
| 1202 |
+
EXCLUSION OR LIMITATION OF INCIDENTAL OR CONSEQUENTIAL DAMAGES, SO
|
| 1203 |
+
THIS EXCLUSION AND LIMITATION MAY NOT APPLY TO YOU.
|
| 1204 |
+
|
| 1205 |
+
10. U.S. GOVERNMENT END USERS.
|
| 1206 |
+
|
| 1207 |
+
The Covered Code is a "commercial item," as that term is defined in
|
| 1208 |
+
48 C.F.R. 2.101 (Oct. 1995), consisting of "commercial computer
|
| 1209 |
+
software" and "commercial computer software documentation," as such
|
| 1210 |
+
terms are used in 48 C.F.R. 12.212 (Sept. 1995). Consistent with 48
|
| 1211 |
+
C.F.R. 12.212 and 48 C.F.R. 227.7202-1 through 227.7202-4 (June 1995),
|
| 1212 |
+
all U.S. Government End Users acquire Covered Code with only those
|
| 1213 |
+
rights set forth herein.
|
| 1214 |
+
|
| 1215 |
+
11. MISCELLANEOUS.
|
| 1216 |
+
|
| 1217 |
+
This License represents the complete agreement concerning subject
|
| 1218 |
+
matter hereof. If any provision of this License is held to be
|
| 1219 |
+
unenforceable, such provision shall be reformed only to the extent
|
| 1220 |
+
necessary to make it enforceable. This License shall be governed by
|
| 1221 |
+
California law provisions (except to the extent applicable law, if
|
| 1222 |
+
any, provides otherwise), excluding its conflict-of-law provisions.
|
| 1223 |
+
With respect to disputes in which at least one party is a citizen of,
|
| 1224 |
+
or an entity chartered or registered to do business in the United
|
| 1225 |
+
States of America, any litigation relating to this License shall be
|
| 1226 |
+
subject to the jurisdiction of the Federal Courts of the Northern
|
| 1227 |
+
District of California, with venue lying in Santa Clara County,
|
| 1228 |
+
California, with the losing party responsible for costs, including
|
| 1229 |
+
without limitation, court costs and reasonable attorneys' fees and
|
| 1230 |
+
expenses. The application of the United Nations Convention on
|
| 1231 |
+
Contracts for the International Sale of Goods is expressly excluded.
|
| 1232 |
+
Any law or regulation which provides that the language of a contract
|
| 1233 |
+
shall be construed against the drafter shall not apply to this
|
| 1234 |
+
License.
|
| 1235 |
+
|
| 1236 |
+
12. RESPONSIBILITY FOR CLAIMS.
|
| 1237 |
+
|
| 1238 |
+
As between Initial Developer and the Contributors, each party is
|
| 1239 |
+
responsible for claims and damages arising, directly or indirectly,
|
| 1240 |
+
out of its utilization of rights under this License and You agree to
|
| 1241 |
+
work with Initial Developer and Contributors to distribute such
|
| 1242 |
+
responsibility on an equitable basis. Nothing herein is intended or
|
| 1243 |
+
shall be deemed to constitute any admission of liability.
|
| 1244 |
+
|
| 1245 |
+
13. MULTIPLE-LICENSED CODE.
|
| 1246 |
+
|
| 1247 |
+
Initial Developer may designate portions of the Covered Code as
|
| 1248 |
+
"Multiple-Licensed". "Multiple-Licensed" means that the Initial
|
| 1249 |
+
Developer permits you to utilize portions of the Covered Code under
|
| 1250 |
+
Your choice of the NPL or the alternative licenses, if any, specified
|
| 1251 |
+
by the Initial Developer in the file described in Exhibit A.
|
| 1252 |
+
|
| 1253 |
+
EXHIBIT A -Mozilla Public License.
|
| 1254 |
+
|
| 1255 |
+
``The contents of this file are subject to the Mozilla Public License
|
| 1256 |
+
Version 1.1 (the "License"); you may not use this file except in
|
| 1257 |
+
compliance with the License. You may obtain a copy of the License at
|
| 1258 |
+
http://www.mozilla.org/MPL/
|
| 1259 |
+
|
| 1260 |
+
Software distributed under the License is distributed on an "AS IS"
|
| 1261 |
+
basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
|
| 1262 |
+
License for the specific language governing rights and limitations
|
| 1263 |
+
under the License.
|
| 1264 |
+
|
| 1265 |
+
The Original Code is ______________________________________.
|
| 1266 |
+
|
| 1267 |
+
The Initial Developer of the Original Code is ________________________.
|
| 1268 |
+
Portions created by ______________________ are Copyright (C) ______
|
| 1269 |
+
_______________________. All Rights Reserved.
|
| 1270 |
+
|
| 1271 |
+
Contributor(s): ______________________________________.
|
| 1272 |
+
|
| 1273 |
+
Alternatively, the contents of this file may be used under the terms
|
| 1274 |
+
of the _____ license (the "[___] License"), in which case the
|
| 1275 |
+
provisions of [______] License are applicable instead of those
|
| 1276 |
+
above. If you wish to allow use of your version of this file only
|
| 1277 |
+
under the terms of the [____] License and not to allow others to use
|
| 1278 |
+
your version of this file under the MPL, indicate your decision by
|
| 1279 |
+
deleting the provisions above and replace them with the notice and
|
| 1280 |
+
other provisions required by the [___] License. If you do not delete
|
| 1281 |
+
the provisions above, a recipient may use your version of this file
|
| 1282 |
+
under either the MPL or the [___] License."
|
| 1283 |
+
|
| 1284 |
+
[NOTE: The text of this Exhibit A may differ slightly from the text of
|
| 1285 |
+
the notices in the Source Code files of the Original Code. You should
|
| 1286 |
+
use the text of this Exhibit A rather than the text found in the
|
| 1287 |
+
Original Code Source Code for Your Modifications.]
|
| 1288 |
+
```
|
| 1289 |
+
|
| 1290 |
+
Appendix D: The MIT License
|
| 1291 |
+
---------------------------
|
| 1292 |
+
|
| 1293 |
+
```
|
| 1294 |
+
The MIT License (MIT)
|
| 1295 |
+
|
| 1296 |
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
| 1297 |
+
of this software and associated documentation files (the "Software"), to deal
|
| 1298 |
+
in the Software without restriction, including without limitation the rights
|
| 1299 |
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
| 1300 |
+
copies of the Software, and to permit persons to whom the Software is
|
| 1301 |
+
furnished to do so, subject to the following conditions:
|
| 1302 |
+
|
| 1303 |
+
The above copyright notice and this permission notice shall be included in
|
| 1304 |
+
all copies or substantial portions of the Software.
|
| 1305 |
+
|
| 1306 |
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
| 1307 |
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
| 1308 |
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
| 1309 |
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
| 1310 |
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
| 1311 |
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
| 1312 |
+
THE SOFTWARE.
|
| 1313 |
+
```
|
| 1314 |
+
|
| 1315 |
+
Appendix E: The SIL Open Font License Version 1.1
|
| 1316 |
+
---------------------------------------------
|
| 1317 |
+
|
| 1318 |
+
```
|
| 1319 |
+
SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007
|
| 1320 |
+
-----------------------------------------------------------
|
| 1321 |
+
|
| 1322 |
+
PREAMBLE
|
| 1323 |
+
The goals of the Open Font License (OFL) are to stimulate worldwide
|
| 1324 |
+
development of collaborative font projects, to support the font creation
|
| 1325 |
+
efforts of academic and linguistic communities, and to provide a free and
|
| 1326 |
+
open framework in which fonts may be shared and improved in partnership
|
| 1327 |
+
with others.
|
| 1328 |
+
|
| 1329 |
+
The OFL allows the licensed fonts to be used, studied, modified and
|
| 1330 |
+
redistributed freely as long as they are not sold by themselves. The
|
| 1331 |
+
fonts, including any derivative works, can be bundled, embedded,
|
| 1332 |
+
redistributed and/or sold with any software provided that any reserved
|
| 1333 |
+
names are not used by derivative works. The fonts and derivatives,
|
| 1334 |
+
however, cannot be released under any other type of license. The
|
| 1335 |
+
requirement for fonts to remain under this license does not apply
|
| 1336 |
+
to any document created using the fonts or their derivatives.
|
| 1337 |
+
|
| 1338 |
+
DEFINITIONS
|
| 1339 |
+
"Font Software" refers to the set of files released by the Copyright
|
| 1340 |
+
Holder(s) under this license and clearly marked as such. This may
|
| 1341 |
+
include source files, build scripts and documentation.
|
| 1342 |
+
|
| 1343 |
+
"Reserved Font Name" refers to any names specified as such after the
|
| 1344 |
+
copyright statement(s).
|
| 1345 |
+
|
| 1346 |
+
"Original Version" refers to the collection of Font Software components as
|
| 1347 |
+
distributed by the Copyright Holder(s).
|
| 1348 |
+
|
| 1349 |
+
"Modified Version" refers to any derivative made by adding to, deleting,
|
| 1350 |
+
or substituting -- in part or in whole -- any of the components of the
|
| 1351 |
+
Original Version, by changing formats or by porting the Font Software to a
|
| 1352 |
+
new environment.
|
| 1353 |
+
|
| 1354 |
+
"Author" refers to any designer, engineer, programmer, technical
|
| 1355 |
+
writer or other person who contributed to the Font Software.
|
| 1356 |
+
|
| 1357 |
+
PERMISSION & CONDITIONS
|
| 1358 |
+
Permission is hereby granted, free of charge, to any person obtaining
|
| 1359 |
+
a copy of the Font Software, to use, study, copy, merge, embed, modify,
|
| 1360 |
+
redistribute, and sell modified and unmodified copies of the Font
|
| 1361 |
+
Software, subject to the following conditions:
|
| 1362 |
+
|
| 1363 |
+
1) Neither the Font Software nor any of its individual components,
|
| 1364 |
+
in Original or Modified Versions, may be sold by itself.
|
| 1365 |
+
|
| 1366 |
+
2) Original or Modified Versions of the Font Software may be bundled,
|
| 1367 |
+
redistributed and/or sold with any software, provided that each copy
|
| 1368 |
+
contains the above copyright notice and this license. These can be
|
| 1369 |
+
included either as stand-alone text files, human-readable headers or
|
| 1370 |
+
in the appropriate machine-readable metadata fields within text or
|
| 1371 |
+
binary files as long as those fields can be easily viewed by the user.
|
| 1372 |
+
|
| 1373 |
+
3) No Modified Version of the Font Software may use the Reserved Font
|
| 1374 |
+
Name(s) unless explicit written permission is granted by the corresponding
|
| 1375 |
+
Copyright Holder. This restriction only applies to the primary font name as
|
| 1376 |
+
presented to the users.
|
| 1377 |
+
|
| 1378 |
+
4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font
|
| 1379 |
+
Software shall not be used to promote, endorse or advertise any
|
| 1380 |
+
Modified Version, except to acknowledge the contribution(s) of the
|
| 1381 |
+
Copyright Holder(s) and the Author(s) or with their explicit written
|
| 1382 |
+
permission.
|
| 1383 |
+
|
| 1384 |
+
5) The Font Software, modified or unmodified, in part or in whole,
|
| 1385 |
+
must be distributed entirely under this license, and must not be
|
| 1386 |
+
distributed under any other license. The requirement for fonts to
|
| 1387 |
+
remain under this license does not apply to any document created
|
| 1388 |
+
using the Font Software.
|
| 1389 |
+
|
| 1390 |
+
TERMINATION
|
| 1391 |
+
This license becomes null and void if any of the above conditions are
|
| 1392 |
+
not met.
|
| 1393 |
+
|
| 1394 |
+
DISCLAIMER
|
| 1395 |
+
THE FONT SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
| 1396 |
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF
|
| 1397 |
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT
|
| 1398 |
+
OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE
|
| 1399 |
+
COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
|
| 1400 |
+
INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL
|
| 1401 |
+
DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
| 1402 |
+
FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM
|
| 1403 |
+
OTHER DEALINGS IN THE FONT SOFTWARE.
|
| 1404 |
+
```
|
| 1405 |
+
|
| 1406 |
+
Appendix F: The BSD-3 License
|
| 1407 |
+
-----------------------------
|
| 1408 |
+
|
| 1409 |
+
```
|
| 1410 |
+
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
|
| 1411 |
+
|
| 1412 |
+
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
|
| 1413 |
+
|
| 1414 |
+
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
|
| 1415 |
+
|
| 1416 |
+
3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
|
| 1417 |
+
|
| 1418 |
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
| 1419 |
+
```
|
| 1420 |
+
|
bt-source/panel/BTPanel/static/ckeditor/README.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
CKEditor 4
|
| 2 |
+
==========
|
| 3 |
+
|
| 4 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 5 |
+
http://ckeditor.com - See LICENSE.md for license information.
|
| 6 |
+
|
| 7 |
+
CKEditor is a text editor to be used inside web pages. It's not a replacement
|
| 8 |
+
for desktop text editors like Word or OpenOffice, but a component to be used as
|
| 9 |
+
part of web applications and websites.
|
| 10 |
+
|
| 11 |
+
## Documentation
|
| 12 |
+
|
| 13 |
+
The full editor documentation is available online at the following address:
|
| 14 |
+
http://docs.ckeditor.com
|
| 15 |
+
|
| 16 |
+
## Installation
|
| 17 |
+
|
| 18 |
+
Installing CKEditor is an easy task. Just follow these simple steps:
|
| 19 |
+
|
| 20 |
+
1. **Download** the latest version from the CKEditor website:
|
| 21 |
+
http://ckeditor.com. You should have already completed this step, but be
|
| 22 |
+
sure you have the very latest version.
|
| 23 |
+
2. **Extract** (decompress) the downloaded file into the root of your website.
|
| 24 |
+
|
| 25 |
+
**Note:** CKEditor is by default installed in the `ckeditor` folder. You can
|
| 26 |
+
place the files in whichever you want though.
|
| 27 |
+
|
| 28 |
+
## Checking Your Installation
|
| 29 |
+
|
| 30 |
+
The editor comes with a few sample pages that can be used to verify that
|
| 31 |
+
installation proceeded properly. Take a look at the `samples` directory.
|
| 32 |
+
|
| 33 |
+
To test your installation, just call the following page at your website:
|
| 34 |
+
|
| 35 |
+
http://<your site>/<CKEditor installation path>/samples/index.html
|
| 36 |
+
|
| 37 |
+
For example:
|
| 38 |
+
|
| 39 |
+
http://www.example.com/ckeditor/samples/index.html
|
bt-source/panel/BTPanel/static/ckeditor/adapters/jquery.js
ADDED
|
@@ -0,0 +1,10 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
| 4 |
+
*/
|
| 5 |
+
(function(a){if("undefined"==typeof a)throw Error("jQuery should be loaded before CKEditor jQuery adapter.");if("undefined"==typeof CKEDITOR)throw Error("CKEditor should be loaded before CKEditor jQuery adapter.");CKEDITOR.config.jqueryOverrideVal="undefined"==typeof CKEDITOR.config.jqueryOverrideVal?!0:CKEDITOR.config.jqueryOverrideVal;a.extend(a.fn,{ckeditorGet:function(){var a=this.eq(0).data("ckeditorInstance");if(!a)throw"CKEditor is not initialized yet, use ckeditor() with a callback.";return a},
|
| 6 |
+
ckeditor:function(g,d){if(!CKEDITOR.env.isCompatible)throw Error("The environment is incompatible.");if(!a.isFunction(g)){var m=d;d=g;g=m}var k=[];d=d||{};this.each(function(){var b=a(this),c=b.data("ckeditorInstance"),f=b.data("_ckeditorInstanceLock"),h=this,l=new a.Deferred;k.push(l.promise());if(c&&!f)g&&g.apply(c,[this]),l.resolve();else if(f)c.once("instanceReady",function(){setTimeout(function(){c.element?(c.element.$==h&&g&&g.apply(c,[h]),l.resolve()):setTimeout(arguments.callee,100)},0)},
|
| 7 |
+
null,null,9999);else{if(d.autoUpdateElement||"undefined"==typeof d.autoUpdateElement&&CKEDITOR.config.autoUpdateElement)d.autoUpdateElementJquery=!0;d.autoUpdateElement=!1;b.data("_ckeditorInstanceLock",!0);c=a(this).is("textarea")?CKEDITOR.replace(h,d):CKEDITOR.inline(h,d);b.data("ckeditorInstance",c);c.on("instanceReady",function(d){var e=d.editor;setTimeout(function(){if(e.element){d.removeListener();e.on("dataReady",function(){b.trigger("dataReady.ckeditor",[e])});e.on("setData",function(a){b.trigger("setData.ckeditor",
|
| 8 |
+
[e,a.data])});e.on("getData",function(a){b.trigger("getData.ckeditor",[e,a.data])},999);e.on("destroy",function(){b.trigger("destroy.ckeditor",[e])});e.on("save",function(){a(h.form).submit();return!1},null,null,20);if(e.config.autoUpdateElementJquery&&b.is("textarea")&&a(h.form).length){var c=function(){b.ckeditor(function(){e.updateElement()})};a(h.form).submit(c);a(h.form).bind("form-pre-serialize",c);b.bind("destroy.ckeditor",function(){a(h.form).unbind("submit",c);a(h.form).unbind("form-pre-serialize",
|
| 9 |
+
c)})}e.on("destroy",function(){b.removeData("ckeditorInstance")});b.removeData("_ckeditorInstanceLock");b.trigger("instanceReady.ckeditor",[e]);g&&g.apply(e,[h]);l.resolve()}else setTimeout(arguments.callee,100)},0)},null,null,9999)}});var f=new a.Deferred;this.promise=f.promise();a.when.apply(this,k).then(function(){f.resolve()});this.editor=this.eq(0).data("ckeditorInstance");return this}});CKEDITOR.config.jqueryOverrideVal&&(a.fn.val=CKEDITOR.tools.override(a.fn.val,function(g){return function(d){if(arguments.length){var m=
|
| 10 |
+
this,k=[],f=this.each(function(){var b=a(this),c=b.data("ckeditorInstance");if(b.is("textarea")&&c){var f=new a.Deferred;c.setData(d,function(){f.resolve()});k.push(f.promise());return!0}return g.call(b,d)});if(k.length){var b=new a.Deferred;a.when.apply(this,k).done(function(){b.resolveWith(m)});return b.promise()}return f}var f=a(this).eq(0),c=f.data("ckeditorInstance");return f.is("textarea")&&c?c.getData():g.call(f)}}))})(window.jQuery);
|
bt-source/panel/BTPanel/static/ckeditor/build-config.js
ADDED
|
@@ -0,0 +1,190 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
* For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
|
| 6 |
+
/**
|
| 7 |
+
* This file was added automatically by CKEditor builder.
|
| 8 |
+
* You may re-use it at any time to build CKEditor again.
|
| 9 |
+
*
|
| 10 |
+
* If you would like to build CKEditor online again
|
| 11 |
+
* (for example to upgrade), visit one the following links:
|
| 12 |
+
*
|
| 13 |
+
* (1) https://ckeditor.com/cke4/builder
|
| 14 |
+
* Visit online builder to build CKEditor from scratch.
|
| 15 |
+
*
|
| 16 |
+
* (2) https://ckeditor.com/cke4/builder/c3fc0dcaa9c80d707aab3e60fdcddbfb
|
| 17 |
+
* Visit online builder to build CKEditor, starting with the same setup as before.
|
| 18 |
+
*
|
| 19 |
+
* (3) https://ckeditor.com/cke4/builder/download/c3fc0dcaa9c80d707aab3e60fdcddbfb
|
| 20 |
+
* Straight download link to the latest version of CKEditor (Optimized) with the same setup as before.
|
| 21 |
+
*
|
| 22 |
+
* NOTE:
|
| 23 |
+
* This file is not used by CKEditor, you may remove it.
|
| 24 |
+
* Changing this file will not change your CKEditor configuration.
|
| 25 |
+
*/
|
| 26 |
+
|
| 27 |
+
var CKBUILDER_CONFIG = {
|
| 28 |
+
skin: 'moono-lisa',
|
| 29 |
+
preset: 'full',
|
| 30 |
+
ignore: [
|
| 31 |
+
'.DS_Store',
|
| 32 |
+
'.bender',
|
| 33 |
+
'.editorconfig',
|
| 34 |
+
'.gitattributes',
|
| 35 |
+
'.gitignore',
|
| 36 |
+
'.idea',
|
| 37 |
+
'.jscsrc',
|
| 38 |
+
'.jshintignore',
|
| 39 |
+
'.jshintrc',
|
| 40 |
+
'.mailmap',
|
| 41 |
+
'.npm',
|
| 42 |
+
'.travis.yml',
|
| 43 |
+
'bender-err.log',
|
| 44 |
+
'bender-out.log',
|
| 45 |
+
'bender.ci.js',
|
| 46 |
+
'bender.js',
|
| 47 |
+
'dev',
|
| 48 |
+
'gruntfile.js',
|
| 49 |
+
'less',
|
| 50 |
+
'node_modules',
|
| 51 |
+
'package.json',
|
| 52 |
+
'tests'
|
| 53 |
+
],
|
| 54 |
+
plugins : {
|
| 55 |
+
'a11yhelp' : 1,
|
| 56 |
+
'about' : 1,
|
| 57 |
+
'basicstyles' : 1,
|
| 58 |
+
'bidi' : 1,
|
| 59 |
+
'blockquote' : 1,
|
| 60 |
+
'clipboard' : 1,
|
| 61 |
+
'colorbutton' : 1,
|
| 62 |
+
'colordialog' : 1,
|
| 63 |
+
'contextmenu' : 1,
|
| 64 |
+
'copyformatting' : 1,
|
| 65 |
+
'dialogadvtab' : 1,
|
| 66 |
+
'div' : 1,
|
| 67 |
+
'elementspath' : 1,
|
| 68 |
+
'enterkey' : 1,
|
| 69 |
+
'entities' : 1,
|
| 70 |
+
'filebrowser' : 1,
|
| 71 |
+
'find' : 1,
|
| 72 |
+
'flash' : 1,
|
| 73 |
+
'floatingspace' : 1,
|
| 74 |
+
'font' : 1,
|
| 75 |
+
'format' : 1,
|
| 76 |
+
'forms' : 1,
|
| 77 |
+
'horizontalrule' : 1,
|
| 78 |
+
'htmlwriter' : 1,
|
| 79 |
+
'iframe' : 1,
|
| 80 |
+
'image' : 1,
|
| 81 |
+
'indentblock' : 1,
|
| 82 |
+
'indentlist' : 1,
|
| 83 |
+
'justify' : 1,
|
| 84 |
+
'language' : 1,
|
| 85 |
+
'link' : 1,
|
| 86 |
+
'list' : 1,
|
| 87 |
+
'liststyle' : 1,
|
| 88 |
+
'magicline' : 1,
|
| 89 |
+
'maximize' : 1,
|
| 90 |
+
'newpage' : 1,
|
| 91 |
+
'pagebreak' : 1,
|
| 92 |
+
'pastefromword' : 1,
|
| 93 |
+
'pastetext' : 1,
|
| 94 |
+
'preview' : 1,
|
| 95 |
+
'print' : 1,
|
| 96 |
+
'removeformat' : 1,
|
| 97 |
+
'resize' : 1,
|
| 98 |
+
'save' : 1,
|
| 99 |
+
'scayt' : 1,
|
| 100 |
+
'selectall' : 1,
|
| 101 |
+
'showblocks' : 1,
|
| 102 |
+
'showborders' : 1,
|
| 103 |
+
'smiley' : 1,
|
| 104 |
+
'sourcearea' : 1,
|
| 105 |
+
'specialchar' : 1,
|
| 106 |
+
'stylescombo' : 1,
|
| 107 |
+
'tab' : 1,
|
| 108 |
+
'table' : 1,
|
| 109 |
+
'tableselection' : 1,
|
| 110 |
+
'tabletools' : 1,
|
| 111 |
+
'templates' : 1,
|
| 112 |
+
'toolbar' : 1,
|
| 113 |
+
'undo' : 1,
|
| 114 |
+
'uploadimage' : 1,
|
| 115 |
+
'wsc' : 1,
|
| 116 |
+
'wysiwygarea' : 1
|
| 117 |
+
},
|
| 118 |
+
languages : {
|
| 119 |
+
'af' : 1,
|
| 120 |
+
'ar' : 1,
|
| 121 |
+
'az' : 1,
|
| 122 |
+
'bg' : 1,
|
| 123 |
+
'bn' : 1,
|
| 124 |
+
'bs' : 1,
|
| 125 |
+
'ca' : 1,
|
| 126 |
+
'cs' : 1,
|
| 127 |
+
'cy' : 1,
|
| 128 |
+
'da' : 1,
|
| 129 |
+
'de' : 1,
|
| 130 |
+
'de-ch' : 1,
|
| 131 |
+
'el' : 1,
|
| 132 |
+
'en' : 1,
|
| 133 |
+
'en-au' : 1,
|
| 134 |
+
'en-ca' : 1,
|
| 135 |
+
'en-gb' : 1,
|
| 136 |
+
'eo' : 1,
|
| 137 |
+
'es' : 1,
|
| 138 |
+
'es-mx' : 1,
|
| 139 |
+
'et' : 1,
|
| 140 |
+
'eu' : 1,
|
| 141 |
+
'fa' : 1,
|
| 142 |
+
'fi' : 1,
|
| 143 |
+
'fo' : 1,
|
| 144 |
+
'fr' : 1,
|
| 145 |
+
'fr-ca' : 1,
|
| 146 |
+
'gl' : 1,
|
| 147 |
+
'gu' : 1,
|
| 148 |
+
'he' : 1,
|
| 149 |
+
'hi' : 1,
|
| 150 |
+
'hr' : 1,
|
| 151 |
+
'hu' : 1,
|
| 152 |
+
'id' : 1,
|
| 153 |
+
'is' : 1,
|
| 154 |
+
'it' : 1,
|
| 155 |
+
'ja' : 1,
|
| 156 |
+
'ka' : 1,
|
| 157 |
+
'km' : 1,
|
| 158 |
+
'ko' : 1,
|
| 159 |
+
'ku' : 1,
|
| 160 |
+
'lt' : 1,
|
| 161 |
+
'lv' : 1,
|
| 162 |
+
'mk' : 1,
|
| 163 |
+
'mn' : 1,
|
| 164 |
+
'ms' : 1,
|
| 165 |
+
'nb' : 1,
|
| 166 |
+
'nl' : 1,
|
| 167 |
+
'no' : 1,
|
| 168 |
+
'oc' : 1,
|
| 169 |
+
'pl' : 1,
|
| 170 |
+
'pt' : 1,
|
| 171 |
+
'pt-br' : 1,
|
| 172 |
+
'ro' : 1,
|
| 173 |
+
'ru' : 1,
|
| 174 |
+
'si' : 1,
|
| 175 |
+
'sk' : 1,
|
| 176 |
+
'sl' : 1,
|
| 177 |
+
'sq' : 1,
|
| 178 |
+
'sr' : 1,
|
| 179 |
+
'sr-latn' : 1,
|
| 180 |
+
'sv' : 1,
|
| 181 |
+
'th' : 1,
|
| 182 |
+
'tr' : 1,
|
| 183 |
+
'tt' : 1,
|
| 184 |
+
'ug' : 1,
|
| 185 |
+
'uk' : 1,
|
| 186 |
+
'vi' : 1,
|
| 187 |
+
'zh' : 1,
|
| 188 |
+
'zh-cn' : 1
|
| 189 |
+
}
|
| 190 |
+
};
|
bt-source/panel/BTPanel/static/ckeditor/ckeditor.js
ADDED
|
The diff for this file is too large to render.
See raw diff
|
|
|
bt-source/panel/BTPanel/static/ckeditor/config.js
ADDED
|
@@ -0,0 +1,11 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/**
|
| 2 |
+
* @license Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
* For licensing, see https://ckeditor.com/legal/ckeditor-oss-license
|
| 4 |
+
*/
|
| 5 |
+
|
| 6 |
+
CKEDITOR.editorConfig = function (config) {
|
| 7 |
+
// Define changes to default configuration here. For example:
|
| 8 |
+
config.language = 'zh-cn'
|
| 9 |
+
config.height = 330
|
| 10 |
+
// config.uiColor = '#AADC6E';
|
| 11 |
+
}
|
bt-source/panel/BTPanel/static/ckeditor/contents.css
ADDED
|
@@ -0,0 +1,208 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license
|
| 4 |
+
*/
|
| 5 |
+
|
| 6 |
+
body
|
| 7 |
+
{
|
| 8 |
+
/* Font */
|
| 9 |
+
/* Emoji fonts are added to visualise them nicely in Internet Explorer. */
|
| 10 |
+
font-family: sans-serif, Arial, Verdana, "Trebuchet MS", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
|
| 11 |
+
font-size: var(--el-font-size-small);
|
| 12 |
+
|
| 13 |
+
/* Text color */
|
| 14 |
+
color: #333;
|
| 15 |
+
|
| 16 |
+
/* Remove the background color to make it transparent. */
|
| 17 |
+
background-color: #fff;
|
| 18 |
+
|
| 19 |
+
margin: 20px;
|
| 20 |
+
}
|
| 21 |
+
|
| 22 |
+
.cke_editable
|
| 23 |
+
{
|
| 24 |
+
font-size: 13px;
|
| 25 |
+
line-height: 1.6;
|
| 26 |
+
|
| 27 |
+
/* Fix for missing scrollbars with RTL texts. (#10488) */
|
| 28 |
+
word-wrap: break-word;
|
| 29 |
+
}
|
| 30 |
+
|
| 31 |
+
blockquote
|
| 32 |
+
{
|
| 33 |
+
font-style: italic;
|
| 34 |
+
font-family: Georgia, Times, "Times New Roman", serif;
|
| 35 |
+
padding: 2px 0;
|
| 36 |
+
border-style: solid;
|
| 37 |
+
border-color: #ccc;
|
| 38 |
+
border-width: 0;
|
| 39 |
+
}
|
| 40 |
+
|
| 41 |
+
.cke_contents_ltr blockquote
|
| 42 |
+
{
|
| 43 |
+
padding-left: 20px;
|
| 44 |
+
padding-right: 8px;
|
| 45 |
+
border-left-width: 5px;
|
| 46 |
+
}
|
| 47 |
+
|
| 48 |
+
.cke_contents_rtl blockquote
|
| 49 |
+
{
|
| 50 |
+
padding-left: 8px;
|
| 51 |
+
padding-right: 20px;
|
| 52 |
+
border-right-width: 5px;
|
| 53 |
+
}
|
| 54 |
+
|
| 55 |
+
a
|
| 56 |
+
{
|
| 57 |
+
color: #0782C1;
|
| 58 |
+
}
|
| 59 |
+
|
| 60 |
+
ol,ul,dl
|
| 61 |
+
{
|
| 62 |
+
/* IE7: reset rtl list margin. (#7334) */
|
| 63 |
+
*margin-right: 0px;
|
| 64 |
+
/* Preserved spaces for list items with text direction different than the list. (#6249,#8049)*/
|
| 65 |
+
padding: 0 40px;
|
| 66 |
+
}
|
| 67 |
+
|
| 68 |
+
h1,h2,h3,h4,h5,h6
|
| 69 |
+
{
|
| 70 |
+
font-weight: normal;
|
| 71 |
+
line-height: 1.2;
|
| 72 |
+
}
|
| 73 |
+
|
| 74 |
+
hr
|
| 75 |
+
{
|
| 76 |
+
border: 0px;
|
| 77 |
+
border-top: 1px solid #ccc;
|
| 78 |
+
}
|
| 79 |
+
|
| 80 |
+
img.right
|
| 81 |
+
{
|
| 82 |
+
border: 1px solid #ccc;
|
| 83 |
+
float: right;
|
| 84 |
+
margin-left: 15px;
|
| 85 |
+
padding: 5px;
|
| 86 |
+
}
|
| 87 |
+
|
| 88 |
+
img.left
|
| 89 |
+
{
|
| 90 |
+
border: 1px solid #ccc;
|
| 91 |
+
float: left;
|
| 92 |
+
margin-right: 15px;
|
| 93 |
+
padding: 5px;
|
| 94 |
+
}
|
| 95 |
+
|
| 96 |
+
pre
|
| 97 |
+
{
|
| 98 |
+
white-space: pre-wrap; /* CSS 2.1 */
|
| 99 |
+
word-wrap: break-word; /* IE7 */
|
| 100 |
+
-moz-tab-size: 4;
|
| 101 |
+
tab-size: 4;
|
| 102 |
+
}
|
| 103 |
+
|
| 104 |
+
.marker
|
| 105 |
+
{
|
| 106 |
+
background-color: Yellow;
|
| 107 |
+
}
|
| 108 |
+
|
| 109 |
+
span[lang]
|
| 110 |
+
{
|
| 111 |
+
font-style: italic;
|
| 112 |
+
}
|
| 113 |
+
|
| 114 |
+
figure
|
| 115 |
+
{
|
| 116 |
+
text-align: center;
|
| 117 |
+
outline: solid 1px #ccc;
|
| 118 |
+
background: rgba(0,0,0,0.05);
|
| 119 |
+
padding: 10px;
|
| 120 |
+
margin: 10px 20px;
|
| 121 |
+
display: inline-block;
|
| 122 |
+
}
|
| 123 |
+
|
| 124 |
+
figure > figcaption
|
| 125 |
+
{
|
| 126 |
+
text-align: center;
|
| 127 |
+
display: block; /* For IE8 */
|
| 128 |
+
}
|
| 129 |
+
|
| 130 |
+
a > img {
|
| 131 |
+
padding: 1px;
|
| 132 |
+
margin: 1px;
|
| 133 |
+
border: none;
|
| 134 |
+
outline: 1px solid #0782C1;
|
| 135 |
+
}
|
| 136 |
+
|
| 137 |
+
/* Widget Styles */
|
| 138 |
+
.code-featured
|
| 139 |
+
{
|
| 140 |
+
border: 5px solid red;
|
| 141 |
+
}
|
| 142 |
+
|
| 143 |
+
.math-featured
|
| 144 |
+
{
|
| 145 |
+
padding: 20px;
|
| 146 |
+
box-shadow: 0 0 2px rgba(200, 0, 0, 1);
|
| 147 |
+
background-color: rgba(255, 0, 0, 0.05);
|
| 148 |
+
margin: 10px;
|
| 149 |
+
}
|
| 150 |
+
|
| 151 |
+
.image-clean
|
| 152 |
+
{
|
| 153 |
+
border: 0;
|
| 154 |
+
background: none;
|
| 155 |
+
padding: 0;
|
| 156 |
+
}
|
| 157 |
+
|
| 158 |
+
.image-clean > figcaption
|
| 159 |
+
{
|
| 160 |
+
font-size: .9em;
|
| 161 |
+
text-align: right;
|
| 162 |
+
}
|
| 163 |
+
|
| 164 |
+
.image-grayscale
|
| 165 |
+
{
|
| 166 |
+
background-color: white;
|
| 167 |
+
color: var(--el-color-text-secondary);
|
| 168 |
+
}
|
| 169 |
+
|
| 170 |
+
.image-grayscale img, img.image-grayscale
|
| 171 |
+
{
|
| 172 |
+
filter: grayscale(100%);
|
| 173 |
+
}
|
| 174 |
+
|
| 175 |
+
.embed-240p
|
| 176 |
+
{
|
| 177 |
+
max-width: 426px;
|
| 178 |
+
max-height: 240px;
|
| 179 |
+
margin:0 auto;
|
| 180 |
+
}
|
| 181 |
+
|
| 182 |
+
.embed-360p
|
| 183 |
+
{
|
| 184 |
+
max-width: 640px;
|
| 185 |
+
max-height: 360px;
|
| 186 |
+
margin:0 auto;
|
| 187 |
+
}
|
| 188 |
+
|
| 189 |
+
.embed-480p
|
| 190 |
+
{
|
| 191 |
+
max-width: 854px;
|
| 192 |
+
max-height: 480px;
|
| 193 |
+
margin:0 auto;
|
| 194 |
+
}
|
| 195 |
+
|
| 196 |
+
.embed-720p
|
| 197 |
+
{
|
| 198 |
+
max-width: 1280px;
|
| 199 |
+
max-height: 720px;
|
| 200 |
+
margin:0 auto;
|
| 201 |
+
}
|
| 202 |
+
|
| 203 |
+
.embed-1080p
|
| 204 |
+
{
|
| 205 |
+
max-width: 1920px;
|
| 206 |
+
max-height: 1080px;
|
| 207 |
+
margin:0 auto;
|
| 208 |
+
}
|
bt-source/panel/BTPanel/static/ckeditor/lang/af.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['af']={"editor":"Woordverwerker","editorPanel":"Woordverwerkerpaneel","common":{"editorHelp":"Druk op ALT 0 vir hulp","browseServer":"Blaai op bediener","url":"URL","protocol":"Protokol","upload":"Oplaai","uploadSubmit":"Stuur aan die bediener","image":"Beeld","flash":"Flash","form":"Vorm","checkbox":"Merkhokkie","radio":"Radioknoppie","textField":"Teksveld","textarea":"Teksarea","hiddenField":"Versteekteveld","button":"Knop","select":"Keuseveld","imageButton":"Beeldknop","notSet":"<geen instelling>","id":"Id","name":"Naam","langDir":"Skryfrigting","langDirLtr":"Links na regs (LTR)","langDirRtl":"Regs na links (RTL)","langCode":"Taalkode","longDescr":"Lang beskrywing URL","cssClass":"CSS klasse","advisoryTitle":"Aanbevole titel","cssStyle":"Styl","ok":"OK","cancel":"Kanselleer","close":"Sluit","preview":"Voorbeeld","resize":"Skalierung","generalTab":"Algemeen","advancedTab":"Gevorderd","validateNumberFailed":"Hierdie waarde is nie 'n nommer nie.","confirmNewPage":"Alle wysiginge sal verlore gaan. Is jy seker dat jy 'n nuwe bladsy wil laai?","confirmCancel":"Sommige opsies is gewysig. Is jy seker dat jy hierdie dialoogvenster wil sluit?","options":"Opsies","target":"Teiken","targetNew":"Nuwe venster (_blank)","targetTop":"Boonste venster (_top)","targetSelf":"Selfde venster (_self)","targetParent":"Oorspronklike venster (_parent)","langDirLTR":"Links na Regs (LTR)","langDirRTL":"Regs na Links (RTL)","styles":"Styl","cssClasses":"CSS klasse","width":"Breedte","height":"Hoogte","align":"Orienteerung","left":"Links","right":"Regs","center":"Middel","justify":"Eweredig","alignLeft":"Links oplyn","alignRight":"Regs oplyn","alignCenter":"Middel oplyn","alignTop":"Bo","alignMiddle":"Middel","alignBottom":"Onder","alignNone":"Geen","invalidValue":"Ongeldige waarde","invalidHeight":"Hoogte moet 'n getal wees","invalidWidth":"Breedte moet 'n getal wees.","invalidLength":"Die waarde vir die veld \"%1\" moet 'n posetiewe nommer wees met of sonder die meeteenheid (%2).","invalidCssLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","invalidHtmlLength":"Die waarde vir die \"%1\" veld moet 'n posetiewe getal wees met of sonder 'n geldige HTML eenheid (px of %).","invalidInlineStyle":"Ongeldige CSS. Formaat is een of meer sleutel-wert paare, \"naam : wert\" met kommapunte gesky.","cssLengthTooltip":"Voeg 'n getal wert in pixel in, of 'n waarde met geldige CSS eenheid (px, %, in, cm, mm, em, ex, pt, of pc).","unavailable":"%1<span class=\"cke_accessibility\">, nie beskikbaar nie</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Skuif","17":"Ctrl","18":"Alt","32":"Spasie","35":"Einde","36":"Tuis","46":"Verwyder","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Bevel"},"keyboardShortcut":"Sleutel kombenasie","optionDefault":"Verstek"},"about":{"copy":"Kopiereg © $1. Alle regte voorbehou.","dlgTitle":"Meer oor CKEditor 4","moreInfo":"Vir lisensie-informasie, besoek asb. ons webwerf:"},"basicstyles":{"bold":"Vet","italic":"Skuins","strike":"Deurgestreep","subscript":"Onderskrif","superscript":"Bo-skrif","underline":"Onderstreep"},"bidi":{"ltr":"Skryfrigting van links na regs","rtl":"Skryfrigting van regs na links"},"blockquote":{"toolbar":"Sitaatblok"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Verklein werkbalk","toolbarExpand":"Vergroot werkbalk","toolbarGroups":{"document":"Dokument","clipboard":"Knipbord/Undo","editing":"Verander","forms":"Vorms","basicstyles":"Eenvoudige Styl","paragraph":"Paragraaf","links":"Skakels","insert":"Toevoeg","styles":"Style","colors":"Kleure","tools":"Gereedskap"},"toolbars":"Werkbalke"},"clipboard":{"copy":"Kopiëer","copyError":"U leser se sekuriteitsinstelling belet die kopiëringsaksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+C).","cut":"Uitsnei","cutError":"U leser se sekuriteitsinstelling belet die outomatiese uitsnei-aksie. Gebruik die sleutelbordkombinasie (Ctrl/Cmd+X).","paste":"Byvoeg","pasteNotification":"Druk %1 om by te voeg. You leser ondersteun nie die toolbar knoppie of inoud kieslysie opsie nie. ","pasteArea":"Area byvoeg","pasteMsg":"Voeg jou inhoud in die gebied onder by en druk OK"},"colorbutton":{"auto":"Outomaties","bgColorTitle":"Agtergrondkleur","colors":{"000":"Swart","800000":"Meroen","8B4513":"Sjokoladebruin","2F4F4F":"Donkerleisteengrys","008080":"Blougroen","000080":"Vlootblou","4B0082":"Indigo","696969":"Donkergrys","B22222":"Rooibaksteen","A52A2A":"Bruin","DAA520":"Donkergeel","006400":"Donkergroen","40E0D0":"Turkoois","0000CD":"Middelblou","800080":"Pers","808080":"Grys","F00":"Rooi","FF8C00":"Donkeroranje","FFD700":"Goud","008000":"Groen","0FF":"Siaan","00F":"Blou","EE82EE":"Viooltjieblou","A9A9A9":"Donkergrys","FFA07A":"Ligsalm","FFA500":"Oranje","FFFF00":"Geel","00FF00":"Lemmetjie","AFEEEE":"Ligturkoois","ADD8E6":"Ligblou","DDA0DD":"Pruim","D3D3D3":"Liggrys","FFF0F5":"Linne","FAEBD7":"Ivoor","FFFFE0":"Liggeel","F0FFF0":"Heuningdou","F0FFFF":"Asuur","F0F8FF":"Ligte hemelsblou","E6E6FA":"Laventel","FFF":"Wit","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Meer Kleure...","panelTitle":"Kleure","textColorTitle":"Tekskleur"},"colordialog":{"clear":"Herstel","highlight":"Aktief","options":"Kleuropsies","selected":"Geselekteer","title":"Kies kleur"},"templates":{"button":"Sjablone","emptyListMsg":"(Geen sjablone gedefineer nie)","insertOption":"Vervang huidige inhoud","options":"Sjabloon opsies","selectPromptMsg":"Kies die sjabloon om te gebruik in die redigeerder (huidige inhoud gaan verlore):","title":"Inhoud Sjablone"},"contextmenu":{"options":"Konteks Spyskaart-opsies"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Aanbevole Titel","cssClassInputLabel":"CSS klasse","edit":"Wysig Div","inlineStyleInputLabel":"Inlyn Styl","langDirLTRLabel":"Links na regs (LTR)","langDirLabel":"Skryfrigting","langDirRTLLabel":"Regs na links (RTL)","languageCodeInputLabel":" Taalkode","remove":"Verwyder Div","styleSelectLabel":"Styl","title":"Skep Div houer","toolbar":"Skep Div houer"},"elementspath":{"eleLabel":"Elemente-pad","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Soek","findOptions":"Find Options","findWhat":"Soek na:","matchCase":"Hoof/kleinletter sensitief","matchCyclic":"Soek deurlopend","matchWord":"Hele woord moet voorkom","notFoundMsg":"Teks nie gevind nie.","replace":"Vervang","replaceAll":"Vervang alles","replaceSuccessMsg":"%1 voorkoms(te) vervang.","replaceWith":"Vervang met:","title":"Soek en vervang"},"fakeobjects":{"anchor":"Anker","flash":"Flash animasie","hiddenfield":"Verborge veld","iframe":"IFrame","unknown":"Onbekende objek"},"flash":{"access":"Skrip toegang","accessAlways":"Altyd","accessNever":"Nooit","accessSameDomain":"Selfde domeinnaam","alignAbsBottom":"Absoluut-onder","alignAbsMiddle":"Absoluut-middel","alignBaseline":"Basislyn","alignTextTop":"Teks bo","bgcolor":"Agtergrondkleur","chkFull":"Laat volledige skerm toe","chkLoop":"Herhaal","chkMenu":"Flash spyskaart aan","chkPlay":"Speel outomaties","flashvars":"Veranderlikes vir Flash","hSpace":"HSpasie","properties":"Flash eienskappe","propertiesTab":"Eienskappe","quality":"Kwaliteit","qualityAutoHigh":"Outomaties hoog","qualityAutoLow":"Outomaties laag","qualityBest":"Beste","qualityHigh":"Hoog","qualityLow":"Laag","qualityMedium":"Gemiddeld","scale":"Skaal","scaleAll":"Wys alles","scaleFit":"Presiese pas","scaleNoBorder":"Geen rand","title":"Flash eienskappe","vSpace":"VSpasie","validateHSpace":"HSpasie moet 'n heelgetal wees.","validateSrc":"Voeg die URL in","validateVSpace":"VSpasie moet 'n heelgetal wees.","windowMode":"Venster modus","windowModeOpaque":"Ondeursigtig","windowModeTransparent":"Deursigtig","windowModeWindow":"Venster"},"font":{"fontSize":{"label":"Grootte","voiceLabel":"Fontgrootte","panelTitle":"Fontgrootte"},"label":"Font","panelTitle":"Fontnaam","voiceLabel":"Font"},"forms":{"button":{"title":"Knop eienskappe","text":"Teks (Waarde)","type":"Soort","typeBtn":"Knop","typeSbm":"Stuur","typeRst":"Maak leeg"},"checkboxAndRadio":{"checkboxTitle":"Merkhokkie eienskappe","radioTitle":"Radioknoppie eienskappe","value":"Waarde","selected":"Geselekteer","required":"Required"},"form":{"title":"Vorm eienskappe","menu":"Vorm eienskappe","action":"Aksie","method":"Metode","encoding":"Kodering"},"hidden":{"title":"Verborge veld eienskappe","name":"Naam","value":"Waarde"},"select":{"title":"Keuseveld eienskappe","selectInfo":"Info","opAvail":"Beskikbare opsies","value":"Waarde","size":"Grootte","lines":"Lyne","chkMulti":"Laat meer as een keuse toe","required":"Required","opText":"Teks","opValue":"Waarde","btnAdd":"Byvoeg","btnModify":"Wysig","btnUp":"Op","btnDown":"Af","btnSetValue":"Stel as geselekteerde waarde","btnDelete":"Verwyder"},"textarea":{"title":"Teks-area eienskappe","cols":"Kolomme","rows":"Rye"},"textfield":{"title":"Teksveld eienskappe","name":"Naam","value":"Waarde","charWidth":"Breedte (karakters)","maxChars":"Maksimum karakters","required":"Required","type":"Soort","typeText":"Teks","typePass":"Wagwoord","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Opmaak","panelTitle":"Opmaak","tag_address":"Adres","tag_div":"Normaal (DIV)","tag_h1":"Opskrif 1","tag_h2":"Opskrif 2","tag_h3":"Opskrif 3","tag_h4":"Opskrif 4","tag_h5":"Opskrif 5","tag_h6":"Opskrif 6","tag_p":"Normaal","tag_pre":"Opgemaak"},"horizontalrule":{"toolbar":"Horisontale lyn invoeg"},"iframe":{"border":"Wys rand van raam","noUrl":"Gee die iframe URL","scrolling":"Skuifbalke aan","title":"IFrame Eienskappe","toolbar":"IFrame"},"image":{"alt":"Alternatiewe teks","border":"Rand","btnUpload":"Stuur na bediener","button2Img":"Wil u die geselekteerde afbeeldingsknop vervang met 'n eenvoudige afbeelding?","hSpace":"HSpasie","img2Button":"Wil u die geselekteerde afbeelding vervang met 'n afbeeldingsknop?","infoTab":"Afbeelding informasie","linkTab":"Skakel","lockRatio":"Vaste proporsie","menu":"Afbeelding eienskappe","resetSize":"Herstel grootte","title":"Afbeelding eienskappe","titleButton":"Afbeeldingsknop eienskappe","upload":"Oplaai","urlMissing":"Die URL na die afbeelding ontbreek.","vSpace":"VSpasie","validateBorder":"Rand moet 'n heelgetal wees.","validateHSpace":"HSpasie moet 'n heelgetal wees.","validateVSpace":"VSpasie moet 'n heelgetal wees."},"indent":{"indent":"Vergroot inspring","outdent":"Verklein inspring"},"smiley":{"options":"Lagbekkie opsies","title":"Voeg lagbekkie by","toolbar":"Lagbekkie"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Toegangsleutel","advanced":"Gevorderd","advisoryContentType":"Aanbevole inhoudstipe","advisoryTitle":"Aanbevole titel","anchor":{"toolbar":"Anker byvoeg/verander","menu":"Anker-eienskappe","title":"Anker-eienskappe","name":"Ankernaam","errorName":"Voltooi die ankernaam asseblief","remove":"Remove Anchor"},"anchorId":"Op element Id","anchorName":"Op ankernaam","charset":"Karakterstel van geskakelde bron","cssClasses":"CSS klasse","download":"Force Download","displayText":"Display Text","emailAddress":"E-posadres","emailBody":"Berig-inhoud","emailSubject":"Berig-onderwerp","id":"Id","info":"Skakel informasie","langCode":"Taalkode","langDir":"Skryfrigting","langDirLTR":"Links na regs (LTR)","langDirRTL":"Regs na links (RTL)","menu":"Wysig skakel","name":"Naam","noAnchors":"(Geen ankers beskikbaar in dokument)","noEmail":"Gee die e-posadres","noUrl":"Gee die skakel se URL","noTel":"Please type the phone number","other":"<ander>","phoneNumber":"Phone number","popupDependent":"Afhanklik (Netscape)","popupFeatures":"Eienskappe van opspringvenster","popupFullScreen":"Volskerm (IE)","popupLeft":"Posisie links","popupLocationBar":"Adresbalk","popupMenuBar":"Spyskaartbalk","popupResizable":"Herskaalbaar","popupScrollBars":"Skuifbalke","popupStatusBar":"Statusbalk","popupToolbar":"Werkbalk","popupTop":"Posisie bo","rel":"Relationship","selectAnchor":"Kies 'n anker","styles":"Styl","tabIndex":"Tab indeks","target":"Doel","targetFrame":"<raam>","targetFrameName":"Naam van doelraam","targetPopup":"<opspringvenster>","targetPopupName":"Naam van opspringvenster","title":"Skakel","toAnchor":"Anker in bladsy","toEmail":"E-pos","toUrl":"URL","toPhone":"Phone","toolbar":"Skakel invoeg/wysig","type":"Skakelsoort","unlink":"Verwyder skakel","upload":"Oplaai"},"list":{"bulletedlist":"Ongenommerde lys","numberedlist":"Genommerde lys"},"liststyle":{"bulletedTitle":"Eienskappe van ongenommerde lys","circle":"Sirkel","decimal":"Desimale syfers (1, 2, 3, ens.)","disc":"Skyf","lowerAlpha":"Kleinletters (a, b, c, d, e, ens.)","lowerRoman":"Romeinse kleinletters (i, ii, iii, iv, v, ens.)","none":"Geen","notset":"<nie ingestel nie>","numberedTitle":"Eienskappe van genommerde lys","square":"Vierkant","start":"Begin","type":"Tipe","upperAlpha":"Hoofletters (A, B, C, D, E, ens.)","upperRoman":"Romeinse hoofletters (I, II, III, IV, V, ens.)","validateStartNumber":"Beginnommer van lys moet 'n heelgetal wees."},"magicline":{"title":"Voeg paragraaf hier in"},"maximize":{"maximize":"Maksimaliseer","minimize":"Minimaliseer"},"newpage":{"toolbar":"Nuwe bladsy"},"pagebreak":{"alt":"Bladsy-einde","toolbar":"Bladsy-einde invoeg"},"pastetext":{"button":"Voeg by as eenvoudige teks","pasteNotification":"Druk %1 om by te voeg. Jou leser ondersteun nie byvoeg deur die toolbar knoppie of die konteks kieslys nie","title":"Voeg by as eenvoudige teks"},"pastefromword":{"confirmCleanup":"Die teks wat u wil byvoeg lyk asof dit uit Word gekopiëer is. Wil u dit eers skoonmaak voordat dit bygevoeg word?","error":"Die bygevoegte teks kon nie skoongemaak word nie, weens 'n interne fout","title":"Uit Word byvoeg","toolbar":"Uit Word byvoeg"},"preview":{"preview":"Voorbeeld"},"print":{"toolbar":"Druk"},"removeformat":{"toolbar":"Verwyder opmaak"},"save":{"toolbar":"Bewaar"},"selectall":{"toolbar":"Selekteer alles"},"showblocks":{"toolbar":"Toon blokke"},"sourcearea":{"toolbar":"Bron"},"specialchar":{"options":"Spesiale karakter-opsies","title":"Kies spesiale karakter","toolbar":"Voeg spesiaale karakter in"},"scayt":{"btn_about":"SCAYT info","btn_dictionaries":"Woordeboeke","btn_disable":"SCAYT af","btn_enable":"SCAYT aan","btn_langs":"Tale","btn_options":"Opsies","text_title":"Speltoets terwyl u tik"},"stylescombo":{"label":"Styl","panelTitle":"Vormaat style","panelTitle1":"Blok style","panelTitle2":"Inlyn style","panelTitle3":"Objek style"},"table":{"border":"Randbreedte","caption":"Naam","cell":{"menu":"Sel","insertBefore":"Voeg sel in voor","insertAfter":"Voeg sel in na","deleteCell":"Verwyder sel","merge":"Voeg selle saam","mergeRight":"Voeg saam na regs","mergeDown":"Voeg saam ondertoe","splitHorizontal":"Splits sel horisontaal","splitVertical":"Splits sel vertikaal","title":"Sel eienskappe","cellType":"Sel tipe","rowSpan":"Omspan rye","colSpan":"Omspan kolomme","wordWrap":"Woord terugloop","hAlign":"Horisontale oplyning","vAlign":"Vertikale oplyning","alignBaseline":"Basislyn","bgColor":"Agtergrondkleur","borderColor":"Randkleur","data":"Inhoud","header":"Opskrif","yes":"Ja","no":"Nee","invalidWidth":"Selbreedte moet 'n getal wees.","invalidHeight":"Selhoogte moet 'n getal wees.","invalidRowSpan":"Omspan rye moet 'n heelgetal wees.","invalidColSpan":"Omspan kolomme moet 'n heelgetal wees.","chooseColor":"Kies"},"cellPad":"Sel-spasie","cellSpace":"Sel-afstand","column":{"menu":"Kolom","insertBefore":"Voeg kolom in voor","insertAfter":"Voeg kolom in na","deleteColumn":"Verwyder kolom"},"columns":"Kolomme","deleteTable":"Verwyder tabel","headers":"Opskrifte","headersBoth":"Beide ","headersColumn":"Eerste kolom","headersNone":"Geen","headersRow":"Eerste ry","invalidBorder":"Randbreedte moet 'n getal wees.","invalidCellPadding":"Sel-spasie moet 'n getal wees.","invalidCellSpacing":"Sel-afstand moet 'n getal wees.","invalidCols":"Aantal kolomme moet 'n getal groter as 0 wees.","invalidHeight":"Tabelhoogte moet 'n getal wees.","invalidRows":"Aantal rye moet 'n getal groter as 0 wees.","invalidWidth":"Tabelbreedte moet 'n getal wees.","menu":"Tabel eienskappe","row":{"menu":"Ry","insertBefore":"Voeg ry in voor","insertAfter":"Voeg ry in na","deleteRow":"Verwyder ry"},"rows":"Rye","summary":"Opsomming","title":"Tabel eienskappe","toolbar":"Tabel","widthPc":"persent","widthPx":"piksels","widthUnit":"breedte-eenheid"},"undo":{"redo":"Oordoen","undo":"Ontdoen"},"widget":{"move":"Klik en trek on te beweeg","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoreer","btnIgnoreAll":"Ignoreer alles","btnReplace":"Vervang","btnReplaceAll":"vervang alles","btnUndo":"Ontdoen","changeTo":"Verander na","errorLoading":"Fout by inlaai van diens: %s.","ieSpellDownload":"Speltoetser is nie geïnstalleer nie. Wil u dit nou aflaai?","manyChanges":"Klaar met speltoets: %1 woorde verander","noChanges":"Klaar met speltoets: Geen woorde verander nie","noMispell":"Klaar met speltoets: Geen foute nie","noSuggestions":"- Geen voorstel -","notAvailable":"Jammer, hierdie diens is nie nou beskikbaar nie.","notInDic":"Nie in woordeboek nie","oneChange":"Klaar met speltoets: Een woord verander","progress":"Spelling word getoets...","title":"Speltoetser","toolbar":"Speltoets"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/ar.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['ar']={"editor":"محرر النص الغني","editorPanel":"لائحة محرر النص المنسق","common":{"editorHelp":"إضغط على ALT + 0 للحصول على المساعدة.","browseServer":"تصفح","url":"الرابط","protocol":"البروتوكول","upload":"رفع","uploadSubmit":"أرسل","image":"صورة","flash":"فلاش","form":"نموذج","checkbox":"خانة إختيار","radio":"زر اختيار","textField":"مربع نص","textarea":"مساحة نصية","hiddenField":"إدراج حقل خفي","button":"زر ضغط","select":"اختار","imageButton":"زر صورة","notSet":"<بدون تحديد>","id":"الرقم","name":"إسم","langDir":"إتجاه النص","langDirLtr":"اليسار لليمين (LTR)","langDirRtl":"اليمين لليسار (RTL)","langCode":"رمز اللغة","longDescr":"الوصف التفصيلى","cssClass":"فئات التنسيق","advisoryTitle":"عنوان التقرير","cssStyle":"نمط","ok":"موافق","cancel":"إلغاء الأمر","close":"أغلق","preview":"استعراض","resize":"تغيير الحجم","generalTab":"عام","advancedTab":"متقدم","validateNumberFailed":"لايوجد نتيجة","confirmNewPage":"ستفقد أي متغييرات اذا لم تقم بحفظها اولا. هل أنت متأكد أنك تريد صفحة جديدة؟","confirmCancel":"بعض الخيارات قد تغيرت. هل أنت متأكد من إغلاق مربع النص؟","options":"خيارات","target":"هدف الرابط","targetNew":"نافذة جديدة","targetTop":"النافذة الأعلى","targetSelf":"داخل النافذة","targetParent":"النافذة الأم","langDirLTR":"اليسار لليمين (LTR)","langDirRTL":"اليمين لليسار (RTL)","styles":"نمط","cssClasses":"فئات التنسيق","width":"العرض","height":"الإرتفاع","align":"محاذاة","left":"يسار","right":"يمين","center":"وسط","justify":"ضبط","alignLeft":"محاذاة إلى اليسار","alignRight":"محاذاة إلى اليمين","alignCenter":"Align Center","alignTop":"أعلى","alignMiddle":"وسط","alignBottom":"أسفل","alignNone":"None","invalidValue":"قيمة غير مفبولة.","invalidHeight":"الارتفاع يجب أن يكون عدداً.","invalidWidth":"العرض يجب أن يكون عدداً.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"قيمة الخانة المخصصة لـ \"%1\" يجب أن تكون رقما موجبا، باستخدام أو من غير استخدام وحدة CSS قياس مقبولة (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"قيمة الخانة المخصصة لـ \"%1\" يجب أن تكون رقما موجبا، باستخدام أو من غير استخدام وحدة HTML قياس مقبولة (px or %).","invalidInlineStyle":"قيمة الخانة المخصصة لـ Inline Style يجب أن تختوي على مجموع واحد أو أكثر بالشكل التالي: \"name : value\", مفصولة بفاصلة منقزطة.","cssLengthTooltip":"أدخل رقما للقيمة بالبكسل أو رقما بوحدة CSS مقبولة (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, غير متاح</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"حقوق النشر © $1. جميع الحقوق محفوظة.","dlgTitle":"عن CKEditor","moreInfo":"للحصول على معلومات الترخيص ، يرجى زيارة موقعنا:"},"basicstyles":{"bold":"عريض","italic":"مائل","strike":"يتوسطه خط","subscript":"منخفض","superscript":"مرتفع","underline":"تسطير"},"bidi":{"ltr":"إتجاه النص من اليسار إلى اليمين","rtl":"إتجاه النص من اليمين إلى اليسار"},"blockquote":{"toolbar":"اقتباس"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"تقليص شريط الأدوت","toolbarExpand":"تمديد شريط الأدوات","toolbarGroups":{"document":"مستند","clipboard":"الحافظة/الرجوع","editing":"تحرير","forms":"نماذج","basicstyles":"نمط بسيط","paragraph":"فقرة","links":"روابط","insert":"إدراج","styles":"أنماط","colors":"ألوان","tools":"أدوات"},"toolbars":"أشرطة أ��وات المحرر"},"clipboard":{"copy":"نسخ","copyError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع عمليات النسخ التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+C).","cut":"قص","cutError":"الإعدادات الأمنية للمتصفح الذي تستخدمه تمنع القص التلقائي. فضلاً إستخدم لوحة المفاتيح لفعل ذلك (Ctrl/Cmd+X).","paste":"لصق","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"منطقة اللصق","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"تلقائي","bgColorTitle":"لون الخلفية","colors":{"000":"أسود","800000":"كستنائي","8B4513":"بني فاتح","2F4F4F":"رمادي أردوازي غامق","008080":"أزرق مخضر","000080":"أزرق داكن","4B0082":"كحلي","696969":"رمادي داكن","B22222":"طوبي","A52A2A":"بني","DAA520":"ذهبي داكن","006400":"أخضر داكن","40E0D0":"فيروزي","0000CD":"أزرق متوسط","800080":"بنفسجي غامق","808080":"رمادي","F00":"أحمر","FF8C00":"برتقالي داكن","FFD700":"ذهبي","008000":"أخضر","0FF":"تركواز","00F":"أزرق","EE82EE":"بنفسجي","A9A9A9":"رمادي شاحب","FFA07A":"برتقالي وردي","FFA500":"برتقالي","FFFF00":"أصفر","00FF00":"ليموني","AFEEEE":"فيروزي شاحب","ADD8E6":"أزرق فاتح","DDA0DD":"بنفسجي فاتح","D3D3D3":"رمادي فاتح","FFF0F5":"وردي فاتح","FAEBD7":"أبيض عتيق","FFFFE0":"أصفر فاتح","F0FFF0":"أبيض مائل للأخضر","F0FFFF":"سماوي","F0F8FF":"لبني","E6E6FA":"أرجواني","FFF":"أبيض","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"ألوان إضافية...","panelTitle":"Colors","textColorTitle":"لون النص"},"colordialog":{"clear":"مسح","highlight":"تحديد","options":"اختيارات الألوان","selected":"اللون المختار","title":"اختر اللون"},"templates":{"button":"القوالب","emptyListMsg":"(لم يتم تعريف أي قالب)","insertOption":"استبدال المحتوى","options":"خصائص القوالب","selectPromptMsg":"اختر القالب الذي تود وضعه في المحرر","title":"قوالب المحتوى"},"contextmenu":{"options":"خصائص قائمة السياق"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"هوية","advisoryTitleInputLabel":"عنوان التقرير","cssClassInputLabel":"فئات التنسيق","edit":"تحرير Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"اليسار لليمين (LTR)","langDirLabel":"إتجاه النص","langDirRTLLabel":"اليمين لليسار (RTL)","languageCodeInputLabel":"رمز اللغة","remove":"إزالة Div","styleSelectLabel":"نمط","title":"إحداث Div Container","toolbar":"إحداث Div Container"},"elementspath":{"eleLabel":"مسار العنصر","eleTitle":"عنصر 1%"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"بحث","findOptions":"Find Options","findWhat":"البحث بـ:","matchCase":"مطابقة حالة الأحرف","matchCyclic":"مطابقة دورية","matchWord":"مطابقة بالكامل","notFoundMsg":"لم يتم العثور على النص المحدد.","replace":"إستبدال","replaceAll":"إستبدال الكل","replaceSuccessMsg":"تم استبدال 1% من الحالات ","replaceWith":"إستبدال بـ:","title":"بحث واستبدال"},"fakeobjects":{"anchor":"إرساء","flash":"رسم متحرك بالفلاش","hiddenfield":"إدراج حقل خفي","iframe":"iframe","unknown":"عنصر غير معروف"},"flash":{"access":"دخول النص البرمجي","accessAlways":"دائماً","accessNever":"مطلقاً","accessSameDomain":"نفس النطاق","alignAbsBottom":"أسفل النص","alignAbsMiddle":"وسط السطر","alignBaseline":"على السطر","alignTextTop":"أعلى النص","bgcolor":"لون الخلفية","chkFull":"ملء الشاشة","chkLoop":"تكرار","chkMenu":"تمكين قائمة فيلم الفلاش","chkPlay":"تشغيل تلقائي","flashvars":"متغيرات الفلاش","hSpace":"تباعد أفقي","properties":"خصائص الفلاش","propertiesTab":"الخصائص","quality":"جودة","qualityAutoHigh":"عالية تلقائياً","qualityAutoLow":"منخفضة تلقائياً","qualityBest":"أفضل","qualityHigh":"عالية","qualityLow":"منخفضة","qualityMedium":"متوسطة","scale":"الحجم","scaleAll":"إظهار الكل","scaleFit":"ضبط تام","scaleNoBorder":"بلا حدود","title":"خصائص فيلم الفلاش","vSpace":"تباعد عمودي","validateHSpace":"HSpace يجب أن يكون عدداً.","validateSrc":"فضلاً أدخل عنوان الموقع الذي يشير إليه الرابط","validateVSpace":"VSpace يجب أن يكون عدداً.","windowMode":"وضع النافذة","windowModeOpaque":"غير شفاف","windowModeTransparent":"شفاف","windowModeWindow":"نافذة"},"font":{"fontSize":{"label":"حجم الخط","voiceLabel":"حجم الخط","panelTitle":"حجم الخط"},"label":"خط","panelTitle":"حجم الخط","voiceLabel":"حجم الخط"},"forms":{"button":{"title":"خصائص زر الضغط","text":"القيمة/التسمية","type":"نوع الزر","typeBtn":"زر","typeSbm":"إرسال","typeRst":"إعادة تعيين"},"checkboxAndRadio":{"checkboxTitle":"خصائص خانة الإختيار","radioTitle":"خصائص زر الخيار","value":"القيمة","selected":"محدد","required":"Required"},"form":{"title":"خصائص النموذج","menu":"خصائص النموذج","action":"اسم الملف","method":"الأسلوب","encoding":"تشفير"},"hidden":{"title":"خصائص الحقل المخفي","name":"الاسم","value":"القيمة"},"select":{"title":"خصائص اختيار الحقل","selectInfo":"اختار معلومات","opAvail":"الخيارات المتاحة","value":"القيمة","size":"الحجم","lines":"الأسطر","chkMulti":"السماح بتحديدات متعددة","required":"Required","opText":"النص","opValue":"القيمة","btnAdd":"إضافة","btnModify":"تعديل","btnUp":"أعلى","btnDown":"أسفل","btnSetValue":"إجعلها محددة","btnDelete":"إزالة"},"textarea":{"title":"خصائص مساحة النص","cols":"الأعمدة","rows":"الصفوف"},"textfield":{"title":"خصائص مربع النص","name":"الاسم","value":"القيمة","charWidth":"عرض السمات","maxChars":"اقصى عدد للسمات","required":"Required","type":"نوع المحتوى","typeText":"نص","typePass":"كلمة مرور","typeEmail":"بريد إلكتروني","typeSearch":"بحث","typeTel":"رقم الهاتف","typeUrl":"الرابط"}},"format":{"label":"تنسيق","panelTitle":"تنسيق الفقرة","tag_address":"عنوان","tag_div":"عادي (DIV)","tag_h1":"العنوان 1","tag_h2":"العنوان 2","tag_h3":"العنوان 3","tag_h4":"العنوان 4","tag_h5":"العنوان 5","tag_h6":"العنوان 6","tag_p":"عادي","tag_pre":"منسّق"},"horizontalrule":{"toolbar":"خط فاصل"},"iframe":{"border":"إظهار حدود الإطار","noUrl":"فضلا أكتب رابط الـ iframe","scrolling":"تفعيل أشرطة الإنتقال","title":"خصائص iframe","toolbar":"iframe"},"image":{"alt":"عنوان الصورة","border":"سمك الحدود","btnUpload":"أرسلها للخادم","button2Img":"هل تريد تحويل زر الصورة المختار إلى صورة بسيطة؟","hSpace":"تباعد أفقي","img2Button":"هل تريد تحويل الصورة المختارة إلى زر صورة؟","infoTab":"معلومات الصورة","linkTab":"الرابط","lockRatio":"تناسق الحجم","menu":"خصائص الصورة","resetSize":"إستعادة الحجم الأصلي","title":"خصائص الصورة","titleButton":"خصائص زر الصورة","upload":"رفع","urlMissing":"عنوان مصدر الصورة مفقود","vSpace":"تباعد عمودي","validateBorder":"الإطار يجب أن يكون عددا","validateHSpace":"HSpace يجب أن يكون عدداً.","validateVSpace":"VSpace يجب أن يكون عدداً."},"indent":{"indent":"زيادة المسافة البادئة","outdent":"إنقاص المسافة البادئة"},"smiley":{"options":"خصائص الإبتسامات","title":"إدراج ابتسامات","toolbar":"ابتسامات"},"language":{"button":"حدد اللغة","remove":"حذف اللغة"},"link":{"acccessKey":"مفاتيح الإختصار","advanced":"متقدم","advisoryContentType":"نوع التقرير","advisoryTitle":"عنوان التقرير","anchor":{"toolbar":"إشارة مرجعية","menu":"تحرير الإشارة المرجعية","title":"خصائص الإشارة المرجعية","name":"اسم الإشارة المرجعية","errorName":"الرجاء كتابة اسم الإشارة المرجعية","remove":"إزالة الإشارة المرجعية"},"anchorId":"حسب رقم العنصر","anchorName":"حسب إسم الإشارة المرجعية","charset":"ترميز المادة المطلوبة","cssClasses":"فئات التنسيق","download":"فرض التحميل","displayText":"نص العرض","emailAddress":"البريد الإلكتروني","emailBody":"محتوى الرسالة","emailSubject":"موضوع الرسالة","id":"هوية","info":"معلومات الرابط","langCode":"رمز اللغة","langDir":"إتجاه نص اللغة","langDirLTR":"اليسار لليمين (LTR)","langDirRTL":"اليمين لليسار (RTL)","menu":"تحرير الرابط","name":"إسم","noAnchors":"(لا توجد علامات مرجعية في هذا المستند)","noEmail":"الرجاء كتابة الريد الإلكتروني","noUrl":"الرجاء كتابة رابط الموقع","noTel":"Please type the phone number","other":"<أخرى>","phoneNumber":"Phone number","popupDependent":"تابع (Netscape)","popupFeatures":"خصائص النافذة المنبثقة","popupFullScreen":"ملئ الشاشة (IE)","popupLeft":"التمركز لليسار","popupLocationBar":"شريط العنوان","popupMenuBar":"القوائم الرئيسية","popupResizable":"قابلة التشكيل","popupScrollBars":"أشرطة التمرير","popupStatusBar":"شريط الحالة","popupToolbar":"شريط الأدوات","popupTop":"التمركز للأعلى","rel":"العلاقة","selectAnchor":"اختر علامة مرجعية","styles":"نمط","tabIndex":"الترتيب","target":"هدف الرابط","targetFrame":"<إطار>","targetFrameName":"اسم الإطار المستهدف","targetPopup":"<نافذة منبثقة>","targetPopupName":"اسم النافذة المنبثقة","title":"رابط","toAnchor":"مكان في هذا المستند","toEmail":"بريد إلكتروني","toUrl":"الرابط","toPhone":"Phone","toolbar":"رابط","type":"نوع الربط","unlink":"إزالة رابط","upload":"رفع"},"list":{"bulletedlist":"ادخال/حذف تعداد نقطي","numberedlist":"ادخال/حذف تعداد رقمي"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"إدراج فقرة هنا"},"maximize":{"maximize":"تكبير","minimize":"تصغير"},"newpage":{"toolbar":"صفحة جديدة"},"pagebreak":{"alt":"فاصل الصفحة","toolbar":"إدخال صفحة جديدة"},"pastetext":{"button":"لصق كنص بسيط","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"لصق كنص بسيط"},"pastefromword":{"confirmCleanup":"يبدو أن النص المراد لصقه منسوخ من برنامج وورد. هل تود تنظيفه قبل الشروع في عملية اللصق؟","error":"لم يتم مسح المعلومات الملصقة لخلل داخلي","title":"لصق من وورد","toolbar":"لصق من وورد"},"preview":{"preview":"معاينة الصفحة"},"print":{"toolbar":"طباعة"},"removeformat":{"toolbar":"إزالة التنسيقات"},"save":{"toolbar":"حفظ"},"selectall":{"toolbar":"تحديد الكل"},"showblocks":{"toolbar":"مخطط تفصيلي"},"sourcearea":{"toolbar":"المصدر"},"specialchar":{"options":"خيارات الأحرف الخاصة","title":"اختر حرف خاص","toolbar":"إدراج حرف خاص"},"scayt":{"btn_about":"عن SCAYT","btn_dictionaries":"قواميس","btn_disable":"تعطيل SCAYT","btn_enable":"تفعيل SCAYT","btn_langs":"لغات","btn_options":"خيارات","text_title":"تدقيق إملائي أثناء الكتابة"},"stylescombo":{"label":"أنماط","panelTitle":"أنماط التنسيق","panelTitle1":"أنماط الفقرة","panelTitle2":"أنماط مضمنة","panelTitle3":"أنماط الكائن"},"table":{"border":"الحدود","caption":"الوصف","cell":{"menu":"خلية","insertBefore":"إدراج خلية قبل","insertAfter":"إدراج خلية بعد","deleteCell":"حذف خلية","merge":"دمج خلايا","mergeRight":"دمج لليمين","mergeDown":"دمج للأسفل","splitHorizontal":"تقسيم الخلية أفقياً","splitVertical":"تقسيم الخلية عمودياً","title":"خصائص الخلية","cellType":"نوع الخلية","rowSpan":"امتداد الصفوف","colSpan":"امتداد الأعمدة","wordWrap":"التفاف النص","hAlign":"محاذاة أفقية","vAlign":"محاذاة رأسية","alignBaseline":"خط القاعدة","bgColor":"لون الخلفية","borderColor":"لون الحدود","data":"بيانات","header":"عنوان","yes":"نعم","no":"لا","invalidWidth":"عرض الخلية يجب أن يكون عدداً.","invalidHeight":"ارتفاع الخلية يجب أن يكون عدداً.","invalidRowSpan":"امتداد الصفوف يجب أن يكون عدداً صحيحاً.","invalidColSpan":"امتداد الأعمدة يجب أن يكون عدداً صحيحاً.","chooseColor":"اختر"},"cellPad":"المسافة البادئة","cellSpace":"تباعد الخلايا","column":{"menu":"عمود","insertBefore":"إدراج عمود قبل","insertAfter":"إدراج عمود بعد","deleteColumn":"حذف أعمدة"},"columns":"أعمدة","deleteTable":"حذف الجدول","headers":"العناوين","headersBoth":"كلاهما","headersColumn":"العمود الأول","headersNone":"بدون","headersRow":"الصف الأول","invalidBorder":"حجم الحد يجب أن يكون عدداً.","invalidCellPadding":"المسافة البادئة يجب أن تكون عدداً","invalidCellSpacing":"المسافة بين الخلايا يجب أن تكون عدداً.","invalidCols":"عدد الأعمدة يجب أن يكون عدداً أكبر من صفر.","invalidHeight":"ارتفاع الجدول يجب أن يكون عدداً.","invalidRows":"عدد الصفوف يجب أن يكون عدداً أكبر من صفر.","invalidWidth":"عرض الجدول يجب أن يكون عدداً.","menu":"خصائص الجدول","row":{"menu":"صف","insertBefore":"إدراج صف قبل","insertAfter":"إدراج صف بعد","deleteRow":"حذف صفوف"},"rows":"صفوف","summary":"الخلاصة","title":"خصائص الجدول","toolbar":"جدول","widthPc":"بالمئة","widthPx":"بكسل","widthUnit":"وحدة العرض"},"undo":{"redo":"إعادة","undo":"تراجع"},"widget":{"move":"إضغط و إسحب للتحريك","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"تجاهل","btnIgnoreAll":"تجاهل الكل","btnReplace":"تغيير","btnReplaceAll":"تغيير الكل","btnUndo":"تراجع","changeTo":"التغيير إلى","errorLoading":"خطأ في تحميل تطبيق خدمة الاستضافة: %s.","ieSpellDownload":"المدقق الإملائي (الإنجليزي) غير مثبّت. هل تود تحميله الآن؟","manyChanges":"تم إكمال التدقيق الإملائي: تم تغيير %1 من كلمات","noChanges":"تم التدقيق الإملائي: لم يتم تغيير أي كلمة","noMispell":"تم التدقيق الإملائي: لم يتم العثور على أي أخطاء إملائية","noSuggestions":"- لا توجد إقتراحات -","notAvailable":"عفواً، ولكن هذه الخدمة غير متاحة الان","notInDic":"ليست في القاموس","oneChange":"تم التدقيق الإملائي: تم تغيير كلمة واحدة فقط","progress":"جاري التدقيق الاملائى","title":"التدقيق الإملائي","toolbar":"تدقيق إملائي"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/az.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['az']={"editor":"Mətn Redaktoru","editorPanel":"Mətn Redaktorun Paneli","common":{"editorHelp":"Yardım üçün ALT 0 düymələrini basın","browseServer":"Fayların siyahı","url":"URL","protocol":"Protokol","upload":"Serverə yüklə","uploadSubmit":"Göndər","image":"Şəkil","flash":"Flash","form":"Forma","checkbox":"Çekboks","radio":"Radio düyməsi","textField":"Mətn xanası","textarea":"Mətn","hiddenField":"Gizli xana","button":"Düymə","select":"Opsiyaların seçilməsi","imageButton":"Şəkil tipli düymə","notSet":"<seçilməmiş>","id":"Id","name":"Ad","langDir":"Yaziların istiqaməti","langDirLtr":"Soldan sağa (LTR)","langDirRtl":"Sağdan sola (RTL)","langCode":"Dilin kodu","longDescr":"URL-ın ətraflı izahı","cssClass":"CSS klassları","advisoryTitle":"Başlıq","cssStyle":"CSS","ok":"Tədbiq et","cancel":"İmtina et","close":"Bağla","preview":"Baxış","resize":"Eni dəyiş","generalTab":"Əsas","advancedTab":"Əlavə","validateNumberFailed":"Rəqəm deyil.","confirmNewPage":"Yadda saxlanılmamış dəyişikliklər itiriləcək. Davam etmək istədiyinizə əminsinizmi?","confirmCancel":"Dəyişikliklər edilib. Pəncərəni bağlamaq istəyirsizə əminsinizmi?","options":"Seçimlər","target":"Hədəf çərçivə","targetNew":"Yeni pəncərə (_blank)","targetTop":"Əsas pəncərə (_top)","targetSelf":"Carı pəncərə (_self)","targetParent":"Ana pəncərə (_parent)","langDirLTR":"Soldan sağa (LTR)","langDirRTL":"Sağdan sola (RTL)","styles":"Üslub","cssClasses":"Üslub klası","width":"En","height":"Uzunluq","align":"Yerləşmə","left":"Sol","right":"Sağ","center":"Mərkəz","justify":"Eninə görə","alignLeft":"Soldan düzləndir","alignRight":"Sağdan düzləndir","alignCenter":"Align Center","alignTop":"Yuxarı","alignMiddle":"Orta","alignBottom":"Aşağı","alignNone":"Yoxdur","invalidValue":"Yanlışdır.","invalidHeight":"Hündürlük rəqəm olmalıdır.","invalidWidth":"En rəqəm olmalıdır.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" xanasında göstərilən məzmun tam və müsbət olmalıdır, CSS-də olan ölçü vahidlərin (px, %, in, cm, mm, em, ex, pt, or pc) istifadısinə icazə verilir.","invalidHtmlLength":"\"%1\" xanasında göstərilən məzmun tam və müsbət olmalıdır HTML-də olan ölçü vahidlərin (px və ya %) istifadısinə icazə verilir.","invalidInlineStyle":"Teq içində olan üslub \"ad : məzmun\" şəklidə, nöqtə-verqül işarəsi ilə bitməlidir","cssLengthTooltip":"Piksel sayı və ya digər CSS ölçü vahidləri (px, %, in, cm, mm, em, ex, pt, or pc) daxil edin.","unavailable":"%1<span class=\"cke_accessibility\">, mövcud deyil</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Boşluq","35":"Son","36":"Evə","46":"Sil","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Əmr"},"keyboardShortcut":"Qısayol düymələri","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Bütün hüquqlar qorunur.","dlgTitle":"CKEditor haqqında","moreInfo":"Lisenziya informasiyası üçün zəhmət olmasa saytımızı ziyarət edin:"},"basicstyles":{"bold":"Qalın","italic":"Kursiv","strike":"Üstüxətli","subscript":"Aşağı indeks","superscript":"Yuxarı indeks","underline":"Altdan xətt"},"bidi":{"ltr":"Mətnin istiqaməti - soldan sağa","rtl":"Mətnin istiqaməti - sağdan sola"},"blockquote":{"toolbar":"Sitat bloku"},"notification":{"closed":"Xəbərdarlıq pəncərəsi bağlanıb"},"toolbar":{"toolbarCollapse":"Paneli gizlət","toolbarExpand":"Paneli göstər","toolbarGroups":{"document":"Mətn","clipboard":"Mübadilə buferi/İmtina et","editing":"Redaktə edilməsi","forms":"Formalar","basicstyles":"Əsas üslublar","paragraph":"Abzas","links":"Link","insert":"Əlavə et","styles":"Üslublar","colors":"Rənqlər","tools":"Alətləri"},"toolbars":"Redaktorun panelləri"},"clipboard":{"copy":"Köçür","copyError":"Avtomatik köçürülməsi mümkün deyil. Ctrl+C basın.","cut":"Kəs","cutError":"Avtomatik kəsmə mümkün deyil. Ctrl+X basın.","paste":"Əlavə et","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Avtomatik","bgColorTitle":"Doldurma rəngi","colors":{"000":"Qara","800000":"Şabalıdı","8B4513":"Açıq şabalı","2F4F4F":"Açıq boz","008080":"Firuzəyi göy","000080":"Tünd göy","4B0082":"İndigo","696969":"Tünd boz","B22222":"Kərpiç","A52A2A":"Şabalıdı","DAA520":"Qızıl ağcaqayın","006400":"Tünd yaşıl","40E0D0":"Firuzəyi","0000CD":"Göy","800080":"Bənövşəyi","808080":"Boz","F00":"Qırmızı","FF8C00":"Tünd narıncı","FFD700":"Qızılı","008000":"Yaşıl","0FF":"Mavi","00F":"Göy","EE82EE":"Açıq bənövşəyi","A9A9A9":"Asfalt rəngi","FFA07A":"Qızılbalıq","FFA500":"Narıncı","FFFF00":"Sarı","00FF00":"Laym","AFEEEE":"Acıq firuzəyi","ADD8E6":"Acıq göy","DDA0DD":"Gavalı","D3D3D3":"Acıq boz","FFF0F5":"Yasəmən","FAEBD7":"Kağız","FFFFE0":"Acıq sarı","F0FFF0":"Yemişi","F0FFFF":"Gömgöy","F0F8FF":"Solğun göy","E6E6FA":"Lavanda","FFF":"Ağ","1ABC9C":"Güclü mavi","2ECC71":"Zümrüd","3498DB":"Parlaq göy","9B59B6":"Ametist","4E5F70":"Bozlu göy","F1C40F":"Sapsarı","16A085":"Tünd mavi","27AE60":"Tünd zümrüd","2980B9":"Güclü göy","8E44AD":"Tünd bənövşəyi","2C3E50":"Rəngsiz göy","F39C12":"Narıncı","E67E22":"Yerkökülü","E74C3C":"Solğun qırmızı","ECF0F1":"Parlaq gümüşü","95A5A6":"Acıq bozlu mavi","DDD":"Acıq boz","D35400":"Balqabaqlı","C0392B":"Güclü qırmızı","BDC3C7":"Gümüşü","7F8C8D":"Bozlu mavi","999":"Tünd boz"},"more":"Digər rənglər...","panelTitle":"Rənglər","textColorTitle":"Mətnin rəngi"},"colordialog":{"clear":"Təmizlə","highlight":"Ayırmaq","options":"Rəng seçimləri","selected":"Seçilmiş rəng","title":"Rəngi seç"},"templates":{"button":"Şablon","emptyListMsg":"(Heç bir şablon təyin edilməyib)","insertOption":"Həqiqi içindəkiləri əvəz et","options":"Şablonun seçimləri","selectPromptMsg":"Redaktor ilə açmaq üçün şablonu seçin","title":"İçindəkinin şablonu"},"contextmenu":{"options":"Əlavə əməliyyatlar"},"copyformatting":{"label":"Formatı köçür","notification":{"copied":"Format köçürülüb","applied":"Format tədbiq edilib","canceled":"Format imtina edilib","failed":"Format etmək mümkün deyil. Siz üslubları köçürmədən onları tədbiq edə bilməzsiniz."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Məsləhətli başlıq","cssClassInputLabel":"Üslub klassları","edit":"DİV eıementini redaktə et","inlineStyleInputLabel":"Sözlərin üslubları","langDirLTRLabel":"Soldan sağa (LTR)","langDirLabel":"Yaziların istiqaməti","langDirRTLLabel":"Sağdan sola (RTL)","languageCodeInputLabel":"Dilin kodu","remove":"DİV elementini sil","styleSelectLabel":"Üslub","title":"DİV ilə əhatələməni yarat","toolbar":"DİV ilə əhatələməni yarat"},"elementspath":{"eleLabel":"Elementin izləri","eleTitle":"%1 element"},"filetools":{"loadError":"Faylını oxumaq mümkün deyil","networkError":"Xəta baş verdi.","httpError404":"Serverə göndərilməsinin zamanı xəta baş verdi (404 - fayl tapılmayıb)","httpError403":"Serverə göndərilməsinin zamanı xəta baş verdi (403 - gadağandır)","httpError":"Serverə göndərilməsinin zamanı xəta baş verdi (xətanın ststusu: %1)","noUrlError":"Yükləmə linki təyin edilməyib","responseError":"Serverin cavabı yanlışdır"},"find":{"find":"Tap","findOptions":"Axtarışın seçimləri","findWhat":"Nəyi axtarmaq","matchCase":"Reqistr nəzərə alınmaqla","matchCyclic":"Dövrəvi axtar","matchWord":"Tam sözünə uyğun","notFoundMsg":"Daxil etdiyiniz sorğu ilə heç bir nəticə tapılmayıb","replace":"Əvəz et","replaceAll":"Hamısını əvəz et","replaceSuccessMsg":"%1 daxiletmə(lər) əvəz edilib","replaceWith":"Əvəz etdirici mətn:","title":"Tap və əvəz et"},"fakeobjects":{"anchor":"Lövbər","flash":"Flash animasiya","hiddenfield":"Gizli xana","iframe":"IFrame","unknown":"Tanımamış obyekt"},"flash":{"access":"Skript tərəfindən müraciətlərin icazəsi","accessAlways":"Həmişə","accessNever":"Heç vaxt","accessSameDomain":"Eyni domen adından","alignAbsBottom":"Aşağıda","alignAbsMiddle":"Ortada","alignBaseline":"Əsas xətt","alignTextTop":"Mətnin yuxarıda","bgcolor":"Doldurma rəngi","chkFull":"Tam pəncərəyə aça bilər","chkLoop":"Dövrələmə","chkMenu":"Flash menyunu göstər","chkPlay":"Birbaşa oynat","flashvars":"Flash üçün dəyişənlər","hSpace":"Üfüqi boşluq","properties":"Flash xüsusiyyətləri","propertiesTab":"Xüsusiyyətlər","quality":"Keyfiyyət","qualityAutoHigh":"Avtomatik yüksək","qualityAutoLow":"Avtomatik aşağı","qualityBest":"Mükəmməl","qualityHigh":"Yüksək","qualityLow":"Aşağı","qualityMedium":"Orta","scale":"Dəyişkən","scaleAll":"Hamısını göstər","scaleFit":"Həqiqi ölçülər","scaleNoBorder":"Sərhədsiz","title":"Flash xüsusiyyətləri","vSpace":"Şaquli boşluq","validateHSpace":"Üfüqi boşluq rəqəm olmalıdır.","validateSrc":"Link boş ola bilməz","validateVSpace":"Şaquli boşluq rəqəm olmalıdır.","windowMode":"Pəncərənin rejimi","windowModeOpaque":"Görünən","windowModeTransparent":"Şəffaf","windowModeWindow":"Pəncərə"},"font":{"fontSize":{"label":"Şrift ölçüsü","voiceLabel":"Şrift ölçüsü","panelTitle":"Şrift ölçüsü"},"label":"Şrift","panelTitle":"Şrift","voiceLabel":"Şrift"},"forms":{"button":{"title":"Düymənin xüsusiyyətləri","text":"Mətn (kəmiyyət)","type":"Növ","typeBtn":"Düymə","typeSbm":"Təsdiq et","typeRst":"Dəyişiklikləri imtina et"},"checkboxAndRadio":{"checkboxTitle":"Qutucuqun xüsusiyyətləri","radioTitle":"Radio düyməsinin xüsusiyyətləri","value":"Kəmiyyət","selected":"Seçilmiş","required":"Tələb olunur"},"form":{"title":"Formanın xüsusiyyətləri","menu":"Formanın xüsusiyyətləri","action":"Emal edən ünvan","method":"Göndərilmə üsulu","encoding":"Kodlaşdırma"},"hidden":{"title":"Gizli xanasının xüsusiyyətləri","name":"Ad","value":"Kəmiyyət"},"select":{"title":"SELECT elementinin xüsusiyyətləri","selectInfo":"SELECT elementinin haqqında məlumat","opAvail":"Mövcud olan seçimləri","value":"Kəmiyyət","size":"Ölçülər","lines":"xəttlər","chkMulti":"Çox kəmiyyətli xana","required":"Tələb olunur","opText":"Mətn","opValue":"Kəmiyyət","btnAdd":"Əıavə et","btnModify":"Redaktə et","btnUp":"Yuxarı","btnDown":"Aşağı","btnSetValue":"Susmaya görə kəmiyyəti kimi seç","btnDelete":"Sil"},"textarea":{"title":"Mətn xanasının xüsusiyyətləri","cols":"Sütunlar","rows":"Sətirlər"},"textfield":{"title":"Mətn xanasının xüsusiyyətləri","name":"Ad","value":"Kəmiyyət","charWidth":"İşarənin eni","maxChars":"İşarələrin hüdudu","required":"Tələb olunur","type":"Növ","typeText":"Mətn","typePass":"Şifrə","typeEmail":"E-poçt","typeSearch":"Axtarış","typeTel":"Telefon nömrəsi","typeUrl":"Link"}},"format":{"label":"Format","panelTitle":"Abzasın formatı","tag_address":"Ünvan","tag_div":"Normal (DIV)","tag_h1":"Başlıq 1","tag_h2":"Başlıq 2","tag_h3":"Başlıq 3","tag_h4":"Başlıq 4","tag_h5":"Başlıq 5","tag_h6":"Başlıq 6","tag_p":"Normal","tag_pre":"Formatı saxla"},"horizontalrule":{"toolbar":"Sərhəd xətti yarat"},"iframe":{"border":"Çərçivə sərhədlərini göstər","noUrl":"Çərçivənin ünvanı daxil edin","scrolling":"Şürüşdürmələri əlavə et","title":"İFRAME elementinin alətləri","toolbar":"İFRAME"},"image":{"alt":"Alternativ mətn","border":"Sərhəd","btnUpload":"Serverə yüklə","button2Img":"Şəkil tipli düyməni şəklə çevirmək istədiyinizə əminsinizmi?","hSpace":"Üfüqi boşluq","img2Button":"Şəkli şəkil tipli düyməyə çevirmək istədiyinizə əminsinizmi?","infoTab":"Şəkil haqqında məlumat","linkTab":"Link","lockRatio":"Ölçülərin uyğunluğu saxla","menu":"Şəklin seçimləri","resetSize":"Ölçüləri qaytar","title":"Şəklin seçimləri","titleButton":"Şəkil tipli düyməsinin seçimləri","upload":"Serverə yüklə","urlMissing":"Şəklin ünvanı yanlışdır.","vSpace":"Şaquli boşluq","validateBorder":"Sərhədin eni rəqəm olmalıdır.","validateHSpace":"Üfüqi boşluq rəqəm olmalıdır.","validateVSpace":"Şaquli boşluq rəqəm olmalıdır."},"indent":{"indent":"Sol boşluqu artır","outdent":"Sol boşluqu azalt"},"smiley":{"options":"Smayli-nin seçimləri","title":"Smayli-ni daxil et","toolbar":"Smayli"},"language":{"button":"Dilini təyin et","remove":"Dilini sil"},"link":{"acccessKey":"Qısayol düyməsi","advanced":"Geniş seçimləri","advisoryContentType":"Məsləhətli məzmunun növü","advisoryTitle":"Məsləhətli başlıq","anchor":{"toolbar":"Xeş","menu":"Xeşi redaktə et","title":"Xeşin seçimləri","name":"Xeşin adı","errorName":"Xeşin adı yanlışdır","remove":"Xeşin adı sil"},"anchorId":"ID görə","anchorName":"Xeşin adına görə","charset":"Hədəfin kodlaşdırması","cssClasses":"Üslub klası","download":"Məcburi yükləmə","displayText":"Göstərilən mətn","emailAddress":"E-poçt ünvanı","emailBody":"Mesajın məzmunu","emailSubject":"Mesajın başlığı","id":"ID","info":"Linkin xüsusiyyətləri","langCode":"Dilin kodu","langDir":"Yaziların istiqaməti","langDirLTR":"Soldan sağa (LTR)","langDirRTL":"Sağdan sola (RTL)","menu":"Linki redaktə et","name":"Ad","noAnchors":"(heç bir xeş tapılmayıb)","noEmail":"E-poçt ünvanı daxil edin","noUrl":"Linkin URL-ı daxil edin","noTel":"Please type the phone number","other":"<digər>","phoneNumber":"Phone number","popupDependent":"Asılı (Netscape)","popupFeatures":"Pəncərənin xüsusiyyətləri","popupFullScreen":"Tam ekran rejimi (IE)","popupLeft":"Solda","popupLocationBar":"Ünvan paneli","popupMenuBar":"Menyu paneli","popupResizable":"Olçülər dəyişilir","popupScrollBars":"Sürüşdürmələr göstər","popupStatusBar":"Bildirişlərin paneli","popupToolbar":"Alətlərin paneli","popupTop":"Yuxarıda","rel":"Münasibət","selectAnchor":"Xeşi seçin","styles":"Üslub","tabIndex":"Tabın nömrəsi","target":"Hədəf çərçivə","targetFrame":"<freym>","targetFrameName":"Freymin adı","targetPopup":"<yeni pəncərə>","targetPopupName":"Pəncərənin adı","title":"Link","toAnchor":"Xeş","toEmail":"E-poçt","toUrl":"URL","toPhone":"Phone","toolbar":"Link","type":"Linkin növü","unlink":"Linki sil","upload":"Serverə yüklə"},"list":{"bulletedlist":"Markerlənmiş siyahını başlat/sil","numberedlist":"Nömrələnmiş siyahını başlat/sil"},"liststyle":{"bulletedTitle":"Markerl��nmiş siyahının xüsusiyyətləri","circle":"Dəirəcik","decimal":"Rəqəm (1, 2, 3 və s.)","disc":"Disk","lowerAlpha":"Kiçik hərflər (a, b, c, d, e və s.)","lowerRoman":"Rum rəqəmləri (i, ii, iii, iv, v və s.)","none":"Yoxdur","notset":"<seçilməmiş>","numberedTitle":"Nömrəli siyahının xüsusiyyətləri","square":"Dördbucaq","start":"Başlanğıc","type":"Növ","upperAlpha":"Böyük hərflər (a, b, c, d, e və s.)","upperRoman":"Böyük Rum rəqəmləri (I, II, III, IV, V və s.)","validateStartNumber":"Siyahının başlanğıc nömrəsi tam və müsbət rəqəm olmalıdır."},"magicline":{"title":"Abzası burada əlavə et"},"maximize":{"maximize":"Aşkarla","minimize":"Gizlət"},"newpage":{"toolbar":"Yeni səhifə"},"pagebreak":{"alt":"Vərəq ayırıcı nişanı","toolbar":"Vərəqin çapı üçün ayırıcı nişanı qoy"},"pastetext":{"button":"Yalnız mətni saxla","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"Əlavə edilən mətn Word-dan köçürülənə oxşayır. Təmizləmək istəyirsinizmi?","error":"Daxili səhvə görə əlavə edilən məlumatların təmizlənməsi mümkün deyil","title":"Word-dan əlavəetmə","toolbar":"Word-dan əlavəetmə"},"preview":{"preview":"Öncədən baxılması"},"print":{"toolbar":"Çap et"},"removeformat":{"toolbar":"Formatı sil"},"save":{"toolbar":"Yadda saxla"},"selectall":{"toolbar":"Hamısını seç"},"showblocks":{"toolbar":"Blokları göstər"},"sourcearea":{"toolbar":"HTML mənbəyini göstər"},"specialchar":{"options":"Xüsusi simvolların seçimləri","title":"Xüsusi simvolu seç","toolbar":"Xüsusi simvolu daxil et"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Üslub","panelTitle":"Format üslubları","panelTitle1":"Blokların üslubları","panelTitle2":"Sözlərin üslubları","panelTitle3":"Obyektlərin üslubları"},"table":{"border":"Sərhədlərin eni","caption":"Cədvəlin başlığı","cell":{"menu":"Xana","insertBefore":"Burdan əvvələ xanası çək","insertAfter":"Burdan sonra xanası çək","deleteCell":"Xanaları sil","merge":"Xanaları birləşdir","mergeRight":"Sağdan birləşdir","mergeDown":"Soldan birləşdir","splitHorizontal":"Üfüqi böl","splitVertical":"Şaquli böl","title":"Xanaların seçimləri","cellType":"Xana növü","rowSpan":"Sətirləri birləşdir","colSpan":"Sütunları birləşdir","wordWrap":"Sətirlərin sınması","hAlign":"Üfüqi düzləndirmə","vAlign":"Şaquli düzləndirmə","alignBaseline":"Mətn xətti","bgColor":"Doldurma rəngi","borderColor":"Sərhədin rəngi","data":"Məlumatlar","header":"Başlıq","yes":"Bəli","no":"Xeyr","invalidWidth":"Xanasın eni rəqəm olmalıdır.","invalidHeight":"Xanasın hündürlüyü rəqəm olmalıdır.","invalidRowSpan":"Birləşdirdiyiniz sütun xanaların sayı tam və müsbət rəqəm olmalıdır.","invalidColSpan":"Birləşdirdiyiniz sətir xanaların sayı tam və müsbət rəqəm olmalıdır.","chooseColor":"Seç"},"cellPad":"Xanalardakı kənar boşluqlar","cellSpace":"Xanalararası interval","column":{"menu":"Sütun","insertBefore":"Sola sütun əlavə et","insertAfter":"Sağa sütun əlavə et","deleteColumn":"Sütunları sil"},"columns":"Sütunlar","deleteTable":"Cədvəli sil","headers":"Başlıqlar","headersBoth":"Hər ikisi","headersColumn":"Birinci sütun","headersNone":"yox","headersRow":"Birinci sətir","invalidBorder":"Sərhədlərin eni müsbət rəqəm olmalıdır.","invalidCellPadding":"Xanalardakı kənar boşluqlar müsbət rəqəm olmalıdır.","invalidCellSpacing":"Xanalararası interval müsbət rəqəm olmalıdır.","invalidCols":"Sütunlarin sayı tam və müsbət olmalıdır.","invalidHeight":"Cədvəlin hündürlüyü rəqəm olmalıdır.","invalidRows":"Sətirlətin sayı tam və müsbət olmalıdır.","invalidWidth":"Cədvəlin eni rəqəm olmalıdır.","menu":"Cədvəl alətləri","row":{"menu":"Sətir","insertBefore":"Yuxarıya sətir əlavə et","insertAfter":"Aşağıya sətir əlavə et","deleteRow":"Sətirləri sil"},"rows":"Sətirlər","summary":"Xülasə","title":"Cədvəl alətləri","toolbar":"Cədvəl","widthPc":"faiz","widthPx":"piksel","widthUnit":"en vahidi"},"undo":{"redo":"Təkrar et","undo":"İmtina et"},"widget":{"move":"Tıklayın və aparın","label":"%1 vidjet"},"uploadwidget":{"abort":"Serverə yükləmə istifadəçi tərəfindən dayandırılıb","doneOne":"Fayl müvəffəqiyyətlə yüklənib","doneMany":"%1 fayllar müvəffəqiyyətlə yüklənib","uploadOne":"Faylın yüklənməsi ({percentage}%)","uploadMany":"Faylların yüklənməsi, {max}-dan {current} hazır ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/bg.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['bg']={"editor":"Редактор за форматиран текст","editorPanel":"Панел на текстовия редактор","common":{"editorHelp":"натиснете ALT+0 за помощ","browseServer":"Избор от сървъра","url":"URL адрес","protocol":"Протокол","upload":"Качване","uploadSubmit":"Изпращане към сървъра","image":"Изображение","flash":"Флаш","form":"Форма","checkbox":"Поле за избор","radio":"Радио бутон","textField":"Текстово поле","textarea":"Текстова зона","hiddenField":"Скрито поле","button":"Бутон","select":"Поле за избор","imageButton":"Бутон за изображение","notSet":"<не е избрано>","id":"ID","name":"Име","langDir":"Посока на езика","langDirLtr":"От ляво надясно (LTR)","langDirRtl":"От дясно наляво (RTL)","langCode":"Код на езика","longDescr":"Уеб адрес за дълго описание","cssClass":"Класове за CSS","advisoryTitle":"Заглавие","cssStyle":"Стил","ok":"ОК","cancel":"Отказ","close":"Затвори","preview":"Преглед","resize":"Влачете за да оразмерите","generalTab":"Общи","advancedTab":"Разширено","validateNumberFailed":"Тази стойност не е число","confirmNewPage":"Всички незапазени промени ще бъдат изгубени. Сигурни ли сте, че желаете да заредите нова страница?","confirmCancel":"Някои от опциите са променени. Сигурни ли сте, че желаете да затворите прозореца?","options":"Опции","target":"Цел","targetNew":"Нов прозорец (_blank)","targetTop":"Най-горният прозорец (_top)","targetSelf":"Текущият прозорец (_self)","targetParent":"Горният прозорец (_parent)","langDirLTR":"От ляво надясно (LTR)","langDirRTL":"От дясно наляво (RTL)","styles":"Стил","cssClasses":"Класове за CSS","width":"Ширина","height":"Височина","align":"Подравняване","left":"Ляво","right":"Дясно","center":"Център","justify":"Двустранно","alignLeft":"Подравни ляво","alignRight":"Подравни дясно","alignCenter":"Подравни център","alignTop":"Горе","alignMiddle":"По средата","alignBottom":"Долу","alignNone":"Без подравняване","invalidValue":"Невалидна стойност.","invalidHeight":"Височината трябва да е число.","invalidWidth":"Ширина трябва да е число.","invalidLength":"Стойността на полето \"%1\" трябва да е положително число с или без валидна мерна единица (%2).","invalidCssLength":"Стойността на полето \"%1\" трябва да е положително число с или без валидна CSS мерна единица (px, %, in, cm, mm, em, ex, pt, или pc).","invalidHtmlLength":"Стойността на полето \"%1\" трябва да е положително число с или без валидна HTML мерна единица (px или %).","invalidInlineStyle":"Стойността на стилa трябва да съдържат една или повече двойки във формат \"name : value\", разделени с двоеточие.","cssLengthTooltip":"Въведете числена стойност в пиксели или друга валидна CSS единица (px, %, in, cm, mm, em, ex, pt, или pc).","unavailable":"%1<span class=\"cke_accessibility\">, недостъпно</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Клавишна комбинация","optionDefault":"По подразбиране"},"about":{"copy":"Авторско право © $1. Всички права запазени.","dlgTitle":"Относно CKEditor 4","moreInfo":"За лицензионна информация моля посетете сайта ни:"},"basicstyles":{"bold":"Удебелен","italic":"Наклонен","strike":"Зачертан текст","subscript":"Долен индекс","superscript":"Горен индекс","underline":"Подчертан"},"bidi":{"ltr":"Посока на текста от ляво надясно","rtl":"Посока на текста от дясно наляво"},"blockquote":{"toolbar":"Блок за цитат"},"notification":{"closed":"Известието е затворено."},"toolbar":{"toolbarCollapse":"Свиване на лентата с инструменти","toolbarExpand":"Разширяване на лентата с инструменти","toolbarGroups":{"document":"Документ","clipboard":"Клипборд/Отмяна","editing":"Редакция","forms":"Форми","basicstyles":"Базови стилове","paragraph":"Параграф","links":"Връзки","insert":"Вмъкване","styles":"Стилове","colors":"Цветове","tools":"Инструменти"},"toolbars":"Ленти с инструменти"},"clipboard":{"copy":"Копирай","copyError":"Настройките за сигурност на вашия бразуър не разрешават на редактора да изпълни действията по копиране. За целта използвайте клавиатурата (Ctrl+C).","cut":"Отрежи","cutError":"Настройките за сигурност на вашия браузър не позволяват на редактора автоматично да изъплни действията за отрязване. За целта използвайте клавиатурата (Ctrl+X).","paste":"Вмъкни","pasteNotification":"Натиснете %1 за да вмъкнете. Вашият браузър не поддържа поставяне с бутон от лентата с инструменти или от контекстното меню.","pasteArea":"Зона за поставяне","pasteMsg":"Поставете съдържанието в зоната отдолу и натиснете OK."},"colorbutton":{"auto":"Автоматично","bgColorTitle":"Фонов цвят","colors":{"000":"Черно","800000":"Кестеняво","8B4513":"Светлокафяво","2F4F4F":"Тъмно плочесто сиво","008080":"Сиво птиче","000080":"Морско синьо","4B0082":"Индиго","696969":"Тъмно сиво","B22222":"Огнено червено","A52A2A":"Кафяво","DAA520":"Златисто","006400":"Тъмно зелено","40E0D0":"Тюркуазено","0000CD":"Средно синьо","800080":"Пурпурно","808080":"Сиво","F00":"Червено","FF8C00":"Тъмно оранжево","FFD700":"Златно","008000":"Зелено","0FF":"Светло синьо","00F":"Синьо","EE82EE":"Виолетово","A9A9A9":"Бледо сиво","FFA07A":"Светло розово-оранжево","FFA500":"Оранжево","FFFF00":"Жълто","00FF00":"Варосано","AFEEEE":"Тюркоазено остро","ADD8E6":"Светло синьо","DDA0DD":"Сливово","D3D3D3":"Светло сиво","FFF0F5":"Лавандула изчервено","FAEBD7":"Антично бяло","FFFFE0":"Светло жълто","F0FFF0":"Медена роса","F0FFFF":"Лазурно","F0F8FF":"Алиса синьо","E6E6FA":"Лавандула","FFF":"Бяло","1ABC9C":"Силно синьо-зелено","2ECC71":"Изомрудено","3498DB":"Ярко синьо","9B59B6":"Аметист","4E5F70":"Сивкаво синьо","F1C40F":"Блестящо жълто","16A085":"Тъмно синьо-зелено","27AE60":"Тъмно изомрудено","2980B9":"Силно синьо","8E44AD":"Тъмно виолетово","2C3E50":"Ненаситено синьо","F39C12":"Оранжево","E67E22":"Морков","E74C3C":"Бледо червено","ECF0F1":"Ярко сребърно","95A5A6":"Светло сивкаво синьо-зелено","DDD":"Светло сиво","D35400":"Тиквено","C0392B":"Силно червено","BDC3C7":"Сребърно","7F8C8D":"Сивкаво синьо-зелено","999":"Тъмно сиво"},"more":"Още цветове","panelTitle":"Цветове","textColorTitle":"Цвят на текста"},"colordialog":{"clear":"Изчистване","highlight":"Осветяване","options":"Цветови опции","selected":"Изберете цвят","title":"Избор на цвят"},"templates":{"button":"Шаблони","emptyListMsg":"(Няма дефинирани шаблони)","insertOption":"Замяна на актуалното съдържание","options":"Опции за шаблона","selectPromptMsg":"Моля изберете шаблон за отваряне в редактора","title":"Шаблони"},"contextmenu":{"options":"Опции на контекстното меню"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Заглавие","cssClassInputLabel":"Класове за CSS","edit":"Промяна на Div","inlineStyleInputLabel":"В редица","langDirLTRLabel":"От ляво надясно (LTR)","langDirLabel":"Посока на езика","langDirRTLLabel":"От дясно наляво (RTL)","languageCodeInputLabel":" Код на езика","remove":"Премахване на Div","styleSelectLabel":"Стил","title":"Създаване на Div контейнер","toolbar":"Създаване на Div контейнер"},"elementspath":{"eleLabel":"Път за елементите","eleTitle":"%1 елемент"},"filetools":{"loadError":"Възникна грешка при четене на файла.","networkError":"Възникна мрежова грешка при качването на файла.","httpError404":"Възникна HTTP грешка при качване на файла (404: Файлът не е намерен).","httpError403":"Възникна HTTP грешка при качване на файла (403: Забранено).","httpError":"Възникна HTTP грешка при качване на файла (статус на грешката: %1).","noUrlError":"URL адресът за качване не е дефиниран.","responseError":"Неправилен отговор на сървъра."},"find":{"find":"Търсене","findOptions":"Настройки за търсене","findWhat":"Търси за:","matchCase":"Съвпадение на големи/малки букви","matchCyclic":"Циклично търсене","matchWord":"Търсене по цели думи","notFoundMsg":"Указаният текст не е намерен.","replace":"Замяна","replaceAll":"Замени всички","replaceSuccessMsg":"%1 съвпадения заменени.","replaceWith":"Замяна с:","title":"Търсене и замяна"},"fakeobjects":{"anchor":"Кука","flash":"Флаш анимация","hiddenfield":"Скрито поле","iframe":"IFrame","unknown":"Неизвестен обект"},"flash":{"access":"Достъп до скрипт","accessAlways":"Винаги","accessNever":"Никога","accessSameDomain":"Същият домейн","alignAbsBottom":"Най-долу","alignAbsMiddle":"Точно по средата","alignBaseline":"Базова линия","alignTextTop":"Върху текста","bgcolor":"Цвят на фона","chkFull":"Позволи на цял екран","chkLoop":"Циклично","chkMenu":"Разрешено Flash меню","chkPlay":"Авто. пускане","flashvars":"Променливи за Флаш","hSpace":"X отстъп","properties":"Настройки за флаш","propertiesTab":"Настройки","quality":"Качество","qualityAutoHigh":"Авто високо","qualityAutoLow":"Авто ниско","qualityBest":"Отлично","qualityHigh":"Високо","qualityLow":"Ниско","qualityMedium":"Средно","scale":"Мащаб","scaleAll":"Показва всичко","scaleFit":"Според мястото","scaleNoBorder":"Без рамка","title":"Настройки за флаш","vSpace":"Y отстъп","validateHSpace":"X отстъп трябва да е число.","validateSrc":"URL адресът не трябва да е празен.","validateVSpace":"Y отстъп трябва да е число.","windowMode":"Режим на прозореца","windowModeOpaque":"Плътно","windowModeTransparent":"Прозрачно","windowModeWindow":"Прозорец"},"font":{"fontSize":{"label":"Размер","voiceLabel":"Размер на шрифт","panelTitle":"Размер на шрифт"},"label":"Шрифт","panelTitle":"Име на шрифт","voiceLabel":"Шрифт"},"forms":{"button":{"title":"Настройки на бутон","text":"Текст (стойност)","type":"Тип","typeBtn":"Бутон","typeSbm":"Добави","typeRst":"Нулиране"},"checkboxAndRadio":{"checkboxTitle":"Настройки на чекбокс","radioTitle":"Настройки на радиобутон","value":"Стойност","selected":"Избрано","required":"Задължително"},"form":{"title":"Настройки на форма","menu":"Настройки на форма","action":"Действие","method":"Метод","encoding":"Кодиране"},"hidden":{"title":"Настройки на скрито поле","name":"Име","value":"Стойност"},"select":{"title":"Настройки на поле за избор","selectInfo":"Селект инфо","opAvail":"Налични опции","value":"Стойност","size":"Размер","lines":"линии","chkMulti":"Разрешаване на няколко избора","required":"Задължително","opText":"Текст","opValue":"Стойност","btnAdd":"Добави","btnModify":"Промени","btnUp":"Нагоре","btnDown":"Надолу","btnSetValue":"Задай като избрана стойност","btnDelete":"Изтриване"},"textarea":{"title":"Настройки на текстова зона","cols":"Колони","rows":"Редове"},"textfield":{"title":"Настройки на текстово поле","name":"Име","value":"Стойност","charWidth":"Ширина на знаците","maxChars":"Макс. знаци","required":"Задължително","type":"Тип","typeText":"Текст","typePass":"Парола","typeEmail":"Имейл","typeSearch":"Търсене","typeTel":"Телефонен номер","typeUrl":"Уеб адрес"}},"format":{"label":"Формат","panelTitle":"Формат на параграф","tag_address":"Адрес","tag_div":"Нормален (DIV)","tag_h1":"Заглавие 1","tag_h2":"Заглавие 2","tag_h3":"Заглавие 3","tag_h4":"Заглавие 4","tag_h5":"Заглавие 5","tag_h6":"Заглавие 6","tag_p":"Нормален","tag_pre":"Форматиран"},"horizontalrule":{"toolbar":"Вмъкване на хоризонтална линия"},"iframe":{"border":"Показва рамка на карето","noUrl":"Моля въведете URL за iFrame","scrolling":"Активира прелистване","title":"IFrame настройки","toolbar":"IFrame"},"image":{"alt":"Алтернативен текст","border":"Рамка","btnUpload":"Изпрати на сървъра","button2Img":"Искате ли да превърнете избрания бутон за изображение в просто изображение?","hSpace":"Хоризонтален отстъп","img2Button":"Искате ли да превърнете избраното изображение в бутон за изображение?","infoTab":"Изображение","linkTab":"Връзка","lockRatio":"Заключване на съотношението","menu":"Настройки на изображение","resetSize":"Нулиране на размер","title":"Настройки на изображение","titleButton":"Настройки на бутон за изображение","upload":"Качване","urlMissing":"URL адресът на изображението липсва.","vSpace":"Вертикален отстъп","validateBorder":"Рамката трябва да е цяло число.","validateHSpace":"Хоризонтален отстъп трябва да е цяло число.","validateVSpace":"Вертикален отстъп трябва да е цяло число."},"indent":{"indent":"Увеличаване на отстъпа","outdent":"Намаляване на отстъпа"},"smiley":{"options":"Опции за усмивка","title":"Вмъкване на усмивка","toolbar":"Усмивка"},"language":{"button":"Задай език","remove":"Премахни език"},"link":{"acccessKey":"Клавиш за достъп","advanced":"Разширено","advisoryContentType":"Тип на съдържанието","advisoryTitle":"Заглавие","anchor":{"toolbar":"Котва","menu":"Промяна на котва","title":"Настройки на котва","name":"Име на котва","errorName":"Моля въведете име на котвата","remove":"Премахване на котва"},"anchorId":"По ID на елемент","anchorName":"По име на котва","charset":"Езиков код на свързания ресурс","cssClasses":"CSS класове","download":"Укажи изтегляне","displayText":"Текст за показване","emailAddress":"Имейл aдрес","emailBody":"Съдържание","emailSubject":"Тема","id":"Id","info":"Връзка","langCode":"Езиков код","langDir":"Посока на езика","langDirLTR":"От ляво надясно (LTR)","langDirRTL":"От дясно наляво (RTL)","menu":"Промяна на връзка","name":"Име","noAnchors":"(Няма котви в текущия документ)","noEmail":"Моля въведете имейл адрес","noUrl":"Моля въведете URL адрес","noTel":"Please type the phone number","other":"<друго>","phoneNumber":"Phone number","popupDependent":"Зависимост (Netscape)","popupFeatures":"Функции на изкачащ прозорец","popupFullScreen":"Цял екран (IE)","popupLeft":"Лява позиция","popupLocationBar":"Лента с локацията","popupMenuBar":"Лента за меню","popupResizable":"Оразмеряем","popupScrollBars":"Ленти за прелистване","popupStatusBar":"Статусна лента","popupToolbar":"Лента с инструменти","popupTop":"Горна позиция","rel":"Свързаност (rel атрибут)","selectAnchor":"Изберете котва","styles":"Стил","tabIndex":"Ред на достъп","target":"Цел","targetFrame":"<frame>","targetFrameName":"Име на целевия прозорец","targetPopup":"<изкачащ прозорец>","targetPopupName":"Име на изкачащ прозорец","title":"Връзка","toAnchor":"Връзк�� към котва в текста","toEmail":"Имейл","toUrl":"Уеб адрес","toPhone":"Phone","toolbar":"Връзка","type":"Тип на връзката","unlink":"Премахни връзката","upload":"Качване"},"list":{"bulletedlist":"Вмъкване/премахване на точков списък","numberedlist":"Вмъкване/премахване на номериран списък"},"liststyle":{"bulletedTitle":"Свойства на точков списък","circle":"Кръг","decimal":"Числа (1, 2, 3 и т.н.)","disc":"Диск","lowerAlpha":"Малки букви (а, б, в, г, д и т.н.)","lowerRoman":"Малки римски числа (i, ii, iii, iv, v и т.н.)","none":"Няма","notset":"<не е указано>","numberedTitle":"Numbered List Properties","square":"Квадрат","start":"Старт","type":"Тип","upperAlpha":"Големи букви (А, Б, В, Г, Д и т.н.)","upperRoman":"Големи римски числа (I, II, III, IV, V и т.н.)","validateStartNumber":"Началният номер на списъка трябва да е цяло число."},"magicline":{"title":"Вмъкнете параграф тук"},"maximize":{"maximize":"Максимизиране","minimize":"Минимизиране"},"newpage":{"toolbar":"Нова страница"},"pagebreak":{"alt":"Разделяне на страници","toolbar":"Вмъкване на нова страница при печат"},"pastetext":{"button":"Вмъкни като чист текст","pasteNotification":"Натиснете %1 за да поставите. Вашият браузър не поддържа поставяне с бутон от лентата с инструменти или контекстното меню.","title":"Вмъкни като чист текст"},"pastefromword":{"confirmCleanup":"Текстът, който искате да поставите, изглежда е копиран от Word. Искате ли да се почисти преди поставянето?","error":"Вмъкваните данни не могат да бъдат почистени поради вътрешна грешка","title":"Вмъкни от Word","toolbar":"Вмъкни от Word"},"preview":{"preview":"Преглед"},"print":{"toolbar":"Печат"},"removeformat":{"toolbar":"Премахване на форматирането"},"save":{"toolbar":"Запис"},"selectall":{"toolbar":"Избери всичко"},"showblocks":{"toolbar":"Показва блокове"},"sourcearea":{"toolbar":"Код"},"specialchar":{"options":"Опции за специален знак","title":"Избор на специален знак","toolbar":"Вмъкване на специален знак"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Речници","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Стилове","panelTitle":"Стилове за форматиране","panelTitle1":"Блокови стилове","panelTitle2":"Поредови стилове","panelTitle3":"Обектни стилове"},"table":{"border":"Размер на рамката","caption":"Заглавие","cell":{"menu":"Клетка","insertBefore":"Вмъкване на клетка преди","insertAfter":"Вмъкване на клетка след","deleteCell":"Изтриване на клетки","merge":"Сливане на клетки","mergeRight":"Сливане надясно","mergeDown":"Сливане надолу","splitHorizontal":"Разделяне клетката хоризонтално","splitVertical":"Разделяне клетката вертикално","title":"Настройки на клетката","cellType":"Тип на клетката","rowSpan":"Редове обединени","colSpan":"Колони обединени","wordWrap":"Авто. пренос","hAlign":"Хоризонтално подравняване","vAlign":"Вертикално подравняване","alignBaseline":"Базова линия","bgColor":"Фон","borderColor":"Цвят на рамката","data":"Данни","header":"Заглавие","yes":"Да","no":"Не","invalidWidth":"Ширината на клетката трябва да е число.","invalidHeight":"Височината на клетката трябва да е число.","invalidRowSpan":"Редове обединени трябва да е цяло число.","invalidColSpan":"Колони обединени трябва да е цяло число.","chooseColor":"Изберете"},"cellPad":"Отделяне на клетките","cellSpace":"Разстояние между клетките","column":{"menu":"Колона","insertBefore":"Вмъкване на колона преди","insertAfter":"Вмъкване на колона след","deleteColumn":"Изтриване на колони"},"columns":"Колони","deleteTable":"Изтриване на таблица","headers":"Заглавия","headersBoth":"И двете","headersColumn":"Първа колона","headersNone":"Няма","headersRow":"Първи ред","invalidBorder":"Размерът на рамката трябва да е число.","invalidCellPadding":"Отстоянието на клетките трябва да е положително число.","invalidCellSpacing":"Интервалът в клетките трябва да е положително число.","invalidCols":"Броят колони трябва да е по-голям от 0.","invalidHeight":"Височината на таблицата трябва да е число.","invalidRows":"Броят редове трябва да е по-голям от 0.","invalidWidth":"Ширината на таблицата трябва да е число.","menu":"Настройки на таблицата","row":{"menu":"Ред","insertBefore":"Вмъкване на ред преди","insertAfter":"Вмъкване на ред след","deleteRow":"Изтриване на редове"},"rows":"Редове","summary":"Обща информация","title":"Настройки на таблицата","toolbar":"Таблица","widthPc":"процент","widthPx":"пиксела","widthUnit":"единица за ширина"},"undo":{"redo":"Пренаправи","undo":"Отмени"},"widget":{"move":"Кликни и влачи, за да преместиш","label":"%1 приставка"},"uploadwidget":{"abort":"Качването е прекратено от потребителя.","doneOne":"Файлът е качен успешно.","doneMany":"Успешно са качени %1 файла.","uploadOne":"Качване на файл ({percentage}%)...","uploadMany":"Качване на файлове, {current} от {max} качени ({percentage}%)..."},"wsc":{"btnIgnore":"Игнорирай","btnIgnoreAll":"Игнорирай всичко","btnReplace":"Препокриване","btnReplaceAll":"Препокрий всичко","btnUndo":"Възтанови","changeTo":"Промени на","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- Няма препоръчани -","notAvailable":"Съжаляваме, но услугата не е достъпна за момента","notInDic":"Не е в речника","oneChange":"Spell check complete: One word changed","progress":"Проверява се правописа...","title":"Проверка на правопис","toolbar":"Проверка на правопис"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/bn.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['bn']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"ব্রাউজ সার্ভার","url":"URL","protocol":"প্রোটোকল","upload":"আপলোড","uploadSubmit":"ইহাকে সার্ভারে প্রেরন কর","image":"ছবির লেবেল যুক্ত কর","flash":"ফ্লাশ লেবেল যুক্ত কর","form":"ফর্ম","checkbox":"চেক বাক্স","radio":"রেডিও বাটন","textField":"টেক্সট ফীল্ড","textarea":"টেক্সট এরিয়া","hiddenField":"গুপ্ত ফীল্ড","button":"বাটন","select":"বাছাই ফীল্ড","imageButton":"ছবির বাটন","notSet":"<সেট নেই>","id":"আইডি","name":"নাম","langDir":"ভাষা লেখার দিক","langDirLtr":"বাম থেকে ডান (LTR)","langDirRtl":"ডান থেকে বাম (RTL)","langCode":"ভাষা কোড","longDescr":"URL এর লম্বা বর্ণনা","cssClass":"স্টাইল-শীট ক্লাস","advisoryTitle":"পরামর্শ শীর্ষক","cssStyle":"স্টাইল","ok":"ওকে","cancel":"বাতিল","close":"Close","preview":"প্রিভিউ","resize":"Resize","generalTab":"General","advancedTab":"এডভান্সড","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"টার্গেট","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"বাম থেকে ডান (LTR)","langDirRTL":"ডান থেকে বাম (RTL)","styles":"স্টাইল","cssClasses":"স্টাইল-শীট ক্লাস","width":"প্রস্থ","height":"দৈর্ঘ্য","align":"এলাইন","left":"বামে","right":"ডানে","center":"মাঝখানে","justify":"ব্লক জাস্টিফাই","alignLeft":"বা দিকে ঘেঁষা","alignRight":"ডান দিকে ঘেঁষা","alignCenter":"Align Center","alignTop":"উপর","alignMiddle":"মধ্য","alignBottom":"নীচে","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"বোল্ড","italic":"বাঁকা","strike":"স্ট্রাইক থ্রু","subscript":"অধোলেখ","superscript":"অভিলেখ","underline":"আন্ডারলাইন"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"ক��ি","copyError":"আপনার ব্রাউজারের নিরাপত্তা সেটিংসমূহ এডিটরকে স্বয়ংক্রিয়ভাবে কপি করার প্রক্রিয়া চালনা করার অনুমতি দেয় না। অনুগ্রহপূর্বক এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+C)।","cut":"কাট","cutError":"আপনার ব্রাউজারের সুরক্ষা সেটিংস এডিটরকে অটোমেটিক কাট করার অনুমতি দেয়নি। দয়া করে এই কাজের জন্য কিবোর্ড ব্যবহার করুন (Ctrl/Cmd+X)।","paste":"পেস্ট","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"স্বয়ংক্রিয়ভাবে","bgColorTitle":"পৃষ্ঠতলের রং","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"আরও রং...","panelTitle":"Colors","textColorTitle":"টেক্স্ট রং"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"টেমপ্লেট","emptyListMsg":"(কোন টেমপ্লেট ডিফাইন করা নেই)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"অনুগ্রহ করে এডিটরে ওপেন করার জন্য টেমপ্লেট বাছাই করুন<br>(আসল কনটেন্ট হারিয়ে যাবে):","title":"কনটেন্ট টেমপ্লেট"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"খুজিঁ","findOptions":"Find Options","findWhat":"যা খুঁজতে হবে:","matchCase":"কেস মিলাও","matchCyclic":"Match cyclic","matchWord":"পুরা শব্দ মেলাও","notFoundMsg":"আপনার উল্লেখিত টেকস্ট পাওয়া যায়নি","replace":"রিপ্লেস","replaceAll":"সব বদলে দাও","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"যার সাথে বদলাতে হবে:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs নীচে","alignAbsMiddle":"Abs উপর","alignBaseline":"মূল রেখা","alignTextTop":"টেক্সট উপর","bgcolor":"পৃষ্ঠতলের রং","chkFull":"Allow Fullscreen","chkLoop":"লূপ","chkMenu":"ফ্ল্যাশ মেনু এনাবল কর","chkPlay":"অটো প্লে","flashvars":"Variables for Flash","hSpace":"হরাইজন্টাল স্পেস","properties":"ফ্লাশ প্রোপার্টি","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"স্কেল","scaleAll":"সব দেখাও","scaleFit":"নিখুঁত ফিট","scaleNoBorder":"কোনো বর্ডার নেই","title":"ফ্ল্যাশ প্রোপার্টি","vSpace":"ভার্টিকেল স্পেস","validateHSpace":"HSpace must be a number.","validateSrc":"অনুগ্রহ করে URL লিংক টাইপ করুন","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"সাইজ","voiceLabel":"Font Size","panelTitle":"সাইজ"},"label":"ফন্ট","panelTitle":"ফন্ট","voiceLabel":"ফন্ট"},"forms":{"button":{"title":"বাটন সম্বন্ধীয়","text":"টেক্সট (ভ্যালু)","type":"প্রকার","typeBtn":"বাটন","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"চেক বক্স প্রোপার্টি","radioTitle":"রেডিও বাটন সম্বন্ধীয়","value":"ভ্যালু","selected":"সিলেক্টেড","required":"Required"},"form":{"title":"ফর্ম প্রোপার্টি","menu":"ফর্ম প্রোপার্টি","action":"একশ্যন","method":"পদ্ধতি","encoding":"Encoding"},"hidden":{"title":"গুপ্ত ফীল্ড প্রোপার্টি","name":"নাম","value":"ভ্যালু"},"select":{"title":"বাছাই ফীল্ড প্রোপার্টি","selectInfo":"তথ্য","opAvail":"অন্যান্য বিকল্প","value":"ভ্যালু","size":"সাইজ","lines":"লাইন সমূহ","chkMulti":"একাধিক সিলেকশন এলাউ কর","required":"Required","opText":"টেক্সট","opValue":"ভ্যালু","btnAdd":"যুক্ত","btnModify":"বদলে দাও","btnUp":"উপর","btnDown":"নীচে","btnSetValue":"বাছাই করা ভ্যালু হিসেবে সেট কর","btnDelete":"ডিলীট"},"textarea":{"title":"টেক্সট এরিয়া প্রোপার্টি","cols":"কলাম","rows":"রো"},"textfield":{"title":"টেক্সট ফীল্ড প্রোপার্টি","name":"নাম","value":"ভ্যালু","charWidth":"ক্যারেক্টার প্রশস্ততা","maxChars":"সর্বাধিক ক্যারেক্টার","required":"Required","type":"টাইপ","typeText":"টেক্সট","typePass":"পাসওয়ার্ড","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"ধরন-প্রকৃতি","panelTitle":"ফন্ট ফরমেট","tag_address":"ঠিকানা","tag_div":"শীর্ষক (DIV)","tag_h1":"শীর্ষক ১","tag_h2":"শীর্ষক ২","tag_h3":"শীর্ষক ৩","tag_h4":"শীর্ষক ৪","tag_h5":"শীর্ষক ৫","tag_h6":"শীর্ষক ৬","tag_p":"সাধারণ","tag_pre":"ফর্মেটেড"},"horizontalrule":{"toolbar":"অনুভূমিক লাইন যোগ করি"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"বিকল্প টেক্সট","border":"বর্ডার","btnUpload":"ইহাকে সার্ভারে প্রেরন কর","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"হরাইজন্টাল স্পেস","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"ছবির তথ্য","linkTab":"লিংক","lockRatio":"অনুপাত লক কর","menu":"ছবির প্রোপার্টি","resetSize":"সাইজ পূর্বাবস্থায় ফিরিয়ে দাও","title":"ছবির প্রোপার্টি","titleButton":"ছবির বাটন সম্বন্ধীয়","upload":"আপলোড","urlMissing":"Image source URL is missing.","vSpace":"ভার্টিকেল স্পেস","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"ইনডেন্ট বাড়াই","outdent":"ইনডেন্ট কমাও"},"smiley":{"options":"Smiley Options","title":"স্মাইলী যুক্ত কর","toolbar":"স্মাইলী"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"প্রবেশ কী","advanced":"এডভান্সড","advisoryContentType":"পরামর্শ কন্টেন্টের প্রকার","advisoryTitle":"পরামর্শ শীর্ষক","anchor":{"toolbar":"নোঙ্গর","menu":"নোঙর প্রোপার্টি","title":"নোঙর প্রোপার্টি","name":"নোঙরের নাম","errorName":"নোঙরের নাম টাইপ করুন","remove":"Remove Anchor"},"anchorId":"নোঙরের আইডি দিয়ে","anchorName":"নোঙরের নাম দিয়ে","charset":"লিংক রিসোর্স ক্যারেক্টর সেট","cssClasses":"স্টাইল-শীট ক্লাস","download":"Force Download","displayText":"Display Text","emailAddress":"ইমেইল ঠিকানা","emailBody":"মেসেজের দেহ","emailSubject":"মেসেজের বিষয়","id":"আইডি","info":"লিংক তথ্য","langCode":"ভাষা লেখার দিক","langDir":"ভাষা লেখার দিক","langDirLTR":"বাম থেকে ডান (LTR)","langDirRTL":"ডান থেকে বাম (RTL)","menu":"লিংক সম্পাদন","name":"নাম","noAnchors":"(No anchors available in the document)","noEmail":"অনুগ্রহ করে ইমেইল এড্রেস টাইপ করুন","noUrl":"অনুগ্রহ করে URL লিংক টাইপ করুন","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"ডিপেন্ডেন্ট (Netscape)","popupFeatures":"পপআপ উইন্ডো ফীচার সমূহ","popupFullScreen":"পূর্ণ পর্দা জুড়ে (IE)","popupLeft":"বামের পজিশন","popupLocationBar":"লোকেশন বার","popupMenuBar":"মেন্যু বার","popupResizable":"Resizable","popupScrollBars":"স্ক্রল বার","popupStatusBar":"স্ট্যাটাস বার","popupToolbar":"টুল বার","popupTop":"ডানের পজিশন","rel":"Relationship","selectAnchor":"নোঙর বাছাই","styles":"স্টাইল","tabIndex":"ট্যাব ইন্ডেক্স","target":"টার্গেট","targetFrame":"<ফ্রেম>","targetFrameName":"টার্গেট ফ্রেমের নাম","targetPopup":"<পপআপ উইন্ডো>","targetPopupName":"পপআপ উইন্ডোর নাম","title":"লিংক","toAnchor":"এই পেজে নোঙর কর","toEmail":"ইমেইল","toUrl":"URL","toPhone":"Phone","toolbar":"লিংক যুক্ত কর","type":"লিংক প্রকার","unlink":"লিংক সরাও","upload":"আপলোড"},"list":{"bulletedlist":"বুলেটেড তালিকা প্রবেশ/অপসারন করি","numberedlist":"সাংখ্যিক লিস্টের লেবেল"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"নতুন পৃষ্ঠা"},"pagebreak":{"alt":"Page Break","toolbar":"পেজ ব্রেক"},"pastetext":{"button":"সাধারণ টেক্সট হিসেবে পেইস্ট করি","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"সাদা টেক্সট হিসেবে পেস্ট কর"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"পেস্ট (শব্দ)","toolbar":"পেস্ট (শব্দ)"},"preview":{"preview":"প্রাকদর্শন"},"print":{"toolbar":"প্���িন্ট করি"},"removeformat":{"toolbar":"ধরন-প্রকৃতি অপসারণ করি"},"save":{"toolbar":"সংরক্ষন করি"},"selectall":{"toolbar":"সব সিলেক্ট করি"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"উৎস"},"specialchar":{"options":"Special Character Options","title":"বিশেষ ক্যারেক্টার বাছাই কর","toolbar":"বিশেষ অক্ষর যুক্ত কর"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"ধরন","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"বর্ডারের সাইজ","caption":"শীর্ষক","cell":{"menu":"সেল","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"সেল মুছে দাও","merge":"সেল জোড়া দাও","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"পৃষ্ঠতলের রং","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"সেল প্যাডিং","cellSpace":"সেল স্পেস","column":{"menu":"কলাম","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"কলাম মুছে দাও"},"columns":"কলাম","deleteTable":"টেবিল ডিলীট কর","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"টেবিল প্রোপার্টি","row":{"menu":"রো","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"রো মুছে দাও"},"rows":"রো","summary":"সারাংশ","title":"টেবিল প্রোপার্টি","toolbar":"টেবিলের লেবেল যুক্ত কর","widthPc":"শতকরা","widthPx":"পিক্সেল","widthUnit":"width unit"},"undo":{"redo":"পুনরায় করি","undo":"আনডু"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"ইগনোর কর","btnIgnoreAll":"সব ইগনোর কর","btnReplace":"বদলে দাও","btnReplaceAll":"সব বদলে দাও","btnUndo":"আন্ডু","changeTo":"এতে বদলাও","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"বানান পরীক্ষক ইনস্টল করা নেই। আপনি কি এখনই এটা ডাউনলোড করতে চান?","manyChanges":"বানান পরীক্ষা শেষ: %1 গুলো শব্দ বদলে গ্যাছে","noChanges":"বানান পরীক্ষা শেষ: কোন শব্দ পরিবর্তন করা হয়নি","noMispell":"বানান পরীক্ষা শেষ: কোন ভুল বানান পাওয়া যায়নি","noSuggestions":"- কোন সাজেশন নেই -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"শব্দকোষে নেই","oneChange":"বানান পরীক্ষা শেষ: একটি মাত্র শব্দ পরিবর্তন করা হয়েছে","progress":"বানান পরীক্ষা চলছে...","title":"Spell Checker","toolbar":"বানান চেক"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/bs.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['bs']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protokol","upload":"Šalji","uploadSubmit":"Šalji na server","image":"Slika","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<nije podešeno>","id":"Id","name":"Naziv","langDir":"Smjer pisanja","langDirLtr":"S lijeva na desno (LTR)","langDirRtl":"S desna na lijevo (RTL)","langCode":"Jezièni kôd","longDescr":"Dugaèki opis URL-a","cssClass":"Klase CSS stilova","advisoryTitle":"Advisory title","cssStyle":"Stil","ok":"OK","cancel":"Odustani","close":"Close","preview":"Prikaži","resize":"Resize","generalTab":"General","advancedTab":"Naprednije","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Prozor","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","styles":"Stil","cssClasses":"Klase CSS stilova","width":"Širina","height":"Visina","align":"Poravnanje","left":"Lijevo","right":"Desno","center":"Centar","justify":"Puno poravnanje","alignLeft":"Lijevo poravnanje","alignRight":"Desno poravnanje","alignCenter":"Align Center","alignTop":"Vrh","alignMiddle":"Sredina","alignBottom":"Dno","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Boldiraj","italic":"Ukosi","strike":"Precrtaj","subscript":"Subscript","superscript":"Superscript","underline":"Podvuci"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Kopiraj","copyError":"Sigurnosne postavke Vašeg pretraživaèa ne dozvoljavaju operacije automatskog kopiranja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+C).","cut":"Izreži","cutError":"Sigurnosne postavke vašeg pretraživaèa ne dozvoljavaju operacije automatskog rezanja. Molimo koristite kraticu na tastaturi (Ctrl/Cmd+X).","paste":"Zalijepi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatska","bgColorTitle":"Boja pozadine","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Više boja...","panelTitle":"Colors","textColorTitle":"Boja teksta"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory title","cssClassInputLabel":"Klase CSS stilova","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"S lijeva na desno (LTR)","langDirLabel":"Smjer pisanja","langDirRTLLabel":"S desna na lijevo (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Stil","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Naði","findOptions":"Find Options","findWhat":"Naði šta:","matchCase":"Uporeðuj velika/mala slova","matchCyclic":"Match cyclic","matchWord":"Uporeðuj samo cijelu rijeè","notFoundMsg":"Traženi tekst nije pronaðen.","replace":"Zamjeni","replaceAll":"Zamjeni sve","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Zamjeni sa:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs dole","alignAbsMiddle":"Abs sredina","alignBaseline":"Bazno","alignTextTop":"Vrh teksta","bgcolor":"Boja pozadine","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"Molimo ukucajte URL link","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Velièina","voiceLabel":"Font Size","panelTitle":"Velièina"},"label":"Font","panelTitle":"Font","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Ubaci horizontalnu liniju"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Tekst na slici","border":"Okvir","btnUpload":"Šalji na server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Info slike","linkTab":"Link","lockRatio":"Zakljuèaj odnos","menu":"Svojstva slike","resetSize":"Resetuj dimenzije","title":"Svojstva slike","titleButton":"Image Button Properties","upload":"Šalji","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Poveæaj uvod","outdent":"Smanji uvod"},"smiley":{"options":"Smiley Options","title":"Ubaci smješka","toolbar":"Smješko"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Pristupna tipka","advanced":"Naprednije","advisoryContentType":"Advisory vrsta sadržaja","advisoryTitle":"Advisory title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"Po Id-u elementa","anchorName":"Po nazivu sidra","charset":"Linked Resource Charset","cssClasses":"Klase CSS stilova","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Adresa","emailBody":"Poruka","emailSubject":"Subjekt poruke","id":"Id","info":"Link info","langCode":"Smjer pisanja","langDir":"Smjer pisanja","langDirLTR":"S lijeva na desno (LTR)","langDirRTL":"S desna na lijevo (RTL)","menu":"Izmjeni link","name":"Naziv","noAnchors":"(Nema dostupnih sidra na stranici)","noEmail":"Molimo ukucajte e-mail adresu","noUrl":"Molimo ukucajte URL link","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Ovisno (Netscape)","popupFeatures":"Moguænosti popup prozora","popupFullScreen":"Cijeli ekran (IE)","popupLeft":"Lijeva pozicija","popupLocationBar":"Traka za lokaciju","popupMenuBar":"Izborna traka","popupResizable":"Resizable","popupScrollBars":"Scroll traka","popupStatusBar":"Statusna traka","popupToolbar":"Traka sa alatima","popupTop":"Gornja pozicija","rel":"Relationship","selectAnchor":"Izaberi sidro","styles":"Stil","tabIndex":"Tab indeks","target":"Prozor","targetFrame":"<frejm>","targetFrameName":"Target Frame Name","targetPopup":"<popup prozor>","targetPopupName":"Naziv popup prozora","title":"Link","toAnchor":"Sidro na ovoj stranici","toEmail":"E-Mail","toUrl":"URL","toPhone":"Phone","toolbar":"Ubaci/Izmjeni link","type":"Tip linka","unlink":"Izbriši link","upload":"Šalji"},"list":{"bulletedlist":"Lista","numberedlist":"Numerisana lista"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"Novi dokument"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Zalijepi kao obièan tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Zalijepi kao obièan tekst"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Zalijepi iz Word-a","toolbar":"Zalijepi iz Word-a"},"preview":{"preview":"Prikaži"},"print":{"toolbar":"Štampaj"},"removeformat":{"toolbar":"Poništi format"},"save":{"toolbar":"Snimi"},"selectall":{"toolbar":"Selektuj sve"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"HTML kôd"},"specialchar":{"options":"Special Character Options","title":"Izaberi specijalni karakter","toolbar":"Ubaci specijalni karater"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Okvir","caption":"Naslov","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Briši æelije","merge":"Spoji æelije","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Uvod æelija","cellSpace":"Razmak æelija","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Briši kolone"},"columns":"Kolona","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Svojstva tabele","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Briši redove"},"rows":"Redova","summary":"Summary","title":"Svojstva tabele","toolbar":"Tabela","widthPc":"posto","widthPx":"piksela","widthUnit":"width unit"},"undo":{"redo":"Ponovi","undo":"Vrati"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/ca.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['ca']={"editor":"Editor de text enriquit","editorPanel":"Panell de l'editor de text enriquit","common":{"editorHelp":"Premeu ALT 0 per ajuda","browseServer":"Veure servidor","url":"URL","protocol":"Protocol","upload":"Puja","uploadSubmit":"Envia-la al servidor","image":"Imatge","flash":"Flash","form":"Formulari","checkbox":"Casella de verificació","radio":"Botó d'opció","textField":"Camp de text","textarea":"Àrea de text","hiddenField":"Camp ocult","button":"Botó","select":"Camp de selecció","imageButton":"Botó d'imatge","notSet":"<no definit>","id":"Id","name":"Nom","langDir":"Direcció de l'idioma","langDirLtr":"D'esquerra a dreta (LTR)","langDirRtl":"De dreta a esquerra (RTL)","langCode":"Codi d'idioma","longDescr":"Descripció llarga de la URL","cssClass":"Classes del full d'estil","advisoryTitle":"Títol consultiu","cssStyle":"Estil","ok":"D'acord","cancel":"Cancel·la","close":"Tanca","preview":"Previsualitza","resize":"Arrossegueu per redimensionar","generalTab":"General","advancedTab":"Avançat","validateNumberFailed":"Aquest valor no és un número.","confirmNewPage":"Els canvis en aquest contingut que no es desin es perdran. Esteu segur que voleu carregar una pàgina nova?","confirmCancel":"Algunes opcions s'han canviat. Esteu segur que voleu tancar el quadre de diàleg?","options":"Opcions","target":"Destí","targetNew":"Nova finestra (_blank)","targetTop":"Finestra superior (_top)","targetSelf":"Mateixa finestra (_self)","targetParent":"Finestra pare (_parent)","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","styles":"Estil","cssClasses":"Classes del full d'estil","width":"Amplada","height":"Alçada","align":"Alineació","left":"Ajusta a l'esquerra","right":"Ajusta a la dreta","center":"Centre","justify":"Justificat","alignLeft":"Alinea a l'esquerra","alignRight":"Alinea a la dreta","alignCenter":"Align Center","alignTop":"Superior","alignMiddle":"Centre","alignBottom":"Inferior","alignNone":"Cap","invalidValue":"Valor no vàlid.","invalidHeight":"L'alçada ha de ser un número.","invalidWidth":"L'amplada ha de ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificat per als \"%1\" camps ha de ser un número positiu amb o sense unitat de mesura vàlida de CSS (px, %, in, cm, mm, em, ex, pt o pc).","invalidHtmlLength":"El valor especificat per als \"%1\" camps ha de ser un número positiu amb o sense unitat de mesura vàlida d'HTML (px o %).","invalidInlineStyle":"El valor especificat per l'estil en línia ha de constar d'una o més tuples amb el format \"name: value\", separats per punt i coma.","cssLengthTooltip":"Introduïu un número per un valor en píxels o un número amb una unitat vàlida de CSS (px, %, in, cm, mm, em, ex, pt o pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retrocés","13":"Intro","16":"Majúscules","17":"Ctrl","18":"Alt","32":"Space","35":"Fi","36":"Inici","46":"Eliminar","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Tots els drets reservats.","dlgTitle":"Quant al CKEditor 4","moreInfo":"Per informació sobre llicències visiteu el nostre lloc web:"},"basicstyles":{"bold":"Negreta","italic":"Cursiva","strike":"Ratllat","subscript":"Subíndex","superscript":"Superíndex","underline":"Subratllat"},"bidi":{"ltr":"Direcció del text d'esquerra a dreta","rtl":"Direcció del text de dreta a esquerra"},"blockquote":{"toolbar":"Bloc de cita"},"notification":{"closed":"Notificació tancada."},"toolbar":{"toolbarCollapse":"Redueix la barra d'eines","toolbarExpand":"Amplia la barra d'eines","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor de barra d'eines"},"clipboard":{"copy":"Copiar","copyError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de copiar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+C).","cut":"Retallar","cutError":"La configuració de seguretat del vostre navegador no permet executar automàticament les operacions de retallar. Si us plau, utilitzeu el teclat (Ctrl/Cmd+X).","paste":"Enganxar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Àrea d'enganxat","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automàtic","bgColorTitle":"Color de Fons","colors":{"000":"Negre","800000":"Grana","8B4513":"Marró sella","2F4F4F":"Gris pissarra fosca","008080":"Blau xarxet","000080":"Blau marí","4B0082":"Indi","696969":"Gris Fosc","B22222":"Foc Maó","A52A2A":"Marró","DAA520":"Solidago","006400":"Verd Fosc","40E0D0":"Turquesa","0000CD":"Blau 1/2","800080":"Lila","808080":"Gris","F00":"Vermell","FF8C00":"Taronja Fosc","FFD700":"Or","008000":"Verd","0FF":"Cian","00F":"Blau","EE82EE":"Violat","A9A9A9":"Gris clar","FFA07A":"Salmó clar","FFA500":"Taronja","FFFF00":"Groc","00FF00":"Verd Llima","AFEEEE":"Turquesa Pàl·lid","ADD8E6":"Blau Clar","DDA0DD":"Pruna","D3D3D3":"Gris Clar","FFF0F5":"Lavanda rosat","FAEBD7":"Blanc Antic","FFFFE0":"Groc Clar","F0FFF0":"Verd Pàl·lid","F0FFFF":"Atzur","F0F8FF":"Cian pàlid","E6E6FA":"Lavanda","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Més Colors...","panelTitle":"Colors","textColorTitle":"Color del Text"},"colordialog":{"clear":"Neteja","highlight":"Destacat","options":"Opcions del color","selected":"Color Seleccionat","title":"Seleccioni el color"},"templates":{"button":"Plantilles","emptyListMsg":"(No hi ha plantilles definides)","insertOption":"Reemplaça el contingut actual","options":"Opcions de plantilla","selectPromptMsg":"Seleccioneu una plantilla per usar a l'editor<br>(per defecte s'elimina el contingut actual):","title":"Plantilles de contingut"},"contextmenu":{"options":"Opcions del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Títol de guia","cssClassInputLabel":"Classes de la fulla d'estils","edit":"Edita la Capa","inlineStyleInputLabel":"Estil en línia","langDirLTRLabel":"D'esquerra a dreta (LTR)","langDirLabel":"Direcció de l'idioma","langDirRTLLabel":"De dreta a esquerra (RTL)","languageCodeInputLabel":" Codi d'idioma","remove":"Elimina la Capa","styleSelectLabel":"Estil","title":"Crea una Capa Contenidora","toolbar":"Crea una Capa Contenidora"},"elementspath":{"eleLabel":"Ruta dels elements","eleTitle":"%1 element"},"filetools":{"loadError":"S'ha produït un error durant la lectura del fitxer.","networkError":"S'ha produït un error de xarxa durant la càrrega del fitxer.","httpError404":"S'ha produït un error HTTP durant la càrrega del fitxer (404: Fitxer no trobat).","httpError403":"S'ha produït un error HTTP durant la càrrega del fitxer (403: Permís denegat).","httpError":"S'ha produït un error HTTP durant la càrrega del fitxer (estat d'error: %1).","noUrlError":"La URL de càrrega no està definida.","responseError":"Resposta incorrecte del servidor"},"find":{"find":"Cerca","findOptions":"Opcions de Cerca","findWhat":"Cerca el:","matchCase":"Distingeix majúscules/minúscules","matchCyclic":"Coincidència cíclica","matchWord":"Només paraules completes","notFoundMsg":"El text especificat no s'ha trobat.","replace":"Reemplaça","replaceAll":"Reemplaça-ho tot","replaceSuccessMsg":"%1 ocurrència/es reemplaçada/es.","replaceWith":"Reemplaça amb:","title":"Cerca i reemplaça"},"fakeobjects":{"anchor":"Àncora","flash":"Animació Flash","hiddenfield":"Camp ocult","iframe":"IFrame","unknown":"Objecte desconegut"},"flash":{"access":"Accés a scripts","accessAlways":"Sempre","accessNever":"Mai","accessSameDomain":"El mateix domini","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Superior","bgcolor":"Color de Fons","chkFull":"Permetre la pantalla completa","chkLoop":"Bucle","chkMenu":"Habilita menú Flash","chkPlay":"Reprodució automàtica","flashvars":"Variables de Flash","hSpace":"Espaiat horitzontal","properties":"Propietats del Flash","propertiesTab":"Propietats","quality":"Qualitat","qualityAutoHigh":"Alta automàtica","qualityAutoLow":"Baixa automàtica","qualityBest":"La millor","qualityHigh":"Alta","qualityLow":"Baixa","qualityMedium":"Mitjana","scale":"Escala","scaleAll":"Mostra-ho tot","scaleFit":"Mida exacta","scaleNoBorder":"Sense vores","title":"Propietats del Flash","vSpace":"Espaiat vertical","validateHSpace":"L'espaiat horitzontal ha de ser un número.","validateSrc":"La URL no pot estar buida.","validateVSpace":"L'espaiat vertical ha de ser un número.","windowMode":"Mode de la finestra","windowModeOpaque":"Opaca","windowModeTransparent":"Transparent","windowModeWindow":"Finestra"},"font":{"fontSize":{"label":"Mida","voiceLabel":"Mida de la lletra","panelTitle":"Mida de la lletra"},"label":"Tipus de lletra","panelTitle":"Tipus de lletra","voiceLabel":"Tipus de lletra"},"forms":{"button":{"title":"Propietats del botó","text":"Text (Valor)","type":"Tipus","typeBtn":"Botó","typeSbm":"Transmet formulari","typeRst":"Reinicia formulari"},"checkboxAndRadio":{"checkboxTitle":"Propietats de la casella de verificació","radioTitle":"Propietats del botó d'opció","value":"Valor","selected":"Seleccionat","required":"Necessari"},"form":{"title":"Propietats del formulari","menu":"Propietats del formulari","action":"Acció","method":"Mètode","encoding":"Codificació"},"hidden":{"title":"Propietats del camp ocult","name":"Nom","value":"Valor"},"select":{"title":"Propietats del camp de selecció","selectInfo":"Info","opAvail":"Opcions disponibles","value":"Valor","size":"Mida","lines":"Línies","chkMulti":"Permet múltiples seleccions","required":"Necessari","opText":"Text","opValue":"Valor","btnAdd":"Afegeix","btnModify":"Modifica","btnUp":"Amunt","btnDown":"Avall","btnSetValue":"Selecciona per defecte","btnDelete":"Elimina"},"textarea":{"title":"Propietats de l'àrea de text","cols":"Columnes","rows":"Files"},"textfield":{"title":"Propietats del camp de text","name":"Nom","value":"Valor","charWidth":"Amplada","maxChars":"Nombre màxim de caràcters","required":"Necessari","type":"Tipus","typeText":"Text","typePass":"Contrasenya","typeEmail":"Correu electrònic","typeSearch":"Cercar","typeTel":"Número de telèfon","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format","tag_address":"Adreça","tag_div":"Normal (DIV)","tag_h1":"Encapçalament 1","tag_h2":"Encapçalament 2","tag_h3":"Encapçalament 3","tag_h4":"Encapçalament 4","tag_h5":"Encapçalament 5","tag_h6":"Encapçalament 6","tag_p":"Normal","tag_pre":"Formatejat"},"horizontalrule":{"toolbar":"Insereix línia horitzontal"},"iframe":{"border":"Mostra la vora del marc","noUrl":"Si us plau, introdueixi la URL de l'iframe","scrolling":"Activa les barres de desplaçament","title":"Propietats de l'IFrame","toolbar":"IFrame"},"image":{"alt":"Text alternatiu","border":"Vora","btnUpload":"Envia-la al servidor","button2Img":"Voleu transformar el botó d'imatge seleccionat en una simple imatge?","hSpace":"Espaiat horit.","img2Button":"Voleu transformar la imatge seleccionada en un botó d'imatge?","infoTab":"Informació de la imatge","linkTab":"Enllaç","lockRatio":"Bloqueja les proporcions","menu":"Propietats de la imatge","resetSize":"Restaura la mida","title":"Propietats de la imatge","titleButton":"Propietats del botó d'imatge","upload":"Puja","urlMissing":"Falta la URL de la imatge.","vSpace":"Espaiat vert.","validateBorder":"La vora ha de ser un nombre enter.","validateHSpace":"HSpace ha de ser un nombre enter.","validateVSpace":"VSpace ha de ser un nombre enter."},"indent":{"indent":"Augmenta el sagnat","outdent":"Redueix el sagnat"},"smiley":{"options":"Opcions d'emoticones","title":"Insereix una icona","toolbar":"Icona"},"language":{"button":"Definir l'idioma","remove":"Eliminar idioma"},"link":{"acccessKey":"Clau d'accés","advanced":"Avançat","advisoryContentType":"Tipus de contingut consultiu","advisoryTitle":"Títol consultiu","anchor":{"toolbar":"Insereix/Edita àncora","menu":"Propietats de l'àncora","title":"Propietats de l'àncora","name":"Nom de l'àncora","errorName":"Si us plau, escriviu el nom de l'ancora","remove":"Remove Anchor"},"anchorId":"Per Id d'element","anchorName":"Per nom d'àncora","charset":"Conjunt de caràcters font enllaçat","cssClasses":"Classes del full d'estil","download":"Force Download","displayText":"Text a mostrar","emailAddress":"Adreça de correu electrònic","emailBody":"Cos del missatge","emailSubject":"Assumpte del missatge","id":"Id","info":"Informació de l'enllaç","langCode":"Direcció de l'idioma","langDir":"Direcció de l'idioma","langDirLTR":"D'esquerra a dreta (LTR)","langDirRTL":"De dreta a esquerra (RTL)","menu":"Edita l'enllaç","name":"Nom","noAnchors":"(No hi ha àncores disponibles en aquest document)","noEmail":"Si us plau, escrigui l'adreça correu electrònic","noUrl":"Si us plau, escrigui l'enllaç URL","noTel":"Please type the phone number","other":"<altre>","phoneNumber":"Phone number","popupDependent":"Depenent (Netscape)","popupFeatures":"Característiques finestra popup","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posició esquerra","popupLocationBar":"Barra d'adreça","popupMenuBar":"Barra de menú","popupResizable":"Redimensionable","popupScrollBars":"Barres d'scroll","popupStatusBar":"Barra d'estat","popupToolbar":"Barra d'eines","popupTop":"Posició dalt","rel":"Relació","selectAnchor":"Selecciona una àncora","styles":"Estil","tabIndex":"Index de Tab","target":"Destí","targetFrame":"<marc>","targetFrameName":"Nom del marc de destí","targetPopup":"<finestra emergent>","targetPopupName":"Nom finestra popup","title":"Enllaç","toAnchor":"Àncora en aquesta pàgina","toEmail":"Correu electrònic","toUrl":"URL","toPhone":"Phone","toolbar":"Insereix/Edita enllaç","type":"Tipus d'enllaç","unlink":"Elimina l'enllaç","upload":"Puja"},"list":{"bulletedlist":"Llista de pics","numberedlist":"Llista numerada"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insereix el paràgraf aquí"},"maximize":{"maximize":"Maximitza","minimize":"Minimitza"},"newpage":{"toolbar":"Nova pàgina"},"pagebreak":{"alt":"Salt de pàgina","toolbar":"Insereix salt de pàgina"},"pastetext":{"button":"Enganxa com a text no formatat","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Enganxa com a text no formatat"},"pastefromword":{"confirmCleanup":"El text que voleu enganxar sembla provenir de Word. Voleu netejar aquest text abans que sigui enganxat?","error":"No ha estat possible netejar les dades enganxades degut a un error intern","title":"Enganxa des del Word","toolbar":"Enganxa des del Word"},"preview":{"preview":"Visualització prèvia"},"print":{"toolbar":"Imprimeix"},"removeformat":{"toolbar":"Elimina Format"},"save":{"toolbar":"Desa"},"selectall":{"toolbar":"Selecciona-ho tot"},"showblocks":{"toolbar":"Mostra els blocs"},"sourcearea":{"toolbar":"Codi font"},"specialchar":{"options":"Opcions de caràcters especials","title":"Selecciona el caràcter especial","toolbar":"Insereix caràcter especial"},"scayt":{"btn_about":"Quant a l'SCAYT","btn_dictionaries":"Diccionaris","btn_disable":"Deshabilita SCAYT","btn_enable":"Habilitat l'SCAYT","btn_langs":"Idiomes","btn_options":"Opcions","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estil","panelTitle":"Estils de format","panelTitle1":"Estils de bloc","panelTitle2":"Estils incrustats","panelTitle3":"Estils d'objecte"},"table":{"border":"Mida vora","caption":"Títol","cell":{"menu":"Cel·la","insertBefore":"Insereix abans","insertAfter":"Insereix després","deleteCell":"Suprimeix","merge":"Fusiona","mergeRight":"Fusiona a la dreta","mergeDown":"Fusiona avall","splitHorizontal":"Divideix horitzontalment","splitVertical":"Divideix verticalment","title":"Propietats de la cel·la","cellType":"Tipus de cel·la","rowSpan":"Expansió de files","colSpan":"Expansió de columnes","wordWrap":"Ajustar al contingut","hAlign":"Alineació Horizontal","vAlign":"Alineació Vertical","alignBaseline":"A la línia base","bgColor":"Color de fons","borderColor":"Color de la vora","data":"Dades","header":"Capçalera","yes":"Sí","no":"No","invalidWidth":"L'amplada de cel·la ha de ser un nombre.","invalidHeight":"L'alçada de cel·la ha de ser un nombre.","invalidRowSpan":"L'expansió de files ha de ser un nombre enter.","invalidColSpan":"L'expansió de columnes ha de ser un nombre enter.","chooseColor":"Trieu"},"cellPad":"Encoixinament de cel·les","cellSpace":"Espaiat de cel·les","column":{"menu":"Columna","insertBefore":"Insereix columna abans de","insertAfter":"Insereix columna darrera","deleteColumn":"Suprimeix una columna"},"columns":"Columnes","deleteTable":"Suprimeix la taula","headers":"Capçaleres","headersBoth":"Ambdues","headersColumn":"Primera columna","headersNone":"Cap","headersRow":"Primera fila","invalidBorder":"El gruix de la vora ha de ser un nombre.","invalidCellPadding":"L'encoixinament de cel·la ha de ser un nombre.","invalidCellSpacing":"L'espaiat de cel·la ha de ser un nombre.","invalidCols":"El nombre de columnes ha de ser un nombre major que 0.","invalidHeight":"L'alçada de la taula ha de ser un nombre.","invalidRows":"El nombre de files ha de ser un nombre major que 0.","invalidWidth":"L'amplada de la taula ha de ser un nombre.","menu":"Propietats de la taula","row":{"menu":"Fila","insertBefore":"Insereix fila abans de","insertAfter":"Insereix fila darrera","deleteRow":"Suprimeix una fila"},"rows":"Files","summary":"Resum","title":"Propietats de la taula","toolbar":"Taula","widthPc":"percentatge","widthPx":"píxels","widthUnit":"unitat d'amplada"},"undo":{"redo":"Refés","undo":"Desfés"},"widget":{"move":"Clicar i arrossegar per moure","label":"%1 widget"},"uploadwidget":{"abort":"Pujada cancel·lada per l'usuari.","doneOne":"Fitxer pujat correctament.","doneMany":"%1 fitxers pujats correctament.","uploadOne":"Pujant fitxer ({percentage}%)...","uploadMany":"Pujant fitxers, {current} de {max} finalitzats ({percentage}%)..."},"wsc":{"btnIgnore":"Ignora","btnIgnoreAll":"Ignora-les totes","btnReplace":"Canvia","btnReplaceAll":"Canvia-les totes","btnUndo":"Desfés","changeTo":"Reemplaça amb","errorLoading":"Error carregant el servidor: %s.","ieSpellDownload":"Verificació ortogràfica no instal·lada. Voleu descarregar-ho ara?","manyChanges":"Verificació ortogràfica: s'han canviat %1 paraules","noChanges":"Verificació ortogràfica: no s'ha canviat cap paraula","noMispell":"Verificació ortogràfica acabada: no hi ha cap paraula mal escrita","noSuggestions":"Cap suggeriment","notAvailable":"El servei no es troba disponible ara.","notInDic":"No és al diccionari","oneChange":"Verificació ortogràfica: s'ha canviat una paraula","progress":"Verificació ortogràfica en curs...","title":"Comprova l'ortografia","toolbar":"Revisa l'ortografia"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/cs.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['cs']={"editor":"Textový editor","editorPanel":"Panel textového editoru","common":{"editorHelp":"Stiskněte ALT 0 pro nápovědu","browseServer":"Vybrat na serveru","url":"URL","protocol":"Protokol","upload":"Odeslat","uploadSubmit":"Odeslat na server","image":"Obrázek","flash":"Flash","form":"Formulář","checkbox":"Zaškrtávací políčko","radio":"Přepínač","textField":"Textové pole","textarea":"Textová oblast","hiddenField":"Skryté pole","button":"Tlačítko","select":"Seznam","imageButton":"Obrázkové tlačítko","notSet":"<nenastaveno>","id":"Id","name":"Jméno","langDir":"Směr jazyka","langDirLtr":"Zleva doprava (LTR)","langDirRtl":"Zprava doleva (RTL)","langCode":"Kód jazyka","longDescr":"Dlouhý popis URL","cssClass":"Třída stylu","advisoryTitle":"Pomocný titulek","cssStyle":"Styl","ok":"OK","cancel":"Zrušit","close":"Zavřít","preview":"Náhled","resize":"Uchopit pro změnu velikosti","generalTab":"Obecné","advancedTab":"Rozšířené","validateNumberFailed":"Zadaná hodnota není číselná.","confirmNewPage":"Jakékoliv neuložené změny obsahu budou ztraceny. Skutečně chcete otevřít novou stránku?","confirmCancel":"Některá z nastavení byla změněna. Skutečně chcete zavřít dialogové okno?","options":"Nastavení","target":"Cíl","targetNew":"Nové okno (_blank)","targetTop":"Okno nejvyšší úrovně (_top)","targetSelf":"Stejné okno (_self)","targetParent":"Rodičovské okno (_parent)","langDirLTR":"Zleva doprava (LTR)","langDirRTL":"Zprava doleva (RTL)","styles":"Styly","cssClasses":"Třídy stylů","width":"Šířka","height":"Výška","align":"Zarovnání","left":"Vlevo","right":"Vpravo","center":"Na střed","justify":"Zarovnat do bloku","alignLeft":"Zarovnat vlevo","alignRight":"Zarovnat vpravo","alignCenter":"Zarovnat na střed","alignTop":"Nahoru","alignMiddle":"Na střed","alignBottom":"Dolů","alignNone":"Žádné","invalidValue":"Neplatná hodnota.","invalidHeight":"Zadaná výška musí být číslo.","invalidWidth":"Šířka musí být číslo.","invalidLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry (%2).","invalidCssLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry CSS (px, %, in, cm, mm, em, ex, pt, nebo pc).","invalidHtmlLength":"Hodnota určená pro pole \"%1\" musí být kladné číslo bez nebo s platnou jednotkou míry HTML (px nebo %).","invalidInlineStyle":"Hodnota určená pro řádkový styl se musí skládat z jedné nebo více n-tic ve formátu \"název : hodnota\", oddělené středníky","cssLengthTooltip":"Zadejte číslo jako hodnotu v pixelech nebo číslo s platnou jednotkou CSS (px, %, v cm, mm, em, ex, pt, nebo pc).","unavailable":"%1<span class=\"cke_accessibility\">, nedostupné</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Mezerník","35":"Konec","36":"Domů","46":"Smazat","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Klávesová zkratka","optionDefault":"Výchozí"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"O aplikaci CKEditor 4","moreInfo":"Pro informace o lincenci navštivte naši webovou stránku:"},"basicstyles":{"bold":"Tučné","italic":"Kurzíva","strike":"Přeškrtnuté","subscript":"Dolní index","superscript":"Horní index","underline":"Podtržené"},"bidi":{"ltr":"Směr textu zleva doprava","rtl":"Směr textu zprava doleva"},"blockquote":{"toolbar":"Citace"},"notification":{"closed":"Oznámení zavřeno."},"toolbar":{"toolbarCollapse":"Skrýt panel nástrojů","toolbarExpand":"Zobrazit panel nástrojů","toolbarGroups":{"document":"Dokument","clipboard":"Schránka/Zpět","editing":"Úpravy","forms":"Formuláře","basicstyles":"Základní styly","paragraph":"Odstavec","links":"Odkazy","insert":"Vložit","styles":"Styly","colors":"Barvy","tools":"Nástroje"},"toolbars":"Panely nástrojů editoru"},"clipboard":{"copy":"Kopírovat","copyError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro kopírování zvoleného textu do schránky. Prosím zkopírujte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+C).","cut":"Vyjmout","cutError":"Bezpečnostní nastavení vašeho prohlížeče nedovolují editoru spustit funkci pro vyjmutí zvoleného textu do schránky. Prosím vyjměte zvolený text do schránky pomocí klávesnice (Ctrl/Cmd+X).","paste":"Vložit","pasteNotification":"Stiskněte %1 pro vložení. Váš prohlížeč nepodporuje vkládání pomocí tlačítka na panelu nástrojů nebo volby kontextového menu.","pasteArea":"Oblast vkládání","pasteMsg":"Vložte svůj obsah do oblasti níže a stiskněte OK."},"colorbutton":{"auto":"Automaticky","bgColorTitle":"Barva pozadí","colors":{"000":"Černá","800000":"Kaštanová","8B4513":"Sedlová hněď","2F4F4F":"Tmavě bledě šedá","008080":"Čírka","000080":"Námořnická modř","4B0082":"Inkoustová","696969":"Tmavě šedá","B22222":"Pálená cihla","A52A2A":"Hnědá","DAA520":"Zlatý prut","006400":"Tmavě zelená","40E0D0":"Tyrkisová","0000CD":"Středně modrá","800080":"Purpurová","808080":"Šedá","F00":"Červená","FF8C00":"Tmavě oranžová","FFD700":"Zlatá","008000":"Zelená","0FF":"Azurová","00F":"Modrá","EE82EE":"Fialová","A9A9A9":"Kalně šedá","FFA07A":"Světle lososová","FFA500":"Oranžová","FFFF00":"Žlutá","00FF00":"Limetková","AFEEEE":"Bledě tyrkisová","ADD8E6":"Světle modrá","DDA0DD":"Švestková","D3D3D3":"Světle šedá","FFF0F5":"Levandulově ruměnná","FAEBD7":"Antická bílá","FFFFE0":"Světle žlutá","F0FFF0":"Medová rosa","F0FFFF":"Azurová","F0F8FF":"Alenčina modrá","E6E6FA":"Levandulová","FFF":"Bílá","1ABC9C":"Silná azurová","2ECC71":"Emeraldová","3498DB":"Jasně modrá","9B59B6":"Ametystová","4E5F70":"Šedomodrá","F1C40F":"Sytá žlutá","16A085":"Tmavě azurová","27AE60":"Tmavě emeraldová","2980B9":"Silná modrá","8E44AD":"Tmavě fialová","2C3E50":"Odsycená modrá","F39C12":"Oranžová","E67E22":"Mrkvová","E74C3C":"Bledě červená","ECF0F1":"Světle stříbrná","95A5A6":"Světlě šedoazurová","DDD":"Světle šedá","D35400":"Dýňová","C0392B":"Silná červená","BDC3C7":"Stříbrná","7F8C8D":"Šedoazurová","999":"Tmavošedá"},"more":"Více barev...","panelTitle":"Barvy","textColorTitle":"Barva textu"},"colordialog":{"clear":"Vyčistit","highlight":"Zvýraznit","options":"Nastavení barvy","selected":"Vybráno","title":"Výběr barvy"},"templates":{"button":"Šablony","emptyListMsg":"(Není definována žádná šablona)","insertOption":"Nahradit aktuální obsah","options":"Nastavení šablon","selectPromptMsg":"Prosím zvolte šablonu pro otevření v editoru<br>(aktuální obsah editoru bude ztracen):","title":"Šablony obsahu"},"contextmenu":{"options":"Nastavení kontextové nabídky"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Nápovědní titulek","cssClassInputLabel":"Třídy stylů","edit":"Změnit Div","inlineStyleInputLabel":"Vnitřní styly","langDirLTRLabel":"Zleva doprava (LTR)","langDirLabel":"Směr jazyka","langDirRTLLabel":"Zprava doleva (RTL)","languageCodeInputLabel":" Kód jazyka","remove":"Odstranit Div","styleSelectLabel":"Styly","title":"Vytvořit Div kontejner","toolbar":"Vytvořit Div kontejner"},"elementspath":{"eleLabel":"Cesta objektu","eleTitle":"%1 objekt"},"filetools":{"loadError":"Při čtení souboru došlo k chybě.","networkError":"Při nahrávání souboru došlo k chybě v síti.","httpError404":"Při nahrávání souboru došlo k chybě HTTP (404: Soubor nenalezen).","httpError403":"Při nahrávání souboru došlo k chybě HTTP (403: Zakázáno).","httpError":"Při nahrávání souboru došlo k chybě HTTP (chybový stav: %1).","noUrlError":"URL pro nahrání není zadána.","responseError":"Nesprávná odpověď serveru."},"find":{"find":"Hledat","findOptions":"Možnosti hledání","findWhat":"Co hledat:","matchCase":"Rozlišovat velikost písma","matchCyclic":"Procházet opakovaně","matchWord":"Pouze celá slova","notFoundMsg":"Hledaný text nebyl nalezen.","replace":"Nahradit","replaceAll":"Nahradit vše","replaceSuccessMsg":"%1 nahrazení.","replaceWith":"Čím nahradit:","title":"Najít a nahradit"},"fakeobjects":{"anchor":"Záložka","flash":"Flash animace","hiddenfield":"Skryté pole","iframe":"IFrame","unknown":"Neznámý objekt"},"flash":{"access":"Přístup ke skriptu","accessAlways":"Vždy","accessNever":"Nikdy","accessSameDomain":"Ve stejné doméně","alignAbsBottom":"Zcela dolů","alignAbsMiddle":"Doprostřed","alignBaseline":"Na účaří","alignTextTop":"Na horní okraj textu","bgcolor":"Barva pozadí","chkFull":"Povolit celoobrazovkový režim","chkLoop":"Opakování","chkMenu":"Nabídka Flash","chkPlay":"Automatické spuštění","flashvars":"Proměnné pro Flash","hSpace":"Horizontální mezera","properties":"Vlastnosti Flashe","propertiesTab":"Vlastnosti","quality":"Kvalita","qualityAutoHigh":"Vysoká - auto","qualityAutoLow":"Nízká - auto","qualityBest":"Nejlepší","qualityHigh":"Vysoká","qualityLow":"Nejnižší","qualityMedium":"Střední","scale":"Zobrazit","scaleAll":"Zobrazit vše","scaleFit":"Přizpůsobit","scaleNoBorder":"Bez okraje","title":"Vlastnosti Flashe","vSpace":"Vertikální mezera","validateHSpace":"Zadaná horizontální mezera musí být číslo.","validateSrc":"Zadejte prosím URL odkazu","validateVSpace":"Zadaná vertikální mezera musí být číslo.","windowMode":"Režim okna","windowModeOpaque":"Neprůhledné","windowModeTransparent":"Průhledné","windowModeWindow":"Okno"},"font":{"fontSize":{"label":"Velikost","voiceLabel":"Velikost písma","panelTitle":"Velikost"},"label":"Písmo","panelTitle":"Písmo","voiceLabel":"Písmo"},"forms":{"button":{"title":"Vlastnosti tlačítka","text":"Popisek","type":"Typ","typeBtn":"Tlačítko","typeSbm":"Odeslat","typeRst":"Obnovit"},"checkboxAndRadio":{"checkboxTitle":"Vlastnosti zaškrtávacího políčka","radioTitle":"Vlastnosti přepínače","value":"Hodnota","selected":"Zaškrtnuto","required":"Vyžadováno"},"form":{"title":"Vlastnosti formuláře","menu":"Vlastnosti formuláře","action":"Akce","method":"Metoda","encoding":"Kódování"},"hidden":{"title":"Vlastnosti skrytého pole","name":"Název","value":"Hodnota"},"select":{"title":"Vlastnosti seznamu","selectInfo":"Info","opAvail":"Dostupná nastavení","value":"Hodnota","size":"Velikost","lines":"Řádků","chkMulti":"Povolit mnohonásobné výběry","required":"Vyžadováno","opText":"Text","opValue":"Hodnota","btnAdd":"Přidat","btnModify":"Změnit","btnUp":"Nahoru","btnDown":"Dolů","btnSetValue":"Nastavit jako vybranou hodnotu","btnDelete":"Smazat"},"textarea":{"title":"Vlastnosti textové oblasti","cols":"Sloupců","rows":"Řádků"},"textfield":{"title":"Vlastnosti textového pole","name":"Název","value":"Hodnota","charWidth":"Šířka ve znacích","maxChars":"Maximální počet znaků","required":"Vyžadováno","type":"Typ","typeText":"Text","typePass":"Heslo","typeEmail":"Email","typeSearch":"Hledat","typeTel":"Telefonní číslo","typeUrl":"URL"}},"format":{"label":"Formát","panelTitle":"Formát","tag_address":"Adresa","tag_div":"Normální (DIV)","tag_h1":"Nadpis 1","tag_h2":"Nadpis 2","tag_h3":"Nadpis 3","tag_h4":"Nadpis 4","tag_h5":"Nadpis 5","tag_h6":"Nadpis 6","tag_p":"Normální","tag_pre":"Naformátováno"},"horizontalrule":{"toolbar":"Vložit vodorovnou linku"},"iframe":{"border":"Zobrazit okraj","noUrl":"Zadejte prosím URL obsahu pro IFrame","scrolling":"Zapnout posuvníky","title":"Vlastnosti IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativní text","border":"Okraje","btnUpload":"Odeslat na server","button2Img":"Skutečně chcete převést zvolené obrázkové tlačítko na obyčejný obrázek?","hSpace":"Horizontální mezera","img2Button":"Skutečně chcete převést zvolený obrázek na obrázkové tlačítko?","infoTab":"Informace o obrázku","linkTab":"Odkaz","lockRatio":"Zámek","menu":"Vlastnosti obrázku","resetSize":"Původní velikost","title":"Vlastnosti obrázku","titleButton":"Vlastností obrázkového tlačítka","upload":"Odeslat","urlMissing":"Zadané URL zdroje obrázku nebylo nalezeno.","vSpace":"Vertikální mezera","validateBorder":"Okraj musí být nastaven v celých číslech.","validateHSpace":"Horizontální mezera musí být nastavena v celých číslech.","validateVSpace":"Vertikální mezera musí být nastavena v celých číslech."},"indent":{"indent":"Zvětšit odsazení","outdent":"Zmenšit odsazení"},"smiley":{"options":"Nastavení smajlíků","title":"Vkládání smajlíků","toolbar":"Smajlíci"},"language":{"button":"Nastavit jazyk","remove":"Odstranit jazyk"},"link":{"acccessKey":"Přístupový klíč","advanced":"Rozšířené","advisoryContentType":"Pomocný typ obsahu","advisoryTitle":"Pomocný titulek","anchor":{"toolbar":"Záložka","menu":"Vlastnosti záložky","title":"Vlastnosti záložky","name":"Název záložky","errorName":"Zadejte prosím název záložky","remove":"Odstranit záložku"},"anchorId":"Podle Id objektu","anchorName":"Podle jména kotvy","charset":"Přiřazená znaková sada","cssClasses":"Třída stylu","download":"Vynutit stažení","displayText":"Zobrazit text","emailAddress":"E-mailová adresa","emailBody":"Tělo zprávy","emailSubject":"Předmět zprávy","id":"Id","info":"Informace o odkazu","langCode":"Kód jazyka","langDir":"Směr jazyka","langDirLTR":"Zleva doprava (LTR)","langDirRTL":"Zprava doleva (RTL)","menu":"Změnit odkaz","name":"Jméno","noAnchors":"(Ve stránce není definována žádná kotva!)","noEmail":"Zadejte prosím e-mailovou adresu","noUrl":"Zadejte prosím URL odkazu","noTel":"Vyplňte prosím telefonní číslo","other":"<jiný>","phoneNumber":"Telefonní číslo","popupDependent":"Závislost (Netscape)","popupFeatures":"Vlastnosti vyskakovacího okna","popupFullScreen":"Celá obrazovka (IE)","popupLeft":"Levý okraj","popupLocationBar":"Panel umístění","popupMenuBar":"Panel nabídky","popupResizable":"Umožňující měnit velikost","popupScrollBars":"Posuvníky","popupStatusBar":"Stavový řádek","popupToolbar":"Panel nástrojů","popupTop":"Horní okraj","rel":"Vztah","selectAnchor":"Vybrat kotvu","styles":"Styl","tabIndex":"Pořadí prvku","target":"Cíl","targetFrame":"<rámec>","targetFrameName":"Název cílového rámu","targetPopup":"<vyskakovací okno>","targetPopupName":"Název vyskakovacího okna","title":"Odkaz","toAnchor":"Kotva v této stránce","toEmail":"E-mail","toUrl":"URL","toPhone":"Telefon","toolbar":"Odkaz","type":"Typ odkazu","unlink":"Odstranit odkaz","upload":"Odeslat"},"list":{"bulletedlist":"Odrážky","numberedlist":"Číslování"},"liststyle":{"bulletedTitle":"Vlastnosti odrážek","circle":"Kroužky","decimal":"Arabská čísla (1, 2, 3, atd.)","disc":"Kolečka","lowerAlpha":"Malá latinka (a, b, c, d, e, atd.)","lowerRoman":"Malé římské (i, ii, iii, iv, v, atd.)","none":"Nic","notset":"<nenastaveno>","numberedTitle":"Vlastnosti číslování","square":"Čtverce","start":"Počátek","type":"Typ","upperAlpha":"Velká latinka (A, B, C, D, E, atd.)","upperRoman":"Velké římské (I, II, III, IV, V, atd.)","validateStartNumber":"Číslování musí začínat celým číslem."},"magicline":{"title":"zde vložit odstavec"},"maximize":{"maximize":"Maximalizovat","minimize":"Minimalizovat"},"newpage":{"toolbar":"Nová stránka"},"pagebreak":{"alt":"Konec stránky","toolbar":"Vložit konec stránky"},"pastetext":{"button":"Vložit jako čistý text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Vložit jako čistý text"},"pastefromword":{"confirmCleanup":"Jak je vidět, vkládaný text je kopírován z Wordu. Chcete jej před vložením vyčistit?","error":"Z důvodu vnitřní chyby nebylo možné provést vyčištění vkládaného textu.","title":"Vložit z Wordu","toolbar":"Vložit z Wordu"},"preview":{"preview":"Náhled"},"print":{"toolbar":"Tisk"},"removeformat":{"toolbar":"Odstranit formátování"},"save":{"toolbar":"Uložit"},"selectall":{"toolbar":"Vybrat vše"},"showblocks":{"toolbar":"Ukázat bloky"},"sourcearea":{"toolbar":"Zdroj"},"specialchar":{"options":"Nastavení speciálních znaků","title":"Výběr speciálního znaku","toolbar":"Vložit speciální znaky"},"scayt":{"btn_about":"O aplikaci SCAYT","btn_dictionaries":"Slovníky","btn_disable":"Vypnout SCAYT","btn_enable":"Zapnout SCAYT","btn_langs":"Jazyky","btn_options":"Nastavení","text_title":"Kontrola pravopisu během psaní (SCAYT)"},"stylescombo":{"label":"Styl","panelTitle":"Formátovací styly","panelTitle1":"Blokové styly","panelTitle2":"Řádkové styly","panelTitle3":"Objektové styly"},"table":{"border":"Ohraničení","caption":"Popis","cell":{"menu":"Buňka","insertBefore":"Vložit buňku před","insertAfter":"Vložit buňku za","deleteCell":"Smazat buňky","merge":"Sloučit buňky","mergeRight":"Sloučit doprava","mergeDown":"Sloučit dolů","splitHorizontal":"Rozdělit buňky vodorovně","splitVertical":"Rozdělit buňky svisle","title":"Vlastnosti buňky","cellType":"Typ buňky","rowSpan":"Spojit řádky","colSpan":"Spojit sloupce","wordWrap":"Zalamování","hAlign":"Vodorovné zarovnání","vAlign":"Svislé zarovnání","alignBaseline":"Na účaří","bgColor":"Barva pozadí","borderColor":"Barva okraje","data":"Data","header":"Hlavička","yes":"Ano","no":"Ne","invalidWidth":"Šířka buňky musí být číslo.","invalidHeight":"Zadaná výška buňky musí být číslená.","invalidRowSpan":"Zadaný počet sloučených řádků musí být celé číslo.","invalidColSpan":"Zadaný počet sloučených sloupců musí být celé číslo.","chooseColor":"Výběr"},"cellPad":"Odsazení obsahu v buňce","cellSpace":"Vzdálenost buněk","column":{"menu":"Sloupec","insertBefore":"Vložit sloupec před","insertAfter":"Vložit sloupec za","deleteColumn":"Smazat sloupec"},"columns":"Sloupce","deleteTable":"Smazat tabulku","headers":"Záhlaví","headersBoth":"Obojí","headersColumn":"První sloupec","headersNone":"Žádné","headersRow":"První řádek","invalidBorder":"Zdaná velikost okraje musí být číselná.","invalidCellPadding":"Zadané odsazení obsahu v buňce musí být číselné.","invalidCellSpacing":"Zadaná vzdálenost buněk musí být číselná.","invalidCols":"Počet sloupců musí být číslo větší než 0.","invalidHeight":"Zadaná výška tabulky musí být číselná.","invalidRows":"Počet řádků musí být číslo větší než 0.","invalidWidth":"Šířka tabulky musí být číslo.","menu":"Vlastnosti tabulky","row":{"menu":"Řádek","insertBefore":"Vložit řádek před","insertAfter":"Vložit řádek za","deleteRow":"Smazat řádky"},"rows":"Řádky","summary":"Souhrn","title":"Vlastnosti tabulky","toolbar":"Tabulka","widthPc":"procent","widthPx":"bodů","widthUnit":"jednotka šířky"},"undo":{"redo":"Znovu","undo":"Zpět"},"widget":{"move":"Klepněte a táhněte pro přesunutí","label":"Ovládací prvek %1"},"uploadwidget":{"abort":"Nahrávání zrušeno uživatelem.","doneOne":"Soubor úspěšně nahrán.","doneMany":"Úspěšně nahráno %1 souborů.","uploadOne":"Nahrávání souboru ({percentage}%)...","uploadMany":"Nahrávání souborů, {current} z {max} hotovo ({percentage}%)..."},"wsc":{"btnIgnore":"Přeskočit","btnIgnoreAll":"Přeskakovat vše","btnReplace":"Zaměnit","btnReplaceAll":"Zaměňovat vše","btnUndo":"Zpět","changeTo":"Změnit na","errorLoading":"Chyba nahrávání služby aplikace z: %s.","ieSpellDownload":"Kontrola pravopisu není nainstalována. Chcete ji nyní stáhnout?","manyChanges":"Kontrola pravopisu dokončena: %1 slov změněno","noChanges":"Kontrola pravopisu dokončena: Beze změn","noMispell":"Kontrola pravopisu dokončena: Žádné pravopisné chyby nenalezeny","noSuggestions":"- žádné návrhy -","notAvailable":"Omlouváme se, ale služba nyní není dostupná.","notInDic":"Není ve slovníku","oneChange":"Kontrola pravopisu dokončena: Jedno slovo změněno","progress":"Probíhá kontrola pravopisu...","title":"Kontrola pravopisu","toolbar":"Zkontrolovat pravopis"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/cy.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['cy']={"editor":"Golygydd Testun Cyfoethog","editorPanel":"Panel Golygydd Testun Cyfoethog","common":{"editorHelp":"Gwasgwch ALT 0 am gymorth","browseServer":"Pori'r Gweinydd","url":"URL","protocol":"Protocol","upload":"Lanlwytho","uploadSubmit":"Anfon i'r Gweinydd","image":"Delwedd","flash":"Flash","form":"Ffurflen","checkbox":"Blwch ticio","radio":"Botwm Radio","textField":"Maes Testun","textarea":"Ardal Testun","hiddenField":"Maes Cudd","button":"Botwm","select":"Maes Dewis","imageButton":"Botwm Delwedd","notSet":"<heb osod>","id":"Id","name":"Name","langDir":"Cyfeiriad Iaith","langDirLtr":"Chwith i'r Dde (LTR)","langDirRtl":"Dde i'r Chwith (RTL)","langCode":"Cod Iaith","longDescr":"URL Disgrifiad Hir","cssClass":"Dosbarthiadau Dalen Arddull","advisoryTitle":"Teitl Cynghorol","cssStyle":"Arddull","ok":"Iawn","cancel":"Diddymu","close":"Cau","preview":"Rhagolwg","resize":"Ailfeintio","generalTab":"Cyffredinol","advancedTab":"Uwch","validateNumberFailed":"'Dyw'r gwerth hwn ddim yn rhif.","confirmNewPage":"Byddwch chi'n colli unrhyw newidiadau i'r cynnwys sydd heb eu cadw. Ydych am barhau i lwytho tudalen newydd?","confirmCancel":"Cafodd rhai o'r opsiynau eu newid. Ydych chi wir am gau'r deialog?","options":"Opsiynau","target":"Targed","targetNew":"Ffenest Newydd (_blank)","targetTop":"Ffenest ar y Brig (_top)","targetSelf":"Yr un Ffenest (_self)","targetParent":"Ffenest y Rhiant (_parent)","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","styles":"Arddull","cssClasses":"Dosbarthiadau Dalen Arddull","width":"Lled","height":"Uchder","align":"Alinio","left":"Chwith","right":"Dde","center":"Canol","justify":"Unioni","alignLeft":"Alinio i'r Chwith","alignRight":"Alinio i'r Dde","alignCenter":"Align Center","alignTop":"Brig","alignMiddle":"Canol","alignBottom":"Gwaelod","alignNone":"None","invalidValue":"Gwerth annilys.","invalidHeight":"Mae'n rhaid i'r uchder fod yn rhif.","invalidWidth":"Mae'n rhaid i'r lled fod yn rhif.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad CSS dilys (px, %, in, cm, mm, em, ex, pt, neu pc).","invalidHtmlLength":"Mae'n rhaid i'r gwerth ar gyfer maes \"%1\" fod yn rhif positif gyda neu heb uned fesuriad HTML dilys (px neu %).","invalidInlineStyle":"Mae'n rhaid i'r gwerth ar gyfer arddull mewn-llinell gynnwys un set neu fwy ar y fformat \"enw : gwerth\", wedi'u gwahanu gyda hanner colon.","cssLengthTooltip":"Rhowch rif am werth mewn picsel neu rhif gydag uned CSS dilys (px, %, in, cm, mm, em, pt neu pc).","unavailable":"%1<span class=\"cke_accessibility\">, ddim ar gael</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Hawlfraint © $1. Cedwir pob hawl.","dlgTitle":"About CKEditor 4","moreInfo":"Am wybodaeth ynghylch trwyddedau, ewch i'n gwefan:"},"basicstyles":{"bold":"Bras","italic":"Italig","strike":"Llinell Trwyddo","subscript":"Is-sgript","superscript":"Uwchsgript","underline":"Tanlinellu"},"bidi":{"ltr":"Cyfeiriad testun o'r chwith i'r dde","rtl":"Cyfeiriad testun o'r dde i'r chwith"},"blockquote":{"toolbar":"Dyfyniad bloc"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Cyfangu'r Bar Offer","toolbarExpand":"Ehangu'r Bar Offer","toolbarGroups":{"document":"Dogfen","clipboard":"Clipfwrdd/Dadwneud","editing":"Golygu","forms":"Ffurflenni","basicstyles":"Arddulliau Sylfaenol","paragraph":"Paragraff","links":"Dolenni","insert":"Mewnosod","styles":"Arddulliau","colors":"Lliwiau","tools":"Offer"},"toolbars":"Bariau offer y golygydd"},"clipboard":{"copy":"Copïo","copyError":"'Dyw gosodiadau diogelwch eich porwr ddim yn caniatàu'r golygydd i gynnal 'gweithredoedd copïo' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+C).","cut":"Torri","cutError":"Nid yw gosodiadau diogelwch eich porwr yn caniatàu'r golygydd i gynnal 'gweithredoedd torri' yn awtomatig. Defnyddiwch y bysellfwrdd (Ctrl/Cmd+X).","paste":"Gludo","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Ardal Gludo","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Awtomatig","bgColorTitle":"Lliw Cefndir","colors":{"000":"Du","800000":"Marwn","8B4513":"Brown Cyfrwy","2F4F4F":"Llechen Tywyll","008080":"Corhwyad","000080":"Nefi","4B0082":"Indigo","696969":"Llwyd Tywyll","B22222":"Bric Tân","A52A2A":"Brown","DAA520":"Rhoden Aur","006400":"Gwyrdd Tywyll","40E0D0":"Gwyrddlas","0000CD":"Glas Canolig","800080":"Porffor","808080":"Llwyd","F00":"Coch","FF8C00":"Oren Tywyll","FFD700":"Aur","008000":"Gwyrdd","0FF":"Cyan","00F":"Glas","EE82EE":"Fioled","A9A9A9":"Llwyd Pwl","FFA07A":"Samwn Golau","FFA500":"Oren","FFFF00":"Melyn","00FF00":"Leim","AFEEEE":"Gwyrddlas Golau","ADD8E6":"Glas Golau","DDA0DD":"Eirinen","D3D3D3":"Llwyd Golau","FFF0F5":"Gwrid Lafant","FAEBD7":"Gwyn Hynafol","FFFFE0":"Melyn Golau","F0FFF0":"Melwn Gwyrdd Golau","F0FFFF":"Aswr","F0F8FF":"Glas Alys","E6E6FA":"Lafant","FFF":"Gwyn","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Mwy o Liwiau...","panelTitle":"Lliwiau","textColorTitle":"Lliw Testun"},"colordialog":{"clear":"Clirio","highlight":"Uwcholeuo","options":"Opsiynau Lliw","selected":"Lliw a Ddewiswyd","title":"Dewis lliw"},"templates":{"button":"Templedi","emptyListMsg":"(Dim templedi wedi'u diffinio)","insertOption":"Amnewid y cynnwys go iawn","options":"Opsiynau Templedi","selectPromptMsg":"Dewiswch dempled i'w agor yn y golygydd","title":"Templedi Cynnwys"},"contextmenu":{"options":"Opsiynau Dewislen Cyd-destun"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Teitl Cynghorol","cssClassInputLabel":"Dosbarthiadau Ffeil Arddull","edit":"Golygu Div","inlineStyleInputLabel":"Arddull Mewn Llinell","langDirLTRLabel":"Chwith i'r Dde (LTR)","langDirLabel":"Cyfeiriad yr Iaith","langDirRTLLabel":"Dde i'r Chwith (RTL)","languageCodeInputLabel":" Cod Iaith","remove":"Tynnu Div","styleSelectLabel":"Arddull","title":"Creu Cynhwysydd Div","toolbar":"Creu Cynhwysydd Div"},"elementspath":{"eleLabel":"Llwybr elfennau","eleTitle":"Elfen %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Chwilio","findOptions":"Opsiynau Chwilio","findWhat":"Chwilio'r term:","matchCase":"Cydweddu'r cas","matchCyclic":"Cydweddu'n gylchol","matchWord":"Cydweddu gair cyfan","notFoundMsg":"Nid oedd y testun wedi'i ddarganfod.","replace":"Amnewid Un","replaceAll":"Amnewid Pob","replaceSuccessMsg":"Amnewidiwyd %1 achlysur.","replaceWith":"Amnewid gyda:","title":"Chwilio ac Amnewid"},"fakeobjects":{"anchor":"Angor","flash":"Animeiddiant Flash","hiddenfield":"Maes Cudd","iframe":"IFrame","unknown":"Gwrthrych Anhysbys"},"flash":{"access":"Mynediad Sgript","accessAlways":"Pob amser","accessNever":"Byth","accessSameDomain":"R'un parth","alignAbsBottom":"Gwaelod Abs","alignAbsMiddle":"Canol Abs","alignBaseline":"Baslinell","alignTextTop":"Testun Top","bgcolor":"Lliw cefndir","chkFull":"Caniatàu Sgrin Llawn","chkLoop":"Lwpio","chkMenu":"Galluogi Dewislen Flash","chkPlay":"AwtoChwarae","flashvars":"Newidynnau ar gyfer Flash","hSpace":"BwlchLl","properties":"Priodweddau Flash","propertiesTab":"Priodweddau","quality":"Ansawdd","qualityAutoHigh":"Uchel Awto","qualityAutoLow":"Isel Awto","qualityBest":"Gorau","qualityHigh":"Uchel","qualityLow":"Isel","qualityMedium":"Canolig","scale":"Graddfa","scaleAll":"Dangos pob","scaleFit":"Ffit Union","scaleNoBorder":"Dim Ymyl","title":"Priodweddau Flash","vSpace":"BwlchF","validateHSpace":"Rhaid i'r BwlchLl fod yn rhif.","validateSrc":"Ni all yr URL fod yn wag.","validateVSpace":"Rhaid i'r BwlchF fod yn rhif.","windowMode":"Modd ffenestr","windowModeOpaque":"Afloyw","windowModeTransparent":"Tryloyw","windowModeWindow":"Ffenestr"},"font":{"fontSize":{"label":"Maint","voiceLabel":"Maint y Ffont","panelTitle":"Maint y Ffont"},"label":"Ffont","panelTitle":"Enw'r Ffont","voiceLabel":"Ffont"},"forms":{"button":{"title":"Priodweddau Botymau","text":"Testun (Gwerth)","type":"Math","typeBtn":"Botwm","typeSbm":"Anfon","typeRst":"Ailosod"},"checkboxAndRadio":{"checkboxTitle":"Priodweddau Blwch Ticio","radioTitle":"Priodweddau Botwm Radio","value":"Gwerth","selected":"Dewiswyd","required":"Required"},"form":{"title":"Priodweddau Ffurflen","menu":"Priodweddau Ffurflen","action":"Gweithred","method":"Dull","encoding":"Amgodio"},"hidden":{"title":"Priodweddau Maes Cudd","name":"Enw","value":"Gwerth"},"select":{"title":"Priodweddau Maes Dewis","selectInfo":"Gwyb Dewis","opAvail":"Opsiynau ar Gael","value":"Gwerth","size":"Maint","lines":"llinellau","chkMulti":"Caniatàu aml-ddewisiadau","required":"Required","opText":"Testun","opValue":"Gwerth","btnAdd":"Ychwanegu","btnModify":"Newid","btnUp":"Lan","btnDown":"Lawr","btnSetValue":"Gosod fel gwerth a ddewiswyd","btnDelete":"Dileu"},"textarea":{"title":"Priodweddau Ardal Testun","cols":"Colofnau","rows":"Rhesi"},"textfield":{"title":"Priodweddau Maes Testun","name":"Enw","value":"Gwerth","charWidth":"Lled Nod","maxChars":"Uchafswm y Nodau","required":"Required","type":"Math","typeText":"Testun","typePass":"Cyfrinair","typeEmail":"Ebost","typeSearch":"Chwilio","typeTel":"Rhif Ffôn","typeUrl":"URL"}},"format":{"label":"Fformat","panelTitle":"Fformat Paragraff","tag_address":"Cyfeiriad","tag_div":"Normal (DIV)","tag_h1":"Pennawd 1","tag_h2":"Pennawd 2","tag_h3":"Pennawd 3","tag_h4":"Pennawd 4","tag_h5":"Pennawd 5","tag_h6":"Pennawd 6","tag_p":"Normal","tag_pre":"Wedi'i Fformatio"},"horizontalrule":{"toolbar":"Mewnosod Llinell Lorweddol"},"iframe":{"border":"Dangos ymyl y ffrâm","noUrl":"Rhowch URL yr iframe","scrolling":"Galluogi bariau sgrolio","title":"Priodweddau IFrame","toolbar":"IFrame"},"image":{"alt":"Testun Amgen","border":"Ymyl","btnUpload":"Anfon i'r Gweinydd","button2Img":"Ydych am drawsffurfio'r botwm ddelwedd hwn ar ddelwedd syml?","hSpace":"BwlchLl","img2Button":"Ydych am drawsffurfio'r ddelwedd hon ar fotwm delwedd?","infoTab":"Gwyb Delwedd","linkTab":"Dolen","lockRatio":"Cloi Cymhareb","menu":"Priodweddau Delwedd","resetSize":"Ailosod Maint","title":"Priodweddau Delwedd","titleButton":"Priodweddau Botwm Delwedd","upload":"Lanlwytho","urlMissing":"URL gwreiddiol y ddelwedd ar goll.","vSpace":"BwlchF","validateBorder":"Rhaid i'r ymyl fod yn gyfanrif.","validateHSpace":"Rhaid i'r HSpace fod yn gyfanrif.","validateVSpace":"Rhaid i'r VSpace fod yn gyfanrif."},"indent":{"indent":"Cynyddu'r Mewnoliad","outdent":"Lleihau'r Mewnoliad"},"smiley":{"options":"Opsiynau Gwenogluniau","title":"Mewnosod Gwenoglun","toolbar":"Gwenoglun"},"language":{"button":"Gosod iaith","remove":"Tynnu iaith"},"link":{"acccessKey":"Allwedd Mynediad","advanced":"Uwch","advisoryContentType":"Math y Cynnwys Cynghorol","advisoryTitle":"Teitl Cynghorol","anchor":{"toolbar":"Angor","menu":"Golygu'r Angor","title":"Priodweddau'r Angor","name":"Enw'r Angor","errorName":"Teipiwch enw'r angor","remove":"Tynnwch yr Angor"},"anchorId":"Gan Id yr Elfen","anchorName":"Gan Enw'r Angor","charset":"Set Nodau'r Adnodd Cysylltiedig","cssClasses":"Dosbarthiadau Dalen Arddull","download":"Force Download","displayText":"Display Text","emailAddress":"Cyfeiriad E-Bost","emailBody":"Corff y Neges","emailSubject":"Testun y Neges","id":"Id","info":"Gwyb y Ddolen","langCode":"Cod Iaith","langDir":"Cyfeiriad Iaith","langDirLTR":"Chwith i'r Dde (LTR)","langDirRTL":"Dde i'r Chwith (RTL)","menu":"Golygu Dolen","name":"Enw","noAnchors":"(Dim angorau ar gael yn y ddogfen)","noEmail":"Teipiwch gyfeiriad yr e-bost","noUrl":"Teipiwch URL y ddolen","noTel":"Please type the phone number","other":"<eraill>","phoneNumber":"Phone number","popupDependent":"Dibynnol (Netscape)","popupFeatures":"Nodweddion Ffenestr Bop","popupFullScreen":"Sgrin Llawn (IE)","popupLeft":"Safle Chwith","popupLocationBar":"Bar Safle","popupMenuBar":"Dewislen","popupResizable":"Ailfeintiol","popupScrollBars":"Barrau Sgrolio","popupStatusBar":"Bar Statws","popupToolbar":"Bar Offer","popupTop":"Safle Top","rel":"Perthynas","selectAnchor":"Dewiswch Angor","styles":"Arddull","tabIndex":"Indecs Tab","target":"Targed","targetFrame":"<ffrâm>","targetFrameName":"Enw Ffrâm y Targed","targetPopup":"<ffenestr bop>","targetPopupName":"Enw Ffenestr Bop","title":"Dolen","toAnchor":"Dolen at angor yn y testun","toEmail":"E-bost","toUrl":"URL","toPhone":"Phone","toolbar":"Dolen","type":"Math y Ddolen","unlink":"Datgysylltu","upload":"Lanlwytho"},"list":{"bulletedlist":"Mewnosod/Tynnu Rhestr Bwled","numberedlist":"Mewnosod/Tynnu Rhestr Rhifol"},"liststyle":{"bulletedTitle":"Priodweddau Rhestr Fwled","circle":"Cylch","decimal":"Degol (1, 2, 3, ayyb.)","disc":"Disg","lowerAlpha":"Alffa Is (a, b, c, d, e, ayyb.)","lowerRoman":"Rhufeinig Is (i, ii, iii, iv, v, ayyb.)","none":"Dim","notset":"<heb osod>","numberedTitle":"Priodweddau Rhestr Rifol","square":"Sgwâr","start":"Dechrau","type":"Math","upperAlpha":"Alffa Uwch (A, B, C, D, E, ayyb.)","upperRoman":"Rhufeinig Uwch (I, II, III, IV, V, ayyb.)","validateStartNumber":"Rhaid bod y rhif cychwynnol yn gyfanrif."},"magicline":{"title":"Mewnosod paragraff yma"},"maximize":{"maximize":"Mwyhau","minimize":"Lleihau"},"newpage":{"toolbar":"Tudalen Newydd"},"pagebreak":{"alt":"Toriad Tudalen","toolbar":"Mewnosod Toriad Tudalen i Argraffu"},"pastetext":{"button":"Gludo fel testun plaen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Gludo fel Testun Plaen"},"pastefromword":{"confirmCleanup":"Mae'r testun rydych chi am ludo wedi'i gopïo o Word. Ydych chi am ei lanhau cyn ei ludo?","error":"Doedd dim modd glanhau y data a ludwyd oherwydd gwall mewnol","title":"Gludo o Word","toolbar":"Gludo o Word"},"preview":{"preview":"Rhagolwg"},"print":{"toolbar":"Argraffu"},"removeformat":{"toolbar":"Tynnu Fformat"},"save":{"toolbar":"Cadw"},"selectall":{"toolbar":"Dewis Popeth"},"showblocks":{"toolbar":"Dangos Blociau"},"sourcearea":{"toolbar":"HTML"},"specialchar":{"options":"Opsiynau Nodau Arbennig","title":"Dewis Nod Arbennig","toolbar":"Mewnosod Nod Arbennig"},"scayt":{"btn_about":"Ynghylch SCAYT","btn_dictionaries":"Geiriaduron","btn_disable":"Analluogi SCAYT","btn_enable":"Galluogi SCAYT","btn_langs":"Ieithoedd","btn_options":"Opsiynau","text_title":"Gwirio'r Sillafu Wrth Deipio"},"stylescombo":{"label":"Arddulliau","panelTitle":"Arddulliau Fformatio","panelTitle1":"Arddulliau Bloc","panelTitle2":"Arddulliau Mewnol","panelTitle3":"Arddulliau Gwrthrych"},"table":{"border":"Maint yr Ymyl","caption":"Pennawd","cell":{"menu":"Cell","insertBefore":"Mewnosod Cell Cyn","insertAfter":"Mewnosod Cell Ar Ôl","deleteCell":"Dileu Celloedd","merge":"Cyfuno Celloedd","mergeRight":"Cyfuno i'r Dde","mergeDown":"Cyfuno i Lawr","splitHorizontal":"Hollti'r Gell yn Lorweddol","splitVertical":"Hollti'r Gell yn Fertigol","title":"Priodweddau'r Gell","cellType":"Math y Gell","rowSpan":"Rhychwant Rhesi","colSpan":"Rhychwant Colofnau","wordWrap":"Lapio Geiriau","hAlign":"Aliniad Llorweddol","vAlign":"Aliniad Fertigol","alignBaseline":"Baslinell","bgColor":"Lliw Cefndir","borderColor":"Lliw Ymyl","data":"Data","header":"Pennyn","yes":"Ie","no":"Na","invalidWidth":"Mae'n rhaid i led y gell fod yn rhif.","invalidHeight":"Mae'n rhaid i uchder y gell fod yn rhif.","invalidRowSpan":"Mae'n rhaid i rychwant y rhesi fod yn gyfanrif.","invalidColSpan":"Mae'n rhaid i rychwant y colofnau fod yn gyfanrif.","chooseColor":"Dewis"},"cellPad":"Padio'r gell","cellSpace":"Bylchiad y gell","column":{"menu":"Colofn","insertBefore":"Mewnosod Colofn Cyn","insertAfter":"Mewnosod Colofn Ar Ôl","deleteColumn":"Dileu Colofnau"},"columns":"Colofnau","deleteTable":"Dileu Tabl","headers":"Penynnau","headersBoth":"Y Ddau","headersColumn":"Colofn gyntaf","headersNone":"Dim","headersRow":"Rhes gyntaf","invalidBorder":"Mae'n rhaid i faint yr ymyl fod yn rhif.","invalidCellPadding":"Mae'n rhaid i badiad y gell fod yn rhif positif.","invalidCellSpacing":"Mae'n rhaid i fylchiad y gell fod yn rhif positif.","invalidCols":"Mae'n rhaid cael o leiaf un golofn.","invalidHeight":"Mae'n rhaid i uchder y tabl fod yn rhif.","invalidRows":"Mae'n rhaid cael o leiaf un rhes.","invalidWidth":"Mae'n rhaid i led y tabl fod yn rhif.","menu":"Priodweddau'r Tabl","row":{"menu":"Rhes","insertBefore":"Mewnosod Rhes Cyn","insertAfter":"Mewnosod Rhes Ar Ôl","deleteRow":"Dileu Rhesi"},"rows":"Rhesi","summary":"Crynodeb","title":"Priodweddau'r Tabl","toolbar":"Tabl","widthPc":"y cant","widthPx":"picsel","widthUnit":"uned lled"},"undo":{"redo":"Ailwneud","undo":"Dadwneud"},"widget":{"move":"Clcio a llusgo i symud","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Anwybyddu Un","btnIgnoreAll":"Anwybyddu Pob","btnReplace":"Amnewid Un","btnReplaceAll":"Amnewid Pob","btnUndo":"Dadwneud","changeTo":"Newid i","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Gwirydd sillafu heb ei arsefydlu. A ydych am ei lawrlwytho nawr?","manyChanges":"Gwirio sillafu wedi gorffen: Newidiwyd %1 gair","noChanges":"Gwirio sillafu wedi gorffen: Dim newidiadau","noMispell":"Gwirio sillafu wedi gorffen: Dim camsillaf.","noSuggestions":"- Dim awgrymiadau -","notAvailable":"Nid yw'r gwasanaeth hwn ar gael yn bresennol.","notInDic":"Nid i'w gael yn y geiriadur","oneChange":"Gwirio sillafu wedi gorffen: Newidiwyd 1 gair","progress":"Gwirio sillafu yn ar y gweill...","title":"Gwirio Sillafu","toolbar":"Gwirio Sillafu"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/da.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['da']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Tryk ALT 0 for hjælp","browseServer":"Gennemse...","url":"URL","protocol":"Protokol","upload":"Upload","uploadSubmit":"Upload","image":"Indsæt billede","flash":"Indsæt Flash","form":"Indsæt formular","checkbox":"Indsæt afkrydsningsfelt","radio":"Indsæt alternativknap","textField":"Indsæt tekstfelt","textarea":"Indsæt tekstboks","hiddenField":"Indsæt skjult felt","button":"Indsæt knap","select":"Indsæt liste","imageButton":"Indsæt billedknap","notSet":"<intet valgt>","id":"Id","name":"Navn","langDir":"Tekstretning","langDirLtr":"Fra venstre mod højre (LTR)","langDirRtl":"Fra højre mod venstre (RTL)","langCode":"Sprogkode","longDescr":"Udvidet beskrivelse","cssClass":"Typografiark (CSS)","advisoryTitle":"Titel","cssStyle":"Typografi (CSS)","ok":"OK","cancel":"Annullér","close":"Luk","preview":"Forhåndsvisning","resize":"Træk for at skalere","generalTab":"Generelt","advancedTab":"Avanceret","validateNumberFailed":"Værdien er ikke et tal.","confirmNewPage":"Alt indhold, der ikke er blevet gemt, vil gå tabt. Er du sikker på, at du vil indlæse en ny side?","confirmCancel":"Nogle af indstillingerne er blevet ændret. Er du sikker på, at du vil lukke vinduet?","options":"Vis muligheder","target":"Mål","targetNew":"Nyt vindue (_blank)","targetTop":"Øverste vindue (_top)","targetSelf":"Samme vindue (_self)","targetParent":"Samme vindue (_parent)","langDirLTR":"Venstre til højre (LTR)","langDirRTL":"Højre til venstre (RTL)","styles":"Style","cssClasses":"Stylesheetklasser","width":"Bredde","height":"Højde","align":"Justering","left":"Venstre","right":"Højre","center":"Center","justify":"Lige margener","alignLeft":"Venstrestillet","alignRight":"Højrestillet","alignCenter":"Centreret","alignTop":"Øverst","alignMiddle":"Centreret","alignBottom":"Nederst","alignNone":"Ingen","invalidValue":"Ugyldig værdi.","invalidHeight":"Højde skal være et tal.","invalidWidth":"Bredde skal være et tal.","invalidLength":"Værdien angivet for feltet \"%1\" skal være et positivt heltal med eller uden en gyldig måleenhed (%2).","invalidCssLength":"Værdien specificeret for \"%1\" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px, %, in, cm, mm, em, ex, pt, eller pc).","invalidHtmlLength":"Værdien specificeret for \"%1\" feltet skal være et positivt nummer med eller uden en CSS måleenhed (px eller %).","invalidInlineStyle":"Værdien specificeret for inline style skal indeholde en eller flere elementer med et format som \"name:value\", separeret af semikoloner","cssLengthTooltip":"Indsæt en numerisk værdi i pixel eller nummer med en gyldig CSS værdi (px, %, in, cm, mm, em, ex, pt, eller pc).","unavailable":"%1<span class=\"cke_accessibility\">, ikke tilgængelig</span>","keyboard":{"8":"Backspace","13":"Retur","16":"Shift","17":"Ctrl","18":"Alt","32":"Mellemrum","35":"End","36":"Home","46":"Slet","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Kommando"},"keyboardShortcut":"Tastatur genvej","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Alle rettigheder forbeholdes.","dlgTitle":"Om CKEditor 4","moreInfo":"For informationer omkring licens, se venligst vores hjemmeside (på engelsk):"},"basicstyles":{"bold":"Fed","italic":"Kursiv","strike":"Gennemstreget","subscript":"Sænket skrift","superscript":"Hævet skrift","underline":"Understreget"},"bidi":{"ltr":"Tekstretning fra venstre til højre","rtl":"Tekstretning fra højre til venstre"},"blockquote":{"toolbar":"Blokcitat"},"notification":{"closed":"Notefikation lukket."},"toolbar":{"toolbarCollapse":"Sammenklap værktøjslinje","toolbarExpand":"Udvid værktøjslinje","toolbarGroups":{"document":"Dokument","clipboard":"Udklipsholder/Fortryd","editing":"Redigering","forms":"Formularer","basicstyles":"Basis styles","paragraph":"Paragraf","links":"Links","insert":"Indsæt","styles":"Typografier","colors":"Farver","tools":"Værktøjer"},"toolbars":"Editors værktøjslinjer"},"clipboard":{"copy":"Kopiér","copyError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at kopiere teksten (Ctrl/Cmd+C).","cut":"Klip","cutError":"Din browsers sikkerhedsindstillinger tillader ikke editoren at få automatisk adgang til udklipsholderen.<br><br>Brug i stedet tastaturet til at klippe teksten (Ctrl/Cmd+X).","paste":"Indsæt","pasteNotification":"Tryk %1 for at sætte ind. Din browser understøtter ikke indsættelse med værktøjslinje knappen eller kontekst menuen.","pasteArea":"Indsættelses område","pasteMsg":"Indsæt dit indhold i området nedenfor og tryk OK."},"colorbutton":{"auto":"Automatisk","bgColorTitle":"Baggrundsfarve","colors":{"000":"Sort","800000":"Mørkerød","8B4513":"Mørk orange","2F4F4F":"Dark Slate Grå","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Mørkegrå","B22222":"Scarlet / Rød","A52A2A":"Brun","DAA520":"Guld","006400":"Mørkegrøn","40E0D0":"Tyrkis","0000CD":"Mellemblå","800080":"Lilla","808080":"Grå","F00":"Rød","FF8C00":"Mørk orange","FFD700":"Guld","008000":"Grøn","0FF":"Cyan","00F":"Blå","EE82EE":"Violet","A9A9A9":"Matgrå","FFA07A":"Laksefarve","FFA500":"Orange","FFFF00":"Gul","00FF00":"Lime","AFEEEE":"Mat tyrkis","ADD8E6":"Lyseblå","DDA0DD":"Plum","D3D3D3":"Lysegrå","FFF0F5":"Lavender Blush","FAEBD7":"Antikhvid","FFFFE0":"Lysegul","F0FFF0":"Gul / Beige","F0FFFF":"Himmeblå","F0F8FF":"Alice blue","E6E6FA":"Lavendel","FFF":"Hvid","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Flere farver...","panelTitle":"Farver","textColorTitle":"Tekstfarve"},"colordialog":{"clear":"Nulstil","highlight":"Markér","options":"Farvemuligheder","selected":"Valgt farve","title":"Vælg farve"},"templates":{"button":"Skabeloner","emptyListMsg":"(Der er ikke defineret nogen skabelon)","insertOption":"Erstat det faktiske indhold","options":"Skabelon muligheder","selectPromptMsg":"Vælg den skabelon, som skal åbnes i editoren (nuværende indhold vil blive overskrevet):","title":"Indholdsskabeloner"},"contextmenu":{"options":"Muligheder for hjælpemenu"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Vejledende titel","cssClassInputLabel":"Typografiark","edit":"Rediger Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Venstre til højre (LTR)","langDirLabel":"Sprogretning","langDirRTLLabel":"Højre til venstre (RTL)","languageCodeInputLabel":" Sprogkode","remove":"Slet Div","styleSelectLabel":"Style","title":"Opret Div Container","toolbar":"Opret Div Container"},"elementspath":{"eleLabel":"Sti på element","eleTitle":"%1 element"},"filetools":{"loadError":"Der skete en fejl ved indlæsningen af filen.","networkError":"Der skete en netværks fejl under uploadingen.","httpError404":"Der skete en HTTP fejl under uploadingen (404: File not found).","httpError403":"Der skete en HTTP fejl under uploadingen (403: Forbidden).","httpError":"Der skete en HTTP fejl under uploadingen (error status: %1).","noUrlError":"Upload URL er ikke defineret.","responseError":"Ikke korrekt server svar."},"find":{"find":"Søg","findOptions":"Find muligheder","findWhat":"Søg efter:","matchCase":"Forskel på store og små bogstaver","matchCyclic":"Match cyklisk","matchWord":"Kun hele ord","notFoundMsg":"Søgeteksten blev ikke fundet","replace":"Erstat","replaceAll":"Erstat alle","replaceSuccessMsg":"%1 forekomst(er) erstattet.","replaceWith":"Erstat med:","title":"Søg og erstat"},"fakeobjects":{"anchor":"Anker","flash":"Flashanimation","hiddenfield":"Skjult felt","iframe":"Iframe","unknown":"Ukendt objekt"},"flash":{"access":"Scriptadgang","accessAlways":"Altid","accessNever":"Aldrig","accessSameDomain":"Samme domæne","alignAbsBottom":"Absolut nederst","alignAbsMiddle":"Absolut centreret","alignBaseline":"Grundlinje","alignTextTop":"Toppen af teksten","bgcolor":"Baggrundsfarve","chkFull":"Tillad fuldskærm","chkLoop":"Gentagelse","chkMenu":"Vis Flash-menu","chkPlay":"Automatisk afspilning","flashvars":"Variabler for Flash","hSpace":"Vandret margen","properties":"Egenskaber for Flash","propertiesTab":"Egenskaber","quality":"Kvalitet","qualityAutoHigh":"Auto høj","qualityAutoLow":"Auto lav","qualityBest":"Bedste","qualityHigh":"Høj","qualityLow":"Lav","qualityMedium":"Medium","scale":"Skalér","scaleAll":"Vis alt","scaleFit":"Tilpas størrelse","scaleNoBorder":"Ingen ramme","title":"Egenskaber for Flash","vSpace":"Lodret margen","validateHSpace":"Vandret margen skal være et tal.","validateSrc":"Indtast hyperlink URL!","validateVSpace":"Lodret margen skal være et tal.","windowMode":"Vinduestilstand","windowModeOpaque":"Gennemsigtig (opaque)","windowModeTransparent":"Transparent","windowModeWindow":"Vindue"},"font":{"fontSize":{"label":"Skriftstørrelse","voiceLabel":"Skriftstørrelse","panelTitle":"Skriftstørrelse"},"label":"Skrifttype","panelTitle":"Skrifttype","voiceLabel":"Skrifttype"},"forms":{"button":{"title":"Egenskaber for knap","text":"Tekst","type":"Type","typeBtn":"Knap","typeSbm":"Send","typeRst":"Nulstil"},"checkboxAndRadio":{"checkboxTitle":"Egenskaber for afkrydsningsfelt","radioTitle":"Egenskaber for alternativknap","value":"Værdi","selected":"Valgt","required":"Påkrævet"},"form":{"title":"Egenskaber for formular","menu":"Egenskaber for formular","action":"Handling","method":"Metode","encoding":"Kodning (encoding)"},"hidden":{"title":"Egenskaber for skjult felt","name":"Navn","value":"Værdi"},"select":{"title":"Egenskaber for liste","selectInfo":"Generelt","opAvail":"Valgmuligheder","value":"Værdi","size":"Størrelse","lines":"Linjer","chkMulti":"Tillad flere valg","required":"Påkrævet","opText":"Tekst","opValue":"Værdi","btnAdd":"Tilføj","btnModify":"Redigér","btnUp":"Op","btnDown":"Ned","btnSetValue":"Sæt som valgt","btnDelete":"Slet"},"textarea":{"title":"Egenskaber for tekstboks","cols":"Kolonner","rows":"Rækker"},"textfield":{"title":"Egenskaber for tekstfelt","name":"Navn","value":"Værdi","charWidth":"Bredde (tegn)","maxChars":"Max. antal tegn","required":"Påkrævet","type":"Type","typeText":"Tekst","typePass":"Adgangskode","typeEmail":"E-mail","typeSearch":"Søg","typeTel":"Telefon nummer","typeUrl":"URL"}},"format":{"label":"Formatering","panelTitle":"Formatering","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Overskrift 1","tag_h2":"Overskrift 2","tag_h3":"Overskrift 3","tag_h4":"Overskrift 4","tag_h5":"Overskrift 5","tag_h6":"Overskrift 6","tag_p":"Normal","tag_pre":"Formateret"},"horizontalrule":{"toolbar":"Indsæt vandret streg"},"iframe":{"border":"Vis kant på rammen","noUrl":"Venligst indsæt URL på iframen","scrolling":"Aktiver scrollbars","title":"Iframe egenskaber","toolbar":"Iframe"},"image":{"alt":"Alternativ tekst","border":"Ramme","btnUpload":"Upload fil til serveren","button2Img":"Vil du lave billedknappen om til et almindeligt billede?","hSpace":"Vandret margen","img2Button":"Vil du lave billedet om til en billedknap?","infoTab":"Generelt","linkTab":"Hyperlink","lockRatio":"Lås størrelsesforhold","menu":"Egenskaber for billede","resetSize":"Nulstil størrelse","title":"Egenskaber for billede","titleButton":"Egenskaber for billedknap","upload":"Upload","urlMissing":"Kilde på billed-URL mangler","vSpace":"Lodret margen","validateBorder":"Kant skal være et helt nummer.","validateHSpace":"HSpace skal være et helt nummer.","validateVSpace":"VSpace skal være et helt nummer."},"indent":{"indent":"Forøg indrykning","outdent":"Formindsk indrykning"},"smiley":{"options":"Smileymuligheder","title":"Vælg smiley","toolbar":"Smiley"},"language":{"button":"Vælg sprog","remove":"Fjern sprog"},"link":{"acccessKey":"Genvejstast","advanced":"Avanceret","advisoryContentType":"Indholdstype","advisoryTitle":"Titel","anchor":{"toolbar":"Indsæt/redigér bogmærke","menu":"Egenskaber for bogmærke","title":"Egenskaber for bogmærke","name":"Bogmærkenavn","errorName":"Indtast bogmærkenavn","remove":"Fjern bogmærke"},"anchorId":"Efter element-Id","anchorName":"Efter ankernavn","charset":"Tegnsæt","cssClasses":"Typografiark","download":"Tving Download","displayText":"Vis tekst","emailAddress":"E-mailadresse","emailBody":"Besked","emailSubject":"Emne","id":"Id","info":"Generelt","langCode":"Tekstretning","langDir":"Tekstretning","langDirLTR":"Fra venstre mod højre (LTR)","langDirRTL":"Fra højre mod venstre (RTL)","menu":"Redigér hyperlink","name":"Navn","noAnchors":"(Ingen bogmærker i dokumentet)","noEmail":"Indtast e-mailadresse!","noUrl":"Indtast hyperlink-URL!","noTel":"Please type the phone number","other":"<anden>","phoneNumber":"Phone number","popupDependent":"Koblet/dependent (Netscape)","popupFeatures":"Egenskaber for popup","popupFullScreen":"Fuld skærm (IE)","popupLeft":"Position fra venstre","popupLocationBar":"Adresselinje","popupMenuBar":"Menulinje","popupResizable":"Justérbar","popupScrollBars":"Scrollbar","popupStatusBar":"Statuslinje","popupToolbar":"Værktøjslinje","popupTop":"Position fra toppen","rel":"Relation","selectAnchor":"Vælg et anker","styles":"Typografi","tabIndex":"Tabulatorindeks","target":"Mål","targetFrame":"<ramme>","targetFrameName":"Destinationsvinduets navn","targetPopup":"<popup vindue>","targetPopupName":"Popupvinduets navn","title":"Egenskaber for hyperlink","toAnchor":"Bogmærke på denne side","toEmail":"E-mail","toUrl":"URL","toPhone":"Phone","toolbar":"Indsæt/redigér hyperlink","type":"Type","unlink":"Fjern hyperlink","upload":"Upload"},"list":{"bulletedlist":"Punktopstilling","numberedlist":"Talopstilling"},"liststyle":{"bulletedTitle":"Værdier for cirkelpunktopstilling","circle":"Cirkel","decimal":"Decimal (1, 2, 3, osv.)","disc":"Værdier for diskpunktopstilling","lowerAlpha":"Små alfabet (a, b, c, d, e, etc.)","lowerRoman":"Små romerske (i, ii, iii, iv, v, etc.)","none":"Ingen","notset":"<ikke defineret>","numberedTitle":"Egenskaber for nummereret liste","square":"Firkant","start":"Start","type":"Type","upperAlpha":"Store alfabet (A, B, C, D, E, etc.)","upperRoman":"Store romerske (I, II, III, IV, V, etc.)","validateStartNumber":"Den nummererede liste skal starte med et rundt nummer"},"magicline":{"title":"Indsæt afsnit"},"maximize":{"maximize":"Maksimér","minimize":"Minimér"},"newpage":{"toolbar":"Ny side"},"pagebreak":{"alt":"Sideskift","toolbar":"Indsæt sideskift"},"pastetext":{"button":"Indsæt som ikke-formateret tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Indsæt som ikke-formateret tekst"},"pastefromword":{"confirmCleanup":"Den tekst du forsøger at indsætte ser ud til at komme fra Word. Vil du rense teksten før den indsættes?","error":"Det var ikke muligt at fjerne formatteringen på den indsatte tekst grundet en intern fejl","title":"Indsæt fra Word","toolbar":"Indsæt fra Word"},"preview":{"preview":"Vis eksempel"},"print":{"toolbar":"Udskriv"},"removeformat":{"toolbar":"Fjern formatering"},"save":{"toolbar":"Gem"},"selectall":{"toolbar":"Vælg alt"},"showblocks":{"toolbar":"Vis afsnitsmærker"},"sourcearea":{"toolbar":"Kilde"},"specialchar":{"options":"Muligheder for specialkarakterer","title":"Vælg symbol","toolbar":"Indsæt symbol"},"scayt":{"btn_about":"Om SCAYT","btn_dictionaries":"Ordbøger","btn_disable":"Deaktivér SCAYT","btn_enable":"Aktivér SCAYT","btn_langs":"Sprog","btn_options":"Indstillinger","text_title":"Stavekontrol mens du skriver"},"stylescombo":{"label":"Typografi","panelTitle":"Formattering på stylesheet","panelTitle1":"Block typografi","panelTitle2":"Inline typografi","panelTitle3":"Object typografi"},"table":{"border":"Rammebredde","caption":"Titel","cell":{"menu":"Celle","insertBefore":"Indsæt celle før","insertAfter":"Indsæt celle efter","deleteCell":"Slet celle","merge":"Flet celler","mergeRight":"Flet til højre","mergeDown":"Flet nedad","splitHorizontal":"Del celle vandret","splitVertical":"Del celle lodret","title":"Celleegenskaber","cellType":"Celletype","rowSpan":"Række span (rows span)","colSpan":"Kolonne span (columns span)","wordWrap":"Tekstombrydning","hAlign":"Vandret justering","vAlign":"Lodret justering","alignBaseline":"Grundlinje","bgColor":"Baggrundsfarve","borderColor":"Rammefarve","data":"Data","header":"Hoved","yes":"Ja","no":"Nej","invalidWidth":"Cellebredde skal være et tal.","invalidHeight":"Cellehøjde skal være et tal.","invalidRowSpan":"Række span skal være et heltal.","invalidColSpan":"Kolonne span skal være et heltal.","chooseColor":"Vælg"},"cellPad":"Cellemargen","cellSpace":"Celleafstand","column":{"menu":"Kolonne","insertBefore":"Indsæt kolonne før","insertAfter":"Indsæt kolonne efter","deleteColumn":"Slet kolonne"},"columns":"Kolonner","deleteTable":"Slet tabel","headers":"Hoved","headersBoth":"Begge","headersColumn":"Første kolonne","headersNone":"Ingen","headersRow":"Første række","invalidBorder":"Rammetykkelse skal være et tal.","invalidCellPadding":"Cellemargen skal være et tal.","invalidCellSpacing":"Celleafstand skal være et tal.","invalidCols":"Antallet af kolonner skal være større end 0.","invalidHeight":"Tabelhøjde skal være et tal.","invalidRows":"Antallet af rækker skal være større end 0.","invalidWidth":"Tabelbredde skal være et tal.","menu":"Egenskaber for tabel","row":{"menu":"Række","insertBefore":"Indsæt række før","insertAfter":"Indsæt række efter","deleteRow":"Slet række"},"rows":"Rækker","summary":"Resumé","title":"Egenskaber for tabel","toolbar":"Tabel","widthPc":"procent","widthPx":"pixels","widthUnit":"Bredde på enhed"},"undo":{"redo":"Annullér fortryd","undo":"Fortryd"},"widget":{"move":"Klik og træk for at flytte","label":"%1 widget"},"uploadwidget":{"abort":"Upload er afbrudt af brugen.","doneOne":"Filen er uploadet.","doneMany":"Du har uploadet %1 filer.","uploadOne":"Uploader fil ({percentage}%)...","uploadMany":"Uploader filer, {current} af {max} er uploadet ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorér","btnIgnoreAll":"Ignorér alle","btnReplace":"Erstat","btnReplaceAll":"Erstat alle","btnUndo":"Tilbage","changeTo":"Forslag","errorLoading":"Fejl ved indlæsning af host: %s.","ieSpellDownload":"Stavekontrol ikke installeret. Vil du installere den nu?","manyChanges":"Stavekontrol færdig: %1 ord ændret","noChanges":"Stavekontrol færdig: Ingen ord ændret","noMispell":"Stavekontrol færdig: Ingen fejl fundet","noSuggestions":"(ingen forslag)","notAvailable":"Stavekontrol er desværre ikke tilgængelig.","notInDic":"Ikke i ordbogen","oneChange":"Stavekontrol færdig: Et ord ændret","progress":"Stavekontrollen arbejder...","title":"Stavekontrol","toolbar":"Stavekontrol"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/de-ch.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['de-ch']={"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Kontrollbox","radio":"Optionsfeld","textField":"Textfeld","textarea":"Textfeld","hiddenField":"Verstecktes Feld","button":"Schaltfläche","select":"Auswahlfeld","imageButton":"Bildschaltfläche","notSet":"<nicht festgelegt>","id":"Kennung","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachcode","longDescr":"Langbeschreibungs-URL","cssClass":"Formatvorlagenklassen","advisoryTitle":"Titel Beschreibung","cssStyle":"Stil","ok":"OK","cancel":"Abbrechen","close":"Schliessen","preview":"Vorschau","resize":"Grösse ändern","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verlohren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schliessen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"Stylesheet Klasse","width":"Breite","height":"Höhe","align":"Ausrichtung","left":"Links","right":"Rechts","center":"Zentriert","justify":"Blocksatz","alignLeft":"Linksbündig","alignRight":"Rechtsbündig","alignCenter":"Align Center","alignTop":"Oben","alignMiddle":"Mitte","alignBottom":"Unten","alignNone":"Keine","invalidValue":"Ungültiger Wert.","invalidHeight":"Höhe muss eine Zahl sein.","invalidWidth":"Breite muss eine Zahl sein.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","invalidHtmlLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte HTML Messeinheit (px oder %).","invalidInlineStyle":"Wert spezifiziert für inline Stilart muss enthalten ein oder mehr Tupels mit dem Format \"Name : Wert\" getrennt mit Semikolons.","cssLengthTooltip":"Gebe eine Zahl ein für ein Wert in pixels oder eine Zahl mit einer korrekten CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","unavailable":"%1<span class=\"cke_accessibility\">, nicht verfügbar</span>","keyboard":{"8":"Rücktaste","13":"Eingabe","16":"Umschalt","17":"Strg","18":"Alt","32":"Space","35":"Ende","36":"Pos1","46":"Entfernen","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Alle Rechte vorbehalten.","dlgTitle":"Über CKEditor 4","moreInfo":"Für Informationen über unsere Lizenzbestimmungen besuchen sie bitte unsere Webseite:"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"bidi":{"ltr":"Leserichtung von Links nach Rechts","rtl":"Leserichtung von Rechts nach Links"},"blockquote":{"toolbar":"Zitatblock"},"notification":{"closed":"Benachrichtigung geschlossen."},"toolbar":{"toolbarCollapse":"Werkzeugleiste einklappen","toolbarExpand":"Werkzeugleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formulare","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Werkzeugleisten"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Einfügebereich","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Marineblau","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Mittelblau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Violett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blasstürkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiss","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiss","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"colordialog":{"clear":"Entfernen","highlight":"Hervorheben","options":"Farboptionen","selected":"Ausgewählte Farbe","title":"Farbe auswählen"},"templates":{"button":"Vorlagen","emptyListMsg":"(Keine Vorlagen definiert)","insertOption":"Aktuelle Inhalte ersetzen","options":"Vorlagenoptionen","selectPromptMsg":"Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen","title":"Inhaltsvorlagen"},"contextmenu":{"options":"Kontextmenüoptionen"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Kennung","advisoryTitleInputLabel":"Tooltip","cssClassInputLabel":"Formatvorlagenklasse","edit":"Div bearbeiten","inlineStyleInputLabel":"Inline Stil","langDirLTRLabel":"Links nach Rechs (LTR)","langDirLabel":"Sprachrichtung","langDirRTLLabel":"Rechs nach Links (RTL)","languageCodeInputLabel":"Sprachcode","remove":"Div entfernen","styleSelectLabel":"Stil","title":"Div Container erzeugen","toolbar":"Div Container erzeugen"},"elementspath":{"eleLabel":"Elementepfad","eleTitle":"%1 Element"},"filetools":{"loadError":"Während dem Lesen der Datei ist ein Fehler aufgetreten.","networkError":"Während dem Hochladen der Datei ist ein Netzwerkfehler aufgetreten.","httpError404":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (404: Datei nicht gefunden).","httpError403":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (403: Verboten).","httpError":"Während dem Hochladen der Datei ist ein HTTP-Fehler aufgetreten (Fehlerstatus: %1).","noUrlError":"Hochlade-URL ist nicht definiert.","responseError":"Falsche Antwort des Servers."},"find":{"find":"Suchen","findOptions":"Suchoptionen","findWhat":"Suche nach:","matchCase":"Gross-/Kleinschreibung beachten","matchCyclic":"Zyklische Suche","matchWord":"Nur ganze Worte suchen","notFoundMsg":"Der angegebene Text wurde nicht gefunden.","replace":"Ersetzen","replaceAll":"Alle ersetzen","replaceSuccessMsg":"%1 Vorkommen ersetzt.","replaceWith":"Ersetze mit:","title":"Suchen und Ersetzen"},"fakeobjects":{"anchor":"Anker","flash":"Flash-Animation","hiddenfield":"Verstecktes Feld","iframe":"IFrame","unknown":"Unbekanntes Objekt"},"flash":{"access":"Skriptzugriff","accessAlways":"Immer","accessNever":"Nie","accessSameDomain":"Gleiche Domain","alignAbsBottom":"Abs Unten","alignAbsMiddle":"Abs Mitte","alignBaseline":"Basislinie","alignTextTop":"Text oben","bgcolor":"Hintergrundfarbe","chkFull":"Vollbildmodus erlauben","chkLoop":"Endlosschleife","chkMenu":"Flash-Menü aktivieren","chkPlay":"Automatisch Abspielen","flashvars":"Variablen für Flash","hSpace":"Horizontal-Abstand","properties":"Flash-Eigenschaften","propertiesTab":"Eigenschaften","quality":"Qualität","qualityAutoHigh":"Auto Hoch","qualityAutoLow":"Auto Niedrig","qualityBest":"Beste","qualityHigh":"Hoch","qualityLow":"Niedrig","qualityMedium":"Mittel","scale":"Skalierung","scaleAll":"Alles anzeigen","scaleFit":"Passgenau","scaleNoBorder":"Ohne Rand","title":"Flash-Eigenschaften","vSpace":"Vertikal-Abstand","validateHSpace":"HSpace muss eine Zahl sein.","validateSrc":"URL darf nicht leer sein.","validateVSpace":"VSpace muss eine Zahl sein.","windowMode":"Fenstermodus","windowModeOpaque":"Deckend","windowModeTransparent":"Transparent","windowModeWindow":"Fenster"},"font":{"fontSize":{"label":"Grösse","voiceLabel":"Schrifgrösse","panelTitle":"Schriftgrösse"},"label":"Schriftart","panelTitle":"Schriftartname","voiceLabel":"Schriftart"},"forms":{"button":{"title":"Schaltflächeneigenschaften","text":"Text (Wert)","type":"Typ","typeBtn":"Button","typeSbm":"Absenden","typeRst":"Zurücksetzen"},"checkboxAndRadio":{"checkboxTitle":"Kontrollboxeigenschaften","radioTitle":"Optionsfeldeigenschaften","value":"Wert","selected":"Ausgewählt","required":"Erforderlich"},"form":{"title":"Formulareigenschaften","menu":"Formulareigenschaften","action":"Aktion","method":"Methode","encoding":"Kodierung"},"hidden":{"title":"Versteckte Feldeigenschaften","name":"Name","value":"Wert"},"select":{"title":"Auswahlfeldeigenschaften","selectInfo":"Info auswählen","opAvail":"Verfügbare Optionen","value":"Wert","size":"Grösse","lines":"Linien","chkMulti":"Mehrfachauswahl erlauben","required":"Erforderlich","opText":"Text","opValue":"Wert","btnAdd":"Hinzufügen","btnModify":"Ändern","btnUp":"Hoch","btnDown":"Runter","btnSetValue":"Als ausgewählten Wert festlegen","btnDelete":"Entfernen"},"textarea":{"title":"Textfeldeigenschaften","cols":"Spalten","rows":"Reihen"},"textfield":{"title":"Textfeldeigenschaften","name":"Name","value":"Wert","charWidth":"Zeichenbreite","maxChars":"Max. Zeichen","required":"Erforderlich","type":"Typ","typeText":"Text","typePass":"Passwort","typeEmail":"E-mail","typeSearch":"Suche","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Absatzformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Überschrift 1","tag_h2":"Überschrift 2","tag_h3":"Überschrift 3","tag_h4":"Überschrift 4","tag_h5":"Überschrift 5","tag_h6":"Überschrift 6","tag_p":"Normal","tag_pre":"Formatiert"},"horizontalrule":{"toolbar":"Horizontale Linie einfügen"},"iframe":{"border":"Rahmen anzeigen","noUrl":"Bitte geben Sie die IFrame-URL an","scrolling":"Rollbalken anzeigen","title":"IFrame-Eigenschaften","toolbar":"IFrame"},"image":{"alt":"Alternativer Text","border":"Rahmen","btnUpload":"Zum Server senden","button2Img":"Möchten Sie die ausgewählte Bildschaltfläche in ein einfaches Bild umwandeln?","hSpace":"Horizontal-Abstand","img2Button":"Möchten Sie das ausgewählte Bild in eine Bildschaltfläche umwandeln?","infoTab":"Bildinfo","linkTab":"Link","lockRatio":"Grössenverhältnis beibehalten","menu":"Bildeigenschaften","resetSize":"Grösse zurücksetzen","title":"Bildeigenschaften","titleButton":"Bildschaltflächeneigenschaften","upload":"Hochladen","urlMissing":"Bildquellen-URL fehlt.","vSpace":"Vertikal-Abstand","validateBorder":"Rahmen muss eine ganze Zahl sein.","validateHSpace":"Horizontal-Abstand muss eine ganze Zahl sein.","validateVSpace":"Vertikal-Abstand muss eine ganze Zahl sein."},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"smiley":{"options":"Smiley-Optionen","title":"Smiley auswählen","toolbar":"Smiley"},"language":{"button":"Sprache festlegen","remove":"Sprache entfernen"},"link":{"acccessKey":"Zugriffstaste","advanced":"Erweitert","advisoryContentType":"Inhaltstyp","advisoryTitle":"Titel Beschreibung","anchor":{"toolbar":"Anker","menu":"Anker bearbeiten","title":"Ankereigenschaften","name":"Ankername","errorName":"Bitte geben Sie den Namen des Ankers ein","remove":"Anker entfernen"},"anchorId":"Nach Elementkennung","anchorName":"Nach Ankername","charset":"Verknüpfter Ressourcenzeichensatz","cssClasses":"Formatvorlagenklasse","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail-Adresse","emailBody":"Nachrichtentext","emailSubject":"Betreffzeile","id":"Kennung","info":"Linkinfo","langCode":"Sprachcode","langDir":"Schreibrichtung","langDirLTR":"Links nach Rechts (LTR)","langDirRTL":"Rechts nach Links (RTL)","menu":"Link bearbeiten","name":"Name","noAnchors":"(Keine Anker im Dokument vorhanden)","noEmail":"Bitte geben Sie E-Mail-Adresse an","noUrl":"Bitte geben Sie die Link-URL an","noTel":"Please type the phone number","other":"<andere>","phoneNumber":"Phone number","popupDependent":"Abhängig (Netscape)","popupFeatures":"Pop-up Fenstereigenschaften","popupFullScreen":"Vollbild (IE)","popupLeft":"Linke Position","popupLocationBar":"Adressleiste","popupMenuBar":"Menüleiste","popupResizable":"Grösse änderbar","popupScrollBars":"Rollbalken","popupStatusBar":"Statusleiste","popupToolbar":"Werkzeugleiste","popupTop":"Obere Position","rel":"Beziehung","selectAnchor":"Anker auswählen","styles":"Style","tabIndex":"Tab-Index","target":"Zielseite","targetFrame":"<Frame>","targetFrameName":"Ziel-Fenster-Name","targetPopup":"<Pop-up Fenster>","targetPopupName":"Pop-up Fenster-Name","title":"Link","toAnchor":"Anker in dieser Seite","toEmail":"E-Mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link einfügen/editieren","type":"Link-Typ","unlink":"Link entfernen","upload":"Hochladen"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste einfügen/entfernen"},"liststyle":{"bulletedTitle":"Aufzählungslisteneigenschaften","circle":"Ring","decimal":"Dezimal (1, 2, 3, etc.)","disc":"Kreis","lowerAlpha":"Klein Alpha (a, b, c, d, e, usw.)","lowerRoman":"Klein römisch (i, ii, iii, iv, v, usw.)","none":"Keine","notset":"<nicht festgelegt>","numberedTitle":"Nummerierte Listeneigenschaften","square":"Quadrat","start":"Start","type":"Typ","upperAlpha":"Gross alpha (A, B, C, D, E, etc.)","upperRoman":"Gross römisch (I, II, III, IV, V, usw.)","validateStartNumber":"Listenstartnummer muss eine ganze Zahl sein."},"magicline":{"title":"Absatz hier einfügen"},"maximize":{"maximize":"Maximieren","minimize":"Minimieren"},"newpage":{"toolbar":"Neue Seite"},"pagebreak":{"alt":"Seitenumbruch","toolbar":"Seitenumbruch zum Drucken einfügen"},"pastetext":{"button":"Als Klartext einfügen","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Als Klartext einfügen"},"pastefromword":{"confirmCleanup":"Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?","error":"Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen","title":"Aus Word einfügen","toolbar":"Aus Word einfügen"},"preview":{"preview":"Vorschau"},"print":{"toolbar":"Drucken"},"removeformat":{"toolbar":"Formatierung entfernen"},"save":{"toolbar":"Speichern"},"selectall":{"toolbar":"Alles auswählen"},"showblocks":{"toolbar":"Blöcke anzeigen"},"sourcearea":{"toolbar":"Quellcode"},"specialchar":{"options":"Sonderzeichenoptionen","title":"Sonderzeichen auswählen","toolbar":"Sonderzeichen einfügen"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Stil","panelTitle":"Formatierungsstile","panelTitle1":"Blockstile","panelTitle2":"Inline Stilart","panelTitle3":"Objektstile"},"table":{"border":"Rahmengrösse","caption":"Überschrift","cell":{"menu":"Zelle","insertBefore":"Zelle davor einfügen","insertAfter":"Zelle danach einfügen","deleteCell":"Zelle löschen","merge":"Zellen verbinden","mergeRight":"Nach rechts verbinden","mergeDown":"Nach unten verbinden","splitHorizontal":"Zelle horizontal teilen","splitVertical":"Zelle vertikal teilen","title":"Zelleneigenschaften","cellType":"Zellart","rowSpan":"Anzahl Zeilen verbinden","colSpan":"Anzahl Spalten verbinden","wordWrap":"Zeilenumbruch","hAlign":"Horizontale Ausrichtung","vAlign":"Vertikale Ausrichtung","alignBaseline":"Grundlinie","bgColor":"Hintergrundfarbe","borderColor":"Rahmenfarbe","data":"Daten","header":"Überschrift","yes":"Ja","no":"Nein","invalidWidth":"Zellenbreite muss eine Zahl sein.","invalidHeight":"Zellenhöhe muss eine Zahl sein.","invalidRowSpan":"\"Anzahl Zeilen verbinden\" muss eine Ganzzahl sein.","invalidColSpan":"\"Anzahl Spalten verbinden\" muss eine Ganzzahl sein.","chooseColor":"Wählen"},"cellPad":"Zellenabstand innen","cellSpace":"Zellenabstand aussen","column":{"menu":"Spalte","insertBefore":"Spalte links davor einfügen","insertAfter":"Spalte rechts danach einfügen","deleteColumn":"Spalte löschen"},"columns":"Spalte","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","invalidBorder":"Die Rahmenbreite muss eine Zahl sein.","invalidCellPadding":"Der Zellenabstand innen muss eine positive Zahl sein.","invalidCellSpacing":"Der Zellenabstand aussen muss eine positive Zahl sein.","invalidCols":"Die Anzahl der Spalten muß grösser als 0 sein..","invalidHeight":"Die Tabellenbreite muss eine Zahl sein.","invalidRows":"Die Anzahl der Zeilen muß grösser als 0 sein.","invalidWidth":"Die Tabellenbreite muss eine Zahl sein.","menu":"Tabellen-Eigenschaften","row":{"menu":"Zeile","insertBefore":"Zeile oberhalb einfügen","insertAfter":"Zeile unterhalb einfügen","deleteRow":"Zeile entfernen"},"rows":"Zeile","summary":"Inhaltsübersicht","title":"Tabellen-Eigenschaften","toolbar":"Tabelle","widthPc":"%","widthPx":"Pixel","widthUnit":"Breite Einheit"},"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"widget":{"move":"Zum Verschieben anwählen und ziehen","label":"%1 widget"},"uploadwidget":{"abort":"Hochladen durch den Benutzer abgebrochen.","doneOne":"Datei erfolgreich hochgeladen.","doneMany":"%1 Dateien erfolgreich hochgeladen.","uploadOne":"Datei wird hochgeladen ({percentage}%)...","uploadMany":"Dateien werden hochgeladen, {current} von {max} fertig ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/de.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['de']={"editor":"WYSIWYG-Editor","editorPanel":"WYSIWYG-Editor-Leiste","common":{"editorHelp":"Drücken Sie ALT 0 für Hilfe","browseServer":"Server durchsuchen","url":"URL","protocol":"Protokoll","upload":"Hochladen","uploadSubmit":"Zum Server senden","image":"Bild","flash":"Flash","form":"Formular","checkbox":"Kontrollbox","radio":"Optionsfeld","textField":"Textfeld","textarea":"Textfeld","hiddenField":"Verstecktes Feld","button":"Schaltfläche","select":"Auswahlfeld","imageButton":"Bildschaltfläche","notSet":"<nicht festgelegt>","id":"Kennung","name":"Name","langDir":"Schreibrichtung","langDirLtr":"Links nach Rechts (LTR)","langDirRtl":"Rechts nach Links (RTL)","langCode":"Sprachcode","longDescr":"Langbeschreibungs-URL","cssClass":"Formatvorlagenklassen","advisoryTitle":"Titel Beschreibung","cssStyle":"Stil","ok":"OK","cancel":"Abbrechen","close":"Schließen","preview":"Vorschau","resize":"Größe ändern","generalTab":"Allgemein","advancedTab":"Erweitert","validateNumberFailed":"Dieser Wert ist keine Nummer.","confirmNewPage":"Alle nicht gespeicherten Änderungen gehen verloren. Sind Sie sicher die neue Seite zu laden?","confirmCancel":"Einige Optionen wurden geändert. Wollen Sie den Dialog dennoch schließen?","options":"Optionen","target":"Zielseite","targetNew":"Neues Fenster (_blank)","targetTop":"Oberstes Fenster (_top)","targetSelf":"Gleiches Fenster (_self)","targetParent":"Oberes Fenster (_parent)","langDirLTR":"Links nach Rechts (LNR)","langDirRTL":"Rechts nach Links (RNL)","styles":"Style","cssClasses":"Stylesheet Klasse","width":"Breite","height":"Höhe","align":"Ausrichtung","left":"Links","right":"Rechts","center":"Zentriert","justify":"Blocksatz","alignLeft":"Linksbündig","alignRight":"Rechtsbündig","alignCenter":"Zentriert","alignTop":"Oben","alignMiddle":"Mitte","alignBottom":"Unten","alignNone":"Keine","invalidValue":"Ungültiger Wert.","invalidHeight":"Höhe muss eine Zahl sein.","invalidWidth":"Breite muss eine Zahl sein.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","invalidHtmlLength":"Wert spezifiziert für \"%1\" Feld muss ein positiver numerischer Wert sein mit oder ohne korrekte HTML Messeinheit (px oder %).","invalidInlineStyle":"Wert spezifiziert für inline Stilart muss enthalten ein oder mehr Tupels mit dem Format \"Name : Wert\" getrennt mit Semikolons.","cssLengthTooltip":"Gebe eine Zahl ein für ein Wert in pixels oder eine Zahl mit einer korrekten CSS Messeinheit (px, %, in, cm, mm, em, ex, pt oder pc).","unavailable":"%1<span class=\"cke_accessibility\">, nicht verfügbar</span>","keyboard":{"8":"Rücktaste","13":"Eingabe","16":"Umschalt","17":"Strg","18":"Alt","32":"Leer","35":"Ende","36":"Pos1","46":"Entfernen","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Befehl"},"keyboardShortcut":"Tastaturkürzel","optionDefault":"Standard"},"about":{"copy":"Copyright © $1. Alle Rechte vorbehalten.","dlgTitle":"Über CKEditor 4","moreInfo":"Für Informationen über unsere Lizenzbestimmungen besuchen sie bitte unsere Webseite:"},"basicstyles":{"bold":"Fett","italic":"Kursiv","strike":"Durchgestrichen","subscript":"Tiefgestellt","superscript":"Hochgestellt","underline":"Unterstrichen"},"bidi":{"ltr":"Leserichtung von Links nach Rechts","rtl":"Leserichtung von Rechts nach Links"},"blockquote":{"toolbar":"Zitatblock"},"notification":{"closed":"Benachrichtigung geschlossen."},"toolbar":{"toolbarCollapse":"Werkzeugleiste einklappen","toolbarExpand":"Werkzeugleiste ausklappen","toolbarGroups":{"document":"Dokument","clipboard":"Zwischenablage/Rückgängig","editing":"Editieren","forms":"Formulare","basicstyles":"Grundstile","paragraph":"Absatz","links":"Links","insert":"Einfügen","styles":"Stile","colors":"Farben","tools":"Werkzeuge"},"toolbars":"Editor Werkzeugleisten"},"clipboard":{"copy":"Kopieren","copyError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch kopieren. Bitte benutzen Sie die System-Zwischenablage über STRG-C (kopieren).","cut":"Ausschneiden","cutError":"Die Sicherheitseinstellungen Ihres Browsers lassen es nicht zu, den Text automatisch auszuschneiden. Bitte benutzen Sie die System-Zwischenablage über STRG-X (ausschneiden) und STRG-V (einfügen).","paste":"Einfügen","pasteNotification":"Drücken Sie %1 zum Einfügen. Ihr Browser unterstützt nicht das Einfügen über dem Knopf in der Toolbar oder dem Kontextmenü.","pasteArea":"Einfügebereich","pasteMsg":"Fügen Sie den Inhalt in den unteren Bereich ein und drücken Sie OK."},"colorbutton":{"auto":"Automatisch","bgColorTitle":"Hintergrundfarbe","colors":{"000":"Schwarz","800000":"Kastanienbraun","8B4513":"Braun","2F4F4F":"Dunkles Schiefergrau","008080":"Blaugrün","000080":"Marineblau","4B0082":"Indigo","696969":"Dunkelgrau","B22222":"Ziegelrot","A52A2A":"Braun","DAA520":"Goldgelb","006400":"Dunkelgrün","40E0D0":"Türkis","0000CD":"Mittelblau","800080":"Lila","808080":"Grau","F00":"Rot","FF8C00":"Dunkelorange","FFD700":"Gold","008000":"Grün","0FF":"Cyan","00F":"Blau","EE82EE":"Violett","A9A9A9":"Dunkelgrau","FFA07A":"Helles Lachsrosa","FFA500":"Orange","FFFF00":"Gelb","00FF00":"Lime","AFEEEE":"Blasstürkis","ADD8E6":"Hellblau","DDA0DD":"Pflaumenblau","D3D3D3":"Hellgrau","FFF0F5":"Lavendel","FAEBD7":"Antik Weiß","FFFFE0":"Hellgelb","F0FFF0":"Honigtau","F0FFFF":"Azurblau","F0F8FF":"Alice Blau","E6E6FA":"Lavendel","FFF":"Weiß","1ABC9C":"Strong Cyan","2ECC71":"Smaragdgrün","3498DB":"Bright Blue","9B59B6":"Amethystblau","4E5F70":"Graublau","F1C40F":"Vivid Yellow","16A085":"Dunkelcyan","27AE60":"Dunkelsmaragdgrün","2980B9":"Strong Blue","8E44AD":"Dunkelviolett","2C3E50":"Entsättigtes blau","F39C12":"Orange","E67E22":"Möhrenfarben","E74C3C":"Blassrot","ECF0F1":"Glänzendes Silber","95A5A6":"Helles Graublau","DDD":"Hellgrau","D35400":"Kürbisfarben","C0392B":"Strong Red","BDC3C7":"Silber","7F8C8D":"Graucyan","999":"Dunkelgrau"},"more":"Weitere Farben...","panelTitle":"Farben","textColorTitle":"Textfarbe"},"colordialog":{"clear":"Entfernen","highlight":"Hervorheben","options":"Farboptionen","selected":"Ausgewählte Farbe","title":"Farbe auswählen"},"templates":{"button":"Vorlagen","emptyListMsg":"(Keine Vorlagen definiert)","insertOption":"Aktuelle Inhalte ersetzen","options":"Vorlagenoptionen","selectPromptMsg":"Klicken Sie auf eine Vorlage, um sie im Editor zu öffnen","title":"Inhaltsvorlagen"},"contextmenu":{"options":"Kontextmenüoptionen"},"copyformatting":{"label":"Formatierung kopieren","notification":{"copied":"Formatierung kopiert","applied":"Formatierung angewendet","canceled":"Formatierung abgebrochen","failed":"Formatierung fehlgeschlagen. Sie können Stile nicht anwenden, ohne sie zuerst zu kopieren."}},"div":{"IdInputLabel":"Kennung","advisoryTitleInputLabel":"Tooltip","cssClassInputLabel":"Formatvorlagenklasse","edit":"Div bearbeiten","inlineStyleInputLabel":"Inline Stil","langDirLTRLabel":"Links nach Rechs (LTR)","langDirLabel":"Sprachrichtung","langDirRTLLabel":"Rechs nach Links (RTL)","languageCodeInputLabel":"Sprachcode","remove":"Div entfernen","styleSelectLabel":"Stil","title":"Div Container erzeugen","toolbar":"Div Container erzeugen"},"elementspath":{"eleLabel":"Elementepfad","eleTitle":"%1 Element"},"filetools":{"loadError":"Während des Lesens der Datei ist ein Fehler aufgetreten.","networkError":"Während des Hochladens der Datei ist ein Netzwerkfehler aufgetreten.","httpError404":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (404: Datei nicht gefunden).","httpError403":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (403: Verboten).","httpError":"Während des Hochladens der Datei ist ein HTTP-Fehler aufgetreten (Fehlerstatus: %1).","noUrlError":"Hochlade-URL ist nicht definiert.","responseError":"Falsche Antwort des Servers."},"find":{"find":"Suchen","findOptions":"Suchoptionen","findWhat":"Suchen nach:","matchCase":"Groß-/Kleinschreibung beachten","matchCyclic":"Zyklische Suche","matchWord":"Nur ganzes Wort suchen","notFoundMsg":"Der angegebene Text wurde nicht gefunden.","replace":"Ersetzen","replaceAll":"Alle ersetzen","replaceSuccessMsg":"%1 Vorkommen ersetzt.","replaceWith":"Ersetzen mit:","title":"Suchen und Ersetzen"},"fakeobjects":{"anchor":"Anker","flash":"Flash-Animation","hiddenfield":"Verstecktes Feld","iframe":"IFrame","unknown":"Unbekanntes Objekt"},"flash":{"access":"Skriptzugriff","accessAlways":"Immer","accessNever":"Nie","accessSameDomain":"Gleiche Domain","alignAbsBottom":"Abs Unten","alignAbsMiddle":"Abs Mitte","alignBaseline":"Basislinie","alignTextTop":"Text oben","bgcolor":"Hintergrundfarbe","chkFull":"Vollbildmodus erlauben","chkLoop":"Endlosschleife","chkMenu":"Flash-Menü aktivieren","chkPlay":"Automatisch Abspielen","flashvars":"Variablen für Flash","hSpace":"Horizontal-Abstand","properties":"Flash-Eigenschaften","propertiesTab":"Eigenschaften","quality":"Qualität","qualityAutoHigh":"Auto Hoch","qualityAutoLow":"Auto Niedrig","qualityBest":"Beste","qualityHigh":"Hoch","qualityLow":"Niedrig","qualityMedium":"Mittel","scale":"Skalierung","scaleAll":"Alles anzeigen","scaleFit":"Passgenau","scaleNoBorder":"Ohne Rand","title":"Flash-Eigenschaften","vSpace":"Vertikal-Abstand","validateHSpace":"HSpace muss eine Zahl sein.","validateSrc":"URL darf nicht leer sein.","validateVSpace":"VSpace muss eine Zahl sein.","windowMode":"Fenstermodus","windowModeOpaque":"Deckend","windowModeTransparent":"Transparent","windowModeWindow":"Fenster"},"font":{"fontSize":{"label":"Größe","voiceLabel":"Schrifgröße","panelTitle":"Schriftgröße"},"label":"Schriftart","panelTitle":"Schriftartname","voiceLabel":"Schriftart"},"forms":{"button":{"title":"Schaltflächeneigenschaften","text":"Text (Wert)","type":"Typ","typeBtn":"Button","typeSbm":"Absenden","typeRst":"Zurücksetzen"},"checkboxAndRadio":{"checkboxTitle":"Kontrollboxeigenschaften","radioTitle":"Optionsfeldeigenschaften","value":"Wert","selected":"Ausgewählt","required":"Erforderlich"},"form":{"title":"Formulareigenschaften","menu":"Formulareigenschaften","action":"Aktion","method":"Methode","encoding":"Kodierung"},"hidden":{"title":"Versteckte Feldeigenschaften","name":"Name","value":"Wert"},"select":{"title":"Auswahlfeldeigenschaften","selectInfo":"Info auswählen","opAvail":"Verfügbare Optionen","value":"Wert","size":"Größe","lines":"Linien","chkMulti":"Mehrfachauswahl erlauben","required":"Erforderlich","opText":"Text","opValue":"Wert","btnAdd":"Hinzufügen","btnModify":"Ändern","btnUp":"Hoch","btnDown":"Runter","btnSetValue":"Als ausgewählten Wert festlegen","btnDelete":"Entfernen"},"textarea":{"title":"Textfeldeigenschaften","cols":"Spalten","rows":"Reihen"},"textfield":{"title":"Textfeldeigenschaften","name":"Name","value":"Wert","charWidth":"Zeichenbreite","maxChars":"Max. Zeichen","required":"Erforderlich","type":"Typ","typeText":"Text","typePass":"Passwort","typeEmail":"E-mail","typeSearch":"Suche","typeTel":"Telefonnummer","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Absatzformat","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"Überschrift 1","tag_h2":"Überschrift 2","tag_h3":"Überschrift 3","tag_h4":"Überschrift 4","tag_h5":"Überschrift 5","tag_h6":"Überschrift 6","tag_p":"Normal","tag_pre":"Formatiert"},"horizontalrule":{"toolbar":"Horizontale Linie einfügen"},"iframe":{"border":"Rahmen anzeigen","noUrl":"Bitte geben Sie die IFrame-URL an","scrolling":"Rollbalken anzeigen","title":"IFrame-Eigenschaften","toolbar":"IFrame"},"image":{"alt":"Alternativer Text","border":"Rahmen","btnUpload":"Zum Server senden","button2Img":"Möchten Sie die ausgewählte Bildschaltfläche in ein einfaches Bild umwandeln?","hSpace":"Horizontal-Abstand","img2Button":"Möchten Sie das ausgewählte Bild in eine Bildschaltfläche umwandeln?","infoTab":"Bildinfo","linkTab":"Link","lockRatio":"Größenverhältnis beibehalten","menu":"Bildeigenschaften","resetSize":"Größe zurücksetzen","title":"Bildeigenschaften","titleButton":"Bildschaltflächeneigenschaften","upload":"Hochladen","urlMissing":"Bildquellen-URL fehlt.","vSpace":"Vertikal-Abstand","validateBorder":"Rahmen muss eine ganze Zahl sein.","validateHSpace":"Horizontal-Abstand muss eine ganze Zahl sein.","validateVSpace":"Vertikal-Abstand muss eine ganze Zahl sein."},"indent":{"indent":"Einzug erhöhen","outdent":"Einzug verringern"},"smiley":{"options":"Smiley-Optionen","title":"Smiley auswählen","toolbar":"Smiley"},"language":{"button":"Sprache festlegen","remove":"Sprache entfernen"},"link":{"acccessKey":"Zugriffstaste","advanced":"Erweitert","advisoryContentType":"Inhaltstyp","advisoryTitle":"Titel Beschreibung","anchor":{"toolbar":"Anker","menu":"Anker bearbeiten","title":"Ankereigenschaften","name":"Ankername","errorName":"Bitte geben Sie den Namen des Ankers ein","remove":"Anker entfernen"},"anchorId":"Nach Elementkennung","anchorName":"Nach Ankername","charset":"Verknüpfter Ressourcenzeichensatz","cssClasses":"Formatvorlagenklasse","download":"Herunterladen erzwingen","displayText":"Anzeigetext","emailAddress":"E-Mail-Adresse","emailBody":"Nachrichtentext","emailSubject":"Betreffzeile","id":"Kennung","info":"Linkinfo","langCode":"Sprachcode","langDir":"Schreibrichtung","langDirLTR":"Links nach Rechts (LTR)","langDirRTL":"Rechts nach Links (RTL)","menu":"Link bearbeiten","name":"Name","noAnchors":"(Keine Anker im Dokument vorhanden)","noEmail":"Bitte geben Sie E-Mail-Adresse an","noUrl":"Bitte geben Sie die Link-URL an","noTel":"Please type the phone number","other":"<andere>","phoneNumber":"Phone number","popupDependent":"Abhängig (Netscape)","popupFeatures":"Pop-up Fenstereigenschaften","popupFullScreen":"Vollbild (IE)","popupLeft":"Linke Position","popupLocationBar":"Adressleiste","popupMenuBar":"Menüleiste","popupResizable":"Größe änderbar","popupScrollBars":"Rollbalken","popupStatusBar":"Statusleiste","popupToolbar":"Werkzeugleiste","popupTop":"Obere Position","rel":"Beziehung","selectAnchor":"Anker auswählen","styles":"Style","tabIndex":"Tab-Index","target":"Zielseite","targetFrame":"<Frame>","targetFrameName":"Ziel-Fenster-Name","targetPopup":"<Pop-up Fenster>","targetPopupName":"Pop-up Fenster-Name","title":"Link","toAnchor":"Anker in dieser Seite","toEmail":"E-Mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link einfügen/editieren","type":"Link-Typ","unlink":"Link entfernen","upload":"Hochladen"},"list":{"bulletedlist":"Liste","numberedlist":"Nummerierte Liste einfügen/entfernen"},"liststyle":{"bulletedTitle":"Aufzählungslisteneigenschaften","circle":"Ring","decimal":"Dezimal (1, 2, 3, etc.)","disc":"Kreis","lowerAlpha":"Klein Alpha (a, b, c, d, e, usw.)","lowerRoman":"Klein römisch (i, ii, iii, iv, v, usw.)","none":"Keine","notset":"<nicht festgelegt>","numberedTitle":"Nummerierte Listeneigenschaften","square":"Quadrat","start":"Start","type":"Typ","upperAlpha":"Groß alpha (A, B, C, D, E, etc.)","upperRoman":"Groß römisch (I, II, III, IV, V, usw.)","validateStartNumber":"Listenstartnummer muss eine ganze Zahl sein."},"magicline":{"title":"Absatz hier einfügen"},"maximize":{"maximize":"Maximieren","minimize":"Minimieren"},"newpage":{"toolbar":"Neue Seite"},"pagebreak":{"alt":"Seitenumbruch","toolbar":"Seitenumbruch zum Drucken einfügen"},"pastetext":{"button":"Als Klartext einfügen","pasteNotification":"Drücken Sie %1 zum Einfügen. Ihr Browser unterstützt nicht das Einfügen über dem Knopf in der Toolbar oder dem Kontextmenü.","title":"Als Klartext einfügen"},"pastefromword":{"confirmCleanup":"Der Text, den Sie einfügen möchten, scheint aus MS-Word kopiert zu sein. Möchten Sie ihn zuvor bereinigen lassen?","error":"Aufgrund eines internen Fehlers war es nicht möglich die eingefügten Daten zu bereinigen","title":"Aus Word einfügen","toolbar":"Aus Word einfügen"},"preview":{"preview":"Vorschau"},"print":{"toolbar":"Drucken"},"removeformat":{"toolbar":"Formatierung entfernen"},"save":{"toolbar":"Speichern"},"selectall":{"toolbar":"Alles auswählen"},"showblocks":{"toolbar":"Blöcke anzeigen"},"sourcearea":{"toolbar":"Quellcode"},"specialchar":{"options":"Sonderzeichenoptionen","title":"Sonderzeichen auswählen","toolbar":"Sonderzeichen einfügen"},"scayt":{"btn_about":"Über SCAYT","btn_dictionaries":"Wörterbücher","btn_disable":"SCAYT ausschalten","btn_enable":"SCAYT einschalten","btn_langs":"Sprachen","btn_options":"Optionen","text_title":"Rechtschreibprüfung während der Texteingabe (SCAYT)"},"stylescombo":{"label":"Stil","panelTitle":"Formatierungsstile","panelTitle1":"Blockstile","panelTitle2":"Inline Stilart","panelTitle3":"Objektstile"},"table":{"border":"Rahmengröße","caption":"Überschrift","cell":{"menu":"Zelle","insertBefore":"Zelle davor einfügen","insertAfter":"Zelle danach einfügen","deleteCell":"Zelle löschen","merge":"Zellen verbinden","mergeRight":"Nach rechts verbinden","mergeDown":"Nach unten verbinden","splitHorizontal":"Zelle horizontal teilen","splitVertical":"Zelle vertikal teilen","title":"Zelleneigenschaften","cellType":"Zellart","rowSpan":"Anzahl Zeilen verbinden","colSpan":"Anzahl Spalten verbinden","wordWrap":"Zeilenumbruch","hAlign":"Horizontale Ausrichtung","vAlign":"Vertikale Ausrichtung","alignBaseline":"Grundlinie","bgColor":"Hintergrundfarbe","borderColor":"Rahmenfarbe","data":"Daten","header":"Überschrift","yes":"Ja","no":"Nein","invalidWidth":"Zellenbreite muss eine Zahl sein.","invalidHeight":"Zellenhöhe muss eine Zahl sein.","invalidRowSpan":"\"Anzahl Zeilen verbinden\" muss eine Ganzzahl sein.","invalidColSpan":"\"Anzahl Spalten verbinden\" muss eine Ganzzahl sein.","chooseColor":"Wählen"},"cellPad":"Zellenabstand innen","cellSpace":"Zellenabstand außen","column":{"menu":"Spalte","insertBefore":"Spalte links davor einfügen","insertAfter":"Spalte rechts danach einfügen","deleteColumn":"Spalte löschen"},"columns":"Spalte","deleteTable":"Tabelle löschen","headers":"Kopfzeile","headersBoth":"Beide","headersColumn":"Erste Spalte","headersNone":"Keine","headersRow":"Erste Zeile","invalidBorder":"Die Rahmenbreite muß eine Zahl sein.","invalidCellPadding":"Der Zellenabstand innen muß eine positive Zahl sein.","invalidCellSpacing":"Der Zellenabstand außen muß eine positive Zahl sein.","invalidCols":"Die Anzahl der Spalten muß größer als 0 sein..","invalidHeight":"Die Tabellenbreite muß eine Zahl sein.","invalidRows":"Die Anzahl der Zeilen muß größer als 0 sein.","invalidWidth":"Die Tabellenbreite muss eine Zahl sein.","menu":"Tabellen-Eigenschaften","row":{"menu":"Zeile","insertBefore":"Zeile oberhalb einfügen","insertAfter":"Zeile unterhalb einfügen","deleteRow":"Zeile entfernen"},"rows":"Zeile","summary":"Inhaltsübersicht","title":"Tabellen-Eigenschaften","toolbar":"Tabelle","widthPc":"%","widthPx":"Pixel","widthUnit":"Breite Einheit"},"undo":{"redo":"Wiederherstellen","undo":"Rückgängig"},"widget":{"move":"Zum Verschieben anwählen und ziehen","label":"%1 Steuerelement"},"uploadwidget":{"abort":"Hochladen durch den Benutzer abgebrochen.","doneOne":"Datei erfolgreich hochgeladen.","doneMany":"%1 Dateien erfolgreich hochgeladen.","uploadOne":"Datei wird hochgeladen ({percentage}%)...","uploadMany":"Dateien werden hochgeladen, {current} von {max} fertig ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorieren","btnIgnoreAll":"Alle Ignorieren","btnReplace":"Ersetzen","btnReplaceAll":"Alle Ersetzen","btnUndo":"Rückgängig","changeTo":"Ändern in","errorLoading":"Fehler beim laden des Dienstanbieters: %s.","ieSpellDownload":"Rechtschreibprüfung nicht installiert. Möchten Sie sie jetzt herunterladen?","manyChanges":"Rechtschreibprüfung abgeschlossen - %1 Wörter geändert","noChanges":"Rechtschreibprüfung abgeschlossen - keine Worte geändert","noMispell":"Rechtschreibprüfung abgeschlossen - keine Fehler gefunden","noSuggestions":" - keine Vorschläge - ","notAvailable":"Entschuldigung, aber dieser Dienst steht im Moment nicht zur Verfügung.","notInDic":"Nicht im Wörterbuch","oneChange":"Rechtschreibprüfung abgeschlossen - ein Wort geändert","progress":"Rechtschreibprüfung läuft...","title":"Rechtschreibprüfung","toolbar":"Rechtschreibprüfung"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/el.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['el']={"editor":"Επεξεργαστής Πλούσιου Κειμένου","editorPanel":"Πίνακας Επεξεργαστή Πλούσιου Κειμένου","common":{"editorHelp":"Πατήστε το ALT 0 για βοήθεια","browseServer":"Εξερεύνηση Διακομιστή","url":"URL","protocol":"Πρωτόκολλο","upload":"Αποστολή","uploadSubmit":"Αποστολή στον Διακομιστή","image":"Εικόνα","flash":"Flash","form":"Φόρμα","checkbox":"Κουτί Επιλογής","radio":"Κουμπί Επιλογής","textField":"Πεδίο Κειμένου","textarea":"Περιοχή Κειμένου","hiddenField":"Κρυφό Πεδίο","button":"Κουμπί","select":"Πεδίο Επιλογής","imageButton":"Κουμπί Εικόνας","notSet":"<δεν έχει ρυθμιστεί>","id":"Id","name":"Όνομα","langDir":"Κατεύθυνση Κειμένου","langDirLtr":"Αριστερά προς Δεξιά (LTR)","langDirRtl":"Δεξιά προς Αριστερά (RTL)","langCode":"Κωδικός Γλώσσας","longDescr":"Αναλυτική Περιγραφή URL","cssClass":"Κλάσεις Φύλλων Στυλ","advisoryTitle":"Ενδεικτικός Τίτλος","cssStyle":"Μορφή Κειμένου","ok":"OK","cancel":"Ακύρωση","close":"Κλείσιμο","preview":"Προεπισκόπηση","resize":"Αλλαγή Μεγέθους","generalTab":"Γενικά","advancedTab":"Για Προχωρημένους","validateNumberFailed":"Αυτή η τιμή δεν είναι αριθμός.","confirmNewPage":"Οι όποιες αλλαγές στο περιεχόμενο θα χαθούν. Είσαστε σίγουροι ότι θέλετε να φορτώσετε μια νέα σελίδα;","confirmCancel":"Μερικές επιλογές έχουν αλλάξει. Είσαστε σίγουροι ότι θέλετε να κλείσετε το παράθυρο διαλόγου;","options":"Επιλογές","target":"Προορισμός","targetNew":"Νέο Παράθυρο (_blank)","targetTop":"Αρχική Περιοχή (_top)","targetSelf":"Ίδιο Παράθυρο (_self)","targetParent":"Γονεϊκό Παράθυρο (_parent)","langDirLTR":"Αριστερά προς Δεξιά (LTR)","langDirRTL":"Δεξιά προς Αριστερά (RTL)","styles":"Μορφή","cssClasses":"Κλάσεις Φύλλων Στυλ","width":"Πλάτος","height":"Ύψος","align":"Στοίχιση","left":"Αριστερά","right":"Δεξιά","center":"Κέντρο","justify":"Πλήρης Στοίχιση","alignLeft":"Στοίχιση Αριστερά","alignRight":"Στοίχιση Δεξιά","alignCenter":"Align Center","alignTop":"Πάνω","alignMiddle":"Μέση","alignBottom":"Κάτω","alignNone":"Χωρίς","invalidValue":"Μη έγκυρη τιμή.","invalidHeight":"Το ύψος πρέπει να είναι ένας αριθμός.","invalidWidth":"Το πλάτος πρέπει να είναι ένας αριθμός.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Η τιμή που ορίζεται για το πεδίο \"%1\" πρέπει να είναι ένας θετικός αριθμός με ή χωρίς μια έγκυρη μονάδα μέτρησης CSS (px, %, in, cm, mm, em, ex, pt, ή pc).","invalidHtmlLength":"Η τιμή που ορίζεται για το πεδίο \"%1\" πρέπει να είναι ένας θετικός αριθμός με ή χωρίς μια έγκυρη μονάδα μέτρησης HTML (px ή %).","invalidInlineStyle":"Η τιμή για το εν σειρά στυλ πρέπει να περιέχει ένα ή περισσότερα ζεύγη με την μορφή \"όνομα: τιμή\" διαχωρισμένα με Ελληνικό ερωτηματικό.","cssLengthTooltip":"Εισάγεται μια τιμή σε pixel ή έναν αριθμό μαζί με μια έγκυρη μονάδα μέτρησης CSS (px, %, in, cm, mm, em, ex, pt, ή pc).","unavailable":"%1<span class=\"cke_accessibility\">, δεν είναι διαθέσιμο</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Κενό","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Εντολή"},"keyboardShortcut":"Συντόμευση πληκτρολογίου","optionDefault":"Default"},"about":{"copy":"Πνευματικά δικαιώματα © $1 Με επιφύλαξη παντός δικαιώματος.","dlgTitle":"Περί του CKEditor 4","moreInfo":"Για πληροφορίες σχετικές με την άδεια χρήσης, παρακαλούμε επισκεφθείτε την ιστοσελίδα μας:"},"basicstyles":{"bold":"Έντονη","italic":"Πλάγια","strike":"Διακριτή Διαγραφή","subscript":"Δείκτης","superscript":"Εκθέτης","underline":"Υπογράμμιση"},"bidi":{"ltr":"Διεύθυνση κειμένου από αριστερά στα δεξιά","rtl":"Διεύθυνση κειμένου από δεξιά στα αριστερά"},"blockquote":{"toolbar":"Περιοχή Παράθεσης"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Σύμπτυξη Εργαλειοθήκης","toolbarExpand":"Ανάπτυξη Εργαλειοθήκης","toolbarGroups":{"document":"Έγγραφο","clipboard":"Πρόχειρο/Αναίρεση","editing":"Επεξεργασία","forms":"Φόρμες","basicstyles":"Βασικά Στυλ","paragraph":"Παράγραφος","links":"Σύνδεσμοι","insert":"Εισαγωγή","styles":"Στυλ","colors":"Χρώματα","tools":"Εργαλεία"},"toolbars":"Εργαλειοθήκες επεξεργαστή"},"clipboard":{"copy":"Αντιγραφή","copyError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αντιγραφής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+C).","cut":"Αποκοπή","cutError":"Οι ρυθμίσεις ασφαλείας του περιηγητή σας δεν επιτρέπουν την επιλεγμένη εργασία αποκοπής. Παρακαλώ χρησιμοποιείστε το πληκτρολόγιο (Ctrl/Cmd+X).","paste":"Επικόλληση","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Περιοχή Επικόλλησης","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Αυτόματα","bgColorTitle":"Χρώμα Φόντου","colors":{"000":"Μαύρο","800000":"Καστανέρυθρο","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Βαθυκύανο","000080":"Μπλε μαρέν","4B0082":"Ινδικό","696969":"Σκούρο Γκρι","B22222":"Ανοικτό Κόκκινο","A52A2A":"Καφέ","DAA520":"Golden Rod","006400":"Σκούρο Πράσινο","40E0D0":"Τυρκουάζ","0000CD":"Medium Blue","800080":"Μοβ","808080":"Γκρι","F00":"Κόκκινο","FF8C00":"Σκούρο Πορτοκαλί","FFD700":"Χρυσαφί","008000":"Πράσινο","0FF":"Κυανό","00F":"Μπλε","EE82EE":"Μενεξεδί","A9A9A9":"Ποντικί","FFA07A":"Ανοικτό Σομόν","FFA500":"Πορτοκαλί","FFFF00":"Κίτρινο","00FF00":"Μοσχολέμονο","AFEEEE":"Pale Turquoise","ADD8E6":"Γαλάζιο","DDA0DD":"Δαμασκηνί","D3D3D3":"Ανοικτό Γκρι","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Ανοικτό Κίτρινο","F0FFF0":"Honeydew","F0FFFF":"Γαλανό","F0F8FF":"Alice Blue","E6E6FA":"Ελαφρός Ιώδες","FFF":"Λευκό","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Πορτοκαλί","E67E22":"Καροτί","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Αργυρό","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Περισσότερα Χρώματα…","panelTitle":"Χρώματα","textColorTitle":"Χρώμα Κειμένου"},"colordialog":{"clear":"Εκκαθάριση","highlight":"Σήμανση","options":"Επιλογές Χρωμάτων","selected":"Επιλεγμένο Χρώμα","title":"Επιλογή χρώματος"},"templates":{"button":"Πρότυπα","emptyListMsg":"(Δεν έχουν καθοριστεί πρότυπα)","insertOption":"Αντικατάσταση υπάρχοντων περιεχομένων","options":"Επιλογές Προτύπου","selectPromptMsg":"Παρακαλώ επιλέξτε πρότυπο για εισαγωγή στο πρόγραμμα","title":"Πρότυπα Περιεχομένου"},"contextmenu":{"options":"Επιλογές Αναδυόμενου Μενού"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Ενδεικτικός Τίτλος","cssClassInputLabel":"Κλάσεις Φύλλων Στυλ","edit":"Επεξεργασία Div","inlineStyleInputLabel":"Στυλ Εν Σειρά","langDirLTRLabel":"Αριστερά προς Δεξιά (LTR)","langDirLabel":"Κατεύθυνση Κειμένου","langDirRTLLabel":"Δεξιά προς Αριστερά (RTL)","languageCodeInputLabel":"Κωδικός Γλώσσας","remove":"Διαγραφή Div","styleSelectLabel":"Μορφή","title":"Δημιουργία Div","toolbar":"Δημιουργία Div"},"elementspath":{"eleLabel":"Διαδρομή Στοιχείων","eleTitle":"Στοιχείο %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Εύρεση","findOptions":"Επιλογές Εύρεσης","findWhat":"Εύρεση για:","matchCase":"Ταίριασμα πεζών/κεφαλαίων","matchCyclic":"Αναδρομική εύρεση","matchWord":"Εύρεση μόνο πλήρων λέξεων","notFoundMsg":"Το κείμενο δεν βρέθηκε.","replace":"Αντικατάσταση","replaceAll":"Αντικατάσταση Όλων","replaceSuccessMsg":"Ο(ι) όρος(-οι) αντικαταστήθηκε(-αν) %1 φορές.","replaceWith":"Αντικατάσταση με:","title":"Εύρεση και Αντικατάσταση"},"fakeobjects":{"anchor":"Άγκυρα","flash":"Ταινία Flash","hiddenfield":"Κρυφό Πεδίο","iframe":"IFrame","unknown":"Άγνωστο Αντικείμενο"},"flash":{"access":"Πρόσβαση Script","accessAlways":"Πάντα","accessNever":"Ποτέ","accessSameDomain":"Ίδιο όνομα τομέα","alignAbsBottom":"Απόλυτα Κάτω","alignAbsMiddle":"Απόλυτα στη Μέση","alignBaseline":"Γραμμή Βάσης","alignTextTop":"Κορυφή Κειμένου","bgcolor":"Χρώμα Υποβάθρου","chkFull":"Να Επιτρέπεται η Προβολή σε Πλήρη Οθόνη","chkLoop":"Επανάληψη","chkMenu":"Ενεργοποίηση Flash Menu","chkPlay":"Αυτόματη Εκτέλεση","flashvars":"Μεταβλητές για Flash","hSpace":"Οριζόντιο Διάστημα","properties":"Ιδιότητες Flash","propertiesTab":"Ιδιότητες","quality":"Ποιότητα","qualityAutoHigh":"Αυτόματη Υψηλή","qualityAutoLow":"Αυτόματη Χαμηλή","qualityBest":"Καλύτερη","qualityHigh":"Υψηλή","qualityLow":"Χαμηλή","qualityMedium":"Μεσαία","scale":"Μεγέθυνση","scaleAll":"Εμφάνιση όλων","scaleFit":"Ακριβές Μέγεθος","scaleNoBorder":"Χωρίς Περίγραμμα","title":"Ιδιότητες Flash","vSpace":"Κάθετο Διάστημα","validateHSpace":"Το HSpace πρέπει να είναι αριθμός.","validateSrc":"Εισάγετε την τοποθεσία (URL) του υπερσυνδέσμου (Link)","validateVSpace":"Το VSpace πρέπει να είναι αριθμός.","windowMode":"Τρόπος λειτουργίας παραθύρου","windowModeOpaque":"Συμπαγές","windowModeTransparent":"Διάφανο","windowModeWindow":"Παράθυρο"},"font":{"fontSize":{"label":"Μέγεθος","voiceLabel":"Μέγεθος Γραμματοσειράς","panelTitle":"Μέγεθος Γραμματοσειράς"},"label":"Γραμματοσειρά","panelTitle":"Όνομα Γραμματοσειράς","voiceLabel":"Γραμματοσειρά"},"forms":{"button":{"title":"Ιδιότητες Κουμπιού","text":"Κείμενο (Τιμή)","type":"Τύπος","typeBtn":"Κουμπί","typeSbm":"Υποβολή","typeRst":"Επαναφορά"},"checkboxAndRadio":{"checkboxTitle":"Ιδιότητες Κουτιού Επιλογής","radioTitle":"Ιδιότητες Κουμπιού Επιλογής","value":"Τιμή","selected":"Επιλεγμένο","required":"Απαιτείται"},"form":{"title":"Ιδιότητες Φόρμας","menu":"Ιδιότητες Φόρμας","action":"Ενέργεια","method":"Μέθοδος","encoding":"Κωδικοποίηση"},"hidden":{"title":"Ιδιότητες Κρυφού Πεδίου","name":"Όνομα","value":"Τιμή"},"select":{"title":"Ιδιότητες Πεδίου Επιλογής","selectInfo":"Πληροφορίες Πεδίου Επιλογής","opAvail":"Διαθέσιμες Επιλογές","value":"Τιμή","size":"Μέγεθος","lines":"γραμμές","chkMulti":"Να επιτρέπονται οι πολλαπλές επιλογές","required":"Required","opText":"Κείμενο","opValue":"Τιμή","btnAdd":"Προσθήκη","btnModify":"Τροποποίηση","btnUp":"Πάνω","btnDown":"Κάτω","btnSetValue":"Θέση ως προεπιλογή","btnDelete":"Διαγραφή"},"textarea":{"title":"Ιδιότητ��ς Περιοχής Κειμένου","cols":"Στήλες","rows":"Σειρές"},"textfield":{"title":"Ιδιότητες Πεδίου Κειμένου","name":"Όνομα","value":"Τιμή","charWidth":"Πλάτος Χαρακτήρων","maxChars":"Μέγιστοι χαρακτήρες","required":"Required","type":"Τύπος","typeText":"Κείμενο","typePass":"Κωδικός","typeEmail":"Email","typeSearch":"Αναζήτηση","typeTel":"Αριθμός Τηλεφώνου","typeUrl":"URL"}},"format":{"label":"Μορφοποίηση","panelTitle":"Μορφοποίηση Παραγράφου","tag_address":"Διεύθυνση","tag_div":"Κανονική (DIV)","tag_h1":"Κεφαλίδα 1","tag_h2":"Κεφαλίδα 2","tag_h3":"Κεφαλίδα 3","tag_h4":"Κεφαλίδα 4","tag_h5":"Κεφαλίδα 5","tag_h6":"Κεφαλίδα 6","tag_p":"Κανονική","tag_pre":"Προ-μορφοποιημένη"},"horizontalrule":{"toolbar":"Εισαγωγή Οριζόντιας Γραμμής"},"iframe":{"border":"Προβολή περιγράμματος πλαισίου","noUrl":"Παρακαλούμε εισάγεται το URL του iframe","scrolling":"Ενεργοποίηση μπαρών κύλισης","title":"Ιδιότητες IFrame","toolbar":"IFrame"},"image":{"alt":"Εναλλακτικό Κείμενο","border":"Περίγραμμα","btnUpload":"Αποστολή στον Διακομιστή","button2Img":"Θέλετε να μετατρέψετε το επιλεγμένο κουμπί εικόνας σε απλή εικόνα;","hSpace":"HSpace","img2Button":"Θέλετε να μεταμορφώσετε την επιλεγμένη εικόνα που είναι πάνω σε ένα κουμπί;","infoTab":"Πληροφορίες Εικόνας","linkTab":"Σύνδεσμος","lockRatio":"Κλείδωμα Αναλογίας","menu":"Ιδιότητες Εικόνας","resetSize":"Επαναφορά Αρχικού Μεγέθους","title":"Ιδιότητες Εικόνας","titleButton":"Ιδιότητες Κουμπιού Εικόνας","upload":"Αποστολή","urlMissing":"Το URL πηγής για την εικόνα λείπει.","vSpace":"VSpace","validateBorder":"Το περίγραμμα πρέπει να είναι ένας ακέραιος αριθμός.","validateHSpace":"Το HSpace πρέπει να είναι ένας ακέραιος αριθμός.","validateVSpace":"Το VSpace πρέπει να είναι ένας ακέραιος αριθμός."},"indent":{"indent":"Αύξηση Εσοχής","outdent":"Μείωση Εσοχής"},"smiley":{"options":"Επιλογές Φατσούλων","title":"Εισάγετε μια Φατσούλα","toolbar":"Φατσούλα"},"language":{"button":"Θέση γλώσσας","remove":"Αφαίρεση γλώσσας"},"link":{"acccessKey":"Συντόμευση","advanced":"Για Προχωρημένους","advisoryContentType":"Ενδεικτικός Τύπος Περιεχομένου","advisoryTitle":"Ενδεικτικός Τίτλος","anchor":{"toolbar":"Εισαγωγή/επεξεργασία Άγκυρας","menu":"Ιδιότητες άγκυρας","title":"Ιδιότητες άγκυρας","name":"Όνομα άγκυρας","errorName":"Παρακαλούμε εισάγετε όνομα άγκυρας","remove":"Αφαίρεση Άγκυρας"},"anchorId":"Βάσει του Element Id","anchorName":"Βάσει του Ονόματος Άγκυρας","charset":"Κωδικοποίηση Χαρακτήρων Προσαρτημένης Πηγής","cssClasses":"Κλάσεις Φύλλων Στυλ","download":"Force Download","displayText":"Display Text","emailAddress":"Διεύθυνση E-mail","emailBody":"Κείμενο Μηνύματος","emailSubject":"Θέμα Μηνύματος","id":"Id","info":"Πληροφορίες Συνδέσμου","langCode":"Κατεύθυνση Κειμένου","langDir":"Κατεύθυνση Κειμένου","langDirLTR":"Αριστερά προς Δεξιά (LTR)","langDirRTL":"Δεξιά προς Αριστερά (RTL)","menu":"Επεξεργασία Συνδέσμου","name":"Όνομα","noAnchors":"(Δεν υπάρχουν άγκυρες στο κείμενο)","noEmail":"Εισάγετε τη διεύθυνση ηλεκτρονικού ταχυδρομείου","noUrl":"Εισάγετε την τοποθεσία (URL) του συνδέσμου","noTel":"Please type the phone number","other":"<άλλο>","phoneNumber":"Phone number","popupDependent":"Εξαρτημένο (Netscape)","popupFeatures":"Επιλογές Αναδυόμενου Παραθύρου","popupFullScreen":"Πλήρης Οθόνη (IE)","popupLeft":"Θέση Αριστερά","popupLocationBar":"Γραμμή Τοποθεσίας","popupMenuBar":"Γραμμή Επιλογών","popupResizable":"Προσαρμοζόμενο Μέγεθος","popupScrollBars":"Μπάρες Κύλισης","popupStatusBar":"Γραμμή Κατάστασης","popupToolbar":"Εργαλειοθήκη","popupTop":"Θέση Πάν��","rel":"Σχέση","selectAnchor":"Επιλέξτε μια Άγκυρα","styles":"Μορφή","tabIndex":"Σειρά Μεταπήδησης","target":"Παράθυρο Προορισμού","targetFrame":"<πλαίσιο>","targetFrameName":"Όνομα Πλαισίου Προορισμού","targetPopup":"<αναδυόμενο παράθυρο>","targetPopupName":"Όνομα Αναδυόμενου Παραθύρου","title":"Σύνδεσμος","toAnchor":"Άγκυρα σε αυτήν τη σελίδα","toEmail":"E-Mail","toUrl":"URL","toPhone":"Phone","toolbar":"Σύνδεσμος","type":"Τύπος Συνδέσμου","unlink":"Αφαίρεση Συνδέσμου","upload":"Αποστολή"},"list":{"bulletedlist":"Εισαγωγή/Απομάκρυνση Λίστας Κουκκίδων","numberedlist":"Εισαγωγή/Απομάκρυνση Αριθμημένης Λίστας"},"liststyle":{"bulletedTitle":"Ιδιότητες Λίστας Σημείων","circle":"Κύκλος","decimal":"Δεκαδική (1, 2, 3, κτλ)","disc":"Δίσκος","lowerAlpha":"Μικρά Λατινικά (a, b, c, d, e, κτλ.)","lowerRoman":"Μικρά Ρωμαϊκά (i, ii, iii, iv, v, κτλ)","none":"Καμία","notset":"<δεν έχει οριστεί>","numberedTitle":"Ιδιότητες Αριθμημένης Λίστας ","square":"Τετράγωνο","start":"Εκκίνηση","type":"Τύπος","upperAlpha":"Κεφαλαία Λατινικά (A, B, C, D, E, κτλ)","upperRoman":"Κεφαλαία Ρωμαϊκά (I, II, III, IV, V, κτλ)","validateStartNumber":"Ο αριθμός εκκίνησης της αρίθμησης πρέπει να είναι ακέραιος αριθμός."},"magicline":{"title":"Εισάγετε παράγραφο εδώ"},"maximize":{"maximize":"Μεγιστοποίηση","minimize":"Ελαχιστοποίηση"},"newpage":{"toolbar":"Νέα Σελίδα"},"pagebreak":{"alt":"Αλλαγή Σελίδας","toolbar":"Εισαγωγή Τέλους Σελίδας για Εκτύπωση"},"pastetext":{"button":"Επικόλληση ως απλό κείμενο","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Επικόλληση ως απλό κείμενο"},"pastefromword":{"confirmCleanup":"Το κείμενο που επικολλάται φαίνεται να είναι αντιγραμμένο από το Word. Μήπως θα θέλατε να καθαριστεί προτού επικολληθεί;","error":"Δεν ήταν δυνατό να καθαριστούν τα δεδομένα λόγω ενός εσωτερικού σφάλματος","title":"Επικόλληση από το Word","toolbar":"Επικόλληση από το Word"},"preview":{"preview":"Προεπισκόπιση"},"print":{"toolbar":"Εκτύπωση"},"removeformat":{"toolbar":"Εκκαθάριση Μορφοποίησης"},"save":{"toolbar":"Αποθήκευση"},"selectall":{"toolbar":"Επιλογή όλων"},"showblocks":{"toolbar":"Προβολή Τμημάτων"},"sourcearea":{"toolbar":"Κώδικας"},"specialchar":{"options":"Επιλογές Ειδικών Χαρακτήρων","title":"Επιλέξτε Έναν Ειδικό Χαρακτήρα","toolbar":"Εισαγωγή Ειδικού Χαρακτήρα"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Λεξικά","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Γλώσσες","btn_options":"Επιλογές","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Μορφές","panelTitle":"Στυλ Μορφοποίησης","panelTitle1":"Στυλ Τμημάτων","panelTitle2":"Στυλ Εν Σειρά","panelTitle3":"Στυλ Αντικειμένων"},"table":{"border":"Πάχος Περιγράμματος","caption":"Λεζάντα","cell":{"menu":"Κελί","insertBefore":"Εισαγωγή Κελιού Πριν","insertAfter":"Εισαγωγή Κελιού Μετά","deleteCell":"Διαγραφή Κελιών","merge":"Ενοποίηση Κελιών","mergeRight":"Συγχώνευση Με Δεξιά","mergeDown":"Συγχώνευση Με Κάτω","splitHorizontal":"Οριζόντια Διαίρεση Κελιού","splitVertical":"Κατακόρυφη Διαίρεση Κελιού","title":"Ιδιότητες Κελιού","cellType":"Τύπος Κελιού","rowSpan":"Εύρος Γραμμών","colSpan":"Εύρος Στηλών","wordWrap":"Αναδίπλωση Λέξεων","hAlign":"Οριζόντια Στοίχιση","vAlign":"Κάθετη Στοίχιση","alignBaseline":"Γραμμή Βάσης","bgColor":"Χρώμα Φόντου","borderColor":"Χρώμα Περιγράμματος","data":"Δεδομένα","header":"Κεφαλίδα","yes":"Ναι","no":"Όχι","invalidWidth":"Το πλάτος του κελιού πρέπει να είναι αριθμός.","invalidHeight":"Το ύψος του κελιού πρέπει να είναι αριθμός.","invalidRowSpan":"Το εύρος των γραμμών πρέπει να είναι ακέραιος αριθμός.","invalidColSpan":"Το εύρος των στηλών πρέπει να είναι ακέραιος αριθμός.","chooseColor":"Επιλέξτε"},"cellPad":"Αναπλήρωση κελιών","cellSpace":"Απόσταση κελιών","column":{"menu":"Στήλη","insertBefore":"Εισαγωγή Στήλης Πριν","insertAfter":"Εισαγωγή Στήλης Μετά","deleteColumn":"Διαγραφή Στηλών"},"columns":"Στήλες","deleteTable":"Διαγραφή Πίνακα","headers":"Κεφαλίδες","headersBoth":"Και τα δύο","headersColumn":"Πρώτη στήλη","headersNone":"Κανένα","headersRow":"Πρώτη Γραμμή","invalidBorder":"Το πάχος του περιγράμματος πρέπει να είναι ένας αριθμός.","invalidCellPadding":"Η αναπλήρωση των κελιών πρέπει να είναι θετικός αριθμός.","invalidCellSpacing":"Η απόσταση μεταξύ των κελιών πρέπει να είναι ένας θετικός αριθμός.","invalidCols":"Ο αριθμός των στηλών πρέπει να είναι μεγαλύτερος από 0.","invalidHeight":"Το ύψος του πίνακα πρέπει να είναι αριθμός.","invalidRows":"Ο αριθμός των σειρών πρέπει να είναι μεγαλύτερος από 0.","invalidWidth":"Το πλάτος του πίνακα πρέπει να είναι ένας αριθμός.","menu":"Ιδιότητες Πίνακα","row":{"menu":"Γραμμή","insertBefore":"Εισαγωγή Γραμμής Πριν","insertAfter":"Εισαγωγή Γραμμής Μετά","deleteRow":"Διαγραφή Γραμμών"},"rows":"Γραμμές","summary":"Περίληψη","title":"Ιδιότητες Πίνακα","toolbar":"Πίνακας","widthPc":"τοις εκατό","widthPx":"pixel","widthUnit":"μονάδα πλάτους"},"undo":{"redo":"Επανάληψη","undo":"Αναίρεση"},"widget":{"move":"Κάνετε κλικ και σύρετε το ποντίκι για να μετακινήστε","label":"%1 widget"},"uploadwidget":{"abort":"Αποστολή ακυρώθηκε απο χρήστη.","doneOne":"Αρχείο εστάλη επιτυχώς.","doneMany":"Επιτυχής αποστολή %1 αρχείων.","uploadOne":"Αποστολή αρχείου ({percentage}%)…","uploadMany":"Αποστολή αρχείων, {current} από {max} ολοκληρωμένα ({percentage}%)…"},"wsc":{"btnIgnore":"Αγνόηση","btnIgnoreAll":"Αγνόηση όλων","btnReplace":"Αντικατάσταση","btnReplaceAll":"Αντικατάσταση όλων","btnUndo":"Αναίρεση","changeTo":"Αλλαγή σε","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Δεν υπάρχει εγκατεστημένος ορθογράφος. Θέλετε να τον κατεβάσετε τώρα;","manyChanges":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξαν %1 λέξεις","noChanges":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν άλλαξαν λέξεις","noMispell":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Δεν βρέθηκαν λάθη","noSuggestions":"- Δεν υπάρχουν προτάσεις -","notAvailable":"Η υπηρεσία δεν είναι διαθέσιμη αυτήν την στιγμή.","notInDic":"Δεν υπάρχει στο λεξικό","oneChange":"Ο ορθογραφικός έλεγχος ολοκληρώθηκε: Άλλαξε μια λέξη","progress":"Γίνεται ορθογραφικός έλεγχος...","title":"Ορθογραφικός Έλεγχος","toolbar":"Ορθογραφικός Έλεγχος"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/en-au.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['en-au']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Centre","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Centre","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Greyish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Greyish Cyan","DDD":"Light Grey","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Greyish Cyan","999":"Dark Grey"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Colour Options","selected":"Selected Colour","title":"Select colour"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximise","minimize":"Minimise"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/en-ca.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['en-ca']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Centre","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colours...","panelTitle":"Colors","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/en-gb.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['en-gb']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Drag to resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialogue window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Align","left":"Left","right":"Right","center":"Center","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strike Through","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Colour","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Grey","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Grey","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Grey","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Grey","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colours...","panelTitle":"Colours","textColorTitle":"Text Colour"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Colour Options","selected":"Selected Colour","title":"Select colour"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background colour","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"E-mail","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximise","minimize":"Minimise"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a number.","invalidCellSpacing":"Cell spacing must be a number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/en.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['en']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Press ALT 0 for help","browseServer":"Browse Server","url":"URL","protocol":"Protocol","upload":"Upload","uploadSubmit":"Send it to the Server","image":"Image","flash":"Flash","form":"Form","checkbox":"Checkbox","radio":"Radio Button","textField":"Text Field","textarea":"Textarea","hiddenField":"Hidden Field","button":"Button","select":"Selection Field","imageButton":"Image Button","notSet":"<not set>","id":"Id","name":"Name","langDir":"Language Direction","langDirLtr":"Left to Right (LTR)","langDirRtl":"Right to Left (RTL)","langCode":"Language Code","longDescr":"Long Description URL","cssClass":"Stylesheet Classes","advisoryTitle":"Advisory Title","cssStyle":"Style","ok":"OK","cancel":"Cancel","close":"Close","preview":"Preview","resize":"Resize","generalTab":"General","advancedTab":"Advanced","validateNumberFailed":"This value is not a number.","confirmNewPage":"Any unsaved changes to this content will be lost. Are you sure you want to load new page?","confirmCancel":"You have changed some options. Are you sure you want to close the dialog window?","options":"Options","target":"Target","targetNew":"New Window (_blank)","targetTop":"Topmost Window (_top)","targetSelf":"Same Window (_self)","targetParent":"Parent Window (_parent)","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Width","height":"Height","align":"Alignment","left":"Left","right":"Right","center":"Center","justify":"Justify","alignLeft":"Align Left","alignRight":"Align Right","alignCenter":"Align Center","alignTop":"Top","alignMiddle":"Middle","alignBottom":"Bottom","alignNone":"None","invalidValue":"Invalid value.","invalidHeight":"Height must be a number.","invalidWidth":"Width must be a number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Value specified for the \"%1\" field must be a positive number with or without a valid CSS measurement unit (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"Value specified for the \"%1\" field must be a positive number with or without a valid HTML measurement unit (px or %).","invalidInlineStyle":"Value specified for the inline style must consist of one or more tuples with the format of \"name : value\", separated by semi-colons.","cssLengthTooltip":"Enter a number for a value in pixels or a number with a valid CSS unit (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, unavailable</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"About CKEditor 4","moreInfo":"For licensing information please visit our web site:"},"basicstyles":{"bold":"Bold","italic":"Italic","strike":"Strikethrough","subscript":"Subscript","superscript":"Superscript","underline":"Underline"},"bidi":{"ltr":"Text direction from left to right","rtl":"Text direction from right to left"},"blockquote":{"toolbar":"Block Quote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Collapse Toolbar","toolbarExpand":"Expand Toolbar","toolbarGroups":{"document":"Document","clipboard":"Clipboard/Undo","editing":"Editing","forms":"Forms","basicstyles":"Basic Styles","paragraph":"Paragraph","links":"Links","insert":"Insert","styles":"Styles","colors":"Colors","tools":"Tools"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Copy","copyError":"Your browser security settings don't permit the editor to automatically execute copying operations. Please use the keyboard for that (Ctrl/Cmd+C).","cut":"Cut","cutError":"Your browser security settings don't permit the editor to automatically execute cutting operations. Please use the keyboard for that (Ctrl/Cmd+X).","paste":"Paste","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatic","bgColorTitle":"Background Color","colors":{"000":"Black","800000":"Maroon","8B4513":"Saddle Brown","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Dark Gray","B22222":"Fire Brick","A52A2A":"Brown","DAA520":"Golden Rod","006400":"Dark Green","40E0D0":"Turquoise","0000CD":"Medium Blue","800080":"Purple","808080":"Gray","F00":"Red","FF8C00":"Dark Orange","FFD700":"Gold","008000":"Green","0FF":"Cyan","00F":"Blue","EE82EE":"Violet","A9A9A9":"Dim Gray","FFA07A":"Light Salmon","FFA500":"Orange","FFFF00":"Yellow","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Light Blue","DDA0DD":"Plum","D3D3D3":"Light Grey","FFF0F5":"Lavender Blush","FAEBD7":"Antique White","FFFFE0":"Light Yellow","F0FFF0":"Honeydew","F0FFFF":"Azure","F0F8FF":"Alice Blue","E6E6FA":"Lavender","FFF":"White","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"More Colors...","panelTitle":"Colors","textColorTitle":"Text Color"},"colordialog":{"clear":"Clear","highlight":"Highlight","options":"Color Options","selected":"Selected Color","title":"Select color"},"templates":{"button":"Templates","emptyListMsg":"(No templates defined)","insertOption":"Replace actual contents","options":"Template Options","selectPromptMsg":"Please select the template to open in the editor","title":"Content Templates"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Edit Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Left to Right (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Right to Left (RTL)","languageCodeInputLabel":" Language Code","remove":"Remove Div","styleSelectLabel":"Style","title":"Create Div Container","toolbar":"Create Div Container"},"elementspath":{"eleLabel":"Elements path","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Find","findOptions":"Find Options","findWhat":"Find what:","matchCase":"Match case","matchCyclic":"Match cyclic","matchWord":"Match whole word","notFoundMsg":"The specified text was not found.","replace":"Replace","replaceAll":"Replace All","replaceSuccessMsg":"%1 occurrence(s) replaced.","replaceWith":"Replace with:","title":"Find and Replace"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Hidden Field","iframe":"IFrame","unknown":"Unknown Object"},"flash":{"access":"Script Access","accessAlways":"Always","accessNever":"Never","accessSameDomain":"Same domain","alignAbsBottom":"Abs Bottom","alignAbsMiddle":"Abs Middle","alignBaseline":"Baseline","alignTextTop":"Text Top","bgcolor":"Background color","chkFull":"Allow Fullscreen","chkLoop":"Loop","chkMenu":"Enable Flash Menu","chkPlay":"Auto Play","flashvars":"Variables for Flash","hSpace":"HSpace","properties":"Flash Properties","propertiesTab":"Properties","quality":"Quality","qualityAutoHigh":"Auto High","qualityAutoLow":"Auto Low","qualityBest":"Best","qualityHigh":"High","qualityLow":"Low","qualityMedium":"Medium","scale":"Scale","scaleAll":"Show all","scaleFit":"Exact Fit","scaleNoBorder":"No Border","title":"Flash Properties","vSpace":"VSpace","validateHSpace":"HSpace must be a number.","validateSrc":"URL must not be empty.","validateVSpace":"VSpace must be a number.","windowMode":"Window mode","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Window"},"font":{"fontSize":{"label":"Size","voiceLabel":"Font Size","panelTitle":"Font Size"},"label":"Font","panelTitle":"Font Name","voiceLabel":"Font"},"forms":{"button":{"title":"Button Properties","text":"Text (Value)","type":"Type","typeBtn":"Button","typeSbm":"Submit","typeRst":"Reset"},"checkboxAndRadio":{"checkboxTitle":"Checkbox Properties","radioTitle":"Radio Button Properties","value":"Value","selected":"Selected","required":"Required"},"form":{"title":"Form Properties","menu":"Form Properties","action":"Action","method":"Method","encoding":"Encoding"},"hidden":{"title":"Hidden Field Properties","name":"Name","value":"Value"},"select":{"title":"Selection Field Properties","selectInfo":"Select Info","opAvail":"Available Options","value":"Value","size":"Size","lines":"lines","chkMulti":"Allow multiple selections","required":"Required","opText":"Text","opValue":"Value","btnAdd":"Add","btnModify":"Modify","btnUp":"Up","btnDown":"Down","btnSetValue":"Set as selected value","btnDelete":"Delete"},"textarea":{"title":"Textarea Properties","cols":"Columns","rows":"Rows"},"textfield":{"title":"Text Field Properties","name":"Name","value":"Value","charWidth":"Character Width","maxChars":"Maximum Characters","required":"Required","type":"Type","typeText":"Text","typePass":"Password","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Paragraph Format","tag_address":"Address","tag_div":"Normal (DIV)","tag_h1":"Heading 1","tag_h2":"Heading 2","tag_h3":"Heading 3","tag_h4":"Heading 4","tag_h5":"Heading 5","tag_h6":"Heading 6","tag_p":"Normal","tag_pre":"Formatted"},"horizontalrule":{"toolbar":"Insert Horizontal Line"},"iframe":{"border":"Show frame border","noUrl":"Please type the iframe URL","scrolling":"Enable scrollbars","title":"IFrame Properties","toolbar":"IFrame"},"image":{"alt":"Alternative Text","border":"Border","btnUpload":"Send it to the Server","button2Img":"Do you want to transform the selected image button on a simple image?","hSpace":"HSpace","img2Button":"Do you want to transform the selected image on a image button?","infoTab":"Image Info","linkTab":"Link","lockRatio":"Lock Ratio","menu":"Image Properties","resetSize":"Reset Size","title":"Image Properties","titleButton":"Image Button Properties","upload":"Upload","urlMissing":"Image source URL is missing.","vSpace":"VSpace","validateBorder":"Border must be a whole number.","validateHSpace":"HSpace must be a whole number.","validateVSpace":"VSpace must be a whole number."},"indent":{"indent":"Increase Indent","outdent":"Decrease Indent"},"smiley":{"options":"Smiley Options","title":"Insert a Smiley","toolbar":"Smiley"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Access Key","advanced":"Advanced","advisoryContentType":"Advisory Content Type","advisoryTitle":"Advisory Title","anchor":{"toolbar":"Anchor","menu":"Edit Anchor","title":"Anchor Properties","name":"Anchor Name","errorName":"Please type the anchor name","remove":"Remove Anchor"},"anchorId":"By Element Id","anchorName":"By Anchor Name","charset":"Linked Resource Charset","cssClasses":"Stylesheet Classes","download":"Force Download","displayText":"Display Text","emailAddress":"E-Mail Address","emailBody":"Message Body","emailSubject":"Message Subject","id":"Id","info":"Link Info","langCode":"Language Code","langDir":"Language Direction","langDirLTR":"Left to Right (LTR)","langDirRTL":"Right to Left (RTL)","menu":"Edit Link","name":"Name","noAnchors":"(No anchors available in the document)","noEmail":"Please type the e-mail address","noUrl":"Please type the link URL","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Dependent (Netscape)","popupFeatures":"Popup Window Features","popupFullScreen":"Full Screen (IE)","popupLeft":"Left Position","popupLocationBar":"Location Bar","popupMenuBar":"Menu Bar","popupResizable":"Resizable","popupScrollBars":"Scroll Bars","popupStatusBar":"Status Bar","popupToolbar":"Toolbar","popupTop":"Top Position","rel":"Relationship","selectAnchor":"Select an Anchor","styles":"Style","tabIndex":"Tab Index","target":"Target","targetFrame":"<frame>","targetFrameName":"Target Frame Name","targetPopup":"<popup window>","targetPopupName":"Popup Window Name","title":"Link","toAnchor":"Link to anchor in the text","toEmail":"E-mail","toUrl":"URL","toPhone":"Phone","toolbar":"Link","type":"Link Type","unlink":"Unlink","upload":"Upload"},"list":{"bulletedlist":"Insert/Remove Bulleted List","numberedlist":"Insert/Remove Numbered List"},"liststyle":{"bulletedTitle":"Bulleted List Properties","circle":"Circle","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lower Alpha (a, b, c, d, e, etc.)","lowerRoman":"Lower Roman (i, ii, iii, iv, v, etc.)","none":"None","notset":"<not set>","numberedTitle":"Numbered List Properties","square":"Square","start":"Start","type":"Type","upperAlpha":"Upper Alpha (A, B, C, D, E, etc.)","upperRoman":"Upper Roman (I, II, III, IV, V, etc.)","validateStartNumber":"List start number must be a whole number."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maximize","minimize":"Minimize"},"newpage":{"toolbar":"New Page"},"pagebreak":{"alt":"Page Break","toolbar":"Insert Page Break for Printing"},"pastetext":{"button":"Paste as plain text","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"The text you want to paste seems to be copied from Word. Do you want to clean it before pasting?","error":"It was not possible to clean up the pasted data due to an internal error","title":"Paste from Word","toolbar":"Paste from Word"},"preview":{"preview":"Preview"},"print":{"toolbar":"Print"},"removeformat":{"toolbar":"Remove Format"},"save":{"toolbar":"Save"},"selectall":{"toolbar":"Select All"},"showblocks":{"toolbar":"Show Blocks"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Special Character Options","title":"Select Special Character","toolbar":"Insert Special Character"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Formatting Styles","panelTitle1":"Block Styles","panelTitle2":"Inline Styles","panelTitle3":"Object Styles"},"table":{"border":"Border size","caption":"Caption","cell":{"menu":"Cell","insertBefore":"Insert Cell Before","insertAfter":"Insert Cell After","deleteCell":"Delete Cells","merge":"Merge Cells","mergeRight":"Merge Right","mergeDown":"Merge Down","splitHorizontal":"Split Cell Horizontally","splitVertical":"Split Cell Vertically","title":"Cell Properties","cellType":"Cell Type","rowSpan":"Rows Span","colSpan":"Columns Span","wordWrap":"Word Wrap","hAlign":"Horizontal Alignment","vAlign":"Vertical Alignment","alignBaseline":"Baseline","bgColor":"Background Color","borderColor":"Border Color","data":"Data","header":"Header","yes":"Yes","no":"No","invalidWidth":"Cell width must be a number.","invalidHeight":"Cell height must be a number.","invalidRowSpan":"Rows span must be a whole number.","invalidColSpan":"Columns span must be a whole number.","chooseColor":"Choose"},"cellPad":"Cell padding","cellSpace":"Cell spacing","column":{"menu":"Column","insertBefore":"Insert Column Before","insertAfter":"Insert Column After","deleteColumn":"Delete Columns"},"columns":"Columns","deleteTable":"Delete Table","headers":"Headers","headersBoth":"Both","headersColumn":"First column","headersNone":"None","headersRow":"First Row","invalidBorder":"Border size must be a number.","invalidCellPadding":"Cell padding must be a positive number.","invalidCellSpacing":"Cell spacing must be a positive number.","invalidCols":"Number of columns must be a number greater than 0.","invalidHeight":"Table height must be a number.","invalidRows":"Number of rows must be a number greater than 0.","invalidWidth":"Table width must be a number.","menu":"Table Properties","row":{"menu":"Row","insertBefore":"Insert Row Before","insertAfter":"Insert Row After","deleteRow":"Delete Rows"},"rows":"Rows","summary":"Summary","title":"Table Properties","toolbar":"Table","widthPc":"percent","widthPx":"pixels","widthUnit":"width unit"},"undo":{"redo":"Redo","undo":"Undo"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/eo.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['eo']={"editor":"RiĉTeksta Redaktilo","editorPanel":"Panelo de la RiĉTeksta Redaktilo","common":{"editorHelp":"Premu ALT 0 por helpilo","browseServer":"Foliumi en la Servilo","url":"URL","protocol":"Protokolo","upload":"Alŝuti","uploadSubmit":"Sendu al Servilo","image":"Bildo","flash":"Flaŝo","form":"Formularo","checkbox":"Markobutono","radio":"Radiobutono","textField":"Teksta kampo","textarea":"Teksta Areo","hiddenField":"Kaŝita Kampo","button":"Butono","select":"Elekta Kampo","imageButton":"Bildbutono","notSet":"<Defaŭlta>","id":"Id","name":"Nomo","langDir":"Skribdirekto","langDirLtr":"De maldekstro dekstren (LTR)","langDirRtl":"De dekstro maldekstren (RTL)","langCode":"Lingva Kodo","longDescr":"URL de Longa Priskribo","cssClass":"Klasoj de Stilfolioj","advisoryTitle":"Priskriba Titolo","cssStyle":"Stilo","ok":"Akcepti","cancel":"Rezigni","close":"Fermi","preview":"Vidigi Aspekton","resize":"Movigi por ŝanĝi la grandon","generalTab":"Ĝenerala","advancedTab":"Speciala","validateNumberFailed":"Tiu valoro ne estas nombro.","confirmNewPage":"La neregistritaj ŝanĝoj estas perdotaj. Ĉu vi certas, ke vi volas ŝargi novan paĝon?","confirmCancel":"Iuj opcioj esta ŝanĝitaj. Ĉu vi certas, ke vi volas fermi la dialogon?","options":"Opcioj","target":"Celo","targetNew":"Nova Fenestro (_blank)","targetTop":"Supra Fenestro (_top)","targetSelf":"Sama Fenestro (_self)","targetParent":"Patra Fenestro (_parent)","langDirLTR":"De maldekstro dekstren (LTR)","langDirRTL":"De dekstro maldekstren (RTL)","styles":"Stilo","cssClasses":"Stilfoliaj Klasoj","width":"Larĝo","height":"Alto","align":"Ĝisrandigo","left":"Maldekstre","right":"Dekstre","center":"Centre","justify":"Ĝisrandigi Ambaŭflanke","alignLeft":"Ĝisrandigi maldekstren","alignRight":"Ĝisrandigi dekstren","alignCenter":"Align Center","alignTop":"Supre","alignMiddle":"Centre","alignBottom":"Malsupre","alignNone":"Neniu","invalidValue":"Nevalida Valoro","invalidHeight":"Alto devas esti nombro.","invalidWidth":"Larĝo devas esti nombro.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valoro indikita por la \"%1\" kampo devas esti pozitiva nombro kun aŭ sen valida CSSmezurunuo (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"La valoro indikita por la \"%1\" kampo devas esti pozitiva nombro kun aŭ sen valida HTMLmezurunuo (px or %).","invalidInlineStyle":"La valoro indikita por la enlinia stilo devas konsisti el unu aŭ pluraj elementoj kun la formato de \"nomo : valoro\", apartigitaj per punktokomoj.","cssLengthTooltip":"Entajpu nombron por rastrumera valoro aŭ nombron kun valida CSSunuo (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, nehavebla</span>","keyboard":{"8":"Retropaŝo","13":"Enigi","16":"Registrumo","17":"Stirklavo","18":"Alt-klavo","32":"Spaco","35":"Fino","36":"Hejmo","46":"Forigi","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Komando"},"keyboardShortcut":"Fulmoklavo","optionDefault":"Defaŭlta"},"about":{"copy":"Copyright © $1. Ĉiuj rajtoj rezervitaj.","dlgTitle":"Pri CKEditor 4","moreInfo":"Por informoj pri licenco, bonvolu viziti nian retpaĝaron:"},"basicstyles":{"bold":"Grasa","italic":"Kursiva","strike":"Trastreko","subscript":"Suba indico","superscript":"Supra indico","underline":"Substreko"},"bidi":{"ltr":"Tekstdirekto de maldekstre dekstren","rtl":"Tekstdirekto de dekstre maldekstren"},"blockquote":{"toolbar":"Citaĵo"},"notification":{"closed":"Sciigo fermita"},"toolbar":{"toolbarCollapse":"Faldi la ilbreton","toolbarExpand":"Malfaldi la ilbreton","toolbarGroups":{"document":"Dokumento","clipboard":"Poŝo/Malfari","editing":"Redaktado","forms":"Formularoj","basicstyles":"Bazaj stiloj","paragraph":"Paragrafo","links":"Ligiloj","insert":"Enmeti","styles":"Stiloj","colors":"Koloroj","tools":"Iloj"},"toolbars":"Ilobretoj de la redaktilo"},"clipboard":{"copy":"Kopii","copyError":"La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras kopiajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-C).","cut":"Eltondi","cutError":"La sekurecagordo de via TTT-legilo ne permesas, ke la redaktilo faras eltondajn operaciojn. Bonvolu uzi la klavaron por tio (Ctrl/Cmd-X).","paste":"Interglui","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Intergluoareo","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Aŭtomata","bgColorTitle":"Fona Koloro","colors":{"000":"Nigra","800000":"Kaŝtankolora","8B4513":"Mezbruna","2F4F4F":"Ardezgriza","008080":"Marĉanaskolora","000080":"Maristblua","4B0082":"Indigokolora","696969":"Malhelgriza","B22222":"Brikruĝa","A52A2A":"Bruna","DAA520":"Senbrilorkolora","006400":"Malhelverda","40E0D0":"Turkisblua","0000CD":"Reĝblua","800080":"Purpura","808080":"Griza","F00":"Ruĝa","FF8C00":"Malheloranĝkolora","FFD700":"Orkolora","008000":"Verda","0FF":"Verdblua","00F":"Blua","EE82EE":"Viola","A9A9A9":"Mezgriza","FFA07A":"Salmokolora","FFA500":"Oranĝkolora","FFFF00":"Flava","00FF00":"Limetkolora","AFEEEE":"Helturkiskolora","ADD8E6":"Helblua","DDA0DD":"Prunkolora","D3D3D3":"Helgriza","FFF0F5":"Lavendkolora vangoŝminko","FAEBD7":"Antikvablanka","FFFFE0":"Helflava","F0FFF0":"Vintromelonkolora","F0FFFF":"Lazura","F0F8FF":"Aliceblua","E6E6FA":"Lavendkolora","FFF":"Blanka","1ABC9C":"Fortverdblua","2ECC71":"Smeraldkolora","3498DB":"Brilblua","9B59B6":"Ametistkolora","4E5F70":"Grizblua","F1C40F":"Brilflava","16A085":"Malhelverdblua","27AE60":"Malhelsmeraldkolora","2980B9":"Fortblua","8E44AD":"Malhelviola","2C3E50":"Malsaturita Bluo","F39C12":"Oranĝkolora","E67E22":"Karotkolora","E74C3C":"Pale Ruĝa","ECF0F1":"Brile Arĝenta","95A5A6":"Helgrizverdblua","DDD":"Helgriza","D35400":"Kukurbokolora","C0392B":"Forte ruĝa","BDC3C7":"Arĝenta","7F8C8D":"Grizverdblua","999":"Malhelgriza"},"more":"Pli da Koloroj...","panelTitle":"Koloroj","textColorTitle":"Teksta Koloro"},"colordialog":{"clear":"Forigi","highlight":"Detaloj","options":"Opcioj pri koloroj","selected":"Selektita koloro","title":"Selekti koloron"},"templates":{"button":"Ŝablonoj","emptyListMsg":"(Neniu ŝablono difinita)","insertOption":"Anstataŭigi la nunan enhavon","options":"Opcioj pri ŝablonoj","selectPromptMsg":"Bonvolu selekti la ŝablonon por malfermi ĝin en la redaktilo","title":"Enhavo de ŝablonoj"},"contextmenu":{"options":"Opcioj de Kunteksta Menuo"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Priskriba Titolo","cssClassInputLabel":"Stilfolioklasoj","edit":"Redakti Div","inlineStyleInputLabel":"Enlinia stilo","langDirLTRLabel":"Maldekstre dekstren (angle LTR)","langDirLabel":"Skribdirekto","langDirRTLLabel":"Dekstre maldekstren (angle RTL)","languageCodeInputLabel":" Lingvokodo","remove":"Forigi Div","styleSelectLabel":"Stilo","title":"Krei DIV ujon","toolbar":"Krei DIV ujon"},"elementspath":{"eleLabel":"Vojo al Elementoj","eleTitle":"%1 elementoj"},"filetools":{"loadError":"Eraro okazis dum la dosiera legado.","networkError":"Reta eraro okazis dum la dosiera alŝuto.","httpError404":"HTTP eraro okazis dum la dosiera alŝuto (404: dosiero ne trovita).","httpError403":"HTTP eraro okazis dum la dosiera alŝuto (403: malpermesita).","httpError":"HTTP eraro okazis dum la dosiera alŝuto (erara stato: %1).","noUrlError":"Alŝuta URL ne estas difinita.","responseError":"Malĝusta respondo de la servilo."},"find":{"find":"Serĉi","findOptions":"Opcioj pri Serĉado","findWhat":"Serĉi:","matchCase":"Kongruigi Usklecon","matchCyclic":"Cikla Serĉado","matchWord":"Tuta Vorto","notFoundMsg":"La celteksto ne estas trovita.","replace":"Anstataŭigi","replaceAll":"Anstataŭigi Ĉion","replaceSuccessMsg":"%1 anstataŭigita(j) apero(j).","replaceWith":"Anstataŭigi per:","title":"Serĉi kaj Anstataŭigi"},"fakeobjects":{"anchor":"Ankro","flash":"FlaŝAnimacio","hiddenfield":"Kaŝita kampo","iframe":"Enlinia Kadro (IFrame)","unknown":"Nekonata objekto"},"flash":{"access":"Atingi skriptojn","accessAlways":"Ĉiam","accessNever":"Neniam","accessSameDomain":"Sama domajno","alignAbsBottom":"Absoluta Malsupro","alignAbsMiddle":"Absoluta Centro","alignBaseline":"TekstoMalsupro","alignTextTop":"TekstoSupro","bgcolor":"Fona Koloro","chkFull":"Permesi tutekranon","chkLoop":"Iteracio","chkMenu":"Ebligi flaŝmenuon","chkPlay":"Aŭtomata legado","flashvars":"Variabloj por Flaŝo","hSpace":"Horizontala Spaco","properties":"Flaŝatributoj","propertiesTab":"Atributoj","quality":"Kvalito","qualityAutoHigh":"Aŭtomate alta","qualityAutoLow":"Aŭtomate malalta","qualityBest":"Plej bona","qualityHigh":"Alta","qualityLow":"Malalta","qualityMedium":"Meza","scale":"Skalo","scaleAll":"Montri ĉion","scaleFit":"Origina grando","scaleNoBorder":"Neniu bordero","title":"Flaŝatributoj","vSpace":"Vertikala Spaco","validateHSpace":"Horizontala Spaco devas esti nombro.","validateSrc":"Bonvolu entajpi la retadreson (URL)","validateVSpace":"Vertikala Spaco devas esti nombro.","windowMode":"Fenestra reĝimo","windowModeOpaque":"Opaka","windowModeTransparent":"Travidebla","windowModeWindow":"Fenestro"},"font":{"fontSize":{"label":"Grado","voiceLabel":"Tipara grado","panelTitle":"Tipara grado"},"label":"Tiparo","panelTitle":"Tipara nomo","voiceLabel":"Tiparo"},"forms":{"button":{"title":"Butonaj atributoj","text":"Teksto (Valoro)","type":"Tipo","typeBtn":"Butono","typeSbm":"Validigi (submit)","typeRst":"Remeti en la originstaton (Reset)"},"checkboxAndRadio":{"checkboxTitle":"Markobutonaj Atributoj","radioTitle":"Radiobutonaj Atributoj","value":"Valoro","selected":"Selektita","required":"Postulata"},"form":{"title":"Formularaj Atributoj","menu":"Formularaj Atributoj","action":"Ago","method":"Metodo","encoding":"Kodoprezento"},"hidden":{"title":"Atributoj de Kaŝita Kampo","name":"Nomo","value":"Valoro"},"select":{"title":"Atributoj de Elekta Kampo","selectInfo":"Informoj pri la rulummenuo","opAvail":"Elektoj Disponeblaj","value":"Valoro","size":"Grando","lines":"Linioj","chkMulti":"Permesi Plurajn Elektojn","required":"Postulata","opText":"Teksto","opValue":"Valoro","btnAdd":"Aldoni","btnModify":"Modifi","btnUp":"Supren","btnDown":"Malsupren","btnSetValue":"Agordi kiel Elektitan Valoron","btnDelete":"Forigi"},"textarea":{"title":"Atributoj de Teksta Areo","cols":"Kolumnoj","rows":"Linioj"},"textfield":{"title":"Atributoj de Teksta Kampo","name":"Nomo","value":"Valoro","charWidth":"Signolarĝo","maxChars":"Maksimuma Nombro da Signoj","required":"Postulata","type":"Tipo","typeText":"Teksto","typePass":"Pasvorto","typeEmail":"retpoŝtadreso","typeSearch":"Serĉi","typeTel":"Telefonnumero","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"ParagrafFormato","tag_address":"Adreso","tag_div":"Normala (DIV)","tag_h1":"Titolo 1","tag_h2":"Titolo 2","tag_h3":"Titolo 3","tag_h4":"Titolo 4","tag_h5":"Titolo 5","tag_h6":"Titolo 6","tag_p":"Normala","tag_pre":"Formatita"},"horizontalrule":{"toolbar":"Enmeti Horizontalan Linion"},"iframe":{"border":"Montri borderon de kadro (frame)","noUrl":"Bonvolu entajpi la retadreson de la ligilo al la enlinia kadro (IFrame)","scrolling":"Ebligi rulumskalon","title":"Atributoj de la enlinia kadro (IFrame)","toolbar":"Enlinia kadro (IFrame)"},"image":{"alt":"Anstataŭiga Teksto","border":"Bordero","btnUpload":"Sendu al Servilo","button2Img":"Ĉu vi volas transformi la selektitan bildbutonon en simplan bildon?","hSpace":"Horizontala Spaco","img2Button":"Ĉu vi volas transformi la selektitan bildon en bildbutonon?","infoTab":"Informoj pri Bildo","linkTab":"Ligilo","lockRatio":"Konservi Proporcion","menu":"Atributoj de Bildo","resetSize":"Origina Grando","title":"Atributoj de Bildo","titleButton":"Bildbutonaj Atributoj","upload":"Alŝuti","urlMissing":"La fontretadreso de la bildo mankas.","vSpace":"Vertikala Spaco","validateBorder":"La bordero devas esti entjera nombro.","validateHSpace":"La horizontala spaco devas esti entjera nombro.","validateVSpace":"La vertikala spaco devas esti entjera nombro."},"indent":{"indent":"Pligrandigi Krommarĝenon","outdent":"Malpligrandigi Krommarĝenon"},"smiley":{"options":"Opcioj pri mienvinjetoj","title":"Enmeti Mienvinjeton","toolbar":"Mienvinjeto"},"language":{"button":"Instali lingvon","remove":"Forigi lingvon"},"link":{"acccessKey":"Fulmoklavo","advanced":"Speciala","advisoryContentType":"Enhavotipo","advisoryTitle":"Priskriba Titolo","anchor":{"toolbar":"Ankro","menu":"Enmeti/Ŝanĝi Ankron","title":"Ankraj Atributoj","name":"Ankra Nomo","errorName":"Bv entajpi la ankran nomon","remove":"Forigi Ankron"},"anchorId":"Per Elementidentigilo","anchorName":"Per Ankronomo","charset":"Signaro de la Ligita Rimedo","cssClasses":"Klasoj de Stilfolioj","download":"Altrudi Elŝuton","displayText":"Vidigi Tekston","emailAddress":"Retpoŝto","emailBody":"Mesaĝa korpo","emailSubject":"Mesaĝa Temo","id":"Id","info":"Informoj pri la Ligilo","langCode":"Lingva Kodo","langDir":"Skribdirekto","langDirLTR":"De maldekstro dekstren (LTR)","langDirRTL":"De dekstro maldekstren (RTL)","menu":"Ŝanĝi Ligilon","name":"Nomo","noAnchors":"<Ne disponeblas ankroj en la dokumento>","noEmail":"Bonvolu entajpi la retpoŝtadreson","noUrl":"Bonvolu entajpi la URL-on","noTel":"Please type the phone number","other":"<alia>","phoneNumber":"Phone number","popupDependent":"Dependa (Netscape)","popupFeatures":"Atributoj de la Ŝprucfenestro","popupFullScreen":"Tutekrane (IE)","popupLeft":"Maldekstra Pozicio","popupLocationBar":"Adresobreto","popupMenuBar":"Menubreto","popupResizable":"Dimensiŝanĝebla","popupScrollBars":"Rulumskaloj","popupStatusBar":"Statobreto","popupToolbar":"Ilobreto","popupTop":"Supra Pozicio","rel":"Rilato","selectAnchor":"Elekti Ankron","styles":"Stilo","tabIndex":"Taba Indekso","target":"Celo","targetFrame":"<kadro>","targetFrameName":"Nomo de CelKadro","targetPopup":"<ŝprucfenestro>","targetPopupName":"Nomo de Ŝprucfenestro","title":"Ligilo","toAnchor":"Ankri en tiu ĉi paĝo","toEmail":"Retpoŝto","toUrl":"URL","toPhone":"Phone","toolbar":"Enmeti/Ŝanĝi Ligilon","type":"Tipo de Ligilo","unlink":"Forigi Ligilon","upload":"Alŝuti"},"list":{"bulletedlist":"Bula Listo","numberedlist":"Numera Listo"},"liststyle":{"bulletedTitle":"Atributoj de Bula Listo","circle":"Cirklo","decimal":"Dekumaj Nombroj (1, 2, 3, ktp.)","disc":"Disko","lowerAlpha":"Minusklaj Literoj (a, b, c, d, e, ktp.)","lowerRoman":"Minusklaj Romanaj Nombroj (i, ii, iii, iv, v, ktp.)","none":"Neniu","notset":"<Defaŭlta>","numberedTitle":"Atributoj de Numera Listo","square":"kvadrato","start":"Komenco","type":"Tipo","upperAlpha":"Majusklaj Literoj (A, B, C, D, E, ktp.)","upperRoman":"Majusklaj Romanaj Nombroj (I, II, III, IV, V, ktp.)","validateStartNumber":"La unua listero devas esti entjera nombro."},"magicline":{"title":"Enmeti paragrafon ĉi-tien"},"maximize":{"maximize":"Pligrandigi","minimize":"Malgrandigi"},"newpage":{"toolbar":"Nova Paĝo"},"pagebreak":{"alt":"Paĝavanco","toolbar":"Enmeti Paĝavancon por Presado"},"pastetext":{"button":"Interglui kiel platan tekston","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Interglui kiel platan tekston"},"pastefromword":{"confirmCleanup":"La teksto, kiun vi volas interglui, ŝajnas esti kopiita el Word. Ĉu vi deziras purigi ĝin antaŭ intergluo?","error":"Ne eblis purigi la intergluitajn datenojn pro interna eraro","title":"Interglui el Word","toolbar":"Interglui el Word"},"preview":{"preview":"Vidigi Aspekton"},"print":{"toolbar":"Presi"},"removeformat":{"toolbar":"Forigi Formaton"},"save":{"toolbar":"Konservi"},"selectall":{"toolbar":"Elekti ĉion"},"showblocks":{"toolbar":"Montri la blokojn"},"sourcearea":{"toolbar":"Fonto"},"specialchar":{"options":"Opcioj pri Specialaj Signoj","title":"Selekti Specialan Signon","toolbar":"Enmeti Specialan Signon"},"scayt":{"btn_about":"Pri OKDVT","btn_dictionaries":"Vortaroj","btn_disable":"Malebligi OKDVT","btn_enable":"Ebligi OKDVT","btn_langs":"Lingvoj","btn_options":"Opcioj","text_title":"OrtografiKontrolado Dum Vi Tajpas (OKDVT)"},"stylescombo":{"label":"Stiloj","panelTitle":"Stiloj pri enpaĝigo","panelTitle1":"Stiloj de blokoj","panelTitle2":"Enliniaj Stiloj","panelTitle3":"Stiloj de objektoj"},"table":{"border":"Bordero","caption":"Tabeltitolo","cell":{"menu":"Ĉelo","insertBefore":"Enmeti Ĉelon Antaŭ","insertAfter":"Enmeti Ĉelon Post","deleteCell":"Forigi la Ĉelojn","merge":"Kunfandi la Ĉelojn","mergeRight":"Kunfandi dekstren","mergeDown":"Kunfandi malsupren ","splitHorizontal":"Horizontale dividi","splitVertical":"Vertikale dividi","title":"Ĉelatributoj","cellType":"Ĉeltipo","rowSpan":"Kunfando de linioj","colSpan":"Kunfando de kolumnoj","wordWrap":"Cezuro","hAlign":"Horizontala ĝisrandigo","vAlign":"Vertikala ĝisrandigo","alignBaseline":"Malsupro de la teksto","bgColor":"Fonkoloro","borderColor":"Borderkoloro","data":"Datenoj","header":"Supra paĝotitolo","yes":"Jes","no":"No","invalidWidth":"Ĉellarĝo devas esti nombro.","invalidHeight":"Ĉelalto devas esti nombro.","invalidRowSpan":"Kunfando de linioj devas esti entjera nombro.","invalidColSpan":"Kunfando de kolumnoj devas esti entjera nombro.","chooseColor":"Elektu"},"cellPad":"Interna Marĝeno de la ĉeloj","cellSpace":"Spaco inter la Ĉeloj","column":{"menu":"Kolumno","insertBefore":"Enmeti kolumnon antaŭ","insertAfter":"Enmeti kolumnon post","deleteColumn":"Forigi Kolumnojn"},"columns":"Kolumnoj","deleteTable":"Forigi Tabelon","headers":"Supraj Paĝotitoloj","headersBoth":"Ambaŭ","headersColumn":"Unua kolumno","headersNone":"Neniu","headersRow":"Unua linio","invalidBorder":"La bordergrando devas esti nombro.","invalidCellPadding":"La interna marĝeno en la ĉeloj devas esti pozitiva nombro.","invalidCellSpacing":"La spaco inter la ĉeloj devas esti pozitiva nombro.","invalidCols":"La nombro de la kolumnoj devas superi 0.","invalidHeight":"La tabelalto devas esti nombro.","invalidRows":"La nombro de la linioj devas superi 0.","invalidWidth":"La tabellarĝo devas esti nombro.","menu":"Atributoj de Tabelo","row":{"menu":"Linio","insertBefore":"Enmeti linion antaŭ","insertAfter":"Enmeti linion post","deleteRow":"Forigi Liniojn"},"rows":"Linioj","summary":"Resumo","title":"Atributoj de Tabelo","toolbar":"Tabelo","widthPc":"elcentoj","widthPx":"Rastrumeroj","widthUnit":"unuo de larĝo"},"undo":{"redo":"Refari","undo":"Malfari"},"widget":{"move":"klaki kaj treni por movi","label":"%1 fenestraĵo"},"uploadwidget":{"abort":"Alŝuto ĉesigita de la uzanto","doneOne":"Dosiero sukcese alŝutita.","doneMany":"Sukcese alŝutitaj %1 dosieroj.","uploadOne":"alŝutata dosiero ({percentage}%)...","uploadMany":"Alŝutataj dosieroj, {current} el {max} faritaj ({percentage}%)..."},"wsc":{"btnIgnore":"Ignori","btnIgnoreAll":"Ignori Ĉion","btnReplace":"Anstataŭigi","btnReplaceAll":"Anstataŭigi Ĉion","btnUndo":"Malfari","changeTo":"Ŝanĝi al","errorLoading":"Eraro en la servoelŝuto el la gastiga komputiko: %s.","ieSpellDownload":"Ortografikontrolilo ne instalita. Ĉu vi volas elŝuti ĝin nun?","manyChanges":"Ortografikontrolado finita: %1 vortoj korektitaj","noChanges":"Ortografikontrolado finita: neniu vorto korektita","noMispell":"Ortografikontrolado finita: neniu eraro trovita","noSuggestions":"- Neniu propono -","notAvailable":"Bedaŭrinde la servo ne funkcias nuntempe.","notInDic":"Ne trovita en la vortaro","oneChange":"Ortografikontrolado finita: unu vorto korektita","progress":"La ortografio estas kontrolata...","title":"Kontroli la ortografion","toolbar":"Kontroli la ortografion"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/es-mx.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['es-mx']={"editor":"Editor de texto enriquecido","editorPanel":"Panel del editor de texto","common":{"editorHelp":"Presiona ALT + 0 para ayuda","browseServer":"Examinar servidor","url":"URL","protocol":"Protocolo","upload":"Subir","uploadSubmit":"Enviar al servidor","image":"Imagen","flash":"Flash","form":"Formulario","checkbox":"Casilla de verificación","radio":"Botón de opción","textField":"Campo de texto","textarea":"Área de texto","hiddenField":"Campo oculto","button":"Botón","select":"Campo de selección","imageButton":"Botón de imagen","notSet":"<not set>","id":"Id","name":"Nombre","langDir":"Dirección de idiomas","langDirLtr":"Izquierda a derecha (LTR)","langDirRtl":"Derecha a izquierda (RTL)","langCode":"Código de lenguaje","longDescr":"URL descripción larga","cssClass":"Clases de hoja de estilo","advisoryTitle":"Título del anuncio","cssStyle":"Estilo","ok":"OK","cancel":"Cancelar","close":"Cerrar","preview":"Vista previa","resize":"Redimensionar","generalTab":"General","advancedTab":"Avanzada","validateNumberFailed":"Este valor no es un número.","confirmNewPage":"Se perderán todos los cambios no guardados en este contenido. ¿Seguro que quieres cargar nueva página?","confirmCancel":"Ha cambiado algunas opciones. ¿Está seguro de que desea cerrar la ventana de diálogo?","options":"Opciones","target":"Objetivo","targetNew":"Nueva ventana (_blank)","targetTop":"Ventana superior (_top)","targetSelf":"Misma ventana (_self)","targetParent":"Ventana principal (_parent)","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","styles":"Estilo","cssClasses":"Clases de hojas de estilo","width":"Ancho","height":"Alto","align":"Alineación","left":"Izquierda","right":"Derecha","center":"Centrado","justify":"Justificado","alignLeft":"Alinear a la izquierda","alignRight":"Alinear a la derecha","alignCenter":"Align Center","alignTop":"Arriba","alignMiddle":"En medio","alignBottom":"Abajo","alignNone":"Ninguno","invalidValue":"Valor inválido","invalidHeight":"La altura debe ser un número.","invalidWidth":"La anchura debe ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificado para el campo \"% 1\" debe ser un número positivo con o sin una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"El valor especificado para el campo \"% 1\" debe ser un número positivo con o sin una unidad de medición HTML válida (px or %).","invalidInlineStyle":"El valor especificado para el estilo en línea debe constar de una o más tuplas con el formato de \"nombre: valor\", separados por punto y coma","cssLengthTooltip":"Introduzca un número para un valor en píxeles o un número con una unidad CSS válida (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retroceso","13":"Intro","16":"Shift","17":"Ctrl","18":"Alt","32":"Espacio","35":"Fin","36":"Inicio","46":"Borrar","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Comando"},"keyboardShortcut":"Atajo de teclado","optionDefault":"Default"},"about":{"copy":"Derechos reservados © $1. Todos los derechos reservados","dlgTitle":"Acerca de CKEditor 4","moreInfo":"Para información sobre la licencia por favor visita nuestro sitio web:"},"basicstyles":{"bold":"Negrita","italic":"Cursiva","strike":"Tachado","subscript":"subíndice","superscript":"Sobrescrito","underline":"Subrayada"},"bidi":{"ltr":"Dirección del texto de izquierda a derecha","rtl":"Dirección del texto de derecha a izquierda"},"blockquote":{"toolbar":"Entrecomillado"},"notification":{"closed":"Notificación cerrada."},"toolbar":{"toolbarCollapse":"Colapsar barra de herramientas","toolbarExpand":"Expandir barra de herramientas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeles/deshacer","editing":"Editando","forms":"Formularios","basicstyles":"Estilo básico","paragraph":"Párrafo","links":"Enlaces","insert":"Insertar","styles":"Estilos","colors":"Colores","tools":"Herramientas"},"toolbars":"Editor de barra de herramientas"},"clipboard":{"copy":"Copiar","copyError":"La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de copiado. Por favor, utilice el teclado para (Ctrl/Cmd+C).","cut":"Cortar","cutError":"La configuración de seguridad de su navegador no permite al editor ejecutar automáticamente operaciones de corte. Por favor, utilice el teclado para (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Paste Area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automático","bgColorTitle":"Color de fondo","colors":{"000":"Negro","800000":"Marrón","8B4513":"Café sucio","2F4F4F":"Gris pizarra oscuro","008080":"Teal","000080":"Armada","4B0082":"Indigo","696969":"Gris oscuro","B22222":"Ladrillo de fuego","A52A2A":"Café","DAA520":"Barra de oro","006400":"Verde oscuro","40E0D0":"Turquesa","0000CD":"Azul medio","800080":"Morado","808080":"Gris","F00":"Rojo","FF8C00":"Naranja oscuro","FFD700":"Oro","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris oscuro","FFA07A":"Salmón claro","FFA500":"Naranja","FFFF00":"Amarillo","00FF00":"Lima","AFEEEE":"Turquesa pálido","ADD8E6":"Azul claro","DDA0DD":"Ciruela","D3D3D3":"Gris claro","FFF0F5":"Rubor de lavanda","FAEBD7":"Blanco antiguo","FFFFE0":"Amarillo claro","F0FFF0":"Gotas de miel","F0FFFF":"Azul celeste","F0F8FF":"Azul Alicia","E6E6FA":"Lavanda","FFF":"Blanco","1ABC9C":"Cian fuerte","2ECC71":"Esmeralda","3498DB":"Azul brillante","9B59B6":"Amatista","4E5F70":"Azul grisáceo","F1C40F":"Amarillo vívido","16A085":"Cian oscuro","27AE60":"Esmeralda oscuro","2980B9":"Azul fuerte","8E44AD":"Violeta oscuro","2C3E50":"Azul Desaturado","F39C12":"Naranja","E67E22":"Zanahoria","E74C3C":"Rojo pálido","ECF0F1":"Plata brillante","95A5A6":"Cian grisáceo claro","DDD":"Gris claro","D35400":"Calabaza","C0392B":"Rojo fuerte","BDC3C7":"Plata","7F8C8D":"Cian grisáceo","999":"Gris oscuro"},"more":"Más colores...","panelTitle":"Colores","textColorTitle":"Color de texto"},"colordialog":{"clear":"Borrar","highlight":"Realce","options":"Opciones de color","selected":"Color seleccionado","title":"Selecciona un color"},"templates":{"button":"Plantillas","emptyListMsg":"(Sin plantilla definida)","insertOption":"Reemplazar contenido actual","options":"Opciones de la plantilla","selectPromptMsg":"Por favor selecciona una plantilla para abrir en el editor","title":"Contenido de las plantillas"},"contextmenu":{"options":"Opciones del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Título del anuncio","cssClassInputLabel":"Clases de la hoja de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo de línea","langDirLTRLabel":"Izquierda a Derecha (LTR)","langDirLabel":"Dirección de idiomas","langDirRTLLabel":"Derecha a Izquierda (RTL)","languageCodeInputLabel":"Código del idioma","remove":"Remover Div","styleSelectLabel":"Estilo","title":"Crear contenedor Div","toolbar":"Crear contenedor Div"},"elementspath":{"eleLabel":"Ruta de los elementos","eleTitle":"%1 elemento"},"filetools":{"loadError":"Ha ocurrido un error al leer el archivo","networkError":"Ha ocurrido un error de red durante la carga del archivo.","httpError404":"Se ha producido un error HTTP durante la subida de archivos (404: archivo no encontrado).","httpError403":"Se ha producido un error HTTP durante la subida de archivos (403: Prohibido).","httpError":"Se ha producido un error HTTP durante la subida de archivos (error: %1).","noUrlError":"La URL de subida no está definida.","responseError":"Respuesta incorrecta del servidor."},"find":{"find":"Buscar","findOptions":"Opciones de busqueda","findWhat":"Buscar que:","matchCase":"Comparar mayúsculas","matchCyclic":"Comparación cíclica","matchWord":"Compare la palabra completa","notFoundMsg":"El texto especificado no fue encontrado.","replace":"Remplazar","replaceAll":"Remplazar todo","replaceSuccessMsg":"%1 ","replaceWith":"Reemplazar con:","title":"Busca y reemplaza"},"fakeobjects":{"anchor":"Ancla","flash":"Animación flash","hiddenfield":"Campo oculto","iframe":"IFrame","unknown":"Objeto desconocido"},"flash":{"access":"Acceso a secuencias de comandos","accessAlways":"Siempre","accessNever":"Nunca","accessSameDomain":"Mismo dominio","alignAbsBottom":"Abs Abajo","alignAbsMiddle":"Abs Medio","alignBaseline":"Base","alignTextTop":"Texto Arriba","bgcolor":"Color de fondo","chkFull":"Permitir pantalla completa","chkLoop":"Ciclíco","chkMenu":"Habilitar menú de flash","chkPlay":"Auto reproducción","flashvars":"Variables para flash","hSpace":"Espacio horizontal","properties":"Propiedades del flash","propertiesTab":"Propiedades","quality":"Calidad","qualityAutoHigh":"Alta automática","qualityAutoLow":"Baja automática","qualityBest":"La mejor","qualityHigh":"Alta","qualityLow":"Baja","qualityMedium":"Mediana","scale":"Escala","scaleAll":"Mostrar todo","scaleFit":"Ajuste exacto","scaleNoBorder":"Sin bordes","title":"Propiedades del flash","vSpace":"Espacio vertical","validateHSpace":"El espacio horizontal debe ser un número entero.","validateSrc":"La URL no puede estar vacia.","validateVSpace":"El espacio vertical debe ser un número entero.","windowMode":"Modo de la ventana","windowModeOpaque":"Opaco","windowModeTransparent":"Transparente","windowModeWindow":"Ventana"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño de letra","panelTitle":"Tamaño de letra"},"label":"Letra","panelTitle":"Nombre de letra","voiceLabel":"Letra"},"forms":{"button":{"title":"Propiedades del botón","text":"Texto (valor)","type":"Tipo","typeBtn":"Botón","typeSbm":"Enviar","typeRst":"Reiniciar"},"checkboxAndRadio":{"checkboxTitle":"Propiedades de la casilla de verificación","radioTitle":"Propiedades de botón de opciones","value":"Valor","selected":"Seleccionado","required":"Requerido"},"form":{"title":"Propiedades del formulario","menu":"Propiedades del formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades del campo oculto","name":"Nombre","value":"Valor"},"select":{"title":"Propiedades del campo de selección","selectInfo":"Seleccionar información","opAvail":"Opciones disponobles","value":"Valor","size":"Tamaño","lines":"líneas","chkMulti":"Permitir múltiple selección","required":"Requerido","opText":"Texto","opValue":"Valor","btnAdd":"Agregar","btnModify":"Modificar","btnUp":"Subir","btnDown":"Bajar","btnSetValue":"Establecer como valor seleccionado","btnDelete":"Borrar"},"textarea":{"title":"Propiedades del área de texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades del campo texto","name":"Nombre","value":"Valor","charWidth":"Ancho de caracteres","maxChars":"Máximo de caracteres","required":"Requerido","type":"Tipo","typeText":"Texto","typePass":"Contraseña","typeEmail":"Correo electrónico","typeSearch":"Busqueda","typeTel":"Número telefónico","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato de párrafo","tag_address":"Dirección","tag_div":"Normal (DIV)","tag_h1":"Encabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Formateado"},"horizontalrule":{"toolbar":"Insertar una línea horizontal"},"iframe":{"border":"Mostrar el borde del marco","noUrl":"Ingresa la URL del iframe","scrolling":"Habilitar la barra de desplazamiento","title":"Propiedades del IFrame","toolbar":"Iframe"},"image":{"alt":"Texto alternativo","border":"Borde","btnUpload":"Enviar al servidor","button2Img":"¿Desea transformar el botón de imagen seleccionado en una imagen simple?","hSpace":"Espacio horizontal","img2Button":"¿Desea transformar la imagen seleccionada en un botón de imagen?","infoTab":"Información de imagen","linkTab":"Enlace","lockRatio":"Bloquear aspecto","menu":"Propiedades de la imagen","resetSize":"Reiniciar tamaño","title":"Propiedades de la imagen","titleButton":"Propiedades del botón de imagen","upload":"Cargar","urlMissing":"Falta la URL de origen de la imagen.","vSpace":"Espacio vertical","validateBorder":"El borde debe ser un número entero.","validateHSpace":"El espacio horizontal debe ser un número entero.","validateVSpace":"El espacio vertical debe ser un número entero."},"indent":{"indent":"Incrementar sangría","outdent":"Decrementar sangría"},"smiley":{"options":"Opciones de smiley","title":"Insertar un smiley","toolbar":"Smiley"},"language":{"button":"Establecer idioma","remove":"Remover idioma"},"link":{"acccessKey":"Llave de acceso","advanced":"Avanzada","advisoryContentType":"Tipo de contenido consultivo","advisoryTitle":"Título asesor","anchor":{"toolbar":"Ancla","menu":"Editar ancla","title":"Propiedades del ancla","name":"Nombre del ancla","errorName":"Escriba el nombre del ancla","remove":"Remover ancla"},"anchorId":"Por Id del elemento","anchorName":"Por nombre del ancla","charset":"Recurso relacionado Charset","cssClasses":"Clases de estilo de hoja","download":"Forzar la descarga","displayText":"Mostrar texto","emailAddress":"Dirección de correo electrónico","emailBody":"Cuerpo del mensaje","emailSubject":"Asunto del mensaje","id":"Id","info":"Información del enlace","langCode":"Código del idioma","langDir":"Dirección del idioma","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","menu":"Editar enlace","name":"Nombre","noAnchors":"(No hay anclas disponibles en el documento)","noEmail":"Escriba la dirección de correo electrónico","noUrl":"Escriba la URL del enlace","noTel":"Please type the phone number","other":"<other>","phoneNumber":"Phone number","popupDependent":"Dependiente (Netscape)","popupFeatures":"Ventana emergente","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posición Izquierda","popupLocationBar":"Ubicación de la barra","popupMenuBar":"Barra de menú","popupResizable":"Redimensionable","popupScrollBars":"Barras de desplazamiento","popupStatusBar":"Barra de estado","popupToolbar":"Barra de herramienta","popupTop":"Posición superior","rel":"Relación","selectAnchor":"Selecciona un ancla","styles":"Estilo","tabIndex":"Indice de tabulación","target":"Objetivo","targetFrame":"<frame>","targetFrameName":"Nombre del marco de destino","targetPopup":"<popup window>","targetPopupName":"Nombre de ventana emergente","title":"Enlace","toAnchor":"Enlace al ancla en el texto","toEmail":"Correo electrónico","toUrl":"URL","toPhone":"Phone","toolbar":"Enlace","type":"Tipo de enlace","unlink":"Desconectar","upload":"Subir"},"list":{"bulletedlist":"Insertar/Remover Lista con viñetas","numberedlist":"Insertar/Remover Lista numerada"},"liststyle":{"bulletedTitle":"Propiedades de la lista con viñetas","circle":"Círculo","decimal":"Decimal (1, 2, 3, etc.)","disc":"Desc","lowerAlpha":"Alfabeto minúscula (a, b, c, d, e, etc.)","lowerRoman":"Romano minúscula (i, ii, iii, iv, v, etc.)","none":"Ninguno","notset":"<not set>","numberedTitle":"Propiedades de la lista numerada","square":"Cuadrado","start":"Inicio","type":"Tipo","upperAlpha":"Abecedario mayúscula (A, B, C, D, E, etc.)","upperRoman":"Romanos mayúscula (I, II, III, IV, V, etc.)","validateStartNumber":"El número de inicio de la lista debe ser un número entero."},"magicline":{"title":"Insertar un párrafo aquí"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Página nueva"},"pagebreak":{"alt":"Salto de página","toolbar":"Insertar un salto de página para imprimir"},"pastetext":{"button":"Pegar como texto plano","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Paste as Plain Text"},"pastefromword":{"confirmCleanup":"El texto que desea pegar parece estar copiado de Word. ¿Quieres limpiarlo antes de pegarlo?","error":"No fue posible limpiar los datos pegados debido a un error interno","title":"Pegar desde word","toolbar":"Pegar desde word"},"preview":{"preview":"Vista previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Remover formato"},"save":{"toolbar":"Guardar"},"selectall":{"toolbar":"Seleccionar todo"},"showblocks":{"toolbar":"Mostrar bloques"},"sourcearea":{"toolbar":"Fuente"},"specialchar":{"options":"Opciones de carácteres especiales","title":"Seleccione un carácter especial","toolbar":"Inserta un carácter especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estilos","panelTitle":"Estilos de formatos","panelTitle1":"Estilos de bloques","panelTitle2":"Estilos de líneas","panelTitle3":"Estilo de objetos"},"table":{"border":"Tamaño del borde","caption":"Subtítulo","cell":{"menu":"Celda","insertBefore":"Insertar una celda antes","insertAfter":"Insertar una celda despues","deleteCell":"Borrar celdas","merge":"Unir celdas","mergeRight":"Unir a la derecha","mergeDown":"Unir abajo","splitHorizontal":"Dividir celda horizontalmente","splitVertical":"Dividir celda verticalmente","title":"Propiedades de la celda","cellType":"Tipo de celda","rowSpan":"Extensión de las filas","colSpan":"Extensión de las columnas","wordWrap":"Ajuste de línea","hAlign":"Alineación horizontal","vAlign":"Alineación vertical","alignBaseline":"Base","bgColor":"Color de fondo","borderColor":"Color de borde","data":"Datos","header":"Encabezado","yes":"Si","no":"No","invalidWidth":"El ancho de la celda debe ser un número entero.","invalidHeight":"El alto de la celda debe ser un número entero.","invalidRowSpan":"El intervalo de filas debe ser un número entero.","invalidColSpan":"El intervalo de columnas debe ser un número entero.","chooseColor":"Escoger"},"cellPad":"relleno de celda","cellSpace":"Espacio de celda","column":{"menu":"Columna","insertBefore":"Insertar columna antes","insertAfter":"Insertar columna después","deleteColumn":"Borrar columnas"},"columns":"Columnas","deleteTable":"Borrar tabla","headers":"Encabezados","headersBoth":"Ambos","headersColumn":"Primera columna","headersNone":"Ninguna","headersRow":"Primera fila","invalidBorder":"El tamaño del borde debe ser un número entero.","invalidCellPadding":"El relleno de la celda debe ser un número positivo.","invalidCellSpacing":"El espacio de la celda debe ser un número positivo.","invalidCols":"El número de columnas debe ser un número mayo que 0.","invalidHeight":"La altura de la tabla debe ser un número.","invalidRows":"El número de filas debe ser mayor a 0.","invalidWidth":"El ancho de la tabla debe ser un número.","menu":"Propiedades de la tabla","row":{"menu":"Fila","insertBefore":"Inserta una fila antes","insertAfter":"Inserta una fila después","deleteRow":"Borrar filas"},"rows":"Filas","summary":"Resumen","title":"Propiedades de la tabla","toolbar":"Tabla","widthPc":"porcentaje","widthPx":"pixeles","widthUnit":"Unidad de ancho"},"undo":{"redo":"Rehacer","undo":"Deshacer"},"widget":{"move":"Presiona y arrastra para mover","label":"%1 widget"},"uploadwidget":{"abort":"La carga ha sido abortada por el usuario.","doneOne":"El archivo ha sido cargado completamente.","doneMany":"%1 archivos cargados completamente.","uploadOne":"Cargando archivo ({percentage}%)...","uploadMany":"Cargando archivos, {current} de {max} listo ({percentage}%)..."},"wsc":{"btnIgnore":"Ignore","btnIgnoreAll":"Ignore All","btnReplace":"Replace","btnReplaceAll":"Replace All","btnUndo":"Undo","changeTo":"Change to","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Spell checker not installed. Do you want to download it now?","manyChanges":"Spell check complete: %1 words changed","noChanges":"Spell check complete: No words changed","noMispell":"Spell check complete: No misspellings found","noSuggestions":"- No suggestions -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Not in dictionary","oneChange":"Spell check complete: One word changed","progress":"Spell check in progress...","title":"Spell Checker","toolbar":"Check Spelling"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/es.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['es']={"editor":"Editor de texto enriquecido","editorPanel":"Panel del Editor de Texto Enriquecido","common":{"editorHelp":"Pulse ALT 0 para ayuda","browseServer":"Ver Servidor","url":"URL","protocol":"Protocolo","upload":"Cargar","uploadSubmit":"Enviar al Servidor","image":"Imagen","flash":"Flash","form":"Formulario","checkbox":"Casilla de Verificación","radio":"Botones de Radio","textField":"Campo de Texto","textarea":"Area de Texto","hiddenField":"Campo Oculto","button":"Botón","select":"Campo de Selección","imageButton":"Botón Imagen","notSet":"<No definido>","id":"Id","name":"Nombre","langDir":"Orientación","langDirLtr":"Izquierda a Derecha (LTR)","langDirRtl":"Derecha a Izquierda (RTL)","langCode":"Cód. de idioma","longDescr":"Descripción larga URL","cssClass":"Clases de hojas de estilo","advisoryTitle":"Título","cssStyle":"Estilo","ok":"Aceptar","cancel":"Cancelar","close":"Cerrar","preview":"Previsualización","resize":"Arrastre para redimensionar","generalTab":"General","advancedTab":"Avanzado","validateNumberFailed":"El valor no es un número.","confirmNewPage":"Cualquier cambio que no se haya guardado se perderá.\r\n¿Está seguro de querer crear una nueva página?","confirmCancel":"Algunas de las opciones se han cambiado.\r\n¿Está seguro de querer cerrar el diálogo?","options":"Opciones","target":"Destino","targetNew":"Nueva ventana (_blank)","targetTop":"Ventana principal (_top)","targetSelf":"Misma ventana (_self)","targetParent":"Ventana padre (_parent)","langDirLTR":"Izquierda a derecha (LTR)","langDirRTL":"Derecha a izquierda (RTL)","styles":"Estilos","cssClasses":"Clase de la hoja de estilos","width":"Anchura","height":"Altura","align":"Alineación","left":"Izquierda","right":"Derecha","center":"Centrado","justify":"Justificado","alignLeft":"Alinear a Izquierda","alignRight":"Alinear a Derecha","alignCenter":"Align Center","alignTop":"Tope","alignMiddle":"Centro","alignBottom":"Pie","alignNone":"Ninguno","invalidValue":"Valor no válido","invalidHeight":"Altura debe ser un número.","invalidWidth":"Anchura debe ser un número.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"El valor especificado para el campo \"%1\" debe ser un número positivo, incluyendo optionalmente una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).","invalidHtmlLength":"El valor especificado para el campo \"%1\" debe ser un número positivo, incluyendo optionalmente una unidad de medida HTML válida (px o %).","invalidInlineStyle":"El valor especificado para el estilo debe consistir en uno o más pares con el formato \"nombre: valor\", separados por punto y coma.","cssLengthTooltip":"Introduca un número para el valor en pixels o un número con una unidad de medida CSS válida (px, %, in, cm, mm, em, ex, pt, o pc).","unavailable":"%1<span class=\"cke_accessibility\">, no disponible</span>","keyboard":{"8":"Retroceso","13":"Ingresar","16":"Mayús.","17":"Ctrl","18":"Alt","32":"Space","35":"Fin","36":"Inicio","46":"Suprimir","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Todos los derechos reservados.","dlgTitle":"Acerca de CKEditor 4","moreInfo":"Para información de licencia, por favor visite nuestro sitio web:"},"basicstyles":{"bold":"Negrita","italic":"Cursiva","strike":"Tachado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subrayado"},"bidi":{"ltr":"Dirección del texto de izquierda a derecha","rtl":"Dirección del texto de derecha a izquierda"},"blockquote":{"toolbar":"Cita"},"notification":{"closed":"Notificación cerrada."},"toolbar":{"toolbarCollapse":"Contraer barra de herramientas","toolbarExpand":"Expandir barra de herramientas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeles/Deshacer","editing":"Edición","forms":"Formularios","basicstyles":"Estilos básicos","paragraph":"Párrafo","links":"Enlaces","insert":"Insertar","styles":"Estilos","colors":"Colores","tools":"Herramientas"},"toolbars":"Barras de herramientas del editor"},"clipboard":{"copy":"Copiar","copyError":"La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de copiado.\r\nPor favor use el teclado (Ctrl/Cmd+C).","cut":"Cortar","cutError":"La configuración de seguridad de este navegador no permite la ejecución automática de operaciones de cortado.\r\nPor favor use el teclado (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Zona de pegado","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automático","bgColorTitle":"Color de Fondo","colors":{"000":"Negro","800000":"Marrón oscuro","8B4513":"Marrón tierra","2F4F4F":"Pizarra Oscuro","008080":"Azul verdoso","000080":"Azul marino","4B0082":"Añil","696969":"Gris oscuro","B22222":"Ladrillo","A52A2A":"Marrón","DAA520":"Oro oscuro","006400":"Verde oscuro","40E0D0":"Turquesa","0000CD":"Azul medio-oscuro","800080":"Púrpura","808080":"Gris","F00":"Rojo","FF8C00":"Naranja oscuro","FFD700":"Oro","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris medio","FFA07A":"Salmón claro","FFA500":"Naranja","FFFF00":"Amarillo","00FF00":"Lima","AFEEEE":"Turquesa claro","ADD8E6":"Azul claro","DDA0DD":"Violeta claro","D3D3D3":"Gris claro","FFF0F5":"Lavanda rojizo","FAEBD7":"Blanco antiguo","FFFFE0":"Amarillo claro","F0FFF0":"Miel","F0FFFF":"Azul celeste","F0F8FF":"Azul pálido","E6E6FA":"Lavanda","FFF":"Blanco","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Más Colores...","panelTitle":"Colores","textColorTitle":"Color de Texto"},"colordialog":{"clear":"Borrar","highlight":"Muestra","options":"Opciones de colores","selected":"Elegido","title":"Elegir color"},"templates":{"button":"Plantillas","emptyListMsg":"(No hay plantillas definidas)","insertOption":"Reemplazar el contenido actual","options":"Opciones de plantillas","selectPromptMsg":"Por favor selecciona la plantilla a abrir en el editor<br>(el contenido actual se perderá):","title":"Contenido de Plantillas"},"contextmenu":{"options":"Opciones del menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Título","cssClassInputLabel":"Clase de hoja de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo","langDirLTRLabel":"Izquierda a Derecha (LTR)","langDirLabel":"Orientación","langDirRTLLabel":"Derecha a Izquierda (RTL)","languageCodeInputLabel":" Codigo de idioma","remove":"Quitar Div","styleSelectLabel":"Estilo","title":"Crear contenedor DIV","toolbar":"Crear contenedor DIV"},"elementspath":{"eleLabel":"Ruta de los elementos","eleTitle":"%1 elemento"},"filetools":{"loadError":"Ha ocurrido un error durante la lectura del archivo.","networkError":"Error de red ocurrido durante carga de archivo.","httpError404":"Un error HTTP ha ocurrido durante la carga del archivo (404: Archivo no encontrado).","httpError403":"Un error HTTP ha ocurrido durante la carga del archivo (403: Prohibido).","httpError":"Error HTTP ocurrido durante la carga del archivo (Estado del error: %1).","noUrlError":"URL cargada no está definida.","responseError":"Respueta del servidor incorrecta."},"find":{"find":"Buscar","findOptions":"Opciones de búsqueda","findWhat":"Texto a buscar:","matchCase":"Coincidir may/min","matchCyclic":"Buscar en todo el contenido","matchWord":"Coincidir toda la palabra","notFoundMsg":"El texto especificado no ha sido encontrado.","replace":"Reemplazar","replaceAll":"Reemplazar Todo","replaceSuccessMsg":"La expresión buscada ha sido reemplazada %1 veces.","replaceWith":"Reemplazar con:","title":"Buscar y Reemplazar"},"fakeobjects":{"anchor":"Ancla","flash":"Animación flash","hiddenfield":"Campo oculto","iframe":"IFrame","unknown":"Objeto desconocido"},"flash":{"access":"Acceso de scripts","accessAlways":"Siempre","accessNever":"Nunca","accessSameDomain":"Mismo dominio","alignAbsBottom":"Abs inferior","alignAbsMiddle":"Abs centro","alignBaseline":"Línea de base","alignTextTop":"Tope del texto","bgcolor":"Color de Fondo","chkFull":"Permitir pantalla completa","chkLoop":"Repetir","chkMenu":"Activar Menú Flash","chkPlay":"Autoejecución","flashvars":"Opciones","hSpace":"Esp.Horiz","properties":"Propiedades de Flash","propertiesTab":"Propiedades","quality":"Calidad","qualityAutoHigh":"Auto Alta","qualityAutoLow":"Auto Baja","qualityBest":"La mejor","qualityHigh":"Alta","qualityLow":"Baja","qualityMedium":"Media","scale":"Escala","scaleAll":"Mostrar todo","scaleFit":"Ajustado","scaleNoBorder":"Sin Borde","title":"Propiedades de Flash","vSpace":"Esp.Vert","validateHSpace":"Esp.Horiz debe ser un número.","validateSrc":"Por favor escriba el vínculo URL","validateVSpace":"Esp.Vert debe ser un número.","windowMode":"WindowMode","windowModeOpaque":"Opaco","windowModeTransparent":"Transparente","windowModeWindow":"Ventana"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño de fuente","panelTitle":"Tamaño"},"label":"Fuente","panelTitle":"Fuente","voiceLabel":"Fuente"},"forms":{"button":{"title":"Propiedades de Botón","text":"Texto (Valor)","type":"Tipo","typeBtn":"Boton","typeSbm":"Enviar","typeRst":"Reestablecer"},"checkboxAndRadio":{"checkboxTitle":"Propiedades de Casilla","radioTitle":"Propiedades de Botón de Radio","value":"Valor","selected":"Seleccionado","required":"Requerido"},"form":{"title":"Propiedades de Formulario","menu":"Propiedades de Formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades de Campo Oculto","name":"Nombre","value":"Valor"},"select":{"title":"Propiedades de Campo de Selección","selectInfo":"Información","opAvail":"Opciones disponibles","value":"Valor","size":"Tamaño","lines":"Lineas","chkMulti":"Permitir múltiple selección","required":"Requerido","opText":"Texto","opValue":"Valor","btnAdd":"Agregar","btnModify":"Modificar","btnUp":"Subir","btnDown":"Bajar","btnSetValue":"Establecer como predeterminado","btnDelete":"Eliminar"},"textarea":{"title":"Propiedades de Area de Texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades de Campo de Texto","name":"Nombre","value":"Valor","charWidth":"Caracteres de ancho","maxChars":"Máximo caracteres","required":"Requerido","type":"Tipo","typeText":"Texto","typePass":"Contraseña","typeEmail":"Correo electrónico","typeSearch":"Buscar","typeTel":"Número de teléfono","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato","tag_address":"Dirección","tag_div":"Normal (DIV)","tag_h1":"Encabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Con formato"},"horizontalrule":{"toolbar":"Insertar Línea Horizontal"},"iframe":{"border":"Mostrar borde del marco","noUrl":"Por favor, escriba la dirección del iframe","scrolling":"Activar barras de desplazamiento","title":"Propiedades de iframe","toolbar":"IFrame"},"image":{"alt":"Texto Alternativo","border":"Borde","btnUpload":"Enviar al Servidor","button2Img":"¿Desea convertir el botón de imagen en una simple imagen?","hSpace":"Esp.Horiz","img2Button":"¿Desea convertir la imagen en un botón de imagen?","infoTab":"Información de Imagen","linkTab":"Vínculo","lockRatio":"Proporcional","menu":"Propiedades de Imagen","resetSize":"Tamaño Original","title":"Propiedades de Imagen","titleButton":"Propiedades de Botón de Imagen","upload":"Cargar","urlMissing":"Debe indicar la URL de la imagen.","vSpace":"Esp.Vert","validateBorder":"El borde debe ser un número.","validateHSpace":"El espaciado horizontal debe ser un número.","validateVSpace":"El espaciado vertical debe ser un número."},"indent":{"indent":"Aumentar Sangría","outdent":"Disminuir Sangría"},"smiley":{"options":"Opciones de emoticonos","title":"Insertar un Emoticon","toolbar":"Emoticonos"},"language":{"button":"Fijar lenguaje","remove":"Quitar lenguaje"},"link":{"acccessKey":"Tecla de Acceso","advanced":"Avanzado","advisoryContentType":"Tipo de Contenido","advisoryTitle":"Título","anchor":{"toolbar":"Referencia","menu":"Propiedades de Referencia","title":"Propiedades de Referencia","name":"Nombre de la Referencia","errorName":"Por favor, complete el nombre de la Referencia","remove":"Quitar Referencia"},"anchorId":"Por ID de elemento","anchorName":"Por Nombre de Referencia","charset":"Fuente de caracteres vinculado","cssClasses":"Clases de hojas de estilo","download":"Force Download","displayText":"Display Text","emailAddress":"Dirección de E-Mail","emailBody":"Cuerpo del Mensaje","emailSubject":"Título del Mensaje","id":"Id","info":"Información de Vínculo","langCode":"Código idioma","langDir":"Orientación","langDirLTR":"Izquierda a Derecha (LTR)","langDirRTL":"Derecha a Izquierda (RTL)","menu":"Editar Vínculo","name":"Nombre","noAnchors":"(No hay referencias disponibles en el documento)","noEmail":"Por favor escriba la dirección de e-mail","noUrl":"Por favor escriba el vínculo URL","noTel":"Please type the phone number","other":"<otro>","phoneNumber":"Phone number","popupDependent":"Dependiente (Netscape)","popupFeatures":"Características de Ventana Emergente","popupFullScreen":"Pantalla Completa (IE)","popupLeft":"Posición Izquierda","popupLocationBar":"Barra de ubicación","popupMenuBar":"Barra de Menú","popupResizable":"Redimensionable","popupScrollBars":"Barras de desplazamiento","popupStatusBar":"Barra de Estado","popupToolbar":"Barra de Herramientas","popupTop":"Posición Derecha","rel":"Relación","selectAnchor":"Seleccionar una referencia","styles":"Estilo","tabIndex":"Indice de tabulación","target":"Destino","targetFrame":"<marco>","targetFrameName":"Nombre del Marco Destino","targetPopup":"<ventana emergente>","targetPopupName":"Nombre de Ventana Emergente","title":"Vínculo","toAnchor":"Referencia en esta página","toEmail":"E-Mail","toUrl":"URL","toPhone":"Phone","toolbar":"Insertar/Editar Vínculo","type":"Tipo de vínculo","unlink":"Eliminar Vínculo","upload":"Cargar"},"list":{"bulletedlist":"Viñetas","numberedlist":"Numeración"},"liststyle":{"bulletedTitle":"Propiedades de viñetas","circle":"Círculo","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disco","lowerAlpha":"Alfabeto en minúsculas (a, b, c, d, e, etc.)","lowerRoman":"Números romanos en minúsculas (i, ii, iii, iv, v, etc.)","none":"Ninguno","notset":"<sin establecer>","numberedTitle":"Propiedades de lista numerada","square":"Cuadrado","start":"Inicio","type":"Tipo","upperAlpha":"Alfabeto en mayúsculas (A, B, C, D, E, etc.)","upperRoman":"Números romanos en mayúsculas (I, II, III, IV, V, etc.)","validateStartNumber":"El Inicio debe ser un número entero."},"magicline":{"title":"Insertar párrafo aquí"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Nueva Página"},"pagebreak":{"alt":"Salto de página","toolbar":"Insertar Salto de Página"},"pastetext":{"button":"Pegar como Texto Plano","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Pegar como Texto Plano"},"pastefromword":{"confirmCleanup":"El texto que desea parece provenir de Word.\r\n¿Desea depurarlo antes de pegarlo?","error":"No ha sido posible limpiar los datos debido a un error interno","title":"Pegar desde Word","toolbar":"Pegar desde Word"},"preview":{"preview":"Vista Previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Eliminar Formato"},"save":{"toolbar":"Guardar"},"selectall":{"toolbar":"Seleccionar Todo"},"showblocks":{"toolbar":"Mostrar bloques"},"sourcearea":{"toolbar":"Fuente HTML"},"specialchar":{"options":"Opciones de caracteres especiales","title":"Seleccione un caracter especial","toolbar":"Insertar Caracter Especial"},"scayt":{"btn_about":"Acerca de Corrector","btn_dictionaries":"Diccionarios","btn_disable":"Desactivar Corrector","btn_enable":"Activar Corrector","btn_langs":"Idiomas","btn_options":"Opciones","text_title":"Comprobar Ortografía Mientras Escribe"},"stylescombo":{"label":"Estilo","panelTitle":"Estilos para formatear","panelTitle1":"Estilos de párrafo","panelTitle2":"Estilos de carácter","panelTitle3":"Estilos de objeto"},"table":{"border":"Tamaño de Borde","caption":"Título","cell":{"menu":"Celda","insertBefore":"Insertar celda a la izquierda","insertAfter":"Insertar celda a la derecha","deleteCell":"Eliminar Celdas","merge":"Combinar Celdas","mergeRight":"Combinar a la derecha","mergeDown":"Combinar hacia abajo","splitHorizontal":"Dividir la celda horizontalmente","splitVertical":"Dividir la celda verticalmente","title":"Propiedades de celda","cellType":"Tipo de Celda","rowSpan":"Expandir filas","colSpan":"Expandir columnas","wordWrap":"Ajustar al contenido","hAlign":"Alineación Horizontal","vAlign":"Alineación Vertical","alignBaseline":"Linea de base","bgColor":"Color de fondo","borderColor":"Color de borde","data":"Datos","header":"Encabezado","yes":"Sí","no":"No","invalidWidth":"La anchura de celda debe ser un número.","invalidHeight":"La altura de celda debe ser un número.","invalidRowSpan":"La expansión de filas debe ser un número entero.","invalidColSpan":"La expansión de columnas debe ser un número entero.","chooseColor":"Elegir"},"cellPad":"Esp. interior","cellSpace":"Esp. e/celdas","column":{"menu":"Columna","insertBefore":"Insertar columna a la izquierda","insertAfter":"Insertar columna a la derecha","deleteColumn":"Eliminar Columnas"},"columns":"Columnas","deleteTable":"Eliminar Tabla","headers":"Encabezados","headersBoth":"Ambas","headersColumn":"Primera columna","headersNone":"Ninguno","headersRow":"Primera fila","invalidBorder":"El tamaño del borde debe ser un número.","invalidCellPadding":"El espaciado interior debe ser un número.","invalidCellSpacing":"El espaciado entre celdas debe ser un número.","invalidCols":"El número de columnas debe ser un número mayor que 0.","invalidHeight":"La altura de tabla debe ser un número.","invalidRows":"El número de filas debe ser un número mayor que 0.","invalidWidth":"La anchura de tabla debe ser un número.","menu":"Propiedades de Tabla","row":{"menu":"Fila","insertBefore":"Insertar fila en la parte superior","insertAfter":"Insertar fila en la parte inferior","deleteRow":"Eliminar Filas"},"rows":"Filas","summary":"Síntesis","title":"Propiedades de Tabla","toolbar":"Tabla","widthPc":"porcentaje","widthPx":"pixeles","widthUnit":"unidad de la anchura"},"undo":{"redo":"Rehacer","undo":"Deshacer"},"widget":{"move":"Dar clic y arrastrar para mover","label":"reproductor %1"},"uploadwidget":{"abort":"Carga abortada por el usuario.","doneOne":"Archivo cargado exitósamente.","doneMany":"%1 archivos exitósamente cargados.","uploadOne":"Cargando archivo ({percentage}%)...","uploadMany":"Cargando archivos, {current} de {max} hecho ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar","btnIgnoreAll":"Ignorar Todo","btnReplace":"Reemplazar","btnReplaceAll":"Reemplazar Todo","btnUndo":"Deshacer","changeTo":"Cambiar a","errorLoading":"Error cargando la aplicación del servidor: %s.","ieSpellDownload":"Módulo de Control de Ortografía no instalado.\r\n¿Desea descargarlo ahora?","manyChanges":"Control finalizado: se ha cambiado %1 palabras","noChanges":"Control finalizado: no se ha cambiado ninguna palabra","noMispell":"Control finalizado: no se encontraron errores","noSuggestions":"- No hay sugerencias -","notAvailable":"Lo sentimos pero el servicio no está disponible.","notInDic":"No se encuentra en el Diccionario","oneChange":"Control finalizado: se ha cambiado una palabra","progress":"Control de Ortografía en progreso...","title":"Comprobar ortografía","toolbar":"Ortografía"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/et.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['et']={"editor":"Rikkalik tekstiredaktor","editorPanel":"Rikkaliku tekstiredaktori paneel","common":{"editorHelp":"Abi saamiseks vajuta ALT 0","browseServer":"Serveri sirvimine","url":"URL","protocol":"Protokoll","upload":"Laadi üles","uploadSubmit":"Saada serverisse","image":"Pilt","flash":"Flash","form":"Vorm","checkbox":"Märkeruut","radio":"Raadionupp","textField":"Tekstilahter","textarea":"Tekstiala","hiddenField":"Varjatud lahter","button":"Nupp","select":"Valiklahter","imageButton":"Piltnupp","notSet":"<määramata>","id":"ID","name":"Nimi","langDir":"Keele suund","langDirLtr":"Vasakult paremale (LTR)","langDirRtl":"Paremalt vasakule (RTL)","langCode":"Keele kood","longDescr":"Pikk kirjeldus URL","cssClass":"Stiilistiku klassid","advisoryTitle":"Soovituslik pealkiri","cssStyle":"Laad","ok":"Olgu","cancel":"Loobu","close":"Sulge","preview":"Eelvaade","resize":"Suuruse muutmiseks lohista","generalTab":"Üldine","advancedTab":"Täpsemalt","validateNumberFailed":"See väärtus pole number.","confirmNewPage":"Kõik salvestamata muudatused lähevad kaotsi. Kas oled kindel, et tahad laadida uue lehe?","confirmCancel":"Mõned valikud on muudetud. Kas oled kindel, et tahad dialoogi sulgeda?","options":"Valikud","target":"Sihtkoht","targetNew":"Uus aken (_blank)","targetTop":"Kõige ülemine aken (_top)","targetSelf":"Sama aken (_self)","targetParent":"Vanemaken (_parent)","langDirLTR":"Vasakult paremale (LTR)","langDirRTL":"Paremalt vasakule (RTL)","styles":"Stiili","cssClasses":"Stiililehe klassid","width":"Laius","height":"Kõrgus","align":"Joondus","left":"Vasak","right":"Paremale","center":"Kesk","justify":"Rööpjoondus","alignLeft":"Vasakjoondus","alignRight":"Paremjoondus","alignCenter":"Align Center","alignTop":"Üles","alignMiddle":"Keskele","alignBottom":"Alla","alignNone":"Pole","invalidValue":"Vigane väärtus.","invalidHeight":"Kõrgus peab olema number.","invalidWidth":"Laius peab olema number.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" välja jaoks määratud väärtus peab olema positiivne täisarv CSS ühikuga (px, %, in, cm, mm, em, ex, pt või pc) või ilma.","invalidHtmlLength":"\"%1\" välja jaoks määratud väärtus peab olema positiivne täisarv HTML ühikuga (px või %) või ilma.","invalidInlineStyle":"Reasisese stiili määrangud peavad koosnema paarisväärtustest (tuples), mis on semikoolonitega eraldatult järgnevas vormingus: \"nimi : väärtus\".","cssLengthTooltip":"Sisesta väärtus pikslites või number koos sobiva CSS-i ühikuga (px, %, in, cm, mm, em, ex, pt või pc).","unavailable":"%1<span class=\"cke_accessibility\">, pole saadaval</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Tühik","35":"End","36":"Home","46":"Kustuta","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Vaikeväärtus"},"about":{"copy":"Copyright © $1. Kõik õigused kaitstud.","dlgTitle":"About CKEditor 4","moreInfo":"Litsentsi andmed leiab meie veebilehelt:"},"basicstyles":{"bold":"Paks","italic":"Kursiiv","strike":"Läbijoonitud","subscript":"Allindeks","superscript":"Ülaindeks","underline":"Allajoonitud"},"bidi":{"ltr":"Teksti suund vasakult paremale","rtl":"Teksti suund paremalt vasakule"},"blockquote":{"toolbar":"Blokktsitaat"},"notification":{"closed":"Teavitused on suletud."},"toolbar":{"toolbarCollapse":"Tööriistariba peitmine","toolbarExpand":"Tööriistariba näitamine","toolbarGroups":{"document":"Dokument","clipboard":"Lõikelaud/tagasivõtmine","editing":"Muutmine","forms":"Vormid","basicstyles":"Põhistiilid","paragraph":"Lõik","links":"Lingid","insert":"Sisesta","styles":"Stiilid","colors":"Värvid","tools":"Tööriistad"},"toolbars":"Redaktori tööriistaribad"},"clipboard":{"copy":"Kopeeri","copyError":"Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt kopeerida. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+C).","cut":"Lõika","cutError":"Sinu veebisirvija turvaseaded ei luba redaktoril automaatselt lõigata. Palun kasutage selleks klaviatuuri klahvikombinatsiooni (Ctrl/Cmd+X).","paste":"Aseta","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Asetamise ala","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automaatne","bgColorTitle":"Tausta värv","colors":{"000":"Must","800000":"Kastanpruun","8B4513":"Sadulapruun","2F4F4F":"Tume paehall","008080":"Sinakasroheline","000080":"Meresinine","4B0082":"Indigosinine","696969":"Tumehall","B22222":"Šamottkivi","A52A2A":"Pruun","DAA520":"Kuldkollane","006400":"Tumeroheline","40E0D0":"Türkiissinine","0000CD":"Keskmine sinine","800080":"Lilla","808080":"Hall","F00":"Punanae","FF8C00":"Tumeoranž","FFD700":"Kuldne","008000":"Roheline","0FF":"Tsüaniidsinine","00F":"Sinine","EE82EE":"Violetne","A9A9A9":"Tuhm hall","FFA07A":"Hele lõhe","FFA500":"Oranž","FFFF00":"Kollane","00FF00":"Lubja hall","AFEEEE":"Kahvatu türkiis","ADD8E6":"Helesinine","DDA0DD":"Ploomililla","D3D3D3":"Helehall","FFF0F5":"Lavendlipunane","FAEBD7":"Antiikvalge","FFFFE0":"Helekollane","F0FFF0":"Meloniroheline","F0FFFF":"Taevasinine","F0F8FF":"Beebisinine","E6E6FA":"Lavendel","FFF":"Valge","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Oraanž","E67E22":"Porgand","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Tume hall"},"more":"Rohkem värve...","panelTitle":"Värvid","textColorTitle":"Teksti värv"},"colordialog":{"clear":"Eemalda","highlight":"Näidis","options":"Värvi valikud","selected":"Valitud värv","title":"Värvi valimine"},"templates":{"button":"Mall","emptyListMsg":"(Ühtegi malli ei ole defineeritud)","insertOption":"Praegune sisu asendatakse","options":"Malli valikud","selectPromptMsg":"Palun vali mall, mis avada redaktoris<br />(praegune sisu läheb kaotsi):","title":"Sisumallid"},"contextmenu":{"options":"Kontekstimenüü valikud"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Soovitatav pealkiri","cssClassInputLabel":"Stiililehe klassid","edit":"Muuda Div","inlineStyleInputLabel":"Reasisene stiil","langDirLTRLabel":"Vasakult paremale (LTR)","langDirLabel":"Keele suund","langDirRTLLabel":"Paremalt vasakule (RTL)","languageCodeInputLabel":" Keelekood","remove":"Eemalda Div","styleSelectLabel":"Stiil","title":"Div-konteineri loomine","toolbar":"Div-konteineri loomine"},"elementspath":{"eleLabel":"Elementide asukoht","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Vigane serveri vastus."},"find":{"find":"Otsi","findOptions":"Otsingu valikud","findWhat":"Otsitav:","matchCase":"Suur- ja väiketähtede eristamine","matchCyclic":"Jätkatakse algusest","matchWord":"Ainult terved sõnad","notFoundMsg":"Otsitud teksti ei leitud.","replace":"Asenda","replaceAll":"Asenda kõik","replaceSuccessMsg":"%1 vastet asendati.","replaceWith":"Asendus:","title":"Otsimine ja asendamine"},"fakeobjects":{"anchor":"Ankur","flash":"Flashi animatsioon","hiddenfield":"Varjatud väli","iframe":"IFrame","unknown":"Tundmatu objekt"},"flash":{"access":"Skriptide ligipääs","accessAlways":"Kõigile","accessNever":"Mitte ühelegi","accessSameDomain":"Samalt domeenilt","alignAbsBottom":"Abs alla","alignAbsMiddle":"Abs keskele","alignBaseline":"Baasjoonele","alignTextTop":"Tekstist üles","bgcolor":"Tausta värv","chkFull":"Täisekraan lubatud","chkLoop":"Korduv","chkMenu":"Flashi menüü lubatud","chkPlay":"Automaatne start ","flashvars":"Flashi muutujad","hSpace":"H. vaheruum","properties":"Flashi omadused","propertiesTab":"Omadused","quality":"Kvaliteet","qualityAutoHigh":"Automaatne kõrge","qualityAutoLow":"Automaatne madal","qualityBest":"Parim","qualityHigh":"Kõrge","qualityLow":"Madal","qualityMedium":"Keskmine","scale":"Mastaap","scaleAll":"Näidatakse kõike","scaleFit":"Täpne sobivus","scaleNoBorder":"Äärist ei ole","title":"Flashi omadused","vSpace":"V. vaheruum","validateHSpace":"H. vaheruum peab olema number.","validateSrc":"Palun kirjuta lingi URL","validateVSpace":"V. vaheruum peab olema number.","windowMode":"Akna režiim","windowModeOpaque":"Läbipaistmatu","windowModeTransparent":"Läbipaistev","windowModeWindow":"Aken"},"font":{"fontSize":{"label":"Suurus","voiceLabel":"Kirja suurus","panelTitle":"Suurus"},"label":"Kiri","panelTitle":"Kiri","voiceLabel":"Kiri"},"forms":{"button":{"title":"Nupu omadused","text":"Tekst (väärtus)","type":"Liik","typeBtn":"Nupp","typeSbm":"Saada","typeRst":"Lähtesta"},"checkboxAndRadio":{"checkboxTitle":"Märkeruudu omadused","radioTitle":"Raadionupu omadused","value":"Väärtus","selected":"Märgitud","required":"Nõutud"},"form":{"title":"Vormi omadused","menu":"Vormi omadused","action":"Toiming","method":"Meetod","encoding":"Kodeering"},"hidden":{"title":"Varjatud lahtri omadused","name":"Nimi","value":"Väärtus"},"select":{"title":"Valiklahtri omadused","selectInfo":"Info","opAvail":"Võimalikud valikud:","value":"Väärtus","size":"Suurus","lines":"ridu","chkMulti":"Võimalik mitu valikut","required":"Nõutud","opText":"Tekst","opValue":"Väärtus","btnAdd":"Lisa","btnModify":"Muuda","btnUp":"Üles","btnDown":"Alla","btnSetValue":"Määra vaikimisi","btnDelete":"Kustuta"},"textarea":{"title":"Tekstiala omadused","cols":"Veerge","rows":"Ridu"},"textfield":{"title":"Tekstilahtri omadused","name":"Nimi","value":"Väärtus","charWidth":"Laius (tähemärkides)","maxChars":"Maksimaalselt tähemärke","required":"õutud","type":"Liik","typeText":"Tekst","typePass":"Parool","typeEmail":"E-mail","typeSearch":"Otsi","typeTel":"Telefon","typeUrl":"URL"}},"format":{"label":"Vorming","panelTitle":"Vorming","tag_address":"Aadress","tag_div":"Tavaline (DIV)","tag_h1":"Pealkiri 1","tag_h2":"Pealkiri 2","tag_h3":"Pealkiri 3","tag_h4":"Pealkiri 4","tag_h5":"Pealkiri 5","tag_h6":"Pealkiri 6","tag_p":"Tavaline","tag_pre":"Vormindatud"},"horizontalrule":{"toolbar":"Horisontaaljoone sisestamine"},"iframe":{"border":"Raami äärise näitamine","noUrl":"Vali iframe URLi liik","scrolling":"Kerimisribade lubamine","title":"IFrame omadused","toolbar":"IFrame"},"image":{"alt":"Alternatiivne tekst","border":"Joon","btnUpload":"Saada serverisse","button2Img":"Kas tahad teisendada valitud pildiga nupu tavaliseks pildiks?","hSpace":"H. vaheruum","img2Button":"Kas tahad teisendada valitud tavalise pildi pildiga nupuks?","infoTab":"Pildi info","linkTab":"Link","lockRatio":"Lukusta kuvasuhe","menu":"Pildi omadused","resetSize":"Lähtesta suurus","title":"Pildi omadused","titleButton":"Piltnupu omadused","upload":"Lae üles","urlMissing":"Pildi lähte-URL on puudu.","vSpace":"V. vaheruum","validateBorder":"Äärise laius peab olema täisarv.","validateHSpace":"Horisontaalne vaheruum peab olema täisarv.","validateVSpace":"Vertikaalne vaheruum peab olema täisarv."},"indent":{"indent":"Taande suurendamine","outdent":"Taande vähendamine"},"smiley":{"options":"Emotikonide valikud","title":"Sisesta emotikon","toolbar":"Emotikon"},"language":{"button":"Määra keel","remove":"Eemalda keel"},"link":{"acccessKey":"Juurdepääsu võti","advanced":"Täpsemalt","advisoryContentType":"Juhendava sisu tüüp","advisoryTitle":"Juhendav tiitel","anchor":{"toolbar":"Ankru sisestamine/muutmine","menu":"Ankru omadused","title":"Ankru omadused","name":"Ankru nimi","errorName":"Palun sisesta ankru nimi","remove":"Eemalda ankur"},"anchorId":"Elemendi id järgi","anchorName":"Ankru nime järgi","charset":"Lingitud ressursi märgistik","cssClasses":"Stiilistiku klassid","download":"Sunni allalaadimine","displayText":"Näidatav tekst","emailAddress":"E-posti aadress","emailBody":"Sõnumi tekst","emailSubject":"Sõnumi teema","id":"ID","info":"Lingi info","langCode":"Keele suund","langDir":"Keele suund","langDirLTR":"Vasakult paremale (LTR)","langDirRTL":"Paremalt vasakule (RTL)","menu":"Muuda linki","name":"Nimi","noAnchors":"(Selles dokumendis pole ankruid)","noEmail":"Palun kirjuta e-posti aadress","noUrl":"Palun kirjuta lingi URL","noTel":"Please type the phone number","other":"<muu>","phoneNumber":"Phone number","popupDependent":"Sõltuv (Netscape)","popupFeatures":"Hüpikakna omadused","popupFullScreen":"Täisekraan (IE)","popupLeft":"Vasak asukoht","popupLocationBar":"Aadressiriba","popupMenuBar":"Menüüriba","popupResizable":"Suurust saab muuta","popupScrollBars":"Kerimisribad","popupStatusBar":"Olekuriba","popupToolbar":"Tööriistariba","popupTop":"Ülemine asukoht","rel":"Suhe","selectAnchor":"Vali ankur","styles":"Laad","tabIndex":"Tab indeks","target":"Sihtkoht","targetFrame":"<raam>","targetFrameName":"Sihtmärk raami nimi","targetPopup":"<hüpikaken>","targetPopupName":"Hüpikakna nimi","title":"Link","toAnchor":"Ankur sellel lehel","toEmail":"E-post","toUrl":"URL","toPhone":"Phone","toolbar":"Lingi lisamine/muutmine","type":"Lingi liik","unlink":"Lingi eemaldamine","upload":"Lae üles"},"list":{"bulletedlist":"Punktloend","numberedlist":"Numberloend"},"liststyle":{"bulletedTitle":"Punktloendi omadused","circle":"Ring","decimal":"Numbrid (1, 2, 3, jne)","disc":"Täpp","lowerAlpha":"Väiketähed (a, b, c, d, e, jne)","lowerRoman":"Väiksed rooma numbrid (i, ii, iii, iv, v, jne)","none":"Puudub","notset":"<pole määratud>","numberedTitle":"Numberloendi omadused","square":"Ruut","start":"Algus","type":"Liik","upperAlpha":"Suurtähed (A, B, C, D, E, jne)","upperRoman":"Suured rooma numbrid (I, II, III, IV, V, jne)","validateStartNumber":"Loendi algusnumber peab olema täisarv."},"magicline":{"title":"Sisesta siia lõigu tekst"},"maximize":{"maximize":"Maksimeerimine","minimize":"Minimeerimine"},"newpage":{"toolbar":"Uus leht"},"pagebreak":{"alt":"Lehevahetuskoht","toolbar":"Lehevahetuskoha sisestamine"},"pastetext":{"button":"Asetamine tavalise tekstina","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Asetamine tavalise tekstina"},"pastefromword":{"confirmCleanup":"Tekst, mida tahad asetada näib pärinevat Wordist. Kas tahad selle enne asetamist puhastada?","error":"Asetatud andmete puhastamine ei olnud sisemise vea tõttu võimalik","title":"Asetamine Wordist","toolbar":"Asetamine Wordist"},"preview":{"preview":"Eelvaade"},"print":{"toolbar":"Printimine"},"removeformat":{"toolbar":"Vormingu eemaldamine"},"save":{"toolbar":"Salvestamine"},"selectall":{"toolbar":"Kõige valimine"},"showblocks":{"toolbar":"Blokkide näitamine"},"sourcearea":{"toolbar":"Lähtekood"},"specialchar":{"options":"Erimärkide valikud","title":"Erimärgi valimine","toolbar":"Erimärgi sisestamine"},"scayt":{"btn_about":"SCAYT-ist lähemalt","btn_dictionaries":"Sõnaraamatud","btn_disable":"SCAYT keelatud","btn_enable":"SCAYT lubatud","btn_langs":"Keeled","btn_options":"Valikud","text_title":"Õigekirjakontroll kirjutamise ajal"},"stylescombo":{"label":"Stiil","panelTitle":"Vormindusstiilid","panelTitle1":"Blokkstiilid","panelTitle2":"Reasisesed stiilid","panelTitle3":"Objektistiilid"},"table":{"border":"Joone suurus","caption":"Tabeli tiitel","cell":{"menu":"Lahter","insertBefore":"Sisesta lahter enne","insertAfter":"Sisesta lahter peale","deleteCell":"Eemalda lahtrid","merge":"Ühenda lahtrid","mergeRight":"Ühenda paremale","mergeDown":"Ühenda alla","splitHorizontal":"Poolita lahter horisontaalselt","splitVertical":"Poolita lahter vertikaalselt","title":"Lahtri omadused","cellType":"Lahtri liik","rowSpan":"Ridade vahe","colSpan":"Tulpade vahe","wordWrap":"Sõnade murdmine","hAlign":"Horisontaalne joondus","vAlign":"Vertikaalne joondus","alignBaseline":"Baasjoon","bgColor":"Tausta värv","borderColor":"Äärise värv","data":"Andmed","header":"Päis","yes":"Jah","no":"Ei","invalidWidth":"Lahtri laius peab olema number.","invalidHeight":"Lahtri kõrgus peab olema number.","invalidRowSpan":"Ridade vahe peab olema täisarv.","invalidColSpan":"Tulpade vahe peab olema täisarv.","chooseColor":"Vali"},"cellPad":"Lahtri täidis","cellSpace":"Lahtri vahe","column":{"menu":"Veerg","insertBefore":"Sisesta veerg enne","insertAfter":"Sisesta veerg peale","deleteColumn":"Eemalda veerud"},"columns":"Veerud","deleteTable":"Kustuta tabel","headers":"Päised","headersBoth":"Mõlemad","headersColumn":"Esimene tulp","headersNone":"Puudub","headersRow":"Esimene rida","invalidBorder":"Äärise suurus peab olema number.","invalidCellPadding":"Lahtrite polsterdus (padding) peab olema positiivne arv.","invalidCellSpacing":"Lahtrite vahe peab olema positiivne arv.","invalidCols":"Tulpade arv peab olema nullist suurem.","invalidHeight":"Tabeli kõrgus peab olema number.","invalidRows":"Ridade arv peab olema nullist suurem.","invalidWidth":"Tabeli laius peab olema number.","menu":"Tabeli omadused","row":{"menu":"Rida","insertBefore":"Sisesta rida enne","insertAfter":"Sisesta rida peale","deleteRow":"Eemalda read"},"rows":"Read","summary":"Kokkuvõte","title":"Tabeli omadused","toolbar":"Tabel","widthPc":"protsenti","widthPx":"pikslit","widthUnit":"laiuse ühik"},"undo":{"redo":"Toimingu kordamine","undo":"Tagasivõtmine"},"widget":{"move":"Click and drag to move","label":"%1 vidin"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"Fail on üles laaditud.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignoreeri","btnIgnoreAll":"Ignoreeri kõiki","btnReplace":"Asenda","btnReplaceAll":"Asenda kõik","btnUndo":"Võta tagasi","changeTo":"Muuda","errorLoading":"Viga rakenduse teenushosti laadimisel: %s.","ieSpellDownload":"Õigekirja kontrollija ei ole paigaldatud. Soovid sa selle alla laadida?","manyChanges":"Õigekirja kontroll sooritatud: %1 sõna muudetud","noChanges":"Õigekirja kontroll sooritatud: ühtegi sõna ei muudetud","noMispell":"Õigekirja kontroll sooritatud: õigekirjuvigu ei leitud","noSuggestions":"- Soovitused puuduvad -","notAvailable":"Kahjuks ei ole teenus praegu saadaval.","notInDic":"Puudub sõnastikust","oneChange":"Õigekirja kontroll sooritatud: üks sõna muudeti","progress":"Toimub õigekirja kontroll...","title":"Õigekirjakontroll","toolbar":"Õigekirjakontroll"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/eu.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['eu']={"editor":"Testu aberastuaren editorea","editorPanel":"Testu aberastuaren editorearen panela","common":{"editorHelp":"Sakatu ALT 0 laguntza jasotzeko","browseServer":"Arakatu zerbitzaria","url":"URLa","protocol":"Protokoloa","upload":"Kargatu","uploadSubmit":"Bidali zerbitzarira","image":"Irudia","flash":"Flash","form":"Formularioa","checkbox":"Kontrol-laukia","radio":"Aukera-botoia","textField":"Testu-eremua","textarea":"Testu-area","hiddenField":"Ezkutuko eremua","button":"Botoia","select":"Hautespen-eremua","imageButton":"Irudi-botoia","notSet":"<ezarri gabe>","id":"Id","name":"Izena","langDir":"Hizkuntzaren norabidea","langDirLtr":"Ezkerretik eskuinera (LTR)","langDirRtl":"Eskuinetik ezkerrera (RTL)","langCode":"Hizkuntzaren kodea","longDescr":"URLaren deskribapen luzea","cssClass":"Estilo-orriko klaseak","advisoryTitle":"Aholkatutako izenburua","cssStyle":"Estiloa","ok":"Ados","cancel":"Utzi","close":"Itxi","preview":"Aurrebista","resize":"Aldatu tamainaz","generalTab":"Orokorra","advancedTab":"Aurreratua","validateNumberFailed":"Balio hau ez da zenbaki bat.","confirmNewPage":"Eduki honetan gorde gabe dauden aldaketak galduko dira. Ziur zaude orri berri bat kargatu nahi duzula?","confirmCancel":"Aukera batzuk aldatu dituzu. Ziur zaude elkarrizketa-koadroa itxi nahi duzula?","options":"Aukerak","target":"Helburua","targetNew":"Leiho berria (_blank)","targetTop":"Goieneko leihoan (_top)","targetSelf":"Leiho berean (_self)","targetParent":"Leiho gurasoan (_parent)","langDirLTR":"Ezkerretik eskuinera (LTR)","langDirRTL":"Eskuinetik ezkerrera (RTL)","styles":"Estiloa","cssClasses":"Estilo-orriko klaseak","width":"Zabalera","height":"Altuera","align":"Lerrokatzea","left":"Ezkerrean","right":"Eskuinean","center":"Erdian","justify":"Justifikatu","alignLeft":"Lerrokatu ezkerrean","alignRight":"Lerrokatu eskuinean","alignCenter":"Align Center","alignTop":"Goian","alignMiddle":"Erdian","alignBottom":"Behean","alignNone":"Bat ere ez","invalidValue":"Balio desegokia.","invalidHeight":"Altuera zenbaki bat izan behar da.","invalidWidth":"Zabalera zenbaki bat izan behar da.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"\"%1\" eremurako zehaztutako balioak zenbaki positibo bat izan behar du, CSS neurri unitate batekin edo gabe (px, %, in, cm, mm, em, ex, pt edo pc).","invalidHtmlLength":"\"%1\" eremurako zehaztutako balioak zenbaki positibo bat izan behar du, HTML neurri unitate batekin edo gabe (px edo %).","invalidInlineStyle":"Lineako estiloan zehaztutako balioak \"izen : balio\" formatuko tupla bat edo gehiago izan behar dira, komaz bereiztuak.","cssLengthTooltip":"Sartu zenbaki bat edo zenbaki bat baliozko CSS unitate batekin (px, %, in, cm, mm, em, ex, pt, edo pc).","unavailable":"%1<span class=\"cke_accessibility\">, erabilezina</span>","keyboard":{"8":"Atzera tekla","13":"Sartu","16":"Maius","17":"Ktrl","18":"Alt","32":"Zuriunea","35":"Buka","36":"Etxea","46":"Ezabatu","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Komandoa"},"keyboardShortcut":"Laster-tekla","optionDefault":"Lehenetsia"},"about":{"copy":"Copyright © $1. Eskubide guztiak erreserbaturik.","dlgTitle":"CKEditor 4ri buruz","moreInfo":"Lizentziari buruzko informazioa gure webgunean:"},"basicstyles":{"bold":"Lodia","italic":"Etzana","strike":"Marratua","subscript":"Azpi-indizea","superscript":"Goi-indizea","underline":"Azpimarratu"},"bidi":{"ltr":"Testuaren norantza ezkerretik eskuinera","rtl":"Testuaren norantza eskuinetik ezkerrera"},"blockquote":{"toolbar":"Aipamen blokea"},"notification":{"closed":"Jakinarazpena itxita."},"toolbar":{"toolbarCollapse":"Tolestu tresna-barra","toolbarExpand":"Zabaldu tresna-barra","toolbarGroups":{"document":"Dokumentua","clipboard":"Arbela/Desegin","editing":"Editatu","forms":"Formularioak","basicstyles":"Oinarrizko estiloak","paragraph":"Paragrafoa","links":"Estekak","insert":"Txertatu","styles":"Estiloak","colors":"Koloreak","tools":"Tresnak"},"toolbars":"Editorearen tresna-barrak"},"clipboard":{"copy":"Kopiatu","copyError":"Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki kopiatzea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+C).","cut":"Ebaki","cutError":"Zure web nabigatzailearen segurtasun ezarpenek ez dute baimentzen testuak automatikoki moztea. Mesedez teklatua erabil ezazu (Ctrl/Cmd+X).","paste":"Itsatsi","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Itsasteko area","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatikoa","bgColorTitle":"Atzeko planoko kolorea","colors":{"000":"Beltza","800000":"Granatea","8B4513":"Zela marroia","2F4F4F":"Arbel gris iluna","008080":"Urdin berdexka","000080":"Urdin iluna","4B0082":"Indigoa","696969":"Gris iluna","B22222":"Adreilu erregogorra","A52A2A":"Marroia","DAA520":"Urrezko makila","006400":"Berde iluna","40E0D0":"Turkesa","0000CD":"Urdin ertaina","800080":"Morea","808080":"Grisa","F00":"Gorria","FF8C00":"Laranja iluna","FFD700":"Urrea","008000":"Berdea","0FF":"Ziana","00F":"Urdina","EE82EE":"Bioleta","A9A9A9":"Gris ahula","FFA07A":"Izokin-kolore argia","FFA500":"Laranja","FFFF00":"Horia","00FF00":"Lima","AFEEEE":"Turkesa argia","ADD8E6":"Urdin argia","DDA0DD":"Aran-kolorea","D3D3D3":"Gris argia","FFF0F5":"Izpiliku-gorrixka","FAEBD7":"Zuri zaharra","FFFFE0":"Hori argia","F0FFF0":"Ezti-ihintza","F0FFFF":"Zeru-urdina","F0F8FF":"Alizia urdina","E6E6FA":"Izpilikua","FFF":"Zuria","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Gris iluna"},"more":"Kolore gehiago...","panelTitle":"Koloreak","textColorTitle":"Testu-kolorea"},"colordialog":{"clear":"Garbitu","highlight":"Nabarmendu","options":"Kolore aukerak","selected":"Hautatutako kolorea","title":"Hautatu kolorea"},"templates":{"button":"Txantiloiak","emptyListMsg":"(Ez dago txantiloirik definituta)","insertOption":"Ordeztu uneko edukiak","options":"Txantiloi aukerak","selectPromptMsg":"Mesedez hautatu txantiloia editorean irekitzeko","title":"Eduki txantiloiak"},"contextmenu":{"options":"Testuinguru-menuaren aukerak"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Aholkatutako izenburua","cssClassInputLabel":"Estilo-orriko klaseak","edit":"Editatu Div-a","inlineStyleInputLabel":"Lineako estiloa","langDirLTRLabel":"Ezkerretik eskuinera (LTR)","langDirLabel":"Hizkuntzaren norabidea","langDirRTLLabel":"Eskuinetik ezkerrera (RTL)","languageCodeInputLabel":"Hizkuntzaren kodea","remove":"Kendu Div-a","styleSelectLabel":"Estiloa","title":"Sortu Div edukiontzia","toolbar":"Sortu Div edukiontzia"},"elementspath":{"eleLabel":"Elementuen bidea","eleTitle":"%1 elementua"},"filetools":{"loadError":"Errorea gertatu da fitxategia irakurtzean.","networkError":"Sareko errorea gertatu da fitxategia kargatzean.","httpError404":"HTTP errorea gertatu da fitxategia kargatzean (404: Fitxategia ez da aurkitu).","httpError403":"HTTP errorea gertatu da fitxategia kargatzean (403: Debekatuta).","httpError":"HTTP errorea gertatu da fitxategia kargatzean (errore-egoera: %1).","noUrlError":"Kargatzeko URLa definitu gabe.","responseError":"Zerbitzariaren erantzun okerra."},"find":{"find":"Bilatu","findOptions":"Bilaketaren aukerak","findWhat":"Bilatu hau:","matchCase":"Maiuskula/minuskula","matchCyclic":"Bilaketa ziklikoa","matchWord":"Bilatu hitz osoa","notFoundMsg":"Ez da aurkitu zehazturiko testua.","replace":"Ordezkatu","replaceAll":"Ordezkatu guztiak","replaceSuccessMsg":"%1 aldiz ordezkatua.","replaceWith":"Ordezkatu honekin:","title":"Bilatu eta ordezkatu"},"fakeobjects":{"anchor":"Aingura","flash":"Flash animazioa","hiddenfield":"Ezkutuko eremua","iframe":"IFrame-a","unknown":"Objektu ezezaguna"},"flash":{"access":"Script atzipena","accessAlways":"Beti","accessNever":"Inoiz ere ez","accessSameDomain":"Domeinu berekoak","alignAbsBottom":"Abs behean","alignAbsMiddle":"Abs erdian","alignBaseline":"Oinean","alignTextTop":"Testua goian","bgcolor":"Atzeko planoko kolorea","chkFull":"Onartu pantaila osoa","chkLoop":"Begizta","chkMenu":"Gaitu Flash-en menua","chkPlay":"Erreproduzitu automatikoki","flashvars":"Flash-en aldagaiak","hSpace":"HSpace","properties":"Flash-en propietateak","propertiesTab":"Propietateak","quality":"Kalitatea","qualityAutoHigh":"Auto altua","qualityAutoLow":"Auto baxua","qualityBest":"Hoberena","qualityHigh":"Altua","qualityLow":"Baxua","qualityMedium":"Ertaina","scale":"Eskalatu","scaleAll":"Erakutsi dena","scaleFit":"Doitu","scaleNoBorder":"Ertzik gabe","title":"Flash-en propietateak","vSpace":"VSpace","validateHSpace":"HSpace zenbaki bat izan behar da.","validateSrc":"URLak ezin du hutsik egon.","validateVSpace":"VSpace zenbaki bat izan behar da.","windowMode":"Leiho-modua","windowModeOpaque":"Opakoa","windowModeTransparent":"Gardena","windowModeWindow":"Leihoa"},"font":{"fontSize":{"label":"Tamaina","voiceLabel":"Letra-tamaina","panelTitle":"Letra-tamaina"},"label":"Letra-tipoa","panelTitle":"Letra-tipoaren izena","voiceLabel":"Letra-tipoa"},"forms":{"button":{"title":"Botoiaren ezaugarriak","text":"Testua (balioa)","type":"Mota","typeBtn":"Botoia","typeSbm":"Bidali","typeRst":"Berrezarri"},"checkboxAndRadio":{"checkboxTitle":"Kontrol-laukiaren propietateak","radioTitle":"Aukera-botoiaren propietateak","value":"Balioa","selected":"Hautatuta","required":"Beharrezkoa"},"form":{"title":"Formularioaren propietateak","menu":"Formularioaren propietateak","action":"Ekintza","method":"Metodoa","encoding":"Kodeketa"},"hidden":{"title":"Ezkutuko eremuaren propietateak","name":"Izena","value":"Balioa"},"select":{"title":"Hautespen eremuaren propietateak","selectInfo":"Hautatu informazioa","opAvail":"Erabilgarri dauden aukerak","value":"Balioa","size":"Tamaina","lines":"lerro kopurua","chkMulti":"baimendu hautapen anitzak","required":"Beharrezkoa","opText":"Testua","opValue":"Balioa","btnAdd":"Gehitu","btnModify":"Aldatu","btnUp":"Gora","btnDown":"Behera","btnSetValue":"Ezarri hautatutako balio bezala","btnDelete":"Ezabatu"},"textarea":{"title":"Testu-arearen propietateak","cols":"Zutabeak","rows":"Errenkadak"},"textfield":{"title":"Testu-eremuaren propietateak","name":"Izena","value":"Balioa","charWidth":"Karaktere-zabalera","maxChars":"Gehienezko karaktereak","required":"Beharrezkoa","type":"Mota","typeText":"Testua","typePass":"Pasahitza","typeEmail":"E-posta","typeSearch":"Bilatu","typeTel":"Telefono zenbakia","typeUrl":"URLa"}},"format":{"label":"Formatua","panelTitle":"Paragrafoaren formatua","tag_address":"Helbidea","tag_div":"Normala (DIV)","tag_h1":"Izenburua 1","tag_h2":"Izenburua 2","tag_h3":"Izenburua 3","tag_h4":"Izenburua 4","tag_h5":"Izenburua 5","tag_h6":"Izenburua 6","tag_p":"Normala","tag_pre":"Formatuduna"},"horizontalrule":{"toolbar":"Txertatu marra horizontala"},"iframe":{"border":"Erakutsi markoaren ertza","noUrl":"Idatzi iframe-aren URLa, mesedez.","scrolling":"Gaitu korritze-barrak","title":"IFrame-aren propietateak","toolbar":"IFrame-a"},"image":{"alt":"Ordezko testua","border":"Ertza","btnUpload":"Bidali zerbitzarira","button2Img":"Hautatutako irudi-botoia irudi arrunt bihurtu nahi duzu?","hSpace":"HSpace","img2Button":"Hautatutako irudia irudi-botoi bihurtu nahi duzu?","infoTab":"Irudiaren informazioa","linkTab":"Esteka","lockRatio":"Blokeatu erlazioa","menu":"Irudiaren propietateak","resetSize":"Berrezarri tamaina","title":"Irudiaren propietateak","titleButton":"Irudi-botoiaren propietateak","upload":"Kargatu","urlMissing":"Irudiaren iturburuaren URLa falta da.","vSpace":"VSpace","validateBorder":"Ertza zenbaki oso bat izan behar da.","validateHSpace":"HSpace zenbaki oso bat izan behar da.","validateVSpace":"VSpace zenbaki oso bat izan behar da."},"indent":{"indent":"Handitu koska","outdent":"Txikitu koska"},"smiley":{"options":"Aurpegieren aukerak","title":"Txertatu aurpegiera","toolbar":"Aurpegierak"},"language":{"button":"Ezarri hizkuntza","remove":"Kendu hizkuntza"},"link":{"acccessKey":"Sarbide-tekla","advanced":"Aurreratua","advisoryContentType":"Aholkatutako eduki-mota","advisoryTitle":"Aholkatutako izenburua","anchor":{"toolbar":"Aingura","menu":"Editatu aingura","title":"Ainguraren propietateak","name":"Ainguraren izena","errorName":"Idatzi ainguraren izena","remove":"Kendu aingura"},"anchorId":"Elementuaren Id-aren arabera","anchorName":"Aingura-izenaren arabera","charset":"Estekatutako baliabide karaktere-jokoa","cssClasses":"Estilo-orriko klaseak","download":"Behartu deskarga","displayText":"Bistaratu testua","emailAddress":"E-posta helbidea","emailBody":"Mezuaren gorputza","emailSubject":"Mezuaren gaia","id":"Id","info":"Estekaren informazioa","langCode":"Hizkuntzaren kodea","langDir":"Hizkuntzaren norabidea","langDirLTR":"Ezkerretik eskuinera (LTR)","langDirRTL":"Eskuinetik ezkerrera (RTL)","menu":"Editatu esteka","name":"Izena","noAnchors":"(Ez dago aingurarik erabilgarri dokumentuan)","noEmail":"Mesedez idatzi e-posta helbidea","noUrl":"Mesedez idatzi estekaren URLa","noTel":"Please type the phone number","other":"<bestelakoa>","phoneNumber":"Phone number","popupDependent":"Menpekoa (Netscape)","popupFeatures":"Laster-leihoaren ezaugarriak","popupFullScreen":"Pantaila osoa (IE)","popupLeft":"Ezkerreko posizioa","popupLocationBar":"Kokaleku-barra","popupMenuBar":"Menu-barra","popupResizable":"Tamaina aldakorra","popupScrollBars":"Korritze-barrak","popupStatusBar":"Egoera-barra","popupToolbar":"Tresna-barra","popupTop":"Goiko posizioa","rel":"Erlazioa","selectAnchor":"Hautatu aingura","styles":"Estiloa","tabIndex":"Tabulazio indizea","target":"Helburua","targetFrame":"<frame>","targetFrameName":"Helburuko markoaren izena","targetPopup":"<laster-leihoa>","targetPopupName":"Laster-leihoaren izena","title":"Esteka","toAnchor":"Estekatu testuko aingurara","toEmail":"E-posta","toUrl":"URLa","toPhone":"Phone","toolbar":"Esteka","type":"Esteka-mota","unlink":"Kendu esteka","upload":"Kargatu"},"list":{"bulletedlist":"Buletdun Zerrenda","numberedlist":"Zenbakidun Zerrenda"},"liststyle":{"bulletedTitle":"Buletadun zerrendaren propietateak","circle":"Zirkulua","decimal":"Hamartarra (1, 2, 3...)","disc":"Diskoa","lowerAlpha":"Alfabetoa minuskulaz (a, b, c, d, e...)","lowerRoman":"Erromatarra minuskulaz (i, ii, iii, iv, v...)","none":"Bat ere ez","notset":"<ezarri gabea>","numberedTitle":"Zenbakidun zerrendaren propietateak","square":"Karratua","start":"Hasi","type":"Mota","upperAlpha":"Alfabetoa maiuskulaz (A, B, C, D, E...)","upperRoman":"Erromatarra maiuskulaz (I, II, III, IV, V, etc.)","validateStartNumber":"Zerrendaren hasierako zenbakiak zenbaki osoa izan behar du."},"magicline":{"title":"Txertatu paragrafoa hemen"},"maximize":{"maximize":"Maximizatu","minimize":"Minimizatu"},"newpage":{"toolbar":"Orrialde berria"},"pagebreak":{"alt":"Orrialde-jauzia","toolbar":"Txertatu orrialde-jauzia inprimatzean"},"pastetext":{"button":"Itsatsi testu arrunta bezala","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Itsatsi testu arrunta bezala"},"pastefromword":{"confirmCleanup":"Itsatsi nahi duzun testua Word-etik kopiatua dela dirudi. Itsatsi baino lehen garbitu nahi duzu?","error":"Barne-errore bat dela eta ezin izan da itsatsitako testua garbitu","title":"Itsatsi Word-etik","toolbar":"Itsatsi Word-etik"},"preview":{"preview":"Aurrebista"},"print":{"toolbar":"Inprimatu"},"removeformat":{"toolbar":"Kendu formatua"},"save":{"toolbar":"Gorde"},"selectall":{"toolbar":"Hautatu dena"},"showblocks":{"toolbar":"Erakutsi blokeak"},"sourcearea":{"toolbar":"Iturburua"},"specialchar":{"options":"Karaktere berezien aukerak","title":"Hautatu karaktere berezia","toolbar":"Txertatu karaktere berezia"},"scayt":{"btn_about":"SCAYTi buruz","btn_dictionaries":"Hiztegiak","btn_disable":"Desgaitu SCAYT","btn_enable":"Gaitu SCAYT","btn_langs":"Hizkuntzak","btn_options":"Aukerak","text_title":"Ortografia Zuzenketa Idatzi Ahala (SCAYT)"},"stylescombo":{"label":"Estiloak","panelTitle":"Formatu estiloak","panelTitle1":"Bloke estiloak","panelTitle2":"Lineako estiloak","panelTitle3":"Objektu estiloak"},"table":{"border":"Ertzaren zabalera","caption":"Epigrafea","cell":{"menu":"Gelaxka","insertBefore":"Txertatu gelaxka aurretik","insertAfter":"Txertatu gelaxka ondoren","deleteCell":"Ezabatu gelaxkak","merge":"Batu gelaxkak","mergeRight":"Batu eskuinetara","mergeDown":"Batu behera","splitHorizontal":"Banatu gelaxka horizontalki","splitVertical":"Banatu gelaxka bertikalki","title":"Gelaxkaren propietateak","cellType":"Gelaxka-mota","rowSpan":"Errenkaden hedadura","colSpan":"Zutabeen hedadura","wordWrap":"Itzulbira","hAlign":"Lerrokatze horizontala","vAlign":"Lerrokatze bertikala","alignBaseline":"Oinarri-lerroan","bgColor":"Atzeko planoaren kolorea","borderColor":"Ertzaren kolorea","data":"Data","header":"Goiburua","yes":"Bai","no":"Ez","invalidWidth":"Gelaxkaren zabalera zenbaki bat izan behar da.","invalidHeight":"Gelaxkaren altuera zenbaki bat izan behar da.","invalidRowSpan":"Errenkaden hedadura zenbaki osoa izan behar da.","invalidColSpan":"Zutabeen hedadura zenbaki osoa izan behar da.","chooseColor":"Aukeratu"},"cellPad":"Gelaxken betegarria","cellSpace":"Gelaxka arteko tartea","column":{"menu":"Zutabea","insertBefore":"Txertatu zutabea aurretik","insertAfter":"Txertatu zutabea ondoren","deleteColumn":"Ezabatu zutabeak"},"columns":"Zutabeak","deleteTable":"Ezabatu taula","headers":"Goiburuak","headersBoth":"Biak","headersColumn":"Lehen zutabea","headersNone":"Bat ere ez","headersRow":"Lehen errenkada","invalidBorder":"Ertzaren tamaina zenbaki bat izan behar da.","invalidCellPadding":"Gelaxken betegarria zenbaki bat izan behar da.","invalidCellSpacing":"Gelaxka arteko tartea zenbaki bat izan behar da.","invalidCols":"Zutabe kopurua 0 baino handiagoa den zenbakia izan behar da.","invalidHeight":"Taularen altuera zenbaki bat izan behar da.","invalidRows":"Errenkada kopurua 0 baino handiagoa den zenbakia izan behar da.","invalidWidth":"Taularen zabalera zenbaki bat izan behar da.","menu":"Taularen propietateak","row":{"menu":"Errenkada","insertBefore":"Txertatu errenkada aurretik","insertAfter":"Txertatu errenkada ondoren","deleteRow":"Ezabatu errenkadak"},"rows":"Errenkadak","summary":"Laburpena","title":"Taularen propietateak","toolbar":"Taula","widthPc":"ehuneko","widthPx":"pixel","widthUnit":"zabalera unitatea"},"undo":{"redo":"Berregin","undo":"Desegin"},"widget":{"move":"Klikatu eta arrastatu lekuz aldatzeko","label":"%1 widget"},"uploadwidget":{"abort":"Karga erabiltzaileak bertan behera utzita.","doneOne":"Fitxategia behar bezala kargatu da.","doneMany":"Behar bezala kargatu dira %1 fitxategi.","uploadOne":"Fitxategia kargatzen ({percentage}%)...","uploadMany":"Fitxategiak kargatzen, {current} / {max} eginda ({percentage}%)..."},"wsc":{"btnIgnore":"Ezikusi","btnIgnoreAll":"Denak Ezikusi","btnReplace":"Ordezkatu","btnReplaceAll":"Denak Ordezkatu","btnUndo":"Desegin","changeTo":"Honekin ordezkatu","errorLoading":"Errorea gertatu da aplikazioa zerbitzaritik kargatzean: %s.","ieSpellDownload":"Zuzentzaile ortografikoa ez dago instalatuta. Deskargatu nahi duzu?","manyChanges":"Zuzenketa ortografikoa bukatuta: %1 hitz aldatu dira","noChanges":"Zuzenketa ortografikoa bukatuta: Ez da ezer aldatu","noMispell":"Zuzenketa ortografikoa bukatuta: Akatsik ez","noSuggestions":"- Iradokizunik ez -","notAvailable":"Barkatu baina momentu honetan zerbitzua ez dago erabilgarri.","notInDic":"Ez dago hiztegian","oneChange":"Zuzenketa ortografikoa bukatuta: Hitz bat aldatu da","progress":"Zuzenketa ortografikoa martxan...","title":"Ortografia zuzenketa","toolbar":"Ortografia"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/fa.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['fa']={"editor":"ویرایشگر متن غنی","editorPanel":"پنل ویرایشگر متن غنی","common":{"editorHelp":"کلید Alt+0 را برای راهنمایی بفشارید","browseServer":"فهرستنمایی سرور","url":"URL","protocol":"قرارداد","upload":"بالاگذاری","uploadSubmit":"به سرور بفرست","image":"تصویر","flash":"فلش","form":"فرم","checkbox":"چکباکس","radio":"دکمهی رادیویی","textField":"فیلد متنی","textarea":"ناحیهٴ متنی","hiddenField":"فیلد پنهان","button":"دکمه","select":"فیلد انتخاب چند گزینهای","imageButton":"دکمهی تصویری","notSet":"<تعییننشده>","id":"شناسه","name":"نام","langDir":"جهت زبان","langDirLtr":"چپ به راست","langDirRtl":"راست به چپ","langCode":"کد زبان","longDescr":"URL توصیف طولانی","cssClass":"کلاسهای شیوهنامه (Stylesheet)","advisoryTitle":"عنوان کمکی","cssStyle":"سبک","ok":"پذیرش","cancel":"انصراف","close":"بستن","preview":"پیشنمایش","resize":"تغییر اندازه","generalTab":"عمومی","advancedTab":"پیشرفته","validateNumberFailed":"این مقدار یک عدد نیست.","confirmNewPage":"هر تغییر ایجاد شدهی ذخیره نشده از بین خواهد رفت. آیا اطمینان دارید که قصد بارگیری صفحه جدیدی را دارید؟","confirmCancel":"برخی از گزینهها تغییر کردهاند. آیا واقعا قصد بستن این پنجره را دارید؟","options":"گزینهها","target":"مقصد","targetNew":"پنجره جدید","targetTop":"بالاترین پنجره","targetSelf":"همان پنجره","targetParent":"پنجره والد","langDirLTR":"چپ به راست","langDirRTL":"راست به چپ","styles":"سبک","cssClasses":"کلاسهای سبکنامه","width":"عرض","height":"طول","align":"چینش","left":"چپ","right":"راست","center":"وسط","justify":"بلوک چین","alignLeft":"چپ چین","alignRight":"راست چین","alignCenter":"مرکز قرار بده","alignTop":"بالا","alignMiddle":"میانه","alignBottom":"پائین","alignNone":"هیچ","invalidValue":"مقدار نامعتبر.","invalidHeight":"ارتفاع باید یک عدد باشد.","invalidWidth":"عرض باید یک عدد باشد.","invalidLength":"عدد تعیین شده برای فیلد \"%1\" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری معتبر (\"%2\") باشد.","invalidCssLength":"عدد تعیین شده برای فیلد \"%1\" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری CSS معتبر باشد (px, %, in, cm, mm, em, ex, pt, or pc).","invalidHtmlLength":"عدد تعیین شده برای فیلد \"%1\" باید یک عدد مثبت با یا بدون یک واحد اندازه گیری HTML معتبر باشد (px or %).","invalidInlineStyle":"عدد تعیین شده برای سبک درونخطی -Inline Style- باید دارای یک یا چند چندتایی با شکلی شبیه \"name : value\" که باید با یک \";\" از هم جدا شوند.","cssLengthTooltip":"یک عدد برای یک مقدار بر حسب پیکسل و یا یک عدد با یک واحد CSS معتبر وارد کنید (px, %, in, cm, mm, em, ex, pt, or pc).","unavailable":"%1<span class=\"cke_accessibility\">، غیر قابل دسترس</span>","keyboard":{"8":"عقبگرد","13":"ورود","16":"تعویض","17":"کنترل","18":"دگرساز","32":"فاصله","35":"پایان","36":"خانه","46":"حذف","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"فرمان"},"keyboardShortcut":"میانبر صفحه کلید","optionDefault":"پیش فرض"},"about":{"copy":"حق نشر © $1. کلیه حقوق محفوظ است.","dlgTitle":"درباره CKEditor","moreInfo":"برای کسب اطلاعات مجوز لطفا به وب سایت ما مراجعه کنید:"},"basicstyles":{"bold":"درشت","italic":"خمیده","strike":"خطخورده","subscript":"زیرنویس","superscript":"بالانویس","underline":"زیرخطدار"},"bidi":{"ltr":"جهت متن از چپ به راست","rtl":"جهت متن از راست به چپ"},"blockquote":{"toolbar":"بلوک نقل قول"},"notification":{"closed":"آگاهسازی بسته شد"},"toolbar":{"toolbarCollapse":"بستن نوار ابزار","toolbarExpand":"بازکردن نوار ابزار","toolbarGroups":{"document":"سند","clipboard":"حافظه موقت/برگشت","editing":"در حال ویرایش","forms":"فرمها","basicstyles":"سبکهای پایه","paragraph":"بند","links":"پیوندها","insert":"ورود","styles":"سبکها","colors":"رنگها","tools":"ابزارها"},"toolbars":"نوار ابزارهای ویرایشگر"},"clipboard":{"copy":"رونوشت","copyError":"تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای کپی کردن را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+C).","cut":"برش","cutError":"تنظیمات امنیتی مرورگر شما اجازه نمیدهد که ویرایشگر به طور خودکار عملکردهای برش را انجام دهد. لطفا با دکمههای صفحه کلید این کار را انجام دهید (Ctrl/Cmd+X).","paste":"چسباندن","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"محل چسباندن","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"خودکار","bgColorTitle":"رنگ پسزمینه","colors":{"000":"سیاه","800000":"خرمایی","8B4513":"قهوهای شکلاتی","2F4F4F":"ارغوانی مایل به خاکستری","008080":"آبی مایل به خاکستری","000080":"آبی سیر","4B0082":"نیلی","696969":"خاکستری تیره","B22222":"آتش آجری","A52A2A":"قهوهای","DAA520":"میلهی طلایی","006400":"سبز تیره","40E0D0":"فیروزهای","0000CD":"آبی روشن","800080":"ارغوانی","808080":"خاکستری","F00":"قرمز","FF8C00":"نارنجی پررنگ","FFD700":"طلایی","008000":"سبز","0FF":"آبی مایل به سبز","00F":"آبی","EE82EE":"بنفش","A9A9A9":"خاکستری مات","FFA07A":"صورتی کدر روشن","FFA500":"نارنجی","FFFF00":"زرد","00FF00":"فسفری","AFEEEE":"فیروزهای رنگ پریده","ADD8E6":"آبی کمرنگ","DDA0DD":"آلویی","D3D3D3":"خاکستری روشن","FFF0F5":"بنفش کمرنگ","FAEBD7":"عتیقه سفید","FFFFE0":"زرد روشن","F0FFF0":"عسلی","F0FFFF":"لاجوردی","F0F8FF":"آبی براق","E6E6FA":"بنفش کمرنگ","FFF":"سفید","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"رنگهای بیشتر...","panelTitle":"رنگها","textColorTitle":"رنگ متن"},"colordialog":{"clear":"پاک کردن","highlight":"متمایز","options":"گزینههای رنگ","selected":"رنگ انتخاب شده","title":"انتخاب رنگ"},"templates":{"button":"الگوها","emptyListMsg":"(الگوئی تعریف نشده است)","insertOption":"محتویات کنونی جایگزین شوند","options":"گزینههای الگو","selectPromptMsg":"لطفاً الگوی مورد نظر را برای بازکردن در ویرایشگر انتخاب کنید","title":"الگوهای محتویات"},"contextmenu":{"options":"گزینههای منوی زمینه"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"شناسه","advisoryTitleInputLabel":"عنوان مشاوره","cssClassInputLabel":"کلاسهای شیوهنامه","edit":"ویرایش Div","inlineStyleInputLabel":"سبک درونخطی(Inline Style)","langDirLTRLabel":"چپ به راست (LTR)","langDirLabel":"جهت نوشتاری زبان","langDirRTLLabel":"راست به چپ (RTL)","languageCodeInputLabel":" کد زبان","remove":"حذف Div","styleSelectLabel":"سبک","title":"ایجاد یک محل DIV","toolbar":"ایجاد یک محل DIV"},"elementspath":{"eleLabel":"مسیر عناصر","eleTitle":"%1 عنصر"},"filetools":{"loadError":"هنگام خواندن فایل، خطایی رخ داد.","networkError":"هنگام آپلود فایل خطای شبکه رخ داد.","httpError404":"هنگام آپلود فایل خطای HTTP رخ داد (404: فایل یافت نشد).","httpError403":"هنگام آپلود فایل، خطای HTTP رخ داد (403: ممنوع).","httpError":"خطای HTTP در آپلود فایل رخ داده است (وضعیت خطا: %1).","noUrlError":"آدرس آپلود تعریف نشده است.","responseError":"پاسخ نادرست سرور."},"find":{"find":"جستجو","findOptions":"گزینههای جستجو","findWhat":"چه چیز را مییابید:","matchCase":"همسانی در بزرگی و کوچکی نویسهها","matchCyclic":"همسانی با چرخه","matchWord":"همسانی با واژهٴ کامل","notFoundMsg":"متن موردنظر یافت نشد.","replace":"جایگزینی","replaceAll":"جایگزینی همهٴ یافتهها","replaceSuccessMsg":"%1 رخداد جایگزین شد.","replaceWith":"جایگزینی با:","title":"جستجو و جایگزینی"},"fakeobjects":{"anchor":"لنگر","flash":"انیمشن فلش","hiddenfield":"فیلد پنهان","iframe":"IFrame","unknown":"شیء ناشناخته"},"flash":{"access":"دسترسی به اسکریپت","accessAlways":"همیشه","accessNever":"هرگز","accessSameDomain":"همان دامنه","alignAbsBottom":"پائین مطلق","alignAbsMiddle":"وسط مطلق","alignBaseline":"خط پایه","alignTextTop":"متن بالا","bgcolor":"رنگ پسزمینه","chkFull":"اجازه تمام صفحه","chkLoop":"اجرای پیاپی","chkMenu":"در دسترس بودن منوی فلش","chkPlay":"آغاز خودکار","flashvars":"مقادیر برای فلش","hSpace":"فاصلهٴ افقی","properties":"ویژگیهای فلش","propertiesTab":"ویژگیها","quality":"کیفیت","qualityAutoHigh":"بالا - خودکار","qualityAutoLow":"پایین - خودکار","qualityBest":"بهترین","qualityHigh":"بالا","qualityLow":"پایین","qualityMedium":"متوسط","scale":"مقیاس","scaleAll":"نمایش همه","scaleFit":"جایگیری کامل","scaleNoBorder":"بدون کران","title":"ویژگیهای فلش","vSpace":"فاصلهٴ عمودی","validateHSpace":"مقدار فاصله گذاری افقی باید یک عدد باشد.","validateSrc":"لطفا URL پیوند را بنویسید","validateVSpace":"مقدار فاصله گذاری عمودی باید یک عدد باشد.","windowMode":"حالت پنجره","windowModeOpaque":"مات","windowModeTransparent":"شفاف","windowModeWindow":"پنجره"},"font":{"fontSize":{"label":"اندازه","voiceLabel":"اندازه قلم","panelTitle":"اندازه قلم"},"label":"قلم","panelTitle":"نام قلم","voiceLabel":"قلم"},"forms":{"button":{"title":"ویژگیهای دکمه","text":"متن (مقدار)","type":"نوع","typeBtn":"دکمه","typeSbm":"ثبت","typeRst":"بازنشانی (Reset)"},"checkboxAndRadio":{"checkboxTitle":"ویژگیهای خانهٴ گزینهای","radioTitle":"ویژگیهای دکمهٴ رادیویی","value":"مقدار","selected":"برگزیده","required":"ضروری"},"form":{"title":"ویژگیهای فرم","menu":"ویژگیهای فرم","action":"رویداد","method":"متد","encoding":"رمزنگاری"},"hidden":{"title":"ویژگیهای فیلد پنهان","name":"نام","value":"مقدار"},"select":{"title":"ویژگیهای فیلد چندگزینهای","selectInfo":"اطلاعات","opAvail":"گزینههای دردسترس","value":"مقدار","size":"اندازه","lines":"خطوط","chkMulti":"گزینش چندگانه فراهم باشد","required":"ضروری","opText":"متن","opValue":"مقدار","btnAdd":"افزودن","btnModify":"ویرایش","btnUp":"بالا","btnDown":"پائین","btnSetValue":"تنظیم به عنوان مقدار برگزیده","btnDelete":"پاککردن"},"textarea":{"title":"ویژگیهای ناحیهٴ متنی","cols":"ستونها","rows":"سطرها"},"textfield":{"title":"ویژگیهای فیلد متنی","name":"نام","value":"مقدار","charWidth":"پهنای نویسه","maxChars":"حداکثر کارکتر","required":"ضروری","type":"نوع","typeText":"متن","typePass":"گذرواژه","typeEmail":"ایمیل","typeSearch":"جستجو","typeTel":"شماره تلفن","typeUrl":"URL"}},"format":{"label":"قالب","panelTitle":"قالب بند","tag_address":"نشانی","tag_div":"بند","tag_h1":"سرنویس ۱","tag_h2":"سرنویس ۲","tag_h3":"سرنویس ۳","tag_h4":"سرنویس ۴","tag_h5":"سرنویس ۵","tag_h6":"سرنویس ۶","tag_p":"معمولی","tag_pre":"قالبدار"},"horizontalrule":{"toolbar":"گنجاندن خط افقی"},"iframe":{"border":"نمایش خطوط frame","noUrl":"لطفا مسیر URL iframe را درج کنید","scrolling":"نمایش خطکشها","title":"ویژگیهای IFrame","toolbar":"IFrame"},"image":{"alt":"متن جایگزین","border":"لبه","btnUpload":"به سرور بفرست","button2Img":"آیا مایلید از یک تصویر ساده روی دکمه تصویری انتخاب شده استفاده کنید؟","hSpace":"فاصلهٴ افقی","img2Button":"آیا مایلید از یک دکمه تصویری روی تصویر انتخاب شده استفاده کنید؟","infoTab":"اطلاعات تصویر","linkTab":"پیوند","lockRatio":"قفل کردن نسبت","menu":"ویژگیهای تصویر","resetSize":"بازنشانی اندازه","title":"ویژگیهای تصویر","titleButton":"ویژگیهای دکمهٴ تصویری","upload":"انتقال به سرور","urlMissing":"آدرس URL اصلی تصویر یافت نشد.","vSpace":"فاصلهٴ عمودی","validateBorder":"مقدار خطوط باید یک عدد باشد.","validateHSpace":"مقدار فاصله گذاری افقی باید یک عدد باشد.","validateVSpace":"مقدار فاصله گذاری عمودی باید یک عدد باشد."},"indent":{"indent":"افزایش تورفتگی","outdent":"کاهش تورفتگی"},"smiley":{"options":"گزینههای خندانک","title":"گنجاندن خندانک","toolbar":"خندانک"},"language":{"button":"تعیین زبان","remove":"حذف زبان"},"link":{"acccessKey":"کلید دستیابی","advanced":"پیشرفته","advisoryContentType":"نوع محتوای کمکی","advisoryTitle":"عنوان کمکی","anchor":{"toolbar":"گنجاندن/ویرایش لنگر","menu":"ویژگیهای لنگر","title":"ویژگیهای لنگر","name":"نام لنگر","errorName":"لطفا نام لنگر را بنویسید","remove":"حذف لنگر"},"anchorId":"با شناسهٴ المان","anchorName":"با نام لنگر","charset":"نویسهگان منبع پیوند شده","cssClasses":"کلاسهای شیوهنامه(Stylesheet)","download":"Force Download","displayText":"نمایش متن","emailAddress":"نشانی پست الکترونیکی","emailBody":"متن پیام","emailSubject":"موضوع پیام","id":"شناسه","info":"اطلاعات پیوند","langCode":"جهتنمای زبان","langDir":"جهتنمای زبان","langDirLTR":"چپ به راست (LTR)","langDirRTL":"راست به چپ (RTL)","menu":"ویرایش پیوند","name":"نام","noAnchors":"(در این سند لنگری دردسترس نیست)","noEmail":"لطفا نشانی پست الکترونیکی را بنویسید","noUrl":"لطفا URL پیوند را بنویسید","noTel":"Please type the phone number","other":"<سایر>","phoneNumber":"Phone number","popupDependent":"وابسته (Netscape)","popupFeatures":"ویژگیهای پنجرهٴ پاپاپ","popupFullScreen":"تمام صفحه (IE)","popupLeft":"موقعیت چپ","popupLocationBar":"نوار موقعیت","popupMenuBar":"نوار منو","popupResizable":"قابل تغییر اندازه","popupScrollBars":"میلههای پیمایش","popupStatusBar":"نوار وضعیت","popupToolbar":"نوار ابزار","popupTop":"موقعیت بالا","rel":"وابستگی","selectAnchor":"یک لنگر برگزینید","styles":"شیوه (style)","tabIndex":"نمایهٴ دسترسی با برگه","target":"مقصد","targetFrame":"<فریم>","targetFrameName":"نام فریم مقصد","targetPopup":"<پنجرهٴ پاپاپ>","targetPopupName":"نام پنجرهٴ پاپاپ","title":"پیوند","toAnchor":"لنگر در همین صفحه","toEmail":"پست الکترونیکی","toUrl":"URL","toPhone":"Phone","toolbar":"گنجاندن/ویرایش پیوند","type":"نوع پیوند","unlink":"برداشتن پیوند","upload":"انتقال به سرور"},"list":{"bulletedlist":"فهرست نقطهای","numberedlist":"فهرست شمارهدار"},"liststyle":{"bulletedTitle":"خصوصیات فهرست نقطهای","circle":"دایره","decimal":"دهدهی (۱، ۲، ۳، ...)","disc":"صفحه گرد","lowerAlpha":"پانویس الفبایی (a, b, c, d, e, etc.)","lowerRoman":"پانویس رومی (i, ii, iii, iv, v, etc.)","none":"هیچ","notset":"<تنظیم نشده>","numberedTitle":"ویژگیهای فهرست شمارهدار","square":"چهارگوش","start":"شروع","type":"نوع","upperAlpha":"بالانویس الفبایی (A, B, C, D, E, etc.)","upperRoman":"بالانویس رومی (I, II, III, IV, V, etc.)","validateStartNumber":"فهرست شماره شروع باید یک عدد صحیح باشد."},"magicline":{"title":"قرار دادن بند در اینجا"},"maximize":{"maximize":"بیشنه کردن","minimize":"کمینه کردن"},"newpage":{"toolbar":"برگهٴ تازه"},"pagebreak":{"alt":"شکستن صفحه","toolbar":"گنجاندن شکستگی پایان برگه"},"pastetext":{"button":"چسباندن به عنوان متن ساده","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"چسباندن به عنوان متن ساده"},"pastefromword":{"confirmCleanup":"متنی که میخواهید بچسبانید به نظر میرسد که از Word کپی شده است. آیا میخواهید قبل از چسباندن آن را پاکسازی کنید؟","error":"به دلیل بروز خطای داخلی امکان پاکسازی اطلاعات بازنشانی شده وجود ندارد.","title":"چسباندن از Word","toolbar":"چسباندن از Word"},"preview":{"preview":"پیشنمایش"},"print":{"toolbar":"چاپ"},"removeformat":{"toolbar":"برداشتن فرمت"},"save":{"toolbar":"ذخیره"},"selectall":{"toolbar":"گزینش همه"},"showblocks":{"toolbar":"نمایش بلوکها"},"sourcearea":{"toolbar":"منبع"},"specialchar":{"options":"گزینههای نویسههای ویژه","title":"گزینش نویسهی ویژه","toolbar":"گنجاندن نویسهی ویژه"},"scayt":{"btn_about":"درباره SCAYT","btn_dictionaries":"دیکشنریها","btn_disable":"غیرفعالسازی SCAYT","btn_enable":"فعالسازی SCAYT","btn_langs":"زبانها","btn_options":"گزینهها","text_title":"بررسی املای تایپ شما"},"stylescombo":{"label":"سبک","panelTitle":"سبکهای قالببندی","panelTitle1":"سبکهای بلوک","panelTitle2":"سبکهای درونخطی","panelTitle3":"سبکهای شیء"},"table":{"border":"اندازهٴ لبه","caption":"عنوان","cell":{"menu":"سلول","insertBefore":"افزودن سلول قبل از","insertAfter":"افزودن سلول بعد از","deleteCell":"حذف سلولها","merge":"ادغام سلولها","mergeRight":"ادغام به راست","mergeDown":"ادغام به پایین","splitHorizontal":"جدا کردن افقی سلول","splitVertical":"جدا کردن عمودی سلول","title":"ویژگیهای سلول","cellType":"نوع سلول","rowSpan":"محدوده ردیفها","colSpan":"محدوده ستونها","wordWrap":"شکستن کلمه","hAlign":"چینش افقی","vAlign":"چینش عمودی","alignBaseline":"خط مبنا","bgColor":"رنگ زمینه","borderColor":"رنگ خطوط","data":"اطلاعات","header":"سرنویس","yes":"بله","no":"خیر","invalidWidth":"عرض سلول باید یک عدد باشد.","invalidHeight":"ارتفاع سلول باید عدد باشد.","invalidRowSpan":"مقدار محدوده ردیفها باید یک عدد باشد.","invalidColSpan":"مقدار محدوده ستونها باید یک عدد باشد.","chooseColor":"انتخاب"},"cellPad":"فاصلهٴ پرشده در سلول","cellSpace":"فاصلهٴ میان سلولها","column":{"menu":"ستون","insertBefore":"افزودن ستون قبل از","insertAfter":"افزودن ستون بعد از","deleteColumn":"حذف ستونها"},"columns":"ستونها","deleteTable":"پاک کردن جدول","headers":"سرنویسها","headersBoth":"هردو","headersColumn":"اولین ستون","headersNone":"هیچ","headersRow":"اولین ردیف","invalidBorder":"مقدار اندازه خطوط باید یک عدد باشد.","invalidCellPadding":"بالشتک سلول باید یک عدد باشد.","invalidCellSpacing":"مقدار فاصلهگذاری سلول باید یک عدد باشد.","invalidCols":"تعداد ستونها باید یک عدد بزرگتر از 0 باشد.","invalidHeight":"مقدار ارتفاع جدول باید یک عدد باشد.","invalidRows":"تعداد ردیفها باید یک عدد بزرگتر از 0 باشد.","invalidWidth":"مقدار پهنای جدول باید یک عدد باشد.","menu":"ویژگیهای جدول","row":{"menu":"سطر","insertBefore":"افزودن سطر قبل از","insertAfter":"افزودن سطر بعد از","deleteRow":"حذف سطرها"},"rows":"سطرها","summary":"خلاصه","title":"ویژگیهای جدول","toolbar":"جدول","widthPc":"درصد","widthPx":"پیکسل","widthUnit":"واحد پهنا"},"undo":{"redo":"بازچیدن","undo":"واچیدن"},"widget":{"move":"کلیک و کشیدن برای جابجایی","label":"ابزارک %1"},"uploadwidget":{"abort":"بارگذاری توسط کاربر لغو شد.","doneOne":"فایل با موفقیت بارگذاری شد.","doneMany":"%1 از فایلها با موفقیت بارگذاری شد.","uploadOne":"بارگذاری فایل ({percentage}%)...","uploadMany":"بارگذاری فایلها, {current} از {max} انجام شده ({percentage}%)..."},"wsc":{"btnIgnore":"چشمپوشی","btnIgnoreAll":"چشمپوشی همه","btnReplace":"جایگزینی","btnReplaceAll":"جایگزینی همه","btnUndo":"واچینش","changeTo":"تغییر به","errorLoading":"خطا در بارگیری برنامه خدمات میزبان: %s.","ieSpellDownload":"بررسی کنندهٴ املا نصب نشده است. آیا میخواهید آن را هماکنون دریافت کنید؟","manyChanges":"بررسی املا انجام شد. %1 واژه تغییر یافت","noChanges":"بررسی املا انجام شد. هیچ واژهای تغییر نیافت","noMispell":"بررسی املا انجام شد. هیچ غلط املائی یافت نشد","noSuggestions":"- پیشنهادی نیست -","notAvailable":"با عرض پوزش خدمات الان در دسترس نیستند.","notInDic":"در واژه~نامه یافت نشد","oneChange":"بررسی املا انجام شد. یک واژه تغییر یافت","progress":"بررسی املا در حال انجام...","title":"بررسی املا","toolbar":"بررسی املا"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/fi.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['fi']={"editor":"Rikastekstieditori","editorPanel":"Rikastekstieditoripaneeli","common":{"editorHelp":"Paina ALT 0 nähdäksesi ohjeen","browseServer":"Selaa palvelinta","url":"Osoite","protocol":"Protokolla","upload":"Lisää tiedosto","uploadSubmit":"Lähetä palvelimelle","image":"Kuva","flash":"Flash-animaatio","form":"Lomake","checkbox":"Valintaruutu","radio":"Radiopainike","textField":"Tekstikenttä","textarea":"Tekstilaatikko","hiddenField":"Piilokenttä","button":"Painike","select":"Valintakenttä","imageButton":"Kuvapainike","notSet":"<ei asetettu>","id":"Tunniste","name":"Nimi","langDir":"Kielen suunta","langDirLtr":"Vasemmalta oikealle (LTR)","langDirRtl":"Oikealta vasemmalle (RTL)","langCode":"Kielikoodi","longDescr":"Pitkän kuvauksen URL","cssClass":"Tyyliluokat","advisoryTitle":"Avustava otsikko","cssStyle":"Tyyli","ok":"OK","cancel":"Peruuta","close":"Sulje","preview":"Esikatselu","resize":"Raahaa muuttaaksesi kokoa","generalTab":"Yleinen","advancedTab":"Lisäominaisuudet","validateNumberFailed":"Arvon pitää olla numero.","confirmNewPage":"Kaikki tallentamattomat muutokset tähän sisältöön menetetään. Oletko varma, että haluat ladata uuden sivun?","confirmCancel":"Jotkut asetuksista on muuttuneet. Oletko varma, että haluat sulkea valintaikkunan?","options":"Asetukset","target":"Kohde","targetNew":"Uusi ikkuna (_blank)","targetTop":"Päällimmäinen ikkuna (_top)","targetSelf":"Sama ikkuna (_self)","targetParent":"Ylemmän tason ikkuna (_parent)","langDirLTR":"Vasemmalta oikealle (LTR)","langDirRTL":"Oikealta vasemmalle (RTL)","styles":"Tyyli","cssClasses":"Tyylitiedoston luokat","width":"Leveys","height":"Korkeus","align":"Kohdistus","left":"Vasemmalle","right":"Oikealle","center":"Keskelle","justify":"Tasaa molemmat reunat","alignLeft":"Tasaa vasemmat reunat","alignRight":"Tasaa oikeat reunat","alignCenter":"Align Center","alignTop":"Ylös","alignMiddle":"Keskelle","alignBottom":"Alas","alignNone":"Ei asetettu","invalidValue":"Virheellinen arvo.","invalidHeight":"Korkeuden täytyy olla numero.","invalidWidth":"Leveyden täytyy olla numero.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Kentän \"%1\" arvon täytyy olla positiivinen luku CSS mittayksikön (px, %, in, cm, mm, em, ex, pt tai pc) kanssa tai ilman.","invalidHtmlLength":"Kentän \"%1\" arvon täytyy olla positiivinen luku HTML mittayksikön (px tai %) kanssa tai ilman.","invalidInlineStyle":"Tyylille annetun arvon täytyy koostua yhdestä tai useammasta \"nimi : arvo\" parista, jotka ovat eroteltuna toisistaan puolipisteillä.","cssLengthTooltip":"Anna numeroarvo pikseleinä tai numeroarvo CSS mittayksikön kanssa (px, %, in, cm, mm, em, ex, pt, tai pc).","unavailable":"%1<span class=\"cke_accessibility\">, ei saatavissa</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Kaikki oikeuden pidätetään.","dlgTitle":"Tietoa CKEditorista","moreInfo":"Lisenssitiedot löytyvät kotisivuiltamme:"},"basicstyles":{"bold":"Lihavoitu","italic":"Kursivoitu","strike":"Yliviivattu","subscript":"Alaindeksi","superscript":"Yläindeksi","underline":"Alleviivattu"},"bidi":{"ltr":"Tekstin suunta vasemmalta oikealle","rtl":"Tekstin suunta oikealta vasemmalle"},"blockquote":{"toolbar":"Lainaus"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Kutista työkalupalkki","toolbarExpand":"Laajenna työkalupalkki","toolbarGroups":{"document":"Dokumentti","clipboard":"Leikepöytä/Kumoa","editing":"Muokkaus","forms":"Lomakkeet","basicstyles":"Perustyylit","paragraph":"Kappale","links":"Linkit","insert":"Lisää","styles":"Tyylit","colors":"Värit","tools":"Työkalut"},"toolbars":"Editorin työkalupalkit"},"clipboard":{"copy":"Kopioi","copyError":"Selaimesi turva-asetukset eivät salli editorin toteuttaa kopioimista. Käytä näppäimistöä kopioimiseen (Ctrl+C).","cut":"Leikkaa","cutError":"Selaimesi turva-asetukset eivät salli editorin toteuttaa leikkaamista. Käytä näppäimistöä leikkaamiseen (Ctrl+X).","paste":"Liitä","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Leikealue","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automaattinen","bgColorTitle":"Taustaväri","colors":{"000":"Musta","800000":"Kastanjanruskea","8B4513":"Satulanruskea","2F4F4F":"Tumma liuskekivenharmaa","008080":"Sinivihreä","000080":"Laivastonsininen","4B0082":"Indigonsininen","696969":"Tummanharmaa","B22222":"Tiili","A52A2A":"Ruskea","DAA520":"Kultapiisku","006400":"Tummanvihreä","40E0D0":"Turkoosi","0000CD":"Keskisininen","800080":"Purppura","808080":"Harmaa","F00":"Punainen","FF8C00":"Tumma oranssi","FFD700":"Kulta","008000":"Vihreä","0FF":"Syaani","00F":"Sininen","EE82EE":"Violetti","A9A9A9":"Tummanharmaa","FFA07A":"Vaaleanlohenpunainen","FFA500":"Oranssi","FFFF00":"Keltainen","00FF00":"Limetin vihreä","AFEEEE":"Haalea turkoosi","ADD8E6":"Vaaleansininen","DDA0DD":"Luumu","D3D3D3":"Vaaleanharmaa","FFF0F5":"Laventelinpunainen","FAEBD7":"Antiikinvalkoinen","FFFFE0":"Vaaleankeltainen","F0FFF0":"Hunajameloni","F0FFFF":"Asurinsininen","F0F8FF":"Alice Blue -sininen","E6E6FA":"Lavanteli","FFF":"Valkoinen","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Lisää värejä...","panelTitle":"Värit","textColorTitle":"Tekstiväri"},"colordialog":{"clear":"Poista","highlight":"Korostus","options":"Värin ominaisuudet","selected":"Valittu","title":"Valitse väri"},"templates":{"button":"Pohjat","emptyListMsg":"(Ei määriteltyjä pohjia)","insertOption":"Korvaa koko sisältö","options":"Sisältöpohjan ominaisuudet","selectPromptMsg":"Valitse editoriin avattava pohja","title":"Sisältöpohjat"},"contextmenu":{"options":"Pikavalikon ominaisuudet"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Ohjeistava otsikko","cssClassInputLabel":"Tyylitiedoston luokat","edit":"Muokkaa Diviä","inlineStyleInputLabel":"Sisätyyli","langDirLTRLabel":"Vasemmalta oikealle (LTR)","langDirLabel":"Kielen suunta","langDirRTLLabel":"Oikealta vasemmalle (RTL)","languageCodeInputLabel":" Kielen koodi","remove":"Poista Div","styleSelectLabel":"Tyyli","title":"Luo div-kehikko","toolbar":"Luo div-kehikko"},"elementspath":{"eleLabel":"Elementin polku","eleTitle":"%1 elementti"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Etsi","findOptions":"Hakuasetukset","findWhat":"Etsi mitä:","matchCase":"Sama kirjainkoko","matchCyclic":"Kierrä ympäri","matchWord":"Koko sana","notFoundMsg":"Etsittyä tekstiä ei löytynyt.","replace":"Korvaa","replaceAll":"Korvaa kaikki","replaceSuccessMsg":"%1 esiintymä(ä) korvattu.","replaceWith":"Korvaa tällä:","title":"Etsi ja korvaa"},"fakeobjects":{"anchor":"Ankkuri","flash":"Flash animaatio","hiddenfield":"Piilokenttä","iframe":"IFrame-kehys","unknown":"Tuntematon objekti"},"flash":{"access":"Skriptien pääsy","accessAlways":"Aina","accessNever":"Ei koskaan","accessSameDomain":"Sama verkkotunnus","alignAbsBottom":"Aivan alas","alignAbsMiddle":"Aivan keskelle","alignBaseline":"Alas (teksti)","alignTextTop":"Ylös (teksti)","bgcolor":"Taustaväri","chkFull":"Salli kokoruututila","chkLoop":"Toisto","chkMenu":"Näytä Flash-valikko","chkPlay":"Automaattinen käynnistys","flashvars":"Muuttujat Flash:lle","hSpace":"Vaakatila","properties":"Flash-ominaisuudet","propertiesTab":"Ominaisuudet","quality":"Laatu","qualityAutoHigh":"Automaattinen korkea","qualityAutoLow":"Automaattinen matala","qualityBest":"Paras","qualityHigh":"Korkea","qualityLow":"Matala","qualityMedium":"Keskitaso","scale":"Levitä","scaleAll":"Näytä kaikki","scaleFit":"Tarkka koko","scaleNoBorder":"Ei rajaa","title":"Flash ominaisuudet","vSpace":"Pystytila","validateHSpace":"Vaakatilan täytyy olla numero.","validateSrc":"Linkille on kirjoitettava URL","validateVSpace":"Pystytilan täytyy olla numero.","windowMode":"Ikkuna tila","windowModeOpaque":"Läpinäkyvyys","windowModeTransparent":"Läpinäkyvä","windowModeWindow":"Ikkuna"},"font":{"fontSize":{"label":"Koko","voiceLabel":"Kirjaisimen koko","panelTitle":"Koko"},"label":"Kirjaisinlaji","panelTitle":"Kirjaisinlaji","voiceLabel":"Kirjaisinlaji"},"forms":{"button":{"title":"Painikkeen ominaisuudet","text":"Teksti (arvo)","type":"Tyyppi","typeBtn":"Painike","typeSbm":"Lähetä","typeRst":"Tyhjennä"},"checkboxAndRadio":{"checkboxTitle":"Valintaruudun ominaisuudet","radioTitle":"Radiopainikkeen ominaisuudet","value":"Arvo","selected":"Valittu","required":"Required"},"form":{"title":"Lomakkeen ominaisuudet","menu":"Lomakkeen ominaisuudet","action":"Toiminto","method":"Tapa","encoding":"Enkoodaus"},"hidden":{"title":"Piilokentän ominaisuudet","name":"Nimi","value":"Arvo"},"select":{"title":"Valintakentän ominaisuudet","selectInfo":"Info","opAvail":"Ominaisuudet","value":"Arvo","size":"Koko","lines":"Rivit","chkMulti":"Salli usea valinta","required":"Required","opText":"Teksti","opValue":"Arvo","btnAdd":"Lisää","btnModify":"Muuta","btnUp":"Ylös","btnDown":"Alas","btnSetValue":"Aseta valituksi","btnDelete":"Poista"},"textarea":{"title":"Tekstilaatikon ominaisuudet","cols":"Sarakkeita","rows":"Rivejä"},"textfield":{"title":"Tekstikentän ominaisuudet","name":"Nimi","value":"Arvo","charWidth":"Leveys","maxChars":"Maksimi merkkimäärä","required":"Required","type":"Tyyppi","typeText":"Teksti","typePass":"Salasana","typeEmail":"Sähköposti","typeSearch":"Haku","typeTel":"Puhelinnumero","typeUrl":"Osoite"}},"format":{"label":"Muotoilu","panelTitle":"Muotoilu","tag_address":"Osoite","tag_div":"Normaali (DIV)","tag_h1":"Otsikko 1","tag_h2":"Otsikko 2","tag_h3":"Otsikko 3","tag_h4":"Otsikko 4","tag_h5":"Otsikko 5","tag_h6":"Otsikko 6","tag_p":"Normaali","tag_pre":"Muotoiltu"},"horizontalrule":{"toolbar":"Lisää murtoviiva"},"iframe":{"border":"Näytä kehyksen reunat","noUrl":"Anna IFrame-kehykselle lähdeosoite (src)","scrolling":"Näytä vierityspalkit","title":"IFrame-kehyksen ominaisuudet","toolbar":"IFrame-kehys"},"image":{"alt":"Vaihtoehtoinen teksti","border":"Kehys","btnUpload":"Lähetä palvelimelle","button2Img":"Haluatko muuntaa valitun kuvanäppäimen kuvaksi?","hSpace":"Vaakatila","img2Button":"Haluatko muuntaa valitun kuvan kuvanäppäimeksi?","infoTab":"Kuvan tiedot","linkTab":"Linkki","lockRatio":"Lukitse suhteet","menu":"Kuvan ominaisuudet","resetSize":"Alkuperäinen koko","title":"Kuvan ominaisuudet","titleButton":"Kuvapainikkeen ominaisuudet","upload":"Lisää kuva","urlMissing":"Kuvan lähdeosoite puuttuu.","vSpace":"Pystytila","validateBorder":"Kehyksen täytyy olla kokonaisluku.","validateHSpace":"HSpace-määrityksen täytyy olla kokonaisluku.","validateVSpace":"VSpace-määrityksen täytyy olla kokonaisluku."},"indent":{"indent":"Suurenna sisennystä","outdent":"Pienennä sisennystä"},"smiley":{"options":"Hymiön ominaisuudet","title":"Lisää hymiö","toolbar":"Hymiö"},"language":{"button":"Aseta kieli","remove":"Poista kieli"},"link":{"acccessKey":"Pikanäppäin","advanced":"Lisäominaisuudet","advisoryContentType":"Avustava sisällön tyyppi","advisoryTitle":"Avustava otsikko","anchor":{"toolbar":"Lisää ankkuri/muokkaa ankkuria","menu":"Ankkurin ominaisuudet","title":"Ankkurin ominaisuudet","name":"Nimi","errorName":"Ankkurille on kirjoitettava nimi","remove":"Poista ankkuri"},"anchorId":"Ankkurin ID:n mukaan","anchorName":"Ankkurin nimen mukaan","charset":"Linkitetty kirjaimisto","cssClasses":"Tyyliluokat","download":"Force Download","displayText":"Display Text","emailAddress":"Sähköpostiosoite","emailBody":"Viesti","emailSubject":"Aihe","id":"Tunniste","info":"Linkin tiedot","langCode":"Kielen suunta","langDir":"Kielen suunta","langDirLTR":"Vasemmalta oikealle (LTR)","langDirRTL":"Oikealta vasemmalle (RTL)","menu":"Muokkaa linkkiä","name":"Nimi","noAnchors":"(Ei ankkureita tässä dokumentissa)","noEmail":"Kirjoita sähköpostiosoite","noUrl":"Linkille on kirjoitettava URL","noTel":"Please type the phone number","other":"<muu>","phoneNumber":"Phone number","popupDependent":"Riippuva (Netscape)","popupFeatures":"Popup ikkunan ominaisuudet","popupFullScreen":"Täysi ikkuna (IE)","popupLeft":"Vasemmalta (px)","popupLocationBar":"Osoiterivi","popupMenuBar":"Valikkorivi","popupResizable":"Venytettävä","popupScrollBars":"Vierityspalkit","popupStatusBar":"Tilarivi","popupToolbar":"Vakiopainikkeet","popupTop":"Ylhäältä (px)","rel":"Suhde","selectAnchor":"Valitse ankkuri","styles":"Tyyli","tabIndex":"Tabulaattori indeksi","target":"Kohde","targetFrame":"<kehys>","targetFrameName":"Kohdekehyksen nimi","targetPopup":"<popup ikkuna>","targetPopupName":"Popup ikkunan nimi","title":"Linkki","toAnchor":"Ankkuri tässä sivussa","toEmail":"Sähköposti","toUrl":"Osoite","toPhone":"Phone","toolbar":"Lisää linkki/muokkaa linkkiä","type":"Linkkityyppi","unlink":"Poista linkki","upload":"Lisää tiedosto"},"list":{"bulletedlist":"Luettelomerkit","numberedlist":"Numerointi"},"liststyle":{"bulletedTitle":"Numeroimattoman listan ominaisuudet","circle":"Ympyrä","decimal":"Desimaalit (1, 2, 3, jne.)","disc":"Levy","lowerAlpha":"Pienet aakkoset (a, b, c, d, e, jne.)","lowerRoman":"Pienet roomalaiset (i, ii, iii, iv, v, jne.)","none":"Ei mikään","notset":"<ei asetettu>","numberedTitle":"Numeroidun listan ominaisuudet","square":"Neliö","start":"Alku","type":"Tyyppi","upperAlpha":"Isot aakkoset (A, B, C, D, E, jne.)","upperRoman":"Isot roomalaiset (I, II, III, IV, V, jne.)","validateStartNumber":"Listan ensimmäisen numeron tulee olla kokonaisluku."},"magicline":{"title":"Lisää kappale tähän."},"maximize":{"maximize":"Suurenna","minimize":"Pienennä"},"newpage":{"toolbar":"Tyhjennä"},"pagebreak":{"alt":"Sivunvaihto","toolbar":"Lisää sivunvaihto"},"pastetext":{"button":"Liitä tekstinä","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Liitä tekstinä"},"pastefromword":{"confirmCleanup":"Liittämäsi teksti näyttäisi olevan Word-dokumentista. Haluatko siivota sen ennen liittämistä? (Suositus: Kyllä)","error":"Liitetyn tiedon siivoaminen ei onnistunut sisäisen virheen takia","title":"Liitä Word-dokumentista","toolbar":"Liitä Word-dokumentista"},"preview":{"preview":"Esikatsele"},"print":{"toolbar":"Tulosta"},"removeformat":{"toolbar":"Poista muotoilu"},"save":{"toolbar":"Tallenna"},"selectall":{"toolbar":"Valitse kaikki"},"showblocks":{"toolbar":"Näytä elementit"},"sourcearea":{"toolbar":"Koodi"},"specialchar":{"options":"Erikoismerkin ominaisuudet","title":"Valitse erikoismerkki","toolbar":"Lisää erikoismerkki"},"scayt":{"btn_about":"Tietoja oikoluvusta kirjoitetaessa","btn_dictionaries":"Sanakirjat","btn_disable":"Poista käytöstä oikoluku kirjoitetaessa","btn_enable":"Ota käyttöön oikoluku kirjoitettaessa","btn_langs":"Kielet","btn_options":"Asetukset","text_title":"Oikolue kirjoitettaessa"},"stylescombo":{"label":"Tyyli","panelTitle":"Muotoilujen tyylit","panelTitle1":"Lohkojen tyylit","panelTitle2":"Rivinsisäiset tyylit","panelTitle3":"Objektien tyylit"},"table":{"border":"Rajan paksuus","caption":"Otsikko","cell":{"menu":"Solu","insertBefore":"Lisää solu eteen","insertAfter":"Lisää solu perään","deleteCell":"Poista solut","merge":"Yhdistä solut","mergeRight":"Yhdistä oikealla olevan kanssa","mergeDown":"Yhdistä alla olevan kanssa","splitHorizontal":"Jaa solu vaakasuunnassa","splitVertical":"Jaa solu pystysuunnassa","title":"Solun ominaisuudet","cellType":"Solun tyyppi","rowSpan":"Rivin jatkuvuus","colSpan":"Solun jatkuvuus","wordWrap":"Rivitys","hAlign":"Horisontaali kohdistus","vAlign":"Vertikaali kohdistus","alignBaseline":"Alas (teksti)","bgColor":"Taustan väri","borderColor":"Reunan väri","data":"Data","header":"Ylätunniste","yes":"Kyllä","no":"Ei","invalidWidth":"Solun leveyden täytyy olla numero.","invalidHeight":"Solun korkeuden täytyy olla numero.","invalidRowSpan":"Rivin jatkuvuuden täytyy olla kokonaisluku.","invalidColSpan":"Solun jatkuvuuden täytyy olla kokonaisluku.","chooseColor":"Valitse"},"cellPad":"Solujen sisennys","cellSpace":"Solujen väli","column":{"menu":"Sarake","insertBefore":"Lisää sarake vasemmalle","insertAfter":"Lisää sarake oikealle","deleteColumn":"Poista sarakkeet"},"columns":"Sarakkeet","deleteTable":"Poista taulu","headers":"Ylätunnisteet","headersBoth":"Molemmat","headersColumn":"Ensimmäinen sarake","headersNone":"Ei","headersRow":"Ensimmäinen rivi","invalidBorder":"Reunan koon täytyy olla numero.","invalidCellPadding":"Solujen sisennyksen täytyy olla numero.","invalidCellSpacing":"Solujen välin täytyy olla numero.","invalidCols":"Sarakkeiden määrän täytyy olla suurempi kuin 0.","invalidHeight":"Taulun korkeuden täytyy olla numero.","invalidRows":"Rivien määrän täytyy olla suurempi kuin 0.","invalidWidth":"Taulun leveyden täytyy olla numero.","menu":"Taulun ominaisuudet","row":{"menu":"Rivi","insertBefore":"Lisää rivi yläpuolelle","insertAfter":"Lisää rivi alapuolelle","deleteRow":"Poista rivit"},"rows":"Rivit","summary":"Yhteenveto","title":"Taulun ominaisuudet","toolbar":"Taulu","widthPc":"prosenttia","widthPx":"pikseliä","widthUnit":"leveysyksikkö"},"undo":{"redo":"Toista","undo":"Kumoa"},"widget":{"move":"Siirrä klikkaamalla ja raahaamalla","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Jätä huomioimatta","btnIgnoreAll":"Jätä kaikki huomioimatta","btnReplace":"Korvaa","btnReplaceAll":"Korvaa kaikki","btnUndo":"Kumoa","changeTo":"Vaihda","errorLoading":"Virhe ladattaessa oikolukupalvelua isännältä: %s.","ieSpellDownload":"Oikeinkirjoituksen tarkistusta ei ole asennettu. Haluatko ladata sen nyt?","manyChanges":"Tarkistus valmis: %1 sanaa muutettiin","noChanges":"Tarkistus valmis: Yhtään sanaa ei muutettu","noMispell":"Tarkistus valmis: Ei virheitä","noSuggestions":"Ei ehdotuksia","notAvailable":"Valitettavasti oikoluku ei ole käytössä tällä hetkellä.","notInDic":"Ei sanakirjassa","oneChange":"Tarkistus valmis: Yksi sana muutettiin","progress":"Tarkistus käynnissä...","title":"Oikoluku","toolbar":"Tarkista oikeinkirjoitus"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/fo.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['fo']={"editor":"Rich Text Editor","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Trýst ALT og 0 fyri vegleiðing","browseServer":"Ambætarakagi","url":"URL","protocol":"Protokoll","upload":"Send til ambætaran","uploadSubmit":"Send til ambætaran","image":"Myndir","flash":"Flash","form":"Formur","checkbox":"Flugubein","radio":"Radioknøttur","textField":"Tekstteigur","textarea":"Tekstumráði","hiddenField":"Fjaldur teigur","button":"Knøttur","select":"Valskrá","imageButton":"Myndaknøttur","notSet":"<ikki sett>","id":"Id","name":"Navn","langDir":"Tekstkós","langDirLtr":"Frá vinstru til høgru (LTR)","langDirRtl":"Frá høgru til vinstru (RTL)","langCode":"Málkoda","longDescr":"Víðkað URL frágreiðing","cssClass":"Typografi klassar","advisoryTitle":"Vegleiðandi heiti","cssStyle":"Typografi","ok":"Góðkent","cancel":"Avlýs","close":"Lat aftur","preview":"Frumsýn","resize":"Drag fyri at broyta stødd","generalTab":"Generelt","advancedTab":"Fjølbroytt","validateNumberFailed":"Hetta er ikki eitt tal.","confirmNewPage":"Allar ikki goymdar broytingar í hesum innihaldið hvørva. Skal nýggj síða lesast kortini?","confirmCancel":"Nakrir valmøguleikar eru broyttir. Ert tú vísur í, at dialogurin skal latast aftur?","options":"Options","target":"Target","targetNew":"Nýtt vindeyga (_blank)","targetTop":"Vindeyga ovast (_top)","targetSelf":"Sama vindeyga (_self)","targetParent":"Upphavligt vindeyga (_parent)","langDirLTR":"Frá vinstru til høgru (LTR)","langDirRTL":"Frá høgru til vinstru (RTL)","styles":"Style","cssClasses":"Stylesheet Classes","width":"Breidd","height":"Hædd","align":"Justering","left":"Vinstra","right":"Høgra","center":"Miðsett","justify":"Javnir tekstkantar","alignLeft":"Vinstrasett","alignRight":"Høgrasett","alignCenter":"Align Center","alignTop":"Ovast","alignMiddle":"Miðja","alignBottom":"Botnur","alignNone":"Eingin","invalidValue":"Invalid value.","invalidHeight":"Hædd má vera eitt tal.","invalidWidth":"Breidd má vera eitt tal.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"Virðið sett í \"%1\" feltið má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px, %, in, cm, mm, em, ex, pt, ella pc).","invalidHtmlLength":"Virðið sett í \"%1\" feltiðield má vera eitt positivt tal, við ella uttan gyldugum CSS mátieind (px ella %).","invalidInlineStyle":"Virði specifiserað fyri inline style má hava eitt ella fleiri pør (tuples) skrivað sum \"name : value\", hvørt parið sundurskilt við semi-colon.","cssLengthTooltip":"Skriva eitt tal fyri eitt virði í pixels ella eitt tal við gyldigum CSS eind (px, %, in, cm, mm, em, ex, pt, ella pc).","unavailable":"%1<span class=\"cke_accessibility\">, ikki tøkt</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. All rights reserved.","dlgTitle":"Um CKEditor 4","moreInfo":"Licens upplýsingar finnast á heimasíðu okkara:"},"basicstyles":{"bold":"Feit skrift","italic":"Skráskrift","strike":"Yvirstrikað","subscript":"Lækkað skrift","superscript":"Hækkað skrift","underline":"Undirstrikað"},"bidi":{"ltr":"Tekstkós frá vinstru til høgru","rtl":"Tekstkós frá høgru til vinstru"},"blockquote":{"toolbar":"Blockquote"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Lat Toolbar aftur","toolbarExpand":"Vís Toolbar","toolbarGroups":{"document":"Dokument","clipboard":"Clipboard/Undo","editing":"Editering","forms":"Formar","basicstyles":"Grundleggjandi Styles","paragraph":"Reglubrot","links":"Leinkjur","insert":"Set inn","styles":"Styles","colors":"Litir","tools":"Tól"},"toolbars":"Editor toolbars"},"clipboard":{"copy":"Avrita","copyError":"Trygdaruppseting alnótskagans forðar tekstviðgeranum í at avrita tekstin. Vinarliga nýt knappaborðið til at avrita tekstin (Ctrl/Cmd+C).","cut":"Kvett","cutError":"Trygdaruppseting alnótskagans forðar tekstviðgeranum í at kvetta tekstin. Vinarliga nýt knappaborðið til at kvetta tekstin (Ctrl/Cmd+X).","paste":"Innrita","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Avritingarumráði","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatiskt","bgColorTitle":"Bakgrundslitur","colors":{"000":"Svart","800000":"Maroon","8B4513":"Saðilsbrúnt","2F4F4F":"Dark Slate Gray","008080":"Teal","000080":"Navy","4B0082":"Indigo","696969":"Myrkagrátt","B22222":"Fire Brick","A52A2A":"Brúnt","DAA520":"Gullstavur","006400":"Myrkagrønt","40E0D0":"Turquoise","0000CD":"Meðal blátt","800080":"Purple","808080":"Grátt","F00":"Reytt","FF8C00":"Myrkt appelsingult","FFD700":"Gull","008000":"Grønt","0FF":"Cyan","00F":"Blátt","EE82EE":"Violet","A9A9A9":"Døkt grátt","FFA07A":"Ljósur laksur","FFA500":"Appelsingult","FFFF00":"Gult","00FF00":"Lime","AFEEEE":"Pale Turquoise","ADD8E6":"Ljósablátt","DDA0DD":"Plum","D3D3D3":"Ljósagrátt","FFF0F5":"Lavender Blush","FAEBD7":"Klassiskt hvítt","FFFFE0":"Ljósagult","F0FFF0":"Hunangsdøggur","F0FFFF":"Azure","F0F8FF":"Alice Blátt","E6E6FA":"Lavender","FFF":"Hvítt","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Fleiri litir...","panelTitle":"Litir","textColorTitle":"Tekstlitur"},"colordialog":{"clear":"Strika","highlight":"Framheva","options":"Litmøguleikar","selected":"Valdur litur","title":"Vel lit"},"templates":{"button":"Skabelónir","emptyListMsg":"(Ongar skabelónir tøkar)","insertOption":"Yvirskriva núverandi innihald","options":"Møguleikar fyri Template","selectPromptMsg":"Vinarliga vel ta skabelón, ið skal opnast í tekstviðgeranum<br>(Hetta yvirskrivar núverandi innihald):","title":"Innihaldsskabelónir"},"contextmenu":{"options":"Context Menu Options"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"Id","advisoryTitleInputLabel":"Advisory Title","cssClassInputLabel":"Stylesheet Classes","edit":"Redigera Div","inlineStyleInputLabel":"Inline Style","langDirLTRLabel":"Vinstru til høgru (LTR)","langDirLabel":"Language Direction","langDirRTLLabel":"Høgru til vinstru (RTL)","languageCodeInputLabel":" Language Code","remove":"Strika Div","styleSelectLabel":"Style","title":"Ger Div Container","toolbar":"Ger Div Container"},"elementspath":{"eleLabel":"Slóð til elementir","eleTitle":"%1 element"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Leita","findOptions":"Finn møguleikar","findWhat":"Finn:","matchCase":"Munur á stórum og smáum bókstavum","matchCyclic":"Match cyclic","matchWord":"Bert heil orð","notFoundMsg":"Leititeksturin varð ikki funnin","replace":"Yvirskriva","replaceAll":"Yvirskriva alt","replaceSuccessMsg":"%1 úrslit broytt.","replaceWith":"Yvirskriva við:","title":"Finn og broyt"},"fakeobjects":{"anchor":"Anchor","flash":"Flash Animation","hiddenfield":"Fjaldur teigur","iframe":"IFrame","unknown":"Ókent Object"},"flash":{"access":"Script atgongd","accessAlways":"Altíð","accessNever":"Ongantíð","accessSameDomain":"Sama navnaøki","alignAbsBottom":"Abs botnur","alignAbsMiddle":"Abs miðja","alignBaseline":"Basislinja","alignTextTop":"Tekst toppur","bgcolor":"Bakgrundslitur","chkFull":"Loyv fullan skerm","chkLoop":"Endurspæl","chkMenu":"Ger Flash skrá virkna","chkPlay":"Avspælingin byrjar sjálv","flashvars":"Variablar fyri Flash","hSpace":"Høgri breddi","properties":"Flash eginleikar","propertiesTab":"Eginleikar","quality":"Góðska","qualityAutoHigh":"Auto høg","qualityAutoLow":"Auto Lág","qualityBest":"Besta","qualityHigh":"Høg","qualityLow":"Lág","qualityMedium":"Meðal","scale":"Skalering","scaleAll":"Vís alt","scaleFit":"Neyv skalering","scaleNoBorder":"Eingin bordi","title":"Flash eginleikar","vSpace":"Vinstri breddi","validateHSpace":"HSpace má vera eitt tal.","validateSrc":"Vinarliga skriva tilknýti (URL)","validateVSpace":"VSpace má vera eitt tal.","windowMode":"Slag av rúti","windowModeOpaque":"Ikki transparent","windowModeTransparent":"Transparent","windowModeWindow":"Rútur"},"font":{"fontSize":{"label":"Skriftstødd","voiceLabel":"Skriftstødd","panelTitle":"Skriftstødd"},"label":"Skrift","panelTitle":"Skrift","voiceLabel":"Skrift"},"forms":{"button":{"title":"Eginleikar fyri knøtt","text":"Tekstur","type":"Slag","typeBtn":"Knøttur","typeSbm":"Send","typeRst":"Nullstilla"},"checkboxAndRadio":{"checkboxTitle":"Eginleikar fyri flugubein","radioTitle":"Eginleikar fyri radioknøtt","value":"Virði","selected":"Valt","required":"Required"},"form":{"title":"Eginleikar fyri Form","menu":"Eginleikar fyri Form","action":"Hending","method":"Háttur","encoding":"Encoding"},"hidden":{"title":"Eginleikar fyri fjaldan teig","name":"Navn","value":"Virði"},"select":{"title":"Eginleikar fyri valskrá","selectInfo":"Upplýsingar","opAvail":"Tøkir møguleikar","value":"Virði","size":"Stødd","lines":"Linjur","chkMulti":"Loyv fleiri valmøguleikum samstundis","required":"Required","opText":"Tekstur","opValue":"Virði","btnAdd":"Legg afturat","btnModify":"Broyt","btnUp":"Upp","btnDown":"Niður","btnSetValue":"Set sum valt virði","btnDelete":"Strika"},"textarea":{"title":"Eginleikar fyri tekstumráði","cols":"kolonnur","rows":"røðir"},"textfield":{"title":"Eginleikar fyri tekstteig","name":"Navn","value":"Virði","charWidth":"Breidd (sjónlig tekn)","maxChars":"Mest loyvdu tekn","required":"Required","type":"Slag","typeText":"Tekstur","typePass":"Loyniorð","typeEmail":"Email","typeSearch":"Search","typeTel":"Telephone Number","typeUrl":"URL"}},"format":{"label":"Skriftsnið","panelTitle":"Skriftsnið","tag_address":"Adressa","tag_div":"Vanligt (DIV)","tag_h1":"Yvirskrift 1","tag_h2":"Yvirskrift 2","tag_h3":"Yvirskrift 3","tag_h4":"Yvirskrift 4","tag_h5":"Yvirskrift 5","tag_h6":"Yvirskrift 6","tag_p":"Vanligt","tag_pre":"Sniðgivið"},"horizontalrule":{"toolbar":"Ger vatnrætta linju"},"iframe":{"border":"Vís frame kant","noUrl":"Vinarliga skriva URL til iframe","scrolling":"Loyv scrollbars","title":"Møguleikar fyri IFrame","toolbar":"IFrame"},"image":{"alt":"Alternativur tekstur","border":"Bordi","btnUpload":"Send til ambætaran","button2Img":"Skal valdi myndaknøttur gerast til vanliga mynd?","hSpace":"Høgri breddi","img2Button":"Skal valda mynd gerast til myndaknøtt?","infoTab":"Myndaupplýsingar","linkTab":"Tilknýti","lockRatio":"Læs lutfallið","menu":"Myndaeginleikar","resetSize":"Upprunastødd","title":"Myndaeginleikar","titleButton":"Eginleikar fyri myndaknøtt","upload":"Send","urlMissing":"URL til mynd manglar.","vSpace":"Vinstri breddi","validateBorder":"Bordi má vera eitt heiltal.","validateHSpace":"HSpace má vera eitt heiltal.","validateVSpace":"VSpace má vera eitt heiltal."},"indent":{"indent":"Økja reglubrotarinntriv","outdent":"Minka reglubrotarinntriv"},"smiley":{"options":"Møguleikar fyri Smiley","title":"Vel Smiley","toolbar":"Smiley"},"language":{"button":"Velja tungumál","remove":"Remove language"},"link":{"acccessKey":"Snarvegisknöttur","advanced":"Fjølbroytt","advisoryContentType":"Vegleiðandi innihaldsslag","advisoryTitle":"Vegleiðandi heiti","anchor":{"toolbar":"Ger/broyt marknastein","menu":"Eginleikar fyri marknastein","title":"Eginleikar fyri marknastein","name":"Heiti marknasteinsins","errorName":"Vinarliga rita marknasteinsins heiti","remove":"Strika marknastein"},"anchorId":"Eftir element Id","anchorName":"Eftir navni á marknasteini","charset":"Atknýtt teknsett","cssClasses":"Typografi klassar","download":"Force Download","displayText":"Display Text","emailAddress":"Teldupost-adressa","emailBody":"Breyðtekstur","emailSubject":"Evni","id":"Id","info":"Tilknýtis upplýsingar","langCode":"Tekstkós","langDir":"Tekstkós","langDirLTR":"Frá vinstru til høgru (LTR)","langDirRTL":"Frá høgru til vinstru (RTL)","menu":"Broyt tilknýti","name":"Navn","noAnchors":"(Eingir marknasteinar eru í hesum dokumentið)","noEmail":"Vinarliga skriva teldupost-adressu","noUrl":"Vinarliga skriva tilknýti (URL)","noTel":"Please type the phone number","other":"<annað>","phoneNumber":"Phone number","popupDependent":"Bundið (Netscape)","popupFeatures":"Popup vindeygans víðkaðu eginleikar","popupFullScreen":"Fullur skermur (IE)","popupLeft":"Frástøða frá vinstru","popupLocationBar":"Adressulinja","popupMenuBar":"Skrábjálki","popupResizable":"Stødd kann broytast","popupScrollBars":"Rullibjálki","popupStatusBar":"Støðufrágreiðingarbjálki","popupToolbar":"Amboðsbjálki","popupTop":"Frástøða frá íerva","rel":"Relatión","selectAnchor":"Vel ein marknastein","styles":"Typografi","tabIndex":"Tabulator indeks","target":"Target","targetFrame":"<ramma>","targetFrameName":"Vís navn vindeygans","targetPopup":"<popup vindeyga>","targetPopupName":"Popup vindeygans navn","title":"Tilknýti","toAnchor":"Tilknýti til marknastein í tekstinum","toEmail":"Teldupostur","toUrl":"URL","toPhone":"Phone","toolbar":"Ger/broyt tilknýti","type":"Tilknýtisslag","unlink":"Strika tilknýti","upload":"Send til ambætaran"},"list":{"bulletedlist":"Punktmerktur listi","numberedlist":"Talmerktur listi"},"liststyle":{"bulletedTitle":"Eginleikar fyri lista við prikkum","circle":"Sirkul","decimal":"Vanlig tøl (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Lítlir bókstavir (a, b, c, d, e, etc.)","lowerRoman":"Lítil rómaratøl (i, ii, iii, iv, v, etc.)","none":"Einki","notset":"<ikki sett>","numberedTitle":"Eginleikar fyri lista við tølum","square":"Fýrkantur","start":"Byrjan","type":"Slag","upperAlpha":"Stórir bókstavir (A, B, C, D, E, etc.)","upperRoman":"Stór rómaratøl (I, II, III, IV, V, etc.)","validateStartNumber":"Byrjunartalið fyri lista má vera eitt heiltal."},"magicline":{"title":"Insert paragraph here"},"maximize":{"maximize":"Maksimera","minimize":"Minimera"},"newpage":{"toolbar":"Nýggj síða"},"pagebreak":{"alt":"Síðuskift","toolbar":"Ger síðuskift"},"pastetext":{"button":"Innrita som reinan tekst","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Innrita som reinan tekst"},"pastefromword":{"confirmCleanup":"Teksturin, tú roynir at seta inn, sýnist at stava frá Word. Skal teksturin reinsast fyrst?","error":"Tað eydnaðist ikki at reinsa tekstin vegna ein internan feil","title":"Innrita frá Word","toolbar":"Innrita frá Word"},"preview":{"preview":"Frumsýning"},"print":{"toolbar":"Prenta"},"removeformat":{"toolbar":"Strika sniðgeving"},"save":{"toolbar":"Goym"},"selectall":{"toolbar":"Markera alt"},"showblocks":{"toolbar":"Vís blokkar"},"sourcearea":{"toolbar":"Kelda"},"specialchar":{"options":"Møguleikar við serteknum","title":"Vel sertekn","toolbar":"Set inn sertekn"},"scayt":{"btn_about":"Um SCAYT","btn_dictionaries":"Orðabøkur","btn_disable":"Nokta SCAYT","btn_enable":"Loyv SCAYT","btn_langs":"Tungumál","btn_options":"Uppseting","text_title":"Kanna stavseting, meðan tú skrivar"},"stylescombo":{"label":"Typografi","panelTitle":"Formatterings stílir","panelTitle1":"Blokk stílir","panelTitle2":"Inline stílir","panelTitle3":"Object stílir"},"table":{"border":"Bordabreidd","caption":"Tabellfrágreiðing","cell":{"menu":"Meski","insertBefore":"Set meska inn áðrenn","insertAfter":"Set meska inn aftaná","deleteCell":"Strika meskar","merge":"Flætta meskar","mergeRight":"Flætta meskar til høgru","mergeDown":"Flætta saman","splitHorizontal":"Kloyv meska vatnrætt","splitVertical":"Kloyv meska loddrætt","title":"Mesku eginleikar","cellType":"Mesku slag","rowSpan":"Ræð spenni","colSpan":"Kolonnu spenni","wordWrap":"Orðkloyving","hAlign":"Horisontal plasering","vAlign":"Loddrøtt plasering","alignBaseline":"Basislinja","bgColor":"Bakgrundslitur","borderColor":"Bordalitur","data":"Data","header":"Header","yes":"Ja","no":"Nei","invalidWidth":"Meskubreidd má vera eitt tal.","invalidHeight":"Meskuhædd má vera eitt tal.","invalidRowSpan":"Raðspennið má vera eitt heiltal.","invalidColSpan":"Kolonnuspennið má vera eitt heiltal.","chooseColor":"Vel"},"cellPad":"Meskubreddi","cellSpace":"Fjarstøða millum meskar","column":{"menu":"Kolonna","insertBefore":"Set kolonnu inn áðrenn","insertAfter":"Set kolonnu inn aftaná","deleteColumn":"Strika kolonnur"},"columns":"Kolonnur","deleteTable":"Strika tabell","headers":"Yvirskriftir","headersBoth":"Báðir","headersColumn":"Fyrsta kolonna","headersNone":"Eingin","headersRow":"Fyrsta rað","invalidBorder":"Borda-stødd má vera eitt tal.","invalidCellPadding":"Cell padding má vera eitt tal.","invalidCellSpacing":"Cell spacing má vera eitt tal.","invalidCols":"Talið av kolonnum má vera eitt tal størri enn 0.","invalidHeight":"Tabell-hædd má vera eitt tal.","invalidRows":"Talið av røðum má vera eitt tal størri enn 0.","invalidWidth":"Tabell-breidd má vera eitt tal.","menu":"Eginleikar fyri tabell","row":{"menu":"Rað","insertBefore":"Set rað inn áðrenn","insertAfter":"Set rað inn aftaná","deleteRow":"Strika røðir"},"rows":"Røðir","summary":"Samandráttur","title":"Eginleikar fyri tabell","toolbar":"Tabell","widthPc":"prosent","widthPx":"pixels","widthUnit":"breiddar unit"},"undo":{"redo":"Vend aftur","undo":"Angra"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Forfjóna","btnIgnoreAll":"Forfjóna alt","btnReplace":"Yvirskriva","btnReplaceAll":"Yvirskriva alt","btnUndo":"Angra","changeTo":"Broyt til","errorLoading":"Feilur við innlesing av application service host: %s.","ieSpellDownload":"Rættstavarin er ikki tøkur í tekstviðgeranum. Vilt tú heinta hann nú?","manyChanges":"Rættstavarin liðugur: %1 orð broytt","noChanges":"Rættstavarin liðugur: Einki orð varð broytt","noMispell":"Rættstavarin liðugur: Eingin feilur funnin","noSuggestions":"- Einki uppskot -","notAvailable":"Tíverri, ikki tøkt í løtuni.","notInDic":"Finst ikki í orðabókini","oneChange":"Rættstavarin liðugur: Eitt orð er broytt","progress":"Rættstavarin arbeiðir...","title":"Kanna stavseting","toolbar":"Kanna stavseting"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/fr-ca.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['fr-ca']={"editor":"Éditeur de texte enrichi","editorPanel":"Rich Text Editor panel","common":{"editorHelp":"Appuyez sur 0 pour de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Envoyer","uploadSubmit":"Envoyer au serveur","image":"Image","flash":"Animation Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ caché","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton image","notSet":"<Par défaut>","id":"Id","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"De gauche à droite (LTR)","langDirRtl":"De droite à gauche (RTL)","langCode":"Code langue","longDescr":"URL de description longue","cssClass":"Classes CSS","advisoryTitle":"Titre","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous certain de vouloir charger une nouvelle page?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous certain de vouloir fermer?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieur (_top)","targetSelf":"Cette fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"De gauche à droite (LTR)","langDirRTL":"De droite à gauche (RTL)","styles":"Style","cssClasses":"Classe CSS","width":"Largeur","height":"Hauteur","align":"Alignement","left":"Gauche","right":"Droite","center":"Centré","justify":"Justifié","alignLeft":"Aligner à gauche","alignRight":"Aligner à Droite","alignCenter":"Align Center","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"None","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidLength":"Value specified for the \"%1\" field must be a positive number with or without a valid measurement unit (%2).","invalidCssLength":"La valeur spécifiée pour le champ \"%1\" doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ \"%1\" doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style intégré doit être composée d'un ou plusieurs couples de valeur au format \"nom : valeur\", separés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour la valeur en pixel ou un nombre avec une unité CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Backspace","13":"Enter","16":"Shift","17":"Ctrl","18":"Alt","32":"Space","35":"End","36":"Home","46":"Delete","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Command"},"keyboardShortcut":"Keyboard shortcut","optionDefault":"Default"},"about":{"copy":"Copyright © $1. Tous droits réservés.","dlgTitle":"À propos de CKEditor 4","moreInfo":"Pour les informations de licence, consulter notre site internet:"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"bidi":{"ltr":"Direction du texte de gauche à droite","rtl":"Direction du texte de droite à gauche"},"blockquote":{"toolbar":"Citation"},"notification":{"closed":"Notification closed."},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse papier/Annuler","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barre d'outils de l'éditeur"},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de copier automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur empêchent l'éditeur de couper automatiquement vos données. Veuillez utiliser les équivalents claviers (Ctrl/Cmd+X).","paste":"Coller","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","pasteArea":"Coller la zone","pasteMsg":"Paste your content inside the area below and press OK."},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur de fond","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun foncé","2F4F4F":"Gris ardoise foncé","008080":"Sarcelle","000080":"Marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Doré","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu","800080":"Mauve","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris pâle","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Vert lime","AFEEEE":"Turquoise pâle","ADD8E6":"Bleu pâle","DDA0DD":"Prune","D3D3D3":"Gris pâle","FFF0F5":"Bleu lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune pâle","F0FFF0":"Miel doré","F0FFFF":"Azure","F0F8FF":"Bleu alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Strong Cyan","2ECC71":"Emerald","3498DB":"Bright Blue","9B59B6":"Amethyst","4E5F70":"Grayish Blue","F1C40F":"Vivid Yellow","16A085":"Dark Cyan","27AE60":"Dark Emerald","2980B9":"Strong Blue","8E44AD":"Dark Violet","2C3E50":"Desaturated Blue","F39C12":"Orange","E67E22":"Carrot","E74C3C":"Pale Red","ECF0F1":"Bright Silver","95A5A6":"Light Grayish Cyan","DDD":"Light Gray","D35400":"Pumpkin","C0392B":"Strong Red","BDC3C7":"Silver","7F8C8D":"Grayish Cyan","999":"Dark Gray"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur de texte"},"colordialog":{"clear":"Effacer","highlight":"Surligner","options":"Options de couleur","selected":"Couleur sélectionnée","title":"Choisir une couleur"},"templates":{"button":"Modèles","emptyListMsg":"(Aucun modèle disponible)","insertOption":"Remplacer tout le contenu actuel","options":"Options de modèles","selectPromptMsg":"Sélectionner le modèle à ouvrir dans l'éditeur","title":"Modèles de contenu"},"contextmenu":{"options":"Options du menu contextuel"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Titre","cssClassInputLabel":"Classes CSS","edit":"Modifier le DIV","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"De gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"De droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Supprimer le DIV","styleSelectLabel":"Style","title":"Créer un DIV","toolbar":"Créer un DIV"},"elementspath":{"eleLabel":"Chemin d'éléments","eleTitle":"element %1"},"filetools":{"loadError":"Error occurred during file read.","networkError":"Network error occurred during file upload.","httpError404":"HTTP error occurred during file upload (404: File not found).","httpError403":"HTTP error occurred during file upload (403: Forbidden).","httpError":"HTTP error occurred during file upload (error status: %1).","noUrlError":"Upload URL is not defined.","responseError":"Incorrect server response."},"find":{"find":"Rechercher","findOptions":"Options de recherche","findWhat":"Rechercher:","matchCase":"Respecter la casse","matchCyclic":"Recherche cyclique","matchWord":"Mot entier","notFoundMsg":"Le texte indiqué est introuvable.","replace":"Remplacer","replaceAll":"Tout remplacer","replaceSuccessMsg":"%1 remplacements.","replaceWith":"Remplacer par:","title":"Rechercher et remplacer"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ caché","iframe":"IFrame","unknown":"Objet inconnu"},"flash":{"access":"Accès au script","accessAlways":"Toujours","accessNever":"Jamais","accessSameDomain":"Même domaine","alignAbsBottom":"Bas absolu","alignAbsMiddle":"Milieu absolu","alignBaseline":"Bas du texte","alignTextTop":"Haut du texte","bgcolor":"Couleur de fond","chkFull":"Permettre le plein-écran","chkLoop":"Boucle","chkMenu":"Activer le menu Flash","chkPlay":"Lecture automatique","flashvars":"Variables pour Flash","hSpace":"Espacement horizontal","properties":"Propriétés de l'animation Flash","propertiesTab":"Propriétés","quality":"Qualité","qualityAutoHigh":"Haute auto","qualityAutoLow":"Basse auto","qualityBest":"Meilleur","qualityHigh":"Haute","qualityLow":"Basse","qualityMedium":"Moyenne","scale":"Échelle","scaleAll":"Afficher tout","scaleFit":"Ajuster aux dimensions","scaleNoBorder":"Sans bordure","title":"Propriétés de l'animation Flash","vSpace":"Espacement vertical","validateHSpace":"L'espacement horizontal doit être un entier.","validateSrc":"Veuillez saisir l'URL","validateVSpace":"L'espacement vertical doit être un entier.","windowMode":"Mode de fenêtre","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Fenêtre"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille","panelTitle":"Taille"},"label":"Police","panelTitle":"Police","voiceLabel":"Police"},"forms":{"button":{"title":"Propriétés du bouton","text":"Texte (Valeur)","type":"Type","typeBtn":"Bouton","typeSbm":"Soumettre","typeRst":"Réinitialiser"},"checkboxAndRadio":{"checkboxTitle":"Propriétés de la case à cocher","radioTitle":"Propriétés du bouton radio","value":"Valeur","selected":"Sélectionné","required":"Required"},"form":{"title":"Propriétés du formulaire","menu":"Propriétés du formulaire","action":"Action","method":"Méthode","encoding":"Encodage"},"hidden":{"title":"Propriétés du champ caché","name":"Nom","value":"Valeur"},"select":{"title":"Propriétés du champ de sélection","selectInfo":"Info","opAvail":"Options disponibles","value":"Valeur","size":"Taille","lines":"lignes","chkMulti":"Permettre les sélections multiples","required":"Required","opText":"Texte","opValue":"Valeur","btnAdd":"Ajouter","btnModify":"Modifier","btnUp":"Monter","btnDown":"Descendre","btnSetValue":"Valeur sélectionnée","btnDelete":"Supprimer"},"textarea":{"title":"Propriétés de la zone de texte","cols":"Colonnes","rows":"Lignes"},"textfield":{"title":"Propriétés du champ texte","name":"Nom","value":"Valeur","charWidth":"Largeur de caractères","maxChars":"Nombre maximum de caractères","required":"Required","type":"Type","typeText":"Texte","typePass":"Mot de passe","typeEmail":"Courriel","typeSearch":"Recherche","typeTel":"Numéro de téléphone","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Normal (DIV)","tag_h1":"En-tête 1","tag_h2":"En-tête 2","tag_h3":"En-tête 3","tag_h4":"En-tête 4","tag_h5":"En-tête 5","tag_h6":"En-tête 6","tag_p":"Normal","tag_pre":"Formaté"},"horizontalrule":{"toolbar":"Insérer un séparateur horizontale"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entre l'URL du IFrame","scrolling":"Activer les barres de défilement","title":"Propriétés du IFrame","toolbar":"IFrame"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Désirez-vous transformer l'image sélectionnée en image simple?","hSpace":"Espacement horizontal","img2Button":"Désirez-vous transformer l'image sélectionnée en bouton image?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Verrouiller les proportions","menu":"Propriétés de l'image","resetSize":"Taille originale","title":"Propriétés de l'image","titleButton":"Propriétés du bouton image","upload":"Téléverser","urlMissing":"L'URL de la source de l'image est manquant.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un entier.","validateHSpace":"L'espacement horizontal doit être un entier.","validateVSpace":"L'espacement vertical doit être un entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"smiley":{"options":"Options d'émoticônes","title":"Insérer un émoticône","toolbar":"Émoticône"},"language":{"button":"Set language","remove":"Remove language"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu","advisoryTitle":"Description","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez saisir le nom de l'ancre","remove":"Supprimer l'ancre"},"anchorId":"Par ID","anchorName":"Par nom","charset":"Encodage de la cible","cssClasses":"Classes CSS","download":"Force Download","displayText":"Afficher le texte","emailAddress":"Courriel","emailBody":"Corps du message","emailSubject":"Objet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"De gauche à droite (LTR)","langDirRTL":"De droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Pas d'ancre disponible dans le document)","noEmail":"Veuillez saisir le courriel","noUrl":"Veuillez saisir l'URL","noTel":"Please type the phone number","other":"<autre>","phoneNumber":"Phone number","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre popup","popupFullScreen":"Plein écran (IE)","popupLeft":"Position de la gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"Position à partir du haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Ordre de tabulation","target":"Destination","targetFrame":"<Cadre>","targetFrameName":"Nom du cadre de destination","targetPopup":"<fenêtre popup>","targetPopupName":"Nom de la fenêtre popup","title":"Lien","toAnchor":"Ancre dans cette page","toEmail":"Courriel","toUrl":"URL","toPhone":"Phone","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Liste à puces","numberedlist":"Liste numérotée"},"liststyle":{"bulletedTitle":"Propriété de liste à puce","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","disc":"Disque","lowerAlpha":"Alphabétique minuscule (a, b, c, d, e, etc.)","lowerRoman":"Romain minuscule (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<non défini>","numberedTitle":"Propriété de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Alphabétique majuscule (A, B, C, D, E, etc.)","upperRoman":"Romain Majuscule (I, II, III, IV, V, etc.)","validateStartNumber":"Le numéro de début de liste doit être un entier."},"magicline":{"title":"Insérer le paragraphe ici"},"maximize":{"maximize":"Maximizer","minimize":"Minimizer"},"newpage":{"toolbar":"Nouvelle page"},"pagebreak":{"alt":"Saut de page","toolbar":"Insérer un saut de page à l'impression"},"pastetext":{"button":"Coller comme texte","pasteNotification":"Press %1 to paste. Your browser doesn‘t support pasting with the toolbar button or context menu option.","title":"Coller comme texte"},"pastefromword":{"confirmCleanup":"Le texte que vous tentez de coller semble provenir de Word. Désirez vous le nettoyer avant de coller?","error":"Il n'a pas été possible de nettoyer les données collées du à une erreur interne","title":"Coller de Word","toolbar":"Coller de Word"},"preview":{"preview":"Prévisualiser"},"print":{"toolbar":"Imprimer"},"removeformat":{"toolbar":"Supprimer le formatage"},"save":{"toolbar":"Sauvegarder"},"selectall":{"toolbar":"Sélectionner tout"},"showblocks":{"toolbar":"Afficher les blocs"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Option des caractères spéciaux","title":"Sélectionner un caractère spécial","toolbar":"Insérer un caractère spécial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Styles","panelTitle":"Styles de formattage","panelTitle1":"Styles de block","panelTitle2":"Styles en ligne","panelTitle3":"Styles d'objet"},"table":{"border":"Taille de la bordure","caption":"Titre","cell":{"menu":"Cellule","insertBefore":"Insérer une cellule avant","insertAfter":"Insérer une cellule après","deleteCell":"Supprimer des cellules","merge":"Fusionner les cellules","mergeRight":"Fusionner à droite","mergeDown":"Fusionner en bas","splitHorizontal":"Scinder la cellule horizontalement","splitVertical":"Scinder la cellule verticalement","title":"Propriétés de la cellule","cellType":"Type de cellule","rowSpan":"Fusion de lignes","colSpan":"Fusion de colonnes","wordWrap":"Retour à la ligne","hAlign":"Alignement horizontal","vAlign":"Alignement vertical","alignBaseline":"Bas du texte","bgColor":"Couleur d'arrière plan","borderColor":"Couleur de bordure","data":"Données","header":"En-tête","yes":"Oui","no":"Non","invalidWidth":"La largeur de cellule doit être un nombre.","invalidHeight":"La hauteur de cellule doit être un nombre.","invalidRowSpan":"La fusion de lignes doit être un nombre entier.","invalidColSpan":"La fusion de colonnes doit être un nombre entier.","chooseColor":"Sélectionner"},"cellPad":"Marge interne des cellules","cellSpace":"Espacement des cellules","column":{"menu":"Colonne","insertBefore":"Insérer une colonne avant","insertAfter":"Insérer une colonne après","deleteColumn":"Supprimer des colonnes"},"columns":"Colonnes","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux.","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","invalidBorder":"La taille de bordure doit être un nombre.","invalidCellPadding":"La marge interne des cellules doit être un nombre positif.","invalidCellSpacing":"L'espacement des cellules doit être un nombre positif.","invalidCols":"Le nombre de colonnes doit être supérieur à 0.","invalidHeight":"La hauteur du tableau doit être un nombre.","invalidRows":"Le nombre de lignes doit être supérieur à 0.","invalidWidth":"La largeur du tableau doit être un nombre.","menu":"Propriétés du tableau","row":{"menu":"Ligne","insertBefore":"Insérer une ligne avant","insertAfter":"Insérer une ligne après","deleteRow":"Supprimer des lignes"},"rows":"Lignes","summary":"Résumé","title":"Propriétés du tableau","toolbar":"Tableau","widthPc":"pourcentage","widthPx":"pixels","widthUnit":"unité de largeur"},"undo":{"redo":"Refaire","undo":"Annuler"},"widget":{"move":"Click and drag to move","label":"%1 widget"},"uploadwidget":{"abort":"Upload aborted by the user.","doneOne":"File successfully uploaded.","doneMany":"Successfully uploaded %1 files.","uploadOne":"Uploading file ({percentage}%)...","uploadMany":"Uploading files, {current} of {max} done ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer tout","btnReplace":"Remplacer","btnReplaceAll":"Remplacer tout","btnUndo":"Annuler","changeTo":"Changer en","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"Le Correcteur d'orthographe n'est pas installé. Souhaitez-vous le télécharger maintenant?","manyChanges":"Vérification d'orthographe terminée: %1 mots modifiés","noChanges":"Vérification d'orthographe terminée: Pas de modifications","noMispell":"Vérification d'orthographe terminée: pas d'erreur trouvée","noSuggestions":"- Pas de suggestion -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Pas dans le dictionnaire","oneChange":"Vérification d'orthographe terminée: Un mot modifié","progress":"Vérification d'orthographe en cours...","title":"Spell Checker","toolbar":"Orthographe"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/fr.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['fr']={"editor":"Éditeur de texte enrichi","editorPanel":"Tableau de bord de l'éditeur de texte enrichi","common":{"editorHelp":"Utilisez le raccourci Alt-0 pour obtenir de l'aide","browseServer":"Parcourir le serveur","url":"URL","protocol":"Protocole","upload":"Télécharger","uploadSubmit":"Envoyer sur le serveur","image":"Image","flash":"Flash","form":"Formulaire","checkbox":"Case à cocher","radio":"Bouton radio","textField":"Champ texte","textarea":"Zone de texte","hiddenField":"Champ invisible","button":"Bouton","select":"Liste déroulante","imageButton":"Bouton avec image","notSet":"<indéfini>","id":"ID","name":"Nom","langDir":"Sens d'écriture","langDirLtr":"Gauche à droite (LTR)","langDirRtl":"Droite à gauche (RTL)","langCode":"Code de langue","longDescr":"URL de description longue","cssClass":"Classes de style","advisoryTitle":"Infobulle","cssStyle":"Style","ok":"OK","cancel":"Annuler","close":"Fermer","preview":"Aperçu","resize":"Redimensionner","generalTab":"Général","advancedTab":"Avancé","validateNumberFailed":"Cette valeur n'est pas un nombre.","confirmNewPage":"Les changements non sauvegardés seront perdus. Êtes-vous sûr de vouloir charger une nouvelle page ?","confirmCancel":"Certaines options ont été modifiées. Êtes-vous sûr de vouloir fermer ?","options":"Options","target":"Cible","targetNew":"Nouvelle fenêtre (_blank)","targetTop":"Fenêtre supérieure (_top)","targetSelf":"Même fenêtre (_self)","targetParent":"Fenêtre parent (_parent)","langDirLTR":"Gauche à droite (LTR)","langDirRTL":"Droite à gauche (RTL)","styles":"Style","cssClasses":"Classes de style","width":"Largeur","height":"Hauteur","align":"Alignement","left":"Gauche","right":"Droite","center":"Centrer","justify":"Justifier","alignLeft":"Aligner à gauche","alignRight":"Aligner à droite","alignCenter":"Aligner au centre","alignTop":"Haut","alignMiddle":"Milieu","alignBottom":"Bas","alignNone":"Aucun","invalidValue":"Valeur invalide.","invalidHeight":"La hauteur doit être un nombre.","invalidWidth":"La largeur doit être un nombre.","invalidLength":"La valeur de \"%1\" doit être un nombre positif avec ou sans unité de mesure (%2).","invalidCssLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"La valeur spécifiée pour le champ « %1 » doit être un nombre positif avec ou sans unité de mesure HTML valide (px ou %).","invalidInlineStyle":"La valeur spécifiée pour le style en ligne doit être composée d'un ou plusieurs couples au format « nom : valeur », séparés par des points-virgules.","cssLengthTooltip":"Entrer un nombre pour une valeur en pixels ou un nombre avec une unité de mesure CSS valide (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, indisponible</span>","keyboard":{"8":"Retour arrière","13":"Entrée","16":"Majuscule","17":"Ctrl","18":"Alt","32":"Espace","35":"Fin","36":"Origine","46":"Supprimer","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Commande"},"keyboardShortcut":"Raccourci clavier","optionDefault":"Par défaut"},"about":{"copy":"Copyright © $1. Tous droits réservés.","dlgTitle":"À propos de CKEditor 4","moreInfo":"Pour les informations de licence, veuillez visiter notre site web :"},"basicstyles":{"bold":"Gras","italic":"Italique","strike":"Barré","subscript":"Indice","superscript":"Exposant","underline":"Souligné"},"bidi":{"ltr":"Direction du texte de la gauche vers la droite","rtl":"Direction du texte de la droite vers la gauche"},"blockquote":{"toolbar":"Citation"},"notification":{"closed":"Notification fermée."},"toolbar":{"toolbarCollapse":"Enrouler la barre d'outils","toolbarExpand":"Dérouler la barre d'outils","toolbarGroups":{"document":"Document","clipboard":"Presse-papier/Défaire","editing":"Édition","forms":"Formulaires","basicstyles":"Styles de base","paragraph":"Paragraphe","links":"Liens","insert":"Insérer","styles":"Styles","colors":"Couleurs","tools":"Outils"},"toolbars":"Barres d'outils de l'éditeur"},"clipboard":{"copy":"Copier","copyError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Copier ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+C).","cut":"Couper","cutError":"Les paramètres de sécurité de votre navigateur n'autorisent pas l'éditeur à exécuter automatiquement l'opération « Couper ». Veuillez utiliser le raccourci clavier à cet effet (Ctrl/Cmd+X).","paste":"Coller","pasteNotification":"Utilisez le raccourci %1 pour coller. Votre navigateur n'accepte pas de coller à l'aide du bouton ou du menu contextuel.","pasteArea":"Coller la zone","pasteMsg":"Collez votre contenu dans la zone de saisie ci-dessous et cliquez OK."},"colorbutton":{"auto":"Automatique","bgColorTitle":"Couleur d'arrière-plan","colors":{"000":"Noir","800000":"Marron","8B4513":"Brun de selle","2F4F4F":"Gris sombre d'ardoise","008080":"Canard","000080":"Bleu marine","4B0082":"Indigo","696969":"Gris foncé","B22222":"Rouge brique","A52A2A":"Brun","DAA520":"Or terni","006400":"Vert foncé","40E0D0":"Turquoise","0000CD":"Bleu royal","800080":"Violet","808080":"Gris","F00":"Rouge","FF8C00":"Orange foncé","FFD700":"Or","008000":"Vert","0FF":"Cyan","00F":"Bleu","EE82EE":"Violet","A9A9A9":"Gris tamisé","FFA07A":"Saumon clair","FFA500":"Orange","FFFF00":"Jaune","00FF00":"Lime","AFEEEE":"Turquoise clair","ADD8E6":"Bleu clair","DDA0DD":"Prune","D3D3D3":"Gris clair","FFF0F5":"Fard lavande","FAEBD7":"Blanc antique","FFFFE0":"Jaune clair","F0FFF0":"Vert rosée","F0FFFF":"Azur","F0F8FF":"Bleu Alice","E6E6FA":"Lavande","FFF":"Blanc","1ABC9C":"Cyan dur","2ECC71":"Émeraude","3498DB":"Bleu brillant","9B59B6":"Améthyste","4E5F70":"Bleu-gris","F1C40F":"Jaune vif","16A085":"Cyan foncé","27AE60":"Émeraude foncée","2980B9":"Bleu dur","8E44AD":"Violet foncé","2C3E50":"Bleu désaturé","F39C12":"Orange","E67E22":"Carotte","E74C3C":"Rouge pâle","ECF0F1":"Argent brillant","95A5A6":"Cyan-gris clair","DDD":"Gris clair","D35400":"Citrouille","C0392B":"Rouge dur","BDC3C7":"Argent","7F8C8D":"Cyan-gris","999":"Gris foncé"},"more":"Plus de couleurs...","panelTitle":"Couleurs","textColorTitle":"Couleur du texte"},"colordialog":{"clear":"Effacer","highlight":"Pointée","options":"Options de couleur","selected":"Couleur choisie","title":"Sélectionner une couleur"},"templates":{"button":"Modèles","emptyListMsg":"(Aucun modèle disponible)","insertOption":"Remplacer le contenu actuel","options":"Options des modèles","selectPromptMsg":"Veuillez sélectionner le modèle à ouvrir dans l'éditeur","title":"Contenu des modèles"},"contextmenu":{"options":"Options du menu contextuel"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Infobulle","cssClassInputLabel":"Classes de style","edit":"Modifier la division","inlineStyleInputLabel":"Style en ligne","langDirLTRLabel":"Gauche à droite (LTR)","langDirLabel":"Sens d'écriture","langDirRTLLabel":"Droite à gauche (RTL)","languageCodeInputLabel":"Code de langue","remove":"Enlever la division","styleSelectLabel":"Style","title":"Créer une division","toolbar":"Créer une division"},"elementspath":{"eleLabel":"Chemin des éléments","eleTitle":"Élément %1"},"filetools":{"loadError":"Une erreur est survenue lors de la lecture du fichier.","networkError":"Une erreur réseau est survenue lors du téléversement du fichier.","httpError404":"Une erreur HTTP est survenue durant le téléversement du fichier (404 : fichier non trouvé).","httpError403":"Une erreur HTTP est survenue durant le téléversement du fichier (403 : accès refusé).","httpError":"Une erreur HTTP est survenue durant le téléversement du fichier (erreur : %1).","noUrlError":"L'URL de téléversement n'est pas spécifiée.","responseError":"Réponse du serveur incorrecte."},"find":{"find":"Rechercher","findOptions":"Options de recherche","findWhat":"Rechercher :","matchCase":"Respecter la casse","matchCyclic":"Boucler","matchWord":"Mot entier uniquement","notFoundMsg":"Le texte spécifié ne peut être trouvé.","replace":"Remplacer","replaceAll":"Remplacer tout","replaceSuccessMsg":"%1 occurrence(s) remplacée(s).","replaceWith":"Remplacer par : ","title":"Rechercher et remplacer"},"fakeobjects":{"anchor":"Ancre","flash":"Animation Flash","hiddenfield":"Champ invisible","iframe":"Cadre de contenu incorporé","unknown":"Objet inconnu"},"flash":{"access":"Accès aux scripts","accessAlways":"Toujours","accessNever":"Jamais","accessSameDomain":"Même domaine","alignAbsBottom":"Bas absolu","alignAbsMiddle":"Milieu absolu","alignBaseline":"Ligne de base","alignTextTop":"Haut du texte","bgcolor":"Couleur d'arrière-plan","chkFull":"Permettre le plein écran","chkLoop":"Boucle","chkMenu":"Activer le menu Flash","chkPlay":"Lire automatiquement","flashvars":"Variables Flash","hSpace":"Espacement horizontal","properties":"Propriétés du Flash","propertiesTab":"Propriétés","quality":"Qualité","qualityAutoHigh":"Haute automatique","qualityAutoLow":"Basse automatique","qualityBest":"Maximale","qualityHigh":"Haute","qualityLow":"Basse","qualityMedium":"Moyenne","scale":"Échelle","scaleAll":"Afficher tout","scaleFit":"Adaptation automatique","scaleNoBorder":"Aucune bordure","title":"Propriétés du Flash","vSpace":"Espacement vertical","validateHSpace":"L'espacement horizontal doit être un nombre.","validateSrc":"L'URL doit être indiquée.","validateVSpace":"L'espacement vertical doit être un nombre.","windowMode":"Mode fenêtre","windowModeOpaque":"Opaque","windowModeTransparent":"Transparent","windowModeWindow":"Fenêtre"},"font":{"fontSize":{"label":"Taille","voiceLabel":"Taille de police","panelTitle":"Taille de police"},"label":"Police","panelTitle":"Style de police","voiceLabel":"Police"},"forms":{"button":{"title":"Propriétés du bouton","text":"Texte","type":"Type","typeBtn":"Bouton","typeSbm":"Validation","typeRst":"Remise à zéro"},"checkboxAndRadio":{"checkboxTitle":"Propriétés de la case à cocher","radioTitle":"Propriétés du bouton radio","value":"Valeur","selected":"Sélectionné","required":"Requis"},"form":{"title":"Propriétés du formulaire","menu":"Propriétés du formulaire","action":"Action","method":"Méthode","encoding":"Encodage"},"hidden":{"title":"Propriétés du champ invisible","name":"Nom","value":"Valeur"},"select":{"title":"Propriétés du menu déroulant","selectInfo":"Informations sur le menu déroulant","opAvail":"Options disponibles","value":"Valeur","size":"Taille","lines":"lignes","chkMulti":"Permettre les sélections multiples","required":"Requis","opText":"Texte","opValue":"Valeur","btnAdd":"Ajouter","btnModify":"Modifier","btnUp":"Haut","btnDown":"Bas","btnSetValue":"Définir comme valeur sélectionnée","btnDelete":"Supprimer"},"textarea":{"title":"Propriétés de la zone de texte","cols":"Colonnes","rows":"Lignes"},"textfield":{"title":"Propriétés du champ texte","name":"Nom","value":"Valeur","charWidth":"Largeur des caractères","maxChars":"Nombre maximum de caractères","required":"Requis","type":"Type","typeText":"Texte","typePass":"Mot de passe","typeEmail":"Courriel","typeSearch":"Rechercher","typeTel":"Numéro de téléphone","typeUrl":"URL"}},"format":{"label":"Format","panelTitle":"Format de paragraphe","tag_address":"Adresse","tag_div":"Division","tag_h1":"Titre 1","tag_h2":"Titre 2","tag_h3":"Titre 3","tag_h4":"Titre 4","tag_h5":"Titre 5","tag_h6":"Titre 6","tag_p":"Normal","tag_pre":"Préformaté"},"horizontalrule":{"toolbar":"Ligne horizontale"},"iframe":{"border":"Afficher la bordure du cadre","noUrl":"Veuillez entrer l'URL du contenu du cadre","scrolling":"Activer les barres de défilement","title":"Propriétés du cadre de contenu incorporé","toolbar":"Cadre de contenu incorporé"},"image":{"alt":"Texte alternatif","border":"Bordure","btnUpload":"Envoyer sur le serveur","button2Img":"Voulez-vous transformer le bouton avec image sélectionné en simple image ?","hSpace":"Espacement horizontal","img2Button":"Voulez-vous transformer l'image sélectionnée en bouton avec image ?","infoTab":"Informations sur l'image","linkTab":"Lien","lockRatio":"Conserver les proportions","menu":"Propriétés de l'image","resetSize":"Réinitialiser la taille","title":"Propriétés de l'image","titleButton":"Propriétés du bouton avec image","upload":"Téléverser","urlMissing":"L'URL source de l'image est manquante.","vSpace":"Espacement vertical","validateBorder":"La bordure doit être un nombre entier.","validateHSpace":"L'espacement horizontal doit être un nombre entier.","validateVSpace":"L'espacement vertical doit être un nombre entier."},"indent":{"indent":"Augmenter le retrait","outdent":"Diminuer le retrait"},"smiley":{"options":"Options des frimousses","title":"Insérer une frimousse","toolbar":"Frimousse"},"language":{"button":"Définir la langue","remove":"Supprimer la langue"},"link":{"acccessKey":"Touche d'accessibilité","advanced":"Avancé","advisoryContentType":"Type de contenu (indicatif)","advisoryTitle":"Infobulle","anchor":{"toolbar":"Ancre","menu":"Modifier l'ancre","title":"Propriétés de l'ancre","name":"Nom de l'ancre","errorName":"Veuillez entrer le nom de l'ancre.","remove":"Supprimer l'ancre"},"anchorId":"Par ID d'élément","anchorName":"Par nom d'ancre","charset":"Encodage de la ressource liée","cssClasses":"Classes de style","download":"Forcer le téléchargement","displayText":"Afficher le texte","emailAddress":"Adresse électronique","emailBody":"Corps du message","emailSubject":"Sujet du message","id":"ID","info":"Informations sur le lien","langCode":"Code de langue","langDir":"Sens d'écriture","langDirLTR":"Gauche à droite","langDirRTL":"Droite à gauche (RTL)","menu":"Modifier le lien","name":"Nom","noAnchors":"(Aucune ancre disponible dans ce document)","noEmail":"Veuillez entrer l'adresse électronique","noUrl":"Veuillez entrer l'URL du lien","noTel":"Please type the phone number","other":"<autre>","phoneNumber":"Phone number","popupDependent":"Dépendante (Netscape)","popupFeatures":"Caractéristiques de la fenêtre surgissante","popupFullScreen":"Plein écran (IE)","popupLeft":"À gauche","popupLocationBar":"Barre d'adresse","popupMenuBar":"Barre de menu","popupResizable":"Redimensionnable","popupScrollBars":"Barres de défilement","popupStatusBar":"Barre d'état","popupToolbar":"Barre d'outils","popupTop":"En haut","rel":"Relation","selectAnchor":"Sélectionner une ancre","styles":"Style","tabIndex":"Indice de tabulation","target":"Cible","targetFrame":"<cadre>","targetFrameName":"Nom du cadre affecté","targetPopup":"<fenêtre surgissante>","targetPopupName":"Nom de la fenêtre surgissante","title":"Lien","toAnchor":"Ancre","toEmail":"Courriel","toUrl":"URL","toPhone":"Phone","toolbar":"Lien","type":"Type de lien","unlink":"Supprimer le lien","upload":"Téléverser"},"list":{"bulletedlist":"Insérer/Supprimer une liste à puces","numberedlist":"Insérer/Supprimer une liste numérotée"},"liststyle":{"bulletedTitle":"Propriétés de la liste à puces","circle":"Cercle","decimal":"Décimal (1, 2, 3, etc.)","disc":"Disque","lowerAlpha":"Lettres minuscules (a, b, c, d, e, etc.)","lowerRoman":"Chiffres romains minuscules (i, ii, iii, iv, v, etc.)","none":"Aucun","notset":"<indéfini>","numberedTitle":"Propriétés de la liste numérotée","square":"Carré","start":"Début","type":"Type","upperAlpha":"Lettres majuscules (A, B, C, D, E, etc.)","upperRoman":"Chiffres romains majuscules (I, II, III, IV, V, etc.)","validateStartNumber":"Le premier élément de la liste doit être un nombre entier."},"magicline":{"title":"Insérer un paragraphe ici"},"maximize":{"maximize":"Agrandir","minimize":"Réduire"},"newpage":{"toolbar":"Nouvelle page"},"pagebreak":{"alt":"Saut de page","toolbar":"Insérer un saut de page pour l'impression"},"pastetext":{"button":"Coller comme texte brut","pasteNotification":"Utilisez le raccourci %1 pour coller. Votre navigateur n'accepte pas de coller à l'aide du bouton ou du menu contextuel.","title":"Coller comme texte brut"},"pastefromword":{"confirmCleanup":"Le texte à coller semble provenir de Word. Désirez-vous le nettoyer avant de coller ?","error":"Les données collées n'ont pas pu être nettoyées à cause d'une erreur interne","title":"Coller depuis Word","toolbar":"Coller depuis Word"},"preview":{"preview":"Aperçu"},"print":{"toolbar":"Imprimer"},"removeformat":{"toolbar":"Supprimer la mise en forme"},"save":{"toolbar":"Enregistrer"},"selectall":{"toolbar":"Tout sélectionner"},"showblocks":{"toolbar":"Afficher les blocs"},"sourcearea":{"toolbar":"Source"},"specialchar":{"options":"Options des caractères spéciaux","title":"Sélectionner un caractère","toolbar":"Insérer un caractère spécial"},"scayt":{"btn_about":"A propos de SCAYT","btn_dictionaries":"Dictionnaires","btn_disable":"Désactiver SCAYT","btn_enable":"Activer SCAYT","btn_langs":"Langues","btn_options":"Options","text_title":"Vérification de l'Orthographe en Cours de Frappe (SCAYT)"},"stylescombo":{"label":"Styles","panelTitle":"Styles de mise en forme","panelTitle1":"Styles de bloc","panelTitle2":"Styles en ligne","panelTitle3":"Styles d'objet"},"table":{"border":"Taille de la bordure","caption":"Titre du tableau","cell":{"menu":"Cellule","insertBefore":"Insérer une cellule avant","insertAfter":"Insérer une cellule après","deleteCell":"Supprimer les cellules","merge":"Fusionner les cellules","mergeRight":"Fusionner vers la droite","mergeDown":"Fusionner vers le bas","splitHorizontal":"Scinder la cellule horizontalement","splitVertical":"Scinder la cellule verticalement","title":"Propriétés de la cellule","cellType":"Type de cellule","rowSpan":"Lignes occupées","colSpan":"Colonnes occupées","wordWrap":"Césure","hAlign":"Alignement horizontal","vAlign":"Alignement vertical","alignBaseline":"Ligne de base","bgColor":"Couleur d'arrière-plan","borderColor":"Couleur de bordure","data":"Données","header":"En-tête","yes":"Oui","no":"Non","invalidWidth":"La largeur de la cellule doit être un nombre.","invalidHeight":"La hauteur de la cellule doit être un nombre.","invalidRowSpan":"Le nombre de colonnes occupées doit être un nombre entier.","invalidColSpan":"Le nombre de colonnes occupées doit être un nombre entier.","chooseColor":"Choisir"},"cellPad":"Marge interne des cellules","cellSpace":"Espacement entre les cellules","column":{"menu":"Colonne","insertBefore":"Insérer une colonne avant","insertAfter":"Insérer une colonne après","deleteColumn":"Supprimer les colonnes"},"columns":"Colonnes","deleteTable":"Supprimer le tableau","headers":"En-têtes","headersBoth":"Les deux","headersColumn":"Première colonne","headersNone":"Aucun","headersRow":"Première ligne","invalidBorder":"La taille de la bordure doit être un nombre.","invalidCellPadding":"La marge interne des cellules doit être un nombre positif.","invalidCellSpacing":"L'espacement entre les cellules doit être un nombre positif.","invalidCols":"Le nombre de colonnes doit être supérieur à 0.","invalidHeight":"La hauteur du tableau doit être un nombre.","invalidRows":"Le nombre de lignes doit être supérieur à 0.","invalidWidth":"La largeur du tableau doit être un nombre.","menu":"Propriétés du tableau","row":{"menu":"Ligne","insertBefore":"Insérer une ligne avant","insertAfter":"Insérer une ligne après","deleteRow":"Supprimer les lignes"},"rows":"Lignes","summary":"Résumé (description)","title":"Propriétés du tableau","toolbar":"Tableau","widthPc":"pour cent","widthPx":"pixels","widthUnit":"unité de largeur"},"undo":{"redo":"Rétablir","undo":"Annuler"},"widget":{"move":"Cliquer et glisser pour déplacer","label":"Élément %1"},"uploadwidget":{"abort":"Téléversement interrompu par l'utilisateur.","doneOne":"Fichier téléversé avec succès.","doneMany":"%1 fichiers téléversés avec succès.","uploadOne":"Téléversement du fichier en cours ({percentage} %)…","uploadMany":"Téléversement des fichiers en cours, {current} sur {max} effectués ({percentage} %)…"},"wsc":{"btnIgnore":"Ignorer","btnIgnoreAll":"Ignorer tout","btnReplace":"Remplacer","btnReplaceAll":"Remplacer tout","btnUndo":"Annuler","changeTo":"Modifier pour","errorLoading":"Erreur du chargement du service depuis l'hôte : %s.","ieSpellDownload":"La vérification d'orthographe n'est pas installée. Voulez-vous la télécharger maintenant?","manyChanges":"Vérification de l'orthographe terminée : %1 mots corrigés.","noChanges":"Vérification de l'orthographe terminée : Aucun mot corrigé.","noMispell":"Vérification de l'orthographe terminée : aucune erreur trouvée.","noSuggestions":"- Aucune suggestion -","notAvailable":"Désolé, le service est indisponible actuellement.","notInDic":"N'existe pas dans le dictionnaire.","oneChange":"Vérification de l'orthographe terminée : Un seul mot corrigé.","progress":"Vérification de l'orthographe en cours...","title":"Vérifier l'orthographe","toolbar":"Vérifier l'orthographe"}};
|
bt-source/panel/BTPanel/static/ckeditor/lang/gl.js
ADDED
|
@@ -0,0 +1,5 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
/*
|
| 2 |
+
Copyright (c) 2003-2019, CKSource - Frederico Knabben. All rights reserved.
|
| 3 |
+
For licensing, see LICENSE.md or https://ckeditor.com/license
|
| 4 |
+
*/
|
| 5 |
+
CKEDITOR.lang['gl']={"editor":"Editor de texto mellorado","editorPanel":"Panel do editor de texto mellorado","common":{"editorHelp":"Prema ALT 0 para obter axuda","browseServer":"Examinar o servidor","url":"URL","protocol":"Protocolo","upload":"Enviar","uploadSubmit":"Enviar ao servidor","image":"Imaxe","flash":"Flash","form":"Formulario","checkbox":"Caixa de selección","radio":"Botón de opción","textField":"Campo de texto","textarea":"Área de texto","hiddenField":"Campo agochado","button":"Botón","select":"Campo de selección","imageButton":"Botón de imaxe","notSet":"<sen estabelecer>","id":"ID","name":"Nome","langDir":"Dirección de escritura do idioma","langDirLtr":"Esquerda a dereita (LTR)","langDirRtl":"Dereita a esquerda (RTL)","langCode":"Código do idioma","longDescr":"Descrición completa do URL","cssClass":"Clases da folla de estilos","advisoryTitle":"Título","cssStyle":"Estilo","ok":"Aceptar","cancel":"Cancelar","close":"Pechar","preview":"Vista previa","resize":"Redimensionar","generalTab":"Xeral","advancedTab":"Avanzado","validateNumberFailed":"Este valor non é un número.","confirmNewPage":"Calquera cambio que non gardara neste contido perderase.\r\nConfirma que quere cargar unha páxina nova?","confirmCancel":"Algunhas das opcións foron cambiadas.\r\nConfirma que quere pechar o diálogo?","options":"Opcións","target":"Destino","targetNew":"Nova xanela (_blank)","targetTop":"Xanela principal (_top)","targetSelf":"Mesma xanela (_self)","targetParent":"Xanela superior (_parent)","langDirLTR":"Esquerda a dereita (LTR)","langDirRTL":"Dereita a esquerda (RTL)","styles":"Estilo","cssClasses":"Clases da folla de estilos","width":"Largo","height":"Alto","align":"Aliñamento","left":"Esquerda","right":"Dereita","center":"Centro","justify":"Xustificado","alignLeft":"Aliñar á esquerda","alignRight":"Aliñar á dereita","alignCenter":"Aliñar ao centro","alignTop":"Arriba","alignMiddle":"Centro","alignBottom":"Abaixo","alignNone":"Ningún","invalidValue":"Valor incorrecto.","invalidHeight":"O alto debe ser un número.","invalidWidth":"O largo debe ser un número.","invalidLength":"O valor especificado para o campo «%1» debe ser un número positivo con ou sen unha unidade de medida correcta (%2).","invalidCssLength":"O valor especificado para o campo «%1» debe ser un número positivo con ou sen unha unidade de medida CSS correcta (px, %, in, cm, mm, em, ex, pt, ou pc).","invalidHtmlLength":"O valor especificado para o campo «%1» debe ser un número positivo con ou sen unha unidade de medida HTML correcta (px ou %).","invalidInlineStyle":"O valor especificado no estilo en liña debe consistir nunha ou máis tuplas co formato «nome : valor», separadas por punto e coma.","cssLengthTooltip":"Escriba un número para o valor en píxeles ou un número cunha unidade CSS correcta (px, %, in, cm, mm, em, ex, pt, ou pc).","unavailable":"%1<span class=\"cke_accessibility\">, non dispoñíbel</span>","keyboard":{"8":"Ir atrás","13":"Intro","16":"Maiús","17":"Ctrl","18":"Alt","32":"Espazo","35":"Fin","36":"Inicio","46":"Supr","112":"F1","113":"F2","114":"F3","115":"F4","116":"F5","117":"F6","118":"F7","119":"F8","120":"F9","121":"F10","122":"F11","123":"F12","124":"F13","125":"F14","126":"F15","127":"F16","128":"F17","129":"F18","130":"F19","131":"F20","132":"F21","133":"F22","134":"F23","135":"F24","224":"Orde"},"keyboardShortcut":"Atallo de teclado","optionDefault":"Predeterminado"},"about":{"copy":"Copyright © $1. Todos os dereitos reservados.","dlgTitle":"Sobre o CKEditor 4","moreInfo":"Para obter información sobre a licenza, visite o noso sitio web:"},"basicstyles":{"bold":"Negra","italic":"Cursiva","strike":"Riscado","subscript":"Subíndice","superscript":"Superíndice","underline":"Subliñado"},"bidi":{"ltr":"Dirección do texto de esquerda a dereita","rtl":"Dirección do texto de dereita a esquerda"},"blockquote":{"toolbar":"Cita"},"notification":{"closed":"Notificación pechada."},"toolbar":{"toolbarCollapse":"Contraer a barra de ferramentas","toolbarExpand":"Expandir a barra de ferramentas","toolbarGroups":{"document":"Documento","clipboard":"Portapapeis/desfacer","editing":"Edición","forms":"Formularios","basicstyles":"Estilos básicos","paragraph":"Paragrafo","links":"Ligazóns","insert":"Inserir","styles":"Estilos","colors":"Cores","tools":"Ferramentas"},"toolbars":"Barras de ferramentas do editor"},"clipboard":{"copy":"Copiar","copyError":"Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de copia. Use o teclado para iso (Ctrl/Cmd+C).","cut":"Cortar","cutError":"Os axustes de seguranza do seu navegador non permiten que o editor realice automaticamente as tarefas de corte. Use o teclado para iso (Ctrl/Cmd+X).","paste":"Pegar","pasteNotification":"Prema %1 para pegar. O seu navegador non admite pegar co botón da barra de ferramentas ou coa opción do menú contextual.","pasteArea":"Zona de pegado","pasteMsg":"Pegue o contido dentro da área de abaixo e prema Aceptar."},"colorbutton":{"auto":"Automático","bgColorTitle":"Cor do fondo","colors":{"000":"Negro","800000":"Marrón escuro","8B4513":"Ocre","2F4F4F":"Pizarra escuro","008080":"Verde azulado","000080":"Azul mariño","4B0082":"Índigo","696969":"Gris escuro","B22222":"Ladrillo","A52A2A":"Marrón","DAA520":"Dourado escuro","006400":"Verde escuro","40E0D0":"Turquesa","0000CD":"Azul medio","800080":"Púrpura","808080":"Gris","F00":"Vermello","FF8C00":"Laranxa escuro","FFD700":"Dourado","008000":"Verde","0FF":"Cian","00F":"Azul","EE82EE":"Violeta","A9A9A9":"Gris medio","FFA07A":"Salmón claro","FFA500":"Laranxa","FFFF00":"Amarelo","00FF00":"Lima","AFEEEE":"Turquesa pálido","ADD8E6":"Azul claro","DDA0DD":"Violeta pálido","D3D3D3":"Verde claro","FFF0F5":"Lavanda vermello","FAEBD7":"Branco antigo","FFFFE0":"Amarelo claro","F0FFF0":"Mel","F0FFFF":"Azul celeste","F0F8FF":"Azul pálido","E6E6FA":"Lavanda","FFF":"Branco","1ABC9C":"Cian forte","2ECC71":"Esmeralda","3498DB":"Azul brillante","9B59B6":"Amatista","4E5F70":"Azul agrisado","F1C40F":"Amarelo vívido","16A085":"Cian escuro","27AE60":"Esmeralda escuro","2980B9":"Azul forte","8E44AD":"Violeta escuro","2C3E50":"Azul desaturado","F39C12":"Laranxa","E67E22":"Cenoria","E74C3C":"Vermello pálido","ECF0F1":"Plata brillante","95A5A6":"Cian agrisado claro","DDD":"Gris claro","D35400":"Cabaza","C0392B":"Vermello forte","BDC3C7":"Plata","7F8C8D":"Cian agrisado","999":"Gris escuro"},"more":"Máis cores...","panelTitle":"Cores","textColorTitle":"Cor do texto"},"colordialog":{"clear":"Limpar","highlight":"Resaltar","options":"Opcións de cor","selected":"Cor seleccionado","title":"Seleccione unha cor"},"templates":{"button":"Modelos","emptyListMsg":"(Non hai modelos definidos)","insertOption":"Substituír o contido actual","options":"Opcións de modelos","selectPromptMsg":"Seleccione o modelo a abrir no editor","title":"Modelos de contido"},"contextmenu":{"options":"Opcións do menú contextual"},"copyformatting":{"label":"Copy Formatting","notification":{"copied":"Formatting copied","applied":"Formatting applied","canceled":"Formatting canceled","failed":"Formatting failed. You cannot apply styles without copying them first."}},"div":{"IdInputLabel":"ID","advisoryTitleInputLabel":"Título informativo","cssClassInputLabel":"Clases da folla de estilos","edit":"Editar Div","inlineStyleInputLabel":"Estilo de liña","langDirLTRLabel":"Esquerda a dereita (LTR)","langDirLabel":"Dirección de escritura do idioma","langDirRTLLabel":"Dereita a esquerda (RTL)","languageCodeInputLabel":"Código do idioma","remove":"Retirar Div","styleSelectLabel":"Estilo","title":"Crear un contedor Div","toolbar":"Crear un contedor Div"},"elementspath":{"eleLabel":"Ruta dos elementos","eleTitle":"Elemento %1"},"filetools":{"loadError":"Produciuse un erro durante a lectura do ficheiro.","networkError":"Produciuse un erro na rede durante o envío do ficheiro.","httpError404":"Produciuse un erro HTTP durante o envío do ficheiro (404: Ficheiro non atopado).","httpError403":"Produciuse un erro HTTP durante o envío do ficheiro (403: Acceso denegado).","httpError":"Produciuse un erro HTTP durante o envío do ficheiro (erro de estado: %1).","noUrlError":"Non foi definido o URL para o envío.","responseError":"Resposta incorrecta do servidor."},"find":{"find":"Buscar","findOptions":"Buscar opcións","findWhat":"Texto a buscar:","matchCase":"Coincidir Mai./min.","matchCyclic":"Coincidencia cíclica","matchWord":"Coincidencia coa palabra completa","notFoundMsg":"Non se atopou o texto indicado.","replace":"Substituir","replaceAll":"Substituír todo","replaceSuccessMsg":"%1 concorrencia(s) substituída(s).","replaceWith":"Substituír con:","title":"Buscar e substituír"},"fakeobjects":{"anchor":"Ancoraxe","flash":"Animación «Flash»","hiddenfield":"Campo agochado","iframe":"IFrame","unknown":"Obxecto descoñecido"},"flash":{"access":"Acceso de scripts","accessAlways":"Sempre","accessNever":"Nunca","accessSameDomain":"Mesmo dominio","alignAbsBottom":"Abs Inferior","alignAbsMiddle":"Abs centro","alignBaseline":"Liña de base","alignTextTop":"Tope do texto","bgcolor":"Cor do fondo","chkFull":"Permitir pantalla completa","chkLoop":"Repetir","chkMenu":"Activar o menú do «Flash»","chkPlay":"Reprodución auomática","flashvars":"Opcións do «Flash»","hSpace":"Esp. Horiz.","properties":"Propiedades do «Flash»","propertiesTab":"Propiedades","quality":"Calidade","qualityAutoHigh":"Alta, automática","qualityAutoLow":"Baixa, automática","qualityBest":"A mellor","qualityHigh":"Alta","qualityLow":"Baixa","qualityMedium":"Media","scale":"Escalar","scaleAll":"Amosar todo","scaleFit":"Encaixar axustando","scaleNoBorder":"Sen bordo","title":"Propiedades do «Flash»","vSpace":"Esp.Vert.","validateHSpace":"O espazado horizontal debe ser un número.","validateSrc":"O URL non pode estar baleiro.","validateVSpace":"O espazado vertical debe ser un número.","windowMode":"Modo da xanela","windowModeOpaque":"Opaca","windowModeTransparent":"Transparente","windowModeWindow":"Xanela"},"font":{"fontSize":{"label":"Tamaño","voiceLabel":"Tamaño da letra","panelTitle":"Tamaño da letra"},"label":"Tipo de letra","panelTitle":"Nome do tipo de letra","voiceLabel":"Tipo de letra"},"forms":{"button":{"title":"Propiedades do botón","text":"Texto (Valor)","type":"Tipo","typeBtn":"Botón","typeSbm":"Enviar","typeRst":"Restabelever"},"checkboxAndRadio":{"checkboxTitle":"Propiedades da caixa de selección","radioTitle":"Propiedades do botón de opción","value":"Valor","selected":"Seleccionado","required":"Requirido"},"form":{"title":"Propiedades do formulario","menu":"Propiedades do formulario","action":"Acción","method":"Método","encoding":"Codificación"},"hidden":{"title":"Propiedades do campo agochado","name":"Nome","value":"Valor"},"select":{"title":"Propiedades do campo de selección","selectInfo":"Información","opAvail":"Opcións dispoñíbeis","value":"Valor","size":"Tamaño","lines":"liñas","chkMulti":"Permitir múltiplas seleccións","required":"Requirido","opText":"Texto","opValue":"Valor","btnAdd":"Engadir","btnModify":"Modificar","btnUp":"Subir","btnDown":"Baixar","btnSetValue":"Estabelecer como valor seleccionado","btnDelete":"Eliminar"},"textarea":{"title":"Propiedades da área de texto","cols":"Columnas","rows":"Filas"},"textfield":{"title":"Propiedades do campo de texto","name":"Nome","value":"Valor","charWidth":"Largo do carácter","maxChars":"Núm. máximo de caracteres","required":"Requirido","type":"Tipo","typeText":"Texto","typePass":"Contrasinal","typeEmail":"Correo","typeSearch":"Buscar","typeTel":"Número de teléfono","typeUrl":"URL"}},"format":{"label":"Formato","panelTitle":"Formato do parágrafo","tag_address":"Enderezo","tag_div":"Normal (DIV)","tag_h1":"Enacabezado 1","tag_h2":"Encabezado 2","tag_h3":"Encabezado 3","tag_h4":"Encabezado 4","tag_h5":"Encabezado 5","tag_h6":"Encabezado 6","tag_p":"Normal","tag_pre":"Formatado"},"horizontalrule":{"toolbar":"Inserir unha liña horizontal"},"iframe":{"border":"Amosar o bordo do marco","noUrl":"Escriba o enderezo do iframe","scrolling":"Activar as barras de desprazamento","title":"Propiedades do iFrame","toolbar":"IFrame"},"image":{"alt":"Texto alternativo","border":"Bordo","btnUpload":"Enviar ao servidor","button2Img":"Quere converter o botón da imaxe seleccionada nunha imaxe sinxela?","hSpace":"Esp.Horiz.","img2Button":"Quere converter a imaxe seleccionada nun botón de imaxe?","infoTab":"Información da imaxe","linkTab":"Ligazón","lockRatio":"Proporcional","menu":"Propiedades da imaxe","resetSize":"Tamaño orixinal","title":"Propiedades da imaxe","titleButton":"Propiedades do botón de imaxe","upload":"Cargar","urlMissing":"Non se atopa o URL da imaxe.","vSpace":"Esp.Vert.","validateBorder":"O bordo debe ser un número.","validateHSpace":"O espazado horizontal debe ser un número.","validateVSpace":"O espazado vertical debe ser un número."},"indent":{"indent":"Aumentar a sangría","outdent":"Reducir a sangría"},"smiley":{"options":"Opcións de emoticonas","title":"Inserir unha emoticona","toolbar":"Emoticona"},"language":{"button":"Estabelezer o idioma","remove":"Retirar o idioma"},"link":{"acccessKey":"Chave de acceso","advanced":"Avanzado","advisoryContentType":"Tipo de contido informativo","advisoryTitle":"Título","anchor":{"toolbar":"Ancoraxe","menu":"Editar a ancoraxe","title":"Propiedades da ancoraxe","name":"Nome da ancoraxe","errorName":"Escriba o nome da ancoraxe","remove":"Retirar a ancoraxe"},"anchorId":"Polo ID do elemento","anchorName":"Polo nome da ancoraxe","charset":"Codificación do recurso ligado","cssClasses":"Clases da folla de estilos","download":"Forzar a descarga","displayText":"Amosar o texto","emailAddress":"Enderezo de correo","emailBody":"Corpo da mensaxe","emailSubject":"Asunto da mensaxe","id":"ID","info":"Información da ligazón","langCode":"Código do idioma","langDir":"Dirección de escritura do idioma","langDirLTR":"Esquerda a dereita (LTR)","langDirRTL":"Dereita a esquerda (RTL)","menu":"Editar a ligazón","name":"Nome","noAnchors":"(Non hai ancoraxes dispoñíbeis no documento)","noEmail":"Escriba o enderezo de correo","noUrl":"Escriba a ligazón URL","noTel":"Escriba o número de teléfono","other":"<other>","phoneNumber":"Número de teléfono","popupDependent":"Dependente (Netscape)","popupFeatures":"Características da xanela emerxente","popupFullScreen":"Pantalla completa (IE)","popupLeft":"Posición esquerda","popupLocationBar":"Barra de localización","popupMenuBar":"Barra do menú","popupResizable":"Redimensionábel","popupScrollBars":"Barras de desprazamento","popupStatusBar":"Barra de estado","popupToolbar":"Barra de ferramentas","popupTop":"Posición superior","rel":"Relación","selectAnchor":"Seleccionar unha ancoraxe","styles":"Estilo","tabIndex":"Índice de tabulación","target":"Destino","targetFrame":"<marco>","targetFrameName":"Nome do marco de destino","targetPopup":"<xanela emerxente>","targetPopupName":"Nome da xanela emerxente","title":"Ligazón","toAnchor":"Ligar coa ancoraxe no testo","toEmail":"Correo","toUrl":"URL","toPhone":"Teléfono","toolbar":"Ligazón","type":"Tipo de ligazón","unlink":"Eliminar a ligazón","upload":"Enviar"},"list":{"bulletedlist":"Inserir/retirar lista viñeteada","numberedlist":"Inserir/retirar lista numerada"},"liststyle":{"bulletedTitle":"Propiedades da lista viñeteada","circle":"Circulo","decimal":"Decimal (1, 2, 3, etc.)","disc":"Disc","lowerAlpha":"Alfabeto en minúsculas (a, b, c, d, e, etc.)","lowerRoman":"Números romanos en minúsculas (i, ii, iii, iv, v, etc.)","none":"Ningún","notset":"<sen estabelecer>","numberedTitle":"Propiedades da lista numerada","square":"Cadrado","start":"Inicio","type":"Tipo","upperAlpha":"Alfabeto en maiúsculas (A, B, C, D, E, etc.)","upperRoman":"Números romanos en maiúsculas (I, II, III, IV, V, etc.)","validateStartNumber":"O número de inicio da lista debe ser un número enteiro."},"magicline":{"title":"Inserir aquí o parágrafo"},"maximize":{"maximize":"Maximizar","minimize":"Minimizar"},"newpage":{"toolbar":"Páxina nova"},"pagebreak":{"alt":"Quebra de páxina","toolbar":"Inserir quebra de páxina"},"pastetext":{"button":"Pegar como texto simple","pasteNotification":"Prema %1 para pegar. O seu navegador non admite pegar co botón da barra de ferramentas ou coa opción do menú contextual.","title":"Pegar como texto simple"},"pastefromword":{"confirmCleanup":"O texto que quere pegar semella ser copiado desde o Word. Quere depuralo antes de pegalo?","error":"Non foi posíbel depurar os datos pegados por mor dun erro interno","title":"Pegar desde Word","toolbar":"Pegar desde Word"},"preview":{"preview":"Vista previa"},"print":{"toolbar":"Imprimir"},"removeformat":{"toolbar":"Retirar o formato"},"save":{"toolbar":"Gardar"},"selectall":{"toolbar":"Seleccionar todo"},"showblocks":{"toolbar":"Amosar os bloques"},"sourcearea":{"toolbar":"Orixe"},"specialchar":{"options":"Opcións de caracteres especiais","title":"Seleccione un carácter especial","toolbar":"Inserir un carácter especial"},"scayt":{"btn_about":"About SCAYT","btn_dictionaries":"Dictionaries","btn_disable":"Disable SCAYT","btn_enable":"Enable SCAYT","btn_langs":"Languages","btn_options":"Options","text_title":"Spell Check As You Type"},"stylescombo":{"label":"Estilos","panelTitle":"Estilos de formatando","panelTitle1":"Estilos de bloque","panelTitle2":"Estilos de liña","panelTitle3":"Estilos de obxecto"},"table":{"border":"Tamaño do bordo","caption":"Título","cell":{"menu":"Cela","insertBefore":"Inserir a cela á esquerda","insertAfter":"Inserir a cela á dereita","deleteCell":"Eliminar celas","merge":"Combinar celas","mergeRight":"Combinar á dereita","mergeDown":"Combinar cara abaixo","splitHorizontal":"Dividir a cela en horizontal","splitVertical":"Dividir a cela en vertical","title":"Propiedades da cela","cellType":"Tipo de cela","rowSpan":"Expandir filas","colSpan":"Expandir columnas","wordWrap":"Axustar ao contido","hAlign":"Aliñación horizontal","vAlign":"Aliñación vertical","alignBaseline":"Liña de base","bgColor":"Cor do fondo","borderColor":"Cor do bordo","data":"Datos","header":"Cabeceira","yes":"Si","no":"Non","invalidWidth":"O largo da cela debe ser un número.","invalidHeight":"O alto da cela debe ser un número.","invalidRowSpan":"A expansión de filas debe ser un número enteiro.","invalidColSpan":"A expansión de columnas debe ser un número enteiro.","chooseColor":"Escoller"},"cellPad":"Marxe interior da cela","cellSpace":"Marxe entre celas","column":{"menu":"Columna","insertBefore":"Inserir a columna á esquerda","insertAfter":"Inserir a columna á dereita","deleteColumn":"Borrar Columnas"},"columns":"Columnas","deleteTable":"Borrar Táboa","headers":"Cabeceiras","headersBoth":"Ambas","headersColumn":"Primeira columna","headersNone":"Ningún","headersRow":"Primeira fila","invalidBorder":"O tamaño do bordo debe ser un número.","invalidCellPadding":"A marxe interior debe ser un número positivo.","invalidCellSpacing":"A marxe entre celas debe ser un número positivo.","invalidCols":"O número de columnas debe ser un número maior que 0.","invalidHeight":"O alto da táboa debe ser un número.","invalidRows":"O número de filas debe ser un número maior que 0","invalidWidth":"O largo da táboa debe ser un número.","menu":"Propiedades da táboa","row":{"menu":"Fila","insertBefore":"Inserir a fila por riba","insertAfter":"Inserir a fila por baixo","deleteRow":"Eliminar filas"},"rows":"Filas","summary":"Resumo","title":"Propiedades da táboa","toolbar":"Taboa","widthPc":"porcentaxe","widthPx":"píxeles","widthUnit":"unidade do largo"},"undo":{"redo":"Refacer","undo":"Desfacer"},"widget":{"move":"Prema e arrastre para mover","label":"Trebello %1"},"uploadwidget":{"abort":"Envío interrompido polo usuario.","doneOne":"Ficheiro enviado satisfactoriamente.","doneMany":"%1 ficheiros enviados satisfactoriamente.","uploadOne":"Enviando o ficheiro ({percentage}%)...","uploadMany":"Enviando ficheiros, {current} de {max} feito o ({percentage}%)..."},"wsc":{"btnIgnore":"Ignorar","btnIgnoreAll":"Ignorar Todas","btnReplace":"Substituir","btnReplaceAll":"Substituir Todas","btnUndo":"Desfacer","changeTo":"Cambiar a","errorLoading":"Error loading application service host: %s.","ieSpellDownload":"O corrector ortográfico non está instalado. ¿Quere descargalo agora?","manyChanges":"Corrección ortográfica rematada: %1 verbas substituidas","noChanges":"Corrección ortográfica rematada: Non se substituiu nengunha verba","noMispell":"Corrección ortográfica rematada: Non se atoparon erros","noSuggestions":"- Sen candidatos -","notAvailable":"Sorry, but service is unavailable now.","notInDic":"Non está no diccionario","oneChange":"Corrección ortográfica rematada: Unha verba substituida","progress":"Corrección ortográfica en progreso...","title":"Spell Checker","toolbar":"Corrección Ortográfica"}};
|