From 7b7d5f2f4966ba5bdc4622e22dda761a6d8e3ffc Mon Sep 17 00:00:00 2001 From: Shruti Chaturvedi Date: Mon, 12 Dec 2022 21:08:43 +0530 Subject: [PATCH 01/70] Integrate Uffizzi --- .github/workflows/uffizzi-build.yml | 98 +++++++++++++++++++++++++++ .github/workflows/uffizzi-preview.yml | 88 ++++++++++++++++++++++++ docker-compose.uffizzi.yml | 36 ++++++++++ 3 files changed, 222 insertions(+) create mode 100644 .github/workflows/uffizzi-build.yml create mode 100644 .github/workflows/uffizzi-preview.yml create mode 100644 docker-compose.uffizzi.yml diff --git a/.github/workflows/uffizzi-build.yml b/.github/workflows/uffizzi-build.yml new file mode 100644 index 00000000..8786952c --- /dev/null +++ b/.github/workflows/uffizzi-build.yml @@ -0,0 +1,98 @@ +name: Build PR Image +on: + pull_request: + types: [opened, synchronize, reopened, closed] + +jobs: + build-answer: + name: Build and push `Answer` + runs-on: ubuntu-latest + outputs: + tags: ${{ steps.meta.outputs.tags }} + if: ${{ github.event.action != 'closed' }} + steps: + - name: Checkout git repo + uses: actions/checkout@v3 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + + - name: Generate UUID image name + id: uuid + run: echo "UUID_WORKER=$(uuidgen)" >> $GITHUB_ENV + + - name: Docker metadata + id: meta + uses: docker/metadata-action@v4 + with: + images: registry.uffizzi.com/${{ env.UUID_WORKER }} + tags: | + type=raw,value=60d + + - name: Build and Push Image to registry.uffizzi.com - Uffizzi's ephemeral Registry + uses: docker/build-push-action@v3 + with: + context: . + file: ./Dockerfile + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + push: true + cache-from: type=gha + cache-to: type=gha, mode=max + + render-compose-file: + name: Render Docker Compose File + # Pass output of this workflow to another triggered by `workflow_run` event. + runs-on: ubuntu-latest + needs: + - build-answer + outputs: + compose-file-cache-key: ${{ steps.hash.outputs.hash }} + steps: + - name: Checkout git repo + uses: actions/checkout@v3 + - name: Render Compose File + run: | + ANSWER_IMAGE=${{ needs.build-answer.outputs.tags }} + export ANSWER_IMAGE + export UFFIZZI_URL=\$UFFIZZI_URL + # Render simple template from environment variables. + envsubst < docker-compose.uffizzi.yml > docker-compose.rendered.yml + cat docker-compose.rendered.yml + - name: Upload Rendered Compose File as Artifact + uses: actions/upload-artifact@v3 + with: + name: preview-spec + path: docker-compose.rendered.yml + retention-days: 2 + - name: Serialize PR Event to File + run: | + cat << EOF > event.json + ${{ toJSON(github.event) }} + + EOF + - name: Upload PR Event as Artifact + uses: actions/upload-artifact@v3 + with: + name: preview-spec + path: event.json + retention-days: 2 + + delete-preview: + name: Call for Preview Deletion + runs-on: ubuntu-latest + if: ${{ github.event.action == 'closed' }} + steps: + # If this PR is closing, we will not render a compose file nor pass it to the next workflow. + - name: Serialize PR Event to File + run: | + cat << EOF > event.json + ${{ toJSON(github.event) }} + + EOF + - name: Upload PR Event as Artifact + uses: actions/upload-artifact@v3 + with: + name: preview-spec + path: event.json + retention-days: 2 diff --git a/.github/workflows/uffizzi-preview.yml b/.github/workflows/uffizzi-preview.yml new file mode 100644 index 00000000..f7909741 --- /dev/null +++ b/.github/workflows/uffizzi-preview.yml @@ -0,0 +1,88 @@ +name: Deploy Uffizzi Preview + +on: + workflow_run: + workflows: + - "Build PR Image" + types: + - completed + + +jobs: + cache-compose-file: + name: Cache Compose File + runs-on: ubuntu-latest + if: ${{ github.event.workflow_run.conclusion == 'success' }} + outputs: + compose-file-cache-key: ${{ env.HASH }} + pr-number: ${{ env.PR_NUMBER }} + steps: + - name: 'Download artifacts' + # Fetch output (zip archive) from the workflow run that triggered this workflow. + uses: actions/github-script@v6 + with: + script: | + let allArtifacts = await github.rest.actions.listWorkflowRunArtifacts({ + owner: context.repo.owner, + repo: context.repo.repo, + run_id: context.payload.workflow_run.id, + }); + let matchArtifact = allArtifacts.data.artifacts.filter((artifact) => { + return artifact.name == "preview-spec" + })[0]; + let download = await github.rest.actions.downloadArtifact({ + owner: context.repo.owner, + repo: context.repo.repo, + artifact_id: matchArtifact.id, + archive_format: 'zip', + }); + let fs = require('fs'); + fs.writeFileSync(`${process.env.GITHUB_WORKSPACE}/preview-spec.zip`, Buffer.from(download.data)); + + - name: 'Unzip artifact' + run: unzip preview-spec.zip + - name: Read Event into ENV + run: | + echo 'EVENT_JSON<> $GITHUB_ENV + cat event.json >> $GITHUB_ENV + echo 'EOF' >> $GITHUB_ENV + + - name: Hash Rendered Compose File + id: hash + # If the previous workflow was triggered by a PR close event, we will not have a compose file artifact. + if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }} + run: echo "HASH=$(md5sum docker-compose.rendered.yml | awk '{ print $1 }')" >> $GITHUB_ENV + - name: Cache Rendered Compose File + if: ${{ fromJSON(env.EVENT_JSON).action != 'closed' }} + uses: actions/cache@v3 + with: + path: docker-compose.rendered.yml + key: ${{ env.HASH }} + + - name: Read PR Number From Event Object + id: pr + run: echo "PR_NUMBER=${{ fromJSON(env.EVENT_JSON).number }}" >> $GITHUB_ENV + - name: DEBUG - Print Job Outputs + if: ${{ runner.debug }} + run: | + echo "PR number: ${{ env.PR_NUMBER }}" + echo "Compose file hash: ${{ env.HASH }}" + cat event.json + + deploy-uffizzi-preview: + name: Use Remote Workflow to Preview on Uffizzi + needs: + - cache-compose-file + if: ${{ github.event.workflow_run.conclusion == 'success' }} + uses: UffizziCloud/preview-action/.github/workflows/reusable.yaml@v2 + with: + # If this workflow was triggered by a PR close event, cache-key will be an empty string + # and this reusable workflow will delete the preview deployment. + compose-file-cache-key: ${{ needs.cache-compose-file.outputs.compose-file-cache-key }} + compose-file-cache-path: docker-compose.rendered.yml + server: https://app.uffizzi.com + pr-number: ${{ needs.cache-compose-file.outputs.pr-number }} + permissions: + contents: read + pull-requests: write + id-token: write diff --git a/docker-compose.uffizzi.yml b/docker-compose.uffizzi.yml new file mode 100644 index 00000000..f26d2bdc --- /dev/null +++ b/docker-compose.uffizzi.yml @@ -0,0 +1,36 @@ +version: "3" + +# uffizzi integration +x-uffizzi: + ingress: + service: answer + port: 80 + +services: + + answer: + image: "${ANSWER_IMAGE}" + volumes: + - answer-data:/data + deploy: + resources: + limits: + memory: 4000M + + mysql: + image: mysql:latest + environment: + - MYSQL_DATABASE=answer + - MYSQL_ROOT_PASSWORD=password + - MYSQL_USER=mysql + - MYSQL_PASSWORD=mysql + volumes: + - sql_data:/var/lib/mysql + deploy: + resources: + limits: + memory: 500M + +volumes: + answer-data: + sql_data: From 341966bbee308a8c40e4ed5100bdc5b7c20d35ed Mon Sep 17 00:00:00 2001 From: Ben Harvie Date: Fri, 13 Jan 2023 07:39:39 +0000 Subject: [PATCH 02/70] Create SECURITY.md --- SECURITY.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 SECURITY.md diff --git a/SECURITY.md b/SECURITY.md new file mode 100644 index 00000000..f7fdf9dc --- /dev/null +++ b/SECURITY.md @@ -0,0 +1,5 @@ +# Security Policy + +## Reporting a Vulnerability + +Please report security issues to `security@answer.dev` \ No newline at end of file From 7666a89a645720936fdbb1b594d57ca6f647d2fd Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:27:25 +0800 Subject: [PATCH 03/70] update userinfo html xss --- docs/docs.go | 47 ++++++++++++++++++++++++++++++++ docs/swagger.json | 47 ++++++++++++++++++++++++++++++++ docs/swagger.yaml | 29 ++++++++++++++++++++ internal/service/user_service.go | 8 +++++- 4 files changed, 130 insertions(+), 1 deletion(-) diff --git a/docs/docs.go b/docs/docs.go index cce01432..1660ee72 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -2911,6 +2911,45 @@ const docTemplate = `{ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6589,6 +6628,14 @@ const docTemplate = `{ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ diff --git a/docs/swagger.json b/docs/swagger.json index 3503fce7..91ca0f4c 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -2899,6 +2899,45 @@ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6577,6 +6616,14 @@ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ diff --git a/docs/swagger.yaml b/docs/swagger.yaml index b02e9494..232fe850 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -976,6 +976,11 @@ definitions: type: type: string type: object + schema.PostRenderReq: + properties: + content: + type: string + type: object schema.QuestionAdd: properties: content: @@ -3684,6 +3689,30 @@ paths: summary: user's votes tags: - Activity + /answer/api/v1/post/render: + post: + consumes: + - application/json + description: render post content + parameters: + - description: PostRenderReq + in: body + name: data + required: true + schema: + $ref: '#/definitions/schema.PostRenderReq' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handler.RespBody' + security: + - ApiKeyAuth: [] + summary: render post content + tags: + - Upload /answer/api/v1/question: delete: consumes: diff --git a/internal/service/user_service.go b/internal/service/user_service.go index e7bd4374..306fea13 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -22,6 +22,7 @@ import ( usercommon "github.com/answerdev/answer/internal/service/user_common" "github.com/answerdev/answer/pkg/checker" "github.com/google/uuid" + "github.com/microcosm-cc/bluemonday" "github.com/segmentfault/pacman/errors" "github.com/segmentfault/pacman/log" "golang.org/x/crypto/bcrypt" @@ -267,12 +268,17 @@ func (us *UserService) UpdateInfo(ctx context.Context, req *schema.UpdateInfoReq if err != nil { return nil, errors.BadRequest(reason.UserSetAvatar).WithError(err).WithStack() } + xss := bluemonday.UGCPolicy() + bio := xss.Sanitize( + req.BioHTML, + ) + userInfo := entity.User{} userInfo.ID = req.UserID userInfo.Avatar = string(avatar) userInfo.DisplayName = req.DisplayName userInfo.Bio = req.Bio - userInfo.BioHTML = req.BioHTML + userInfo.BioHTML = bio userInfo.Location = req.Location userInfo.Website = req.Website userInfo.Username = req.Username From 1592807a8a957d03d247a2dea66eea1d0428bad4 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:28:21 +0800 Subject: [PATCH 04/70] update goreleaser --- .goreleaser.yaml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index 18cbbd55..f2719777 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -39,8 +39,8 @@ builds: goos: - linux goarch: - - arm64 - - id: build-arm7 + - arm64 + - id: build-arm7 main: ./cmd/answer/. binary: answer ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser @@ -64,7 +64,7 @@ builds: - darwin goarch: - arm64 - ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser + ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser flags: -v - id: build-darwin-amd64 main: ./cmd/answer/. @@ -76,7 +76,7 @@ builds: - darwin goarch: - amd64 - ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser + ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser flags: -v @@ -96,9 +96,9 @@ changelog: - '^test:' -# sudo apt-get install build-essential +# sudo apt-get install build-essential # sudo apt-get install gcc-multilib g++-multilib # sudo apt-get install gcc-mingw-w64 # sudo apt-get -y install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf # sudo apt-get install clang llvm -# goreleaser release --snapshot --rm-dist \ No newline at end of file +# goreleaser release --snapshot --rm-dist From 020262f66243853553d6e653753d06b5aa1f149f Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Mon, 16 Jan 2023 16:35:06 +0800 Subject: [PATCH 05/70] fix(user): convert user bio markdown --- internal/schema/user_schema.go | 10 ++++++---- internal/service/user_service.go | 8 +------- 2 files changed, 7 insertions(+), 11 deletions(-) diff --git a/internal/schema/user_schema.go b/internal/schema/user_schema.go index 9b449b80..52449664 100644 --- a/internal/schema/user_schema.go +++ b/internal/schema/user_schema.go @@ -8,6 +8,7 @@ import ( "github.com/answerdev/answer/internal/base/validator" "github.com/answerdev/answer/internal/entity" "github.com/answerdev/answer/pkg/checker" + "github.com/answerdev/answer/pkg/converter" "github.com/jinzhu/copier" "github.com/segmentfault/pacman/errors" ) @@ -283,7 +284,7 @@ type UpdateInfoRequest struct { // bio Bio string `validate:"omitempty,gt=0,lte=4096" json:"bio"` // bio - BioHTML string `validate:"omitempty,gt=0,lte=4096" json:"bio_html"` + BioHTML string `json:"-"` // website Website string `validate:"omitempty,gt=0,lte=500" json:"website"` // location @@ -298,11 +299,11 @@ type AvatarInfo struct { Custom string `validate:"omitempty,gt=0,lte=200" json:"custom"` } -func (u *UpdateInfoRequest) Check() (errFields []*validator.FormErrorField, err error) { - if len(u.Username) > 0 { +func (req *UpdateInfoRequest) Check() (errFields []*validator.FormErrorField, err error) { + if len(req.Username) > 0 { errFields := make([]*validator.FormErrorField, 0) re := regexp.MustCompile(`^[a-z0-9._-]{4,30}$`) - match := re.MatchString(u.Username) + match := re.MatchString(req.Username) if !match { errField := &validator.FormErrorField{ ErrorField: "username", @@ -312,6 +313,7 @@ func (u *UpdateInfoRequest) Check() (errFields []*validator.FormErrorField, err return errFields, errors.BadRequest(reason.UsernameInvalid) } } + req.BioHTML = converter.Markdown2HTML(req.Bio) return nil, nil } diff --git a/internal/service/user_service.go b/internal/service/user_service.go index 306fea13..e7bd4374 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -22,7 +22,6 @@ import ( usercommon "github.com/answerdev/answer/internal/service/user_common" "github.com/answerdev/answer/pkg/checker" "github.com/google/uuid" - "github.com/microcosm-cc/bluemonday" "github.com/segmentfault/pacman/errors" "github.com/segmentfault/pacman/log" "golang.org/x/crypto/bcrypt" @@ -268,17 +267,12 @@ func (us *UserService) UpdateInfo(ctx context.Context, req *schema.UpdateInfoReq if err != nil { return nil, errors.BadRequest(reason.UserSetAvatar).WithError(err).WithStack() } - xss := bluemonday.UGCPolicy() - bio := xss.Sanitize( - req.BioHTML, - ) - userInfo := entity.User{} userInfo.ID = req.UserID userInfo.Avatar = string(avatar) userInfo.DisplayName = req.DisplayName userInfo.Bio = req.Bio - userInfo.BioHTML = bio + userInfo.BioHTML = req.BioHTML userInfo.Location = req.Location userInfo.Website = req.Website userInfo.Username = req.Username From d9ec8b15f1b4827c4d8a967cb623ce458ba32076 Mon Sep 17 00:00:00 2001 From: shuai Date: Mon, 16 Jan 2023 16:48:04 +0800 Subject: [PATCH 06/70] fix: edit user information cancel profile to html --- ui/src/pages/Users/Settings/Profile/index.tsx | 2 -- 1 file changed, 2 deletions(-) diff --git a/ui/src/pages/Users/Settings/Profile/index.tsx b/ui/src/pages/Users/Settings/Profile/index.tsx index 2d703b9e..698a49b2 100644 --- a/ui/src/pages/Users/Settings/Profile/index.tsx +++ b/ui/src/pages/Users/Settings/Profile/index.tsx @@ -2,7 +2,6 @@ import React, { FormEvent, useState, useEffect } from 'react'; import { Form, Button, Stack, ButtonGroup } from 'react-bootstrap'; import { Trans, useTranslation } from 'react-i18next'; -import { marked } from 'marked'; import MD5 from 'md5'; import type { FormDataType } from '@/common/interface'; @@ -205,7 +204,6 @@ const Index: React.FC = () => { bio: formData.bio.value, website: formData.website.value, location: formData.location.value, - bio_html: marked.parse(formData.bio.value), }; modifyUserInfo(params) From 0265c9f554f948b4cc874ec1492e1bbd7f7ed539 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 16:59:03 +0800 Subject: [PATCH 07/70] update sqlite --- .github/workflows/build.yml | 41 +++++++++++++++++++++++++++++++++++++ .gitignore | 1 + go.mod | 15 +++++++++++++- go.sum | 6 ++++++ internal/base/data/data.go | 3 ++- ui/build/index.html | 1 - 6 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 .github/workflows/build.yml delete mode 100644 ui/build/index.html diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 00000000..3f96633e --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,41 @@ +name: "Goreleaser" + +on: + push: + tags: + - "v*" +permissions: + contents: write + +jobs: + build-and-push: + runs-on: [self-hosted, linux] + + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up Node + uses: actions/setup-node@v3 + with: + node-version: 16 + + - name: Node Build + run: make install-ui-packages ui + + - name: Setup Go + uses: actions/setup-go@v3 + with: + go-version: 1.19 + - name: Run GoReleaser + uses: goreleaser/goreleaser-action@v4 + with: + distribution: goreleaser + version: latest + args: release --rm-dist + env: + GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} + - uses: actions/upload-artifact@v3 + with: + name: answer + path: ./dist/* diff --git a/.gitignore b/.gitignore index 5776cd0c..4ef92243 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,7 @@ /go.work* /logs /ui/build +/ui/build/index.html /ui/node_modules /vendor Thumbs*.db diff --git a/go.mod b/go.mod index 33c4a499..5269868c 100644 --- a/go.mod +++ b/go.mod @@ -22,7 +22,6 @@ require ( github.com/jinzhu/copier v0.3.5 github.com/jinzhu/now v1.1.5 github.com/lib/pq v1.10.7 - github.com/mattn/go-sqlite3 v1.14.16 github.com/microcosm-cc/bluemonday v1.0.21 github.com/mojocn/base64Captcha v1.3.5 github.com/ory/dockertest/v3 v3.9.1 @@ -43,6 +42,7 @@ require ( golang.org/x/net v0.1.0 gopkg.in/gomail.v2 v2.0.0-20160411212932-81ebce5c23df gopkg.in/yaml.v3 v3.0.1 + modernc.org/sqlite v1.14.2 xorm.io/builder v0.3.12 xorm.io/core v0.7.3 xorm.io/xorm v1.3.2 @@ -79,12 +79,14 @@ require ( github.com/inconshreveable/mousetrap v1.0.1 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/json-iterator/go v1.1.12 // indirect + github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect github.com/leodido/go-urn v1.2.1 // indirect github.com/lestrrat-go/file-rotatelogs v2.4.0+incompatible // indirect github.com/lestrrat-go/strftime v1.0.6 // indirect github.com/magiconair/properties v1.8.6 // indirect github.com/mailru/easyjson v0.7.7 // indirect github.com/mattn/go-isatty v0.0.16 // indirect + github.com/mattn/go-sqlite3 v1.14.16 // indirect github.com/mitchellh/mapstructure v1.5.0 // indirect github.com/moby/term v0.0.0-20201216013528-df9cb8a40635 // indirect github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd // indirect @@ -97,6 +99,7 @@ require ( github.com/pelletier/go-toml/v2 v2.0.5 // indirect github.com/pkg/errors v0.9.1 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect + github.com/remyoudompheng/bigfft v0.0.0-20200410134404-eec4a21b6bb0 // indirect github.com/sirupsen/logrus v1.8.1 // indirect github.com/spf13/afero v1.9.2 // indirect github.com/spf13/cast v1.5.0 // indirect @@ -113,6 +116,7 @@ require ( go.uber.org/multierr v1.8.0 // indirect go.uber.org/zap v1.23.0 // indirect golang.org/x/image v0.1.0 // indirect + golang.org/x/mod v0.6.0 // indirect golang.org/x/sys v0.1.0 // indirect golang.org/x/text v0.5.0 // indirect golang.org/x/tools v0.2.0 // indirect @@ -120,5 +124,14 @@ require ( gopkg.in/alexcesaro/quotedprintable.v3 v3.0.0-20150716171945-2caba252f4dc // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect + lukechampine.com/uint128 v1.1.1 // indirect + modernc.org/cc/v3 v3.35.18 // indirect + modernc.org/ccgo/v3 v3.12.82 // indirect + modernc.org/libc v1.11.87 // indirect + modernc.org/mathutil v1.4.1 // indirect + modernc.org/memory v1.0.5 // indirect + modernc.org/opt v0.1.1 // indirect + modernc.org/strutil v1.1.1 // indirect + modernc.org/token v1.0.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) diff --git a/go.sum b/go.sum index a808586a..ba0a6be2 100644 --- a/go.sum +++ b/go.sum @@ -142,6 +142,7 @@ github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5Xh github.com/docker/go-units v0.4.0 h1:3uh0PgVws3nIA0Q+MwDC8yjEPf9zjRfZZWXZYDct3Tw= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= github.com/dustin/go-humanize v0.0.0-20171111073723-bb3d318650d4/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= +github.com/dustin/go-humanize v1.0.0 h1:VSnTsYCnlFHaM2/igO1h6X3HA71jcobQuxemgkq4zYo= github.com/dustin/go-humanize v1.0.0/go.mod h1:HtrtbFcZ19U5GC7JDqmcUSB87Iq5E25KnS6fMYU6eOk= github.com/eapache/go-resiliency v1.1.0/go.mod h1:kFI+JgMyC7bLPUVY133qvEBtVayf5mFgVsvEsIPBvNs= github.com/eapache/go-xerial-snappy v0.0.0-20180814174437-776d5712da21/go.mod h1:+020luEh2TKB4/GOp8oxxtq0Daoen/Cii55CzbTV6DU= @@ -793,6 +794,7 @@ golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= golang.org/x/mod v0.6.0 h1:b9gGHsz9/HhJ3HF5DHQytPpuwocVTChQJK3AvoLRD5I= +golang.org/x/mod v0.6.0/go.mod h1:4mET923SAdbXp2ki8ey+zGs1SLqsuM2Y0uvdZR/fUNI= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180906233101-161cd47e91fd/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1219,7 +1221,9 @@ modernc.org/ccgo/v3 v3.12.73/go.mod h1:hngkB+nUUqzOf3iqsM48Gf1FZhY599qzVg1iX+BT3 modernc.org/ccgo/v3 v3.12.81/go.mod h1:p2A1duHoBBg1mFtYvnhAnQyI6vL0uw5PGYLSIgF6rYY= modernc.org/ccgo/v3 v3.12.82 h1:wudcnJyjLj1aQQCXF3IM9Gz2X6UNjw+afIghzdtn0v8= modernc.org/ccgo/v3 v3.12.82/go.mod h1:ApbflUfa5BKadjHynCficldU1ghjen84tuM5jRynB7w= +modernc.org/ccorpus v1.11.1 h1:K0qPfpVG1MJh5BYazccnmhywH4zHuOgJXgbjzyp6dWA= modernc.org/ccorpus v1.11.1/go.mod h1:2gEUTrWqdpH2pXsmTM1ZkjeSrUWDpjMu2T6m29L/ErQ= +modernc.org/httpfs v1.0.6 h1:AAgIpFZRXuYnkjftxTAZwMIiwEqAfk8aVB2/oA6nAeM= modernc.org/httpfs v1.0.6/go.mod h1:7dosgurJGp0sPaRanU53W4xZYKh14wfzX420oZADeHM= modernc.org/libc v1.9.8/go.mod h1:U1eq8YWr/Kc1RWCMFUWEdkTg8OTcfLw2kY8EDwl039w= modernc.org/libc v1.9.11/go.mod h1:NyF3tsA5ArIjJ83XB0JlqhjTabTCHm9aX4XMPHyQn0Q= @@ -1271,9 +1275,11 @@ modernc.org/sqlite v1.14.2 h1:ohsW2+e+Qe2To1W6GNezzKGwjXwSax6R+CrhRxVaFbE= modernc.org/sqlite v1.14.2/go.mod h1:yqfn85u8wVOE6ub5UT8VI9JjhrwBUUCNyTACN0h6Sx8= modernc.org/strutil v1.1.1 h1:xv+J1BXY3Opl2ALrBwyfEikFAj8pmqcpnfmuwUwcozs= modernc.org/strutil v1.1.1/go.mod h1:DE+MQQ/hjKBZS2zNInV5hhcipt5rLPWkmpbGeW5mmdw= +modernc.org/tcl v1.8.13 h1:V0sTNBw0Re86PvXZxuCub3oO9WrSTqALgrwNZNvLFGw= modernc.org/tcl v1.8.13/go.mod h1:V+q/Ef0IJaNUSECieLU4o+8IScapxnMyFV6i/7uQlAY= modernc.org/token v1.0.0 h1:a0jaWiNMDhDUtqOj09wvjWWAqd3q7WpBulmL9H2egsk= modernc.org/token v1.0.0/go.mod h1:UGzOrNV1mAFSEB63lOFHIpNRUVMvYTc6yu1SMY/XTDM= +modernc.org/z v1.2.19 h1:BGyRFWhDVn5LFS5OcX4Yd/MlpRTOc7hOPTdcIpCiUao= modernc.org/z v1.2.19/go.mod h1:+ZpP0pc4zz97eukOzW3xagV/lS82IpPN9NGG5pNF9vY= rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= diff --git a/internal/base/data/data.go b/internal/base/data/data.go index 356c7157..f9020e9c 100644 --- a/internal/base/data/data.go +++ b/internal/base/data/data.go @@ -7,10 +7,10 @@ import ( "github.com/answerdev/answer/pkg/dir" _ "github.com/go-sql-driver/mysql" _ "github.com/lib/pq" - _ "github.com/mattn/go-sqlite3" "github.com/segmentfault/pacman/cache" "github.com/segmentfault/pacman/contrib/cache/memory" "github.com/segmentfault/pacman/log" + _ "modernc.org/sqlite" "xorm.io/core" "xorm.io/xorm" ormlog "xorm.io/xorm/log" @@ -43,6 +43,7 @@ func NewDB(debug bool, dataConf *Database) (*xorm.Engine, error) { if err := dir.CreateDirIfNotExist(dbFileDir); err != nil { log.Errorf("create database dir failed: %s", err) } + dataConf.MaxOpenConn = 1 } engine, err := xorm.NewEngine(dataConf.Driver, dataConf.Connection) if err != nil { diff --git a/ui/build/index.html b/ui/build/index.html deleted file mode 100644 index f7ae498a..00000000 --- a/ui/build/index.html +++ /dev/null @@ -1 +0,0 @@ -
\ No newline at end of file From d8cca771334e787f1d8350fc27134a67cb53344b Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 17:00:56 +0800 Subject: [PATCH 08/70] update goreleaser --- .goreleaser.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index f2719777..dcb10039 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -2,7 +2,7 @@ env: - GO11MODULE=on - GO111MODULE=on - GOPROXY=https://goproxy.io - - CGO_ENABLED=1 + - CGO_ENABLED=0 before: hooks: From b6d441e0a290f3466d38298576a04ff12c31ab02 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 17:22:49 +0800 Subject: [PATCH 09/70] update .gitignore --- .gitignore | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.gitignore b/.gitignore index 4ef92243..391e0005 100644 --- a/.gitignore +++ b/.gitignore @@ -15,8 +15,7 @@ /configs/config-dev.yaml /go.work* /logs -/ui/build -/ui/build/index.html + /ui/node_modules /vendor Thumbs*.db From 1cd11a05ef050c91960dc6157b5cb03f3884d2a5 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 17:27:42 +0800 Subject: [PATCH 10/70] update gitignore --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 391e0005..a4982a5f 100644 --- a/.gitignore +++ b/.gitignore @@ -15,7 +15,6 @@ /configs/config-dev.yaml /go.work* /logs - /ui/node_modules /vendor Thumbs*.db From eacb3073282e6bdd58e4cd556016c740b651f4cb Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 16 Jan 2023 17:32:08 +0800 Subject: [PATCH 11/70] update ui gitignore --- ui/.gitignore | 7 ++++++- ui/build/index.html | 1 + ui/build/static/README.md | 1 + 3 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 ui/build/index.html create mode 100644 ui/build/static/README.md diff --git a/ui/.gitignore b/ui/.gitignore index fe3fdef0..9873846e 100644 --- a/ui/.gitignore +++ b/ui/.gitignore @@ -9,7 +9,12 @@ /coverage # production -/build + + +/build/*/*/* +/build/*.json +/build/*.ico +/build/*.txt # misc .DS_Store diff --git a/ui/build/index.html b/ui/build/index.html new file mode 100644 index 00000000..c9015be6 --- /dev/null +++ b/ui/build/index.html @@ -0,0 +1 @@ +
\ No newline at end of file diff --git a/ui/build/static/README.md b/ui/build/static/README.md new file mode 100644 index 00000000..a55b8703 --- /dev/null +++ b/ui/build/static/README.md @@ -0,0 +1 @@ +# Build Static From d355c823c39f4d571c29a973f393a69e8ca2fc23 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Sat, 28 Jan 2023 10:40:01 +0800 Subject: [PATCH 12/70] fix(user): Add rules to restrict username during installation. fix #181 --- internal/install/install_req.go | 16 ++++++++++++++++ internal/schema/user_schema.go | 6 +----- internal/service/user_common/user.go | 5 +---- pkg/checker/username.go | 11 +++++++++++ 4 files changed, 29 insertions(+), 9 deletions(-) create mode 100644 pkg/checker/username.go diff --git a/internal/install/install_req.go b/internal/install/install_req.go index ff544406..a465d6bd 100644 --- a/internal/install/install_req.go +++ b/internal/install/install_req.go @@ -5,6 +5,10 @@ import ( "net/url" "strings" + "github.com/answerdev/answer/internal/base/reason" + "github.com/answerdev/answer/internal/base/validator" + "github.com/answerdev/answer/pkg/checker" + "github.com/segmentfault/pacman/errors" "xorm.io/xorm/schemas" ) @@ -82,6 +86,18 @@ type InitBaseInfoReq struct { AdminEmail string `validate:"required,email,gt=0,lte=500" json:"email"` } +func (r *InitBaseInfoReq) Check() (errFields []*validator.FormErrorField, err error) { + if checker.IsInvalidUsername(r.AdminName) { + errField := &validator.FormErrorField{ + ErrorField: "name", + ErrorMsg: reason.UsernameInvalid, + } + errFields = append(errFields, errField) + return errFields, errors.BadRequest(reason.UsernameInvalid) + } + return +} + func (r *InitBaseInfoReq) FormatSiteUrl() { parsedUrl, err := url.Parse(r.SiteURL) if err != nil { diff --git a/internal/schema/user_schema.go b/internal/schema/user_schema.go index 52449664..308568c8 100644 --- a/internal/schema/user_schema.go +++ b/internal/schema/user_schema.go @@ -2,7 +2,6 @@ package schema import ( "encoding/json" - "regexp" "github.com/answerdev/answer/internal/base/reason" "github.com/answerdev/answer/internal/base/validator" @@ -301,10 +300,7 @@ type AvatarInfo struct { func (req *UpdateInfoRequest) Check() (errFields []*validator.FormErrorField, err error) { if len(req.Username) > 0 { - errFields := make([]*validator.FormErrorField, 0) - re := regexp.MustCompile(`^[a-z0-9._-]{4,30}$`) - match := re.MatchString(req.Username) - if !match { + if checker.IsInvalidUsername(req.Username) { errField := &validator.FormErrorField{ ErrorField: "username", ErrorMsg: reason.UsernameInvalid, diff --git a/internal/service/user_common/user.go b/internal/service/user_common/user.go index 946319d5..da66f4ce 100644 --- a/internal/service/user_common/user.go +++ b/internal/service/user_common/user.go @@ -4,7 +4,6 @@ import ( "context" "encoding/hex" "math/rand" - "regexp" "strings" "github.com/Chain-Zhang/pinyin" @@ -120,9 +119,7 @@ func (us *UserCommon) MakeUsername(ctx context.Context, displayName string) (use username = strings.ToLower(username) suffix := "" - re := regexp.MustCompile(`^[a-z0-9._-]{4,30}$`) - match := re.MatchString(username) - if !match { + if checker.IsInvalidUsername(username) { return "", errors.BadRequest(reason.UsernameInvalid) } diff --git a/pkg/checker/username.go b/pkg/checker/username.go new file mode 100644 index 00000000..0225ec0b --- /dev/null +++ b/pkg/checker/username.go @@ -0,0 +1,11 @@ +package checker + +import "regexp" + +var ( + usernameReg = regexp.MustCompile(`^[a-z0-9._-]{4,30}$`) +) + +func IsInvalidUsername(username string) bool { + return !usernameReg.MatchString(username) +} From 92a82e16733cb993e20829cd71349c46eba722ea Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Sat, 28 Jan 2023 16:53:12 +0800 Subject: [PATCH 13/70] feat(comment): Add comment modification time limit condition --- i18n/en_US.yaml | 2 ++ internal/base/constant/comment.go | 7 ++++++ internal/base/reason/reason.go | 1 + internal/controller/comment_controller.go | 1 + internal/schema/comment_schema.go | 3 ++- internal/service/comment/comment_service.go | 23 +++++++++++++++---- .../service/permission/comment_permission.go | 9 +++++--- 7 files changed, 38 insertions(+), 8 deletions(-) create mode 100644 internal/base/constant/comment.go diff --git a/i18n/en_US.yaml b/i18n/en_US.yaml index e0e16aa0..38ee5422 100644 --- a/i18n/en_US.yaml +++ b/i18n/en_US.yaml @@ -52,6 +52,8 @@ backend: other: "Comment are not allowed to edit." not_found: other: "Comment not found." + cannot_edit_after_deadline: + other: "The comment time has been too long to modify." email: duplicate: other: "Email already exists." diff --git a/internal/base/constant/comment.go b/internal/base/constant/comment.go new file mode 100644 index 00000000..6a0c7137 --- /dev/null +++ b/internal/base/constant/comment.go @@ -0,0 +1,7 @@ +package constant + +import "time" + +const ( + CommentEditDeadline = time.Minute * 5 +) diff --git a/internal/base/reason/reason.go b/internal/base/reason/reason.go index 9d2880e0..af4b5b71 100644 --- a/internal/base/reason/reason.go +++ b/internal/base/reason/reason.go @@ -16,6 +16,7 @@ const ( const ( EmailOrPasswordWrong = "error.object.email_or_password_incorrect" CommentNotFound = "error.comment.not_found" + CommentCannotEditAfterDeadline = "error.comment.cannot_edit_after_deadline" QuestionNotFound = "error.question.not_found" QuestionCannotDeleted = "error.question.cannot_deleted" QuestionCannotClose = "error.question.cannot_close" diff --git a/internal/controller/comment_controller.go b/internal/controller/comment_controller.go index eb025139..79ed9681 100644 --- a/internal/controller/comment_controller.go +++ b/internal/controller/comment_controller.go @@ -111,6 +111,7 @@ func (cc *CommentController) UpdateComment(ctx *gin.Context) { } req.UserID = middleware.GetLoginUserIDFromContext(ctx) + req.IsAdmin = middleware.GetIsAdminFromContext(ctx) can, err := cc.rankService.CheckOperationPermission(ctx, req.UserID, permission.CommentEdit, req.CommentID) if err != nil { handler.HandleResponse(ctx, err, nil) diff --git a/internal/schema/comment_schema.go b/internal/schema/comment_schema.go index 05b3e18a..a6b893ba 100644 --- a/internal/schema/comment_schema.go +++ b/internal/schema/comment_schema.go @@ -51,7 +51,8 @@ type UpdateCommentReq struct { // parsed comment content ParsedText string `validate:"omitempty" json:"parsed_text"` // user id - UserID string `json:"-"` + UserID string `json:"-"` + IsAdmin bool `json:"-"` } func (req *UpdateCommentReq) Check() (errFields []*validator.FormErrorField, err error) { diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index 92d9a194..b308a808 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -134,7 +134,8 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment resp = &schema.GetCommentResp{} resp.SetFromComment(comment) - resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, req.CanEdit, req.CanDelete) + resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, + time.Now(), req.CanEdit, req.CanDelete) // get reply user info if len(resp.ReplyUserID) > 0 { @@ -185,6 +186,19 @@ func (cs *CommentService) RemoveComment(ctx context.Context, req *schema.RemoveC // UpdateComment update comment func (cs *CommentService) UpdateComment(ctx context.Context, req *schema.UpdateCommentReq) (err error) { + old, exist, err := cs.commentCommonRepo.GetComment(ctx, req.CommentID) + if err != nil { + return + } + if !exist { + return errors.BadRequest(reason.CommentNotFound) + } + + // user can edit the comment that was posted by himself before deadline. + if !req.IsAdmin && (time.Now().After(old.CreatedAt.Add(constant.CommentEditDeadline))) { + return errors.BadRequest(reason.CommentCannotEditAfterDeadline) + } + comment := &entity.Comment{} _ = copier.Copy(comment, req) comment.ID = req.CommentID @@ -198,7 +212,7 @@ func (cs *CommentService) GetComment(ctx context.Context, req *schema.GetComment return } if !exist { - return nil, errors.BadRequest(reason.UnknownError) + return nil, errors.BadRequest(reason.CommentNotFound) } resp = &schema.GetCommentResp{ @@ -243,7 +257,8 @@ func (cs *CommentService) GetComment(ctx context.Context, req *schema.GetComment // check if current user vote this comment resp.IsVote = cs.checkIsVote(ctx, req.UserID, resp.CommentID) - resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, req.CanEdit, req.CanDelete) + resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, + comment.CreatedAt, req.CanEdit, req.CanDelete) return resp, nil } @@ -339,7 +354,7 @@ func (cs *CommentService) convertCommentEntity2Resp(ctx context.Context, req *sc commentResp.IsVote = cs.checkIsVote(ctx, req.UserID, commentResp.CommentID) commentResp.MemberActions = permission.GetCommentPermission(ctx, - req.UserID, commentResp.UserID, req.CanEdit, req.CanDelete) + req.UserID, commentResp.UserID, comment.CreatedAt, req.CanEdit, req.CanDelete) return commentResp, nil } diff --git a/internal/service/permission/comment_permission.go b/internal/service/permission/comment_permission.go index 026b885a..7f8839ae 100644 --- a/internal/service/permission/comment_permission.go +++ b/internal/service/permission/comment_permission.go @@ -2,13 +2,15 @@ package permission import ( "context" + "time" + "github.com/answerdev/answer/internal/base/constant" "github.com/answerdev/answer/internal/schema" ) // GetCommentPermission get comment permission -func GetCommentPermission(ctx context.Context, userID string, creatorUserID string, canEdit, canDelete bool) ( - actions []*schema.PermissionMemberAction) { +func GetCommentPermission(ctx context.Context, userID string, creatorUserID string, + createdAt time.Time, canEdit, canDelete bool) (actions []*schema.PermissionMemberAction) { actions = make([]*schema.PermissionMemberAction, 0) if len(userID) > 0 { actions = append(actions, &schema.PermissionMemberAction{ @@ -17,7 +19,8 @@ func GetCommentPermission(ctx context.Context, userID string, creatorUserID stri Type: "reason", }) } - if canEdit || userID == creatorUserID { + deadline := createdAt.Add(constant.CommentEditDeadline) + if canEdit || (userID == creatorUserID && time.Now().Before(deadline)) { actions = append(actions, &schema.PermissionMemberAction{ Action: "edit", Name: "Edit", From aeddf79da25f071be554a467046cd5fe90c530f9 Mon Sep 17 00:00:00 2001 From: mingcheng Date: Sun, 29 Jan 2023 15:58:34 +0800 Subject: [PATCH 14/70] optimize: update makefile for newer version of golang sdk. --- Makefile | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/Makefile b/Makefile index d5c46a40..239f3848 100644 --- a/Makefile +++ b/Makefile @@ -5,26 +5,26 @@ BIN=answer DIR_SRC=./cmd/answer DOCKER_CMD=docker -#GO_ENV=CGO_ENABLED=0 +GO_ENV=CGO_ENABLED=0 Revision=$(shell git rev-parse --short HEAD) GO_FLAGS=-ldflags="-X main.Version=$(VERSION) -X 'main.Revision=$(Revision)' -X 'main.Time=`date`' -extldflags -static" GO=$(GO_ENV) $(shell which go) -build: - @$(GO_ENV) $(GO) build $(GO_FLAGS) -o $(BIN) $(DIR_SRC) +build: generate + @$(GO) build $(GO_FLAGS) -o $(BIN) $(DIR_SRC) # https://dev.to/thewraven/universal-macos-binaries-with-go-1-16-3mm3 -universal: +universal: generate @GOOS=darwin GOARCH=amd64 $(GO_ENV) $(GO) build $(GO_FLAGS) -o ${BIN}_amd64 $(DIR_SRC) @GOOS=darwin GOARCH=arm64 $(GO_ENV) $(GO) build $(GO_FLAGS) -o ${BIN}_arm64 $(DIR_SRC) @lipo -create -output ${BIN} ${BIN}_amd64 ${BIN}_arm64 @rm -f ${BIN}_amd64 ${BIN}_arm64 generate: - go get github.com/google/wire/cmd/wire@latest - go install github.com/golang/mock/mockgen@v1.6.0 - go generate ./... - go mod tidy + @$(GO) get github.com/google/wire/cmd/wire@latest + @$(GO) install github.com/golang/mock/mockgen@v1.6.0 + @$(GO) generate ./... + @$(GO) mod tidy test: @$(GO) test ./internal/repo/repo_test From 198d293f0ca501b7b87c1ca1308919c0db2c8288 Mon Sep 17 00:00:00 2001 From: mingcheng Date: Sun, 29 Jan 2023 16:08:54 +0800 Subject: [PATCH 15/70] optimize: update makefile for newer version of golang sdk. --- Makefile | 6 +++--- go.mod | 2 +- go.sum | 8 +++++++- 3 files changed, 11 insertions(+), 5 deletions(-) diff --git a/Makefile b/Makefile index 239f3848..90ce5bc1 100644 --- a/Makefile +++ b/Makefile @@ -5,7 +5,7 @@ BIN=answer DIR_SRC=./cmd/answer DOCKER_CMD=docker -GO_ENV=CGO_ENABLED=0 +GO_ENV=CGO_ENABLED=0 GO111MODULE=on Revision=$(shell git rev-parse --short HEAD) GO_FLAGS=-ldflags="-X main.Version=$(VERSION) -X 'main.Revision=$(Revision)' -X 'main.Time=`date`' -extldflags -static" GO=$(GO_ENV) $(shell which go) @@ -21,8 +21,8 @@ universal: generate @rm -f ${BIN}_amd64 ${BIN}_arm64 generate: - @$(GO) get github.com/google/wire/cmd/wire@latest - @$(GO) install github.com/golang/mock/mockgen@v1.6.0 + @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) get github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... @$(GO) mod tidy diff --git a/go.mod b/go.mod index 5269868c..bdc7f914 100644 --- a/go.mod +++ b/go.mod @@ -14,7 +14,7 @@ require ( github.com/go-playground/validator/v10 v10.11.1 github.com/go-sql-driver/mysql v1.6.0 github.com/goccy/go-json v0.9.11 - github.com/golang/mock v1.4.4 + github.com/golang/mock v1.6.0 github.com/google/uuid v1.3.0 github.com/google/wire v0.5.0 github.com/gosimple/slug v1.13.1 diff --git a/go.sum b/go.sum index ba0a6be2..52b6bbe2 100644 --- a/go.sum +++ b/go.sum @@ -238,8 +238,9 @@ github.com/golang/mock v1.3.1/go.mod h1:sBzyDLLjw3U8JLTeZvSv8jJB+tU5PVekmnlKIyFU github.com/golang/mock v1.4.0/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.1/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= github.com/golang/mock v1.4.3/go.mod h1:UOMv5ysSaYNkG+OFQykRIcU/QvvxJf3p21QfJ2Bt3cw= -github.com/golang/mock v1.4.4 h1:l75CXGRSwbaYNpl/Z2X1XIIAMSCquvXgpVZDhwEIJsc= github.com/golang/mock v1.4.4/go.mod h1:l3mdAwkq5BuhzHwde/uurv3sEJeZMXNpwsxVWU71h+4= +github.com/golang/mock v1.6.0 h1:ErTB+efbowRARo13NNdxyJji2egdxLGQhRaY+DUumQc= +github.com/golang/mock v1.6.0/go.mod h1:p6yTPP+5HYm5mzsMV8JkE6ZKdX+/wYM6Hr+LicevLPs= github.com/golang/protobuf v1.2.0/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.1/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= github.com/golang/protobuf v1.3.2/go.mod h1:6lQm79b+lXiMfvg/cZm0SGofjICqVBUtrP5yJMmIC1U= @@ -697,6 +698,7 @@ github.com/yuin/goldmark v1.1.25/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= +github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13 h1:fVcFKWvrslecOb/tg+Cc05dkeYx540o0FuFt3nUVDoE= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= @@ -834,6 +836,7 @@ golang.org/x/net v0.0.0-20201031054903-ff519b6c9102/go.mod h1:sp8m0HH+o8qH0wwXwY golang.org/x/net v0.0.0-20201209123823-ac852fbbde11/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20201224014010-6772e930b67b/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= +golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -914,9 +917,11 @@ golang.org/x/sys v0.0.0-20210104204734-6f8348627aad/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= +golang.org/x/sys v0.0.0-20210510120138-977fb7262007/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210806184541-e5e7981a1069/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1011,6 +1016,7 @@ golang.org/x/tools v0.0.0-20210105154028-b0ab187a4818/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= +golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.2.0 h1:G6AHpWxTMGY1KyEYoAQ5WTtIekUUvDNjan3ugu60JvE= From b361bbb4862db507e70d6b9ad2c3e0219bc69359 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Sun, 29 Jan 2023 16:11:39 +0800 Subject: [PATCH 16/70] fix(question): rename question created_at --- internal/schema/question_schema.go | 3 ++- internal/service/question_common/question.go | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/schema/question_schema.go b/internal/schema/question_schema.go index 4d4bda23..eca9c03b 100644 --- a/internal/schema/question_schema.go +++ b/internal/schema/question_schema.go @@ -219,7 +219,7 @@ type UserQuestionInfo struct { ViewCount int `json:"view_count"` AnswerCount int `json:"answer_count"` CollectionCount int `json:"collection_count"` - CreateTime int `json:"create_time"` + CreatedAt int64 `json:"created_at"` AcceptedAnswerID string `json:"accepted_answer_id"` Status string `json:"status"` } @@ -253,6 +253,7 @@ const ( type QuestionPageResp struct { ID string `json:"id" ` + CreatedAt int64 `json:"created_at"` Title string `json:"title"` UrlTitle string `json:"url_title"` Description string `json:"description"` diff --git a/internal/service/question_common/question.go b/internal/service/question_common/question.go index deafa5b1..43be1b78 100644 --- a/internal/service/question_common/question.go +++ b/internal/service/question_common/question.go @@ -254,6 +254,7 @@ func (qs *QuestionCommon) FormatQuestionsPage( for _, questionInfo := range questionList { t := &schema.QuestionPageResp{ ID: questionInfo.ID, + CreatedAt: questionInfo.CreatedAt.Unix(), Title: questionInfo.Title, UrlTitle: htmltext.UrlTitle(questionInfo.Title), Description: htmltext.FetchExcerpt(questionInfo.ParsedText, "...", 240), From 8b861b6fd7af559458de8dfce90712d40130522c Mon Sep 17 00:00:00 2001 From: kumfo Date: Mon, 30 Jan 2023 10:40:12 +0800 Subject: [PATCH 17/70] fix(search_repo): question accept status error --- docs/docs.go | 47 ++++++++++++++++++++++ docs/swagger.json | 47 ++++++++++++++++++++++ docs/swagger.yaml | 29 +++++++++++++ internal/repo/search_common/search_repo.go | 2 +- 4 files changed, 124 insertions(+), 1 deletion(-) diff --git a/docs/docs.go b/docs/docs.go index cce01432..1660ee72 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -2911,6 +2911,45 @@ const docTemplate = `{ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6589,6 +6628,14 @@ const docTemplate = `{ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ diff --git a/docs/swagger.json b/docs/swagger.json index 3503fce7..91ca0f4c 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -2899,6 +2899,45 @@ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6577,6 +6616,14 @@ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ diff --git a/docs/swagger.yaml b/docs/swagger.yaml index b02e9494..232fe850 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -976,6 +976,11 @@ definitions: type: type: string type: object + schema.PostRenderReq: + properties: + content: + type: string + type: object schema.QuestionAdd: properties: content: @@ -3684,6 +3689,30 @@ paths: summary: user's votes tags: - Activity + /answer/api/v1/post/render: + post: + consumes: + - application/json + description: render post content + parameters: + - description: PostRenderReq + in: body + name: data + required: true + schema: + $ref: '#/definitions/schema.PostRenderReq' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handler.RespBody' + security: + - ApiKeyAuth: [] + summary: render post content + tags: + - Upload /answer/api/v1/question: delete: consumes: diff --git a/internal/repo/search_common/search_repo.go b/internal/repo/search_common/search_repo.go index eac0620c..3f47d798 100644 --- a/internal/repo/search_common/search_repo.go +++ b/internal/repo/search_common/search_repo.go @@ -33,7 +33,7 @@ var ( "`user_id`", "`vote_count`", "`answer_count`", - "0 as `accepted`", + "CASE WHEN `accepted_answer_id` >0 THEN 2 ELSE 0 END as `accepted`", "`question`.`status` as `status`", "`post_update_time`", } From 1aacf2802c1078555eb6eb347461ccf69220cf25 Mon Sep 17 00:00:00 2001 From: kumfo Date: Mon, 30 Jan 2023 10:41:33 +0800 Subject: [PATCH 18/70] style(search_repo): sql code style --- internal/repo/search_common/search_repo.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/internal/repo/search_common/search_repo.go b/internal/repo/search_common/search_repo.go index 3f47d798..987fea5c 100644 --- a/internal/repo/search_common/search_repo.go +++ b/internal/repo/search_common/search_repo.go @@ -33,7 +33,7 @@ var ( "`user_id`", "`vote_count`", "`answer_count`", - "CASE WHEN `accepted_answer_id` >0 THEN 2 ELSE 0 END as `accepted`", + "CASE WHEN `accepted_answer_id` > 0 THEN 2 ELSE 0 END as `accepted`", "`question`.`status` as `status`", "`post_update_time`", } From 1ee34b884b905d14d4db457563176b77a974b992 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 30 Jan 2023 15:25:43 +0800 Subject: [PATCH 19/70] update add db session --- docs/docs.go | 5 ---- docs/swagger.json | 5 ---- docs/swagger.yaml | 4 --- internal/repo/collection/collection_repo.go | 28 +++++++++++++++------ 4 files changed, 21 insertions(+), 21 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 1660ee72..f0d447e2 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -7507,11 +7507,6 @@ const docTemplate = `{ "type": "string", "maxLength": 4096 }, - "bio_html": { - "description": "bio", - "type": "string", - "maxLength": 4096 - }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.json b/docs/swagger.json index 91ca0f4c..ec2b0db0 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -7495,11 +7495,6 @@ "type": "string", "maxLength": 4096 }, - "bio_html": { - "description": "bio", - "type": "string", - "maxLength": 4096 - }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 232fe850..8e5ccf5b 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1587,10 +1587,6 @@ definitions: description: bio maxLength: 4096 type: string - bio_html: - description: bio - maxLength: 4096 - type: string display_name: description: display_name maxLength: 30 diff --git a/internal/repo/collection/collection_repo.go b/internal/repo/collection/collection_repo.go index f73c74b7..396398c5 100644 --- a/internal/repo/collection/collection_repo.go +++ b/internal/repo/collection/collection_repo.go @@ -11,6 +11,7 @@ import ( collectioncommon "github.com/answerdev/answer/internal/service/collection_common" "github.com/answerdev/answer/internal/service/unique" "github.com/segmentfault/pacman/errors" + "xorm.io/xorm" ) // collectionRepo collection repository @@ -29,15 +30,28 @@ func NewCollectionRepo(data *data.Data, uniqueIDRepo unique.UniqueIDRepo) collec // AddCollection add collection func (cr *collectionRepo) AddCollection(ctx context.Context, collection *entity.Collection) (err error) { - id, err := cr.uniqueIDRepo.GenUniqueIDStr(ctx, collection.TableName()) - if err == nil { - collection.ID = id - _, err = cr.data.DB.Insert(collection) + _, err = cr.data.DB.Transaction(func(session *xorm.Session) (result any, err error) { + var has bool + dbcollection := &entity.Collection{} + result = nil + has, err = session.Where("user_id = ? and object_id = ?", collection.UserID, collection.ObjectID).Get(dbcollection) if err != nil { - return errors.InternalServer(reason.DatabaseError).WithError(err).WithStack() + return } - } - return nil + if has { + return + } + id, err := cr.uniqueIDRepo.GenUniqueIDStr(ctx, collection.TableName()) + if err == nil { + collection.ID = id + _, err = session.Insert(collection) + if err != nil { + return result, errors.InternalServer(reason.DatabaseError).WithError(err).WithStack() + } + } + return + }) + return err } // RemoveCollection delete collection From 011c992570ef1eccb87112bff80fd828998db3b7 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 30 Jan 2023 15:49:53 +0800 Subject: [PATCH 20/70] add html meta generator --- docs/docs.go | 50 ++++++++++++++++++++++ docs/swagger.json | 50 ++++++++++++++++++++++ docs/swagger.yaml | 31 ++++++++++++++ internal/controller/template_controller.go | 3 ++ ui/template/header.html | 6 +-- 5 files changed, 137 insertions(+), 3 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index cce01432..24693e47 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -2911,6 +2911,45 @@ const docTemplate = `{ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6589,6 +6628,14 @@ const docTemplate = `{ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ @@ -6669,6 +6716,9 @@ const docTemplate = `{ "collection_count": { "type": "integer" }, + "created_at": { + "type": "integer" + }, "description": { "type": "string" }, diff --git a/docs/swagger.json b/docs/swagger.json index 3503fce7..fb2f297b 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -2899,6 +2899,45 @@ } } }, + "/answer/api/v1/post/render": { + "post": { + "security": [ + { + "ApiKeyAuth": [] + } + ], + "description": "render post content", + "consumes": [ + "application/json" + ], + "produces": [ + "application/json" + ], + "tags": [ + "Upload" + ], + "summary": "render post content", + "parameters": [ + { + "description": "PostRenderReq", + "name": "data", + "in": "body", + "required": true, + "schema": { + "$ref": "#/definitions/schema.PostRenderReq" + } + } + ], + "responses": { + "200": { + "description": "OK", + "schema": { + "$ref": "#/definitions/handler.RespBody" + } + } + } + } + }, "/answer/api/v1/question": { "put": { "security": [ @@ -6577,6 +6616,14 @@ } } }, + "schema.PostRenderReq": { + "type": "object", + "properties": { + "content": { + "type": "string" + } + } + }, "schema.QuestionAdd": { "type": "object", "required": [ @@ -6657,6 +6704,9 @@ "collection_count": { "type": "integer" }, + "created_at": { + "type": "integer" + }, "description": { "type": "string" }, diff --git a/docs/swagger.yaml b/docs/swagger.yaml index b02e9494..fef405df 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -976,6 +976,11 @@ definitions: type: type: string type: object + schema.PostRenderReq: + properties: + content: + type: string + type: object schema.QuestionAdd: properties: content: @@ -1036,6 +1041,8 @@ definitions: type: integer collection_count: type: integer + created_at: + type: integer description: type: string follow_count: @@ -3684,6 +3691,30 @@ paths: summary: user's votes tags: - Activity + /answer/api/v1/post/render: + post: + consumes: + - application/json + description: render post content + parameters: + - description: PostRenderReq + in: body + name: data + required: true + schema: + $ref: '#/definitions/schema.PostRenderReq' + produces: + - application/json + responses: + "200": + description: OK + schema: + $ref: '#/definitions/handler.RespBody' + security: + - ApiKeyAuth: [] + summary: render post content + tags: + - Upload /answer/api/v1/question: delete: consumes: diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index c97c81b4..6d7c2410 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -25,6 +25,7 @@ import ( type TemplateController struct { scriptPath string cssPath string + Version string templateRenderController *templaterender.TemplateRenderController siteInfoService *siteinfo_common.SiteInfoCommonService } @@ -38,6 +39,7 @@ func NewTemplateController( return &TemplateController{ scriptPath: script, cssPath: css, + Version: constant.Version, templateRenderController: templateRenderController, siteInfoService: siteInfoService, } @@ -437,6 +439,7 @@ func (tc *TemplateController) html(ctx *gin.Context, code int, tpl string, siteI data["HeadCode"] = siteInfo.CustomCssHtml.CustomHead data["HeaderCode"] = siteInfo.CustomCssHtml.CustomHeader data["FooterCode"] = siteInfo.CustomCssHtml.CustomFooter + data["Version"] = tc.Version _, ok := data["path"] if !ok { data["path"] = "" diff --git a/ui/template/header.html b/ui/template/header.html index 3a12a6a8..5b654c56 100644 --- a/ui/template/header.html +++ b/ui/template/header.html @@ -6,9 +6,9 @@ {{.title}} - {{if .keywords }} - - {{end}} + + {{if .keywords }}{{end}} + From 7d6720309a8e2821b9e90055b3eda3c0cb82581a Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 30 Jan 2023 16:17:43 +0800 Subject: [PATCH 21/70] update html canonical pages --- internal/controller/template_controller.go | 9 +++++++++ ui/build/index.html | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index 6d7c2410..786b81ae 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -141,6 +141,9 @@ func (tc *TemplateController) QuestionList(ctx *gin.Context) { } siteInfo := tc.SiteInfo(ctx) siteInfo.Canonical = fmt.Sprintf("%s/questions", siteInfo.General.SiteUrl) + if page > 1 { + siteInfo.Canonical = fmt.Sprintf("%s/questions?page=%d", siteInfo.General.SiteUrl, page) + } UrlUseTitle := false if siteInfo.SiteSeo.PermaLink == schema.PermaLinkQuestionIDAndTitle { @@ -329,6 +332,9 @@ func (tc *TemplateController) TagList(ctx *gin.Context) { siteInfo := tc.SiteInfo(ctx) siteInfo.Canonical = fmt.Sprintf("%s/tags", siteInfo.General.SiteUrl) + if req.Page > 1 { + siteInfo.Canonical = fmt.Sprintf("%s/tags?page=%d", siteInfo.General.SiteUrl, req.Page) + } siteInfo.Title = fmt.Sprintf("%s - %s", "Tags", siteInfo.General.Name) tc.html(ctx, http.StatusOK, "tags.html", siteInfo, gin.H{ "page": page, @@ -355,6 +361,9 @@ func (tc *TemplateController) TagInfo(ctx *gin.Context) { siteInfo := tc.SiteInfo(ctx) siteInfo.Canonical = fmt.Sprintf("%s/tags/%s", siteInfo.General.SiteUrl, tag) + if req.Page > 1 { + siteInfo.Canonical = fmt.Sprintf("%s/tags/%s?page=%d", siteInfo.General.SiteUrl, tag, req.Page) + } siteInfo.Description = htmltext.FetchExcerpt(taginifo.ParsedText, "...", 240) if len(taginifo.ParsedText) == 0 { siteInfo.Description = "The tag has no description." diff --git a/ui/build/index.html b/ui/build/index.html index f7ae498a..b984d56d 100644 --- a/ui/build/index.html +++ b/ui/build/index.html @@ -1 +1 @@ -
\ No newline at end of file +
\ No newline at end of file From 782eb7a452cd28d2142c7ab2307b2f198d5b64ef Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 30 Jan 2023 16:45:40 +0800 Subject: [PATCH 22/70] update html canonical --- docs/docs.go | 5 ----- docs/swagger.json | 5 ----- docs/swagger.yaml | 4 ---- internal/controller/template_controller.go | 4 +--- 4 files changed, 1 insertion(+), 17 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 24693e47..75d0a49d 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -7510,11 +7510,6 @@ const docTemplate = `{ "type": "string", "maxLength": 4096 }, - "bio_html": { - "description": "bio", - "type": "string", - "maxLength": 4096 - }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.json b/docs/swagger.json index fb2f297b..899de45a 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -7498,11 +7498,6 @@ "type": "string", "maxLength": 4096 }, - "bio_html": { - "description": "bio", - "type": "string", - "maxLength": 4096 - }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index fef405df..aed8b3ea 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1589,10 +1589,6 @@ definitions: description: bio maxLength: 4096 type: string - bio_html: - description: bio - maxLength: 4096 - type: string display_name: description: display_name maxLength: 30 diff --git a/internal/controller/template_controller.go b/internal/controller/template_controller.go index 786b81ae..894b4930 100644 --- a/internal/controller/template_controller.go +++ b/internal/controller/template_controller.go @@ -25,7 +25,6 @@ import ( type TemplateController struct { scriptPath string cssPath string - Version string templateRenderController *templaterender.TemplateRenderController siteInfoService *siteinfo_common.SiteInfoCommonService } @@ -39,7 +38,6 @@ func NewTemplateController( return &TemplateController{ scriptPath: script, cssPath: css, - Version: constant.Version, templateRenderController: templateRenderController, siteInfoService: siteInfoService, } @@ -448,7 +446,7 @@ func (tc *TemplateController) html(ctx *gin.Context, code int, tpl string, siteI data["HeadCode"] = siteInfo.CustomCssHtml.CustomHead data["HeaderCode"] = siteInfo.CustomCssHtml.CustomHeader data["FooterCode"] = siteInfo.CustomCssHtml.CustomFooter - data["Version"] = tc.Version + data["Version"] = constant.Version _, ok := data["path"] if !ok { data["path"] = "" From 00e4f2c9dec913067ed5e996390479d9e8fc6dbb Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Mon, 30 Jan 2023 17:07:38 +0800 Subject: [PATCH 23/70] fix(comment): do not send notification when reply myself --- internal/service/comment/comment_service.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index b308a808..cb45c7d1 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -138,7 +138,7 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment time.Now(), req.CanEdit, req.CanDelete) // get reply user info - if len(resp.ReplyUserID) > 0 { + if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) if err != nil { return nil, err @@ -148,7 +148,7 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment resp.ReplyUserDisplayName = replyUser.DisplayName resp.ReplyUserStatus = replyUser.Status } - cs.notificationCommentReply(ctx, replyUser.ID, objInfo.QuestionID, req.UserID) + cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) } // get user info From 21a354fb22c6b2a6a4588360ddfd36a1305302ad Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Mon, 30 Jan 2023 17:07:38 +0800 Subject: [PATCH 24/70] fix(comment): do not send notification when reply myself --- internal/service/comment/comment_service.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index b308a808..cb45c7d1 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -138,7 +138,7 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment time.Now(), req.CanEdit, req.CanDelete) // get reply user info - if len(resp.ReplyUserID) > 0 { + if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) if err != nil { return nil, err @@ -148,7 +148,7 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment resp.ReplyUserDisplayName = replyUser.DisplayName resp.ReplyUserStatus = replyUser.Status } - cs.notificationCommentReply(ctx, replyUser.ID, objInfo.QuestionID, req.UserID) + cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) } // get user info From c1fa2b13f6b547b96da60b23350bbe2b29de542d Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 31 Jan 2023 10:04:52 +0800 Subject: [PATCH 25/70] fix RetrievePassWord code --- internal/controller/user_controller.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/controller/user_controller.go b/internal/controller/user_controller.go index 909581cc..c2cf25bf 100644 --- a/internal/controller/user_controller.go +++ b/internal/controller/user_controller.go @@ -157,8 +157,8 @@ func (uc *UserController) RetrievePassWord(ctx *gin.Context) { return } _, _ = uc.actionService.ActionRecordAdd(ctx, schema.ActionRecordTypeFindPass, ctx.ClientIP()) - code, err := uc.userService.RetrievePassWord(ctx, req) - handler.HandleResponse(ctx, err, code) + _, err := uc.userService.RetrievePassWord(ctx, req) + handler.HandleResponse(ctx, err, nil) } // UseRePassWord godoc From b56d7cdad043643747d5e293e42587fd26e4f304 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Tue, 31 Jan 2023 11:44:29 +0800 Subject: [PATCH 26/70] feat(comment): Notification of comments based on different priorities --- internal/service/comment/comment_service.go | 78 ++++++++++++++------- 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index cb45c7d1..18b755ab 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -121,34 +121,14 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment return nil, err } - if objInfo.ObjectType == constant.QuestionObjectType { - cs.notificationQuestionComment(ctx, objInfo.ObjectCreatorUserID, - objInfo.QuestionID, objInfo.Title, comment.ID, req.UserID, comment.OriginalText) - } else if objInfo.ObjectType == constant.AnswerObjectType { - cs.notificationAnswerComment(ctx, objInfo.QuestionID, objInfo.Title, objInfo.AnswerID, - objInfo.ObjectCreatorUserID, comment.ID, req.UserID, comment.OriginalText) - } - if len(req.MentionUsernameList) > 0 { - cs.notificationMention(ctx, req.MentionUsernameList, comment.ID, req.UserID) - } - resp = &schema.GetCommentResp{} resp.SetFromComment(comment) resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, time.Now(), req.CanEdit, req.CanDelete) - // get reply user info - if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { - replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) - if err != nil { - return nil, err - } - if exist { - resp.ReplyUsername = replyUser.Username - resp.ReplyUserDisplayName = replyUser.DisplayName - resp.ReplyUserStatus = replyUser.Status - } - cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) + commentResp, err := cs.addCommentNotification(ctx, req, resp, comment, objInfo) + if err != nil { + return commentResp, err } // get user info @@ -179,6 +159,50 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment return resp, nil } +func (cs *CommentService) addCommentNotification( + ctx context.Context, req *schema.AddCommentReq, resp *schema.GetCommentResp, + comment *entity.Comment, objInfo *schema.SimpleObjectInfo) (*schema.GetCommentResp, error) { + // The priority of the notification + // 1. reply to user + // 2. comment mention to user + // 3. answer or question was commented + alreadyNotifiedUserID := make(map[string]bool) + + // get reply user info + if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { + replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) + if err != nil { + return nil, err + } + if exist { + resp.ReplyUsername = replyUser.Username + resp.ReplyUserDisplayName = replyUser.DisplayName + resp.ReplyUserStatus = replyUser.Status + } + cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) + alreadyNotifiedUserID[replyUser.ID] = true + return nil, nil + } + + if len(req.MentionUsernameList) > 0 { + alreadyNotifiedUserIDs := cs.notificationMention( + ctx, req.MentionUsernameList, comment.ID, req.UserID, alreadyNotifiedUserID) + for _, userID := range alreadyNotifiedUserIDs { + alreadyNotifiedUserID[userID] = true + } + return nil, nil + } + + if objInfo.ObjectType == constant.QuestionObjectType && !alreadyNotifiedUserID[objInfo.ObjectCreatorUserID] { + cs.notificationQuestionComment(ctx, objInfo.ObjectCreatorUserID, + objInfo.QuestionID, objInfo.Title, comment.ID, req.UserID, comment.OriginalText) + } else if objInfo.ObjectType == constant.AnswerObjectType && !alreadyNotifiedUserID[objInfo.ObjectCreatorUserID] { + cs.notificationAnswerComment(ctx, objInfo.QuestionID, objInfo.Title, objInfo.AnswerID, + objInfo.ObjectCreatorUserID, comment.ID, req.UserID, comment.OriginalText) + } + return nil, nil +} + // RemoveComment delete comment func (cs *CommentService) RemoveComment(ctx context.Context, req *schema.RemoveCommentReq) (err error) { return cs.commentRepo.RemoveComment(ctx, req.CommentID) @@ -536,14 +560,16 @@ func (cs *CommentService) notificationCommentReply(ctx context.Context, replyUse notice_queue.AddNotification(msg) } -func (cs *CommentService) notificationMention(ctx context.Context, mentionUsernameList []string, commentID, commentUserID string) { +func (cs *CommentService) notificationMention( + ctx context.Context, mentionUsernameList []string, commentID, commentUserID string, + alreadyNotifiedUserID map[string]bool) (alreadyNotifiedUserIDs []string) { for _, username := range mentionUsernameList { userInfo, exist, err := cs.userCommon.GetUserBasicInfoByUserName(ctx, username) if err != nil { log.Error(err) continue } - if exist { + if exist && !alreadyNotifiedUserID[userInfo.ID] { msg := &schema.NotificationMsg{ ReceiverUserID: userInfo.ID, TriggerUserID: commentUserID, @@ -553,6 +579,8 @@ func (cs *CommentService) notificationMention(ctx context.Context, mentionUserna msg.ObjectType = constant.CommentObjectType msg.NotificationAction = constant.MentionYou notice_queue.AddNotification(msg) + alreadyNotifiedUserIDs = append(alreadyNotifiedUserIDs, userInfo.ID) } } + return alreadyNotifiedUserIDs } From 483c51bab84a6c75eb7eb76bb701d332d379a4dc Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Tue, 31 Jan 2023 11:44:29 +0800 Subject: [PATCH 27/70] feat(comment): Notification of comments based on different priorities --- internal/service/comment/comment_service.go | 78 ++++++++++++++------- 1 file changed, 53 insertions(+), 25 deletions(-) diff --git a/internal/service/comment/comment_service.go b/internal/service/comment/comment_service.go index cb45c7d1..18b755ab 100644 --- a/internal/service/comment/comment_service.go +++ b/internal/service/comment/comment_service.go @@ -121,34 +121,14 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment return nil, err } - if objInfo.ObjectType == constant.QuestionObjectType { - cs.notificationQuestionComment(ctx, objInfo.ObjectCreatorUserID, - objInfo.QuestionID, objInfo.Title, comment.ID, req.UserID, comment.OriginalText) - } else if objInfo.ObjectType == constant.AnswerObjectType { - cs.notificationAnswerComment(ctx, objInfo.QuestionID, objInfo.Title, objInfo.AnswerID, - objInfo.ObjectCreatorUserID, comment.ID, req.UserID, comment.OriginalText) - } - if len(req.MentionUsernameList) > 0 { - cs.notificationMention(ctx, req.MentionUsernameList, comment.ID, req.UserID) - } - resp = &schema.GetCommentResp{} resp.SetFromComment(comment) resp.MemberActions = permission.GetCommentPermission(ctx, req.UserID, resp.UserID, time.Now(), req.CanEdit, req.CanDelete) - // get reply user info - if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { - replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) - if err != nil { - return nil, err - } - if exist { - resp.ReplyUsername = replyUser.Username - resp.ReplyUserDisplayName = replyUser.DisplayName - resp.ReplyUserStatus = replyUser.Status - } - cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) + commentResp, err := cs.addCommentNotification(ctx, req, resp, comment, objInfo) + if err != nil { + return commentResp, err } // get user info @@ -179,6 +159,50 @@ func (cs *CommentService) AddComment(ctx context.Context, req *schema.AddComment return resp, nil } +func (cs *CommentService) addCommentNotification( + ctx context.Context, req *schema.AddCommentReq, resp *schema.GetCommentResp, + comment *entity.Comment, objInfo *schema.SimpleObjectInfo) (*schema.GetCommentResp, error) { + // The priority of the notification + // 1. reply to user + // 2. comment mention to user + // 3. answer or question was commented + alreadyNotifiedUserID := make(map[string]bool) + + // get reply user info + if len(resp.ReplyUserID) > 0 && resp.ReplyUserID != req.UserID { + replyUser, exist, err := cs.userCommon.GetUserBasicInfoByID(ctx, resp.ReplyUserID) + if err != nil { + return nil, err + } + if exist { + resp.ReplyUsername = replyUser.Username + resp.ReplyUserDisplayName = replyUser.DisplayName + resp.ReplyUserStatus = replyUser.Status + } + cs.notificationCommentReply(ctx, replyUser.ID, comment.ID, req.UserID) + alreadyNotifiedUserID[replyUser.ID] = true + return nil, nil + } + + if len(req.MentionUsernameList) > 0 { + alreadyNotifiedUserIDs := cs.notificationMention( + ctx, req.MentionUsernameList, comment.ID, req.UserID, alreadyNotifiedUserID) + for _, userID := range alreadyNotifiedUserIDs { + alreadyNotifiedUserID[userID] = true + } + return nil, nil + } + + if objInfo.ObjectType == constant.QuestionObjectType && !alreadyNotifiedUserID[objInfo.ObjectCreatorUserID] { + cs.notificationQuestionComment(ctx, objInfo.ObjectCreatorUserID, + objInfo.QuestionID, objInfo.Title, comment.ID, req.UserID, comment.OriginalText) + } else if objInfo.ObjectType == constant.AnswerObjectType && !alreadyNotifiedUserID[objInfo.ObjectCreatorUserID] { + cs.notificationAnswerComment(ctx, objInfo.QuestionID, objInfo.Title, objInfo.AnswerID, + objInfo.ObjectCreatorUserID, comment.ID, req.UserID, comment.OriginalText) + } + return nil, nil +} + // RemoveComment delete comment func (cs *CommentService) RemoveComment(ctx context.Context, req *schema.RemoveCommentReq) (err error) { return cs.commentRepo.RemoveComment(ctx, req.CommentID) @@ -536,14 +560,16 @@ func (cs *CommentService) notificationCommentReply(ctx context.Context, replyUse notice_queue.AddNotification(msg) } -func (cs *CommentService) notificationMention(ctx context.Context, mentionUsernameList []string, commentID, commentUserID string) { +func (cs *CommentService) notificationMention( + ctx context.Context, mentionUsernameList []string, commentID, commentUserID string, + alreadyNotifiedUserID map[string]bool) (alreadyNotifiedUserIDs []string) { for _, username := range mentionUsernameList { userInfo, exist, err := cs.userCommon.GetUserBasicInfoByUserName(ctx, username) if err != nil { log.Error(err) continue } - if exist { + if exist && !alreadyNotifiedUserID[userInfo.ID] { msg := &schema.NotificationMsg{ ReceiverUserID: userInfo.ID, TriggerUserID: commentUserID, @@ -553,6 +579,8 @@ func (cs *CommentService) notificationMention(ctx context.Context, mentionUserna msg.ObjectType = constant.CommentObjectType msg.NotificationAction = constant.MentionYou notice_queue.AddNotification(msg) + alreadyNotifiedUserIDs = append(alreadyNotifiedUserIDs, userInfo.ID) } } + return alreadyNotifiedUserIDs } From 2c366b865f402918fbb2b6b9a2d2be79982d4884 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 31 Jan 2023 12:02:51 +0800 Subject: [PATCH 28/70] update markdown url --- docs/docs.go | 5 +++++ docs/swagger.json | 5 +++++ docs/swagger.yaml | 4 ++++ go.mod | 1 + go.sum | 2 ++ pkg/converter/markdown.go | 30 ++++++++++++++++++++++++++++++ 6 files changed, 47 insertions(+) diff --git a/docs/docs.go b/docs/docs.go index 75d0a49d..24693e47 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -7510,6 +7510,11 @@ const docTemplate = `{ "type": "string", "maxLength": 4096 }, + "bio_html": { + "description": "bio", + "type": "string", + "maxLength": 4096 + }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.json b/docs/swagger.json index 899de45a..fb2f297b 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -7498,6 +7498,11 @@ "type": "string", "maxLength": 4096 }, + "bio_html": { + "description": "bio", + "type": "string", + "maxLength": 4096 + }, "display_name": { "description": "display_name", "type": "string", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index aed8b3ea..fef405df 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -1589,6 +1589,10 @@ definitions: description: bio maxLength: 4096 type: string + bio_html: + description: bio + maxLength: 4096 + type: string display_name: description: display_name maxLength: 30 diff --git a/go.mod b/go.mod index 33c4a499..7c7aac21 100644 --- a/go.mod +++ b/go.mod @@ -55,6 +55,7 @@ require ( github.com/Microsoft/go-winio v0.5.2 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/andybalholm/brotli v1.0.4 // indirect + github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/containerd/continuity v0.3.0 // indirect diff --git a/go.sum b/go.sum index a808586a..2d51e7be 100644 --- a/go.sum +++ b/go.sum @@ -79,6 +79,8 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/aryann/difflib v0.0.0-20170710044230-e206f873d14a/go.mod h1:DAHtR1m6lCRdSC2Tm3DSWRPvIPr6xNKyeHdqDQSQT+A= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= +github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/aws/aws-lambda-go v1.13.3/go.mod h1:4UKl9IzQMoD+QF79YdCuzCwp8VbmG4VAQwij/eHl5CU= github.com/aws/aws-sdk-go v1.27.0/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpiN924inxo= github.com/aws/aws-sdk-go-v2 v0.18.0/go.mod h1:JWVYvqSMppoMJC0x5wdwiImzgXTI9FuZwxzkQq9wy+g= diff --git a/pkg/converter/markdown.go b/pkg/converter/markdown.go index d302c1be..4f4a3c41 100644 --- a/pkg/converter/markdown.go +++ b/pkg/converter/markdown.go @@ -3,6 +3,7 @@ package converter import ( "bytes" + "github.com/asaskevich/govalidator" "github.com/microcosm-cc/bluemonday" "github.com/segmentfault/pacman/log" "github.com/yuin/goldmark" @@ -10,6 +11,7 @@ import ( "github.com/yuin/goldmark/extension" "github.com/yuin/goldmark/parser" "github.com/yuin/goldmark/renderer" + "github.com/yuin/goldmark/renderer/html" goldmarkHTML "github.com/yuin/goldmark/renderer/html" "github.com/yuin/goldmark/util" ) @@ -54,6 +56,7 @@ type DangerousHTMLRenderer struct { func (r *DangerousHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegisterer) { reg.Register(ast.KindHTMLBlock, r.renderHTMLBlock) reg.Register(ast.KindRawHTML, r.renderRawHTML) + reg.Register(ast.KindLink, r.renderLink) } func (r *DangerousHTMLRenderer) renderRawHTML(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { @@ -85,3 +88,30 @@ func (r *DangerousHTMLRenderer) renderHTMLBlock(w util.BufWriter, source []byte, } return ast.WalkContinue, nil } + +func (r *DangerousHTMLRenderer) renderLink(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { + n := node.(*ast.Link) + if entering && r.renderLinkIsUrl(string(n.Destination)) { + _, _ = w.WriteString("') + } else { + _, _ = w.WriteString("") + } + return ast.WalkContinue, nil +} + +func (r *DangerousHTMLRenderer) renderLinkIsUrl(verifyUrl string) bool { + return govalidator.IsURL(verifyUrl) +} From 2395503ad82697c37e0a15b5bd1ff39ca41084a3 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 31 Jan 2023 15:13:50 +0800 Subject: [PATCH 29/70] update answer content --- docs/docs.go | 14 ++++++++++++-- docs/swagger.json | 14 ++++++++++++-- docs/swagger.yaml | 8 ++++++++ internal/schema/answer_schema.go | 22 +++++++++++----------- 4 files changed, 43 insertions(+), 15 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index 24693e47..14a36c1e 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -5574,10 +5574,15 @@ const docTemplate = `{ }, "schema.AnswerAddReq": { "type": "object", + "required": [ + "content" + ], "properties": { "content": { "description": "content", - "type": "string" + "type": "string", + "maxLength": 65535, + "minLength": 6 }, "html": { "description": "html", @@ -5591,10 +5596,15 @@ const docTemplate = `{ }, "schema.AnswerUpdateReq": { "type": "object", + "required": [ + "content" + ], "properties": { "content": { "description": "content", - "type": "string" + "type": "string", + "maxLength": 65535, + "minLength": 6 }, "edit_summary": { "description": "edit_summary", diff --git a/docs/swagger.json b/docs/swagger.json index fb2f297b..55e01da1 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -5562,10 +5562,15 @@ }, "schema.AnswerAddReq": { "type": "object", + "required": [ + "content" + ], "properties": { "content": { "description": "content", - "type": "string" + "type": "string", + "maxLength": 65535, + "minLength": 6 }, "html": { "description": "html", @@ -5579,10 +5584,15 @@ }, "schema.AnswerUpdateReq": { "type": "object", + "required": [ + "content" + ], "properties": { "content": { "description": "content", - "type": "string" + "type": "string", + "maxLength": 65535, + "minLength": 6 }, "edit_summary": { "description": "edit_summary", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index fef405df..2dd68b72 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -218,6 +218,8 @@ definitions: properties: content: description: content + maxLength: 65535 + minLength: 6 type: string html: description: html @@ -225,11 +227,15 @@ definitions: question_id: description: question_id type: string + required: + - content type: object schema.AnswerUpdateReq: properties: content: description: content + maxLength: 65535 + minLength: 6 type: string edit_summary: description: edit_summary @@ -246,6 +252,8 @@ definitions: title: description: title type: string + required: + - content type: object schema.AvatarInfo: properties: diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go index 724d9af9..34383eb4 100644 --- a/internal/schema/answer_schema.go +++ b/internal/schema/answer_schema.go @@ -20,10 +20,10 @@ const ( ) type AnswerAddReq struct { - QuestionID string `json:"question_id" ` // question_id - Content string `json:"content" ` // content - HTML string `json:"html" ` // html - UserID string `json:"-" ` // user_id + QuestionID string `json:"question_id" ` // question_id + Content string `validate:"required,gte=6,lte=65535" json:"content" ` // content + HTML string `json:"html" ` // html + UserID string `json:"-" ` // user_id } func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err error) { @@ -32,13 +32,13 @@ func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err err } type AnswerUpdateReq struct { - ID string `json:"id"` // id - QuestionID string `json:"question_id" ` // question_id - UserID string `json:"-" ` // user_id - Title string `json:"title" ` // title - Content string `json:"content"` // content - HTML string `json:"html" ` // html - EditSummary string `validate:"omitempty" json:"edit_summary"` // edit_summary + ID string `json:"id"` // id + QuestionID string `json:"question_id" ` // question_id + UserID string `json:"-" ` // user_id + Title string `json:"title" ` // title + Content string `validate:"required,gte=6,lte=65535" json:"content"` // content + HTML string `json:"html" ` // html + EditSummary string `validate:"omitempty" json:"edit_summary"` // edit_summary NoNeedReview bool `json:"-"` // whether user can edit it CanEdit bool `json:"-"` From ec871efc752ff3525faf280ce8cad295c2c88b10 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Wed, 1 Feb 2023 11:08:56 +0800 Subject: [PATCH 30/70] feat(validator): add notblank validation --- go.mod | 2 +- internal/base/validator/validator.go | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/go.mod b/go.mod index 7c7aac21..5612516c 100644 --- a/go.mod +++ b/go.mod @@ -5,6 +5,7 @@ go 1.18 require ( github.com/Chain-Zhang/pinyin v0.1.3 github.com/anargu/gin-brotli v0.0.0-20220116052358-12bf532d5267 + github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d github.com/bwmarrin/snowflake v0.3.0 github.com/davecgh/go-spew v1.1.1 github.com/disintegration/imaging v1.6.2 @@ -55,7 +56,6 @@ require ( github.com/Microsoft/go-winio v0.5.2 // indirect github.com/Nvveen/Gotty v0.0.0-20120604004816-cd527374f1e5 // indirect github.com/andybalholm/brotli v1.0.4 // indirect - github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/cenkalti/backoff/v4 v4.1.3 // indirect github.com/containerd/continuity v0.3.0 // indirect diff --git a/internal/base/validator/validator.go b/internal/base/validator/validator.go index 8eae14e1..e88441fe 100644 --- a/internal/base/validator/validator.go +++ b/internal/base/validator/validator.go @@ -23,6 +23,7 @@ import ( chineseTraditional "github.com/go-playground/locales/zh_Hant_TW" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" + "github.com/go-playground/validator/v10/non-standard/validators" "github.com/go-playground/validator/v10/translations/en" "github.com/go-playground/validator/v10/translations/es" "github.com/go-playground/validator/v10/translations/fr" @@ -99,6 +100,7 @@ func getTran(lo locales.Translator) ut.Translator { func createDefaultValidator(la i18n.Language) *validator.Validate { validate := validator.New() + _ = validate.RegisterValidation("notblank", validators.NotBlank) validate.RegisterTagNameFunc(func(fld reflect.StructField) (res string) { defer func() { if len(res) > 0 { From 86a10eaec705d6ef4fed99fa12d224460ad6feda Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 1 Feb 2023 11:21:57 +0800 Subject: [PATCH 31/70] update validate add notblank --- internal/schema/answer_schema.go | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go index 34383eb4..87669d49 100644 --- a/internal/schema/answer_schema.go +++ b/internal/schema/answer_schema.go @@ -32,13 +32,13 @@ func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err err } type AnswerUpdateReq struct { - ID string `json:"id"` // id - QuestionID string `json:"question_id" ` // question_id - UserID string `json:"-" ` // user_id - Title string `json:"title" ` // title - Content string `validate:"required,gte=6,lte=65535" json:"content"` // content - HTML string `json:"html" ` // html - EditSummary string `validate:"omitempty" json:"edit_summary"` // edit_summary + ID string `json:"id"` // id + QuestionID string `json:"question_id" ` // question_id + UserID string `json:"-" ` // user_id + Title string `json:"title" ` // title + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // content + HTML string `json:"html" ` // html + EditSummary string `validate:"omitempty" json:"edit_summary"` // edit_summary NoNeedReview bool `json:"-"` // whether user can edit it CanEdit bool `json:"-"` From fe44d054c36e683fadd047a8d6912b2fb24fcfb9 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 1 Feb 2023 14:11:01 +0800 Subject: [PATCH 32/70] update AnswerAddReq --- internal/schema/answer_schema.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go index 87669d49..f89f54f0 100644 --- a/internal/schema/answer_schema.go +++ b/internal/schema/answer_schema.go @@ -20,10 +20,10 @@ const ( ) type AnswerAddReq struct { - QuestionID string `json:"question_id" ` // question_id - Content string `validate:"required,gte=6,lte=65535" json:"content" ` // content - HTML string `json:"html" ` // html - UserID string `json:"-" ` // user_id + QuestionID string `json:"question_id" ` // question_id + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content" ` // content + HTML string `json:"html" ` // html + UserID string `json:"-" ` // user_id } func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err error) { From c7cb2ac7356c5951b4c92b8725b2b10168e5c22b Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 1 Feb 2023 18:18:11 +0800 Subject: [PATCH 33/70] ggpush --- .gitignore | 4 ++++ ui/.gitignore | 3 +-- ui/build/favicon.ico | Bin 0 -> 4286 bytes ui/build/index.html | 1 - ui/build/static/README.md | 1 - 5 files changed, 5 insertions(+), 4 deletions(-) create mode 100644 ui/build/favicon.ico delete mode 100644 ui/build/index.html delete mode 100644 ui/build/static/README.md diff --git a/.gitignore b/.gitignore index a4982a5f..c762475f 100644 --- a/.gitignore +++ b/.gitignore @@ -16,6 +16,10 @@ /go.work* /logs /ui/node_modules +/ui/build/*/*/* +/ui/build/*.json +/ui/build/*.html +/ui/build/*.txt /vendor Thumbs*.db tmp diff --git a/ui/.gitignore b/ui/.gitignore index 9873846e..f5128c7c 100644 --- a/ui/.gitignore +++ b/ui/.gitignore @@ -10,10 +10,9 @@ # production - /build/*/*/* /build/*.json -/build/*.ico +/build/*.html /build/*.txt # misc diff --git a/ui/build/favicon.ico b/ui/build/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6ab1fbdad21704a3a108a4c284abf50fa9b14d1e GIT binary patch literal 4286 zcmeHLu};G<5Ph98A()sm(t!bcKy2`5{Q=YuU|>RG>nHF5%zOZ2r;4dVrKImttctUv zBWi30lFGf`6} zpXJu0CB6*daaWwj5&yu$;h8+nit*6+GIx0AIPc})Fek?qb=Dj^-XFM+DIH#t_=4@Q z$%3i*JKSmxjbq$eFVmb@Pa40=c_us^7x6zde&aLMI~9||m&Vr|bI!Y1^|_zonObw$ z(*BY4^34q@%8L2)luOF(Z+O$5;j1$@g%z)T(*Jd28+^&0gXq}5+h7x!ZTxSo*8Lh_Pa*g36`oq@k{n!D~->0 qmh`?Q`p*sDrSk}%`RLXq4`cV=(#zB5caD?TDL(&UP5&QIdcFrD=G|)m literal 0 HcmV?d00001 diff --git a/ui/build/index.html b/ui/build/index.html deleted file mode 100644 index 812c62a7..00000000 --- a/ui/build/index.html +++ /dev/null @@ -1 +0,0 @@ -
diff --git a/ui/build/static/README.md b/ui/build/static/README.md deleted file mode 100644 index a55b8703..00000000 --- a/ui/build/static/README.md +++ /dev/null @@ -1 +0,0 @@ -# Build Static From bbe6b90292dde7042ece67834b7dababb6f0d1eb Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 1 Feb 2023 18:20:42 +0800 Subject: [PATCH 34/70] del index.html --- ui/build/index.html | 1 - 1 file changed, 1 deletion(-) delete mode 100644 ui/build/index.html diff --git a/ui/build/index.html b/ui/build/index.html deleted file mode 100644 index 3bfe8162..00000000 --- a/ui/build/index.html +++ /dev/null @@ -1 +0,0 @@ -
From 784aa042ade7d37538590b7a59e6868e9658dbee Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Wed, 1 Feb 2023 18:29:31 +0800 Subject: [PATCH 35/70] update github action on self-hosted --- .github/workflows/build_dockerhub_img.yml | 2 +- .github/workflows/build_github_img.yml | 2 +- .github/workflows/go_build_test.yml | 2 +- .github/workflows/node_build_test.yml | 3 +-- 4 files changed, 4 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index a176b322..07c5a0a9 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -12,7 +12,7 @@ on: jobs: build: - runs-on: ubuntu-latest + runs-on: [self-hosted, linux] steps: - name: Checkout uses: actions/checkout@v3 diff --git a/.github/workflows/build_github_img.yml b/.github/workflows/build_github_img.yml index 358a296b..67fe28ea 100644 --- a/.github/workflows/build_github_img.yml +++ b/.github/workflows/build_github_img.yml @@ -17,7 +17,7 @@ env: jobs: build-and-push: - runs-on: ubuntu-latest + runs-on: [self-hosted, linux] permissions: packages: write diff --git a/.github/workflows/go_build_test.yml b/.github/workflows/go_build_test.yml index ecd2f4f0..21045786 100644 --- a/.github/workflows/go_build_test.yml +++ b/.github/workflows/go_build_test.yml @@ -9,7 +9,7 @@ on: jobs: build-and-push: - runs-on: ubuntu-latest + runs-on: [self-hosted, linux] steps: - name: Checkout diff --git a/.github/workflows/node_build_test.yml b/.github/workflows/node_build_test.yml index edf5b8cb..41c2c4c6 100644 --- a/.github/workflows/node_build_test.yml +++ b/.github/workflows/node_build_test.yml @@ -8,8 +8,7 @@ on: jobs: build-and-push: - runs-on: ubuntu-latest - + runs-on: [self-hosted, linux] steps: - name: Checkout uses: actions/checkout@v3 From 5fcd13e8dbc5326113bb759a57e6f1afe3cccb47 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 10:39:37 +0800 Subject: [PATCH 36/70] update make file --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 90ce5bc1..13bac545 100644 --- a/Makefile +++ b/Makefile @@ -21,8 +21,10 @@ universal: generate @rm -f ${BIN}_amd64 ${BIN}_arm64 generate: - @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 - @$(GO) get github.com/golang/mock/mockgen@v1.6.0 +# @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 +# @$(GO) get github.com/golang/mock/mockgen@v1.6.0 + @$(GO) isntall github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) install github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... @$(GO) mod tidy From cef06e21c9b644fe20d09be32e8e0030b4b714b6 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 10:47:35 +0800 Subject: [PATCH 37/70] update makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 09590755..23aad30b 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ universal: generate generate: # @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 # @$(GO) get github.com/golang/mock/mockgen@v1.6.0 - @$(GO) isntall github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) install github.com/google/wire/cmd/wire@v0.5.0 @$(GO) install github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... @$(GO) mod tidy From fce4ca7bd72e111c1bf8ba76d3fa87f6e361109e Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 10:48:11 +0800 Subject: [PATCH 38/70] update makefile --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 13bac545..074366ec 100644 --- a/Makefile +++ b/Makefile @@ -23,7 +23,7 @@ universal: generate generate: # @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 # @$(GO) get github.com/golang/mock/mockgen@v1.6.0 - @$(GO) isntall github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) install github.com/google/wire/cmd/wire@v0.5.0 @$(GO) install github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... @$(GO) mod tidy From 26082bd23aee0029d2cd5d6d74a563c43a561710 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 11:06:32 +0800 Subject: [PATCH 39/70] update makefile --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 074366ec..5db6058d 100644 --- a/Makefile +++ b/Makefile @@ -21,8 +21,8 @@ universal: generate @rm -f ${BIN}_amd64 ${BIN}_arm64 generate: -# @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 -# @$(GO) get github.com/golang/mock/mockgen@v1.6.0 + @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) get github.com/golang/mock/mockgen@v1.6.0 @$(GO) install github.com/google/wire/cmd/wire@v0.5.0 @$(GO) install github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... From 7bf44a41db9d4b9cee4044cc9eb77e4cd3368cdc Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 11:08:04 +0800 Subject: [PATCH 40/70] update make file --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 5db6058d..972beed3 100644 --- a/Makefile +++ b/Makefile @@ -21,8 +21,8 @@ universal: generate @rm -f ${BIN}_amd64 ${BIN}_arm64 generate: - @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 - @$(GO) get github.com/golang/mock/mockgen@v1.6.0 + @$(GO) get github.com/google/wire/cmd/wire@v0.5.0 + @$(GO) get github.com/golang/mock/mockgen@v1.6.0 @$(GO) install github.com/google/wire/cmd/wire@v0.5.0 @$(GO) install github.com/golang/mock/mockgen@v1.6.0 @$(GO) generate ./... From 8002a152eb7185e7dd8ca4461b5d86dfd30bdd02 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Thu, 2 Feb 2023 16:03:53 +0800 Subject: [PATCH 41/70] fix(markdown): remove all md field that after parsing --- internal/schema/answer_schema.go | 22 +++++++++++----------- internal/schema/comment_schema.go | 4 ++-- internal/schema/question_schema.go | 4 ++-- internal/schema/tag_schema.go | 4 ++-- 4 files changed, 17 insertions(+), 17 deletions(-) diff --git a/internal/schema/answer_schema.go b/internal/schema/answer_schema.go index f89f54f0..7fc6a12d 100644 --- a/internal/schema/answer_schema.go +++ b/internal/schema/answer_schema.go @@ -20,10 +20,10 @@ const ( ) type AnswerAddReq struct { - QuestionID string `json:"question_id" ` // question_id - Content string `validate:"required,notblank,gte=6,lte=65535" json:"content" ` // content - HTML string `json:"html" ` // html - UserID string `json:"-" ` // user_id + QuestionID string `json:"question_id"` + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` + HTML string `json:"-"` + UserID string `json:"-"` } func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err error) { @@ -32,13 +32,13 @@ func (req *AnswerAddReq) Check() (errFields []*validator.FormErrorField, err err } type AnswerUpdateReq struct { - ID string `json:"id"` // id - QuestionID string `json:"question_id" ` // question_id - UserID string `json:"-" ` // user_id - Title string `json:"title" ` // title - Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // content - HTML string `json:"html" ` // html - EditSummary string `validate:"omitempty" json:"edit_summary"` // edit_summary + ID string `json:"id"` + QuestionID string `json:"question_id"` + Title string `json:"title"` + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` + EditSummary string `validate:"omitempty" json:"edit_summary"` + HTML string `json:"-"` + UserID string `json:"-"` NoNeedReview bool `json:"-"` // whether user can edit it CanEdit bool `json:"-"` diff --git a/internal/schema/comment_schema.go b/internal/schema/comment_schema.go index a6b893ba..c7af388d 100644 --- a/internal/schema/comment_schema.go +++ b/internal/schema/comment_schema.go @@ -16,7 +16,7 @@ type AddCommentReq struct { // original comment content OriginalText string `validate:"required" json:"original_text"` // parsed comment content - ParsedText string `validate:"required" json:"parsed_text"` + ParsedText string `json:"-"` // @ user id list MentionUsernameList []string `validate:"omitempty" json:"mention_username_list"` // user id @@ -49,7 +49,7 @@ type UpdateCommentReq struct { // original comment content OriginalText string `validate:"omitempty" json:"original_text"` // parsed comment content - ParsedText string `validate:"omitempty" json:"parsed_text"` + ParsedText string `json:"-"` // user id UserID string `json:"-"` IsAdmin bool `json:"-"` diff --git a/internal/schema/question_schema.go b/internal/schema/question_schema.go index eca9c03b..9e64a176 100644 --- a/internal/schema/question_schema.go +++ b/internal/schema/question_schema.go @@ -45,7 +45,7 @@ type QuestionAdd struct { // content Content string `validate:"required,gte=6,lte=65535" json:"content"` // html - HTML string `validate:"required,gte=6,lte=65535" json:"html"` + HTML string `json:"-"` // tags Tags []*TagItem `validate:"required,dive" json:"tags"` // user id @@ -94,7 +94,7 @@ type QuestionUpdate struct { // content Content string `validate:"required,gte=6,lte=65535" json:"content"` // html - HTML string `validate:"required,gte=6,lte=65535" json:"html"` + HTML string `json:"-"` // tags Tags []*TagItem `validate:"required,dive" json:"tags"` // edit summary diff --git a/internal/schema/tag_schema.go b/internal/schema/tag_schema.go index 3b7100a2..654e9178 100644 --- a/internal/schema/tag_schema.go +++ b/internal/schema/tag_schema.go @@ -144,7 +144,7 @@ type TagItem struct { // original text OriginalText string `validate:"omitempty" json:"original_text"` // parsed text - ParsedText string `validate:"omitempty" json:"parsed_text"` + ParsedText string `json:"-"` } // RemoveTagReq delete tag request @@ -166,7 +166,7 @@ type UpdateTagReq struct { // original text OriginalText string `validate:"omitempty" json:"original_text"` // parsed text - ParsedText string `validate:"omitempty" json:"parsed_text"` + ParsedText string `json:"-"` // edit summary EditSummary string `validate:"omitempty" json:"edit_summary"` // user id From 052ec0ceb0342ed71ec988c27fd2d52f0ba3318b Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Thu, 2 Feb 2023 16:30:37 +0800 Subject: [PATCH 42/70] fix(comment): add comment original text limiting condition --- internal/schema/comment_schema.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/schema/comment_schema.go b/internal/schema/comment_schema.go index c7af388d..7648ff12 100644 --- a/internal/schema/comment_schema.go +++ b/internal/schema/comment_schema.go @@ -14,7 +14,7 @@ type AddCommentReq struct { // reply comment id ReplyCommentID string `validate:"omitempty" json:"reply_comment_id"` // original comment content - OriginalText string `validate:"required" json:"original_text"` + OriginalText string `validate:"required,gte=2,lte=600" json:"original_text"` // parsed comment content ParsedText string `json:"-"` // @ user id list @@ -47,7 +47,7 @@ type UpdateCommentReq struct { // comment id CommentID string `validate:"required" json:"comment_id"` // original comment content - OriginalText string `validate:"omitempty" json:"original_text"` + OriginalText string `validate:"required,gte=2,lte=600" json:"original_text"` // parsed comment content ParsedText string `json:"-"` // user id From c10dfb988475d118f9bc83d1311e19cafc5ad8fe Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 16:39:51 +0800 Subject: [PATCH 43/70] update question validate --- docs/docs.go | 59 +++++------------------------- docs/swagger.json | 59 +++++------------------------- docs/swagger.yaml | 43 +++------------------- internal/schema/question_schema.go | 4 +- 4 files changed, 25 insertions(+), 140 deletions(-) diff --git a/docs/docs.go b/docs/docs.go index bfffc433..3adfd474 100644 --- a/docs/docs.go +++ b/docs/docs.go @@ -5464,8 +5464,7 @@ const docTemplate = `{ "type": "object", "required": [ "object_id", - "original_text", - "parsed_text" + "original_text" ], "properties": { "mention_username_list": { @@ -5481,11 +5480,9 @@ const docTemplate = `{ }, "original_text": { "description": "original comment content", - "type": "string" - }, - "parsed_text": { - "description": "parsed comment content", - "type": "string" + "type": "string", + "maxLength": 600, + "minLength": 2 }, "reply_comment_id": { "description": "reply comment id", @@ -5579,17 +5576,11 @@ const docTemplate = `{ ], "properties": { "content": { - "description": "content", "type": "string", "maxLength": 65535, "minLength": 6 }, - "html": { - "description": "html", - "type": "string" - }, "question_id": { - "description": "question_id", "type": "string" } } @@ -5601,29 +5592,20 @@ const docTemplate = `{ ], "properties": { "content": { - "description": "content", "type": "string", "maxLength": 65535, "minLength": 6 }, "edit_summary": { - "description": "edit_summary", - "type": "string" - }, - "html": { - "description": "html", "type": "string" }, "id": { - "description": "id", "type": "string" }, "question_id": { - "description": "question_id", "type": "string" }, "title": { - "description": "title", "type": "string" } } @@ -6650,7 +6632,6 @@ const docTemplate = `{ "type": "object", "required": [ "content", - "html", "tags", "title" ], @@ -6661,12 +6642,6 @@ const docTemplate = `{ "maxLength": 65535, "minLength": 6 }, - "html": { - "description": "html", - "type": "string", - "maxLength": 65535, - "minLength": 6 - }, "tags": { "description": "tags", "type": "array", @@ -6799,7 +6774,6 @@ const docTemplate = `{ "type": "object", "required": [ "content", - "html", "id", "tags", "title" @@ -6815,12 +6789,6 @@ const docTemplate = `{ "description": "edit summary", "type": "string" }, - "html": { - "description": "html", - "type": "string", - "maxLength": 65535, - "minLength": 6 - }, "id": { "description": "question id", "type": "string" @@ -7386,10 +7354,6 @@ const docTemplate = `{ "description": "original text", "type": "string" }, - "parsed_text": { - "description": "parsed text", - "type": "string" - }, "slug_name": { "description": "slug_name", "type": "string", @@ -7476,7 +7440,8 @@ const docTemplate = `{ "schema.UpdateCommentReq": { "type": "object", "required": [ - "comment_id" + "comment_id", + "original_text" ], "properties": { "comment_id": { @@ -7485,11 +7450,9 @@ const docTemplate = `{ }, "original_text": { "description": "original comment content", - "type": "string" - }, - "parsed_text": { - "description": "parsed comment content", - "type": "string" + "type": "string", + "maxLength": 600, + "minLength": 2 } } }, @@ -7604,10 +7567,6 @@ const docTemplate = `{ "description": "original text", "type": "string" }, - "parsed_text": { - "description": "parsed text", - "type": "string" - }, "slug_name": { "description": "slug_name", "type": "string", diff --git a/docs/swagger.json b/docs/swagger.json index 85257c1a..0282b612 100644 --- a/docs/swagger.json +++ b/docs/swagger.json @@ -5452,8 +5452,7 @@ "type": "object", "required": [ "object_id", - "original_text", - "parsed_text" + "original_text" ], "properties": { "mention_username_list": { @@ -5469,11 +5468,9 @@ }, "original_text": { "description": "original comment content", - "type": "string" - }, - "parsed_text": { - "description": "parsed comment content", - "type": "string" + "type": "string", + "maxLength": 600, + "minLength": 2 }, "reply_comment_id": { "description": "reply comment id", @@ -5567,17 +5564,11 @@ ], "properties": { "content": { - "description": "content", "type": "string", "maxLength": 65535, "minLength": 6 }, - "html": { - "description": "html", - "type": "string" - }, "question_id": { - "description": "question_id", "type": "string" } } @@ -5589,29 +5580,20 @@ ], "properties": { "content": { - "description": "content", "type": "string", "maxLength": 65535, "minLength": 6 }, "edit_summary": { - "description": "edit_summary", - "type": "string" - }, - "html": { - "description": "html", "type": "string" }, "id": { - "description": "id", "type": "string" }, "question_id": { - "description": "question_id", "type": "string" }, "title": { - "description": "title", "type": "string" } } @@ -6638,7 +6620,6 @@ "type": "object", "required": [ "content", - "html", "tags", "title" ], @@ -6649,12 +6630,6 @@ "maxLength": 65535, "minLength": 6 }, - "html": { - "description": "html", - "type": "string", - "maxLength": 65535, - "minLength": 6 - }, "tags": { "description": "tags", "type": "array", @@ -6787,7 +6762,6 @@ "type": "object", "required": [ "content", - "html", "id", "tags", "title" @@ -6803,12 +6777,6 @@ "description": "edit summary", "type": "string" }, - "html": { - "description": "html", - "type": "string", - "maxLength": 65535, - "minLength": 6 - }, "id": { "description": "question id", "type": "string" @@ -7374,10 +7342,6 @@ "description": "original text", "type": "string" }, - "parsed_text": { - "description": "parsed text", - "type": "string" - }, "slug_name": { "description": "slug_name", "type": "string", @@ -7464,7 +7428,8 @@ "schema.UpdateCommentReq": { "type": "object", "required": [ - "comment_id" + "comment_id", + "original_text" ], "properties": { "comment_id": { @@ -7473,11 +7438,9 @@ }, "original_text": { "description": "original comment content", - "type": "string" - }, - "parsed_text": { - "description": "parsed comment content", - "type": "string" + "type": "string", + "maxLength": 600, + "minLength": 2 } } }, @@ -7592,10 +7555,6 @@ "description": "original text", "type": "string" }, - "parsed_text": { - "description": "parsed text", - "type": "string" - }, "slug_name": { "description": "slug_name", "type": "string", diff --git a/docs/swagger.yaml b/docs/swagger.yaml index 25111633..3fac2ae0 100644 --- a/docs/swagger.yaml +++ b/docs/swagger.yaml @@ -147,9 +147,8 @@ definitions: type: string original_text: description: original comment content - type: string - parsed_text: - description: parsed comment content + maxLength: 600 + minLength: 2 type: string reply_comment_id: description: reply comment id @@ -157,7 +156,6 @@ definitions: required: - object_id - original_text - - parsed_text type: object schema.AddReportReq: properties: @@ -217,15 +215,10 @@ definitions: schema.AnswerAddReq: properties: content: - description: content maxLength: 65535 minLength: 6 type: string - html: - description: html - type: string question_id: - description: question_id type: string required: - content @@ -233,24 +226,16 @@ definitions: schema.AnswerUpdateReq: properties: content: - description: content maxLength: 65535 minLength: 6 type: string edit_summary: - description: edit_summary - type: string - html: - description: html type: string id: - description: id type: string question_id: - description: question_id type: string title: - description: title type: string required: - content @@ -996,11 +981,6 @@ definitions: maxLength: 65535 minLength: 6 type: string - html: - description: html - maxLength: 65535 - minLength: 6 - type: string tags: description: tags items: @@ -1013,7 +993,6 @@ definitions: type: string required: - content - - html - tags - title type: object @@ -1105,11 +1084,6 @@ definitions: edit_summary: description: edit summary type: string - html: - description: html - maxLength: 65535 - minLength: 6 - type: string id: description: question id type: string @@ -1125,7 +1099,6 @@ definitions: type: string required: - content - - html - id - tags - title @@ -1505,9 +1478,6 @@ definitions: original_text: description: original text type: string - parsed_text: - description: parsed text - type: string slug_name: description: slug_name maxLength: 35 @@ -1573,12 +1543,12 @@ definitions: type: string original_text: description: original comment content - type: string - parsed_text: - description: parsed comment content + maxLength: 600 + minLength: 2 type: string required: - comment_id + - original_text type: object schema.UpdateFollowTagsReq: properties: @@ -1659,9 +1629,6 @@ definitions: original_text: description: original text type: string - parsed_text: - description: parsed text - type: string slug_name: description: slug_name maxLength: 35 diff --git a/internal/schema/question_schema.go b/internal/schema/question_schema.go index 9e64a176..f8f4bd87 100644 --- a/internal/schema/question_schema.go +++ b/internal/schema/question_schema.go @@ -43,7 +43,7 @@ type QuestionAdd struct { // question title Title string `validate:"required,gte=6,lte=150" json:"title"` // content - Content string `validate:"required,gte=6,lte=65535" json:"content"` + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // html HTML string `json:"-"` // tags @@ -92,7 +92,7 @@ type QuestionUpdate struct { // question title Title string `validate:"required,gte=6,lte=150" json:"title"` // content - Content string `validate:"required,gte=6,lte=65535" json:"content"` + Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // html HTML string `json:"-"` // tags From e3557b9c98fc24acf98a848300959ed451d0f5ff Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 16:50:37 +0800 Subject: [PATCH 44/70] update question validate --- internal/schema/question_schema.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/schema/question_schema.go b/internal/schema/question_schema.go index f8f4bd87..b656b834 100644 --- a/internal/schema/question_schema.go +++ b/internal/schema/question_schema.go @@ -41,7 +41,7 @@ type ReopenQuestionReq struct { type QuestionAdd struct { // question title - Title string `validate:"required,gte=6,lte=150" json:"title"` + Title string `validate:"required,notblank,gte=6,lte=150" json:"title"` // content Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // html @@ -90,7 +90,7 @@ type QuestionUpdate struct { // question id ID string `validate:"required" json:"id"` // question title - Title string `validate:"required,gte=6,lte=150" json:"title"` + Title string `validate:"required,notblank,gte=6,lte=150" json:"title"` // content Content string `validate:"required,notblank,gte=6,lte=65535" json:"content"` // html From af5e3f4e48857a6a4fd375fd54372348f7d6ec1d Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Thu, 2 Feb 2023 17:01:52 +0800 Subject: [PATCH 45/70] update question validate --- internal/base/validator/validator.go | 23 +++++++++++++++++++++-- 1 file changed, 21 insertions(+), 2 deletions(-) diff --git a/internal/base/validator/validator.go b/internal/base/validator/validator.go index e88441fe..206e5808 100644 --- a/internal/base/validator/validator.go +++ b/internal/base/validator/validator.go @@ -23,7 +23,6 @@ import ( chineseTraditional "github.com/go-playground/locales/zh_Hant_TW" ut "github.com/go-playground/universal-translator" "github.com/go-playground/validator/v10" - "github.com/go-playground/validator/v10/non-standard/validators" "github.com/go-playground/validator/v10/translations/en" "github.com/go-playground/validator/v10/translations/es" "github.com/go-playground/validator/v10/translations/fr" @@ -98,9 +97,29 @@ func getTran(lo locales.Translator) ut.Translator { return tran } +func NotBlank(fl validator.FieldLevel) (res bool) { + field := fl.Field() + switch field.Kind() { + case reflect.String: + trimSpace := strings.TrimSpace(field.String()) + res := len(trimSpace) > 0 + if !res { + field.SetString(trimSpace) + } + return true + case reflect.Chan, reflect.Map, reflect.Slice, reflect.Array: + return field.Len() > 0 + case reflect.Ptr, reflect.Interface, reflect.Func: + return !field.IsNil() + default: + return field.IsValid() && field.Interface() != reflect.Zero(field.Type()).Interface() + } +} + func createDefaultValidator(la i18n.Language) *validator.Validate { validate := validator.New() - _ = validate.RegisterValidation("notblank", validators.NotBlank) + // _ = validate.RegisterValidation("notblank", validators.NotBlank) + _ = validate.RegisterValidation("notblank", NotBlank) validate.RegisterTagNameFunc(func(fld reflect.StructField) (res string) { defer func() { if len(res) > 0 { From b7356ba87520ed663f21db84f144ab37f174864b Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Thu, 2 Feb 2023 17:40:39 +0800 Subject: [PATCH 46/70] fix(comment): add comment original text notblank condition --- internal/schema/comment_schema.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/internal/schema/comment_schema.go b/internal/schema/comment_schema.go index 7648ff12..dcc44bd5 100644 --- a/internal/schema/comment_schema.go +++ b/internal/schema/comment_schema.go @@ -14,7 +14,7 @@ type AddCommentReq struct { // reply comment id ReplyCommentID string `validate:"omitempty" json:"reply_comment_id"` // original comment content - OriginalText string `validate:"required,gte=2,lte=600" json:"original_text"` + OriginalText string `validate:"required,notblank,gte=2,lte=600" json:"original_text"` // parsed comment content ParsedText string `json:"-"` // @ user id list @@ -47,7 +47,7 @@ type UpdateCommentReq struct { // comment id CommentID string `validate:"required" json:"comment_id"` // original comment content - OriginalText string `validate:"required,gte=2,lte=600" json:"original_text"` + OriginalText string `validate:"required,notblank,gte=2,lte=600" json:"original_text"` // parsed comment content ParsedText string `json:"-"` // user id From 71b89fa7503d652b466aa6dded28505309c944b7 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Fri, 3 Feb 2023 15:22:05 +0800 Subject: [PATCH 47/70] update goreleaser --- .goreleaser.yaml | 38 +++----------------------------------- 1 file changed, 3 insertions(+), 35 deletions(-) diff --git a/.goreleaser.yaml b/.goreleaser.yaml index dcb10039..9feb6d72 100644 --- a/.goreleaser.yaml +++ b/.goreleaser.yaml @@ -16,50 +16,25 @@ builds: - linux goarch: - amd64 - # linux windows need cgomingw64-gcc - id: build-windows main: ./cmd/answer/. binary: answer ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser - env: - - CC=x86_64-w64-mingw32-gcc - - CXX=x86_64-w64-mingw32-g++ goos: - windows goarch: - amd64 - # linux arm64 need cgo arm64 - id: build-arm64 main: ./cmd/answer/. binary: answer ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser - env: - - CC=aarch64-linux-gnu-gcc - - CXX=aarch64-linux-gnu-g++ goos: - linux goarch: - arm64 - - id: build-arm7 - main: ./cmd/answer/. - binary: answer - ldflags: -s -w -X main.Version={{.Version}} -X main.Revision={{.ShortCommit}} -X main.Time={{.Date}} -X main.BuildUser=goreleaser - env: - - CC=arm-linux-gnueabihf-gcc - - CXX=arm-linux-gnueabihf-g++ - - AR=arm-linux-gnueabihf-ar - goos: - - linux - goarch: - - arm - goarm: - - 7 - id: build-darwin-arm64 main: ./cmd/answer/. binary: answer - env: - - CC=oa64-clang - - CXX=oa64-clang++ goos: - darwin goarch: @@ -69,9 +44,6 @@ builds: - id: build-darwin-amd64 main: ./cmd/answer/. binary: answer - env: - - CC=o64-clang - - CXX=o64-clang++ goos: - darwin goarch: @@ -82,8 +54,10 @@ builds: archives: - replacements: - darwin: Darwin + darwin: macOS amd64: x86_64 + linux: Linux + windows: Windows checksum: name_template: 'checksums.txt' snapshot: @@ -95,10 +69,4 @@ changelog: - '^docs:' - '^test:' - -# sudo apt-get install build-essential -# sudo apt-get install gcc-multilib g++-multilib -# sudo apt-get install gcc-mingw-w64 -# sudo apt-get -y install gcc-aarch64-linux-gnu gcc-arm-linux-gnueabihf -# sudo apt-get install clang llvm # goreleaser release --snapshot --rm-dist From 000a0b5f70dbfad81d1ac508374081826bb06bf3 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Fri, 3 Feb 2023 15:37:58 +0800 Subject: [PATCH 48/70] update sqlite --- internal/base/data/data.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/base/data/data.go b/internal/base/data/data.go index f9020e9c..0a16659e 100644 --- a/internal/base/data/data.go +++ b/internal/base/data/data.go @@ -38,6 +38,7 @@ func NewDB(debug bool, dataConf *Database) (*xorm.Engine, error) { dataConf.Driver = string(schemas.MYSQL) } if dataConf.Driver == string(schemas.SQLITE) { + dataConf.Driver = "sqlite" dbFileDir := filepath.Dir(dataConf.Connection) log.Debugf("try to create database directory %s", dbFileDir) if err := dir.CreateDirIfNotExist(dbFileDir); err != nil { From 92d8e5b6e4dfa101d49cb6ae746222e7e0c9a988 Mon Sep 17 00:00:00 2001 From: LinkinStar Date: Mon, 6 Feb 2023 10:25:01 +0800 Subject: [PATCH 49/70] docs(makefile): upgrade version --- Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile b/Makefile index b7ad98cb..dd7c76d5 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ .PHONY: build clean ui -VERSION=1.0.3 +VERSION=1.0.4 BIN=answer DIR_SRC=./cmd/answer DOCKER_CMD=docker From 15105a8822f5460619fa452d2faa740d64822439 Mon Sep 17 00:00:00 2001 From: Fen Date: Mon, 6 Feb 2023 10:31:45 +0800 Subject: [PATCH 50/70] New Crowdin updates (#175) * New translations en_US.yaml (French) * New translations en_US.yaml (Spanish) * New translations en_US.yaml (German) * New translations en_US.yaml (Italian) * New translations en_US.yaml (Japanese) * New translations en_US.yaml (Korean) * New translations en_US.yaml (Portuguese) * New translations en_US.yaml (Russian) * New translations en_US.yaml (Chinese Simplified) * New translations en_US.yaml (Chinese Traditional) * New translations en_US.yaml (Vietnamese) * New translations en_US.yaml (Chinese Traditional) * New translations en_US.yaml (Chinese Traditional) * New translations en_US.yaml (Spanish) * New translations en_US.yaml (French) * New translations en_US.yaml (Spanish) * New translations en_US.yaml (Russian) * New translations en_US.yaml (Russian) * New translations en_US.yaml (Russian) * New translations en_US.yaml (Russian) * New translations en_US.yaml (Chinese Simplified) * Update en_US.yaml fix user display name length * update mark * update select * New translations en_US.yaml (Chinese Simplified) * New translations en_US.yaml (Chinese Simplified) * New translations en_US.yaml (Indonesian) * New translations en_US.yaml (Indonesian) * New translations en_US.yaml (Indonesian) * New translations en_US.yaml (French) * New translations en_US.yaml (French) * New translations en_US.yaml (French) * New translations en_US.yaml (Romanian) * New translations en_US.yaml (Afrikaans) * New translations en_US.yaml (Arabic) * New translations en_US.yaml (Catalan) * New translations en_US.yaml (Czech) * New translations en_US.yaml (Danish) * New translations en_US.yaml (Greek) * New translations en_US.yaml (Finnish) * New translations en_US.yaml (Hebrew) * New translations en_US.yaml (Hungarian) * New translations en_US.yaml (Armenian) * New translations en_US.yaml (Dutch) * New translations en_US.yaml (Norwegian) * New translations en_US.yaml (Polish) * New translations en_US.yaml (Albanian) * New translations en_US.yaml (Serbian (Cyrillic)) * New translations en_US.yaml (Swedish) * New translations en_US.yaml (Turkish) * New translations en_US.yaml (Ukrainian) * New translations en_US.yaml (Portuguese, Brazilian) * New translations en_US.yaml (Bengali) * New translations en_US.yaml (Azerbaijani) * New translations en_US.yaml (Bosnian) * New translations en_US.yaml (Balochi) * New translations en_US.yaml (Balinese) * New translations en_US.yaml (French) * New translations en_US.yaml (French) * fix typo * New translations en_US.yaml (Indonesian) * New translations en_US.yaml (Indonesian) * New translations en_US.yaml (Italian) * New translations en_US.yaml (Spanish) * New translations en_US.yaml (Spanish) * New translations en_US.yaml (Chinese Traditional) --- i18n/af_ZA.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/ar_SA.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/az_AZ.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/bal_BA.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/ban_ID.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/bn_BD.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/bs_BA.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/ca_ES.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/cs_CZ.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/da_DK.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/de_DE.yaml | 7 +- i18n/el_GR.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/en_US.yaml | 28 +- i18n/es_ES.yaml | 134 +++-- i18n/fi_FI.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/fr_FR.yaml | 785 +++++++++++++-------------- i18n/he_IL.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/hu_HU.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/hy_AM.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/i18n.yaml | 32 +- i18n/id_ID.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/it_IT.yaml | 9 +- i18n/ja_JP.yaml | 7 +- i18n/ko_KR.yaml | 7 +- i18n/nl_NL.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/no_NO.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/pl_PL.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/pt_BR.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/pt_PT.yaml | 7 +- i18n/ro_RO.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/ru_RU.yaml | 303 +++++------ i18n/sq_AL.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/sr_SP.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/sv_SE.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/tr_TR.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/uk_UA.yaml | 1353 ++++++++++++++++++++++++++++++++++++++++++++++ i18n/vi_VN.yaml | 7 +- i18n/zh_CN.yaml | 35 +- i18n/zh_TW.yaml | 53 +- 39 files changed, 35903 insertions(+), 689 deletions(-) create mode 100644 i18n/af_ZA.yaml create mode 100644 i18n/ar_SA.yaml create mode 100644 i18n/az_AZ.yaml create mode 100644 i18n/bal_BA.yaml create mode 100644 i18n/ban_ID.yaml create mode 100644 i18n/bn_BD.yaml create mode 100644 i18n/bs_BA.yaml create mode 100644 i18n/ca_ES.yaml create mode 100644 i18n/cs_CZ.yaml create mode 100644 i18n/da_DK.yaml create mode 100644 i18n/el_GR.yaml create mode 100644 i18n/fi_FI.yaml create mode 100644 i18n/he_IL.yaml create mode 100644 i18n/hu_HU.yaml create mode 100644 i18n/hy_AM.yaml create mode 100644 i18n/id_ID.yaml create mode 100644 i18n/nl_NL.yaml create mode 100644 i18n/no_NO.yaml create mode 100644 i18n/pl_PL.yaml create mode 100644 i18n/pt_BR.yaml create mode 100644 i18n/ro_RO.yaml create mode 100644 i18n/sq_AL.yaml create mode 100644 i18n/sr_SP.yaml create mode 100644 i18n/sv_SE.yaml create mode 100644 i18n/tr_TR.yaml create mode 100644 i18n/uk_UA.yaml diff --git a/i18n/af_ZA.yaml b/i18n/af_ZA.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/af_ZA.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/ar_SA.yaml b/i18n/ar_SA.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/ar_SA.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/az_AZ.yaml b/i18n/az_AZ.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/az_AZ.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/bal_BA.yaml b/i18n/bal_BA.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/bal_BA.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/ban_ID.yaml b/i18n/ban_ID.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/ban_ID.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/bn_BD.yaml b/i18n/bn_BD.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/bn_BD.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/bs_BA.yaml b/i18n/bs_BA.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/bs_BA.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/ca_ES.yaml b/i18n/ca_ES.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/ca_ES.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/cs_CZ.yaml b/i18n/cs_CZ.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/cs_CZ.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/da_DK.yaml b/i18n/da_DK.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/da_DK.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/de_DE.yaml b/i18n/de_DE.yaml index 82cf138f..318f948f 100644 --- a/i18n/de_DE.yaml +++ b/i18n/de_DE.yaml @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/el_GR.yaml b/i18n/el_GR.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/el_GR.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/en_US.yaml b/i18n/en_US.yaml index e0e16aa0..ac0b6254 100644 --- a/i18n/en_US.yaml +++ b/i18n/en_US.yaml @@ -149,7 +149,7 @@ backend: other: "Create table failed" install: create_config_failed: - other: "Can’t create the config.yaml file." + other: "Can't create the config.yaml file." report: spam: name: @@ -492,7 +492,7 @@ ui: btn_flag: Flag btn_save_edits: Save edits btn_cancel: Cancel - show_more: Show more comment + show_more: Show more comments tip_question: >- Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. @@ -679,12 +679,12 @@ ui: display_name: label: Display Name msg: Display name cannot be empty. - msg_range: Display name up to 30 characters + msg_range: Display name up to 30 characters. username: label: Username caption: People can mention you as "@username". msg: Username cannot be empty. - msg_range: Username up to 30 characters + msg_range: Username up to 30 characters. character: 'Must use the character set "a-z", "0-9", " - . _"' avatar: label: Profile Image @@ -851,7 +851,7 @@ ui: unsubscribe: page_title: Unsubscribe success_title: Unsubscribe Successful - success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + success_desc: You have been successfully removed from this subscriber list and won't receive any further emails from us. link: Change settings question: following_tags: Following Tags @@ -913,7 +913,7 @@ ui: title: Answer next: Next done: Done - config_yaml_error: Can’t create the config.yaml file. + config_yaml_error: Can't create the config.yaml file. lang: label: Please Choose a Language db_type: @@ -944,7 +944,7 @@ ui: desc: >- You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. - info: "After you’ve done that, click “Next” button." + info: After you've done that, click "Next" button. site_information: Site Information admin_account: Admin Account site_name: @@ -993,7 +993,7 @@ ui: database tables first. db_failed: Database connection failed db_failed_desc: >- - This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host's database server is down. page_404: desc: "Unfortunately, this page doesn't exist." @@ -1002,7 +1002,7 @@ ui: desc: The server encountered an error and could not complete your request. back_home: Back to homepage page_maintenance: - desc: "We are under maintenance, we’ll be back soon." + desc: "We are under maintenance, we'll be back soon." nav_menus: dashboard: Dashboard contents: Contents @@ -1136,7 +1136,7 @@ ui: password: label: Password text: The user will be logged out and need to login again. - msg: Password must be at 8 - 32 characters in length. + msg: Password must be at 8-32 characters in length. btn_cancel: Cancel btn_submit: Submit user_modal: @@ -1145,13 +1145,13 @@ ui: fields: display_name: label: Display Name - msg: display_name must be at 4 - 30 characters in length. + msg: Display Name must be at 3-30 characters in length. email: label: Email msg: Email is not valid. password: label: Password - msg: Password must be at 8 - 32 characters in length. + msg: Password must be at 8-32 characters in length. btn_cancel: Cancel btn_submit: Submit @@ -1272,14 +1272,14 @@ ui: text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) - text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the "logo" setting will be used. square_icon: label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: label: Favicon (optional) - text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, "square icon" will be used. legal: page_title: Legal terms_of_service: diff --git a/i18n/es_ES.yaml b/i18n/es_ES.yaml index 39e8c2b6..e4053c2a 100644 --- a/i18n/es_ES.yaml +++ b/i18n/es_ES.yaml @@ -2,7 +2,7 @@ backend: base: success: - other: "Success." + other: "Completado." unknown: other: "Error desconocido." request_format_error: @@ -88,17 +88,17 @@ backend: other: "Sin permiso para actualizar." rank: fail_to_meet_the_condition: - other: "Rank fail to meet the condition." + other: "El rango no cumple la condición." report: handle_failed: - other: "Report handle failed." + other: "Error en el manejador del reporte." not_found: - other: "Report not found." + other: "Informe no encontrado." tag: not_found: other: "Etiqueta no encontrada." recommend_tag_not_found: - other: "Recommend Tag is not exist." + other: "Etiqueta recomendada no existe." recommend_tag_enter: other: "Por favor, introduce al menos una de las etiquetas requeridas." not_contain_synonym_tags: @@ -109,13 +109,13 @@ backend: other: "No se puede establecer como sinónimo de una etiqueta la propia etiqueta." smtp: config_from_name_cannot_be_email: - other: "The From Name cannot be a email address." + other: "¡Su nombre de usuario no puede ser una dirección de correo electrónico!" theme: not_found: other: "Tema no encontrado." revision: review_underway: - other: "Can't edit currently, there is a version in the review queue." + other: "No se puede editar actualmente, hay una versión en la cola de revisiones." no_permission: other: "Sin permiso para revisar." user: @@ -236,9 +236,30 @@ backend: #The following fields are used for interface presentation(Front-end) ui: how_to_format: - title: How to Format + title: Cómo formatear desc: >- -
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+
    +
  • Para hacer enlaces

    +
    +       <https://url.com>

    [Title](https://url.com) +
    +
    +
  • +
  • Colocar saltos de línea entre párrafos

  • +
  • _cursiva_ o **negrita**

  • +
  • Indentar el código con 4 espacios

  • +
  • Citar colocando > al inicio de la línea

  • +
  • Escape con backticks `como _esto_`

  • +
  • Crear barreras de código con backticks `

    +
    +       
    +       ```
    + código aquí
    + ``` +
    +
    +
  • +
pagination: prev: Anterior next: Siguiente @@ -287,13 +308,13 @@ ui: chart: text: Gráfica flow_chart: Diagrama de flujo - sequence_diagram: Sequence diagram - class_diagram: Class diagram - state_diagram: State diagram - entity_relationship_diagram: Entity relationship diagram - user_defined_diagram: User defined diagram + sequence_diagram: Diagrama de secuencia + class_diagram: Diagrama de clase + state_diagram: Diagrama de estado + entity_relationship_diagram: Diagrama de relación de entidad + user_defined_diagram: Diagrama definido por el usuario gantt_chart: Diagrama de Gantt - pie_chart: Pie chart + pie_chart: Grafico de torta code: text: Código add_code: Añadir código @@ -381,7 +402,7 @@ ui: heading: Encabezado cell: Celda close_modal: - title: I am closing this post as... + title: Estoy cerrando este post como... btn_cancel: Cancelar btn_submit: Enviar remark: @@ -389,11 +410,11 @@ ui: msg: empty: Por favor selecciona una razón. report_modal: - flag_title: I am flagging to report this post as... - close_title: I am closing this post as... - review_question_title: Review question - review_answer_title: Review answer - review_comment_title: Review comment + flag_title: Estoy marcando este post como... + close_title: Estoy cerrando este post como... + review_question_title: Revisar pregunta + review_answer_title: Revisar respuesta + review_comment_title: Revisar comentario btn_cancel: Cancelar btn_submit: Enviar remark: @@ -408,7 +429,7 @@ ui: label: Nombre a mostrar msg: empty: El nombre a mostrar no puede estar vacío. - range: Display name up to 35 characters. + range: Nombre a mostrar con un máximo de 35 caracteres. slug_name: label: URL amigable desc: 'Debe usar el conjunto de caracteres "a-z", "0-9", "+ # - ."' @@ -426,16 +447,16 @@ ui: history: Historial synonyms: title: Sinónimos - text: The following tags will be remapped to + text: Las siguientes etiquetas serán reasignadas a empty: No se encontraron sinónimos. btn_add: Añadir un sinónimo btn_edit: Editar btn_save: Guardar - synonyms_text: The following tags will be remapped to + synonyms_text: Las siguientes etiquetas serán reasignadas a delete: title: Eliminar esta etiqueta content: >- -

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+

No se permite la eliminación de etiquetas con posts.

Por favor antes elimina esta etiqueta del post.

content2: '¿Estás seguro de que deseas borrarlo?' close: Cerrar edit_tag: @@ -508,16 +529,16 @@ ui: tag_label: preguntas search_placeholder: Filtrar por nombre de etiqueta no_desc: La etiqueta no tiene descripción. - more: More + more: Mas ask: - title: Add Question - edit_title: Edit Question - default_reason: Edit question + title: Agregar una pregunta + edit_title: Editar pregunta + default_reason: Editar pregunta similar_questions: Preguntas similares form: fields: revision: - label: Revision + label: Revisión title: label: Título placeholder: Sé preciso e imagina que le estás preguntando esto a una persona @@ -585,7 +606,8 @@ ui: msg: empty: No puede estar en blanco. login: - page_title: Bienvenido a Answer + page_title: Bienvenido a {{site_name}} + login_to_continue: Inicia sesión para continuar info_sign: '¿No tienes cuenta? <1>Regístrate' info_login: '¿Ya tienes una cuenta? <1>Inicia sesión' agreements: Al registrarte, aceptas la <1>política de privacidad y los <3>términos de servicio. @@ -666,7 +688,7 @@ ui: custom: Propia btn_refresh: Actualizar custom_text: Puedes subir tu propia imagen. - default: System + default: Sistema msg: Por favor, sube una imagen bio: label: Sobre mí (opcional) @@ -693,11 +715,11 @@ ui: msg: El correo electrónico no puede estar vacío. password_title: Password current_pass: - label: Current Password + label: Contraseña actual msg: - empty: Current Password cannot be empty. - length: The length needs to be between 8 and 32. - different: The two entered passwords do not match. + empty: La contraseña actual no puede estar vacía. + length: El largo necesita estar entre 8 y 32 caracteres. + different: Las contraseñas no coinciden. new_pass: label: Nueva Contraseña pass_confirm: @@ -712,7 +734,7 @@ ui: update_password: Contraseña cambiada con éxito. flag_success: Gracias por reportar. forbidden_operate_self: No puedes modificar tu propio usuario - review: Your revision will show after review. + review: Tu revisión será visible luego de ser aprobada. related_question: title: Preguntas relacionadas btn: Añadir pregunta @@ -726,7 +748,7 @@ ui: Follow: Seguir Following: Siguiendo answered: respondida - closed_in: Closed in + closed_in: Cerrado el show_exist: Mostrar una pregunta existente. answers: title: Respuestas @@ -750,9 +772,13 @@ ui: delete: title: Eliminar esta publicación question: >- - We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + No recomendamos borrar preguntas con respuestas porque esto priva a los lectores futuros de este conocimiento. +

+ El borrado repetido de preguntas respondidas puede resultar en que tu cuenta se bloquee para hacer preguntas. ¿Estás seguro de que deseas borrarlo? answer_accepted: >- -

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? +

No recomendamos borrar la respuesta aceptada porque esto priva a los lectores futuros de este conocimiento.

+ + El borrado repetido de respuestas aceptadas puede resultar en que tu cuenta se bloquee para responder. ¿Estás seguro de que deseas borrarlo? other: '¿Estás seguro de que deseas borrarlo?' tip_question_deleted: Esta publicación ha sido eliminada tip_answer_deleted: Esta respuesta ha sido eliminada @@ -782,13 +808,13 @@ ui: newest: Más reciente active: Activas score: Puntuación - more: More + more: Mas tips: - title: Advanced Search Tips - tag: "<1>[tag] search withing a tag" - user: "<1>user:username search by author" - answer: "<1>answers:0 unanswered questions" - score: "<1>score:3 posts with a 3+ score" + title: Consejos de búsqueda avanzada + tag: "<1>[tag] búsqueda por etiquetas" + user: "<1>user:username búsqueda por autor" + answer: "<1>answers:0 preguntas sin responder" + score: "<1>score:3 Publicaciones con un puntaje de 3 o más" question: "<1>is:question buscar preguntas" is_answer: "<1>is:answer buscar respuestas" empty: No pudimos encontrar nada.
Prueba a buscar con palabras diferentes o menos específicas. @@ -810,14 +836,14 @@ ui: Lo sentimos, este link de confirmación de cuenta ya no es válido. ¿Quizás tu cuenta ya está activa? confirm_new_email: Tu email ha sido actualizado. confirm_new_email_invalid: >- - Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + Lo siento, este enlace de confirmación ya no es válido. ¿Quizás ya se haya cambiado tu correo electrónico? unsubscribe: page_title: Desuscribir success_title: Desuscrito con éxito success_desc: Has sido eliminado con éxito de esta lista de suscriptores y no recibirás más correos electrónicos nuestros. link: Cambiar ajustes question: - following_tags: Following Tags + following_tags: Etiquetas seguidas edit: Editar save: Guardar follow_tag_tip: Sigue etiquetas para personalizar tu lista de preguntas. @@ -828,8 +854,8 @@ ui: questions: Preguntas answers: Respuestas newest: Más reciente - active: Active - frequent: Frequent + active: Activo + frequent: Frecuente score: Puntuación unanswered: Sin respuesta modified: modificada @@ -852,8 +878,8 @@ ui: score: Puntuación edit_profile: Editar perfil visited_x_days: "Visitado {{ count }} días" - viewed: Viewed - joined: Joined + viewed: Visto + joined: Unido last_login: Seen about_me: Sobre mí about_me_empty: "// ¡Hola Mundo!" @@ -1222,14 +1248,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/fi_FI.yaml b/i18n/fi_FI.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/fi_FI.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/fr_FR.yaml b/i18n/fr_FR.yaml index 42935cdf..09b47b3f 100644 --- a/i18n/fr_FR.yaml +++ b/i18n/fr_FR.yaml @@ -81,7 +81,7 @@ backend: not_found: other: "Question non trouvée." cannot_deleted: - other: "Pas de permission de suppression." + other: "Pas de permission pour supprimer." cannot_close: other: "Pas de permission pour fermer." cannot_update: @@ -98,11 +98,11 @@ backend: not_found: other: "Tag non trouvé." recommend_tag_not_found: - other: "L'étiquette de recommandation n'existe pas." + other: "Le tag de recommandation n'existe pas." recommend_tag_enter: - other: "Veuillez entrer au moins une étiquette." + other: "Veuillez entrer au moins un des tags requis." not_contain_synonym_tags: - other: "Ne dois pas contenir d'étiquettes synonymes." + other: "Ne dois pas contenir de tags synonymes." cannot_update: other: "Pas de permission pour mettre à jour." cannot_set_synonym_as_itself: @@ -117,11 +117,11 @@ backend: review_underway: other: "Impossible d'éditer actuellement, il y a une version dans la file d'attente des revues." no_permission: - other: "Vous n'êtes pas autorisé à répondre." + other: "Vous n'êtes pas autorisé à Vérifier." user: email_or_password_wrong: other: - other: L'e-mail et le mot de passe ne correspondent pas. + other: L'email et le mot de passe ne correspondent pas. not_found: other: "Utilisateur non trouvé." suspended: @@ -238,7 +238,7 @@ ui: how_to_format: title: Comment mettre en forme desc: >- -
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+
  • Pour faire des liens

    <https://url.com>

    [Title](https://url.com)
  • mettre des retour entre les paragraphes

  • _italic_ or **gras**

  • indenter le code par 4 espaces

  • citation en plaçant > au début de la ligne

  • guillemets inversés `comme_ca_`

  • créer une banière de code avec les guillemets inversés `

    ```
    code ici
    ```
pagination: prev: Préc next: Suivant @@ -356,7 +356,7 @@ ui: indent: text: Indentation outdent: - text: Outdent + text: Désindenter italic: text: Mise en valeur link: @@ -407,7 +407,7 @@ ui: display_name: label: Nom d'affichage msg: - empty: Display name cannot be empty. + empty: Le nom d'affichage ne peut être vide. range: Le nom doit contenir moins de 35 caractères. slug_name: label: URL simplifiée @@ -431,41 +431,41 @@ ui: btn_add: Ajouter un synonyme btn_edit: Modifier btn_save: Enregistrer - synonyms_text: The following tags will be remapped to + synonyms_text: Les balises suivantes seront remappées en delete: title: Supprimer cette étiquette content: >- -

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

- content2: Are you sure you wish to delete? - close: Close +

Nous ne permettons pas de supprimer le tag avec les posts.

Veuillez d'abord supprimer ce tag des posts.

+ content2: Etes-vous sûr de vouloir supprimer ? + close: Fermer edit_tag: title: Editer le tag default_reason: Éditer le tag form: fields: revision: - label: Revision + label: Révision display_name: - label: Display Name + label: Nom d'affichage slug_name: - label: URL Slug - info: 'Must use the character set "a-z", "0-9", "+ # - ."' + label: Slug de l'URL + info: 'Doit utiliser le jeu de caractères "a-z", "0-9", "+ # - ."' desc: label: Description edit_summary: - label: Edit Summary + label: Modifier le résumé placeholder: >- - Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + Expliquez brièvement vos changements (correction orthographique, correction grammaticale, mise en forme améliorée) btn_save_edits: Enregistrer les modifications btn_cancel: Annuler dates: - long_date: MMM D - long_date_with_year: "MMM D, YYYY" - long_date_with_time: "MMM D, YYYY [at] HH:mm" + long_date: D MMM + long_date_with_year: "D MMMM YYYY" + long_date_with_time: "D MMM YYYY [at] HH:mm" now: maintenant - x_seconds_ago: "{{count}}s ago" - x_minutes_ago: "{{count}}m ago" - x_hours_ago: "{{count}}h ago" + x_seconds_ago: "il y a {{count}}s" + x_minutes_ago: "il y a {{count}}m" + x_hours_ago: "il y a {{count}}h" hour: heure day: jour comment: @@ -479,7 +479,7 @@ ui: btn_cancel: Annuler show_more: Afficher plus de commentaires tip_question: >- - Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + Utilisez les commentaires pour demander plus d'informations ou suggérer des améliorations. Évitez de répondre aux questions dans les commentaires. tip_answer: >- Utilisez des commentaires pour répondre à d'autres utilisateurs ou leur signaler des modifications. Si vous ajoutez de nouvelles informations, modifiez votre message au lieu de commenter. edit_answer: @@ -560,12 +560,12 @@ ui: setting: Paramètres logout: Se déconnecter admin: Administration - review: Review + review: Vérifier search: placeholder: Rechercher footer: build_on: >- - Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + Construit sur <1> Answer - le logiciel open-source qui aide les communautés à répondre aux questions.
Fait avec amour © {{cc}}. upload_img: name: Remplacer loading: chargement en cours... @@ -577,38 +577,39 @@ ui: inactive: first: >- Vous avez presque fini ! Un mail de confirmation a été envoyé à {{mail}}. Veuillez suivre les instructions dans le mail pour activer votre compte. - info: "If it doesn't arrive, check your spam folder." + info: "S'il n'arrive pas, vérifiez dans votre dossier spam." another: >- - We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + Nous vous avons envoyé un autre e-mail d'activation à {{mail}}. Cela peut prendre quelques minutes pour arriver ; assurez-vous de vérifier votre dossier spam. btn_name: Renvoyer le mail d'activation - change_btn_name: Change email + change_btn_name: Modifier l'e-mail msg: empty: Ne peut pas être vide. login: - page_title: Welcome to Answer - info_sign: Don't have an account? <1>Sign up - info_login: Already have an account? <1>Log in - agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. - forgot_pass: Forgot password? + page_title: Bienvenue sur {{site_name}} + login_to_continue: Connectez-vous pour continuer + info_sign: Vous n'avez pas de compte ? <1>Inscrivez-vous + info_login: Vous avez déjà un compte ? <1>Connectez-vous + agreements: En vous inscrivant, vous acceptez la <1>politique de confidentialité et les <3>conditions de service. + forgot_pass: Mot de passe oublié ? name: - label: Name + label: Nom msg: empty: Le nom ne peut pas être vide. range: Le nom doit contenir moins de 30 caractères. email: label: Email msg: - empty: Email cannot be empty. + empty: L'email ne peut pas être vide. password: label: Mot de passe msg: - empty: Password cannot be empty. - different: The passwords entered on both sides are inconsistent + empty: Le mot de passe ne peut pas être vide. + different: Les mots de passe saisis ne sont pas identiques account_forgot: page_title: Mot de passe oublié btn_name: Envoyer un e-mail de récupération send_success: >- - If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + Si un compte est associé à {{mail}}, vous recevrez un email contenant les instructions pour réinitialiser votre mot de passe. email: label: E-mail msg: @@ -618,25 +619,25 @@ ui: btn_cancel: Annuler btn_update: Mettre à jour l'adresse e-mail send_success: >- - If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + Si un compte est associé à {{mail}}, vous recevrez un email contenant les instructions pour réinitialiser votre mot de passe. email: label: Nouvel e-mail msg: - empty: Email cannot be empty. + empty: L'email ne peut pas être vide. password_reset: page_title: Réinitialiser le mot de passe btn_name: Réinitialiser mon mot de passe reset_success: >- Vous avez modifié votre mot de passe avec succès ; vous allez être redirigé vers la page de connexion. link_invalid: >- - Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + Désolé, ce lien de réinitialisation de mot de passe n'est plus valide. Peut-être que votre mot de passe est déjà réinitialisé ? to_login: Continuer vers la page de connexion password: label: Mot de passe msg: empty: Le mot de passe ne peut pas être vide. - length: The length needs to be between 8 and 32 - different: The passwords entered on both sides are inconsistent + length: La longueur doit être comprise entre 8 et 32 + different: Les mots de passe saisis ne sont pas identiques password_confirm: label: Confirmer le nouveau mot de passe settings: @@ -651,29 +652,29 @@ ui: btn_name: Enregistrer display_name: label: Nom affiché - msg: Display name cannot be empty. - msg_range: Display name up to 30 characters + msg: Le nom ne peut être vide. + msg_range: Le nom doit contenir moins de 30 caractères username: label: Nom d'utilisateur - caption: People can mention you as "@username". + caption: Les gens peuvent vous mentionner avec "@username". msg: Le nom d'utilisateur ne peut pas être vide. - msg_range: Username up to 30 characters - character: 'Must use the character set "a-z", "0-9", " - . _"' + msg_range: Le nom d'utilisateur doit contenir moins de 30 caractères + character: 'Doit utiliser seulement les caractères "a-z", "0-9", " - . _"' avatar: label: Image de profil gravatar: Gravatar - gravatar_text: You can change image on <1>gravatar.com + gravatar_text: Vous pouvez changer d'image sur <1>gravatar.com custom: Personnaliser btn_refresh: Actualiser - custom_text: You can upload your image. + custom_text: Vous pouvez charger votre image. default: Système - msg: Please upload an avatar + msg: Veuillez charger un avatar bio: label: À propos de moi (optionnel) website: label: Site web (facultatif) placeholder: "https://example.com" - msg: Website incorrect format + msg: Format du site web incorrect location: label: Emplacement (facultatif) placeholder: "Ville, Pays" @@ -810,7 +811,7 @@ ui: Désolé, ce lien de confirmation n'est plus valide. Votre compte est peut-être déjà activé ? confirm_new_email: Votre adresse email a été mise à jour. confirm_new_email_invalid: >- - Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + Désolé, ce lien de confirmation n'est plus valide. Votre email est peut-être déjà modifié ? unsubscribe: page_title: Se désabonner success_title: Désabonnement réussi @@ -820,7 +821,7 @@ ui: following_tags: Hashtags suivis edit: Éditer save: Enregistrer - follow_tag_tip: Follow tags to curate your list of questions. + follow_tag_tip: Suivez les tags pour organiser votre liste de questions. hot_questions: Questions populaires all_questions: Toutes les questions x_questions: "{{ count }} questions" @@ -831,56 +832,56 @@ ui: active: Actif frequent: Fréquents score: Score - unanswered: Unanswered - modified: modified - answered: answered - asked: asked - closed: closed - follow_a_tag: Follow a tag - more: More + unanswered: Sans réponse + modified: modifié + answered: répondu + asked: demandé + closed: fermé + follow_a_tag: Suivre ce tag + more: Plus personal: - overview: Overview - answers: Answers - answer: answer + overview: Aperçu + answers: Réponses + answer: réponse questions: Questions question: question - bookmarks: Bookmarks - reputation: Reputation - comments: Comments + bookmarks: Favoris + reputation: Réputation + comments: Commentaires votes: Votes - newest: Newest + newest: Les plus récents score: Score edit_profile: Modifier votre profil - visited_x_days: "Visited {{ count }} days" - viewed: Viewed - joined: Joined + visited_x_days: "Visité {{ count }} jours" + viewed: Vu + joined: Inscrit last_login: Vu about_me: À propos de moi about_me_empty: "// Hello, World !" top_answers: Les meilleures réponses top_questions: Questions les plus populaires - stats: Stats - list_empty: No posts found.
Perhaps you'd like to select a different tab? - accepted: Accepted - answered: answered - asked: asked - upvote: upvote - downvote: downvote - mod_short: Mod - mod_long: Moderators - x_reputation: reputation - x_votes: votes received - x_answers: answers + stats: Statistiques + list_empty: Aucune publication trouvée.
Peut-être souhaiteriez-vous sélectionner un autre onglet ? + accepted: Accepté + answered: a répondu + asked: a demandé + upvote: voter pour + downvote: voter contre + mod_short: Modérateurs + mod_long: Modérateurs + x_reputation: réputation + x_votes: votes reçus + x_answers: réponses x_questions: questions install: - title: Answer - next: Next - done: Done - config_yaml_error: Can’t create the config.yaml file. + title: Réponse + next: Suivant + done: Terminé + config_yaml_error: Impossible de créer le fichier config.yaml. lang: label: Veuillez choisir une langue db_type: - label: Database Engine + label: Type de base de données db_username: label: Nom d'utilisateur placeholder: root @@ -888,465 +889,465 @@ ui: db_password: label: Mot de passe placeholder: root - msg: Password cannot be empty. + msg: Le mot de passe ne peut pas être vide. db_host: - label: Database Host + label: Hôte de base de données placeholder: "db:3306" - msg: Database Host cannot be empty. + msg: L'hôte de la base de données ne peut pas être vide. db_name: - label: Database Name + label: Nom de la base de donnée placeholder: réponse - msg: Database Name cannot be empty. + msg: Le nom de la base de données ne peut pas être vide. db_file: - label: Database File + label: Fichier de la base de données placeholder: /data/answer.db - msg: Database File cannot be empty. + msg: Le fichier ne doit pas être vide. config_yaml: - title: Create config.yaml - label: The config.yaml file created. + title: Créer config.yaml + label: Le fichier config.yaml a été créé. desc: >- - You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. - info: "After you’ve done that, click “Next” button." - site_information: Site Information - admin_account: Admin Account + Vous pouvez créer manuellement le fichier <1>config.yaml dans le répertoire <1>/var/wwww/xxx/ et y coller le texte suivant. + info: "Après avoir fait cela, cliquez sur le bouton \"Suivant\"." + site_information: Informations du site + admin_account: Compte Admin site_name: - label: Site Name - msg: Site Name cannot be empty. + label: Nom du site + msg: Le nom ne peut pas être vide. site_url: - label: Site URL - text: The address of your site. + label: URL du site + text: L'adresse de ce site. msg: - empty: Site URL cannot be empty. - incorrect: Site URL incorrect format. + empty: L'URL ne peut pas être vide. + incorrect: Le format de l'URL est incorrect. contact_email: - label: Contact Email - text: Email address of key contact responsible for this site. + label: Email du contact + text: L'adresse email du responsable du site. msg: - empty: Contact Email cannot be empty. - incorrect: Contact Email incorrect format. + empty: L'adresse email ne peut pas être vide. + incorrect: Le format de l'adresse email du contact est incorrect. admin_name: - label: Name - msg: Name cannot be empty. + label: Nom + msg: Le nom ne peut pas être vide. admin_password: - label: Password + label: Mot de passe text: >- - You will need this password to log in. Please store it in a secure location. - msg: Password cannot be empty. + Vous aurez besoin de ce mot de passe pour vous connecter . Sauvegarder le de façon sécurisée. + msg: Le mot de passe ne peut pas être vide. admin_email: label: Email - text: You will need this email to log in. + text: Vous aurez besoin de cet email pour vous connecter. msg: - empty: Email cannot be empty. - incorrect: Email incorrect format. - ready_title: Your Answer is Ready! + empty: L'email ne peut pas être vide. + incorrect: Le format de l'email est incorrect. + ready_title: Votre Réponse est prête ! ready_desc: >- - If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. - good_luck: "Have fun, and good luck!" - warn_title: Warning + Si vous avez envie de changer plus de paramètres, visitez la <1>section admin; retrouvez la dans le menu du site. + good_luck: "Amusez-vous et bonne chance !" + warn_title: Attention warn_desc: >- - The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. - install_now: You may try <1>installing now. - installed: Already installed + Le fichier <1>config.yaml existe déjà. Si vous avez besoin de réinitialiser l'un des éléments de configuration de ce fichier, veuillez le supprimer d'abord. + install_now: Vous pouvez essayer de <1>l'installer maintenant. + installed: Déjà installé installed_desc: >- - You appear to have already installed. To reinstall please clear your old database tables first. - db_failed: Database connection failed + Il semble que se soit déjà installer. Pour tout réinstaller, veuillez d'abord nettoyer votre ancienne base de données. + db_failed: La connexion à la base de données a échoué db_failed_desc: >- - This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + Il semble que les informations de la base de données présentes dans le fichier <1>config.yaml soient incorrect ou que le contact avec le serveur ne puisse pas être établi. Cela peut vouloir dire que l'hôte de la base de données soit non opérationnel. page_404: - desc: "Unfortunately, this page doesn't exist." - back_home: Back to homepage + desc: "Nous sommes désolés, mais cette page n’existe pas." + back_home: Retour à la page d'accueil page_50X: - desc: The server encountered an error and could not complete your request. - back_home: Back to homepage + desc: Le serveur a rencontré une erreur et n'a pas pu répondre à votre requête. + back_home: Retour à la page d'accueil page_maintenance: - desc: "We are under maintenance, we’ll be back soon." + desc: "Nous sommes en maintenance, nous serons bientôt de retour." nav_menus: - dashboard: Dashboard - contents: Contents + dashboard: Tableau de bord + contents: Contenus questions: Questions - answers: Answers - users: Users - flags: Flags - settings: Settings - general: General + answers: Réponses + users: Utilisateurs + flags: Signalements + settings: Paramètres + general: Général interface: Interface smtp: SMTP - branding: Branding - legal: Legal - write: Write - tos: Terms of Service - privacy: Privacy + branding: Marque + legal: Légal + write: Écrire + tos: Conditions d'utilisation + privacy: Confidentialité seo: SEO - customize: Customize - themes: Themes + customize: Personnaliser + themes: Thèmes css-html: CSS/HTML - login: Login + login: Se connecter admin: admin_header: title: Admin dashboard: - title: Dashboard - welcome: Welcome to Answer Admin! - site_statistics: Site Statistics - questions: "Questions:" - answers: "Answers:" - comments: "Comments:" + title: Tableau de bord + welcome: Bienvenue sur l'admin d'Answer! + site_statistics: Statistiques du site + questions: "Questions :" + answers: "Réponses :" + comments: "Commentaires :" votes: "Votes:" - active_users: "Active users:" - flags: "Flags:" - site_health_status: Site Health Status - version: "Version:" - https: "HTTPS:" - uploading_files: "Uploading files:" - smtp: "SMTP:" - timezone: "Timezone:" - system_info: System Info - storage_used: "Storage used:" - uptime: "Uptime:" - answer_links: Answer Links + active_users: "Utilisateurs actifs :" + flags: "Signalements:" + site_health_status: Etat de santé du site + version: "Version :" + https: "HTTPS :" + uploading_files: "Envoyer des fichiers :" + smtp: "SMTP :" + timezone: "Fuseau horaire :" + system_info: Informations du système + storage_used: "Stockage utilisé :" + uptime: "Uptime :" + answer_links: Liens de réponse documents: Documents - feedback: Feedback + feedback: Commentaires support: Support - review: Review - config: Config - update_to: Update to - latest: Latest - check_failed: Check failed - "yes": "Yes" - "no": "No" - not_allowed: Not allowed - allowed: Allowed - enabled: Enabled - disabled: Disabled + review: Vérifier + config: Configuration + update_to: Mise à jour vers + latest: Récents + check_failed: Vérification échouée + "yes": "Oui" + "no": "Non" + not_allowed: Non autorisé + allowed: Autorisé + enabled: Activé + disabled: Désactivé flags: - title: Flags - pending: Pending - completed: Completed - flagged: Flagged - created: Created + title: Signalements + pending: En attente + completed: Complété + flagged: Signalé + created: Créé action: Action - review: Review + review: Vérification change_modal: - title: Change user status to... - btn_cancel: Cancel - btn_submit: Submit + title: Changer statut de l`utilisateur en... + btn_cancel: Annuler + btn_submit: Soumettre normal_name: normal - normal_desc: A normal user can ask and answer questions. - suspended_name: suspended - suspended_desc: A suspended user can't log in. - deleted_name: deleted - deleted_desc: "Delete profile, authentication associations." - inactive_name: inactive - inactive_desc: An inactive user must re-validate their email. - confirm_title: Delete this user - confirm_content: Are you sure you want to delete this user? This is permanent! - confirm_btn: Delete + normal_desc: Un utilisateur normal peut poser et répondre aux questions. + suspended_name: suspendu + suspended_desc: Un utilisateur suspendu ne peut pas se connecter. + deleted_name: supprimé + deleted_desc: "Supprimer le profil et les informations d'authentification associées." + inactive_name: inactif + inactive_desc: Un utilisateur inactif doit revalider son email. + confirm_title: Supprimer cet utilisateur + confirm_content: Êtes-vous sûr de vouloir supprimer cet utilisateur ? Cette action est définitive ! + confirm_btn: Supprimer msg: - empty: Please select a reason. + empty: Veuillez sélectionner une raison. status_modal: - title: "Change {{ type }} status to..." + title: "Changer le statut de {{ type }} en..." normal_name: normal - normal_desc: A normal post available to everyone. - closed_name: closed - closed_desc: "A closed question can't answer, but still can edit, vote and comment." - deleted_name: deleted - deleted_desc: All reputation gained and lost will be restored. - btn_cancel: Cancel - btn_submit: Submit - btn_next: Next + normal_desc: Un message normal accessible à tous. + closed_name: fermé + closed_desc: "Une question fermée ne peut pas être répondue, mais peut-être quand même modifiée, votée et commentée." + deleted_name: supprimé + deleted_desc: Tous les points de réputation gagnés et perdus seront restaurés. + btn_cancel: Annuler + btn_submit: Valider + btn_next: Suivant user_role_modal: - title: Change user role to... - btn_cancel: Cancel - btn_submit: Submit + title: Changer le rôle d'un utilisateur en... + btn_cancel: Annuler + btn_submit: Valider users: - title: Users - name: Name + title: Utilisateurs + name: Nom email: Email - reputation: Reputation - created_at: Created Time - delete_at: Deleted Time - suspend_at: Suspended Time - status: Status - role: Role + reputation: Réputation + created_at: Date de création + delete_at: Date de suppression + suspend_at: Temps de suspension + status: Statut + role: Rôle action: Action - change: Change - all: All + change: Modifier + all: Tous staff: Staff - inactive: Inactive - suspended: Suspended - deleted: Deleted + inactive: Inactif + suspended: Suspendu + deleted: Supprimé normal: Normal - Moderator: Moderator + Moderator: Modérateur Admin: Admin - User: User + User: Utilisateur filter: - placeholder: "Filter by name, user:id" - set_new_password: Set new password - change_status: Change status - change_role: Change role - show_logs: Show logs - add_user: Add user + placeholder: "Filtrer par nom, utilisateur:id" + set_new_password: Définir un nouveau mot de passe + change_status: Modifier le statut + change_role: Modifier le rôle + show_logs: Voir les logs + add_user: Ajouter un utilisateur new_password_modal: - title: Set new password + title: Définir un nouveau mot de passe form: fields: password: - label: Password - text: The user will be logged out and need to login again. - msg: Password must be at 8 - 32 characters in length. - btn_cancel: Cancel - btn_submit: Submit + label: Mot de passe + text: L'utilisateur sera déconnecté et devra se reconnecter. + msg: Le mot de passe doit comporter entre 8 et 32 caractères. + btn_cancel: Annuler + btn_submit: Valider user_modal: - title: Add new user + title: Ajouter un nouvel utilisateur form: fields: display_name: - label: Display Name - msg: display_name must be at 4 - 30 characters in length. + label: Nom affiché + msg: le nom affiché doit avoir une longueur de 4 à 30 caractères. email: label: Email - msg: Email is not valid. + msg: L'email n'est pas valide. password: - label: Password - msg: Password must be at 8 - 32 characters in length. - btn_cancel: Cancel - btn_submit: Submit + label: Mot de passe + msg: Le mot de passe doit comporter entre 8 et 32 caractères. + btn_cancel: Annuler + btn_submit: Valider questions: page_title: Questions normal: Normal - closed: Closed - deleted: Deleted - post: Post + closed: Fermé + deleted: Supprimé + post: Publication votes: Votes - answers: Answers - created: Created - status: Status + answers: Réponses + created: Créé + status: Statut action: Action - change: Change + change: Modifier filter: - placeholder: "Filter by title, question:id" + placeholder: "Filtrer par titre, question:id" answers: - page_title: Answers + page_title: Réponses normal: Normal - deleted: Deleted - post: Post + deleted: Supprimé + post: Publication votes: Votes - created: Created - status: Status + created: Créé + status: Statut action: Action - change: Change + change: Modifier filter: - placeholder: "Filter by title, answer:id" + placeholder: "Filtrer par titre, question:id" general: - page_title: General + page_title: Général name: - label: Site Name - msg: Site name cannot be empty. - text: "The name of this site, as used in the title tag." + label: Nom du site + msg: Le nom ne peut pas être vide. + text: "Le nom de ce site, tel qu'il est utilisé dans la balise titre." site_url: - label: Site URL - msg: Site url cannot be empty. - validate: Please enter a valid URL. - text: The address of your site. + label: URL du site + msg: L'URL ne peut pas être vide. + validate: Indiquez une URL valide. + text: L'adresse de ce site. short_desc: - label: Short Site Description (optional) - msg: Short site description cannot be empty. - text: "Short description, as used in the title tag on homepage." + label: Description courte (optionnel) + msg: La description courte ne peut pas être vide. + text: "La description courte, telle qu'elle est utilisée dans le tag titre de la page d'accueil." desc: - label: Site Description (optional) - msg: Site description cannot be empty. - text: "Describe this site in one sentence, as used in the meta description tag." + label: Description du site (optionnel) + msg: La description du site ne peut pas être vide. + text: "Décrivez ce site en une phrase, telle qu'elle est utilisée dans la balise meta description." contact_email: - label: Contact Email - msg: Contact email cannot be empty. - validate: Contact email is not valid. - text: Email address of key contact responsible for this site. + label: Email de contact + msg: L'email de contact ne peut pas être vide. + validate: L'email de contact n'est pas valide. + text: L'adresse email du responsable du site. interface: page_title: Interface logo: - label: Logo (optional) - msg: Site logo cannot be empty. - text: You can upload your image or <1>reset it to the site title text. + label: Logo (optionnel) + msg: Le logo ne peut pas être vide. + text: Vous pouvez télécharger votre image ou la <1>réinitialiser sur le texte du titre du site. theme: - label: Theme - msg: Theme cannot be empty. - text: Select an existing theme. + label: Thème + msg: Le thème ne peut pas être vide. + text: Sélectionne un thème existant. language: - label: Interface Language - msg: Interface language cannot be empty. - text: User interface language. It will change when you refresh the page. + label: Langue de l'interface + msg: La langue de l'interface ne peut pas être vide. + text: Langue de l'interface de l'utilisateur. Cela changera lorsque vous rafraîchissez la page. time_zone: - label: Timezone - msg: Timezone cannot be empty. - text: Choose a city in the same timezone as you. + label: Fuseau Horaire + msg: Le fuseau horaire ne peut pas être vide. + text: Choisissez une ville dans le même fuseau horaire que vous. smtp: page_title: SMTP from_email: - label: From Email - msg: From email cannot be empty. - text: The email address which emails are sent from. + label: Email expéditeur + msg: L'email expéditeur ne peut pas être vide. + text: L'adresse email à partir de laquelle les emails sont envoyés. from_name: - label: From Name - msg: From name cannot be empty. - text: The name which emails are sent from. + label: Nom expéditeur + msg: Le nom expéditeur ne peut pas être vide. + text: Le nom d'expéditeur à partir duquel les emails sont envoyés. smtp_host: - label: SMTP Host - msg: SMTP host cannot be empty. - text: Your mail server. + label: Hôte SMTP + msg: Le'hôte SMTP ne peut pas être vide. + text: Votre serveur de mail. encryption: - label: Encryption - msg: Encryption cannot be empty. - text: For most servers SSL is the recommended option. + label: Chiffrement + msg: Le chiffrement ne peut pas être vide. + text: Pour la plupart des serveurs, l'option SSL est recommandée. ssl: SSL - none: None + none: Aucun smtp_port: - label: SMTP Port - msg: SMTP port must be number 1 ~ 65535. - text: The port to your mail server. + label: Port SMTP + msg: Le port SMTP doit être compris entre 1 et 65535. + text: Le port vers votre serveur d'email. smtp_username: - label: SMTP Username - msg: SMTP username cannot be empty. + label: Nom d'utilisateur SMTP + msg: Le nom d'utilisateur SMTP ne peut pas être vide. smtp_password: - label: SMTP Password - msg: SMTP password cannot be empty. + label: Mot de passe SMTP + msg: Le mot de passe SMTP ne peut être vide. test_email_recipient: - label: Test Email Recipients - text: Provide email address that will receive test sends. - msg: Test email recipients is invalid + label: Destinataires de l'email de test + text: Indiquez l'adresse email qui recevra l'email de test. + msg: Le destinataire de l'email de test est invalide smtp_authentication: - label: Enable authentication - title: SMTP Authentication - msg: SMTP authentication cannot be empty. - "yes": "Yes" - "no": "No" + label: Activer l'authentification + title: Authentification SMTP + msg: L'authentification SMTP ne peut pas être vide. + "yes": "Oui" + "no": "Non" branding: - page_title: Branding + page_title: Marque logo: - label: Logo - msg: Logo cannot be empty. - text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + label: Logo (optionnel) + msg: Le logo ne peut pas être vide. + text: L'image du logo en haut à gauche de votre site. Utilisez une grande image rectangulaire avec une hauteur de 56 et un ratio d'aspect supérieur à 3:1. Si laissé vide, le titre du site sera affiché. mobile_logo: - label: Mobile Logo (optional) - text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + label: Logo mobile (optionnel) + text: Le logo utilisé sur la version mobile de votre site. Utilisez une image rectangulaire large avec une hauteur de 56. Si laissé vide, l'image du paramètre « logo » sera utilisée. square_icon: - label: Square Icon - msg: Square icon cannot be empty. - text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + label: Icône carrée (optionnel) + msg: L'icône carrée ne peut pas être vide. + text: Image utilisée comme base pour les icônes de métadonnées. Idéalement supérieure à 512x512. favicon: - label: Favicon (optional) - text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + label: Favicon (optionnel) + text: Une favicon pour votre site. Pour fonctionner correctement sur un CDN, il doit s'agir d'un png. Sera redimensionné en 32x32. Si laissé vide, « icône carrée » sera utilisé. legal: - page_title: Legal + page_title: Légal terms_of_service: - label: Terms of Service - text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + label: Conditions d'utilisation + text: "Vous pouvez ajouter le contenu des conditions de service ici. Si vous avez déjà un document hébergé ailleurs, veuillez fournir l'URL complète ici." privacy_policy: - label: Privacy Policy - text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + label: Politique de Confidentialité + text: "Vous pouvez ajouter le contenu des conditions de service ici. Si vous avez déjà un document hébergé ailleurs, veuillez fournir l'URL complète ici." write: - page_title: Write + page_title: Écrire recommend_tags: - label: Recommend Tags - text: "Please input tag slug above, one tag per line." + label: Tags recommandés + text: "Veuillez entrer le slug du tag ci-dessus, un tag par ligne." required_tag: - title: Required Tag - label: Set recommend tag as required - text: "Every new question must have at least one recommend tag." + title: Tag requis + label: Définir le tag recommandé si cela est requis + text: "Chaque nouvelle question doit avoir au moins un tag recommandé." reserved_tags: - label: Reserved Tags - text: "Reserved tags can only be added to a post by moderator." + label: Tags réservés + text: "Les tags réservés ne peuvent être ajoutés à un message que par un modérateur." seo: page_title: SEO permalink: - label: Permalink - text: Custom URL structures can improve the usability, and forward-compatibility of your links. + label: Lien permanent + text: Des structures d'URL personnalisées peuvent améliorer la facilité d'utilisation et la compatibilité de vos liens. robots: label: robots.txt - text: This will permanently override any related site settings. + text: Ceci remplacera définitivement tous les paramètres liés au site. themes: - page_title: Themes + page_title: Thèmes themes: - label: Themes - text: Select an existing theme. + label: Thèmes + text: Sélectionne un thème existant. navbar_style: - label: Navbar Style - text: Select an existing theme. + label: Style de la Navbar + text: Sélectionne un thème existant. primary_color: - label: Primary Color - text: Modify the colors used by your themes + label: Couleur primaire + text: Modifier les couleurs utilisées par vos thèmes css_and_html: - page_title: CSS and HTML + page_title: CSS et HTML custom_css: - label: Custom CSS - text: This will insert as + label: CSS personnalisé + text: Ceci va être inséré en tant que head: label: Head - text: This will insert before + text: Ceci va être inséré avant header: label: Header - text: This will insert after + text: Ceci va être inséré dans le footer: label: Footer - text: This will insert before . + text: Ceci va être inséré avant . login: - page_title: Login + page_title: Se connecter membership: - title: Membership - label: Allow new registrations - text: Turn off to prevent anyone from creating a new account. + title: Adhésion + label: Autoriser les inscriptions + text: Désactivez pour empêcher quiconque de créer un nouveau compte. private: - title: Private - label: Login required - text: Only logged in users can access this community. + title: Privé + label: Connexion requise + text: Seuls les utilisateurs connectés peuvent accéder à cette communauté. form: - empty: cannot be empty - invalid: is invalid - btn_submit: Save - not_found_props: "Required property {{ key }} not found." + empty: ne peut pas être vide + invalid: est invalide + btn_submit: Sauvegarder + not_found_props: "La propriété requise {{ key }} est introuvable." page_review: - review: Review - proposed: proposed - question_edit: Question edit - answer_edit: Answer edit - tag_edit: Tag edit - edit_summary: Edit summary + review: Vérifier + proposed: proposé + question_edit: Modifier la question + answer_edit: Modifier la réponse + tag_edit: Modifier le tag + edit_summary: Modifier le résumé edit_question: Modifier la question edit_answer: Modifier la réponse edit_tag: Modifier l’étiquette - empty: No review tasks left. + empty: Aucune révision restante. timeline: undeleted: restauré deleted: supprimé downvote: vote négatif - upvote: upvote + upvote: voter pour accept: accepté cancelled: annulé commented: commenté - rollback: rollback + rollback: Retour arrière (Rollback) edited: modifié answered: répondu asked: demandé closed: fermé reopened: réouvert created: créé - title: "History for" - tag_title: "Timeline for" + title: "Historique de" + tag_title: "Chronologie de" show_votes: "Afficher les votes" n_or_a: N/A - title_for_question: "Timeline for" - title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" - title_for_tag: "Timeline for tag" + title_for_question: "Chronologie de" + title_for_answer: "Chronologie de la réponse à {{ title }} par {{ author }}" + title_for_tag: "Chronologie pour le tag" datetime: Date et heure type: Type by: Par - comment: Comment + comment: Commentaire no_data: "Nous n'avons rien pu trouver." users: title: Utilisateurs - users_with_the_most_reputation: Users with the highest reputation scores - users_with_the_most_vote: Users who voted the most - staffs: Our community staff - reputation: reputation + users_with_the_most_reputation: Utilisateurs avec les scores de réputation les plus élevés + users_with_the_most_vote: Utilisateurs qui ont le plus voté + staffs: Staff de la communauté + reputation: réputation votes: votes diff --git a/i18n/he_IL.yaml b/i18n/he_IL.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/he_IL.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/hu_HU.yaml b/i18n/hu_HU.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/hu_HU.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/hy_AM.yaml b/i18n/hy_AM.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/hy_AM.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/i18n.yaml b/i18n/i18n.yaml index bcbfaa9c..87db7100 100644 --- a/i18n/i18n.yaml +++ b/i18n/i18n.yaml @@ -1,26 +1,26 @@ # all support language language_options: + - label: "English(US)" + value: "en_US" + - label: "Español(ES)" + value: "es_ES" + - label: "Português(PT)" + value: "pt_PT" + - label: "Deutsch(DE)" + value: "de_DE" + - label: "Français(FR)" + value: "fr_FR" + - label: "日本語(JA)" + value: "ja_JP" + - label: "Italiano(IT)" + value: "it_IT" + - label: "Русский(RU)" + value: "ru_RU" - label: "简体中文(CN)" value: "zh_CN" - label: "繁體中文(CN)" value: "zh_TW" - - label: "English(US)" - value: "en_US" - - label: "Deutsch(DE)" - value: "de_DE" - - label: "Español(ES)" - value: "es_ES" - - label: "Français(FR)" - value: "fr_FR" - - label: "Italiano(IT)" - value: "it_IT" - - label: "日本語(JA)" - value: "ja_JP" - label: "한국어(KO)" value: "ko_KR" - - label: "Português(PT)" - value: "pt_PT" - - label: "Русский(RU)" - value: "ru_RU" - label: "Tiếng Việt(VI)" value: "vi_VN" diff --git a/i18n/id_ID.yaml b/i18n/id_ID.yaml new file mode 100644 index 00000000..b320c846 --- /dev/null +++ b/i18n/id_ID.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Sukses." + unknown: + other: "Kesalahan tidak diketahui." + request_format_error: + other: "Permintaan tidak sah." + unauthorized_error: + other: "Tidak diizinkan." + database_error: + other: "Kesalahan data server." + role: + name: + user: + other: "Pengguna" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default tanpa akses khusus." + admin: + other: "Memiliki hak penuh untuk mengakses website." + moderator: + other: "Memiliki hak penuh pada semua pertanyaan, kecuali pengaturan Admin." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email dan kata sandi tidak cocok." + error: + admin: + email_or_password_wrong: + other: Email dan kata sandi tidak cocok. + answer: + not_found: + other: "Jawaban tidak ditemukan." + cannot_deleted: + other: "Tidak memiliki izin untuk menghapus." + cannot_update: + other: "Tidak memiliki izin untuk memperbaharui." + comment: + edit_without_permission: + other: "Komentar tidak boleh diedit." + not_found: + other: "Komentar tidak ditemukan." + email: + duplicate: + other: "Email telah terdaftar." + need_to_be_verified: + other: "Email harus terverifikasi." + verify_url_expired: + other: "URL verifikasi email telah kadaluwarsa, silahkan kirim ulang." + lang: + not_found: + other: "Bahasa tidak ditemukan." + object: + captcha_verification_failed: + other: "Captcha salah." + disallow_follow: + other: "Anda tidak diizinkan untuk mengikuti." + disallow_vote: + other: "Anda tidak diizinkan untuk melakukan voring." + disallow_vote_your_self: + other: "Anda tidak dapat melakukan voting untuk ulasan Anda sendiri." + not_found: + other: "Objek tidak ditemukan." + verification_failed: + other: "Verifikasi gagal." + email_or_password_incorrect: + other: "Email dan kata sandi tidak cocok." + old_password_verification_failed: + other: "Verifikasi password lama, gagal" + new_password_same_as_previous_setting: + other: "Password baru sama dengan password yang sebelumnya." + question: + not_found: + other: "Pertanyaan tidak ditemukan." + cannot_deleted: + other: "Tidak memiliki izin untuk menghapus." + cannot_close: + other: "Tidak memiliki izin untuk menutup." + cannot_update: + other: "Tidak memiliki izin untuk memperbaharui." + rank: + fail_to_meet_the_condition: + other: "Peringkat gagal memenuhi syarat." + report: + handle_failed: + other: "Laporan penanganan gagal." + not_found: + other: "Laporan tidak ditemukan." + tag: + not_found: + other: "Tag tidak ditemukan." + recommend_tag_not_found: + other: "Tag rekomendasi tidak ada." + recommend_tag_enter: + other: "Silahkan isi setidaknya satu tag yang diperlukan." + not_contain_synonym_tags: + other: "Tidak boleh mengandung Tag sinonim." + cannot_update: + other: "Tidak memiliki izin untuk memperbaharui." + cannot_set_synonym_as_itself: + other: "Anda tidak bisa menetapkan sinonim dari tag saat ini dengan tag yang sama." + smtp: + config_from_name_cannot_be_email: + other: "Nama Pengguna tidak bisa menjadi alamat email." + theme: + not_found: + other: "Tema tidak ditemukan." + revision: + review_underway: + other: "Tidak dapat mengedit saat ini, sedang ada review versi pada antrian." + no_permission: + other: "Tidak memiliki izin untuk merevisi." + user: + email_or_password_wrong: + other: + other: Email dan kata sandi tidak cocok. + not_found: + other: "Pengguna tidak ditemukan." + suspended: + other: "Pengguna ini telah ditangguhkan." + username_invalid: + other: "Nama pengguna tidak valid." + username_duplicate: + other: "Nama pengguna sudah digunakan." + set_avatar: + other: "Set avatar gagal." + cannot_update_your_role: + other: "Anda tidak dapat memodifikasi role anda sendiri." + not_allowed_registration: + other: "Website tidak membuka pendaftaran baru untuk saat ini" + config: + read_config_failed: + other: "Gagal membaca konfigurasi" + database: + connection_failed: + other: "Koneksi ke database gagal" + create_table_failed: + other: "Gagal membuat tabel" + install: + create_config_failed: + other: "Tidak dapat membuat konfigurasi pada file .YAML." + report: + spam: + name: + other: "Spam" + desc: + other: "Posting ini adalah iklan, atau vandalisme. Tidak berguna atau relevan dengan topik saat ini." + rude: + name: + other: "kasar atau kejam" + desc: + other: "Orang yang berakal sehat akan menganggap konten ini tidak pantas untuk wacana yang terhormat." + duplicate: + name: + other: "Duplikat" + desc: + other: "Pertanyaan ini telah ditanyakan sebelumnya dan sudah ada jawabannya." + not_answer: + name: + other: "bukan jawaban" + desc: + other: "Ini diposting sebagai jawaban, tetapi tidak menjawab pertanyaan. Itu mungkin berupa suntingan, komentar, pertanyaan lain, atau telah dihapus sepenuhnya." + not_need: + name: + other: "tidak Dibutuhkan Lagi" + desc: + other: "Komentar ini kedaluwarsa, sesuai percakapan, atau tidak relevan dengan postingan ini." + other: + name: + other: "lainnya" + desc: + other: "Posting ini membutuhkan perhatian staf karena alasan lain yang tidak tercantum di atas." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "Pertanyaan ini telah ditanyakan sebelumnya dan sudah ada jawabannya." + guideline: + name: + other: "a community-specific reason" + desc: + other: "Pertanyaan ini tidak sesuai dengan pedoman komunitas." + multiple: + name: + other: "membutuhkan detail atau kejelasan" + desc: + other: "Pertanyaan ini mencakup beberapa pertanyaan pada satu post. Pertanyaan harus fokus pada satu masalah saja." + other: + name: + other: "lainnya" + desc: + other: "Posting ini membutuhkan alasan lain yang tidak tercantum di atas." + operation_type: + asked: + other: "ditanyakan" + answered: + other: "dijawab" + modified: + other: "dimodifikasi" + notification: + action: + update_question: + other: "pertanyaan yang diperbaharui" + answer_the_question: + other: "pertanyaan yang dijawab" + update_answer: + other: "jawaban yang diperbaharui" + accept_answer: + other: "pertanyaan yanag diterima" + comment_question: + other: "pertanyaan yang dikomentari" + comment_answer: + other: "jawaban yang dikomentari" + reply_to_you: + other: "membalas Anda" + mention_you: + other: "menyebutmu" + your_question_is_closed: + other: "Pertanyaanmu telah ditutup" + your_question_was_deleted: + other: "Pertanyaanmu telah dihapus" + your_answer_was_deleted: + other: "Jawabanmu telah dihapus" + your_comment_was_deleted: + other: "Komentarmu telah dihapus" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: Cara memformat + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Sebelumnya + next: Selanjutnya + page_title: + question: Pertanyaan + questions: Pertanyaan + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Ubah Tag + ask_a_question: Tambahkan Pertanyaan + edit_question: Sunting Pertanyaan + edit_answer: Sunting jawaban + search: Cari + posts_containing: Postingan mengandung + settings: Pengaturan + notifications: Pemberitahuan + login: Log In + sign_up: Daftar + account_recovery: Pemulihan Akun + account_activation: Aktivasi Akun + confirm_email: Konfirmasi email + account_suspended: Akun Ditangguhkan + admin: Admin + change_email: Modifikasi email + install: Instalasi Answer + upgrade: Meng-upgrade Answer + maintenance: Pemeliharaan Website + users: Pengguna + notifications: + title: Pemberitahuan + inbox: Kotak Masuk + achievement: Pencapaian + all_read: Tandai Semua Jika Sudah Dibaca + show_more: Tampilkan lebih banyak + suspended: + title: Akun Anda telah ditangguhkan + until_time: "Akun anda ditangguhkan sampai {{ time }}." + forever: Pengguna ini ditangguhkan selamanya. + end: Anda tidak sesuai dengan syarat pedoman komunitas. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Diagram alir + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Tambahkan sample code + form: + fields: + code: + label: Code + msg: + empty: Code tidak boleh kosong. + language: + label: Bahasa (opsional) + placeholder: Deteksi otomatis + btn_cancel: Batal + btn_confirm: Tambah + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Gambar + add_image: Tambahkan gambar + tab_image: Unggah gambar + form_image: + fields: + file: + label: File Gambar + btn: Pilih gambar + msg: + empty: File tidak boleh kosong. + only_image: Hanya file Gambar yang diperbolehkan. + max_size: Ukuran file tidak boleh melebihi 4MB. + desc: + label: Deskripsi (opsional) + tab_url: URL gambar + form_url: + fields: + url: + label: URL gambar + msg: + empty: URL gambar tidak boleh kosong. + name: + label: Deskripsi (opsional) + btn_cancel: Batal + btn_confirm: Tambah + uploading: Sedang mengunggah + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Batal + btn_confirm: Tambah + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: Postingan ini saya tutup sebagai... + btn_cancel: Batal + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Dibuat + edited_at: Disunting + history: Riwayat + synonyms: + title: Sinonim + text: Tag berikut akan dipetakan ulang ke + empty: Sinonim tidak ditemukan. + btn_add: Tambahkan sinonim + btn_edit: Sunting + btn_save: Simpan + synonyms_text: Tag berikut akan dipetakan ulang ke + delete: + title: Hapus tagar ini + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Anda yakin ingin menghapusnya? + close: Tutup + edit_tag: + title: Ubah Tag + default_reason: Sunting tag + form: + fields: + revision: + label: Revisi + display_name: + label: Nama Tampilan + slug_name: + label: URL Slug + info: 'Harus menggunakan set karakter "a-z", "0-9", "+ # - ."' + desc: + label: Deskripsi + edit_summary: + label: Sunting ringkasan + placeholder: >- + Jelaskan secara singkat perubahan yang Anda lakukan (ejaan yang diperbaiki, tata bahasa yang diperbaiki, pemformatan yang ditingkatkan) + btn_save_edits: Simpan suntingan + btn_cancel: Batal + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: sekarang + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: jam + day: hari + comment: + btn_add_comment: Tambahkan Komentar + reply_to: Balas ke + btn_reply: Balas + btn_edit: Sunting + btn_delete: Hapus + btn_flag: Flag + btn_save_edits: Simpan suntingan + btn_cancel: Batal + show_more: Tampilkan lebih banyak komentar + tip_question: >- + Gunakan komentar untuk meminta informasi lebih lanjut atau menyarankan perbaikan. Hindari menjawab pertanyaan di komentar. + tip_answer: >- + Gunakan komentar untuk membalas pengguna lain atau memberi tahu mereka tentang perubahan. Jika Anda menambahkan informasi baru, cukup edit posting Anda. + edit_answer: + title: Sunting jawaban + default_reason: Edit jawaban + form: + fields: + revision: + label: Revisi + answer: + label: Jawaban + edit_summary: + label: Sunting ringkasan + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Pengguna + profile: Profil + setting: Pengaturan + logout: Keluar + admin: Admin + review: Ulasan + search: + placeholder: Cari + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Ubah + loading: sedang memuat... + pic_auth_code: + title: Capthcha + placeholder: Masukkan teks di atas + msg: + empty: Captcha tidak boleh kosong. + inactive: + first: >- + Kamu hampir selesai! Kami telah mengirimkan email aktivasi ke {{mail}}. Silakan ikuti petunjuk dalam email untuk mengaktifkan akun Anda. + info: "Jika tidak ada email masuk, mohon periksa folder spam Anda." + another: >- + Kami telah mengirimkan email aktivasi lain kepada Anda di {{mail}}. Mungkin butuh beberapa menit untuk tiba; pastikan untuk memeriksa folder spam Anda. + btn_name: Kirim ulang email aktivasi + change_btn_name: Ganti email + msg: + empty: Tidak bisa kosong. + login: + page_title: Selamat datang ke {{site_name}} + login_to_continue: Masuk untuk melanjutkan + info_sign: Belum punya akun? <1>Daftar + info_login: Sudah punya akun? <1>Masuk + agreements: Dengan mendaftar, Anda menyetujui <1>kebijakan privasi dan <3>persyaratan layanan. + forgot_pass: Lupa password? + name: + label: Nama + msg: + empty: Nama tidak boleh kosong. + range: Nama harus menunjukkan 1-30 karakter. + email: + label: Email + msg: + empty: Email tidak boleh kosong. + password: + label: Kata sandi + msg: + empty: Kata sandi tidak boleh kosong. + different: Kata sandi yang dimasukkan tidak sama + account_forgot: + page_title: Lupa kata sandi Anda + btn_name: Tulis email pemulihan + send_success: >- + Jika akun cocok dengan {{mail}}, Anda akan segera menerima email berisi petunjuk tentang cara menyetel ulang sandi. + email: + label: Email + msg: + empty: Email tidak boleh kosong. + change_email: + page_title: Selamat datang di Answer + btn_cancel: Batal + btn_update: Perbarui alamat email + send_success: >- + Jika akun cocok dengan {{mail}}, Anda akan segera menerima email berisi petunjuk tentang cara menyetel ulang sandi. + email: + label: Email Baru + msg: + empty: Email tidak boleh kosong. + password_reset: + page_title: Atur ulang kata sandi + btn_name: Atur ulang kata sandi saya + reset_success: >- + Anda berhasil mengubah kata sandi Anda; Anda akan dialihkan ke halaman login. + link_invalid: >- + Maaf, link setel ulang sandi ini sudah tidak valid. Mungkin kata sandi Anda sudah diatur ulang? + to_login: Lanjutkan ke halaman Login + password: + label: Kata sandi + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Bahasa Antarmuka + text: Bahasa antarmuka pengguna. Itu akan berubah ketika Anda me-refresh halaman. + toast: + update: pembaruan sukses + update_password: Kata sandi berhasil diganti. + flag_success: Terima kasih telah menandai. + forbidden_operate_self: Dilarang melakukan operasi ini pada diri sendiri + review: Revisi Anda akan ditampilkan setelah ditinjau. + related_question: + title: Pertanyaan Terkait + btn: Tambahkan pertanyaan + answers: jawaban + question_detail: + Asked: Ditanyakan + asked: ditanyakan + update: Diubah + edit: disunting + Views: Dilihat + Follow: Ikuti + Following: Mengikuti + answered: dijawab + closed_in: Ditutup pada + show_exist: Gunakan pertanyaan yang sudah ada. + answers: + title: Jawaban + score: Nilai + newest: Terbaru + btn_accept: Terima + btn_accepted: Diterima + write_answer: + title: Jawaban Anda + btn_name: Kirimkan jawaban Anda + add_another_answer: Tambahkan jawaban lain + confirm_title: Lanjutkan menjawab + continue: Lanjutkan + confirm_info: >- +

Yakin ingin menambahkan jawaban lain?

Sebagai gantinya, Anda dapat menggunakan tautan edit untuk menyaring dan menyempurnakan jawaban anda.

+ empty: Jawaban tidak boleh kosong. + reopen: + title: Buka kembali postingan ini + content: Kamu yakin ingin membuka kembali? + success: Postingan ini telah dibuka kembali + delete: + title: Hapus pos ini + question: >- + Kami tidak menyarankan menghapus pertanyaan dengan jawaban karena hal itu menghilangkan pengetahuan ini dari pembaca di masa mendatang.

Penghapusan berulang atas pertanyaan yang dijawab dapat mengakibatkan akun Anda diblokir untuk bertanya. Apakah Anda yakin ingin menghapus? + answer_accepted: >- +

Kami tidak menyarankan menghapus jawaban yang diterima karena hal itu menghilangkan pengetahuan ini dari pembaca di masa mendatang.

Penghapusan berulang dari jawaban yang diterima dapat menyebabkan akun Anda diblokir dari menjawab. Apakah Anda yakin ingin menghapus? + other: Anda yakin ingin menghapusnya? + tip_question_deleted: Kiriman ini sudah dihapus + tip_answer_deleted: Jawaban ini telah dihapus + btns: + confirm: Konfirmasi + cancel: Batal + save: Simpan + delete: Hapus + login: Masuk + signup: Daftar + logout: Keluar + verify: Verifikasi + add_question: Tambahkan pertanyaan + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Jawaban + newest: Terbaru + active: Aktif + frequent: Sering + score: Nilai + unanswered: Belum dijawab + modified: diubah + answered: dijawab + asked: ditanyakan + closed: ditutup + follow_a_tag: Ikuti tagar + more: Lebih + personal: + overview: Ringkasan + answers: Jawaban + answer: jawaban + questions: Pertanyaan + question: pertanyaan + bookmarks: Bookmarks + reputation: Reputasi + comments: Komentar + votes: Vote + newest: Terbaru + score: Nilai + edit_profile: Ubah profil + visited_x_days: "Dikunjungi {{ count }} hari" + viewed: Dilihat + joined: Bergabung + last_login: Dilihat + about_me: Tentang Saya + about_me_empty: "// Hello, World !" + top_answers: Jawaban terpopuler + top_questions: Pertanyaan terpopuler + stats: Statistik + list_empty: Postingan tidak ditemukan.
Mungkin Anda ingin memilih tab lain? + accepted: Diterima + answered: dijawab + asked: ditanyakan + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderator + x_reputation: reputasi + x_votes: vote diterima + x_answers: jawaban + x_questions: pertanyaan + install: + title: Jawaban + next: Selanjutnya + done: Selesai + config_yaml_error: Tidak dapat membuat konfigurasi file .yaml + lang: + label: Silakan pilih Bahasa + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Koneksi ke database gagal + db_failed_desc: >- + Ini berarti bahwa informasi database dalam file <1>config.yaml Anda salah atau koneksi ke server database tidak dapat dilakukan. Ini bisa berarti server database Anda sedang down. + page_404: + desc: "Sayangnya, halaman ini tidak ada." + back_home: Kembali ke beranda + page_50X: + desc: Server mengalami kesalahan internal dan tidak dapat menyelesaikan permintaan Anda. + back_home: Kembali ke beranda + page_maintenance: + desc: "Sedang dalam perbaikan, akan kembali secepatnya." + nav_menus: + dashboard: Dasbor + contents: Konten + questions: Pertanyaan + answers: Jawaban + users: Pengguna + flags: Flags + settings: Pengaturan + general: Umum + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privasi + seo: SEO + customize: Kostumisasi + themes: Tema + css-html: CSS/HTML + login: Masuk + admin: + admin_header: + title: Admin + dashboard: + title: Dasbor + welcome: Selamat datang di Answer Admin! + site_statistics: Site Statistics + questions: "Pertanyaan:" + answers: "Jawaban:" + comments: "Komentar:" + votes: "Vote:" + active_users: "Pengguna aktif:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Versi:" + https: "HTTPS:" + uploading_files: "Mengunggah berkas:" + smtp: "SMTP:" + timezone: "Zona Waktu:" + system_info: Informasi Sistem + storage_used: "Penyimpanan yang terpakai:" + uptime: "Uptime:" + answer_links: Tautan Answer + documents: Dokumen + feedback: Masukan + support: Dukungan + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Waktu Pembuatan + delete_at: Waktu Penghapusan + suspend_at: Waktu penundaan + status: Status + role: Role + action: Action + change: Ubah + all: Semua + staff: Staf + inactive: Tidak Aktif + suspended: Ditangguhkan + deleted: Dihapus + normal: Normal + Moderator: Moderator + Admin: Admin + User: Pengguna + filter: + placeholder: "Filter berdasarkan nama, user:id" + set_new_password: Atur password baru + change_status: Ubah status + change_role: Ubah role + show_logs: Tampilkan log + add_user: Tambahkan pengguna + new_password_modal: + title: Atur password baru + form: + fields: + password: + label: Password + text: Pengguna akan keluar dan harus masuk lagi. + msg: Panjang kata sandi minimal 8 - 32 karakter. + btn_cancel: Batal + btn_submit: Kirim + user_modal: + title: Tambahkan pengguna baru + form: + fields: + display_name: + label: Nama + msg: panjang nama minimal 4 - 30 karakter. + email: + label: Email + msg: Email tidak sah. + password: + label: Kata sandi + msg: Panjang kata sandi minimal 8 - 32 karakter. + btn_cancel: Batal + btn_submit: Kirim + questions: + page_title: Pertanyaan + normal: Normal + closed: Ditutup + deleted: Dihapus + post: Post + votes: Vote + answers: Jawaban + created: Dibuat + status: Status + action: Action + change: Ubah + filter: + placeholder: "Filter berdasarkan judul, question:id" + answers: + page_title: Jawaban + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Enkripsi + msg: Enkripsi tidak boleh kosong. + text: For most servers SSL is the recommended option. + ssl: SSL + none: Tidak ada + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: Port untuk server email Anda. + smtp_username: + label: SMTP Username + msg: Nama Pengguna SMTP tidak boleh kosong. + smtp_password: + label: SMTP Password + msg: Password SMTP tidak boleh kosong. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/it_IT.yaml b/i18n/it_IT.yaml index f5202afe..7246318c 100644 --- a/i18n/it_IT.yaml +++ b/i18n/it_IT.yaml @@ -129,7 +129,7 @@ backend: username_invalid: other: "utente non valido" username_duplicate: - other: "utente già in uso" + other: "Nome utente già in uso" set_avatar: other: "Inserimento dell'Avatar non riuscito." cannot_update_your_role: @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/ja_JP.yaml b/i18n/ja_JP.yaml index 05383dbb..8352bc90 100644 --- a/i18n/ja_JP.yaml +++ b/i18n/ja_JP.yaml @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/ko_KR.yaml b/i18n/ko_KR.yaml index 05383dbb..8352bc90 100644 --- a/i18n/ko_KR.yaml +++ b/i18n/ko_KR.yaml @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/nl_NL.yaml b/i18n/nl_NL.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/nl_NL.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/no_NO.yaml b/i18n/no_NO.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/no_NO.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/pl_PL.yaml b/i18n/pl_PL.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/pl_PL.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/pt_BR.yaml b/i18n/pt_BR.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/pt_BR.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/pt_PT.yaml b/i18n/pt_PT.yaml index ef655a14..feee702d 100644 --- a/i18n/pt_PT.yaml +++ b/i18n/pt_PT.yaml @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/ro_RO.yaml b/i18n/ro_RO.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/ro_RO.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/ru_RU.yaml b/i18n/ru_RU.yaml index 05383dbb..c1ff0c98 100644 --- a/i18n/ru_RU.yaml +++ b/i18n/ru_RU.yaml @@ -2,122 +2,122 @@ backend: base: success: - other: "Success." + other: "Выполнено." unknown: - other: "Unknown error." + other: "Неизвестная ошибка." request_format_error: - other: "Request format is not valid." + other: "Формат файла не корректен." unauthorized_error: - other: "Unauthorized." + other: "Авторизация не выполнена." database_error: - other: "Data server error." + other: "Ошибка сервера данных." role: name: user: - other: "User" + other: "Пользователь" admin: - other: "Admin" + other: "Администратор" moderator: - other: "Moderator" + other: "Модератор" description: user: - other: "Default with no special access." + other: "По умолчанию, без специального доступа." admin: - other: "Have the full power to access the site." + other: "Имейте все полномочия для доступа к сайту." moderator: - other: "Has access to all posts except admin settings." + other: "Имеет доступ ко всем сообщениям, кроме настроек администратора." email: - other: "Email" + other: "Эл. почта" password: - other: "Password" + other: "Пароль" email_or_password_wrong_error: - other: "Email and password do not match." + other: "Неверное имя пользователя или пароль." error: admin: email_or_password_wrong: - other: Email and password do not match. + other: Неверное имя пользователя или пароль. answer: not_found: - other: "Answer do not found." + other: "Ответ не найден." cannot_deleted: - other: "No permission to delete." + other: "Недостаточно прав для удаления." cannot_update: - other: "No permission to update." + other: "Нет прав для обновления." comment: edit_without_permission: - other: "Comment are not allowed to edit." + other: "Комментарий не может редактироваться." not_found: - other: "Comment not found." + other: "Комментарий не найден." email: duplicate: - other: "Email already exists." + other: "Адрес электронной почты уже существует." need_to_be_verified: - other: "Email should be verified." + other: "Адрес электронной почты должен быть подтвержден." verify_url_expired: - other: "Email verified URL has expired, please resend the email." + other: "Срок действия подтверждённого адреса электронной почты истек, пожалуйста, отправьте письмо повторно." lang: not_found: - other: "Language file not found." + other: "Языковой файл не найден." object: captcha_verification_failed: - other: "Captcha wrong." + other: "Captcha введена неверно." disallow_follow: - other: "You are not allowed to follow." + other: "Вы не можете подписаться." disallow_vote: - other: "You are not allowed to vote." + other: "Вы не можете голосовать." disallow_vote_your_self: - other: "You can't vote for your own post." + other: "Вы не можете голосовать за собственный отзыв." not_found: - other: "Object not found." + other: "Объект не найден." verification_failed: - other: "Verification failed." + other: "Проверка не удалась." email_or_password_incorrect: - other: "Email and password do not match." + other: "Email или пароль не совпадают." old_password_verification_failed: - other: "The old password verification failed" + other: "Не удалось подтвердить старый пароль" new_password_same_as_previous_setting: - other: "The new password is the same as the previous one." + other: "Пароль не может быть таким же как прежний." question: not_found: - other: "Question not found." + other: "Вопрос не найден." cannot_deleted: - other: "No permission to delete." + other: "Недостаточно прав для удаления." cannot_close: - other: "No permission to close." + other: "Нет разрешения на закрытие." cannot_update: - other: "No permission to update." + other: "Нет разрешения на обновление." rank: fail_to_meet_the_condition: - other: "Rank fail to meet the condition." + other: "Ранг не соответствует условию." report: handle_failed: - other: "Report handle failed." + other: "Не удалось обработать отчет." not_found: - other: "Report not found." + other: "Отчет не найден." tag: not_found: - other: "Tag not found." + other: "Тег не найден." recommend_tag_not_found: - other: "Recommend Tag is not exist." + other: "Рекомендуемый тег не существует." recommend_tag_enter: - other: "Please enter at least one required tag." + other: "Пожалуйста, введите хотя бы один тег." not_contain_synonym_tags: - other: "Should not contain synonym tags." + other: "Не должно содержать теги синонимы." cannot_update: - other: "No permission to update." + other: "Нет прав для обновления." cannot_set_synonym_as_itself: - other: "You cannot set the synonym of the current tag as itself." + other: "Вы не можете установить синоним текущего тега." smtp: config_from_name_cannot_be_email: - other: "The From Name cannot be a email address." + other: "Имя пользователя не может быть адрес электронной почты." theme: not_found: - other: "Theme not found." + other: "Тема не найдена." revision: review_underway: - other: "Can't edit currently, there is a version in the review queue." + other: "В настоящее время не удается редактировать версию, в очереди на проверку." no_permission: - other: "No permission to Revision." + other: "Нет прав на ревизию." user: email_or_password_wrong: other: @@ -241,68 +241,68 @@ ui:
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
pagination: prev: Prev - next: Next + next: Следующий page_title: - question: Question - questions: Questions - tag: Tag - tags: Tags - tag_wiki: tag wiki - edit_tag: Edit Tag - ask_a_question: Add Question - edit_question: Edit Question - edit_answer: Edit Answer - search: Search - posts_containing: Posts containing - settings: Settings - notifications: Notifications - login: Log In - sign_up: Sign Up - account_recovery: Account Recovery - account_activation: Account Activation - confirm_email: Confirm Email - account_suspended: Account Suspended - admin: Admin - change_email: Modify Email - install: Answer Installation - upgrade: Answer Upgrade - maintenance: Website Maintenance - users: Users + question: Вопрос + questions: Вопросы + tag: Тэг + tags: Теги + tag_wiki: wiki тэг + edit_tag: Изменить тег + ask_a_question: Добавить вопрос + edit_question: Редактировать вопрос + edit_answer: Редактировать ответ + search: Поиск + posts_containing: Посты содержащие + settings: Настройки + notifications: Уведомления + login: Вход + sign_up: Регистрация + account_recovery: Восстановление аккаунта + account_activation: Активация учётной записи + confirm_email: Подтвердить адрес электронной почты + account_suspended: Аккаунт заблокирован + admin: Управление + change_email: Изменить Email + install: Установка ответа + upgrade: Обновить ответ + maintenance: Обслуживание сайта + users: Пользователи notifications: - title: Notifications - inbox: Inbox - achievement: Achievements - all_read: Mark all as read - show_more: Show more + title: Уведомления + inbox: Входящие + achievement: Достижения + all_read: Отметить всё как прочитанное + show_more: Показать еще suspended: - title: Your Account has been Suspended - until_time: "Your account was suspended until {{ time }}." - forever: This user was suspended forever. - end: You don't meet a community guideline. + title: Ваш аккаунт заблокирован + until_time: "Ваша учетная запись была заблокирована до {{ time }}." + forever: Этот пользователь был навсегда заблокирован. + end: Вы не соответствуете правилам сообщества. editor: blockquote: - text: Blockquote + text: Цитата bold: - text: Strong + text: Жирный chart: - text: Chart - flow_chart: Flow chart - sequence_diagram: Sequence diagram - class_diagram: Class diagram - state_diagram: State diagram - entity_relationship_diagram: Entity relationship diagram - user_defined_diagram: User defined diagram - gantt_chart: Gantt chart - pie_chart: Pie chart + text: Диаграмма + flow_chart: Блок-схема + sequence_diagram: Диаграмма последовательности + class_diagram: Диаграмма классов + state_diagram: Диаграмма состояний + entity_relationship_diagram: Диаграмма связей сущностей + user_defined_diagram: Пользовательская диаграмма + gantt_chart: Диаграмма Гантта + pie_chart: Круговая диаграмма code: - text: Code Sample - add_code: Add code sample + text: Фрагмент кода + add_code: Добавить пример кода form: fields: code: - label: Code + label: Код msg: - empty: Code cannot be empty. + empty: Код не может быть пустым. language: label: Language (optional) placeholder: Automatic detection @@ -385,79 +385,79 @@ ui: btn_cancel: Cancel btn_submit: Submit remark: - empty: Cannot be empty. + empty: Не может быть пустым. msg: - empty: Please select a reason. + empty: Пожалуйста, выбери причину. report_modal: - flag_title: I am flagging to report this post as... - close_title: I am closing this post as... - review_question_title: Review question - review_answer_title: Review answer - review_comment_title: Review comment - btn_cancel: Cancel - btn_submit: Submit + flag_title: Я помечаю, чтобы пожаловаться на эту публикацию как... + close_title: Я закрываю этот пост как... + review_question_title: Проверить вопрос + review_answer_title: Проверить ответ + review_comment_title: Просмотр комментариев + btn_cancel: Отмена + btn_submit: Отправить remark: - empty: Cannot be empty. + empty: Не может быть пустым. msg: - empty: Please select a reason. + empty: Пожалуйста, выбери причину. tag_modal: - title: Create new tag + title: Создать новый тег form: fields: display_name: - label: Display Name + label: Показывать имя msg: - empty: Display name cannot be empty. - range: Display name up to 35 characters. + empty: Отображаемое название не может быть пустым. + range: Отображаемое имя до 35 символов. slug_name: - label: URL Slug - desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + label: Идентификатор URL + desc: 'Необходимо использовать набор символов "a-z", "0-9", "+ # - ."' msg: - empty: URL slug cannot be empty. - range: URL slug up to 35 characters. - character: URL slug contains unallowed character set. + empty: URL не может быть пустым. + range: URL slug до 35 символов. + character: URL slug содержит недопустимый набор символов. desc: - label: Description (optional) - btn_cancel: Cancel - btn_submit: Submit + label: Описание (опционально) + btn_cancel: Отмена + btn_submit: Отправить tag_info: - created_at: Created - edited_at: Edited - history: History + created_at: Создано + edited_at: Отредактировано + history: История synonyms: - title: Synonyms - text: The following tags will be remapped to - empty: No synonyms found. - btn_add: Add a synonym - btn_edit: Edit - btn_save: Save - synonyms_text: The following tags will be remapped to + title: Синонимы + text: Следующие теги будут переназначены на + empty: Синонимы не найдены. + btn_add: Добавить синоним + btn_edit: Редактировать + btn_save: Сохранить + synonyms_text: Следующие теги будут переназначены на delete: - title: Delete this tag + title: Удалить этот тег content: >- -

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

- content2: Are you sure you wish to delete? - close: Close +

Мы не разрешаем удалять тег с сообщениями.

Пожалуйста, сначала удалите этот тег из сообщений

+ content2: Вы действительно хотите удалить? + close: Закрыть edit_tag: - title: Edit Tag - default_reason: Edit tag + title: Изменить тег + default_reason: Правка тега form: fields: revision: - label: Revision + label: Редакция display_name: - label: Display Name + label: Показывать имя slug_name: - label: URL Slug - info: 'Must use the character set "a-z", "0-9", "+ # - ."' + label: Идентификатор URL + info: 'Необходимо использовать набор символов "a-z", "0-9", "+ # - ."' desc: - label: Description + label: Описание edit_summary: - label: Edit Summary + label: Изменить краткое описание placeholder: >- - Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) - btn_save_edits: Save edits - btn_cancel: Cancel + Кратко опишите ваши изменения (исправленная орфография, исправленная грамматика, улучшенное форматирование) + btn_save_edits: Сохранить изменения + btn_cancel: Отмена dates: long_date: MMM D long_date_with_year: "MMM D, YYYY" @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/sq_AL.yaml b/i18n/sq_AL.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/sq_AL.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/sr_SP.yaml b/i18n/sr_SP.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/sr_SP.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/sv_SE.yaml b/i18n/sv_SE.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/sv_SE.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/tr_TR.yaml b/i18n/tr_TR.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/tr_TR.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/uk_UA.yaml b/i18n/uk_UA.yaml new file mode 100644 index 00000000..8352bc90 --- /dev/null +++ b/i18n/uk_UA.yaml @@ -0,0 +1,1353 @@ +#The following fields are used for back-end +backend: + base: + success: + other: "Success." + unknown: + other: "Unknown error." + request_format_error: + other: "Request format is not valid." + unauthorized_error: + other: "Unauthorized." + database_error: + other: "Data server error." + role: + name: + user: + other: "User" + admin: + other: "Admin" + moderator: + other: "Moderator" + description: + user: + other: "Default with no special access." + admin: + other: "Have the full power to access the site." + moderator: + other: "Has access to all posts except admin settings." + email: + other: "Email" + password: + other: "Password" + email_or_password_wrong_error: + other: "Email and password do not match." + error: + admin: + email_or_password_wrong: + other: Email and password do not match. + answer: + not_found: + other: "Answer do not found." + cannot_deleted: + other: "No permission to delete." + cannot_update: + other: "No permission to update." + comment: + edit_without_permission: + other: "Comment are not allowed to edit." + not_found: + other: "Comment not found." + email: + duplicate: + other: "Email already exists." + need_to_be_verified: + other: "Email should be verified." + verify_url_expired: + other: "Email verified URL has expired, please resend the email." + lang: + not_found: + other: "Language file not found." + object: + captcha_verification_failed: + other: "Captcha wrong." + disallow_follow: + other: "You are not allowed to follow." + disallow_vote: + other: "You are not allowed to vote." + disallow_vote_your_self: + other: "You can't vote for your own post." + not_found: + other: "Object not found." + verification_failed: + other: "Verification failed." + email_or_password_incorrect: + other: "Email and password do not match." + old_password_verification_failed: + other: "The old password verification failed" + new_password_same_as_previous_setting: + other: "The new password is the same as the previous one." + question: + not_found: + other: "Question not found." + cannot_deleted: + other: "No permission to delete." + cannot_close: + other: "No permission to close." + cannot_update: + other: "No permission to update." + rank: + fail_to_meet_the_condition: + other: "Rank fail to meet the condition." + report: + handle_failed: + other: "Report handle failed." + not_found: + other: "Report not found." + tag: + not_found: + other: "Tag not found." + recommend_tag_not_found: + other: "Recommend Tag is not exist." + recommend_tag_enter: + other: "Please enter at least one required tag." + not_contain_synonym_tags: + other: "Should not contain synonym tags." + cannot_update: + other: "No permission to update." + cannot_set_synonym_as_itself: + other: "You cannot set the synonym of the current tag as itself." + smtp: + config_from_name_cannot_be_email: + other: "The From Name cannot be a email address." + theme: + not_found: + other: "Theme not found." + revision: + review_underway: + other: "Can't edit currently, there is a version in the review queue." + no_permission: + other: "No permission to Revision." + user: + email_or_password_wrong: + other: + other: Email and password do not match. + not_found: + other: "User not found." + suspended: + other: "User has been suspended." + username_invalid: + other: "Username is invalid." + username_duplicate: + other: "Username is already in use." + set_avatar: + other: "Avatar set failed." + cannot_update_your_role: + other: "You cannot modify your role." + not_allowed_registration: + other: "Currently the site is not open for registration" + config: + read_config_failed: + other: "Read config failed" + database: + connection_failed: + other: "Database connection failed" + create_table_failed: + other: "Create table failed" + install: + create_config_failed: + other: "Can’t create the config.yaml file." + report: + spam: + name: + other: "spam" + desc: + other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + rude: + name: + other: "rude or abusive" + desc: + other: "A reasonable person would find this content inappropriate for respectful discourse." + duplicate: + name: + other: "a duplicate" + desc: + other: "This question has been asked before and already has an answer." + not_answer: + name: + other: "not an answer" + desc: + other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + not_need: + name: + other: "no longer needed" + desc: + other: "This comment is outdated, conversational or not relevant to this post." + other: + name: + other: "something else" + desc: + other: "This post requires staff attention for another reason not listed above." + question: + close: + duplicate: + name: + other: "spam" + desc: + other: "This question has been asked before and already has an answer." + guideline: + name: + other: "a community-specific reason" + desc: + other: "This question doesn't meet a community guideline." + multiple: + name: + other: "needs details or clarity" + desc: + other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: + name: + other: "something else" + desc: + other: "This post requires another reason not listed above." + operation_type: + asked: + other: "asked" + answered: + other: "answered" + modified: + other: "modified" + notification: + action: + update_question: + other: "updated question" + answer_the_question: + other: "answered question" + update_answer: + other: "updated answer" + accept_answer: + other: "accepted answer" + comment_question: + other: "commented question" + comment_answer: + other: "commented answer" + reply_to_you: + other: "replied to you" + mention_you: + other: "mentioned you" + your_question_is_closed: + other: "Your question has been closed" + your_question_was_deleted: + other: "Your question has been deleted" + your_answer_was_deleted: + other: "Your answer has been deleted" + your_comment_was_deleted: + other: "Your comment has been deleted" +#The following fields are used for interface presentation(Front-end) +ui: + how_to_format: + title: How to Format + desc: >- +
  • to make links

    <https://url.com>

    [Title](https://url.com)
  • put returns between paragraphs

  • _italic_ or **bold**

  • indent code by 4 spaces

  • quote by placing > at start of line

  • backtick escapes `like _this_`

  • create code fences with backticks `

    ```
    code here
    ```
+ pagination: + prev: Prev + next: Next + page_title: + question: Question + questions: Questions + tag: Tag + tags: Tags + tag_wiki: tag wiki + edit_tag: Edit Tag + ask_a_question: Add Question + edit_question: Edit Question + edit_answer: Edit Answer + search: Search + posts_containing: Posts containing + settings: Settings + notifications: Notifications + login: Log In + sign_up: Sign Up + account_recovery: Account Recovery + account_activation: Account Activation + confirm_email: Confirm Email + account_suspended: Account Suspended + admin: Admin + change_email: Modify Email + install: Answer Installation + upgrade: Answer Upgrade + maintenance: Website Maintenance + users: Users + notifications: + title: Notifications + inbox: Inbox + achievement: Achievements + all_read: Mark all as read + show_more: Show more + suspended: + title: Your Account has been Suspended + until_time: "Your account was suspended until {{ time }}." + forever: This user was suspended forever. + end: You don't meet a community guideline. + editor: + blockquote: + text: Blockquote + bold: + text: Strong + chart: + text: Chart + flow_chart: Flow chart + sequence_diagram: Sequence diagram + class_diagram: Class diagram + state_diagram: State diagram + entity_relationship_diagram: Entity relationship diagram + user_defined_diagram: User defined diagram + gantt_chart: Gantt chart + pie_chart: Pie chart + code: + text: Code Sample + add_code: Add code sample + form: + fields: + code: + label: Code + msg: + empty: Code cannot be empty. + language: + label: Language (optional) + placeholder: Automatic detection + btn_cancel: Cancel + btn_confirm: Add + formula: + text: Formula + options: + inline: Inline formula + block: Block formula + heading: + text: Heading + options: + h1: Heading 1 + h2: Heading 2 + h3: Heading 3 + h4: Heading 4 + h5: Heading 5 + h6: Heading 6 + help: + text: Help + hr: + text: Horizontal Rule + image: + text: Image + add_image: Add image + tab_image: Upload image + form_image: + fields: + file: + label: Image File + btn: Select image + msg: + empty: File cannot be empty. + only_image: Only image files are allowed. + max_size: File size cannot exceed 4MB. + desc: + label: Description (optional) + tab_url: Image URL + form_url: + fields: + url: + label: Image URL + msg: + empty: Image URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + uploading: Uploading + indent: + text: Indent + outdent: + text: Outdent + italic: + text: Emphasis + link: + text: Hyperlink + add_link: Add hyperlink + form: + fields: + url: + label: URL + msg: + empty: URL cannot be empty. + name: + label: Description (optional) + btn_cancel: Cancel + btn_confirm: Add + ordered_list: + text: Numbered List + unordered_list: + text: Bulleted List + table: + text: Table + heading: Heading + cell: Cell + close_modal: + title: I am closing this post as... + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + report_modal: + flag_title: I am flagging to report this post as... + close_title: I am closing this post as... + review_question_title: Review question + review_answer_title: Review answer + review_comment_title: Review comment + btn_cancel: Cancel + btn_submit: Submit + remark: + empty: Cannot be empty. + msg: + empty: Please select a reason. + tag_modal: + title: Create new tag + form: + fields: + display_name: + label: Display Name + msg: + empty: Display name cannot be empty. + range: Display name up to 35 characters. + slug_name: + label: URL Slug + desc: 'Must use the character set "a-z", "0-9", "+ # - ."' + msg: + empty: URL slug cannot be empty. + range: URL slug up to 35 characters. + character: URL slug contains unallowed character set. + desc: + label: Description (optional) + btn_cancel: Cancel + btn_submit: Submit + tag_info: + created_at: Created + edited_at: Edited + history: History + synonyms: + title: Synonyms + text: The following tags will be remapped to + empty: No synonyms found. + btn_add: Add a synonym + btn_edit: Edit + btn_save: Save + synonyms_text: The following tags will be remapped to + delete: + title: Delete this tag + content: >- +

We do not allowed deleting tag with posts.

Please remove this tag from the posts first.

+ content2: Are you sure you wish to delete? + close: Close + edit_tag: + title: Edit Tag + default_reason: Edit tag + form: + fields: + revision: + label: Revision + display_name: + label: Display Name + slug_name: + label: URL Slug + info: 'Must use the character set "a-z", "0-9", "+ # - ."' + desc: + label: Description + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + dates: + long_date: MMM D + long_date_with_year: "MMM D, YYYY" + long_date_with_time: "MMM D, YYYY [at] HH:mm" + now: now + x_seconds_ago: "{{count}}s ago" + x_minutes_ago: "{{count}}m ago" + x_hours_ago: "{{count}}h ago" + hour: hour + day: day + comment: + btn_add_comment: Add comment + reply_to: Reply to + btn_reply: Reply + btn_edit: Edit + btn_delete: Delete + btn_flag: Flag + btn_save_edits: Save edits + btn_cancel: Cancel + show_more: Show more comment + tip_question: >- + Use comments to ask for more information or suggest improvements. Avoid answering questions in comments. + tip_answer: >- + Use comments to reply to other users or notify them of changes. If you are adding new information, edit your post instead of commenting. + edit_answer: + title: Edit Answer + default_reason: Edit answer + form: + fields: + revision: + label: Revision + answer: + label: Answer + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_save_edits: Save edits + btn_cancel: Cancel + tags: + title: Tags + sort_buttons: + popular: Popular + name: Name + newest: newest + button_follow: Follow + button_following: Following + tag_label: questions + search_placeholder: Filter by tag name + no_desc: The tag has no description. + more: More + ask: + title: Add Question + edit_title: Edit Question + default_reason: Edit question + similar_questions: Similar questions + form: + fields: + revision: + label: Revision + title: + label: Title + placeholder: Be specific and imagine you're asking a question to another person + msg: + empty: Title cannot be empty. + range: Title up to 150 characters + body: + label: Body + msg: + empty: Body cannot be empty. + tags: + label: Tags + msg: + empty: Tags cannot be empty. + answer: + label: Answer + msg: + empty: Answer cannot be empty. + edit_summary: + label: Edit Summary + placeholder: >- + Briefly explain your changes (corrected spelling, fixed grammar, improved formatting) + btn_post_question: Post your question + btn_save_edits: Save edits + answer_question: Answer your own question + post_question&answer: Post your question and answer + tag_selector: + add_btn: Add tag + create_btn: Create new tag + search_tag: Search tag + hint: "Describe what your question is about, at least one tag is required." + no_result: No tags matched + tag_required_text: Required tag (at least one) + header: + nav: + question: Questions + tag: Tags + user: Users + profile: Profile + setting: Settings + logout: Log out + admin: Admin + review: Review + search: + placeholder: Search + footer: + build_on: >- + Built on <1> Answer - the open-source software that powers Q&A communities.
Made with love © {{cc}}. + upload_img: + name: Change + loading: loading... + pic_auth_code: + title: Captcha + placeholder: Type the text above + msg: + empty: Captcha cannot be empty. + inactive: + first: >- + You're almost done! We sent an activation mail to {{mail}}. Please follow the instructions in the mail to activate your account. + info: "If it doesn't arrive, check your spam folder." + another: >- + We sent another activation email to you at {{mail}}. It might take a few minutes for it to arrive; be sure to check your spam folder. + btn_name: Resend activation email + change_btn_name: Change email + msg: + empty: Cannot be empty. + login: + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue + info_sign: Don't have an account? <1>Sign up + info_login: Already have an account? <1>Log in + agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. + forgot_pass: Forgot password? + name: + label: Name + msg: + empty: Name cannot be empty. + range: Name up to 30 characters. + email: + label: Email + msg: + empty: Email cannot be empty. + password: + label: Password + msg: + empty: Password cannot be empty. + different: The passwords entered on both sides are inconsistent + account_forgot: + page_title: Forgot Your Password + btn_name: Send me recovery email + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: Email + msg: + empty: Email cannot be empty. + change_email: + page_title: Welcome to Answer + btn_cancel: Cancel + btn_update: Update email address + send_success: >- + If an account matches {{mail}}, you should receive an email with instructions on how to reset your password shortly. + email: + label: New Email + msg: + empty: Email cannot be empty. + password_reset: + page_title: Password Reset + btn_name: Reset my password + reset_success: >- + You successfully changed your password; you will be redirected to the log in page. + link_invalid: >- + Sorry, this password reset link is no longer valid. Perhaps your password is already reset? + to_login: Continue to log in page + password: + label: Password + msg: + empty: Password cannot be empty. + length: The length needs to be between 8 and 32 + different: The passwords entered on both sides are inconsistent + password_confirm: + label: Confirm New Password + settings: + page_title: Settings + nav: + profile: Profile + notification: Notifications + account: Account + interface: Interface + profile: + heading: Profile + btn_name: Save + display_name: + label: Display Name + msg: Display name cannot be empty. + msg_range: Display name up to 30 characters + username: + label: Username + caption: People can mention you as "@username". + msg: Username cannot be empty. + msg_range: Username up to 30 characters + character: 'Must use the character set "a-z", "0-9", " - . _"' + avatar: + label: Profile Image + gravatar: Gravatar + gravatar_text: You can change image on <1>gravatar.com + custom: Custom + btn_refresh: Refresh + custom_text: You can upload your image. + default: System + msg: Please upload an avatar + bio: + label: About Me (optional) + website: + label: Website (optional) + placeholder: "https://example.com" + msg: Website incorrect format + location: + label: Location (optional) + placeholder: "City, Country" + notification: + heading: Notifications + email: + label: Email Notifications + radio: "Answers to your questions, comments, and more" + account: + heading: Account + change_email_btn: Change email + change_pass_btn: Change password + change_email_info: >- + We've sent an email to that address. Please follow the confirmation instructions. + email: + label: Email + msg: Email cannot be empty. + password_title: Password + current_pass: + label: Current Password + msg: + empty: Current Password cannot be empty. + length: The length needs to be between 8 and 32. + different: The two entered passwords do not match. + new_pass: + label: New Password + pass_confirm: + label: Confirm New Password + interface: + heading: Interface + lang: + label: Interface Language + text: User interface language. It will change when you refresh the page. + toast: + update: update success + update_password: Password changed successfully. + flag_success: Thanks for flagging. + forbidden_operate_self: Forbidden to operate on yourself + review: Your revision will show after review. + related_question: + title: Related Questions + btn: Add question + answers: answers + question_detail: + Asked: Asked + asked: asked + update: Modified + edit: edited + Views: Viewed + Follow: Follow + Following: Following + answered: answered + closed_in: Closed in + show_exist: Show existing question. + answers: + title: Answers + score: Score + newest: Newest + btn_accept: Accept + btn_accepted: Accepted + write_answer: + title: Your Answer + btn_name: Post your answer + add_another_answer: Add another answer + confirm_title: Continue to answer + continue: Continue + confirm_info: >- +

Are you sure you want to add another answer?

You could use the edit link to refine and improve your existing answer, instead.

+ empty: Answer cannot be empty. + reopen: + title: Reopen this post + content: Are you sure you want to reopen? + success: This post has been reopened + delete: + title: Delete this post + question: >- + We do not recommend deleting questions with answers because doing so deprives future readers of this knowledge.

Repeated deletion of answered questions can result in your account being blocked from asking. Are you sure you wish to delete? + answer_accepted: >- +

We do not recommend deleting accepted answer because doing so deprives future readers of this knowledge.

Repeated deletion of accepted answers can result in your account being blocked from answering. Are you sure you wish to delete? + other: Are you sure you wish to delete? + tip_question_deleted: This post has been deleted + tip_answer_deleted: This answer has been deleted + btns: + confirm: Confirm + cancel: Cancel + save: Save + delete: Delete + login: Log in + signup: Sign up + logout: Log out + verify: Verify + add_question: Add question + approve: Approve + reject: Reject + skip: Skip + search: + title: Search Results + keywords: Keywords + options: Options + follow: Follow + following: Following + counts: "{{count}} Results" + more: More + sort_btns: + relevance: Relevance + newest: Newest + active: Active + score: Score + more: More + tips: + title: Advanced Search Tips + tag: "<1>[tag] search withing a tag" + user: "<1>user:username search by author" + answer: "<1>answers:0 unanswered questions" + score: "<1>score:3 posts with a 3+ score" + question: "<1>is:question search questions" + is_answer: "<1>is:answer search answers" + empty: We couldn't find anything.
Try different or less specific keywords. + share: + name: Share + copy: Copy link + via: Share post via... + copied: Copied + facebook: Share to Facebook + twitter: Share to Twitter + cannot_vote_for_self: You can't vote for your own post + modal_confirm: + title: Error... + account_result: + page_title: Welcome to Answer + success: Your new account is confirmed; you will be redirected to the home page. + link: Continue to homepage + invalid: >- + Sorry, this account confirmation link is no longer valid. Perhaps your account is already active? + confirm_new_email: Your email has been updated. + confirm_new_email_invalid: >- + Sorry, this confirmation link is no longer valid. Perhaps your email was already changed? + unsubscribe: + page_title: Unsubscribe + success_title: Unsubscribe Successful + success_desc: You have been successfully removed from this subscriber list and won’t receive any further emails from us. + link: Change settings + question: + following_tags: Following Tags + edit: Edit + save: Save + follow_tag_tip: Follow tags to curate your list of questions. + hot_questions: Hot Questions + all_questions: All Questions + x_questions: "{{ count }} Questions" + x_answers: "{{ count }} answers" + questions: Questions + answers: Answers + newest: Newest + active: Active + frequent: Frequent + score: Score + unanswered: Unanswered + modified: modified + answered: answered + asked: asked + closed: closed + follow_a_tag: Follow a tag + more: More + personal: + overview: Overview + answers: Answers + answer: answer + questions: Questions + question: question + bookmarks: Bookmarks + reputation: Reputation + comments: Comments + votes: Votes + newest: Newest + score: Score + edit_profile: Edit Profile + visited_x_days: "Visited {{ count }} days" + viewed: Viewed + joined: Joined + last_login: Seen + about_me: About Me + about_me_empty: "// Hello, World !" + top_answers: Top Answers + top_questions: Top Questions + stats: Stats + list_empty: No posts found.
Perhaps you'd like to select a different tab? + accepted: Accepted + answered: answered + asked: asked + upvote: upvote + downvote: downvote + mod_short: Mod + mod_long: Moderators + x_reputation: reputation + x_votes: votes received + x_answers: answers + x_questions: questions + install: + title: Answer + next: Next + done: Done + config_yaml_error: Can’t create the config.yaml file. + lang: + label: Please Choose a Language + db_type: + label: Database Engine + db_username: + label: Username + placeholder: root + msg: Username cannot be empty. + db_password: + label: Password + placeholder: root + msg: Password cannot be empty. + db_host: + label: Database Host + placeholder: "db:3306" + msg: Database Host cannot be empty. + db_name: + label: Database Name + placeholder: answer + msg: Database Name cannot be empty. + db_file: + label: Database File + placeholder: /data/answer.db + msg: Database File cannot be empty. + config_yaml: + title: Create config.yaml + label: The config.yaml file created. + desc: >- + You can create the <1>config.yaml file manually in the <1>/var/wwww/xxx/ directory and paste the following text into it. + info: "After you’ve done that, click “Next” button." + site_information: Site Information + admin_account: Admin Account + site_name: + label: Site Name + msg: Site Name cannot be empty. + site_url: + label: Site URL + text: The address of your site. + msg: + empty: Site URL cannot be empty. + incorrect: Site URL incorrect format. + contact_email: + label: Contact Email + text: Email address of key contact responsible for this site. + msg: + empty: Contact Email cannot be empty. + incorrect: Contact Email incorrect format. + admin_name: + label: Name + msg: Name cannot be empty. + admin_password: + label: Password + text: >- + You will need this password to log in. Please store it in a secure location. + msg: Password cannot be empty. + admin_email: + label: Email + text: You will need this email to log in. + msg: + empty: Email cannot be empty. + incorrect: Email incorrect format. + ready_title: Your Answer is Ready! + ready_desc: >- + If you ever feel like changing more settings, visit <1>admin section; find it in the site menu. + good_luck: "Have fun, and good luck!" + warn_title: Warning + warn_desc: >- + The file <1>config.yaml already exists. If you need to reset any of the configuration items in this file, please delete it first. + install_now: You may try <1>installing now. + installed: Already installed + installed_desc: >- + You appear to have already installed. To reinstall please clear your old database tables first. + db_failed: Database connection failed + db_failed_desc: >- + This either means that the database information in your <1>config.yaml file is incorrect or that contact with the database server could not be established. This could mean your host’s database server is down. + page_404: + desc: "Unfortunately, this page doesn't exist." + back_home: Back to homepage + page_50X: + desc: The server encountered an error and could not complete your request. + back_home: Back to homepage + page_maintenance: + desc: "We are under maintenance, we’ll be back soon." + nav_menus: + dashboard: Dashboard + contents: Contents + questions: Questions + answers: Answers + users: Users + flags: Flags + settings: Settings + general: General + interface: Interface + smtp: SMTP + branding: Branding + legal: Legal + write: Write + tos: Terms of Service + privacy: Privacy + seo: SEO + customize: Customize + themes: Themes + css-html: CSS/HTML + login: Login + admin: + admin_header: + title: Admin + dashboard: + title: Dashboard + welcome: Welcome to Answer Admin! + site_statistics: Site Statistics + questions: "Questions:" + answers: "Answers:" + comments: "Comments:" + votes: "Votes:" + active_users: "Active users:" + flags: "Flags:" + site_health_status: Site Health Status + version: "Version:" + https: "HTTPS:" + uploading_files: "Uploading files:" + smtp: "SMTP:" + timezone: "Timezone:" + system_info: System Info + storage_used: "Storage used:" + uptime: "Uptime:" + answer_links: Answer Links + documents: Documents + feedback: Feedback + support: Support + review: Review + config: Config + update_to: Update to + latest: Latest + check_failed: Check failed + "yes": "Yes" + "no": "No" + not_allowed: Not allowed + allowed: Allowed + enabled: Enabled + disabled: Disabled + flags: + title: Flags + pending: Pending + completed: Completed + flagged: Flagged + created: Created + action: Action + review: Review + change_modal: + title: Change user status to... + btn_cancel: Cancel + btn_submit: Submit + normal_name: normal + normal_desc: A normal user can ask and answer questions. + suspended_name: suspended + suspended_desc: A suspended user can't log in. + deleted_name: deleted + deleted_desc: "Delete profile, authentication associations." + inactive_name: inactive + inactive_desc: An inactive user must re-validate their email. + confirm_title: Delete this user + confirm_content: Are you sure you want to delete this user? This is permanent! + confirm_btn: Delete + msg: + empty: Please select a reason. + status_modal: + title: "Change {{ type }} status to..." + normal_name: normal + normal_desc: A normal post available to everyone. + closed_name: closed + closed_desc: "A closed question can't answer, but still can edit, vote and comment." + deleted_name: deleted + deleted_desc: All reputation gained and lost will be restored. + btn_cancel: Cancel + btn_submit: Submit + btn_next: Next + user_role_modal: + title: Change user role to... + btn_cancel: Cancel + btn_submit: Submit + users: + title: Users + name: Name + email: Email + reputation: Reputation + created_at: Created Time + delete_at: Deleted Time + suspend_at: Suspended Time + status: Status + role: Role + action: Action + change: Change + all: All + staff: Staff + inactive: Inactive + suspended: Suspended + deleted: Deleted + normal: Normal + Moderator: Moderator + Admin: Admin + User: User + filter: + placeholder: "Filter by name, user:id" + set_new_password: Set new password + change_status: Change status + change_role: Change role + show_logs: Show logs + add_user: Add user + new_password_modal: + title: Set new password + form: + fields: + password: + label: Password + text: The user will be logged out and need to login again. + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + user_modal: + title: Add new user + form: + fields: + display_name: + label: Display Name + msg: display_name must be at 4 - 30 characters in length. + email: + label: Email + msg: Email is not valid. + password: + label: Password + msg: Password must be at 8 - 32 characters in length. + btn_cancel: Cancel + btn_submit: Submit + questions: + page_title: Questions + normal: Normal + closed: Closed + deleted: Deleted + post: Post + votes: Votes + answers: Answers + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, question:id" + answers: + page_title: Answers + normal: Normal + deleted: Deleted + post: Post + votes: Votes + created: Created + status: Status + action: Action + change: Change + filter: + placeholder: "Filter by title, answer:id" + general: + page_title: General + name: + label: Site Name + msg: Site name cannot be empty. + text: "The name of this site, as used in the title tag." + site_url: + label: Site URL + msg: Site url cannot be empty. + validate: Please enter a valid URL. + text: The address of your site. + short_desc: + label: Short Site Description (optional) + msg: Short site description cannot be empty. + text: "Short description, as used in the title tag on homepage." + desc: + label: Site Description (optional) + msg: Site description cannot be empty. + text: "Describe this site in one sentence, as used in the meta description tag." + contact_email: + label: Contact Email + msg: Contact email cannot be empty. + validate: Contact email is not valid. + text: Email address of key contact responsible for this site. + interface: + page_title: Interface + logo: + label: Logo (optional) + msg: Site logo cannot be empty. + text: You can upload your image or <1>reset it to the site title text. + theme: + label: Theme + msg: Theme cannot be empty. + text: Select an existing theme. + language: + label: Interface Language + msg: Interface language cannot be empty. + text: User interface language. It will change when you refresh the page. + time_zone: + label: Timezone + msg: Timezone cannot be empty. + text: Choose a city in the same timezone as you. + smtp: + page_title: SMTP + from_email: + label: From Email + msg: From email cannot be empty. + text: The email address which emails are sent from. + from_name: + label: From Name + msg: From name cannot be empty. + text: The name which emails are sent from. + smtp_host: + label: SMTP Host + msg: SMTP host cannot be empty. + text: Your mail server. + encryption: + label: Encryption + msg: Encryption cannot be empty. + text: For most servers SSL is the recommended option. + ssl: SSL + none: None + smtp_port: + label: SMTP Port + msg: SMTP port must be number 1 ~ 65535. + text: The port to your mail server. + smtp_username: + label: SMTP Username + msg: SMTP username cannot be empty. + smtp_password: + label: SMTP Password + msg: SMTP password cannot be empty. + test_email_recipient: + label: Test Email Recipients + text: Provide email address that will receive test sends. + msg: Test email recipients is invalid + smtp_authentication: + label: Enable authentication + title: SMTP Authentication + msg: SMTP authentication cannot be empty. + "yes": "Yes" + "no": "No" + branding: + page_title: Branding + logo: + label: Logo (optional) + msg: Logo cannot be empty. + text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. + mobile_logo: + label: Mobile Logo (optional) + text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. + square_icon: + label: Square Icon (optional) + msg: Square icon cannot be empty. + text: Image used as the base for metadata icons. Should ideally be larger than 512x512. + favicon: + label: Favicon (optional) + text: A favicon for your site. To work correctly over a CDN it must be a png. Will be resized to 32x32. If left blank, “square icon” will be used. + legal: + page_title: Legal + terms_of_service: + label: Terms of Service + text: "You can add terms of service content here. If you already have a document hosted elsewhere, provide the full URL here." + privacy_policy: + label: Privacy Policy + text: "You can add privacy policy content here. If you already have a document hosted elsewhere, provide the full URL here." + write: + page_title: Write + recommend_tags: + label: Recommend Tags + text: "Please input tag slug above, one tag per line." + required_tag: + title: Required Tag + label: Set recommend tag as required + text: "Every new question must have at least one recommend tag." + reserved_tags: + label: Reserved Tags + text: "Reserved tags can only be added to a post by moderator." + seo: + page_title: SEO + permalink: + label: Permalink + text: Custom URL structures can improve the usability, and forward-compatibility of your links. + robots: + label: robots.txt + text: This will permanently override any related site settings. + themes: + page_title: Themes + themes: + label: Themes + text: Select an existing theme. + navbar_style: + label: Navbar Style + text: Select an existing theme. + primary_color: + label: Primary Color + text: Modify the colors used by your themes + css_and_html: + page_title: CSS and HTML + custom_css: + label: Custom CSS + text: This will insert as + head: + label: Head + text: This will insert before + header: + label: Header + text: This will insert after + footer: + label: Footer + text: This will insert before . + login: + page_title: Login + membership: + title: Membership + label: Allow new registrations + text: Turn off to prevent anyone from creating a new account. + private: + title: Private + label: Login required + text: Only logged in users can access this community. + form: + empty: cannot be empty + invalid: is invalid + btn_submit: Save + not_found_props: "Required property {{ key }} not found." + page_review: + review: Review + proposed: proposed + question_edit: Question edit + answer_edit: Answer edit + tag_edit: Tag edit + edit_summary: Edit summary + edit_question: Edit question + edit_answer: Edit answer + edit_tag: Edit tag + empty: No review tasks left. + timeline: + undeleted: undeleted + deleted: deleted + downvote: downvote + upvote: upvote + accept: accept + cancelled: cancelled + commented: commented + rollback: rollback + edited: edited + answered: answered + asked: asked + closed: closed + reopened: reopened + created: created + title: "History for" + tag_title: "Timeline for" + show_votes: "Show votes" + n_or_a: N/A + title_for_question: "Timeline for" + title_for_answer: "Timeline for answer to {{ title }} by {{ author }}" + title_for_tag: "Timeline for tag" + datetime: Datetime + type: Type + by: By + comment: Comment + no_data: "We couldn't find anything." + users: + title: Users + users_with_the_most_reputation: Users with the highest reputation scores + users_with_the_most_vote: Users who voted the most + staffs: Our community staff + reputation: reputation + votes: votes + + diff --git a/i18n/vi_VN.yaml b/i18n/vi_VN.yaml index 05383dbb..8352bc90 100644 --- a/i18n/vi_VN.yaml +++ b/i18n/vi_VN.yaml @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: diff --git a/i18n/zh_CN.yaml b/i18n/zh_CN.yaml index a02320ef..ba0770ef 100644 --- a/i18n/zh_CN.yaml +++ b/i18n/zh_CN.yaml @@ -405,17 +405,17 @@ ui: form: fields: display_name: - label: 显示名称(别名) + label: 显示名称 msg: - empty: 不能为空 - range: 不能超过 35 个字符 + empty: 显示名称不能为空。 + range: 显示名称不能超过 35 个字符。 slug_name: label: URL 固定链接 - desc: '必须使用字符集 "a-z"、"0-9"、"+ # - ."' + desc: '必须由 "a-z", "0-9", "+ # - ." 组成' msg: - empty: 不能为空 - range: 不能超过 35 个字符 - character: 包含非法字符 + empty: URL 固定链接不能为空。 + range: URL 固定链接不能超过 35 个字符。 + character: URL 固定链接包含非法字符。 desc: label: 描述(可选) btn_cancel: 取消 @@ -446,7 +446,7 @@ ui: revision: label: 编辑历史 display_name: - label: 名称 + label: 显示名称 slug_name: label: URL 固定链接 info: '必须由 "a-z", "0-9", "+ # - ." 组成' @@ -585,7 +585,8 @@ ui: msg: empty: 不能为空 login: - page_title: 欢迎来到 Answer + page_title: 欢迎来到 {{site_name}} + login_to_continue: 登录以继续 info_sign: 没有账户?<1>注册 info_login: 已经有一个账户?<1>登录 agreements: 登录即表示您同意<1>隐私政策和<3>服务条款。 @@ -614,7 +615,7 @@ ui: msg: empty: 邮箱不能为空 change_email: - page_title: 欢迎来到 Answer + page_title: 欢迎来到 {{site_name}} btn_cancel: 取消 btn_update: 更新电子邮件地址 send_success: >- @@ -651,8 +652,8 @@ ui: btn_name: 保存 display_name: label: 昵称 - msg: 昵称不能为空 - msg_range: 昵称不能超过 30 个字符 + msg: 昵称不能为空。 + msg_range: 昵称不能超过 30 个字符。 username: label: 用户名 caption: 用户之间可以通过 "@用户名" 进行交互。 @@ -803,7 +804,7 @@ ui: modal_confirm: title: 发生错误... account_result: - page_title: 欢迎来到 Answer + page_title: 欢迎来到 {{site_name}} success: 你的账号已通过验证,即将返回首页。 link: 返回首页 invalid: >- @@ -1102,7 +1103,7 @@ ui: fields: display_name: label: 昵称 - msg: 昵称的长度必须是4-30个字符。 + msg: 昵称的长度必须是 3-30 个字符。 email: label: 邮箱 msg: 电子邮箱无效。 @@ -1222,14 +1223,14 @@ ui: branding: page_title: 品牌 logo: - label: 图标 + label: Logo (可选) msg: 图标不能为空。 text: 在你的网站左上方的Logo图标。使用一个高度为56,长宽比大于3:1的宽长方形图像。如果留空,将显示网站标题文本。 mobile_logo: label: 移动端图标(可选) text: 在你的网站的移动版上使用的标志。使用一个高度为56的宽矩形图像。如果留空,将使用 "Logo"设置中的图像。 square_icon: - label: 方形图标 + label: 方形图标 (可选) msg: 方形图标不能为空。 text: 用作元数据图标的基础的图像。最好是大于512x512。 favicon: @@ -1247,7 +1248,7 @@ ui: page_title: 编辑 recommend_tags: label: 推荐标签 - text: "请输入以上标签,每行一个标签。" + text: "请在上方输入标签固定链接,每行一个标签。" required_tag: title: 必需的标签 label: 根据需要设置推荐标签 diff --git a/i18n/zh_TW.yaml b/i18n/zh_TW.yaml index d406ea07..abd8aea1 100644 --- a/i18n/zh_TW.yaml +++ b/i18n/zh_TW.yaml @@ -10,24 +10,24 @@ backend: unauthorized_error: other: "未授權。" database_error: - other: "Data server error." + other: "資料庫錯誤。" role: name: user: - other: "User" + other: "使用者" admin: - other: "Admin" + other: "管理者" moderator: - other: "Moderator" + other: "版主" description: user: - other: "Default with no special access." + other: "預設沒有特別閱讀權限" admin: - other: "Have the full power to access the site." + other: "擁有所有權限" moderator: - other: "Has access to all posts except admin settings." + other: "可以訪問除了管理員設定以外的所有貼文" email: - other: "Email" + other: "電子郵件" password: other: "密碼" email_or_password_wrong_error: @@ -38,37 +38,37 @@ backend: other: 電子郵箱和密碼不匹配。 answer: not_found: - other: "Answer do not found." + other: "無答案。" cannot_deleted: - other: "No permission to delete." + other: "無刪除權限。" cannot_update: - other: "No permission to update." + other: "無更新權限。" comment: edit_without_permission: - other: "Comment are not allowed to edit." + other: "不允許編輯評論。" not_found: - other: "Comment not found." + other: "無評論。" email: duplicate: - other: "Email already exists." + other: "該電子郵件已被使用" need_to_be_verified: - other: "Email should be verified." + other: "需驗證電子郵件信箱。" verify_url_expired: - other: "Email verified URL has expired, please resend the email." + other: "電子郵件驗證網址已過期,請重發確認郵件。" lang: not_found: - other: "Language file not found." + other: "無此語系檔。" object: captcha_verification_failed: - other: "Captcha wrong." + other: "驗證碼錯誤。" disallow_follow: - other: "You are not allowed to follow." + other: "你不能追蹤" disallow_vote: - other: "You are not allowed to vote." + other: "你不能投票" disallow_vote_your_self: - other: "You can't vote for your own post." + other: "你不能為自己的貼文投票" not_found: - other: "Object not found." + other: "找不到物件" verification_failed: other: "驗證失敗。" email_or_password_incorrect: @@ -88,7 +88,7 @@ backend: other: "沒有更新的權限。" rank: fail_to_meet_the_condition: - other: "Rank fail to meet the condition." + other: "無法為條件排序" report: handle_failed: other: "Report handle failed." @@ -585,7 +585,8 @@ ui: msg: empty: Cannot be empty. login: - page_title: Welcome to Answer + page_title: Welcome to {{site_name}} + login_to_continue: Log in to continue info_sign: Don't have an account? <1>Sign up info_login: Already have an account? <1>Log in agreements: By registering, you agree to the <1>privacy policy and <3>terms of service. @@ -1222,14 +1223,14 @@ ui: branding: page_title: Branding logo: - label: Logo + label: Logo (optional) msg: Logo cannot be empty. text: The logo image at the top left of your site. Use a wide rectangular image with a height of 56 and an aspect ratio greater than 3:1. If left blank, the site title text will be shown. mobile_logo: label: Mobile Logo (optional) text: The logo used on mobile version of your site. Use a wide rectangular image with a height of 56. If left blank, the image from the “logo” setting will be used. square_icon: - label: Square Icon + label: Square Icon (optional) msg: Square icon cannot be empty. text: Image used as the base for metadata icons. Should ideally be larger than 512x512. favicon: From a7a8cbf35cc56e4497abd395fe33bceaa7cf6bfa Mon Sep 17 00:00:00 2001 From: LinkinStars Date: Mon, 6 Feb 2023 10:55:09 +0800 Subject: [PATCH 51/70] docs(i18n): Update i18n files --- i18n/en_US.yaml | 210 ++++++++++++++++++++++++------------------------ 1 file changed, 106 insertions(+), 104 deletions(-) diff --git a/i18n/en_US.yaml b/i18n/en_US.yaml index 9d1c1b20..dfa484c0 100644 --- a/i18n/en_US.yaml +++ b/i18n/en_US.yaml @@ -3,242 +3,244 @@ backend: base: success: - other: "Success." + other: Success. unknown: - other: "Unknown error." + other: Unknown error. request_format_error: - other: "Request format is not valid." + other: Request format is not valid. unauthorized_error: - other: "Unauthorized." + other: Unauthorized. database_error: - other: "Data server error." - + other: Data server error. role: name: user: - other: "User" + other: User admin: - other: "Admin" + other: Admin moderator: - other: "Moderator" + other: Moderator description: user: - other: "Default with no special access." + other: Default with no special access. admin: - other: "Have the full power to access the site." + other: Have the full power to access the site. moderator: - other: "Has access to all posts except admin settings." - + other: Has access to all posts except admin settings. email: - other: "Email" + other: Email password: - other: "Password" - - email_or_password_wrong_error: &email_or_password_wrong - other: "Email and password do not match." - + other: Password + email_or_password_wrong_error: + other: Email and password do not match. error: admin: - email_or_password_wrong: *email_or_password_wrong + email_or_password_wrong: + other: Email and password do not match. answer: not_found: - other: "Answer do not found." + other: Answer do not found. cannot_deleted: - other: "No permission to delete." + other: No permission to delete. cannot_update: - other: "No permission to update." + other: No permission to update. comment: edit_without_permission: - other: "Comment are not allowed to edit." + other: Comment are not allowed to edit. not_found: - other: "Comment not found." + other: Comment not found. cannot_edit_after_deadline: - other: "The comment time has been too long to modify." + other: The comment time has been too long to modify. email: duplicate: - other: "Email already exists." + other: Email already exists. need_to_be_verified: - other: "Email should be verified." + other: Email should be verified. verify_url_expired: - other: "Email verified URL has expired, please resend the email." + other: Email verified URL has expired, please resend the email. lang: not_found: - other: "Language file not found." + other: Language file not found. object: captcha_verification_failed: - other: "Captcha wrong." + other: Captcha wrong. disallow_follow: - other: "You are not allowed to follow." + other: You are not allowed to follow. disallow_vote: - other: "You are not allowed to vote." + other: You are not allowed to vote. disallow_vote_your_self: - other: "You can't vote for your own post." + other: You can't vote for your own post. not_found: - other: "Object not found." + other: Object not found. verification_failed: - other: "Verification failed." + other: Verification failed. email_or_password_incorrect: - other: "Email and password do not match." + other: Email and password do not match. old_password_verification_failed: - other: "The old password verification failed" + other: The old password verification failed new_password_same_as_previous_setting: - other: "The new password is the same as the previous one." + other: The new password is the same as the previous one. question: not_found: - other: "Question not found." + other: Question not found. cannot_deleted: - other: "No permission to delete." + other: No permission to delete. cannot_close: - other: "No permission to close." + other: No permission to close. cannot_update: - other: "No permission to update." + other: No permission to update. rank: fail_to_meet_the_condition: - other: "Rank fail to meet the condition." + other: Rank fail to meet the condition. report: handle_failed: - other: "Report handle failed." + other: Report handle failed. not_found: - other: "Report not found." + other: Report not found. tag: not_found: - other: "Tag not found." + other: Tag not found. recommend_tag_not_found: - other: "Recommend Tag is not exist." + other: Recommend Tag is not exist. recommend_tag_enter: - other: "Please enter at least one required tag." + other: Please enter at least one required tag. not_contain_synonym_tags: - other: "Should not contain synonym tags." + other: Should not contain synonym tags. cannot_update: - other: "No permission to update." + other: No permission to update. cannot_set_synonym_as_itself: - other: "You cannot set the synonym of the current tag as itself." + other: You cannot set the synonym of the current tag as itself. smtp: config_from_name_cannot_be_email: - other: "The From Name cannot be a email address." + other: The From Name cannot be a email address. theme: not_found: - other: "Theme not found." + other: Theme not found. revision: review_underway: - other: "Can't edit currently, there is a version in the review queue." + other: Can't edit currently, there is a version in the review queue. no_permission: - other: "No permission to Revision." + other: No permission to Revision. user: email_or_password_wrong: - other: *email_or_password_wrong + other: + other: Email and password do not match. not_found: - other: "User not found." + other: User not found. suspended: - other: "User has been suspended." + other: User has been suspended. username_invalid: - other: "Username is invalid." + other: Username is invalid. username_duplicate: - other: "Username is already in use." + other: Username is already in use. set_avatar: - other: "Avatar set failed." + other: Avatar set failed. cannot_update_your_role: - other: "You cannot modify your role." + other: You cannot modify your role. not_allowed_registration: - other: "Currently the site is not open for registration" + other: Currently the site is not open for registration config: read_config_failed: - other: "Read config failed" + other: Read config failed database: connection_failed: - other: "Database connection failed" + other: Database connection failed create_table_failed: - other: "Create table failed" + other: Create table failed install: create_config_failed: - other: "Can't create the config.yaml file." + other: Can't create the config.yaml file. report: spam: name: - other: "spam" + other: spam desc: - other: "This post is an advertisement, or vandalism. It is not useful or relevant to the current topic." + other: This post is an advertisement, or vandalism. It is not useful or relevant + to the current topic. rude: name: - other: "rude or abusive" + other: rude or abusive desc: - other: "A reasonable person would find this content inappropriate for respectful discourse." + other: A reasonable person would find this content inappropriate for respectful + discourse. duplicate: name: - other: "a duplicate" + other: a duplicate desc: - other: "This question has been asked before and already has an answer." + other: This question has been asked before and already has an answer. not_answer: name: - other: "not an answer" + other: not an answer desc: - other: "This was posted as an answer, but it does not attempt to answer the question. It should possibly be an edit, a comment, another question, or deleted altogether." + other: This was posted as an answer, but it does not attempt to answer the + question. It should possibly be an edit, a comment, another question, + or deleted altogether. not_need: name: - other: "no longer needed" + other: no longer needed desc: - other: "This comment is outdated, conversational or not relevant to this post." + other: This comment is outdated, conversational or not relevant to this post. other: name: - other: "something else" + other: something else desc: - other: "This post requires staff attention for another reason not listed above." - + other: This post requires staff attention for another reason not listed above. question: close: duplicate: name: - other: "spam" + other: spam desc: - other: "This question has been asked before and already has an answer." + other: This question has been asked before and already has an answer. guideline: name: - other: "a community-specific reason" + other: a community-specific reason desc: - other: "This question doesn't meet a community guideline." + other: This question doesn't meet a community guideline. multiple: name: - other: "needs details or clarity" + other: needs details or clarity desc: - other: "This question currently includes multiple questions in one. It should focus on one problem only." + other: This question currently includes multiple questions in one. It should + focus on one problem only. other: name: - other: "something else" + other: something else desc: - other: "This post requires another reason not listed above." + other: This post requires another reason not listed above. operation_type: asked: - other: "asked" + other: asked answered: - other: "answered" + other: answered modified: - other: "modified" + other: modified notification: action: update_question: - other: "updated question" + other: updated question answer_the_question: - other: "answered question" + other: answered question update_answer: - other: "updated answer" + other: updated answer accept_answer: - other: "accepted answer" + other: accepted answer comment_question: - other: "commented question" + other: commented question comment_answer: - other: "commented answer" + other: commented answer reply_to_you: - other: "replied to you" + other: replied to you mention_you: - other: "mentioned you" + other: mentioned you your_question_is_closed: - other: "Your question has been closed" + other: Your question has been closed your_question_was_deleted: - other: "Your question has been deleted" + other: Your question has been deleted your_answer_was_deleted: - other: "Your answer has been deleted" + other: Your answer has been deleted your_comment_was_deleted: - other: "Your comment has been deleted" + other: Your comment has been deleted # The following fields are used for interface presentation(Front-end) ui: From 2d8457419d5216dfee774310bc69c24f7488dbbe Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 13:43:13 +0800 Subject: [PATCH 52/70] update github action dockerhub img --- .github/workflows/build_dockerhub_img.yml | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 07c5a0a9..689a8e01 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -24,6 +24,9 @@ jobs: uses: docker/setup-buildx-action@v2 with: platforms: linux/amd64,linux/arm64 + version: latest + endpoint: builders + driver: docker - name: Login to DockerHub uses: docker/login-action@v1 From d798b7be44a88cb060808c775ae97e52de4bc2c8 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 14:11:35 +0800 Subject: [PATCH 53/70] update action docker build --- .github/workflows/build_dockerhub_img.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 689a8e01..a5908719 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -50,7 +50,7 @@ jobs: - name: Build and push - uses: docker/build-push-action@v2 + uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile From c21f632c96fb17922c1e51e0ade56d967d69125c Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 15:14:56 +0800 Subject: [PATCH 54/70] update build docker img --- .github/workflows/build_dockerhub_img.yml | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index a5908719..2487c2f0 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -49,12 +49,22 @@ jobs: - - name: Build and push + - name: Build amd64 uses: docker/build-push-action@v4 with: context: . file: ./Dockerfile - platforms: linux/amd64,linux/arm64 + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Build arm64 + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} From 600a724e91bd19acc2e7cb4b1249a18640c7784f Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 15:38:31 +0800 Subject: [PATCH 55/70] update go mod sum --- go.sum | 1 - 1 file changed, 1 deletion(-) diff --git a/go.sum b/go.sum index a84e52f3..2a19ee7f 100644 --- a/go.sum +++ b/go.sum @@ -38,7 +38,6 @@ cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3f dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a h1:lSA0F4e9A2NcQSqGqTOXqu2aRi/XEQxDCBwM8yJtE6s= gitea.com/xorm/sqlfiddle v0.0.0-20180821085327-62ce714f951a/go.mod h1:EXuID2Zs0pAQhH8yz+DNjUbjppKQzKFAn28TMYPB6IU= -gitee.com/travelliu/dm v1.8.11192/go.mod h1:DHTzyhCrM843x9VdKVbZ+GKXGRbKM2sJ4LxihRxShkE= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78 h1:w+iIsaOQNcT7OZ575w+acHgRric5iCyQh+xv+KJ4HB8= github.com/Azure/go-ansiterm v0.0.0-20170929234023-d6e3b3328b78/go.mod h1:LmzpDX56iTiv29bbRTIsUNlaFfuhWRQBWjQdVyAevI8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= From fc396ef98754aa87b60da2ec2754ab0e16d9200c Mon Sep 17 00:00:00 2001 From: LinkinStars Date: Mon, 6 Feb 2023 15:51:44 +0800 Subject: [PATCH 56/70] fix(i18n): Resolve an issue that causes unexpected errors when translation files for unsupported languages are not properly initialized. --- internal/base/translator/provider.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/internal/base/translator/provider.go b/internal/base/translator/provider.go index 3d903a14..bff57486 100644 --- a/internal/base/translator/provider.go +++ b/internal/base/translator/provider.go @@ -8,6 +8,7 @@ import ( "github.com/google/wire" myTran "github.com/segmentfault/pacman/contrib/i18n" "github.com/segmentfault/pacman/i18n" + "github.com/segmentfault/pacman/log" "gopkg.in/yaml.v3" ) @@ -68,12 +69,14 @@ func NewTranslator(c *I18n) (tr i18n.Translator, err error) { content, err := yaml.Marshal(translation) if err != nil { - return nil, fmt.Errorf("marshal translation content failed: %s %s", file.Name(), err) + log.Debugf("marshal translation content failed: %s %s", file.Name(), err) + continue } // add translator use backend translation if err = myTran.AddTranslator(content, file.Name()); err != nil { - return nil, fmt.Errorf("add translator failed: %s %s", file.Name(), err) + log.Debugf("add translator failed: %s %s", file.Name(), err) + continue } } GlobalTrans = myTran.GlobalTrans From 808a2ebc1288386940147543cd2fdd629c184ace Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 17:42:42 +0800 Subject: [PATCH 57/70] update go mod --- go.mod | 3 +++ go.sum | 1 + 2 files changed, 4 insertions(+) diff --git a/go.mod b/go.mod index 1db48ddb..be249e79 100644 --- a/go.mod +++ b/go.mod @@ -136,3 +136,6 @@ require ( modernc.org/token v1.0.0 // indirect sigs.k8s.io/yaml v1.3.0 // indirect ) + +// github action runner Sometimes it will time out. +replace gitee.com/travelliu/dm v1.8.11192 => github.com/aichy126/dm v1.8.11192 diff --git a/go.sum b/go.sum index 2a19ee7f..3a2504b4 100644 --- a/go.sum +++ b/go.sum @@ -63,6 +63,7 @@ github.com/Shopify/toxiproxy v2.1.4+incompatible/go.mod h1:OXgGpZ6Cli1/URJOF1DMx github.com/VividCortex/gohistogram v1.0.0/go.mod h1:Pf5mBqqDxYaXu3hDrrU+w6nw50o/4+TcAqDqk/vUH7g= github.com/afex/hystrix-go v0.0.0-20180502004556-fa1af6a1f4f5/go.mod h1:SkGFH1ia65gfNATL8TAiHDNxPzPdmEL5uirI2Uyuz6c= github.com/agiledragon/gomonkey/v2 v2.3.1/go.mod h1:ap1AmDzcVOAz1YpeJ3TCzIgstoaWLA6jbbgxfB4w2iY= +github.com/aichy126/dm v1.8.11192/go.mod h1:DHTzyhCrM843x9VdKVbZ+GKXGRbKM2sJ4LxihRxShkE= github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc= github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0= From 7b177ec2cbdd2751414f1ab95543f89ce632f626 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 18:18:13 +0800 Subject: [PATCH 58/70] update github action --- .github/workflows/build_dockerhub_img.yml | 16 ++++ .github/workflows/build_img.yml | 89 +++++++++++++++++++++++ 2 files changed, 105 insertions(+) create mode 100644 .github/workflows/build_img.yml diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 2487c2f0..eeb5834b 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -10,6 +10,10 @@ on: # pull_request: # branches: [ "main" ] +env: + REGISTRY: ghcr.io + IMAGE: answerdev/answer + jobs: build: runs-on: [self-hosted, linux] @@ -34,6 +38,13 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + - name: Extract metadata id: meta uses: docker/metadata-action@v3 @@ -69,5 +80,10 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + - name: Push image to GHCR + run: | + docker buildx imagetools create \ + --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest + ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest diff --git a/.github/workflows/build_img.yml b/.github/workflows/build_img.yml new file mode 100644 index 00000000..dec31474 --- /dev/null +++ b/.github/workflows/build_img.yml @@ -0,0 +1,89 @@ +name: Build Docker Hub Image + +on: + push: + branches: [ "githubaction" ] + tags: + - v2.* + - v1.* + - v0.* + # pull_request: + # branches: [ "main" ] + +env: + REGISTRY: ghcr.io + IMAGE: answerdev/answer + +jobs: + build: + runs-on: [self-hosted, linux] + steps: + - name: Checkout + uses: actions/checkout@v3 + + - name: Set up QEMU + uses: docker/setup-qemu-action@v2 + + - name: Set up Docker Buildx + uses: docker/setup-buildx-action@v2 + with: + platforms: linux/amd64,linux/arm64 + version: latest + endpoint: builders + driver: docker + + - name: Login to DockerHub + uses: docker/login-action@v1 + with: + username: ${{ secrets.DOCKER_USERNAME }} + password: ${{ secrets.DOCKER_PASSWORD }} + + - name: Login to GitHub Container Registry + uses: docker/login-action@v2 + with: + registry: ghcr.io + username: ${{ github.actor }} + password: ${{ secrets.GITHUB_TOKEN }} + + - name: Extract metadata + id: meta + uses: docker/metadata-action@v3 + with: + images: answerdev/answer + tags: | + type=raw,value=latest + # branch event + type=ref,enable=true,priority=600,prefix=,suffix=,event=branch + # tag event + #type=ref,enable=true,priority=600,prefix=,suffix=,event=tag + type=semver,pattern={{version}} + + + + - name: Build amd64 + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: linux/amd64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Build arm64 + uses: docker/build-push-action@v4 + with: + context: . + file: ./Dockerfile + platforms: linux/arm64 + push: true + tags: ${{ steps.meta.outputs.tags }} + labels: ${{ steps.meta.outputs.labels }} + + - name: Push image to GHCR + run: | + docker buildx imagetools create \ + --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest + ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest + + From 572cd58e5dc6eef3b2a2614b730f817acdadc56c Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Mon, 6 Feb 2023 18:59:39 +0800 Subject: [PATCH 59/70] update build docker img --- .github/workflows/build_img.yml | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/.github/workflows/build_img.yml b/.github/workflows/build_img.yml index dec31474..6c96499b 100644 --- a/.github/workflows/build_img.yml +++ b/.github/workflows/build_img.yml @@ -70,20 +70,20 @@ jobs: tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - name: Build arm64 - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} + # - name: Build arm64 + # uses: docker/build-push-action@v4 + # with: + # context: . + # file: ./Dockerfile + # platforms: linux/arm64 + # push: true + # tags: ${{ steps.meta.outputs.tags }} + # labels: ${{ steps.meta.outputs.labels }} - - name: Push image to GHCR - run: | - docker buildx imagetools create \ - --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest + # - name: Push image to GHCR + # run: | + # docker buildx imagetools create \ + # --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest + # ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest From 964e6bd2d46a75690823403ed4d2745784be5607 Mon Sep 17 00:00:00 2001 From: LinkinStars Date: Mon, 6 Feb 2023 19:04:05 +0800 Subject: [PATCH 60/70] fix(upload): add image file check --- i18n/en_US.yaml | 3 +++ internal/base/reason/reason.go | 1 + internal/service/uploader/upload.go | 39 ++++++++++++++++------------- pkg/checker/file_type.go | 29 +++++++++++++++++++++ 4 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 pkg/checker/file_type.go diff --git a/i18n/en_US.yaml b/i18n/en_US.yaml index 9d1c1b20..b58a870f 100644 --- a/i18n/en_US.yaml +++ b/i18n/en_US.yaml @@ -152,6 +152,9 @@ backend: install: create_config_failed: other: "Can't create the config.yaml file." + upload: + unsupported_file_format: + other: Unsupported file format. report: spam: name: diff --git a/internal/base/reason/reason.go b/internal/base/reason/reason.go index af4b5b71..bc726d1f 100644 --- a/internal/base/reason/reason.go +++ b/internal/base/reason/reason.go @@ -54,6 +54,7 @@ const ( InstallConfigFailed = "error.install.create_config_failed" SiteInfoNotFound = "error.site_info.not_found" UploadFileSourceUnsupported = "error.upload.source_unsupported" + UploadFileUnsupportedFileFormat = "error.upload.unsupported_file_format" RecommendTagNotExist = "error.tag.recommend_tag_not_found" RecommendTagEnter = "error.tag.recommend_tag_enter" RevisionReviewUnderway = "error.revision.review_underway" diff --git a/internal/service/uploader/upload.go b/internal/service/uploader/upload.go index 3a3df6e8..f438e7dd 100644 --- a/internal/service/uploader/upload.go +++ b/internal/service/uploader/upload.go @@ -11,10 +11,10 @@ import ( "path/filepath" "strings" - "github.com/answerdev/answer/internal/base/handler" "github.com/answerdev/answer/internal/base/reason" "github.com/answerdev/answer/internal/service/service_config" "github.com/answerdev/answer/internal/service/siteinfo_common" + "github.com/answerdev/answer/pkg/checker" "github.com/answerdev/answer/pkg/dir" "github.com/answerdev/answer/pkg/uid" "github.com/disintegration/imaging" @@ -40,10 +40,10 @@ var ( ".jpg": imaging.JPEG, ".jpeg": imaging.JPEG, ".png": imaging.PNG, - ".gif": imaging.GIF, - ".tif": imaging.TIFF, - ".tiff": imaging.TIFF, - ".bmp": imaging.BMP, + //".gif": imaging.GIF, + //".tif": imaging.TIFF, + //".tiff": imaging.TIFF, + //".bmp": imaging.BMP, } ) @@ -74,13 +74,11 @@ func (us *UploaderService) UploadAvatarFile(ctx *gin.Context) (url string, err e ctx.Request.Body = http.MaxBytesReader(ctx.Writer, ctx.Request.Body, 5*1024*1024) _, file, err := ctx.Request.FormFile("file") if err != nil { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } fileExt := strings.ToLower(path.Ext(file.Filename)) if _, ok := FormatExts[fileExt]; !ok { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } newFilename := fmt.Sprintf("%s%s", uid.IDStr12(), fileExt) @@ -147,13 +145,11 @@ func (us *UploaderService) UploadPostFile(ctx *gin.Context) ( ctx.Request.Body = http.MaxBytesReader(ctx.Writer, ctx.Request.Body, 10*1024*1024) _, file, err := ctx.Request.FormFile("file") if err != nil { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } fileExt := strings.ToLower(path.Ext(file.Filename)) if _, ok := FormatExts[fileExt]; !ok { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } newFilename := fmt.Sprintf("%s%s", uid.IDStr12(), fileExt) @@ -167,14 +163,12 @@ func (us *UploaderService) UploadBrandingFile(ctx *gin.Context) ( ctx.Request.Body = http.MaxBytesReader(ctx.Writer, ctx.Request.Body, 10*1024*1024) _, file, err := ctx.Request.FormFile("file") if err != nil { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } fileExt := strings.ToLower(path.Ext(file.Filename)) _, ok := FormatExts[fileExt] if !ok && fileExt != ".ico" { - handler.HandleResponse(ctx, errors.BadRequest(reason.RequestFormatError), nil) - return + return "", errors.BadRequest(reason.RequestFormatError).WithError(err) } newFilename := fmt.Sprintf("%s%s", uid.IDStr12(), fileExt) @@ -192,6 +186,17 @@ func (us *UploaderService) uploadFile(ctx *gin.Context, file *multipart.FileHead if err := ctx.SaveUploadedFile(file, filePath); err != nil { return "", errors.InternalServer(reason.UnknownError).WithError(err).WithStack() } + + src, err := file.Open() + if err != nil { + return "", errors.InternalServer(reason.UnknownError).WithError(err).WithStack() + } + defer src.Close() + + if !checker.IsSupportedImageFile(src, filepath.Ext(fileSubPath)) { + return "", errors.BadRequest(reason.UploadFileUnsupportedFileFormat) + } + url = fmt.Sprintf("%s/uploads/%s", siteGeneral.SiteUrl, fileSubPath) return url, nil } diff --git a/pkg/checker/file_type.go b/pkg/checker/file_type.go new file mode 100644 index 00000000..a5918a44 --- /dev/null +++ b/pkg/checker/file_type.go @@ -0,0 +1,29 @@ +package checker + +import ( + "image/jpeg" + "image/png" + "io" + "strings" +) + +// IsSupportedImageFile currently answers support image type is `image/jpeg,image/jpg,image/png` +func IsSupportedImageFile(file io.Reader, ext string) bool { + ext = strings.TrimPrefix(ext, ".") + var err error + switch strings.ToUpper(ext) { + case "JPG", "JPEG": + _, err = jpeg.Decode(file) + case "PNG": + _, err = png.Decode(file) + case "ICO": + // TODO: There is currently no good Golang library to parse whether the image is in ico format. + return true + default: + return false + } + if err != nil { + return false + } + return true +} From 53bfd1d551a9ebc4923805bd8fa26a51959892f4 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 14:35:23 +0800 Subject: [PATCH 61/70] update action --- .github/workflows/build_dockerhub_img.yml | 58 ++++----------- .github/workflows/build_github_img.yml | 65 ----------------- .github/workflows/build_img.yml | 89 ----------------------- 3 files changed, 14 insertions(+), 198 deletions(-) delete mode 100644 .github/workflows/build_github_img.yml delete mode 100644 .github/workflows/build_img.yml diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index eeb5834b..737282b2 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -2,7 +2,7 @@ name: Build Docker Hub Image on: push: - branches: [ "main" ] + branches: [ "main","githubaction" ] tags: - v2.* - v1.* @@ -10,10 +10,6 @@ on: # pull_request: # branches: [ "main" ] -env: - REGISTRY: ghcr.io - IMAGE: answerdev/answer - jobs: build: runs-on: [self-hosted, linux] @@ -21,19 +17,24 @@ jobs: - name: Checkout uses: actions/checkout@v3 + - name: Docker meta + id: meta + uses: docker/metadata-action@v4 + with: + images: aichy66/actiondev + tags: | + type=raw,value=latest + type=ref,enable=true,priority=600,prefix=,suffix=,event=branch + type=semver,pattern={{version}} + - name: Set up QEMU uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64 - version: latest - endpoint: builders - driver: docker - name: Login to DockerHub - uses: docker/login-action@v1 + uses: docker/login-action@v2 with: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} @@ -45,45 +46,14 @@ jobs: username: ${{ github.actor }} password: ${{ secrets.GITHUB_TOKEN }} - - name: Extract metadata - id: meta - uses: docker/metadata-action@v3 - with: - images: answerdev/answer - tags: | - type=raw,value=latest - # branch event - type=ref,enable=true,priority=600,prefix=,suffix=,event=branch - # tag event - #type=ref,enable=true,priority=600,prefix=,suffix=,event=tag - type=semver,pattern={{version}} - - - - - name: Build amd64 + - name: Build and push uses: docker/build-push-action@v4 with: context: . - file: ./Dockerfile - platforms: linux/amd64 + platforms: linux/amd64,linux/arm64 push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - - name: Build arm64 - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile - platforms: linux/arm64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - - name: Push image to GHCR - run: | - docker buildx imagetools create \ - --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest - ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest diff --git a/.github/workflows/build_github_img.yml b/.github/workflows/build_github_img.yml deleted file mode 100644 index 67fe28ea..00000000 --- a/.github/workflows/build_github_img.yml +++ /dev/null @@ -1,65 +0,0 @@ -name: Build GitHub Image - -on: - push: - branches: [ "main" ] - tags: - - 2.* - - 1.* - - 0.* - # pull_request: - # branches: [ "main" ] - - -env: - REGISTRY: ghcr.io - IMAGE: answerdev/answer - -jobs: - build-and-push: - runs-on: [self-hosted, linux] - - permissions: - packages: write - contents: read - - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Login to ghcr.io - uses: docker/login-action@v1 - with: - registry: ${{ env.REGISTRY }} - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - - name: Extract metadata - id: meta - uses: docker/metadata-action@v3 - with: - images: ${{ env.REGISTRY }}/${{ env.IMAGE }} - tags: | - type=raw,value=latest - - - - name: Build Img - uses: docker/build-push-action@v3 - with: - context: . - file: ./Dockerfile - builder: ${{ steps.buildx.outputs.name }} - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - # - name: build to hub.docker - # run: | - # docker build -t answerdev/answer -f ./Dockerfile . - # - name: Login to hub.docker Registry - # run: docker login --username=${{ secrets.DOCKER_USERNAME }} --password ${{ secrets.DOCKER_PASSWORD }} - # - name: Push Image to hub.docker - # run: | - # docker push answerdev/answer - diff --git a/.github/workflows/build_img.yml b/.github/workflows/build_img.yml deleted file mode 100644 index 6c96499b..00000000 --- a/.github/workflows/build_img.yml +++ /dev/null @@ -1,89 +0,0 @@ -name: Build Docker Hub Image - -on: - push: - branches: [ "githubaction" ] - tags: - - v2.* - - v1.* - - v0.* - # pull_request: - # branches: [ "main" ] - -env: - REGISTRY: ghcr.io - IMAGE: answerdev/answer - -jobs: - build: - runs-on: [self-hosted, linux] - steps: - - name: Checkout - uses: actions/checkout@v3 - - - name: Set up QEMU - uses: docker/setup-qemu-action@v2 - - - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v2 - with: - platforms: linux/amd64,linux/arm64 - version: latest - endpoint: builders - driver: docker - - - name: Login to DockerHub - uses: docker/login-action@v1 - with: - username: ${{ secrets.DOCKER_USERNAME }} - password: ${{ secrets.DOCKER_PASSWORD }} - - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} - - - name: Extract metadata - id: meta - uses: docker/metadata-action@v3 - with: - images: answerdev/answer - tags: | - type=raw,value=latest - # branch event - type=ref,enable=true,priority=600,prefix=,suffix=,event=branch - # tag event - #type=ref,enable=true,priority=600,prefix=,suffix=,event=tag - type=semver,pattern={{version}} - - - - - name: Build amd64 - uses: docker/build-push-action@v4 - with: - context: . - file: ./Dockerfile - platforms: linux/amd64 - push: true - tags: ${{ steps.meta.outputs.tags }} - labels: ${{ steps.meta.outputs.labels }} - - # - name: Build arm64 - # uses: docker/build-push-action@v4 - # with: - # context: . - # file: ./Dockerfile - # platforms: linux/arm64 - # push: true - # tags: ${{ steps.meta.outputs.tags }} - # labels: ${{ steps.meta.outputs.labels }} - - # - name: Push image to GHCR - # run: | - # docker buildx imagetools create \ - # --tag ghcr.io/${{ env.REGISTRY }}/${{ env.IMAGE }}:latest - # ${{ env.REGISTRY }}/${{ env.IMAGE }}:latest - - From 6cda84d3500dad1e3af4706850fd154646ae3912 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 14:38:17 +0800 Subject: [PATCH 62/70] update github action --- .github/workflows/build_dockerhub_img.yml | 2 +- .github/workflows/{build.yml => build_goreleaser.yml} | 2 +- .github/workflows/go_build_test.yml | 2 +- .github/workflows/node_build_test.yml | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) rename .github/workflows/{build.yml => build_goreleaser.yml} (97%) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 737282b2..91590174 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -1,4 +1,4 @@ -name: Build Docker Hub Image +name: Build DockerHub Image on: push: diff --git a/.github/workflows/build.yml b/.github/workflows/build_goreleaser.yml similarity index 97% rename from .github/workflows/build.yml rename to .github/workflows/build_goreleaser.yml index 3f96633e..ec607bc6 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build_goreleaser.yml @@ -8,7 +8,7 @@ permissions: contents: write jobs: - build-and-push: + build-goreleaser: runs-on: [self-hosted, linux] steps: diff --git a/.github/workflows/go_build_test.yml b/.github/workflows/go_build_test.yml index 21045786..8c9d267b 100644 --- a/.github/workflows/go_build_test.yml +++ b/.github/workflows/go_build_test.yml @@ -2,7 +2,7 @@ name: Go Build Test on: push: - branches: [ "main" ] + branches: [ "main","githubaction" ] pull_request: branches: [ "main" ] diff --git a/.github/workflows/node_build_test.yml b/.github/workflows/node_build_test.yml index 41c2c4c6..5a88cf48 100644 --- a/.github/workflows/node_build_test.yml +++ b/.github/workflows/node_build_test.yml @@ -2,7 +2,7 @@ name: Node Build Test on: push: - branches: [ "main" ] + branches: [ "main","githubaction"] pull_request: branches: [ "main" ] From 87f96839e2f1e9bccf1eccdd7cfbc9cde624a754 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:08:52 +0800 Subject: [PATCH 63/70] update action add cache --- .github/workflows/build_dockerhub_img.yml | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 91590174..dcd0e78f 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -21,7 +21,7 @@ jobs: id: meta uses: docker/metadata-action@v4 with: - images: aichy66/actiondev + images: answerdev/answer tags: | type=raw,value=latest type=ref,enable=true,priority=600,prefix=,suffix=,event=branch @@ -33,6 +33,14 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 + - name: Cache Docker layers + uses: actions/cache@v3 + with: + path: /tmp/.buildx-cache + key: ${{ runner.os }}-buildx-${{ github.sha }} + restore-keys: | + ${{ runner.os }}-buildx- + - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -54,6 +62,13 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + cache-from: type=local,src=/tmp/.buildx-cache + cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max + + - name: Move cache + run: | + rm -rf /tmp/.buildx-cache + mv /tmp/.buildx-cache-new /tmp/.buildx-cache From 9cc7b05b082b7e4c6eac63efde2163454920ab32 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:25:31 +0800 Subject: [PATCH 64/70] update github action --- .github/workflows/build_dockerhub_img.yml | 19 +++---------------- 1 file changed, 3 insertions(+), 16 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index dcd0e78f..5f4d6849 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -2,7 +2,7 @@ name: Build DockerHub Image on: push: - branches: [ "main","githubaction" ] + branches: [ "main","githubaction","test" ] tags: - v2.* - v1.* @@ -33,14 +33,6 @@ jobs: - name: Set up Docker Buildx uses: docker/setup-buildx-action@v2 - - name: Cache Docker layers - uses: actions/cache@v3 - with: - path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-${{ github.sha }} - restore-keys: | - ${{ runner.os }}-buildx- - - name: Login to DockerHub uses: docker/login-action@v2 with: @@ -62,13 +54,8 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - cache-from: type=local,src=/tmp/.buildx-cache - cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - - name: Move cache - run: | - rm -rf /tmp/.buildx-cache - mv /tmp/.buildx-cache-new /tmp/.buildx-cache + cache-from: type=gha + cache-to: type=gha,mode=max From 61eea32a9023a6f09c5f4158407ce95347fc7f46 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 15:25:42 +0800 Subject: [PATCH 65/70] update github action --- .github/workflows/go_build_test.yml | 4 ++-- .github/workflows/node_build_test.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/workflows/go_build_test.yml b/.github/workflows/go_build_test.yml index 8c9d267b..c3642487 100644 --- a/.github/workflows/go_build_test.yml +++ b/.github/workflows/go_build_test.yml @@ -2,13 +2,13 @@ name: Go Build Test on: push: - branches: [ "main","githubaction" ] + branches: [ "main","githubaction","test" ] pull_request: branches: [ "main" ] jobs: - build-and-push: + go-build-test: runs-on: [self-hosted, linux] steps: diff --git a/.github/workflows/node_build_test.yml b/.github/workflows/node_build_test.yml index 5a88cf48..83639c78 100644 --- a/.github/workflows/node_build_test.yml +++ b/.github/workflows/node_build_test.yml @@ -2,12 +2,12 @@ name: Node Build Test on: push: - branches: [ "main","githubaction"] + branches: [ "main","githubaction","test"] pull_request: branches: [ "main" ] jobs: - build-and-push: + node-build-test: runs-on: [self-hosted, linux] steps: - name: Checkout From 4f8771cdff0f37ed26da0f787fc7ab671fc28926 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 16:46:52 +0800 Subject: [PATCH 66/70] update renderAutoLink --- pkg/converter/markdown.go | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/pkg/converter/markdown.go b/pkg/converter/markdown.go index 4f4a3c41..d61d79f9 100644 --- a/pkg/converter/markdown.go +++ b/pkg/converter/markdown.go @@ -57,6 +57,8 @@ func (r *DangerousHTMLRenderer) RegisterFuncs(reg renderer.NodeRendererFuncRegis reg.Register(ast.KindHTMLBlock, r.renderHTMLBlock) reg.Register(ast.KindRawHTML, r.renderRawHTML) reg.Register(ast.KindLink, r.renderLink) + reg.Register(ast.KindAutoLink, r.renderAutoLink) + } func (r *DangerousHTMLRenderer) renderRawHTML(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { @@ -90,6 +92,7 @@ func (r *DangerousHTMLRenderer) renderHTMLBlock(w util.BufWriter, source []byte, } func (r *DangerousHTMLRenderer) renderLink(w util.BufWriter, source []byte, node ast.Node, entering bool) (ast.WalkStatus, error) { + n := node.(*ast.Link) if entering && r.renderLinkIsUrl(string(n.Destination)) { _, _ = w.WriteString("') + } else { + _, _ = w.WriteString(`">`) + } + _, _ = w.Write(util.EscapeHTML(label)) + _, _ = w.WriteString(``) + return ast.WalkContinue, nil +} + func (r *DangerousHTMLRenderer) renderLinkIsUrl(verifyUrl string) bool { return govalidator.IsURL(verifyUrl) } From 860b1a3bd8cfaa8827e6e6f50ab1d98fa4c2c816 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 17:55:31 +0800 Subject: [PATCH 67/70] update img header --- internal/base/middleware/avatar.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/internal/base/middleware/avatar.go b/internal/base/middleware/avatar.go index 66a72f68..d38e76c9 100644 --- a/internal/base/middleware/avatar.go +++ b/internal/base/middleware/avatar.go @@ -4,6 +4,7 @@ import ( "fmt" "net/url" "os" + "path" "path/filepath" "strings" @@ -53,6 +54,8 @@ func (am *AvatarMiddleware) AvatarThumb() gin.HandlerFunc { ctx.Next() return } + ext := strings.ToLower(path.Ext(filePath)[1:]) + ctx.Header("content-type", fmt.Sprintf("image/%s", ext)) _, err = ctx.Writer.WriteString(string(avatarfile)) if err != nil { log.Error(err) @@ -60,6 +63,17 @@ func (am *AvatarMiddleware) AvatarThumb() gin.HandlerFunc { ctx.Abort() return + } else { + uUrl, err := url.Parse(u) + if err != nil { + ctx.Next() + return + } + _, urlfileName := filepath.Split(uUrl.Path) + uploadPath := am.serviceConfig.UploadPath + filePath := fmt.Sprintf("%s/%s", uploadPath, urlfileName) + ext := strings.ToLower(path.Ext(filePath)[1:]) + ctx.Header("content-type", fmt.Sprintf("image/%s", ext)) } ctx.Next() } From 6f8069b0a2235946588dc4965cf5962ae30e36fe Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 12:19:24 +0000 Subject: [PATCH 68/70] update action dockerfile --- .github/Dockerfile | 59 +++++++++++++++++++++++ .github/workflows/build_dockerhub_img.yml | 1 + 2 files changed, 60 insertions(+) create mode 100644 .github/Dockerfile diff --git a/.github/Dockerfile b/.github/Dockerfile new file mode 100644 index 00000000..5ebb832d --- /dev/null +++ b/.github/Dockerfile @@ -0,0 +1,59 @@ +FROM amd64/node AS node-builder + +LABEL maintainer="mingcheng" + +COPY . /answer +WORKDIR /answer +RUN make install-ui-packages ui && mv ui/build /tmp + +# stage2 build the main binary within static resource +FROM golang:1.19-alpine AS golang-builder +LABEL maintainer="aichy@sf.com" + +ARG GOPROXY +ENV GOPROXY=https://goproxy.cn,direct + +ENV GOPATH /go +ENV GOROOT /usr/local/go +ENV PACKAGE github.com/answerdev/answer +ENV BUILD_DIR ${GOPATH}/src/${PACKAGE} + +ARG TAGS="sqlite sqlite_unlock_notify" +ENV TAGS "bindata timetzdata $TAGS" +ARG CGO_EXTRA_CFLAGS + +COPY . ${BUILD_DIR} +WORKDIR ${BUILD_DIR} +COPY --from=node-builder /tmp/build ${BUILD_DIR}/ui/build +RUN apk --no-cache add build-base git \ + && make clean build \ + && cp answer /usr/bin/answer + +RUN mkdir -p /data/uploads && chmod 777 /data/uploads \ + && mkdir -p /data/i18n && cp -r i18n/*.yaml /data/i18n + +# stage3 copy the binary and resource files into fresh container +FROM alpine +LABEL maintainer="maintainers@sf.com" + +ENV TZ "Asia/Shanghai" +RUN apk update \ + && apk --no-cache add \ + bash \ + ca-certificates \ + curl \ + dumb-init \ + gettext \ + openssh \ + sqlite \ + gnupg \ + && echo "Asia/Shanghai" > /etc/timezone + +COPY --from=golang-builder /usr/bin/answer /usr/bin/answer +COPY --from=golang-builder /data /data +COPY /script/entrypoint.sh /entrypoint.sh +RUN chmod 755 /entrypoint.sh + +VOLUME /data +EXPOSE 80 +ENTRYPOINT ["/entrypoint.sh"] diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index 5f4d6849..e28a4c39 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -52,6 +52,7 @@ jobs: context: . platforms: linux/amd64,linux/arm64 push: true + file: ./.github/Dockerfile tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} cache-from: type=gha From 831c72e3d1150b2b31c6f546b2797236311afc3f Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 12:31:03 +0000 Subject: [PATCH 69/70] update github action --- .github/workflows/build_dockerhub_img.yml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index e28a4c39..a695a216 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -39,12 +39,12 @@ jobs: username: ${{ secrets.DOCKER_USERNAME }} password: ${{ secrets.DOCKER_PASSWORD }} - - name: Login to GitHub Container Registry - uses: docker/login-action@v2 - with: - registry: ghcr.io - username: ${{ github.actor }} - password: ${{ secrets.GITHUB_TOKEN }} + # - name: Login to GitHub Container Registry + # uses: docker/login-action@v2 + # with: + # registry: ghcr.io + # username: ${{ github.actor }} + # password: ${{ secrets.GITHUB_TOKEN }} - name: Build and push uses: docker/build-push-action@v4 From 456fdb61899c064d24fb40afa80bdec723a55d53 Mon Sep 17 00:00:00 2001 From: aichy126 <16996097+aichy126@users.noreply.github.com> Date: Tue, 7 Feb 2023 13:19:50 +0000 Subject: [PATCH 70/70] update github action --- .github/workflows/build_dockerhub_img.yml | 3 --- go.mod | 1 + 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/.github/workflows/build_dockerhub_img.yml b/.github/workflows/build_dockerhub_img.yml index a695a216..1cec6b70 100644 --- a/.github/workflows/build_dockerhub_img.yml +++ b/.github/workflows/build_dockerhub_img.yml @@ -55,8 +55,5 @@ jobs: file: ./.github/Dockerfile tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} - cache-from: type=gha - cache-to: type=gha,mode=max - diff --git a/go.mod b/go.mod index be249e79..0cdb7b76 100644 --- a/go.mod +++ b/go.mod @@ -139,3 +139,4 @@ require ( // github action runner Sometimes it will time out. replace gitee.com/travelliu/dm v1.8.11192 => github.com/aichy126/dm v1.8.11192 +replace modernc.org/z v1.2.19 => github.com/aichy126/modernc.org_z v1.2.19