Compare commits

..
26 Commits
Author SHA1 Message Date
JonKazama-Hellion 2f762a9410 Merge branch 'feature/v2.0.6'
Forge Announce / Post changelog to Hellion Forge (push) Failing after 0s
Release / Build and attach release ZIP (push) Failing after 0s
Security Scan (reusable) / Security Scan (push) Successful in 27s
Security / scan (push) Successful in 27s
Build / Build (Release) (push) Successful in 32s
2026-09-20 17:17:36 +02:00
JonKazama-Hellion bc88fe3431 chore(release): 2.0.6 -- status bar, optional
One request, one toggle. Manifests, changelog, roadmap and the Forge post
for v2.0.6; the v2.0.2 block leaves the yaml to keep it at four.
2026-09-20 17:17:36 +02:00
JonKazama-Hellion 73257328b6 feat(settings): a toggle to hide the status bar
The bottom pill row was fixed in place. Window → Window style gets
"Show status bar", on by default so nobody's window changes until they
flip it. The row carries a "Suggested by" line under it, a generic key
meant for reuse, so the person who asked sees their name next to the
feature rather than in a changelog.
2026-09-20 17:16:18 +02:00
JonKazama-Hellion 1be0730679 docs(roadmap): backfill 2.0.3 and 2.0.4, note what 2.0.5 made cheaper
Security Scan (reusable) / Security Scan (push) Successful in 24s
Security / scan (push) Successful in 24s
Build / Build (Release) (push) Successful in 28s
The released list jumped from 2.0.5 straight to 2.0.2 -- neither of the two
August patches was ever entered. Both are in now, described the same way as
their neighbours.

The UX bundle's "global hotkey to close the active tab" also gets a note.
Until 2.0.5 there was no close path at all for it to bind to; CloseTab and
GetCloseability carry the rules now, so the keybind is the only part left.
2026-08-23 02:31:08 +02:00
JonKazama-Hellion 3c8d8fe1aa Merge branch 'feature/v2.0.5'
Forge Announce / Post changelog to Hellion Forge (push) Successful in 10s
Security Scan (reusable) / Security Scan (push) Successful in 25s
Security / scan (push) Successful in 25s
Build / Build (Release) (push) Successful in 35s
Release / Build and attach release ZIP (push) Successful in 30s
2026-08-23 02:17:40 +02:00
JonKazama-Hellion 04169ddcf1 chore(release): 2.0.5 -- focus, and a way out
Version, manifests, changelog and the Forge post for the tell-focus and
tab-closing fixes.

The manifest changelog drops the 2.0.1 block to stay inside the four-entry
slim rule; earlier history keeps its link. The roadmap loses the
GlobalScaleSafe item, which is done, and gains two that came out of this
cycle's review: PopoutSlotMap has no synchronisation, and the database
viewer and symbol picker are still English -- 90 Unicode character names
in the picker alone, which is a cycle rather than a patch note.
2026-08-23 02:16:32 +02:00
JonKazama-Hellion eca566321a fix(tells): a tell no longer takes the keyboard mid-sentence
Reported by Carla: a tell arriving while you are typing pulls the focus
away. The interruption is the visible half. The sharp half is that the
input buffer belongs to the WINDOW while the send target is read off
whatever tab is active at Enter -- so a line typed at one person could
leave addressed to whoever just wrote, and in this game losing the
keyboard means the next sentence walks the character around.

Nothing is revealed now while any chat surface is mid-sentence, in any
mode. The tab still appears and still carries its unread mark. The check
lives in its own file because the answer has to be identical everywhere:
it started inside the reveal plan, and a second pop-out path walked
straight past it -- AutoTellTabsService opened windows off its own flag,
at tab creation, a tick before the router was ever asked.

Those two paths are one now. AutoTellTabsOpenAsPopout and TellAutoOpenMode
were two settings for one decision, and the older one won every race,
which is why the other looked inert. Config schema 28 carries the old flag
forward so nobody's behaviour changes. "Off" went with it: it never
stopped the tab from being created -- that is the auto-tell switch -- it
only stopped the jump to it, which is what the switch below it does.

Also in here, all from the same corner of the code:

- Closing a tab was lost in the v2.0.0 rebuild. The trash entry lived in
  the retired ChatLogWindow menu, and the rebuilt one restored rename,
  sound, pop-out and pinning but not this. For tell tabs that left no way
  out at all: IsEditable keeps them out of the settings editor on purpose
  and points at the context menu, which could not close them either.
  Pinned tell tabs stay disabled with a tooltip rather than absent.
- Re-anchoring the active tab used an unconditional Tabs[0] in three
  places, and Tabs[0] can be popped out -- so it ran OnTabActivated over a
  tab live in its own window and stripped its tell binding. With every tab
  popped, the seed and the re-anchor also fought each other every frame.
- PinTab_LimitReached still pointed at "Promote to permanent", removed in
  May. Spanish said "Desija", which is not a word; Greek left "tell tabs"
  untranslated; pt-PT broke its own unpin verb.
- Pop Out was a hardcoded English literal despite the key existing in all
  25 languages since v1.5.6, and the tell-open modes were the last English
  display names in the plugin.
- Segmented setting rows measured 200px flat, which cut German labels in
  half. They size to their longest label now.
- Metrics.Scale still called GlobalScaleSafe. It is an alias for
  GlobalScale in current Dalamud, and dropping it clears the last compiler
  warning in the project.
2026-08-23 02:12:27 +02:00
JonKazama-Hellion 522545c7a2 chore(release): 2.0.4 -- shorter description, webinterface strings out
Security Scan (reusable) / Security Scan (push) Successful in 20s
Security / scan (push) Successful in 20s
Forge Announce / Post changelog to Hellion Forge (push) Successful in 12s
Build / Build (Release) (push) Successful in 29s
Release / Build and attach release ZIP (push) Successful in 29s
Housekeeping only, no behaviour change.

The v2.0.0 changelog block moves out of the plugin manifest to stay
inside the four-subblock limit; it remains in docs/CHANGELOG.md.
2026-08-20 18:21:59 +02:00
JonKazama-Hellion 63c68327dd Merge branch 'chore/plugin-description' into main
Shorter installer description, corrected locale count, punchline
unified across both manifests.
2026-08-20 18:20:39 +02:00
JonKazama-Hellion 0f9ced8f86 Merge branch 'chore/orphan-strings' into main
30 resource keys for the webinterface, which left the code in May.
Every key verified against the whole repo before deletion.
2026-08-20 18:20:39 +02:00
JonKazama-Hellion 60e3dd87a2 docs(manifest): shorter plugin description, and one that leads with the point
The installer text ran 908 characters and opened by naming a category
rather than saying what the plugin does. It now says it in the first
sentence and stops at 367.

Two things were also wrong rather than long: it claimed 24 locales when
there are 25, and the punchline in repo.json did not match the one in
the yaml, so the store listing and the plugin details showed different
sentences.

Attribution is unaffected -- it lives in NOTICE.md, README.md and the
licence, which is where the notices belong. This field is a product
description.
2026-08-20 18:16:35 +02:00
JonKazama-Hellion 5ab4312cad chore(i18n): drop the webinterface strings, the feature left in May
The HTTP server, its routes and the Svelte frontend went out with
c2801c4 on 2026-05-02. The 30 resource keys behind them stayed, in all
25 languages, and the generated designer kept a property for each.

Verified before deleting, not assumed: every key was matched on word
boundaries against all 382 repo files excluding the resource bundles
themselves, and none appears anywhere. No dynamic resource access exists
in this codebase either -- no ResourceManager.GetString with a literal,
no using alias, no interpolated key name -- so the caller scan is
trustworthy here.

The designer is regenerated by a Visual Studio tool that does not run on
a CLI build, so its properties are removed by hand alongside the resx.
2026-08-20 08:37:09 +02:00
JonKazama-Hellion c1d6ca3bbd docs(readme): carry the version badge and header to 2.0.3
Security Scan (reusable) / Security Scan (push) Successful in 24s
Security / scan (push) Successful in 23s
Build / Build (Release) (push) Successful in 32s
Forge Announce / Post changelog to Hellion Forge (push) Successful in 6s
Release / Build and attach release ZIP (push) Successful in 29s
2026-08-20 07:58:45 +02:00
JonKazama-Hellion 4ab9202533 Merge branch 'feature/v2.0.3' into main
Pop-out context menu, screenshot mode toggle, and colours with no alpha
byte. Smoke-tested in game on all three before the merge.
2026-08-20 07:58:18 +02:00
JonKazama-Hellion 5e15d34eeb chore(release): 2.0.3 -- pop-out context menu, screenshot mode
Three fixes, all of them things that simply did not work: the context menu
in pop-out windows, the screenshot mode toggle, and text the game colours
without an alpha byte.

The 1.5.6 changelog block moves out of the plugin manifest to stay inside
the four-subblock limit; it remains in docs/CHANGELOG.md.
2026-08-20 07:58:13 +02:00
JonKazama-Hellion b9feb8650f chore(comments): drop the spec task codes the last pass missed
Codes like POP-1c or B4b-2 name a task in a planning document, not
anything in the code. A reader has no way to resolve them and they age
into noise the moment the document is closed. Where a code was used as a
reference, the sentence now names the function it meant.
2026-08-20 07:54:45 +02:00
JonKazama-Hellion 0f9858a3d3 fix(screenshot-mode): the toggle never wrote its change to disk
Screenshot mode is a persisted setting, but neither of the two toggles
saved the config. Turning it on only stuck when some unrelated save
happened to run afterwards -- and once it was stored, turning it off never
reached the file at all, so it came back on with every plugin load.

Both toggles save now. An install currently stuck on it needs one click.
2026-08-20 07:54:38 +02:00
JonKazama-Hellion a3379818eb fix(popouts): the context menu never opened outside the main window
Right-clicking a name or an item inside a pop-out did nothing at all.

One payload handler is shared by the main window, every pop-out and the
input preview, and it holds a single popup state. The main window is
registered first, so it draws first, finds no open popup in its own scope,
reads that as "closed" and clears the state -- before the window that
actually opened the popup gets its turn.

The popup now belongs to the surface that opened it. The others leave its
state alone instead of dropping it. The rule itself sits in its own helper
because the handler pulls in Dalamud and cannot be loaded from a test.
2026-08-20 07:54:32 +02:00
JonKazama-Hellion d5c7db9f43 fix(colours): text the game colours without an alpha byte rendered invisible
The game hands out some of its configured colours as ARGB with the alpha
byte left at zero. The byte swap then moved that zero into the alpha slot
and the text drew fully transparent.

Two guards, and they belong together: forcing alpha on a colour that is
zero everywhere would turn "no colour" into opaque black, which slips
past the invisible-text fallback in ChunkUtil and paints over the colour
the renderer would otherwise inherit.
2026-08-20 07:54:19 +02:00
JonKazama-Hellion 6e24885241 docs: the privacy claim gets stronger, so the documents have to say so
Security Scan (reusable) / Security Scan (push) Successful in 24s
Security / scan (push) Successful in 24s
Build / Build (Release) (push) Successful in 26s
Removing BetterTTV took out the plugin's only outbound network call, and five
documents were still describing it as present. PRIVACY.md led with "one outbound
network call exists by design" -- the opposite of what shipped an hour ago, and
the one claim in that file people actually check.

PRIVACY.md now opens with none at all. The section that described the call is
kept and marked as removed rather than deleted, so the claim can be read against
what it replaced: the startup fetch meant BetterTTV saw an IP as soon as the
plugin loaded, whether an emote ever appeared or not. Worth leaving visible.
BetterTTV also comes out of the third-party table, which now lists only the two
parties nobody using this plugin through Dalamud can avoid.

SECURITY.md listed the EmoteCache HTTP client as in scope for reports. There is
nothing there to report on.

THIRD_PARTY_NOTICES.md named the call as current; both entries it has ever
carried are now historical.

README dropped the pointer to the outbound call and the switch for it, a
stability bullet about a crash fix in code that no longer exists, and the line in
the Chat 2 migration that moved an emote cache directory nothing reads.

ROADMAP gained 2.0.1 and 2.0.2, and a section for what the 2.0.0 push left
behind: 47 overlong comment blocks, channel names translated in only ten of the
25 languages, an orphaned EmoteCacheV1 directory on anyone who ran an older
build, and the deprecated GlobalScaleSafe call that is the last compiler warning
in the build.
2026-08-19 23:41:23 +02:00
JonKazama-Hellion 16730d5ed9 chore(release): 2.0.2 -- BetterTTV out, placeholders fixed
Forge Announce / Post changelog to Hellion Forge (push) Successful in 9s
Security Scan (reusable) / Security Scan (push) Successful in 27s
Security / scan (push) Successful in 27s
Build / Build (Release) (push) Successful in 34s
Release / Build and attach release ZIP (push) Successful in 31s
BetterTTV emote support is removed rather than switched off. Its shared-emote
endpoint went behind authentication and that is where nearly all of them came
from; what was left is the 65-entry global set, eleven of those on the plugin's
own known-broken list, so 54 largely static images from Twitch's early days.
Exactly one is animated, and that one is 492 frames at 140x140 -- 37 MB of
texture memory for a single emote, uploaded one frame at a time. Not worth a
network call and an on-disk cache on every start.

Gone with it: the download path, the cache directory, the GIF renderer, the
settings section, the block list, and 13 translation keys across 50 resource
files. 1567 lines. The plugin now makes no outbound network calls at all, which
is the claim PRIVACY.md has always wanted to make without an asterisk.

EmotePayload and its MessagePack type byte stay, deliberately. Around a thousand
rows in a two-month-old database carry them, and dropping the type would make
those fail to deserialise -- the history is the one thing 2.0.0 promised not to
touch. Nothing writes one any more and a stored emote renders as the code that
was typed, which is what the sender saw when they typed it.

Five descriptions in the Window tab printed {0} where the plugin name belonged,
handed to the widget directly instead of through string.Format the way the rows
around them do. Every language was affected including English; German surfaced
it because the placeholder lands at the start of the sentence there. A test now
walks every placeholder-carrying resource string, finds its uses, and fails on
an unformatted one -- verified by putting the defect back and watching it go red.

New preview images. The old set was from 2026-05-08, older than every cycle in
2.0.0, and showed stacked ImGui defaults to anyone browsing the installer. Taken
with screenshot mode on so no character names reach a public repo. The wizard
takes the theme picker's slot.
2026-08-19 23:34:41 +02:00
JonKazama-Hellion 39e2d91288 docs(images): new preview shots, taken on the rebuilt interface
Security Scan (reusable) / Security Scan (push) Successful in 23s
Security / scan (push) Successful in 23s
Build / Build (Release) (push) Successful in 28s
The three in the plugin installer were from 2026-05-08 and showed the plugin as
it looked before any of the window rebuilds -- older than every cycle that
shipped in 2.0.0. Someone browsing the installer saw stacked ImGui defaults.

Taken with screenshot mode on, so the character and world names are replaced
rather than published: the chat shot would otherwise carry a free company
conversation onto a public repo.

The wizard replaces the theme picker in the set. It is the first surface a new
user meets and it now has something to show; the theme picker is reachable from
the settings shot behind it.

Manifest still points at the old file in this commit -- the URLs are checked
against the pushed tree, so the new image has to exist there before anything can
reference it.
2026-08-19 23:33:56 +02:00
JonKazama-Hellion 3309386fbe docs(readme): the front page still described the plugin as it was at v1.1.0
Security Scan (reusable) / Security Scan (push) Successful in 23s
Security / scan (push) Successful in 23s
Build / Build (Release) (push) Successful in 28s
It called the theme engine "a step toward a distinct UI look and feel", which
was true when it was written and stopped being true somewhere around the fourth
window rebuild. It also pointed new readers at `/hellionchat`, a command that
does not exist -- the family is `/hellion` -- and put the wizard at three
profiles when it has had four since May.

The intro says what the plugin is now: a fork by origin, with everything above
the message store rebuilt, and the differences from upstream named as features
rather than as a rewrite plan. The paragraph no longer repeats what the upstream
section further down already explains in more detail.

Added the plugin notice the wizard shows every user. The repo front page is the
other place someone lands first, and it was the only one of the two that said
nothing.

Counted the themes rather than trusting the number I was about to write: ten
built-in palettes, not seven.

Both remaining `/hellionchat` and "24 locales" mentions sit under headings that
say "kept for context" and describe the state at that version. Those stay wrong
on purpose.
2026-08-19 22:52:19 +02:00
JonKazama-Hellion 38c6707970 ci(security): hold API responses in a file instead of piping them onward
Security Scan (reusable) / Security Scan (push) Successful in 25s
Security / scan (push) Successful in 25s
Build / Build (Release) (push) Successful in 28s
Semgrep blocks on gha-curl-pipe-shell, and it is pointing at the publish step
added an hour ago. The rule exists for `curl https://…/install.sh | bash`:
remote content reaching an interpreter. What this actually did was pipe a JSON
response into a python3 -c inline script -- the interpreter and its program both
live in the workflow file, and the server only ever supplied data.

A false positive, then, but the rule cannot see the difference between an
interpreter reading a program from stdin and one reading data, and neither can
the next person to read the step. Responses go to a file and are read from
there. Same shape as the finding suggests, and worth having anyway: a response
that is on disk can be looked at when a call misbehaves, instead of vanishing
into a pipe.

Verified by falsification rather than by a green run: the same ruleset against
the previous revision of this file reports 1 blocking finding, against this one
zero. Without that check a passing scan only proves the rule was not loaded.
2026-08-19 22:49:07 +02:00
JonKazama-Hellion a4c4e15c3b chore(release): 2.0.1
Forge Announce / Post changelog to Hellion Forge (push) Successful in 8s
Security Scan (reusable) / Security Scan (push) Failing after 24s
Security / scan (push) Failing after 24s
Build / Build (Release) (push) Successful in 34s
Release / Build and attach release ZIP (push) Successful in 30s
Same-day hotfix on 2.0.0, nothing user-facing. It exists because the 2.0.0
archive was built before the MessagePack lift, and because the fixed release
workflow needs a tag to prove itself on -- 2.0.0 cannot, since Gitea reads the
workflow from the tagged tree and that tree still holds the broken version.

Not force-moving the 2.0.0 tag: its release object exists with the archive
attached, and someone may already have pulled it.
2026-08-19 22:46:10 +02:00
JonKazama-Hellion 226174bf12 ci(release): publish with curl instead of a go action, and lift MessagePack
Security Scan (reusable) / Security Scan (push) Failing after 23s
Security / scan (push) Failing after 23s
Build / Build (Release) (push) Successful in 30s
The v2.0.0 tag built fine and then died on its last step: gitea.com's
release-action declares `using: go`, the runner has to compile it, and act
cannot -- exec: "go": executable file not found, exit 127, after a green build.
The zip existed and never got attached, so the Discord announcement went out
while the download link pointed at nothing.

This is a known failure. It was diagnosed on another repo in June and the note
from then says in as many words that this repo carries the same pattern and
should migrate before its next release. It did not, and here we are.

The publish step is a plain curl call against the Gitea API now, running in the
job image with curl and python3, independent of go, the action cache, and
whatever @main happens to point at. Idempotent by design: a re-run reuses an
existing release and replaces the asset rather than failing on the duplicate,
which is exactly the state a recovery run finds.

MessagePack moves from the 3.1.4 floor to 3.1.7, which is what the trivy scan
was failing on. The range already allowed it -- NuGet resolves the lower bound
of a range, and trivy reads it the same way, so the floor is the version that
counts. The advisories are recursion depth in Skip and an LZ4 decompression
fault, both reachable only through crafted input; this plugin serialises its own
payloads and reads back its own bytes from a local database, so the practical
exposure is someone who already has write access to the file. Lifted because it
costs nothing and a scan that stays red for a known-harmless reason is how a real
finding gets missed later.
2026-08-19 22:44:55 +02:00
107 changed files with 1564 additions and 4616 deletions
+71 -32
View File
@@ -22,9 +22,9 @@ on:
- 'v*'
# Manual recovery trigger. Use Gitea's "Run workflow" UI and select the
# tag (e.g. v1.4.4) from the Ref dropdown - not main. The Validate tag
# ref step below hard-fails if a non-tag ref is selected, because the
# release-action reads GITHUB_REF directly and rejects anything that
# does not start with refs/tags/.
# ref step below hard-fails if a non-tag ref is selected: the release
# name and body are both derived from the tag, so a branch ref would
# publish a release named after a branch.
workflow_dispatch:
permissions:
@@ -37,11 +37,8 @@ jobs:
timeout-minutes: 20
steps:
# release-action@main reads GITHUB_REF directly (its action.yml
# does not declare a tag_name input). Validate up-front so manual
# dispatches from a branch ref fail loud here instead of burning
# a full build before the final step errors out with "ref X is
# not a tag".
# Validate up-front so a manual dispatch from a branch ref fails loud
# here instead of burning a full build before the publish step notices.
- name: Validate tag ref
run: |
if [[ "${GITHUB_REF}" != refs/tags/v* ]]; then
@@ -156,28 +153,70 @@ jobs:
Write-Host $body
Write-Host "----------------------------------------"
# release-action@main only declares files/title/body/pre_release/
# draft/api_key/insecure as inputs (see its action.yml). It silently
# ignores anything else, including body_path and tag_name. The tag
# itself comes from GITHUB_REF, the body must be passed inline via
# body:, so we re-emit release-body.md as a step output first.
- name: Expose release body for release-action
id: body
shell: bash
run: |
{
echo 'content<<RELEASE_BODY_EOF'
cat release-body.md
echo 'RELEASE_BODY_EOF'
} >> "$GITHUB_OUTPUT"
# Gitea-native release action. Creates the release if the tag has no
# release yet, or updates the existing one with latest.zip attached
# and the generated body. The auto-injected GITHUB_TOKEN on Gitea
# Actions has Gitea-API scope and is sufficient for release write.
# The tag comes from GITHUB_REF, the body from the step above. Posted with
# curl rather than gitea.com/actions/release-action, which declares
# `using: go` and has to be compiled by the runner -- act cannot do that
# here and the step dies with exec: "go": executable file not found, exit
# 127, after a build that otherwise succeeded. This runs as a plain shell
# step in the job image, which has curl and python3.
#
# Idempotent on purpose: a re-run against an existing release reuses it and
# replaces the asset instead of failing on the duplicate.
- name: Attach to Gitea release
uses: https://gitea.com/actions/release-action@main
with:
files: ${{ steps.locate.outputs.path }}
body: ${{ steps.body.outputs.content }}
api_key: ${{ secrets.GITHUB_TOKEN }}
shell: bash
env:
GITEA_TOKEN: ${{ secrets.GITHUB_TOKEN }}
ZIP_PATH: ${{ steps.locate.outputs.path }}
TAG_NAME: ${{ github.ref_name }}
run: |
set -euo pipefail
api="${GITHUB_API_URL}/repos/${GITHUB_REPOSITORY}"
auth="Authorization: token ${GITEA_TOKEN}"
# Responses land in a file before anything reads them, rather than
# being piped straight into an interpreter. The interpreter is inline
# either way and the server only ever supplies data, but a scanner
# cannot tell those apart from curl-pipe-shell -- and holding the
# response makes it inspectable when a call misbehaves.
get_release_id() {
if curl -sf -H "$auth" "$api/releases/tags/${TAG_NAME}" -o release.json; then
python3 -c 'import json; print(json.load(open("release.json")).get("id",""))'
fi
}
rel_id="$(get_release_id || true)"
if [ -z "$rel_id" ]; then
python3 - <<'PYCREATE' > create.json
import json, os
body = open("release-body.md", encoding="utf-8").read()
print(json.dumps({
"tag_name": os.environ["TAG_NAME"],
"name": os.environ["TAG_NAME"],
"body": body,
"draft": False,
"prerelease": False,
}))
PYCREATE
curl -sf -X POST -H "$auth" -H "Content-Type: application/json" \
-d @create.json "$api/releases" -o created.json
rel_id="$(python3 -c 'import json; print(json.load(open("created.json"))["id"])')"
echo "Created release $rel_id for ${TAG_NAME}"
else
echo "Reusing release $rel_id for ${TAG_NAME}"
fi
# A same-named asset from an earlier attempt has to go, or the upload
# collides with it. This is the state a recovery run finds.
curl -sf -H "$auth" "$api/releases/${rel_id}/assets" -o assets.json
old_id="$(python3 -c 'import json; print(next((a["id"] for a in json.load(open("assets.json")) if a["name"]=="latest.zip"), ""))')"
if [ -n "$old_id" ]; then
curl -sf -X DELETE -H "$auth" "$api/releases/${rel_id}/assets/${old_id}"
echo "Replaced existing latest.zip (asset $old_id)"
fi
curl -sf -X POST -H "$auth" \
-F "attachment=@${ZIP_PATH};filename=latest.zip" \
"$api/releases/${rel_id}/assets?name=latest.zip" -o uploaded.json
python3 -c 'import json; a=json.load(open("uploaded.json")); print("Attached", a["name"], a["size"], "bytes")'
+7
View File
@@ -0,0 +1,7 @@
---
subtitle: "Hotfix"
versionsnatur: "Hotfix ohne sichtbare Änderungen"
---
- **Nichts Neues zu sehen.** Wer 2.0.0 in der ersten Stunde gezogen hat, sollte trotzdem updaten: das 2.0.0-Archiv wurde ohne eine Abhängigkeits-Aktualisierung gebaut, die hier drin ist.
- **MessagePack von 3.1.4 auf 3.1.7.** Das Paket serialisiert die Nachrichten-Payloads in der lokalen Datenbank. Die Meldungen betreffen die Rekursionstiefe in `Skip` und einen Fehler in der LZ4-Dekomprimierung, beide nur über präparierte Eingaben erreichbar. Das Plugin schreibt und liest ausschließlich seine eigenen Bytes in einer lokalen Datei, praktisch bräuchte ein Angreifer also schon Schreibzugriff darauf. Trotzdem gehoben, weil es nichts kostet.
- **Der Release-Workflow hängt sein Archiv wieder selbst an.** Bei 2.0.0 lief der Build sauber durch und scheiterte dann am Veröffentlichen, weshalb dieses Release von Hand fertiggestellt werden musste.
+7
View File
@@ -0,0 +1,7 @@
---
subtitle: "Emotes raus, Platzhalter gefixt"
versionsnatur: "Aufräum-Release"
---
- **BetterTTV-Emotes sind raus.** Der Endpunkt für geteilte Emotes liegt hinter einer Anmeldung, und von dort kam fast alles. Übrig blieben 54 überwiegend statische Bilder aus der Twitch-Frühzeit, davon genau eines animiert, und das wollte 492 Einzelbilder und 37 MB Grafikspeicher. Das Plugin macht jetzt **gar keine ausgehenden Netzwerkaufrufe** mehr. Gespeicherte Nachrichten mit Emotes bleiben lesbar und zeigen den getippten Code.
- **Fünf Beschreibungen im Fenster-Tab zeigten `{0}` statt des Plugin-Namens.** Betroffen waren alle 25 Sprachen, im Deutschen fiel es zuerst auf, weil der Platzhalter dort am Satzanfang steht. Ein Test prüft das jetzt dauerhaft.
- **Neue Vorschaubilder** im Plugin-Installer. Die alten waren vom 8. Mai und zeigten die Oberfläche vor dem Umbau.
+7
View File
@@ -0,0 +1,7 @@
---
subtitle: "Kontextmenü in Pop-outs, Screenshot-Modus"
versionsnatur: "Fehlerbehebung"
---
- **Das Kontextmenü ging in Pop-out-Fenstern nicht auf.** Ein Rechtsklick auf einen Namen oder ein Item hat dort schlicht nichts gemacht. Alle Chat-Flächen teilen sich einen Popup-Zustand, und das zuerst gezeichnete Fenster hat das Menü verworfen, bevor das Pop-out überhaupt an der Reihe war. Das Menü bleibt jetzt bei dem Fenster, aus dem der Klick kam.
- **Der Screenshot-Modus ließ sich nicht ausschalten.** Er wird gespeichert, aber keiner der beiden Schalter hat die Änderung in die Konfiguration geschrieben. Einmal gespeichert kam er bei jedem Laden des Plugins wieder. Beide Schalter speichern jetzt. Wer ihn gerade festhängen hat, klickt ihn einmal aus.
- **Vom Spiel eingefärbter Text konnte unsichtbar werden.** Manche dieser Farben kommen ohne Alpha-Byte an und wurden beim Umsortieren vollständig transparent.
+8
View File
@@ -0,0 +1,8 @@
---
subtitle: "Aufgeräumt: Beschreibung und tote Strings"
versionsnatur: "Aufräum-Release"
---
Am Verhalten des Plugins ändert sich nichts. Zwei Dinge, die überfällig waren.
- **Die Beschreibung im Plugin-Installer war zu lang und an einer Stelle schlicht falsch.** Sie lief über 908 Zeichen und fing damit an, eine Kategorie zu nennen, statt zu sagen was das Plugin tut. Ausserdem stand dort 24 Sprachen, es sind 25. Und die beiden Manifeste trugen unterschiedliche Kurzbeschreibungen, in der Plugin-Liste stand also ein anderer Satz als in den Details. Jetzt sind es 367 Zeichen, überall dieselben.
- **30 Übersetzungsschlüssel für das Webinterface sind raus.** Das Feature selbst, seine HTTP-Routen und sein Frontend haben den Code im Mai verlassen, die Texte blieben in allen 25 Sprachen liegen, dazu je eine erzeugte Property. Vor dem Löschen wurde jeder Schlüssel einzeln gegen das gesamte Repository geprüft.
+12
View File
@@ -0,0 +1,12 @@
---
subtitle: "Fokus bleibt, Tabs lassen sich schließen"
versionsnatur: "Bugfix-Release"
---
Zwei Meldungen aus dem Test, beide in derselben Ecke: was ein eintreffendes Flüstern mit dem macht, was du gerade tust — und was du mit einem Tab machen kannst, wenn er erst einmal da ist.
- **Ein Flüstern, das ankam während du geschrieben hast, hat dir die Tastatur weggenommen.** Der Tab wechselte unter dir weg, und in diesem Spiel heißt das, dass die nächsten Tasten deine Figur bewegen statt Text zu schreiben. Schlimmer: Der halb getippte Satz konnte beim Falschen landen. Was du tippst gehört dem Fenster, der Empfänger wird aber von dem Tab gelesen, der beim Enter gerade aktiv ist. Solange du an einer Zeile schreibst, springt jetzt nichts mehr — in keinem Modus. Der Tab taucht trotzdem auf und wartet mit seinem Ungelesen-Punkt.
- **Ein Flüster-Tab ließ sich überhaupt nicht schließen.** Der Eintrag ging beim Fenster-Neubau in 2.0.0 verloren: Er lebte im alten Menü, und das neue hat Umbenennen, Töne, Herauslösen und Anheften zurückgebracht, das Schließen aber nie. Flüster-Tabs sind absichtlich aus dem Einstellungs-Editor ausgenommen, mit einem Verweis auf das Kontextmenü — das sie ebenfalls nicht schließen konnte. Jetzt per Rechtsklick auf jedem Tab. Bei einem angehefteten Flüster-Tab musst du erst die Anheftung lösen, damit ein Fehlklick kein Gespräch beendet, das du behalten wolltest.
- **Zwei Einstellungen entschieden, wo ein Flüstern aufgeht, und die ältere gewann immer.** "Neue /tell-Tabs direkt als Pop-out öffnen" feuerte beim Anlegen des Tabs, einen Tick bevor der Modus darunter überhaupt gefragt wurde — deshalb sah der aus, als täte er nichts. Beide sind jetzt eine. Deine bisherige Wahl wird übernommen.
- **"Aus" ist aus dieser Auswahl verschwunden.** Es hat nie verhindert, dass ein Flüster-Tab entsteht, das macht der Schalter weiter oben. Es hat nur den Sprung dorthin unterbunden, und genau dafür ist der Schalter darunter da.
- **Einen Tab zu schließen konnte ein Pop-out beschädigen, in dem du gerade warst.** Der Fokus sprang immer auf den ersten Tab der Liste, auch wenn der in einem eigenen Fenster offen war, und nahm ihm dabei seine Flüster-Bindung.
- **Kleinkram.** "Pop Out" im Kontextmenü war auf jedem Client englisch, die Modusnamen ebenfalls. Der Hinweis zum Anheft-Limit verwies auf eine Funktion, die im Mai entfernt wurde. Im Spanischen stand ein Wort, das es nicht gibt, im Griechischen ein unübersetztes, im europäischen Portugiesisch eines, das seinem eigenen Knopf widersprach. Und segmentierte Einstellungszeilen haben lange Beschriftungen abgeschnitten.
+8
View File
@@ -0,0 +1,8 @@
---
subtitle: "Statusleiste abschaltbar"
versionsnatur: "Feature-Patch"
---
Eine Frage aus dem Discord, klein genug für ein eigenes Release: Sind die Pillen am unteren Rand fest im Code? Waren sie.
- **Die Statusleiste lässt sich ausschalten.** Die Reihe am unteren Rand des Chatfensters (Kanal, Privatsphäre-Status, Nachrichtenzähler, Flüstern, Uhr, Version) hatte keinen Schalter. Unter Einstellungen → Fenster → Fenster-Style gibt es jetzt „Statusleiste anzeigen". Aus, und der Chat nimmt den Platz. Bleibt für alle an, bis du es ausschaltest, von selbst ändert sich nichts. Eines solltest du wissen: Kamera und Schloss wohnen in dieser Reihe. Ohne Leiste zeigen Screenshot-Modus und Privatsphäre-Filter nichts mehr an.
- **Vorgeschlagen von Ashy ^.^, und das steht auch dran.** Der Schalter trägt eine Zeile „Vorgeschlagen von" unter sich. Wer etwas vorschlägt, soll den eigenen Namen dort sehen, wo die Funktion gelandet ist, nicht in einem Changelog, das niemand öffnet. Die Zeile ist in alle 25 Sprachen übersetzt und bereit für den nächsten Vorschlag.
+7 -21
View File
@@ -353,13 +353,6 @@ internal sealed class AutoTellTabsService : IDisposable
tab.AddMessage(currentMessage, unread: true);
// Flag the tab as a pop-out if configured; the marshalled TryOpen below reads
// that flag to open the real window.
if (Plugin.Config.AutoTellTabsOpenAsPopout)
{
tab.PopOut = true;
}
return tab;
}
@@ -373,20 +366,13 @@ internal sealed class AutoTellTabsService : IDisposable
Plugin.Config.Tabs.Add(tab);
// Actually open the pop-out window for the flagged tab — without this the
// flag was dead (a PopOut tab with no window). CommitTempTab runs on the
// PendingMessage worker thread under Plugin.TabsListLock; TryOpen does
// OnTabActivated + Bind (window state Draw reads), so marshal onto the
// framework thread. If the pool is full, drop the flag so it never claims a
// window it didn't get (flag/window parity).
if (tab.PopOut)
{
Plugin.Framework.RunOnFrameworkThread(() =>
{
if (!_plugin.ChannelPopoutPool.TryOpen(tab))
tab.PopOut = false;
});
}
// No pop-out is opened here any more. This service owns tab CREATION and
// lifecycle; where a tell becomes VISIBLE is TellRouterService's single
// decision (v2.0.5). It used to be both, and this one always won the race
// -- it fired at creation, the router only a tick later -- which is why
// TellAutoOpenMode looked like it did nothing for anyone with the old
// AutoTellTabsOpenAsPopout flag on, and why the router's "is the user
// mid-sentence" guard could be walked straight past.
}
private static Tab BuildTempTab(string playerName, uint worldRowId)
+12 -21
View File
@@ -35,7 +35,7 @@ public class ConfigKeyBind
[Serializable]
public class Configuration : IPluginConfiguration
{
internal const int LatestVersion = 27;
internal const int LatestVersion = 28;
public int Version { get; set; } = LatestVersion;
@@ -167,6 +167,11 @@ public class Configuration : IPluginConfiguration
// On by default: the wizard's closing step tells the user to try /tell and
// watch a conversation open on its own, so the behaviour it describes has to
// be the behaviour they get.
// Retired in v2.0.5: this and TellAutoOpenMode were two settings for one
// decision, and this one always won because it fired first -- which made the
// other one look broken. The FIELD stays so the v28 migration can still read
// what the user actually had; nothing else reads it, and it is gone from the
// settings window.
public bool AutoTellTabsOpenAsPopout = true;
// How sender names are rendered in the chat log.
@@ -226,6 +231,7 @@ public class Configuration : IPluginConfiguration
public bool CanResize = true;
public bool ShowTitleBar;
public bool ShowPopOutTitleBar = true;
public bool ShowStatusBar = true;
public bool DatabaseBattleMessages;
public bool FilterIncludePreviousSessions;
public bool SortAutoTranslate;
@@ -244,8 +250,6 @@ public class Configuration : IPluginConfiguration
public bool NotifyPluginDisclosure = true;
public bool KeepInputFocus = true;
public bool Use24HourClock = true;
public bool ShowEmotes = true;
public HashSet<string> BlockedEmotes = [];
public bool FontsEnabled = true;
public ExtraGlyphRanges ExtraGlyphRanges = 0;
public float FontSizeV2 = 12.75f;
@@ -298,7 +302,11 @@ public class Configuration : IPluginConfiguration
public bool MainWindowOpen = true;
public bool SettingsWindowOpen;
public int MaxParallelPopouts = 8;
public TellAutoOpenMode TellAutoOpenMode = TellAutoOpenMode.Sidebar;
// Popout, not Sidebar: with AutoTellTabsOpenAsPopout defaulting to true, a
// fresh install has ALWAYS opened tells in their own window. Naming that as
// the default is what keeps a new install behaving the way it always did.
public TellAutoOpenMode TellAutoOpenMode = TellAutoOpenMode.Popout;
// When true (default) the tell-auto-open router switches the active tab to the
// incoming tell on every message; when false the tab is still created/revealed
@@ -320,23 +328,6 @@ public enum TellAutoOpenMode
Popout,
}
public static class TellAutoOpenModeExt
{
// The only display name set still in English. It sat inline in ChannelsTab
// as a literal array, which is why it was missed when the rest moved into
// resources; here it is at least in the same place as its peers for the
// localisation pass to pick up.
public static string Name(this TellAutoOpenMode mode) =>
mode switch
{
TellAutoOpenMode.Off => "Off",
TellAutoOpenMode.Sidebar => "Sidebar",
TellAutoOpenMode.TopTab => "Top tab",
TellAutoOpenMode.Popout => "Popout",
_ => throw new ArgumentOutOfRangeException(nameof(mode), mode, null),
};
}
[Serializable]
public enum MainWindowLayoutMode
{
-445
View File
@@ -1,445 +0,0 @@
using System.Collections.Concurrent;
using System.Numerics;
using System.Text.Json;
using System.Text.Json.Serialization;
using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Textures;
using Dalamud.Interface.Textures.TextureWraps;
using Dalamud.Utility;
using SixLabors.ImageSharp;
using SixLabors.ImageSharp.PixelFormats;
namespace HellionChat;
public static class EmoteCache
{
private static readonly string[] NotWorking =
[
":tf:",
"(ditto)",
"c!",
"h!",
"l!",
"M&Mjc",
"LUL3D",
"p!",
"POLICE2",
"r!",
"Pussy",
"s!",
"v!",
"w!",
"x0r6ztGiggle",
"z!",
"xar2EDM",
"iron95Pls",
"Clap2",
"AlienPls3",
"Life",
"peepoPogClimbingTreeHard4House",
"monkaGIGAftRobertDowneyJr",
"DogLookingSussyAndCold",
"DICKS",
];
private static readonly HttpClient Client = new();
private const string BetterTTV = "https://api.betterttv.net/3";
private const string GlobalEmotes = $"{BetterTTV}/cached/emotes/global";
private const string Top100Emotes = "{0}/emotes/shared/top?before={1}&limit=100";
private const string EmotePath = "https://cdn.betterttv.net/emote/{0}/3x";
[Serializable]
private struct Top100()
{
[JsonPropertyName("emote")]
public Emote Emote { get; set; }
[JsonPropertyName("id")]
public required string Id { get; set; }
}
[Serializable]
public struct Emote()
{
[JsonPropertyName("id")]
public required string Id { get; set; }
[JsonPropertyName("code")]
public required string Code { get; set; }
[JsonPropertyName("imageType")]
public required string ImageType { get; set; }
}
public enum LoadingState
{
Unloaded,
Loading,
Done,
}
// All fields below are uninitialised while State != Done.
public static LoadingState State = LoadingState.Unloaded;
private static readonly Dictionary<string, Emote> Cache = new();
private static readonly Dictionary<string, EmoteBase> EmoteImages = new();
public static string[] SortedCodeArray = [];
// Cancelled on Dispose to stop in-flight downloads; replaced on re-enable.
private static CancellationTokenSource Cts = new();
internal static CancellationToken Token => Cts.Token;
// Tracks in-flight loads so Dispose can drain them before teardown.
private static readonly ConcurrentBag<Task> PendingLoads = new();
internal static void TrackLoad(Task loadTask, string emoteCode)
{
PendingLoads.Add(
loadTask.ContinueWith(
t =>
{
if (t.IsFaulted)
Plugin.LogProxy.Error(
t.Exception!,
$"EmoteCache load failed for {emoteCode}"
);
},
TaskScheduler.Default
)
);
}
public static async Task LoadData()
{
if (State is not LoadingState.Unloaded)
return;
// Reset CTS if Dispose was called and the plugin is being re-enabled.
if (Cts.IsCancellationRequested)
Cts = new CancellationTokenSource();
State = LoadingState.Loading;
var ct = Cts.Token;
try
{
var global = await Client.GetAsync(GlobalEmotes, ct);
if (!global.IsSuccessStatusCode)
{
// Nothing usable at all -- let the catch below reset to Unloaded
// so a later trigger can retry.
throw new HttpRequestException(
$"BetterTTV global emotes returned {(int)global.StatusCode}."
);
}
var globalList = await global.Content.ReadAsStringAsync(ct);
foreach (var emote in JsonSerializer.Deserialize<Emote[]>(globalList)!)
if (!string.IsNullOrEmpty(emote.Code) && !NotWorking.Contains(emote.Code))
Cache.TryAdd(emote.Code, emote);
var lastId = string.Empty;
for (var i = 0; i < 15; i++)
{
var top = await Client.GetAsync(Top100Emotes.Format(BetterTTV, lastId), ct);
// The shared-emote endpoint went behind authentication and now
// answers 403 with a JSON object. Deserializing that as a list
// threw on every single start, and took the global emotes -- which
// still work -- down with it. The global set is the useful half
// anyway, so a failure here stops paging instead of the load.
if (!top.IsSuccessStatusCode)
{
Plugin.LogProxy.Warning(
$"BetterTTV shared emotes unavailable ({(int)top.StatusCode}); "
+ "continuing with global emotes only."
);
break;
}
var topList = await top.Content.ReadAsStringAsync(ct);
var jsonList = JsonSerializer.Deserialize<List<Top100>>(topList);
if (jsonList is not { Count: > 0 })
break;
// BetterTTV occasionally returns entries with a null Code;
// skip them so a single bad row doesn't break the whole cache.
foreach (var emote in jsonList)
if (
!string.IsNullOrEmpty(emote.Emote.Code)
&& !NotWorking.Contains(emote.Emote.Code)
)
Cache.TryAdd(emote.Emote.Code, emote.Emote);
lastId = jsonList[^1].Id;
}
SortedCodeArray = Cache.Keys.Order().ToArray();
State = LoadingState.Done;
}
catch (OperationCanceledException)
{
// Plugin disposed mid-load; State stays on Loading so re-enable can retry.
}
catch (Exception ex)
{
// Reset to Unloaded so a later trigger can retry without a plugin reload.
State = LoadingState.Unloaded;
Plugin.LogProxy.Error(ex, "BetterTTV cache wasn't initialized");
}
}
public static void Dispose()
{
Cts.Cancel();
// 5s upper bound; anything still running gets abandoned.
try
{
Task.WaitAll(PendingLoads.ToArray(), TimeSpan.FromSeconds(5));
}
catch (AggregateException)
{
// Faults already logged in TrackLoad.
}
while (PendingLoads.TryTake(out _)) { }
foreach (var emote in EmoteImages.Values)
emote.InnerDispose();
}
internal static bool Exists(string code)
{
return State is LoadingState.Done && SortedCodeArray.Contains(code);
}
internal static EmoteBase? GetEmote(string code)
{
if (State is not LoadingState.Done)
return null;
if (!Cache.TryGetValue(code, out var emoteDetail))
return null;
if (EmoteImages.TryGetValue(emoteDetail.Id, out var emote))
return emote;
try
{
if (emoteDetail.ImageType == "gif")
{
var animatedEmote = new ImGuiGif().Prepare(emoteDetail);
EmoteImages.Add(emoteDetail.Id, animatedEmote);
return animatedEmote;
}
var staticEmote = new ImGuiEmote().Prepare(emoteDetail);
EmoteImages.Add(emoteDetail.Id, staticEmote);
return staticEmote;
}
catch
{
Plugin.LogProxy.Error("Failed to convert");
return null;
}
}
public abstract class EmoteBase
{
public bool Failed;
public bool IsLoaded;
public byte[] RawData = [];
protected IDalamudTextureWrap? Texture;
public virtual void Draw(Vector2 size)
{
ImGui.Image(Texture!.Handle, size);
}
internal async Task<byte[]> LoadAsync(Emote emote, CancellationToken ct)
{
// Path-traversal guard: resolve and verify the candidate path stays
// inside the cache directory before reading or writing.
var dir = Path.GetFullPath(
Path.Join(Plugin.Interface.ConfigDirectory.FullName, "EmoteCacheV1")
);
Directory.CreateDirectory(dir);
var dirPrefix = dir.EndsWith(Path.DirectorySeparatorChar)
? dir
: dir + Path.DirectorySeparatorChar;
var filePath = Path.GetFullPath(Path.Join(dir, $"{emote.Id}.{emote.ImageType}"));
if (!filePath.StartsWith(dirPrefix, StringComparison.Ordinal))
throw new InvalidOperationException(
$"Emote path escapes cache directory: id={emote.Id}, type={emote.ImageType}"
);
if (File.Exists(filePath))
{
RawData = await File.ReadAllBytesAsync(filePath, ct);
}
else
{
var content = await Client.GetAsync(EmotePath.Format(emote.Id), ct);
RawData = await content.Content.ReadAsByteArrayAsync(ct);
await using var stream = new FileStream(
filePath,
FileMode.Create,
FileAccess.Write,
FileShare.Read
);
await stream.WriteAsync(RawData, ct);
}
return RawData;
}
public abstract void InnerDispose();
}
public sealed class ImGuiEmote : EmoteBase
{
public ImGuiEmote Prepare(Emote emote)
{
var ct = EmoteCache.Token;
// Task.Run keeps the sync prefix off the ImGui render thread.
EmoteCache.TrackLoad(Task.Run(() => LoadAsyncTracked(emote, ct), ct), emote.Code);
return this;
}
private async Task LoadAsyncTracked(Emote emote, CancellationToken ct)
{
try
{
var image = await LoadAsync(emote, ct);
if (image.Length <= 0)
return;
ct.ThrowIfCancellationRequested();
Texture = await Plugin.TextureProvider.CreateFromImageAsync(
image,
cancellationToken: ct
);
IsLoaded = true;
}
catch (OperationCanceledException) { }
catch (Exception ex)
{
Failed = true;
Plugin.LogProxy.Error(ex, $"Unable to load {emote.Code} with id {emote.Id}");
}
}
public override void InnerDispose()
{
Texture?.Dispose();
}
}
public sealed class ImGuiGif : EmoteBase
{
private List<(IDalamudTextureWrap Texture, float Delay)> Frames = [];
private float FrameTimer;
private int CurrentFrame;
private ulong GlobalFrameCount;
public override void Draw(Vector2 size)
{
if (Frames.Count == 0)
return;
if (CurrentFrame >= Frames.Count)
{
CurrentFrame = 0;
FrameTimer = -1f;
}
var frame = Frames[CurrentFrame];
if (FrameTimer <= 0.0f)
FrameTimer = frame.Delay;
ImGui.Image(frame.Texture.Handle, size);
if (GlobalFrameCount == Plugin.Interface.UiBuilder.FrameCount)
return;
GlobalFrameCount = Plugin.Interface.UiBuilder.FrameCount;
FrameTimer -= ImGui.GetIO().DeltaTime;
if (FrameTimer <= 0f)
CurrentFrame++;
}
public override void InnerDispose()
{
Frames.ForEach(f => f.Texture.Dispose());
Frames.Clear();
}
public ImGuiGif Prepare(Emote emote)
{
var ct = EmoteCache.Token;
EmoteCache.TrackLoad(Task.Run(() => LoadAsyncTracked(emote, ct), ct), emote.Code);
return this;
}
private async Task LoadAsyncTracked(Emote emote, CancellationToken ct)
{
try
{
var image = await LoadAsync(emote, ct);
if (image.Length <= 0)
return;
using var ms = new MemoryStream(image);
using var img = Image.Load<Rgba32>(ms);
if (img.Frames.Count == 0)
return;
var frames = new List<(IDalamudTextureWrap Tex, float Delay)>();
foreach (var frame in img.Frames)
{
ct.ThrowIfCancellationRequested();
var delay = frame.Metadata.GetGifMetadata().FrameDelay / 100f;
// Match browser behaviour: anything under 20ms rounds up to 100ms.
if (delay < 0.02f)
delay = 0.1f;
var buffer = new byte[4 * frame.Width * frame.Height];
frame.CopyPixelDataTo(buffer);
var tex = await Plugin.TextureProvider.CreateFromRawAsync(
RawImageSpecification.Rgba32(frame.Width, frame.Height),
buffer,
cancellationToken: ct
);
frames.Add((tex, delay));
}
Frames = frames;
IsLoaded = true;
}
catch (OperationCanceledException)
{
// Plugin disposed mid-load; release any partial frames.
foreach (var f in Frames)
f.Texture.Dispose();
Frames = [];
}
catch (Exception ex)
{
Failed = true;
Plugin.LogProxy.Error(ex, $"Unable to load {emote.Code} with id {emote.Id}");
}
}
}
}
+1 -1
View File
@@ -61,7 +61,7 @@ public sealed class FontManager : IDisposable
// widget gallery exposes it.
internal static float SenderWeight = 1.3f;
// Wired post-build (B4b-3); a Func keeps FontManager off the theme layer.
// Wired post-build; a Func keeps FontManager off the theme layer.
private Func<ThemeTypography?>? _typographySource;
// Lets RebuildDelegateFontsIfChanged skip rebuilds when the size is unchanged.
+2 -2
View File
@@ -1,7 +1,7 @@
<Project Sdk="Dalamud.NET.Sdk/15.0.0">
<PropertyGroup>
<!-- Independent versioning; see yaml changelog for upstream Chat 2 base -->
<Version>2.0.0</Version>
<Version>2.0.6</Version>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<!-- Use lock file to pin exact versions -->
@@ -13,7 +13,7 @@
<ItemGroup>
<!-- Closed ranges prevent surprise major bumps during lock file regeneration -->
<PackageReference Include="MessagePack" Version="[3.1.4, 4.0.0)" />
<PackageReference Include="MessagePack" Version="[3.1.7, 4.0.0)" />
<PackageReference Include="Microsoft.Data.Sqlite" Version="10.0.8" />
<!-- v1.5.0 DI-container foundation; matches Lightless pin (Hosting 10.0.7) -->
<PackageReference
+23 -114
View File
@@ -1,25 +1,11 @@
name: Hellion Chat
author: Jon Kazama (Hellion Forge)
punchline: A Hellion Forge plugin — privacy-focused chat replacement for FFXIV, built for EU, US and JP data rules.
punchline: Chat replacement for FFXIV that keeps your conversations and forgets the rest.
description: |-
Chat replacement for FINAL FANTASY XIV with privacy controls built around
EU, US and JP data-protection rules.
A chat window that stores your own conversations and nothing else. Public chat, NPC dialogue, system messages and battle logs stay out of the database until you switch them on.
By default only your own conversations are stored. Public chat, NPC
dialogue and system messages stay out of the database unless you opt in.
Retention windows are configurable per channel, history can be wiped
retroactively, and everything can be exported on demand.
Retention per channel, retroactive wipe, export to Markdown, JSON or CSV. Setup wizard with four profiles. 25 languages. Its own config and database.
Features:
- Channel whitelist with a Privacy-First default
- Per-channel retention with a daily background sweep
- Retroactive cleanup (Ctrl+Shift confirm)
- Export to Markdown, JSON or CSV
- First-run wizard with four preset profiles
- Multi-language UI (24 locales) with live language switching
- Own config and database — no shared state with other plugins
Based on Chat 2 by Infi and Anna (EUPL-1.2).
Support: https://discord.gg/X9V7Kcv5gR
repo_url: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat
accepts_feedback: true
@@ -27,7 +13,7 @@ icon_url: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/br
image_urls:
- https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/chatWindow.png
- https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/settingsOverview.png
- https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/themesPicker.png
- https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/raw/branch/main/HellionChat/images/firstRunWizard.png
tags:
- Social
- UI
@@ -35,118 +21,41 @@ tags:
- Replacement
- Privacy
changelog: |-
**v2.0.0 — Rebuilt, Repaired, Reset (2026-08-19)**
**v2.0.6 — Status bar, optional (2026-09-20)**
Nine development cycles in one release. Everything built as v1.6.0 through v1.15.0 ships here; those versions were never published on their own.
One question from the Discord, small enough to ship on its own: are the pills along the bottom edge fixed in the code? They were.
**This update resets your settings.** Nine cycles of rebuilding left saved values pointing at surfaces that no longer exist, and starting over is the only way to be sure every install is on the same defaults. **Your message history is untouched** — it lives in a separate database. Your old settings are kept next to the config file as `HellionChat.json.pre-2.0.0.bak`.
Fixed, and several of these lost data or hid it:
- Retroactive cleanup could never be applied at all. The preview took the database lock itself and that counted as a change, so every preview went stale the instant it finished and the apply button never appeared.
- Compacting the database ran against an open reader and failed, after which the plugin reported that nothing had been deleted — while everything had.
- Deleting messages left them in the search index, so search kept returning rows that were already gone.
- Pinned tell tabs came up empty for a whole session: the history query ran at plugin start, before any character is logged in, and never tried again.
- Export wrote invalid JSON where a setting value was involved, and a byte-order mark that strict parsers reject.
- A pop-out with its title bar switched on could not be closed, and a tell from a popped-out partner hijacked the main window's active tab.
- One third-party emote service started returning 403, and that response took all 65 working global emotes down with it on every start.
- The GDPR notice for the full-history profile had been translated into 25 languages and shown nowhere since May.
Changed, and one of these changes what gets stored:
- **The channel grid is now authoritative.** Until now the unknown-channel failsafe was applied to known channels too, so a channel you had unticked was still being written while that failsafe was on. If that was you, this release stores less than before. Nothing already in the database is touched.
- Every window is drawn by the plugin rather than by ImGui defaults, and they share one visual language: structure carried by typography, a surface on anything you can press, and colours measured against what sits behind them.
- Typography has named roles — sender, body and timestamp mean the same thing everywhere, timestamps sit in their own column, system messages are italic.
- Export, the tab editor, database maintenance and pinning had lost their entry points during the rebuild and are reachable again.
- Screenshot mode reached one of four surfaces that draw a tab name. It reaches all four now.
Removed: six settings that had a control and a saved value but no reader anywhere in the plugin; a per-tab regex filter the game's own blackword filter covers; and a wizard checkbox that was collected, reported as applied and never read.
New: an Emote tab in the default layout, local and server clocks in the status bar, a screenshot mode reachable from the input row, `/hellion wizard` to reopen the setup wizard, a style lab under `/hellion lab`, and 25 UI languages with the settings window and wizard fully covered.
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2). The two codebases have diverged far enough that they no longer line up.
- **The status bar can be switched off.** The row at the bottom of the chat window (channel, privacy state, message counts, tells, clock, version) had no switch. Settings → Window → Window style has "Show status bar" now. Off, the chat body takes the space; on for everyone until you turn it off, so nothing changes by itself. One thing to know: the camera and the lock live in that row, so with the bar hidden, screenshot mode and the privacy filter give no visible sign.
- **Suggested by Ashy ^.^, and it says so.** The toggle carries a "Suggested by" line under it. Whoever proposes a feature should see their name where the feature lives, not in a changelog they will never open. The line is translated into all 25 languages and is a generic key, ready for the next suggestion.
---
**v1.5.6 — Settings Overhaul + Filter & Notification Polish (2026-05-23)**
**v2.0.5 — Focus, and a way out (2026-08-23)**
- Settings window reorganised: ten tabs down to seven (General, Appearance, Chat, Window, Channels, Data & Privacy, About). Each tab now uses collapsible sections grouped by control type. Sections start collapsed every time you open a tab — less noise, easier to find what you need.
- New sender-name display options under Chat → Messages: separate world-suffix and name-format modes (Full name / First name only / Initials × Never / Other worlds only / Always).
- Plugin-only symbols now show a pre-send warning so other players do not get empty boxes (Chat → Messages → "Warn before sending plugin-only symbols").
- Separate window opacity for focused vs. inactive chat window (Appearance → Window style → "Inactive window opacity"). The slider above sets the focused value.
- Custom notification sound volume slider (General → Sound, and mirrored in Channels → per-tab → Notification). Affects only the three bundled custom sounds; the 16 game sounds are unaffected.
- The per-tab regex filter that briefly shipped earlier in this cycle has been removed — FFXIV's built-in blackword filter covers the same need.
- All 24 locale files updated for the new section labels and the v1.5.6 control labels (machine translation; native review continues via the Hellion Forge Discord).
Two tester reports, both about the same corner: what a tell does to what you were doing, and what you can do about a tab once it exists.
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
- **A tell arriving while you were typing took the keyboard.** The tab switched under you, and in this game that means the next thing you type walks your character around. It could also send your sentence to the wrong person: what you have typed belongs to the window, while the recipient is read off whichever tab is active when you press Enter — so a line meant for one person could leave addressed to whoever had just written. Nothing is revealed now while you are mid-sentence, in any mode. The tab still appears with its unread mark and waits for you.
- **A tell tab could not be closed.** The entry was lost in the 2.0.0 window rebuild: it lived in the old menu, and the rebuilt one restored renaming, sounds, pop-outs and pinning but not this. Tell tabs are kept out of the settings editor on purpose, with a note pointing at the context menu — which could not close them either. Right-click any tab to close it. A pinned tell tab asks you to unpin it first, so one misclick cannot end a conversation you meant to keep.
- **Two settings decided where a tell opens, and the older one always won.** "Open new /tell tabs as a pop-out" fired when the tab was created, a tick before the mode below it was ever asked — which is why that mode looked like it did nothing. They are one setting now and your existing choice carries over. "Off" went with them: it never stopped tell tabs from being created, that is the switch further up, it only stopped the jump to them, which is what the switch below it does.
- **Closing a tab could break a pop-out you were using.** Re-anchoring always jumped to the first tab in the list, even when that tab was open in its own window, and stripped its tell binding on the way there.
- **Smaller things.** "Pop Out" in the context menu was English on every client, as were the tell-open modes. The pinned-tab limit still pointed at a feature removed in May. Spanish had a word that does not exist, Greek had an untranslated one, Portuguese contradicted its own button. Segmented settings rows cut long labels in half. The last compiler warning in the project is gone.
---
**v1.5.5 — Upstream-Sync Tab-Features (2026-05-21)**
**v2.0.4 — Housekeeping (2026-08-20)**
A backlog-sync cycle: inherited tab-feature items plus a new fox
banner image and custom notification sounds.
Nothing changes in how the plugin behaves. Two pieces of tidying that were overdue.
User-visible:
- Failed tells now raise a warning toast when a message you sent
could not be delivered (recipient offline, in an instance, or
blocking you). Toggle in Settings, Chat tab.
- Per-tab notification sound: each tab can play a sound when a
message arrives while you are looking at a different tab. Pick
one of the 16 game chat sounds or one of three bundled Hellion
sounds, with a preview button to hear it. Off by default,
respects the global sound toggle.
- The tab rename field in the right-click menu now focuses
itself when the menu opens and accepts up to 512 characters,
matching the settings-tab rename.
- A jump-to-latest button appears in the chat log header while
you are scrolled up from the live end.
- Map flags and item links can be inserted into the chat input
from its right-click menu.
- The Hellion Forge fox banner in the first-run wizard and the
Information tab is now a real image instead of ASCII art.
Schema bumped to v18 (additive fields only, no data migration).
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
- **The installer description was long, and one line of it was wrong.** It ran to 908 characters and opened by naming a category instead of saying what the plugin does. It also claimed 24 interface languages when there are 25, and the two manifests carried different one-line summaries, so the store listing and the plugin details showed different sentences.
- **30 translation keys for the webinterface are gone.** That feature, its HTTP routes and its frontend left the code in May; the strings stayed behind in all 25 languages, along with a generated property for each. Every key was checked against the whole repository before anything was removed.
---
**v1.5.4 — Polish and Motion (2026-05-20)**
**v2.0.3 — Pop-out context menu, screenshot mode (2026-08-20)**
A polish cycle: smoother theme switching, faster theme and tab
access, and subtle hover motion. Three P3 items plus an
accessibility toggle.
- **The context menu never opened in a pop-out window.** Right-clicking a name or an item there did nothing at all. Every chat surface shares one popup state, and whichever window drew first cleared the menu it had not opened before the pop-out got its turn. The menu now stays with the window the click came from.
- **Screenshot mode could not be turned off.** It is a saved setting, but neither of its two toggles wrote the change to the config file, so switching it off never survived a reload and the mode came back on at every plugin load. Both toggles save now. If it is stuck on for you, one click off is enough.
- **Text the game colours itself could render invisible.** Some of those colours arrive without an alpha byte, and the byte order swap then left them fully transparent.
User-visible:
- Theme switches now crossfade smoothly over ~300 ms across every
Hellion-rendered surface — sidebar, title, buttons, tabs,
scrollbar, separators. The window background snaps deliberately
so the per-window opacity override from Dalamud's pinning menu
stays untouched.
- New header quick-picker: a palette button left of the cog opens
a compact popup with two sections — every built-in and custom
theme, and every tab. The active entry carries a check glyph;
clicking another switches without closing the popup.
- Sidebar icons ease their opacity on hover, and card-mode message
borders highlight per tab while the cursor is over their rows.
Framerate-independent, so a stalled Wine frame cannot overshoot
the animation.
- New "Reduce motion" toggle in Theme & Layout disables the
crossfade, the hover animations and the unread-tab pulse for
users who prefer a static UI.
Under the hood:
- Two pure-helper lerp paths (ThemeAbgrCacheLerp, FrameLerp) with
xUnit coverage in the Build Suite, plus a ColourUtil.ApplyAlpha
alpha modulator. Two new /xlperf self-test steps pin the
crossfade and quick-picker contracts.
No schema bump, no migration. Migration v17 stays.
Based on Chat 2 1.35.3 (upstream Infiziert90/ChatTwo, EUPL-1.2).
Earlier history: https://gitea.hellion-forge.cloud/JonKazama-Hellion/HellionChat/releases
@@ -29,7 +29,7 @@ internal sealed class ThemeRegistryInitHostedService(
foreach (var _ in registry.AllCustom()) { }
registry.SwitchSilent(Plugin.Config.Theme);
// B4b-3: point font sizes at the active theme's typography, wire future
// Point font sizes at the active theme's typography, wire future
// theme switches to the atlas rebuild, and apply the boot theme's override.
fontManager.SetTypographySource(() => registry.Active.Typography);
registry.SetActiveChangedCallback(() => fontManager.RebuildDelegateFontsIfChanged());
-21
View File
@@ -175,8 +175,6 @@ public partial class Message
}
var nextIsAutoTranslate = false;
var checkForEmotes =
(Code.IsPlayerMessage() || extraChatChannel != Guid.Empty) && Plugin.Config.ShowEmotes;
foreach (var chunk in oldChunks)
{
// Use as is if it's not a text chunk, it already has a payload, or is auto translate
@@ -207,25 +205,6 @@ public partial class Message
var wordUsed = false;
var tokenUsed = false;
if (
checkForEmotes
&& EmoteCache.Exists(word)
&& !Plugin.Config.BlockedEmotes.Contains(word)
)
{
// Add the previous sentence before adding the emote
AddChunkWithMessage(text.NewWithStyle(chunk, sentenceBuilder.ToString()));
AddChunkWithMessage(
new TextChunk(chunk.Source, EmotePayload.ResolveEmote(word), word)
{
FallbackColour = text.FallbackColour,
}
);
wordUsed = true;
sentenceBuilder.Clear();
}
if (token.TokenType == Tokenizer.TokenType.UrlString)
{
// Add the previous sentence before adding the url
+2
View File
@@ -90,6 +90,8 @@ public class PayloadMessagePackFormatter : IMessagePackFormatter<Payload?>
return new PartyFinderPayload(reader.ReadUInt32());
case PayloadMessagePackType.Uri:
return new UriPayload(new Uri(reader.ReadString() ?? ""));
// Read-only since 2.0.2: nothing writes this any more, but rows
// stored before then carry it and must keep deserialising.
case PayloadMessagePackType.Emote:
return EmotePayload.ResolveEmote(reader.ReadString() ?? "");
case PayloadMessagePackType.Other:
+14 -2
View File
@@ -49,6 +49,7 @@ internal sealed class PayloadHandler
public uint LastHoverCounter;
private (Chunk, Payload?)? _popup;
private object? _popupOwner;
public PayloadHandler(
ThemeRegistry themes,
@@ -69,6 +70,10 @@ internal sealed class PayloadHandler
_logger = logger;
}
// Every chat surface shares this handler, so each one claims it before it
// renders. Without that the popup cannot tell whose click it belongs to.
internal object? ActiveSurface { get; set; }
internal void Draw()
{
DrawPopups();
@@ -84,7 +89,9 @@ internal sealed class PayloadHandler
private void DrawPopups()
{
if (_popup == null)
// A foreign surface finds no open popup here and would otherwise read
// that as "closed" and drop the state before the owner gets to draw.
if (_popup == null || !PopupOwnership.Owns(_popupOwner, ActiveSurface))
return;
var (chunk, payload) = _popup.Value;
@@ -93,6 +100,7 @@ internal sealed class PayloadHandler
if (!popup.Success)
{
_popup = null;
_popupOwner = null;
return;
}
@@ -186,7 +194,10 @@ internal sealed class PayloadHandler
return;
}
ImGui.Checkbox(Language.Context_ScreenshotMode, ref Plugin.Config.ScreenshotMode);
// The flag is persisted, so every toggle has to write it. Without the
// write it only sticks when some unrelated save happens to run after.
if (ImGui.Checkbox(Language.Context_ScreenshotMode, ref Plugin.Config.ScreenshotMode))
Plugin.Instance.SaveConfig();
if (ImGui.Selectable(Language.Context_HideChat))
Plugin.Config.HideChat = true;
@@ -934,6 +945,7 @@ internal sealed class PayloadHandler
private void RightClickPayload(Chunk chunk, Payload? payload)
{
_popup = (chunk, payload);
_popupOwner = ActiveSurface;
ImGui.OpenPopup(PopupId);
}
}
+27 -5
View File
@@ -354,6 +354,32 @@ public sealed class Plugin : IAsyncDalamudPlugin
);
}
// v28 migration: two settings could open a tell in its own window,
// and AutoTellTabsOpenAsPopout won every race because it fired at tab
// creation while TellAutoOpenMode only got asked a tick later -- by
// which point the window was already open and the mode read back as
// "nothing to do". Anyone with the old flag on was, in practice, on
// Popout, so that is what carries forward. The flag itself is left
// alone: it is the only record of what was chosen, and clearing it
// would make a re-run of this step silently change a later decision.
if (Config.Version < 28)
{
if (Config.AutoTellTabsOpenAsPopout)
{
Config.TellAutoOpenMode = TellAutoOpenMode.Popout;
}
else if (Config.TellAutoOpenMode == TellAutoOpenMode.Off)
{
// "Off" never stopped the tab from being created -- that is the
// auto-tell switch further up -- it only stopped the jump to it,
// which is exactly what TellAutoOpenSwitchAlways is for. Two
// controls for one decision, and the one that read like "no tell
// tabs at all" was the misleading one. Same behaviour, said once.
Config.TellAutoOpenMode = TellAutoOpenMode.Sidebar;
Config.TellAutoOpenSwitchAlways = false;
}
}
// v25 carried no migration step; the bump was documentation.
//
// v26 does. NameCameFromPartner is what screenshot mode reads to decide
@@ -392,7 +418,7 @@ public sealed class Plugin : IAsyncDalamudPlugin
}
}
Config.Version = 27;
Config.Version = Configuration.LatestVersion;
// Unpinned TempTabs are session-only and dropped on every load. Pinned
// TempTabs survive reload -- tester feedback in v1.4.7.
@@ -620,9 +646,6 @@ public sealed class Plugin : IAsyncDalamudPlugin
// or already ran within the past 24 hours.
RunRetentionSweepIfDue();
if (Config.ShowEmotes)
_ = EmoteCache.LoadData();
// FilterAllTabsAsync now runs from MessageManagerInitHostedService
// during Host.StartAsync (same Reason-not-Boot guard there).
@@ -841,7 +864,6 @@ public sealed class Plugin : IAsyncDalamudPlugin
}
// Static-class cleanups the container has no handle on.
failure = CaptureFailure(failure, () => EmoteCache.Dispose());
failure = CaptureFailure(failure, InputHistoryService.Reset);
if (failure is not null)
+8 -6
View File
@@ -202,8 +202,6 @@ internal class HellionStrings
internal static string AutoTellTabs_UnGreetedTooltip => Get(nameof(AutoTellTabs_UnGreetedTooltip));
internal static string PinTab_MenuPin => Get(nameof(PinTab_MenuPin));
internal static string PinTab_MenuUnpin => Get(nameof(PinTab_MenuUnpin));
internal static string PinTab_MenuPromote => Get(nameof(PinTab_MenuPromote));
internal static string PinTab_PromoteTooltip => Get(nameof(PinTab_PromoteTooltip));
internal static string PinTab_LimitReached => Get(nameof(PinTab_LimitReached));
internal static string PinTab_PinnedTooltip => Get(nameof(PinTab_PinnedTooltip));
internal static string PinTab_PinTooltip => Get(nameof(PinTab_PinTooltip));
@@ -221,8 +219,6 @@ internal class HellionStrings
internal static string ChatLog_AutoTellTabs_Compact_Description => Get(nameof(ChatLog_AutoTellTabs_Compact_Description));
internal static string ChatLog_AutoTellTabs_GreetedToggle_Name => Get(nameof(ChatLog_AutoTellTabs_GreetedToggle_Name));
internal static string ChatLog_AutoTellTabs_GreetedToggle_Description => Get(nameof(ChatLog_AutoTellTabs_GreetedToggle_Description));
internal static string ChatLog_AutoTellTabs_OpenAsPopout_Name => Get(nameof(ChatLog_AutoTellTabs_OpenAsPopout_Name));
internal static string ChatLog_AutoTellTabs_OpenAsPopout_Description => Get(nameof(ChatLog_AutoTellTabs_OpenAsPopout_Description));
internal static string ChatLog_AutoTellTabs_PreloadHint => Get(nameof(ChatLog_AutoTellTabs_PreloadHint));
internal static string ChatLog_AutoTellTabs_ConflictHint => Get(nameof(ChatLog_AutoTellTabs_ConflictHint));
@@ -421,6 +417,9 @@ internal class HellionStrings
internal static string Settings_Chat_CommandHelpSide_Description => Get(nameof(Settings_Chat_CommandHelpSide_Description));
internal static string Settings_Channels_TellAutoOpenMode_Name => Get(nameof(Settings_Channels_TellAutoOpenMode_Name));
internal static string Settings_Channels_TellAutoOpenMode_Description => Get(nameof(Settings_Channels_TellAutoOpenMode_Description));
internal static string Settings_Channels_TellAutoOpen_MainWindow => Get(nameof(Settings_Channels_TellAutoOpen_MainWindow));
internal static string Settings_Channels_TellAutoOpen_Popout => Get(nameof(Settings_Channels_TellAutoOpen_Popout));
internal static string Settings_Channels_TellAutoOpen_BusyHint => Get(nameof(Settings_Channels_TellAutoOpen_BusyHint));
internal static string Settings_Channels_TellSwitchAlways_Name => Get(nameof(Settings_Channels_TellSwitchAlways_Name));
internal static string Settings_Channels_TellSwitchAlways_Description => Get(nameof(Settings_Channels_TellSwitchAlways_Description));
internal static string Settings_Window_LayoutSidebar => Get(nameof(Settings_Window_LayoutSidebar));
@@ -429,6 +428,8 @@ internal class HellionStrings
internal static string Settings_Window_TabPlacement_Description => Get(nameof(Settings_Window_TabPlacement_Description));
internal static string Settings_Window_TitleBar_Name => Get(nameof(Settings_Window_TitleBar_Name));
internal static string Settings_Window_PopoutTitleBar_Name => Get(nameof(Settings_Window_PopoutTitleBar_Name));
internal static string Settings_Window_StatusBar_Name => Get(nameof(Settings_Window_StatusBar_Name));
internal static string Settings_SuggestedBy => Get(nameof(Settings_SuggestedBy));
internal static string Settings_Window_AllowMove_Name => Get(nameof(Settings_Window_AllowMove_Name));
internal static string Settings_Window_AllowResize_Name => Get(nameof(Settings_Window_AllowResize_Name));
internal static string Settings_Window_SidebarThreshold_Name => Get(nameof(Settings_Window_SidebarThreshold_Name));
@@ -438,7 +439,6 @@ internal class HellionStrings
internal static string Settings_About_GiteaRepo => Get(nameof(Settings_About_GiteaRepo));
internal static string Settings_About_CustomRepo => Get(nameof(Settings_About_CustomRepo));
internal static string Settings_Section_AutoTranslate => Get(nameof(Settings_Section_AutoTranslate));
internal static string Settings_Emotes_Block => Get(nameof(Settings_Emotes_Block));
internal static string Settings_Telemetry_None => Get(nameof(Settings_Telemetry_None));
internal static string Settings_Section_Database => Get(nameof(Settings_Section_Database));
@@ -507,6 +507,9 @@ internal class HellionStrings
internal static string Tabs_NotificationSound_Option => Get(nameof(Tabs_NotificationSound_Option));
internal static string Tabs_NotificationSound_Preview => Get(nameof(Tabs_NotificationSound_Preview));
internal static string Tabs_NotificationSound_CustomOption => Get(nameof(Tabs_NotificationSound_CustomOption));
internal static string Tabs_Close_MenuItem => Get(nameof(Tabs_Close_MenuItem));
internal static string Tabs_Close_UnpinFirst => Get(nameof(Tabs_Close_UnpinFirst));
internal static string Tabs_Close_LastTab => Get(nameof(Tabs_Close_LastTab));
// Scroll-to-bottom and item/flag linking
internal static string ChatLog_ScrollToBottom_Tooltip => Get(nameof(ChatLog_ScrollToBottom_Tooltip));
@@ -549,7 +552,6 @@ internal class HellionStrings
internal static string Settings_Section_Messages => Get(nameof(Settings_Section_Messages));
internal static string Settings_Section_InputPreview => Get(nameof(Settings_Section_InputPreview));
internal static string Settings_Section_AutoTellTabs => Get(nameof(Settings_Section_AutoTellTabs));
internal static string Settings_Section_Emotes => Get(nameof(Settings_Section_Emotes));
internal static string Settings_Section_LinksTooltips => Get(nameof(Settings_Section_LinksTooltips));
internal static string Settings_Section_NoviceNetwork => Get(nameof(Settings_Section_NoviceNetwork));
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Desfixa la pestanya</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Converteix en pestanya permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Converteix aquest TempTell en una pestanya normal. L'enllaç del tell amb el company es perd: la pestanya capturarà missatges pels seus filtres de canal a partir d'ara. Per a "la pestanya sobreviu al reconnectar mentre continua lligada a aquest company", utilitza Fixa la pestanya.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Les pestanyes fixades sobreviuen al reconnectar i continuen lligades a aquest interlocutor.</value>
</data>
@@ -486,7 +480,7 @@
<value>Amplada de la barra lateral de pestanyes en píxels. El valor per defecte (44 px) és només icones; amplia-la per encabir les capçaleres de secció com "Tells actius (3)" sense que es tallin.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Has assolit el màxim de {0} pestanyes de tell fixades. Desfixa'n una primer, o utilitza Converteix en permanent.</value>
<value>Has assolit el màxim de {0} pestanyes de tell fixades. Desfixa'n una primer.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fixada: sobreviu al reconnectar.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Afegeix un botó al costat de cada pestanya auto-tell per marcar un interlocutor com a ja saludat: el nom de la pestanya s'atenua. Útil per als greeters de clubs que gestionen moltes converses en paral·lel. Desactivat per defecte.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Obre les pestanyes de /tell noves directament com a finestres emergents</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Quan està actiu, cada nova pestanya de /tell s'obre immediatament com a finestra pròpia. Tancar la finestra retorna la pestanya a la barra lateral.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>El nombre de tells precarregats es pot configurar a la pestanya Privadesa.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Pestanyes de tell automàtic</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Enllaços i consells</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>So de Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Tanca la pestanya</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Desfixa aquesta pestanya abans de tancar-la.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Ha de quedar almenys una pestanya. Crea'n una altra primer.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>No s'ha pogut lliurar el tell.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Traducció automàtica</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloqueja</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Vés al missatge més recent</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>On s'obre un tell quan arriba.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Finestra principal</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Finestra emergent</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Mentre escrius, no s'obre cap finestra. La pestanya espera a la finestra principal perquè el teclat no torni al joc.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Canvia a la pestanya a cada tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Barra de títol als pop-outs</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Mostra la barra d'estat</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Suggerit per {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Permet moure</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Odepnout záložku</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Povýšit na trvalou záložku</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Přemění tento TempTell na normální záložku. Vazba na partnera přes tell se zruší: záložka od té doby zachytává zprávy podle filtrů kanálů. Chceš-li „záložka přežije relog a zůstane svázaná s tímto partnerem", použij raději Připnout záložku.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Připnuté záložky přeživají relog a zůstávají svázané s tímto konverzačním partnerem.</value>
</data>
@@ -486,7 +480,7 @@
<value>Šířka postranního panelu záložek v pixelech. Výchozí (44 px) zobrazuje pouze ikony. Rozšíř ho, aby se záhlaví sekcí jako „Aktivní telly (3)" zobrazovala celá bez oříznutí.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Dosažen maximální počet {0} připnutých tell záložek. Nejdřív jednu odepni nebo použij Povýšit na trvalou.</value>
<value>Dosažen maximální počet {0} připnutých tell záložek. Nejdřív jednu odepni.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Připnuto: přežívá relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Přidá klikací tlačítko vedle každé auto-tell záložky pro označení konverzačního partnera jako již pozdraveného: název záložky se pak ztlumí. Užitečné pro greetery v klubech, kteří paralelně vedou mnoho konverzací. Ve výchozím stavu vypnuto.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Otevírat nové /tell záložky přímo jako pop-outy</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Když je aktivní, každá nově vytvořená /tell záložka se okamžitě otevře jako vlastní okno. Zavřením okna se záložka vrátí do postranního panelu.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Počet předem načtených tellů lze nastavit v záložce Soukromí.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatické karty pro tell</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emoty</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Odkazy a popisky</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion zvuk</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Zavřít záložku</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Nejdřív záložku odepni, pak ji můžeš zavřít.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Musí zůstat alespoň jedna záložka. Vytvoř nejdřív další.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Tell nebylo možné doručit.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Automatický překlad</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Zablokovat</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Přejít na nejnovější zprávu</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Kde se tell otevře, když dorazí.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Hlavní okno</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Vyskakovací okno</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Když píšeš, žádné okno se neotevře. Záložka počká v hlavním okně, aby se klávesnice nevrátila do hry.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Přepnout na kartu při každém tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Záhlaví u pop-out oken</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Zobrazit stavový řádek</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Návrh od {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Povolit přesouvání</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Frigør tab</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Konvertér til permanent tab</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Gør denne TempTell til en regulær tab. Tell-bindingen til samtalepartneren fjernes, og tab'en vil fremover opfange beskeder via dens kanalfiltre. Brug Fastgør tab i stedet, hvis du vil have "tab overlever genlog og forbliver bundet til denne partner".</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Fastgjorte tabs overlever genlog og forbliver bundet til denne samtalepartner.</value>
</data>
@@ -486,7 +480,7 @@
<value>Bredden af tab-sidebjælken i pixels. Standard (44 px) er kun ikon. Udvid den for at vise sektionsoverskrifter som "Aktive tells (3)" uden afskæring.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maksimum på {0} fastgjorte tell-tabs nået. Frigør én først, eller brug Konvertér til permanent.</value>
<value>Maksimum på {0} fastgjorte tell-tabs nået. Frigør én først.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fastgjort: overlever genlog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Tilføjer en klikknap ved siden af hver auto-tell-tab til at markere en samtalepartner som allerede hilset på: tab-navnet dæmpes derefter. Nyttigt for club-greeter der håndterer mange samtaler parallelt. Fra som standard.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Åbn nye /tell-tabs direkte som pop-outs</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Når aktiv åbnes hver nyoprettet /tell-tab straks som sit eget vindue. Lukker man vinduet vender tab'en tilbage til sidebjælken.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Antallet af forudindlæste tells kan konfigureres under fanen Privatliv.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Auto-tell-faner</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Links og værktøjstip</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-lyd</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Luk tab</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Frigør denne tab, før du lukker den.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Der skal blive mindst én tab tilbage. Opret en anden først.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Et tell kunne ikke leveres.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Auto-oversættelse</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloker</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Hop til den seneste besked</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Hvor en tell åbnes, når den ankommer.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Hovedvindue</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Popud-vindue</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Mens du skriver, åbnes der ikke noget vindue. Fanen venter i hovedvinduet, så tastaturet ikke hopper tilbage til spillet.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Skift til tab ved hver tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Vis titellinje for pop-out-vinduer</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Vis statuslinje</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Foreslået af {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Tillad flytning</value>
</data>
+25 -19
View File
@@ -467,14 +467,8 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Tab lösen</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>In Standard-Tab umwandeln</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Wandelt den temporären Flüster-Tab in einen regulären Tab um. Die Flüster-Bindung an die Person geht verloren, der Tab fängt dann Nachrichten anhand der Channel-Filter ein. Für „Tab überlebt Relog" stattdessen „Tab anpinnen" wählen.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maximal {0} angepinnte Flüster-Tabs erreicht. Erst einen lösen oder dauerhaft behalten.</value>
<value>Maximal {0} angepinnte Flüster-Tabs erreicht. Erst einen lösen.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Angepinnt: überlebt Relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Fügt neben jedem Auto-Flüster-Tab einen Klick-Button hinzu, um einen Gesprächspartner als bereits begrüßt zu markieren: der Tab-Name wird dann gedimmt. Nützlich für Club-Greeter, die parallel viele Konversationen führen. Standardmäßig aus.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Neue /tell-Tabs direkt als Pop-Out öffnen</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Wenn aktiv, wird jeder neu angelegte /tell-Tab sofort als eigenes Fenster geöffnet. Beim Schließen des Fensters kehrt der Tab in die Seitenleiste zurück.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Die Anzahl der vorgeladenen Flüsternachrichten lässt sich im Datenschutz-Tab einstellen.</value>
</data>
@@ -897,9 +885,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Auto-Flüster-Tabs</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Links &amp; Tooltips</value>
</data>
@@ -1035,6 +1020,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-Sound</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Tab schließen</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Löse den Tab, bevor du ihn schließt.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Mindestens ein Tab muss bleiben. Lege zuerst einen weiteren an.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Ein Flüstern konnte nicht zugestellt werden.</value>
</data>
@@ -1094,9 +1088,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Auto-Übersetzung</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Sperren</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Zur neuesten Nachricht springen</value>
</data>
@@ -1193,6 +1184,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Wo ein Flüstern geöffnet wird, wenn er ankommt.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Hauptfenster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Pop-Out-Fenster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Während du schreibst, öffnet sich kein Fenster. Der Tab wartet im Hauptfenster, damit die Tastatur nicht ins Spiel zurückspringt.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Bei jedem Flüstern zum Tab wechseln</value>
</data>
@@ -1217,6 +1217,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Titelleiste für Pop-Outs</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Statusleiste anzeigen</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Vorgeschlagen von {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Verschieben erlauben</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Ξεκαρφίτσωμα καρτέλας</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Προαγωγή σε μόνιμη</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Μετατρέπει αυτό το TempTell σε κανονική καρτέλα. Η σύνδεση tell με τον συνομιλητή καταργείται. Η καρτέλα θα συλλαμβάνει μηνύματα βάσει φίλτρων καναλιών από εδώ και εξής. Για "η καρτέλα επιβιώνει relog ενώ παραμένει συνδεδεμένη με αυτόν τον συνομιλητή", χρησιμοποίησε αντί αυτού το Καρφίτσωμα καρτέλας.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Οι καρφιτσωμένες καρτέλες επιβιώνουν relog και παραμένουν συνδεδεμένες με αυτόν τον συνομιλητή.</value>
</data>
@@ -486,7 +480,7 @@
<value>Πλάτος του sidebar καρτελών σε pixels. Η προεπιλογή (44 px) είναι μόνο εικονίδιο. Διεύρυνε για να χωράνε οι επικεφαλίδες ενοτήτων όπως "Active Tells (3)" χωρίς αποκοπή.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Έχει συμπληρωθεί το μέγιστο των {0} καρφιτσωμένων tell tabs. Ξεκαρφίτσωσε πρώτα μία ή χρησιμοποίησε Προαγωγή σε μόνιμη.</value>
<value>Έχει συμπληρωθεί το μέγιστο των {0} καρφιτσωμένων καρτελών tell. Ξεκαρφίτσωσε πρώτα μία.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Καρφιτσωμένο: επιβιώνει relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Προσθέτει ένα κουμπί δίπλα σε κάθε auto-tell tab για να σημειώσεις έναν συνομιλητή ως ήδη χαιρετισμένο. Το όνομα της καρτέλας αμβλύνεται τότε. Χρήσιμο για greeters club που διαχειρίζονται πολλές συνομιλίες παράλληλα. Απενεργοποιημένο εξ ορισμού.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Άνοιγμα νέων /tell tabs απευθείας ως pop-outs</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Όταν είναι ενεργό, κάθε νεοδημιουργημένη /tell καρτέλα ανοίγει αμέσως ως δικό της παράθυρο. Κλείνοντας το παράθυρο επιστρέφει η καρτέλα στο sidebar.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Ο αριθμός των προφορτωμένων tells μπορεί να ρυθμιστεί στην καρτέλα Απόρρητο.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Αυτόματες καρτέλες tell</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Εκφράσεις</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Σύνδεσμοι &amp; επεξηγήσεις</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Ήχος Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Κλείσιμο καρτέλας</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Ξεκαρφίτσωσε πρώτα την καρτέλα για να την κλείσεις.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Πρέπει να μείνει τουλάχιστον μία καρτέλα. Δημιούργησε πρώτα μια άλλη.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Ένα tell δεν μπόρεσε να παραδοθεί.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Αυτόματη μετάφραση</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Αποκλεισμός</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Μετάβαση στο πιο πρόσφατο μήνυμα</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Πού ανοίγει ένα tell όταν φτάνει.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Κύριο παράθυρο</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Αναδυόμενο παράθυρο</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Όσο πληκτρολογείς, δεν ανοίγει παράθυρο. Η καρτέλα περιμένει στο κύριο παράθυρο, ώστε το πληκτρολόγιο να μην επιστρέψει στο παιχνίδι.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Μετάβαση στην καρτέλα σε κάθε tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Εμφάνιση γραμμής τίτλου στα αποσπώμενα παράθυρα</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Εμφάνιση γραμμής κατάστασης</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Πρόταση από {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Να επιτρέπεται η μετακίνηση</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Desfijar pestaña</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Convertir en pestaña permanente</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Convierte este TempTell en una pestaña regular. Se pierde el vínculo de tell con la persona: la pestaña captará mensajes según sus filtros de canal a partir de ahora. Para "la pestaña sobrevive al relog pero sigue vinculada a esta persona", usa Fijar pestaña en su lugar.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Las pestañas fijadas sobreviven al relog y permanecen vinculadas a esta persona de conversación.</value>
</data>
@@ -486,7 +480,7 @@
<value>Ancho de la barra lateral de pestañas en píxeles. El valor predeterminado (44 px) es solo icono; amplíalo para que encabezados de sección como "Tells activos (3)" no se corten.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Se alcanzó el máximo de {0} pestañas de tell fijadas. Desija una primero o usa Convertir en permanente.</value>
<value>Se alcanzó el máximo de {0} pestañas de tell fijadas. Desfija una primero.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fijada: sobrevive al relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Añade un botón junto a cada pestaña de tell automática para marcar a un interlocutor como ya saludado: el nombre de la pestaña se atenúa. Útil para los saludadores de clubs que gestionan muchas conversaciones en paralelo. Desactivado por defecto.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Abrir nuevas pestañas de /tell directamente como ventanas emergentes</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Cuando está activo, cada nueva pestaña de /tell se abre inmediatamente como su propia ventana. Cerrar la ventana devuelve la pestaña a la barra lateral.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>El número de tells precargados se puede configurar en la pestaña Privacidad.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Pestañas de tell automático</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Enlaces y sugerencias</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Sonido Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Cerrar pestaña</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Desfija esta pestaña antes de cerrarla.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Debe quedar al menos una pestaña. Crea otra primero.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>No se pudo entregar el tell.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Traducción automática</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Ir al mensaje más reciente</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Dónde se abre un tell cuando llega.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Ventana principal</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Ventana emergente</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Mientras escribes, no se abre ninguna ventana. La pestaña espera en la ventana principal para que el teclado no vuelva al juego.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Cambiar a la pestaña con cada tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Barra de título en pop-outs</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Mostrar la barra de estado</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Sugerido por {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Permitir mover</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Irrota välilehti</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Muuta pysyväksi välilehdeksi</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Muuttaa tämän TempTell-välilehden tavalliseksi välilehdeksi. Tell-sidonta kumppaniin poistetaan: välilehti poimii viestit kanavasuodattimiensa perusteella tästä eteenpäin. Jos haluat "välilehti selviää relogista sidottuna tähän kumppaniin", käytä sen sijaan Kiinnitä välilehti -toimintoa.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Kiinnitetyt välilehdet selviävät relogista ja pysyvät sidottuina tähän keskustelukumppaniin.</value>
</data>
@@ -486,7 +480,7 @@
<value>Välilehtisivupalkin leveys pikseleinä. Oletus (44 px) on vain kuvake; levennä niin, että osion otsikot kuten "Active Tells (3)" mahtuvat ilman katkaisua.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Kiinnitettyjen tell-välilehtien enimmäismäärä {0} saavutettu. Irrota ensin yksi tai muuta pysyväksi välilehdeksi.</value>
<value>Kiinnitettyjen tell-välilehtien enimmäismäärä {0} saavutettu. Irrota ensin yksi.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Kiinnitetty: selviää relogista.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Lisää napsautuspainikkeen jokaisen auto-tell-välilehden viereen, jolla voit merkitä keskustelukumppanin jo tervehdytyksi: välilehden nimi himmenee tällöin. Hyödyllinen klubi-tervehtijöille, jotka hallitsevat useita samanaikaisia keskusteluja. Oletuksena pois päältä.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Avaa uudet /tell-välilehdet suoraan irrotettuna ikkunana</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Kun aktiivinen, jokainen juuri luotu /tell-välilehti avataan välittömästi omana ikkunanaan. Ikkunan sulkeminen palauttaa välilehden sivupalkkiin.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Esivalmistellujen tellien määrä on määritettävissä Tietosuoja-välilehdellä.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automaattiset tell-välilehdet</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotet</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Linkit ja työkaluvihjeet</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-ääni</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Sulje välilehti</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Irrota välilehti ennen kuin suljet sen.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Vähintään yhden välilehden on jäätävä. Luo ensin toinen.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Telliä ei voitu toimittaa.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Automaattikäännös</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Estä</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Siirry uusimpaan viestiin</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Missä tell avautuu saapuessaan.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Pääikkuna</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Ponnahdusikkuna</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Kirjoittaessasi ikkunaa ei avata. Välilehti odottaa pääikkunassa, jottei näppäimistö palaa peliin.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Vaihda välilehteen jokaisella tellillä</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Näytä otsikkopalkki irrotetuissa ikkunoissa</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Näytä tilarivi</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Ehdottanut {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Salli siirtäminen</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Désépingler l'onglet</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Promouvoir en permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Transforme cet onglet MP temporaire en onglet régulier. Le lien du message privé avec le partenaire est rompu. L'onglet capturera désormais les messages selon ses filtres de canaux. Pour « onglet qui survit à la reconnexion en restant lié à ce partenaire », utilisez Épingler l'onglet à la place.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Les onglets épinglés survivent à la reconnexion et restent liés à ce partenaire de conversation.</value>
</data>
@@ -486,7 +480,7 @@
<value>Largeur de la barre latérale d'onglets en pixels. La valeur par défaut (44 px) n'affiche que les icônes ; élargissez-la pour permettre l'affichage complet d'en-têtes de section comme « Messages privés actifs (3) » sans troncature.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maximum de {0} onglets de message privé épinglés atteint. Désépinglez-en un d'abord, ou utilisez Promouvoir en permanent.</value>
<value>Maximum de {0} onglets de message privé épinglés atteint. Désépinglez-en un d'abord.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Épinglé : survit à la reconnexion.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Ajoute un bouton à côté de chaque onglet de message privé automatique pour marquer un partenaire de conversation comme déjà salué. Le nom de l'onglet est alors atténué. Utile pour les hôtes de club qui gèrent de nombreuses conversations en parallèle. Désactivé par défaut.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Ouvrir les nouveaux onglets /tell directement comme fenêtres détachées</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Quand cette option est active, chaque onglet /tell nouvellement créé est immédiatement ouvert dans sa propre fenêtre. Fermer la fenêtre renvoie l'onglet dans la barre latérale.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Le nombre de messages privés préchargés peut être configuré dans l'onglet Confidentialité.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Onglets de message privé automatiques</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Liens et infobulles</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Son Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Fermer l'onglet</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Désépinglez cet onglet avant de le fermer.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Au moins un onglet doit rester. Créez-en un autre d'abord.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Un Message privé n'a pas pu être remis.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Traduction automatique</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloquer</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Aller au message le plus récent</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Où s'ouvre un message privé à son arrivée.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Fenêtre principale</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Fenêtre détachée</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Pendant que vous écrivez, aucune fenêtre ne s'ouvre. L'onglet attend dans la fenêtre principale, pour que le clavier ne retourne pas au jeu.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Basculer vers l'onglet à chaque message privé</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Afficher la barre de titre des fenêtres détachées</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Afficher la barre d'état</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Suggéré par {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Autoriser le déplacement</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Fül rögzítésének feloldása</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Előléptetés állandó füllé</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Ezt a TempTell-t normál füllé alakítja. A partnerhez való tell-kötés megszűnik: a fül ezentúl a csatornaszűrők alapján fogja az üzeneteket. Ha azt szeretnéd, hogy „a fül túlélje az újrabejelentkezést és kötve maradjon a partnerhez", inkább a Fül rögzítése funkciót használd.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>A rögzített fülek túlélik az újrabejelentkezést, és kötve maradnak a beszélgető partnerhez.</value>
</data>
@@ -486,7 +480,7 @@
<value>A fül-oldalsáv szélessége képpontban. Az alapértelmezés (44 px) csak ikont mutat; szélesítsd meg, hogy a szakaszfejlécek (pl. „Aktív tellek (3)") ne legyenek levágva.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Elérted a {0} rögzített tell-fül maximumát. Először oldd fel az egyiket, vagy használd az Állandó füllé előléptetés funkciót.</value>
<value>Elérted a {0} rögzített tell-fül maximumát. Először oldd fel az egyiket.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Rögzített: túléli az újrabejelentkezést.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Minden auto-tell-fül mellé egy kattintható gombot ad, amellyel a beszélgető partnert már üdvözöltként lehet megjelölni: a fül neve ezután halvány lesz. Hasznos klubi köszöntőknek, akik párhuzamosan sok beszélgetést kezelnek. Alapértelmezés szerint ki van kapcsolva.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Új /tell-fülek megnyitása közvetlenül pop-outként</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Ha aktív, minden újonnan létrehozott /tell-fül azonnal saját ablakként nyílik meg. Az ablak bezárásakor a fül visszakerül az oldalsávba.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Az előtöltött tellek száma az Adatvédelem fülön állítható be.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatikus tell lapfülek</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emote-ok</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Hivatkozások és súgóbubborékok</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion hang</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Fül bezárása</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Előbb oldd fel a fül rögzítését, utána zárhatod be.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Legalább egy fülnek maradnia kell. Előbb hozz létre egy másikat.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Egy tell nem kézbesíthető.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Automatikus fordítás</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Letiltás</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Ugrás a legutóbbi üzenetre</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Hol nyílik meg egy tell, amikor megérkezik.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Főablak</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Kiugró ablak</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Amíg gépelsz, nem nyílik ablak. A fül a főablakban vár, hogy a billentyűzet ne ugorjon vissza a játékba.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Váltás a fülre minden tellnél</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Címsor a pop-out ablakoknál</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Állapotsor megjelenítése</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Javasolta: {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Mozgatás engedélyezése</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Sblocca tab</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Converti in tab permanente</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Trasforma questo TempTell in un tab normale. Il legame tell con il partner viene rimosso: il tab catturerà i messaggi tramite i suoi filtri canale da ora in poi. Per "il tab sopravvive al relog restando legato a questo partner", usa Fissa tab.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>I tab fissi sopravvivono al relog e rimangono legati a questo partner di conversazione.</value>
</data>
@@ -486,7 +480,7 @@
<value>Larghezza della barra laterale dei tab in pixel. Il predefinito (44 px) mostra solo le icone; allargala per visualizzare le intestazioni di sezione come "Tell attivi (3)" senza troncamento.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Raggiunto il massimo di {0} tab tell fissi. Sblocca prima uno o usa Converti in permanente.</value>
<value>Raggiunto il massimo di {0} tab tell fissi. Sblocca prima uno.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fisso: sopravvive al relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Aggiunge un pulsante cliccabile accanto a ogni tab tell automatico per contrassegnare un partner di conversazione come già salutato: il nome del tab viene poi attenuato. Utile per i greeter dei club che gestiscono molte conversazioni in parallelo. Disattivato per impostazione predefinita.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Apri i nuovi tab /tell direttamente come pop-out</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Se attivo, ogni nuovo tab /tell creato viene aperto immediatamente come finestra separata. Chiudendo la finestra il tab torna alla barra laterale.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Il numero di tell precaricati può essere configurato nel tab Privacy.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Schede tell automatiche</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Link e tooltip</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Suono Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Chiudi tab</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Sblocca questo tab prima di chiuderlo.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Deve rimanere almeno un tab. Creane prima un altro.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Un tell non può essere consegnato.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Traduzione automatica</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Blocca</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Vai al messaggio più recente</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Dove si apre un tell quando arriva.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Finestra principale</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Finestra pop-out</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Mentre scrivi non si apre nessuna finestra. Il tab attende nella finestra principale, così la tastiera non torna al gioco.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Passa alla scheda a ogni tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Barra del titolo nei pop-out</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Mostra la barra di stato</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Suggerito da {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Consenti lo spostamento</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>タブのピン留めを解除</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>永続タブに昇格</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>この TempTell を通常のタブに変換します。会話相手へのテル紐付けは解除され、以降はチャンネルフィルターでメッセージを受信します。「再ログイン後も残す + 相手との紐付けを維持」したい場合は「タブをピン留め」をご利用ください。</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>ピン留めされたタブは再ログイン後も残り、会話相手との紐付けを維持します。</value>
</data>
@@ -486,7 +480,7 @@
<value>タブサイドバーの幅(ピクセル単位)。デフォルト(44px)はアイコンのみ表示です。「アクティブなテル (3)」などのセクションヘッダーが切れないよう広げてください。</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>ピン留めテルタブの上限 {0} 件に達しました。先に1件解除するか、「永続タブに昇格」をご利用ください。</value>
<value>ピン留めテルタブの上限 {0} 件に達しました。先に1件解除してください。</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>ピン留め済み: 再ログイン後も残ります。</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>各自動テルタブの横にクリックボタンを追加し、会話相手を挨拶済みとしてマークできます。マークするとタブ名が薄く表示されます。複数の会話を並行して処理するクラブグリーター向けの機能です。デフォルトはオフです。</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>新しい /tell タブを直接ポップアウトとして開く</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>有効にすると、新しく作成された /tell タブが即座に独立したウィンドウとして開きます。ウィンドウを閉じるとタブはサイドバーに戻ります。</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>プリロードするテルの件数はプライバシータブで設定できます。</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>オートテルタブ</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>エモート</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>リンクとツールチップ</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellionサウンド</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>タブを閉じる</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>閉じる前にタブのピン留めを解除してください。</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>タブは最低1つ必要です。先に別のタブを作成してください。</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>テルを届けられませんでした。</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>定型文</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>ブロック</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>最新のメッセージへ移動</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>テルが届いたときにどこで開くか。</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>メインウィンドウ</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>ポップアウトウィンドウ</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>入力中はウィンドウを開きません。タブはメインウィンドウで待機するため、キーボードがゲームに戻ることはありません。</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>テルのたびにタブへ切り替える</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>ポップアウトのタイトルバーを表示</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>ステータスバーを表示</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>提案者: {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>移動を許可</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>탭 고정 해제</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>영구 탭으로 변환</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>이 임시 귓속말 탭을 일반 탭으로 변환합니다. 상대방과의 귓속말 연결이 해제되며, 이후 채널 필터로 메시지를 받습니다. "재접속 후에도 상대방과 연결 유지"를 원한다면 탭 고정을 사용하세요.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>고정된 탭은 재접속 후에도 유지되며 이 대화 상대와의 연결이 유지됩니다.</value>
</data>
@@ -486,7 +480,7 @@
<value>탭 사이드바의 너비 (픽셀). 기본값 (44px)은 아이콘만 표시됩니다. "활성 귓속말 (3)"과 같은 섹션 헤더가 잘리지 않으려면 너비를 넓히세요.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>고정 귓속말 탭의 최대 개수 {0}에 도달했습니다. 먼저 하나를 해제하거나 영구 탭으로 변환하세요.</value>
<value>고정 귓속말 탭의 최대 개수 {0}에 도달했습니다. 먼저 하나를 해제하세요.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>고정됨: 재접속 후에도 유지됩니다.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>각 자동 귓속말 탭 옆에 클릭 버튼을 추가하여 대화 상대를 이미 인사한 것으로 표시합니다. 탭 이름이 흐리게 표시됩니다. 동시에 여러 대화를 관리하는 클럽 접대 담당자에게 유용합니다. 기본값은 꺼짐입니다.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>새 /tell 탭을 팝아웃으로 바로 열기</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>활성화하면 새로 생성된 /tell 탭이 즉시 별도 창으로 열립니다. 창을 닫으면 탭이 사이드바로 돌아옵니다.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>미리 불러올 귓속말 수는 개인정보 탭에서 설정할 수 있습니다.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>자동 귓속말 탭</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>감정 표현</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>링크 및 툴팁</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion 소리</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>탭 닫기</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>닫기 전에 탭 고정을 해제하세요.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>탭은 최소 하나가 남아 있어야 합니다. 먼저 다른 탭을 만드세요.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>귓속말을 전달하지 못했습니다.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>정형문</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>차단</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>최신 메시지로 이동</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>귓속말이 도착했을 때 어디에서 열릴지.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>기본 창</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>팝아웃 창</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>입력하는 동안에는 창이 열리지 않습니다. 탭이 기본 창에서 대기하므로 키보드가 게임으로 돌아가지 않습니다.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>귓속말마다 탭으로 전환</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>팝아웃 창의 제목 표시줄 보이기</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>상태 표시줄 보이기</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>제안자: {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>이동 허용</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Løsgjør fane</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Gjør permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Gjør denne TempTell om til en vanlig fane. Tell-bindingen til samtalepartneren fjernes, og fanen vil fra nå av fange meldinger via kanalfilteret. For å overleve relog mens du forblir bundet til denne partneren, bruk Fest fane i stedet.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Festede faner overlever relog og forblir bundet til denne samtalepartneren.</value>
</data>
@@ -486,7 +480,7 @@
<value>Bredde på fane-sidefeltet i piksler. Standard (44 px) er kun ikon. Gjør det bredere for å vise seksjonsoverskrifter som "Aktive tells (3)" uten avkutting.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maksimalt antall på {0} festede tell-faner er nådd. Løsgjør én først, eller bruk Gjør permanent.</value>
<value>Maksimalt antall på {0} festede tell-faner er nådd. Løsgjør én først.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Festet: overlever relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Legger til en klikknapp ved siden av hver auto-tell-fane for å merke en samtalepartner som allerede hilset: fanenavnet dempes da. Nyttig for klubbvakter som håndterer mange samtaler parallelt. Av som standard.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Åpne nye /tell-faner direkte som pop-out-vinduer</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Når aktivt åpnes hver nyopprettet /tell-fane umiddelbart som sitt eget vindu. Å lukke vinduet returnerer fanen til sidefeltet.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Antallet forhåndslastede tells kan konfigureres i Personvern-fanen.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatiske tell-faner</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Lenker og verktøytips</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-lyd</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Lukk fane</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Løsgjør denne fanen før du lukker den.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Minst én fane må bli igjen. Opprett en annen først.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Et tell kunne ikke leveres.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Auto-oversettelse</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Blokker</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Hopp til den nyeste meldingen</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Hvor en tell åpnes når den kommer.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Hovedvindu</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Utskilt vindu</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Mens du skriver, åpnes ingen vinduer. Fanen venter i hovedvinduet, slik at tastaturet ikke hopper tilbake til spillet.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Bytt til fanen ved hver tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Tittellinje for pop-out-vinduer</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Vis statuslinje</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Foreslått av {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Tillat flytting</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Tabblad losmaken</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Omzetten naar permanent tabblad</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Zet deze TempTell om naar een gewoon tabblad. De tell-koppeling met de gesprekspartner wordt verbroken: het tabblad vangt berichten voortaan op via de kanaalsfilters. Gebruik "Tabblad vastpinnen" als je wilt dat het tabblad een relog overleeft terwijl het gekoppeld blijft aan deze gesprekspartner.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Vastgepinde tabbladen overleven een relog en blijven gekoppeld aan deze gesprekspartner.</value>
</data>
@@ -486,7 +480,7 @@
<value>Breedte van de tabbladzijbalk in pixels. De standaard (44 px) toont alleen pictogrammen; vergroot dit zodat sectiekoppen zoals "Actieve tells (3)" niet worden afgekapt.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maximum van {0} vastgepinde tell-tabbladen bereikt. Maak er eerst één los, of gebruik Omzetten naar permanent tabblad.</value>
<value>Maximum van {0} vastgepinde tell-tabbladen bereikt. Maak er eerst één los.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Vastgepind: overleeft relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Voegt een klikknop toe naast elk auto-tell-tabblad om een gesprekspartner als al begroet te markeren: de tabbladnaam wordt dan gedimd. Handig voor club-greeters die tegelijkertijd veel gesprekken beheren. Standaard uitgeschakeld.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Nieuwe /tell-tabbladen direct als pop-out openen</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Als dit actief is, wordt elk nieuw aangemaakt /tell-tabblad meteen geopend als een eigen venster. Het sluiten van het venster brengt het tabblad terug naar de zijbalk.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Het aantal vooraf geladen tells kan worden ingesteld in het tabblad Privacy.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatische tell-tabbladen</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Links en tooltips</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-geluid</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Tabblad sluiten</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Maak dit tabblad los voordat je het sluit.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Er moet minstens één tabblad overblijven. Maak eerst een ander aan.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Een tell kon niet worden bezorgd.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Automatische vertaling</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Blokkeren</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Ga naar het nieuwste bericht</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Waar een tell opent wanneer die binnenkomt.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Hoofdvenster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Pop-outvenster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Terwijl je typt, gaat er geen venster open. Het tabblad wacht in het hoofdvenster, zodat het toetsenbord niet terugspringt naar het spel.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Bij elke tell naar het tabblad schakelen</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Titelbalk voor pop-outvensters</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Statusbalk tonen</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Voorgesteld door {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Verplaatsen toestaan</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Odepnij zakładkę</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Przekształć w stałą zakładkę</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Zamienia ten TempTell w zwykłą zakładkę. Powiązanie tell z partnerem zostaje usunięte: od tej pory zakładka będzie przechwytywać wiadomości na podstawie filtrów kanałów. Jeśli chcesz, żeby „zakładka przeżyła relog i pozostała powiązana z tym partnerem", użyj zamiast tego Przypnij zakładkę.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Przypięte zakładki przeżywają relog i pozostają powiązane z tym partnerem rozmowy.</value>
</data>
@@ -486,7 +480,7 @@
<value>Szerokość paska bocznego zakładek w pikselach. Domyślna (44 px) pokazuje tylko ikony; poszerz, żeby nagłówki sekcji jak „Aktywne tells (3)" nie były obcinane.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Osiągnięto maksymalną liczbę {0} przypiętych zakładek tell. Najpierw odepnij jedną lub użyj opcji Przekształć w stałą zakładkę.</value>
<value>Osiągnięto maksymalną liczbę {0} przypiętych zakładek tell. Najpierw odepnij jedną.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Przypięta: przeżywa relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Dodaje przycisk przy każdej auto-zakładce tell, pozwalający oznaczyć partnera rozmowy jako już powitanego: nazwa zakładki jest wtedy przyciemniona. Przydatne dla greeters w klubach prowadzących wiele rozmów równocześnie. Domyślnie wyłączone.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Otwieraj nowe zakładki /tell bezpośrednio jako pop-outy</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Gdy aktywne, każda nowo utworzona zakładka /tell jest natychmiast otwierana jako własne okno. Zamknięcie okna powoduje powrót zakładki do paska bocznego.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Liczbę wstępnie wczytywanych tells można skonfigurować w zakładce Prywatność.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatyczne karty tell</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotki</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Linki i podpowiedzi</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Dźwięk Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Zamknij zakładkę</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Najpierw odepnij zakładkę, potem możesz ją zamknąć.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Musi zostać co najmniej jedna zakładka. Utwórz najpierw kolejną.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Tell nie mógł zostać dostarczony.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Autotłumaczenie</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Zablokuj</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Przejdź do najnowszej wiadomości</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Gdzie otwiera się tell, gdy nadejdzie.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Okno główne</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Okno wyskakujące</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Gdy piszesz, żadne okno się nie otwiera. Zakładka czeka w oknie głównym, żeby klawiatura nie wróciła do gry.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Przełączaj na zakładkę przy każdym tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Pokaż pasek tytułu w oknach odłączonych</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Pokaż pasek stanu</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Zaproponowane przez {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Zezwól na przesuwanie</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Desafixar aba</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Promover para permanente</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Transforma este TempTell em uma aba regular. O vínculo de tell com o parceiro é removido: a aba passará a capturar mensagens pelos filtros de canal a partir de agora. Para "aba sobrevive ao relog mantendo o vínculo com este parceiro", use Fixar aba.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Abas fixadas sobrevivem ao relog e permanecem vinculadas a este parceiro de conversa.</value>
</data>
@@ -486,7 +480,7 @@
<value>Largura da barra lateral de abas em pixels. O padrão (44 px) é somente ícone; aumente para que cabeçalhos como "Tells Ativos (3)" não sejam cortados.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Limite máximo de {0} abas de tell fixadas atingido. Desafixe uma primeiro ou use Promover para permanente.</value>
<value>Limite máximo de {0} abas de tell fixadas atingido. Desafixe uma primeiro.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fixado: sobrevive ao relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Adiciona um botão clicável ao lado de cada aba de tell automática para marcar um parceiro de conversa como já cumprimentado: o nome da aba fica esmaecido. Útil para recepcionistas de clube que gerenciam muitas conversas em paralelo. Desativado por padrão.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Abrir novas abas de /tell diretamente como pop-outs</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Quando ativo, cada nova aba de /tell criada é aberta imediatamente como sua própria janela. Fechar a janela retorna a aba para a barra lateral.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>O número de tells pré-carregados pode ser configurado na aba Privacidade.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Abas de tell automático</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Links e dicas</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Som Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Fechar aba</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Desafixe esta aba antes de fechá-la.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Pelo menos uma aba precisa permanecer. Crie outra primeiro.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Um tell não pôde ser entregue.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Tradução automática</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Ir para a mensagem mais recente</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Onde um tell abre quando chega.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Janela principal</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Janela pop-out</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Enquanto você digita, nenhuma janela é aberta. A aba espera na janela principal, para que o teclado não volte ao jogo.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Mudar para a aba a cada tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Mostrar barra de título nas janelas destacadas</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Mostrar barra de status</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Sugerido por {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Permitir mover</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Desafixar separador</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Promover a permanente</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Transforma este TempTell num separador normal. A ligação de tell ao parceiro é removida: o separador passará a capturar mensagens pelos seus filtros de canal. Para "separador sobrevive ao relog mantendo a ligação a este parceiro", usa Fixar separador.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Os separadores fixos sobrevivem ao relog e mantêm a ligação a este parceiro de conversa.</value>
</data>
@@ -486,7 +480,7 @@
<value>Largura da barra lateral de separadores em píxeis. A predefinição (44 px) é apenas ícone; aumenta para que cabeçalhos de secção como "Tells ativos (3)" não sejam cortados.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Máximo de {0} separadores de tell fixos atingido. Desfixa um primeiro, ou usa Promover a permanente.</value>
<value>Máximo de {0} separadores de tell fixos atingido. Desafixa um primeiro.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fixado: sobrevive ao relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Adiciona um botão de clique junto a cada separador de tell automático para marcar um parceiro de conversa como já cumprimentado: o nome do separador fica então esbatido. Útil para greeters de clubes que gerem muitas conversas em paralelo. Desativado por predefinição.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Abrir novos separadores de /tell diretamente como janelas flutuantes</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Quando ativo, cada novo separador de /tell criado é imediatamente aberto como janela própria. Fechar a janela devolve o separador à barra lateral.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>O número de tells pré-carregados pode ser configurado no separador Privacidade.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Separadores de tell automático</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Ligações e dicas</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Som Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Fechar separador</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Desafixa este separador antes de o fechares.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Tem de ficar pelo menos um separador. Cria primeiro outro.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Um tell não pôde ser entregue.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Tradução automática</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Bloquear</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Ir para a mensagem mais recente</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Onde um tell abre quando chega.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Janela principal</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Janela destacável</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Enquanto escreves, não abre nenhuma janela. O separador espera na janela principal, para que o teclado não volte ao jogo.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Mudar para o separador a cada tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Mostrar barra de título nas janelas destacadas</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Mostrar barra de estado</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Sugerido por {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Permitir mover</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Unpin Tab</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Promote to permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Turns this TempTell into a regular tab. The tell binding to the partner is dropped. The tab will catch messages by its channel filters from now on. For "tab survives relog while staying bound to this partner", use Pin Tab instead.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Pinned tabs survive relog and stay bound to this conversation partner.</value>
</data>
@@ -486,7 +480,7 @@
<value>Width of the tab sidebar in pixels. The default (44 px) is icon-only; widen it to fit the section headers like "Active Tells (3)" without truncation.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maximum of {0} pinned tell tabs reached. Unpin one first, or use Promote to permanent.</value>
<value>Maximum of {0} pinned tell tabs reached. Unpin one first.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Pinned: survives relog.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Adds a click button next to each auto-tell tab to mark a conversation partner as already greeted. The tab name is then dimmed. Useful for club greeters managing many conversations in parallel. Off by default.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Open new /tell tabs directly as pop-outs</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>When active, each newly created /tell tab is immediately opened as its own window. Closing the window returns the tab to the sidebar.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>The number of preloaded tells can be configured in the Privacy tab.</value>
</data>
@@ -895,6 +883,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion sound</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Close Tab</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Unpin this tab before closing it.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>At least one tab has to remain. Create another one first.</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
@@ -993,9 +990,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Auto-tell tabs</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Links &amp; tooltips</value>
</data>
@@ -1120,9 +1114,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Auto-translate</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Block</value>
</data>
<data name="Wizard_Step4_Summary_Off" xml:space="preserve">
<value>off</value>
</data>
@@ -1210,6 +1201,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Where a tell opens when it arrives.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Main window</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Pop-out window</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>While you are typing, no window opens. The tab waits in the main window instead, so the keyboard does not jump back into the game.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Switch to the tab on every tell</value>
</data>
@@ -1234,6 +1234,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Show title bar for pop-outs</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Show status bar</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Suggested by {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Allow movement</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Dezfixează tab-ul</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Promovează la permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Transformă acest TempTell într-un tab obișnuit. Legătura tell cu partenerul este eliminată: tab-ul va prinde mesaje după filtrele de canal de acum înainte. Pentru „tab supraviețuiește relog rămânând legat de acest partener", folosește Fixează tab-ul.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Tab-urile fixate supraviețuiesc relog-ului și rămân legate de acest partener de conversație.</value>
</data>
@@ -486,7 +480,7 @@
<value>Lățimea barei laterale cu tab-uri în pixeli. Implicit (44 px) afișează doar icoane; mărește-o pentru a încăpea antetele de secțiuni precum „Tell-uri active (3)" fără trunchiere.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Numărul maxim de {0} tab-uri tell fixate a fost atins. Dezfixează unul mai întâi sau folosește Promovează la permanent.</value>
<value>Numărul maxim de {0} tab-uri tell fixate a fost atins. Dezfixează unul mai întâi.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fixat: supraviețuiește relog-ului.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Adaugă un buton de clic lângă fiecare tab auto-tell pentru a marca un partener de conversație ca deja salutat: numele tab-ului devine mai estompat. Util pentru greeter-ii de club care gestionează mai multe conversații în paralel. Dezactivat implicit.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Deschide tab-urile /tell noi direct ca ferestre pop-out</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Când este activ, fiecare tab /tell nou creat este imediat deschis ca propria fereastră. Închiderea ferestrei returnează tab-ul în bara laterală.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Numărul de tell-uri preîncărcate poate fi configurat în tab-ul Confidențialitate.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>File tell automate</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emote-uri</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Linkuri și sugestii</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Sunet Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Închide tab-ul</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Dezfixează acest tab înainte de a-l închide.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Trebuie să rămână cel puțin un tab. Creează mai întâi altul.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Un tell nu a putut fi livrat.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Traducere automată</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Blochează</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Salt la cel mai recent mesaj</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Unde se deschide un tell când sosește.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Fereastra principală</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Fereastră detașată</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Cât timp scrii, nu se deschide nicio fereastră. Tabul așteaptă în fereastra principală, ca tastatura să nu revină în joc.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Comută pe tab la fiecare tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Afișează bara de titlu la ferestrele desprinse</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Afișează bara de stare</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Sugerat de {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Permite mutarea</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Открепить вкладку</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Преобразовать в постоянную</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Превращает эту TempTell в обычную вкладку. Привязка ЛС к собеседнику снимается — вкладка будет получать сообщения по фильтрам канала. Для «вкладка переживает релог, оставаясь привязанной к собеседнику» используйте «Закрепить вкладку».</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Закреплённые вкладки переживают релог и остаются привязанными к этому собеседнику.</value>
</data>
@@ -486,7 +480,7 @@
<value>Ширина боковой панели вкладок в пикселях. По умолчанию (44 пкс) — только иконки; увеличьте, чтобы заголовки разделов вида «Активные ЛС (3)» не обрезались.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Достигнут максимум закреплённых вкладок ЛС: {0}. Сначала открепите одну или используйте «Преобразовать в постоянную».</value>
<value>Достигнут максимум закреплённых вкладок ЛС: {0}. Сначала открепите одну.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Закреплено — переживает релог.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Добавляет кнопку рядом с каждой авто-вкладкой ЛС для отметки собеседника как уже поприветствованного — имя вкладки будет затемнено. Полезно для приветствующих в клубе, ведущих много разговоров одновременно. По умолчанию выключено.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Открывать новые вкладки /tell сразу как всплывающие окна</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Когда активно, каждая вновь созданная вкладка /tell немедленно открывается в собственном окне. При закрытии окна вкладка возвращается на боковую панель.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Количество предзагружаемых ЛС можно настроить на вкладке Конфиденциальность.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Авто-вкладки tell</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Эмоции</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Ссылки и подсказки</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Звук Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Закрыть вкладку</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Сначала открепите вкладку, потом её можно закрыть.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Должна остаться хотя бы одна вкладка. Сначала создайте другую.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Сообщение не было доставлено.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Автоперевод</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Заблокировать</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Перейти к последнему сообщению</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Где открывается tell при получении.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Главное окно</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Всплывающее окно</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Пока вы печатаете, окно не открывается. Вкладка ждёт в главном окне, чтобы клавиатура не вернулась в игру.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Переключаться на вкладку при каждом tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Показывать заголовок в отдельных окнах</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Показывать строку состояния</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Предложено пользователем {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Разрешить перемещение</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Lossa flik</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Uppgradera till permanent</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Omvandlar den här TempTell-fliken till en vanlig flik. Bindningen till konversationspartnern tas bort och fliken fångar meddelanden via sina kanalfilter från och med nu. Använd Fäst flik om du vill att fliken ska överleva omloggning och ändå vara bunden till den här partnern.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Fästa flikar överlever omloggning och är kvar bundna till den här konversationspartnern.</value>
</data>
@@ -486,7 +480,7 @@
<value>Bredden på fliksidofältet i pixlar. Standard (44 px) är bara ikoner. Gör det bredare för att sektionsrubriker som "Aktiva tells (3)" inte ska kapas.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Maximalt {0} fästa tell-flikar nått. Lossa en först, eller använd Uppgradera till permanent.</value>
<value>Maximalt {0} fästa tell-flikar nått. Lossa en först.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Fäst: överlever omloggning.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Lägger till en klickknapp bredvid varje auto-tell-flik för att markera en konversationspartner som redan hälsad: fliknamnet tonas då ned. Användbart för klubbhälsare som hanterar många konversationer parallellt. Av som standard.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Öppna nya /tell-flikar direkt som pop-out-fönster</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>När aktivt öppnas varje nyskapat /tell-flik omedelbart som ett eget fönster. Att stänga fönstret återför fliken till sidofältet.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Antalet förladda tells kan konfigureras i fliken Sekretess.</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Automatiska tell-flikar</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Länkar och verktygstips</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion-ljud</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Stäng flik</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Lossa den här fliken innan du stänger den.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Minst en flik måste finnas kvar. Skapa en annan först.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Ett tell kunde inte levereras.</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Autoöversättning</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Blockera</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Hoppa till det senaste meddelandet</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Var en tell öppnas när den kommer.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Huvudfönster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Utbrytningsfönster</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Medan du skriver öppnas inget fönster. Fliken väntar i huvudfönstret, så att tangentbordet inte hoppar tillbaka till spelet.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Byt till fliken vid varje tell</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Namnlist för pop-out-fönster</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Visa statusfält</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Föreslagen av {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Tillåt flytt</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Sekmeyi serbest bırak</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Kalıcı sekmeye yükselt</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Bu TempTell'i normal bir sekmeye dönüştürür. Kullanıcıya olan tell bağlantısı kaldırılır; sekme bundan sonra kanal filtrelerine göre mesaj yakalar. "Kullanıcıya bağlı kalarak yeniden giriş sonrası hayatta kalma" için bunun yerine Sekmeyi Sabitle'yi kullan.</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Sabitlenmiş sekmeler yeniden girişten sonra hayatta kalır ve bu konuşma ortağına bağlı kalır.</value>
</data>
@@ -486,7 +480,7 @@
<value>Sekme kenar çubuğunun piksel cinsinden genişliği. Varsayılan (44 px) yalnızca ikon modundadır; "Aktif Tell'ler (3)" gibi bölüm başlıklarının kesilmeden görünmesi için genişlet.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>En fazla {0} sabitlenmiş tell sekmesi sınırına ulaşıldı. Önce birini serbest bırak ya da kalıcıya yükselt.</value>
<value>En fazla {0} sabitlenmiş tell sekmesi sınırına ulaşıldı. Önce birini serbest bırak.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Sabitlenmiş: yeniden girişten sonra hayatta kalır.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Her otomatik tell sekmesinin yanına, konuşma ortağını zaten selamlananlar olarak işaretlemek için bir tıklama düğmesi ekler; sekme adı soluklaşır. Paralel olarak çok sayıda konuşmayı yöneten kulüp karşılayıcıları için kullanışlıdır. Varsayılan olarak kapalıdır.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Yeni /tell sekmelerini doğrudan pop-out olarak aç</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Etkinleştirildiğinde her yeni oluşturulan /tell sekmesi hemen kendi penceresi olarak açılır. Pencereyi kapatmak sekmeyi kenar çubuğuna geri döndürür.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Önceden yüklenen tell sayısı Gizlilik sekmesinden yapılandırılabilir.</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Otomatik tell sekmeleri</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Emote'lar</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Bağlantılar ve araç ipuçları</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion sesi</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Sekmeyi kapat</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Kapatmadan önce sekmeyi serbest bırak.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>En az bir sekme kalmalı. Önce başka bir sekme oluştur.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Bir tell teslim edilemedi.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Otomatik çeviri</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Engelle</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>En son iletiye git</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Bir tell geldiğinde nerede açılacağı.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Ana pencere</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Ayrılan pencere</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Yazarken pencere açılmaz. Sekme ana pencerede bekler, böylece klavye oyuna geri dönmez.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Her tell'de sekmeye geç</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Ayrık pencereler için başlık çubuğunu göster</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Durum çubuğunu göster</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>{0} tarafından önerildi</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Taşımaya izin ver</value>
</data>
+25 -19
View File
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>Відкріпити вкладку</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>Перетворити на постійну</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>Перетворює цей TempTell на звичайну вкладку. Прив'язка tell до партнера знімається — вкладка надалі отримуватиме повідомлення за фільтрами каналів. Для «вкладка виживає після релогу та залишається прив'язаною до цього партнера» натомість скористайтесь «Закріпити вкладку».</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>Закріплені вкладки виживають після релогу та залишаються прив'язаними до цього партнера розмови.</value>
</data>
@@ -486,7 +480,7 @@
<value>Ширина бокової панелі вкладок у пікселях. Стандартне значення (44 пкс) — лише іконки; розширте, щоб заголовки секцій на кшталт «Активні tells (3)» не обрізались.</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>Досягнуто максимум {0} закріплених tell-вкладок. Спочатку відкріпіть одну або скористайтесь «Перетворити на постійну».</value>
<value>Досягнуто максимум {0} закріплених tell-вкладок. Спочатку відкріпіть одну.</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>Закріплено — виживає після релогу.</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>Додає кнопку поруч із кожною авто-tell-вкладкою для позначення партнера розмови як вже привітаного — назва вкладки стає приглушеною. Зручно для грітерів клубу, які паралельно ведуть багато розмов. За замовчуванням вимкнено.</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>Відкривати нові /tell-вкладки відразу як спливаючі вікна</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>Коли активно, кожна нова /tell-вкладка негайно відкривається як власне вікно. Закриття вікна повертає вкладку на бокову панель.</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>Кількість попередньо завантажених tells можна налаштувати на вкладці «Конфіденційність».</value>
</data>
@@ -902,9 +890,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>Автоматичні вкладки tell</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>Емоції</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>Посилання та підказки</value>
</data>
@@ -1040,6 +1025,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Звук Hellion</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>Закрити вкладку</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>Спочатку відкріпіть вкладку, потім її можна закрити.</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>Має залишитися хоча б одна вкладка. Спочатку створіть іншу.</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>Повідомлення не було доставлено.</value>
</data>
@@ -1099,9 +1093,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>Автопереклад</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>Заблокувати</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>Перейти до останнього повідомлення</value>
</data>
@@ -1198,6 +1189,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>Де відкривається tell, коли надходить.</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>Головне вікно</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>Окреме вікно</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>Поки ви друкуєте, вікно не відкривається. Вкладка чекає в головному вікні, щоб клавіатура не повернулася до гри.</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>Перемикатися на вкладку за кожного tell</value>
</data>
@@ -1222,6 +1222,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>Показувати рядок заголовка у відокремлених вікнах</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>Показувати рядок стану</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>Запропоновано користувачем {0}</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>Дозволити переміщення</value>
</data>
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>取消固定</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>提升为永久标签页</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>将此临时密语标签页转换为普通标签页。与对话伙伴的密语绑定将被解除,之后该标签页将根据频道过滤器接收消息。若需要"标签页在重新登录后仍保持与该伙伴的绑定",请使用固定标签页功能。</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>固定的标签页在重新登录后仍会保留,并保持与该对话伙伴的绑定。</value>
</data>
@@ -486,7 +480,7 @@
<value>标签页侧边栏的宽度(像素)。默认值(44 px)仅显示图标;加宽后可完整显示"活跃密语 (3)"等分区标题而不被截断。</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>已达到最多 {0} 个固定密语标签页的上限。请先取消固定一个,或使用"提升为永久标签页"。</value>
<value>已达到最多 {0} 个固定密语标签页的上限。请先取消固定一个。</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>已固定,重新登录后仍保留。</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>在每个自动密语标签页旁添加一个点击按钮,用于将对话伙伴标记为已打招呼,标记后标签页名称将变暗。适合同时处理多个对话的俱乐部接待员使用。默认关闭。</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>将新 /tell 标签页直接作为弹出窗口打开</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>启用后,每个新建的 /tell 标签页将立即作为独立窗口打开。关闭窗口后标签页将返回侧边栏。</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>预加载密语数量可在隐私标签页中设置。</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>自动密语标签页</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>表情动作</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>链接与工具提示</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion 音效</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>关闭标签页</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>关闭前请先取消固定此标签页。</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>至少需要保留一个标签页。请先创建另一个。</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>悄悄话未能送达。</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>自动翻译</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>屏蔽</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>跳到最新消息</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>密语到达时在何处打开。</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>主窗口</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>弹出窗口</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>输入时不会弹出窗口。标签页会在主窗口等待,以免键盘跳回游戏。</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>每条密语都切换到标签</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>显示弹出窗口的标题栏</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>显示状态栏</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>由 {0} 建议</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>允许移动</value>
</data>
@@ -467,12 +467,6 @@
<data name="PinTab_MenuUnpin" xml:space="preserve">
<value>取消釘選</value>
</data>
<data name="PinTab_MenuPromote" xml:space="preserve">
<value>升格為永久標籤頁</value>
</data>
<data name="PinTab_PromoteTooltip" xml:space="preserve">
<value>將此 TempTell 轉換為一般標籤頁。與對話對象的悄悄話綁定將解除,標籤頁之後將依頻道篩選條件接收訊息。若要「標籤頁在重新登入後保留且持續綁定此對象」,請改用釘選標籤頁。</value>
</data>
<data name="PinTab_PinTooltip" xml:space="preserve">
<value>釘選的標籤頁在重新登入後仍會保留,並持續綁定此對話對象。</value>
</data>
@@ -486,7 +480,7 @@
<value>標籤頁側邊欄的寬度(像素)。預設值(44 px)為僅顯示圖示;加寬可讓「進行中的悄悄話 (3)」等區段標題不被截斷。</value>
</data>
<data name="PinTab_LimitReached" xml:space="preserve">
<value>已達到最多 {0} 個釘選悄悄話標籤頁的上限。請先取消釘選一個,或使用升格為永久標籤頁。</value>
<value>已達到最多 {0} 個釘選悄悄話標籤頁的上限。請先取消釘選一個。</value>
</data>
<data name="PinTab_PinnedTooltip" xml:space="preserve">
<value>已釘選,重新登入後仍會保留。</value>
@@ -520,12 +514,6 @@
<data name="ChatLog_AutoTellTabs_GreetedToggle_Description" xml:space="preserve">
<value>在每個 Auto-悄悄話 標籤頁旁新增一個點擊按鈕,用於將對話對象標記為已問候,標籤頁名稱將隨之變暗。適合同時管理多個對話的接待人員使用。預設為關閉。</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Name" xml:space="preserve">
<value>直接以彈出視窗開啟新的 /tell 標籤頁</value>
</data>
<data name="ChatLog_AutoTellTabs_OpenAsPopout_Description" xml:space="preserve">
<value>啟用後,每個新建立的 /tell 標籤頁會立即以獨立視窗開啟。關閉視窗後,標籤頁會回到側邊欄。</value>
</data>
<data name="ChatLog_AutoTellTabs_PreloadHint" xml:space="preserve">
<value>預載悄悄話的數量可在隱私標籤頁中設定。</value>
</data>
@@ -903,9 +891,6 @@
<data name="Settings_Section_AutoTellTabs" xml:space="preserve">
<value>自動悄悄話標籤頁</value>
</data>
<data name="Settings_Section_Emotes" xml:space="preserve">
<value>情感動作</value>
</data>
<data name="Settings_Section_LinksTooltips" xml:space="preserve">
<value>連結與工具提示</value>
</data>
@@ -1041,6 +1026,15 @@
<data name="Tabs_NotificationSound_CustomOption" xml:space="preserve">
<value>Hellion 音效</value>
</data>
<data name="Tabs_Close_MenuItem" xml:space="preserve">
<value>關閉標籤頁</value>
</data>
<data name="Tabs_Close_UnpinFirst" xml:space="preserve">
<value>關閉前請先取消釘選此標籤頁。</value>
</data>
<data name="Tabs_Close_LastTab" xml:space="preserve">
<value>至少需要保留一個標籤頁。請先建立另一個。</value>
</data>
<data name="FailedTell_Notification_Generic" xml:space="preserve">
<value>悄悄話未能送達。</value>
</data>
@@ -1100,9 +1094,6 @@
<data name="Settings_Section_AutoTranslate" xml:space="preserve">
<value>自動翻譯</value>
</data>
<data name="Settings_Emotes_Block" xml:space="preserve">
<value>封鎖</value>
</data>
<data name="ChatLog_ScrollToBottom_Tooltip" xml:space="preserve">
<value>跳到最新訊息</value>
</data>
@@ -1199,6 +1190,15 @@
<data name="Settings_Channels_TellAutoOpenMode_Description" xml:space="preserve">
<value>悄悄話到達時在何處開啟。</value>
</data>
<data name="Settings_Channels_TellAutoOpen_MainWindow" xml:space="preserve">
<value>主視窗</value>
</data>
<data name="Settings_Channels_TellAutoOpen_Popout" xml:space="preserve">
<value>彈出視窗</value>
</data>
<data name="Settings_Channels_TellAutoOpen_BusyHint" xml:space="preserve">
<value>輸入時不會彈出視窗。分頁會在主視窗等待,以免鍵盤跳回遊戲。</value>
</data>
<data name="Settings_Channels_TellSwitchAlways_Name" xml:space="preserve">
<value>每則悄悄話都切換到分頁</value>
</data>
@@ -1223,6 +1223,12 @@
<data name="Settings_Window_PopoutTitleBar_Name" xml:space="preserve">
<value>顯示彈出視窗的標題列</value>
</data>
<data name="Settings_Window_StatusBar_Name" xml:space="preserve">
<value>顯示狀態列</value>
</data>
<data name="Settings_SuggestedBy" xml:space="preserve">
<value>由 {0} 建議</value>
</data>
<data name="Settings_Window_AllowMove_Name" xml:space="preserve">
<value>允許移動</value>
</data>
-269
View File
@@ -3696,150 +3696,6 @@ namespace HellionChat.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to - Expect multi-boxing to work with this (only first client works).
/// </summary>
internal static string Options_Webinterface_DoNot_Multibox {
get {
return ResourceManager.GetString("Options_Webinterface_DoNot_Multibox", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to - Forward the port used (9000).
/// </summary>
internal static string Options_Webinterface_DoNot_Port {
get {
return ResourceManager.GetString("Options_Webinterface_DoNot_Port", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to - Share your authentication code with anyone else.
/// </summary>
internal static string Options_Webinterface_DoNot_Share {
get {
return ResourceManager.GetString("Options_Webinterface_DoNot_Share", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Unable to resolve hostname..
/// </summary>
internal static string Options_Webinterface_Hostname_Fail {
get {
return ResourceManager.GetString("Options_Webinterface_Hostname_Fail", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Note: This will require at least a semi-modern browser in order to function correctly..
/// </summary>
internal static string Options_Webinterface_Note {
get {
return ResourceManager.GetString("Options_Webinterface_Note", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface.
/// </summary>
internal static string Options_Webinterface_Tab {
get {
return ResourceManager.GetString("Options_Webinterface_Tab", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Do Not:.
/// </summary>
internal static string Options_Webinterface_Warning_DoNot {
get {
return ResourceManager.GetString("Options_Webinterface_Warning_DoNot", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to After checking &apos;Enabled&apos; and clicking &apos;Start&apos; this will load up Chat2&apos;s built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself..
/// </summary>
internal static string Options_Webinterface_Warning_Header {
get {
return ResourceManager.GetString("Options_Webinterface_Warning_Header", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!.
/// </summary>
internal static string Options_Webinterface_Warning_Reason {
get {
return ResourceManager.GetString("Options_Webinterface_Warning_Reason", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to No support will be provided if any of the &apos;Do Not&apos; clauses aren&apos;t respected and adhered to appropriately..
/// </summary>
internal static string Options_Webinterface_Warning_Support {
get {
return ResourceManager.GetString("Options_Webinterface_Warning_Support", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface will start alongside the plugin automatically.
/// </summary>
internal static string Options_WebinterfaceAutoStart_Description {
get {
return ResourceManager.GetString("Options_WebinterfaceAutoStart_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Start automatically.
/// </summary>
internal static string Options_WebinterfaceAutoStart_Name {
get {
return ResourceManager.GetString("Options_WebinterfaceAutoStart_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Enables the webinterface that can be accessed with a browser..
/// </summary>
internal static string Options_WebinterfaceEnable_Description {
get {
return ResourceManager.GetString("Options_WebinterfaceEnable_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Enabled.
/// </summary>
internal static string Options_WebinterfaceEnable_Name {
get {
return ResourceManager.GetString("Options_WebinterfaceEnable_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Limits the amount of log lines to show in the webinterface. This will improve loading performance..
/// </summary>
internal static string Options_WebinterfaceMaxLinesToSend_Description {
get {
return ResourceManager.GetString("Options_WebinterfaceMaxLinesToSend_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Log line limit for the webinterface.
/// </summary>
internal static string Options_WebinterfaceMaxLinesToSend_Name {
get {
return ResourceManager.GetString("Options_WebinterfaceMaxLinesToSend_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Window opacity.
/// </summary>
@@ -4020,130 +3876,5 @@ namespace HellionChat.Resources {
}
}
/// <summary>
/// Looks up a localized string similar to Start.
/// </summary>
internal static string Webinterface_Button_Start {
get {
return ResourceManager.GetString("Webinterface_Button_Start", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Stop.
/// </summary>
internal static string Webinterface_Button_Stop {
get {
return ResourceManager.GetString("Webinterface_Button_Stop", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Control Panel:.
/// </summary>
internal static string Webinterface_Controls {
get {
return ResourceManager.GetString("Webinterface_Controls", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Active:.
/// </summary>
internal static string Webinterface_Controls_Active {
get {
return ResourceManager.GetString("Webinterface_Controls_Active", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to URL:.
/// </summary>
internal static string Webinterface_Controls_Url {
get {
return ResourceManager.GetString("Webinterface_Controls_Url", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Authcode:.
/// </summary>
internal static string Webinterface_CurrentPassword {
get {
return ResourceManager.GetString("Webinterface_CurrentPassword", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to The port this webinterface will be running on..
/// </summary>
internal static string Webinterface_Option_Port_Description {
get {
return ResourceManager.GetString("Webinterface_Option_Port_Description", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Port.
/// </summary>
internal static string Webinterface_Option_Port_Name {
get {
return ResourceManager.GetString("Webinterface_Option_Port_Name", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Reset your password and invalidate all session tokens..
/// </summary>
internal static string Webinterface_PasswordReset_Tooltip {
get {
return ResourceManager.GetString("Webinterface_PasswordReset_Tooltip", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface failed to start. Check /xllog for more information..
/// </summary>
internal static string Webinterface_Start_Failed {
get {
return ResourceManager.GetString("Webinterface_Start_Failed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface was started..
/// </summary>
internal static string Webinterface_Start_Success {
get {
return ResourceManager.GetString("Webinterface_Start_Success", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface failed to stop. Check /xllog for more information..
/// </summary>
internal static string Webinterface_Stop_Failed {
get {
return ResourceManager.GetString("Webinterface_Stop_Failed", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Webinterface was stopped..
/// </summary>
internal static string Webinterface_Stop_Success {
get {
return ResourceManager.GetString("Webinterface_Stop_Success", resourceCulture);
}
}
/// <summary>
/// Looks up a localized string similar to Usage Notice.
/// </summary>
internal static string Webinterface_UsageNotice {
get {
return ResourceManager.GetString("Webinterface_UsageNotice", resourceCulture);
}
}
}
}
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Miscel·lània</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Use Dalamud's default language</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>If this is enabled, the Auto Translate list will be sorted alphabetically.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>S'ha produït un error enviant aquest missatge privat</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Různé</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Použít výchozí jazyk Dalamud</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Pokud je zapnuto, seznam Auto Translate bude seřazen abecedně.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Zapnuto</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Zapne webinterface, ke kterému lze přistupovat přes prohlížeč.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Spustit automaticky</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface se spustí automaticky spolu s pluginem</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Přepsat styl</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Klávesová zkratka pro přepnutí záložky dozadu</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Přístupový kód:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Resetovat heslo a zneplatnit všechny tokeny relací.</value>
</data>
<data name="Webinterface_Controls">
<value>Ovládací panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktivní:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>nic nenastaveno</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Omezí počet řádků logu zobrazených v okně chatu. Může mírně zlepšit výkon.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Limit řádků logu pro webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Omezí počet řádků logu zobrazených ve webinterface. Zlepší výkon načítání.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Při načítání historie chatu došlo k chybě. Více informací pro nahlášení chyby najdeš v logu pluginu.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Zachová fokus vstupu, i když vstoupíš do boje nebo provedeš jinou akci.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Zobrazit emoty</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Nahrazuje slova jejich emote verzí, aktuálně podporuje BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Zablokované emoty</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Skrýt v boji</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Skryje chat, když je otevřeno menu New Game+. Zavřením menu se chat znovu zobrazí.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Statistiky emotů</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Připraveno</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Nepřipraveno</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Dostupné emoty:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Zobrazí náhled se speciálními parametry, jako jsou emoty a &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Při odesílání Tell zprávy došlo k chybě</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface byl zastaven.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface se nepodařilo zastavit. Více informací pod /xllog.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Zastavit</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Spustit</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface byl spuštěn.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface se nepodařilo spustit. Více informací pod /xllog.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Port, na kterém bude webinterface běžet.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Po zaškrtnutí 'Zapnuto' a kliknutí na 'Spustit' se načte vestavěné webové rozhraní Chat2, které umožní zařízením ve tvé síti přistupovat k hernímu chatu. Tuto funkci lze použít například k tomu, aby telefon nebo jiný počítač mohl sledovat aktivitu Chat2, přepínat kanály a odesílat zprávy, jako bys psal přímo ve FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Z důvodu bezpečnosti účtu není tato funkce určena k používání mimo tvou lokální síť. Byl jsi varován!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Nezapomeň:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Neforwarduj použitý port (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Nesdílej svůj autentizační kód s nikým jiným</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Neočekávej, že multi-boxing bude fungovat (funguje pouze první klient)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Podpora nebude poskytnuta, pokud nebudou dodržena pravidla ze sekce „Nezapomeň".</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Nelze přeložit název hostitele.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Poznámka: Pro správnou funkci je potřeba alespoň semi-moderní prohlížeč.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Upozornění k použití</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Toto zakáže výběr kanálu a zobrazí všechny zprávy přicházející od cíle.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diverse</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Brug Dalamud's standardsprog</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Hvis dette er aktiveret, sorteres Auto Translate-listen alfabetisk.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Aktiveret</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Aktiverer webinterfacet, der kan tilgås med en browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatisk</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterfacet starter automatisk sammen med pluginnet</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Tilsidesæt stil</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Genvejstast til forrige chatfane</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Adgangskode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Nulstil din adgangskode og ugyldiggør alle sessionstokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Kontrolpanel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktiv:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>ingen genvej sat</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Begrænser antallet af loglinjer der vises i chatvinduet. Dette kan forbedre ydeevnen en smule.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Loglinjebegrænsning for webinterfacet</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Begrænser antallet af loglinjer der vises i webinterfacet. Dette vil forbedre indlæsningsydeevnen.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Der opstod en fejl under indlæsning af chathistorik. Se venligst plugin-logs for mere information til at rapportere dette problem.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Beholder inputfokus, selvom du går i kamp eller udfører andre handlinger.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Vis emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Erstatter ord med deres emote-version, understøtter i øjeblikket BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blokerede emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Skjul under kamp</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Skjuler chatten mens New Game+-menuen er åben. Lukning af menuen viser chatten igen.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote-statistik</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Klar</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Ikke klar</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Tilgængelige emotes:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Viser en forhåndsvisning med særlige parametre evalueret, som emotes og &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Der opstod en fejl under afsendelse af denne Tell-besked</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterfacet blev stoppet.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterfacet kunne ikke stoppes. Tjek /xllog for mere information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterfacet blev startet.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterfacet kunne ikke startes. Tjek /xllog for mere information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Den port dette webinterface kører på.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Efter at have markeret 'Aktiveret' og klikket 'Start' indlæses Chat2's indbyggede webgrænseflade, som giver enheder på dit netværk adgang til spil-chatten. Denne funktion kan bruges til at lade en telefon eller en anden computer se Chat2-aktivitet, skifte kanaler og sende beskeder som om du tastede direkte i FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Af hensyn til kontosikkerheden er denne funktion ikke beregnet til brug uden for dit lokale netværk, du er advaret!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Gør ikke:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Videresend den anvendte port (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Del din godkendelseskode med nogen andre</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Forvent at multi-boxing virker med dette (kun første klient virker)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Der ydes ingen support, hvis nogen af 'Gør ikke'-punkterne ikke overholdes korrekt.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Kan ikke opløse værtsnavn.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Bemærk: Dette kræver mindst en semi-moderne browser for at fungere korrekt.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Brugsmeddelelse</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Dette deaktiverer kanalvalget og viser alle beskeder fra målet.</value>
</data>
-119
View File
@@ -493,9 +493,6 @@ Sie wurden gewarnt.</value>
<data name="Options_Miscellaneous_Tab">
<value>Sonstiges</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Dalamud's Standardsprache verwenden</value>
</data>
@@ -583,18 +580,6 @@ Sie wurden gewarnt.</value>
<data name="Options_SortAutoTranslate_Description">
<value>Wenn dies aktiviert ist, wird die Auto-Übersetzerliste alphabetisch sortiert.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Aktiviert</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Aktiviert das Webinterface, auf das mit einem Browser zugegriffen werden kann.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Automatisch starten</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Das Webinterface wird automatisch zusammen mit dem Plugin gestartet</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Stil überschreiben</value>
</data>
@@ -607,21 +592,6 @@ Sie wurden gewarnt.</value>
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Tastenbelegung zum Rückwärts wechseln des Chat-Tabs</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Setze dein Passwort zurück und mache alle Sitzungstoken ungültig.</value>
</data>
<data name="Webinterface_Controls">
<value>Einstellungen:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktiv:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>keins festgelegt</value>
</data>
@@ -1138,12 +1108,6 @@ Sie wurden gewarnt.</value>
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Begrenzt die Anzahl der Nachrichten, die im Chatfenster angezeigt werden sollen. Dies kann die Leistung leicht verbessern.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Beim Laden des Chat-Verlaufs ist ein Fehler aufgetreten. Weitere Informationen finden Sie unter /xllog, um dieses Problem zu melden.</value>
</data>
@@ -1189,21 +1153,6 @@ Sie wurden gewarnt.</value>
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Der Eingabefokus wird beibehalten, selbst wenn du einen Kampf betrittst oder eine andere Aktion ausführst.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Emotes anzeigen</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Ersetzt Wörter mit ihrer Emote-Version, unterstützt derzeit BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blockierte Emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Während des Kampfes ausblenden</value>
</data>
@@ -1216,18 +1165,6 @@ Sie wurden gewarnt.</value>
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Blendet den Chat aus, solange das New-Game+ Menü geöffnet ist. Schließen des Menüs blendet den Chat wieder ein.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote-Statistik</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Bereit</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Nicht bereit</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes verfügbar:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Zeigt eine Vorschau mit speziellen Parametern, wie Emotes und &lt;item&gt;.</value>
</data>
@@ -1378,62 +1315,6 @@ Sie wurden gewarnt.</value>
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Beim Senden dieser Nachricht ist ein Fehler aufgetreten</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface wurde gestoppt.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface konnte nicht gestoppt werden. Schau in /xllog nach weiteren Informationen.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface wurde gestartet.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface konnte nicht gestartet werden. Schau in /xllog nach weiteren Informationen.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Der Port, auf dem dieses Webinterface laufen wird.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>The informal translation for the provided text in German would be:
Nachdem du 'Aktiviert' angeklickt und auf 'Start' gedrückt hast, wird die eingebaute Web-Oberfläche von Chat2 geladen. Dadurch können Geräte in deinem Netzwerk auf den In-Game-Chat zugreifen. Diese Funktion kann verwendet werden, um einem Handy oder einem anderen Computer zu ermöglichen, Chat2-Aktivitäten zu sehen, Kanäle zu wechseln und Nachrichten zu senden, als ob du direkt in FFXIV tippst.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Aus Sicherheitsgründen ist diese Funktion nicht für die Nutzung außerhalb deines lokalen Netzwerks gedacht. Du wurdest gewarnt!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Folgendes ist dir untersagt:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Weiterleitung des benutzten Ports (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Dein Authentifizierungscode mit anderen zu teilen</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Zu erwarten, dass Multiboxing damit funktioniert (nur der erste Client funktioniert)."**</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Es wird keine Unterstützung bereitgestellt, wenn eine der Untersagungen nicht respektiert oder eingehalten wird.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Hostname kann nicht ermittelt werden.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Hinweis: Dies erfordert mindestens einen halbwegs modernen Browser, um richtig zu funktionieren.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Nutzungshinweis</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Διάφορα</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Χρήση προεπιλεγμένης γλώσσας Dalamud</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Αν είναι ενεργό, η λίστα Auto Translate θα ταξινομείται αλφαβητικά.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Ενεργοποιημένο</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Ενεργοποιεί το webinterface που είναι προσβάσιμο μέσω browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Αυτόματη εκκίνηση</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Το Webinterface θα ξεκινά αυτόματα μαζί με το plugin</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Παράκαμψη στυλ</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Συντόμευση εναλλαγής καρτέλας συνομιλίας προς τα πίσω</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Κωδικός πρόσβασης:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Επαναφορά κωδικού πρόσβασης και ακύρωση όλων των tokens συνεδρίας.</value>
</data>
<data name="Webinterface_Controls">
<value>Πίνακας ελέγχου:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Ενεργό:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>δεν έχει οριστεί</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Περιορίζει τον αριθμό γραμμών αρχείου καταγραφής που εμφανίζονται στο παράθυρο συνομιλίας. Αυτό μπορεί να βελτιώσει ελαφρώς την απόδοση.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Όριο γραμμών αρχείου καταγραφής για το webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Περιορίζει τον αριθμό γραμμών αρχείου καταγραφής στο webinterface. Αυτό θα βελτιώσει την απόδοση φόρτωσης.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Παρουσιάστηκε σφάλμα κατά τη φόρτωση του ιστορικού συνομιλίας. Δες τα αρχεία καταγραφής του plugin για περισσότερες πληροφορίες για αναφορά αυτού του προβλήματος.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Διατηρεί την εστίαση εισαγωγής, ακόμα και αν μπεις σε μάχη ή κάνεις άλλες ενέργειες.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Εμφάνιση emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Αντικαθιστά λέξεις με την έκδοση emote τους, υποστηρίζει αυτή τη στιγμή BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Αποκλεισμένα emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Απόκρυψη κατά τη μάχη</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Απόκρυψη της συνομιλίας ενώ το μενού New Game+ είναι ανοιχτό. Το κλείσιμο του μενού εμφανίζει ξανά τη συνομιλία.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Στατιστικά Emote</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Έτοιμο</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Μη έτοιμο</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Διαθέσιμα emotes:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Εμφανίζει προεπισκόπηση με αξιολόγηση ειδικών παραμέτρων, όπως emotes και &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Παρουσιάστηκε σφάλμα κατά την αποστολή αυτού του μηνύματος Tell</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Το Webinterface διακόπηκε.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Το Webinterface απέτυχε να διακοπεί. Έλεγξε το /xllog για περισσότερες πληροφορίες.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Διακοπή</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Εκκίνηση</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Το Webinterface εκκινήθηκε.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Το Webinterface απέτυχε να εκκινηθεί. Έλεγξε το /xllog για περισσότερες πληροφορίες.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Θύρα</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Η θύρα στην οποία θα εκτελείται αυτό το webinterface.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Αφού επιλέξεις 'Ενεργοποιημένο' και πατήσεις 'Εκκίνηση', θα φορτωθεί η ενσωματωμένη web διεπαφή του Chat 2, που θα επιτρέπει σε συσκευές στο δίκτυό σου να έχουν πρόσβαση στη συνομιλία του παιχνιδιού. Αυτή η λειτουργία μπορεί να χρησιμοποιηθεί για να επιτρέψει σε ένα τηλέφωνο ή άλλον υπολογιστή να βλέπει τη δραστηριότητα του Chat 2, να αλλάζει κανάλια και να στέλνει μηνύματα σαν να πληκτρολογείς στο FFXIV ο ίδιος.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Για λόγους ασφάλειας λογαριασμού, αυτή η λειτουργία δεν προορίζεται για χρήση εκτός του τοπικού σου δικτύου, έχεις προειδοποιηθεί!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Μην κάνεις:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Προώθηση της χρησιμοποιούμενης θύρας (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Κοινοποίηση του κωδικού ελέγχου ταυτότητας σε άλλους</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Περίμενε multi-boxing να λειτουργεί με αυτό (μόνο το πρώτο client λειτουργεί)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Δεν θα παρέχεται υποστήριξη αν κάποιος από τους κανόνες 'Μην κάνεις' δεν τηρείται κατάλληλα.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Αδυναμία επίλυσης ονόματος host.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Σημείωση: Αυτό απαιτεί τουλάχιστον ένα ημι-σύγχρονο browser για να λειτουργήσει σωστά.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Ειδοποίηση χρήσης</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Αυτό απενεργοποιεί την επιλογή καναλιού και εμφανίζει όλα τα μηνύματα που προέρχονται από τον στόχο.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Otros</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Interfaz Web</value>
</data>
<data name="LanguageOverride_None">
<value>Usar el idioma por defecto de Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Si esto está habilitado, la lista del Traductor Automático se ordenará alfabéticamente.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Habilitado</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Habilita la interfaz web a la que se puede acceder con un navegador.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Iniciar automáticamente</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>La interfaz web comenzará junto al plugin automáticamente</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Sobrescribir estilo</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Ciclo de la pestaña de chat hacia atrás</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Código de autor:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Restablecer su contraseña e invalidar todos los tokens de sesión.</value>
</data>
<data name="Webinterface_Controls">
<value>Panel de control:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Activo:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>ninguno establecido</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limita la cantidad de líneas de registro que se pueden mostrar en la ventana de chat. Esto puede mejorar ligeramente el rendimiento.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Límite de líneas de registro para la interfaz web</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limita la cantidad de líneas de registro a mostrar en la interfaz web. Esto mejorará el rendimiento de la carga.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Ha ocurrido un error al cargar el historial del chat. Por favor comprueba los registros del plugin para más informacion para reportar este problema.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Mantiene el foco de entrada, incluso si entras en combate o realizas otras acciones.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Mostrar emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Reemplaza las palabras por su versión de emote, actualmente soporta BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Gestos</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Emotes bloqueados</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Gesto</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Ocultar durante el combate</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Ocultar el chat durante combates.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Estadísticas de gestos</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Listo</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>No listo</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Gestos disponibles:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Muestra una vista previa con un parámetro especial evaluado, como emotes o &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Se produjo un error al enviar este mensaje privado</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Interfaz web detenida.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>La interfaz web no se ha detenido. Revisa /xllog para más información.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Detener</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Iniciar</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Interfaz web iniciada.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>La interfaz web no pudo iniciarse. Revisa /xllog para más información.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Puerto</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Puerto en el que se ejecutará esta interfaz web.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Después de marcar 'Activado' y hacer clic en 'Iniciar', se cargará la interfaz web integrada de Chat2, que permitirá a los dispositivos de tu red acceder al chat en el juego. Esta función se puede utilizar para permitir que un teléfono u otro equipo vea la actividad de Chat2, cambie de canal, y envíe mensajes como si estuvieras escribiendo en FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Por razones de seguridad de la cuenta, esta característica no está pensada para su uso fuera de su red local, ¡usted ha sido advertido!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>No:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>Redirijas el puerto usado (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>Compartas tu código con nadie más</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>Esperes que el multi-Boeing funcione con esto (solo el primer cliente funciona).</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No se proporcionará ningún soporte a las cláusulas de "NO" que no sean respetadas y adheridas apropiadamente.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Incapaz de resolver nombre del host.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Nota: Esto requerirá al menos un navegador semi moderno para funcionar correctamente</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Aviso de Uso</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Muut asetukset</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Käytä Dalamud'n oletuskieltä</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Jos tämä on käytössä, Auto Translate -lista lajitellaan aakkosjärjestykseen.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Käytössä</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Ottaa käyttöön webinterface-rajapinnan, johon pääsee selaimella.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Käynnistä automaattisesti</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface käynnistyy automaattisesti lisäosan mukana</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Ohita tyyli</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Näppäinkomento chat-välilehden siirtymiseen taaksepäin</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Tunnuskoodi:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Nollaa salasana ja mitätöi kaikki istuntotunnukset.</value>
</data>
<data name="Webinterface_Controls">
<value>Ohjauspaneeli:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktiivinen:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>ei asetettu</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Rajoittaa chat-ikkunassa näytettävien lokirivien määrää. Tämä saattaa parantaa suorituskykyä hieman.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Lokirivien raja webinterfacelle</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Rajoittaa webinterfacessa näytettävien lokirivien määrää. Tämä parantaa lataussuorituskykyä.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Chat-historian latauksen aikana tapahtui virhe. Katso lisätietoja lisäosan lokeista tämän ongelman ilmoittamista varten.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Pitää syöttöfokuksen, vaikka siirtyisit taisteluun tai tekisit muita toimintoja.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Näytä emootiot</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Korvaa sanat niiden emootioversioilla, tukee tällä hetkellä BetterTTV:tä.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emootiot</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Estetyt emootiot</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emootio</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Piilota taistelun aikana</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Piilottaa chatin New Game+ -valikon ollessa auki. Sulkeminen näyttää chatin uudelleen.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emootiotilastot</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Valmis</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Ei valmis</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emootioita saatavilla:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Näyttää esikatselun erikoisparametreilla arvioituna, kuten emootiot ja &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Tell-viestin lähetyksessä tapahtui virhe</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface pysäytettiin.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface-pysäytys epäonnistui. Tarkista /xllog lisätietoja varten.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Pysäytä</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Käynnistä</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface käynnistettiin.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface-käynnistys epäonnistui. Tarkista /xllog lisätietoja varten.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Portti</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Portti, jossa tämä webinterface toimii.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Kun otat 'Käytössä' käyttöön ja napsautat 'Käynnistä', tämä lataa Chat2:n sisäänrakennetun verkkoliittymän, joka sallii verkkosi laitteiden pääsyn pelin chattiin. Tätä ominaisuutta voidaan käyttää puhelimen tai toisen tietokoneen sallimiseksi nähdä Chat2-toiminta, vaihtaa kanavia ja lähettää viestejä kuin kirjoittaisit FFXIV:ssä itse.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Tiliturvasyistä tätä ominaisuutta ei ole tarkoitettu käytettäväksi paikallisverkon ulkopuolella, olet saaneet varoituksen!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Älä:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Lähetä käytettyä porttia eteenpäin (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Jaa tunnuskoodiasi kenenkään muun kanssa</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Odota multi-boxingin toimivan tämän kanssa (vain ensimmäinen asiakas toimii)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Tukea ei anneta, jos 'Älä'-kohtia ei noudateta asianmukaisesti.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Isäntänimen selvittäminen epäonnistui.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Huomio: Tämä vaatii vähintään puolimodernin selaimen toimiakseen oikein.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Käyttöilmoitus</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Tämä poistaa kanavavalinnan käytöstä ja näyttää kaikki kohteelta tulevat viestit.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Divers</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Interface web</value>
</data>
<data name="LanguageOverride_None">
<value>Utiliser la langue par défaut de Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Si cette option est activée, la liste de Traduction Automatique sera triée par ordre alphabétique.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Activé</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Activer l'interface web accessible depuis un navigateur.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Démarrer automatiquement</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>L'interface web démarrera automatiquement avec le plugin</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Remplacer le style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Raccourci clavier pour faire défiler l'onglet de discussion vers l'arrière</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Code d'authentification :</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Réinitialisez votre mot de passe et invalidez tous les jetons de session.</value>
</data>
<data name="Webinterface_Controls">
<value>Panneau de configuration :</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Actif :</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL :</value>
</data>
<data name="Keybind_None">
<value>aucune valeur définie</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limite le nombre de lignes à afficher dans la fenêtre de chat. Cela peut légèrement améliorer les performances.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Nombre de lignes maximum de l'interface web</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limite le nombre de lignes à afficher dans l'interface web. Cela améliore la performance des chargements.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Une erreur s'est produite lors du chargement de l'historique de la conversation. Veuillez consulter les logs du plugin pour plus d'informations pour signaler ce problème.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Maintient le focus de saisie, même si vous entrez au combat ou faites d'autres actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Afficher les emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Remplace les mots par leur version emote, prend actuellement en charge BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Émotes bloquées</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Cacher pendant le combat</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Cacher le chat pendant les combats.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Statistiques de l'emote</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Prêt</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Pas prêt</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes disponibles :</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Affiche un aperçu avec un paramètre spécial estimé, comme les emotes et &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Une erreur s'est produite pendant l'envoi du message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>L'interface web a été arrêtée.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>L'arrêt de l'interface Web a échoué. Consultez /xllog pour plus d'informations.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Arrêter</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Démarrer</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>L'interface Web a été démarrée.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Échec du démarrage de l'interface Web. Vérifiez /xllog pour plus d'informations.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Le port sur lequel s'exécutera cette interface web.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Après avoir coché 'Activé' et cliquez sur 'Démarrer', cela chargera l'interface web intégrée de Chat2, qui permettra aux périphériques de votre réseau d'accéder au chat en jeu. Cette fonctionnalité peut être utilisée pour permettre à un téléphone ou à un autre ordinateur de voir l'activité de Chat2, changer de canal, et envoyer des messages comme si vous écriviez dans FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Pour des raisons de sécurité du compte, cette fonctionnalité n'est pas destinée à être utilisée en dehors de votre réseau local, vous avez été averti !</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Ne pas faire :</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Rediriger le port utilisé (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Partager votre code d'authentification avec n'importe qui d'autre</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Vous attendre à ce que le multi-boxing fonctionne avec ça (seul le premier client fonctionne)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Aucune assistance ne sera fournie si l'une des clauses "Ne pas faire" n'est pas respectée et observée de manière appropriée.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Impossible de résoudre le nom d'hôte.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note : Cela nécessitera au moins un navigateur semi-moderne pour fonctionner correctement.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Notice d'utilisation</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Egyéb</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Dalamud alapértelmezett nyelvének használata</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Ha be van kapcsolva, az Auto Translate lista ábécé sorrendbe lesz rendezve.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Engedélyezve</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Engedélyezi a böngészőből elérhető webinterface-t.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Automatikus indítás</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>A Webinterface automatikusan elindul a pluginnel együtt</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Stílus felülbírálása</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Chat fül hátra léptető gyorsbillentyű</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Hitelesítési kód:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Jelszó visszaállítása és az összes munkamenet-token érvénytelenítése.</value>
</data>
<data name="Webinterface_Controls">
<value>Vezérlőpult:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktív:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>nincs beállítva</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Korlátozza a chatablakban megjelenő naplósorok számát. Ez kis mértékben javíthatja a teljesítményt.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Naplósor-korlát a webinterface-hez</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Korlátozza a webinterface-en megjelenő naplósorok számát. Ez javítja a betöltési teljesítményt.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Hiba történt a chat-előzmények betöltése közben. A hiba bejelentéséhez tekintsd meg a plugin-naplókat.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Megtartja a beviteli fókuszt, még harc közben vagy más műveletek végzésekor is.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Emote-ok megjelenítése</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Szavakat helyettesít az emote változatukkal, jelenleg a BetterTTV-t támogatja.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emote-ok</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blokkolt emote-ok</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Elrejtés harc közben</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>A chat elrejtése, amíg a New Game+ menü nyitva van. A menü bezárásakor a chat újra megjelenik.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote statisztikák</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Kész</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Nem kész</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Elérhető emote-ok:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Előnézetet jelenít meg kiértékelt speciális paraméterekkel, például emote-ok és &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Hiba történt a Tell üzenet küldése közben</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>A Webinterface leállt.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>A Webinterface leállítása sikertelen. További információért nézd meg a /xllog-ot.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Leállítás</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Indítás</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>A Webinterface elindult.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>A Webinterface indítása sikertelen. További információért nézd meg a /xllog-ot.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>A port, amelyen a Webinterface fut.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Az 'Engedélyezve' bejelölése és az 'Indítás' gombra kattintás után betöltődik a Chat2 beépített webes felülete, amely lehetővé teszi a hálózaton lévő eszközök számára a játékon belüli chat elérését. Ez a funkció például egy telefon vagy másik számítógép számára lehetővé teszi a Chat2 tevékenységének megtekintését, csatornák váltását és üzenetek küldését, mintha az FFXIV-ban gépelnél.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Fiókbiztonsági okokból ez a funkció nem a helyi hálózaton kívüli használatra készült. Figyelmeztetés megtörtént!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Ne tedd a következőket:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- A használt port továbbítása (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- A hitelesítési kód megosztása bárki mással</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Multi-boxing használatának elvárása ezzel (csak az első kliens működik)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Nem nyújtunk támogatást, ha a 'Ne tedd' pontok bármelyike nem kerül megfelelően betartásra.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>A hosztnév nem oldható fel.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Megjegyzés: A megfelelő működéshez legalább egy félig modern böngésző szükséges.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Használati megjegyzés</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Ez letiltja a csatorna-kiválasztást és megjeleníti az összes, a célponttól érkező üzenetet.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Miscellaneous</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Interfaccia web</value>
</data>
<data name="LanguageOverride_None">
<value>Utilizza la lingua predefinita di Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>If this is enabled, the Auto Translate list will be sorted alphabetically.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Abilita</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Nascondi in battaglia</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Nascondi la chat in battaglia.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Pronto</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Non pronto</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Si è verificato un errore durante l'invio del messaggio privato</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>L'interfaccia web è stata interrotta.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>L'interfaccia web non si è interrotta. Controlla /xllog per maggiori informazioni.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Interrompi</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Inizia</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>L'interfaccia web è stata avviata.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Avvio interfaccia web non riuscito. Controlla /xllog per maggiori informazioni.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Porta</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>La porta su cui verrà attivata questa interfaccia web.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Dopo aver selezionato 'Abilita' e aver cliccato su 'Inizia' questo caricherà l'interfaccia web integrata di Chat2, che permetterà ai dispositivi di rete di accedere alla chat in-game. Questa funzione può essere utilizzata per consentire a un telefono o a un altro computer di vedere l'attività di Chat2, cambiare canali e inviare messaggi come se si stesse digitando su FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Per motivi di sicurezza dell'account, questa funzione non è destinata ad essere utilizzata al di fuori della rete locale, sei stato avvisato!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Non Fare:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Inoltrare la porta utilizzata (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Condividere il tuo codice di autenticazione con altre persone</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Aspettarsi che il multi-boxing funzioni (funziona solo il primo client)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Non sarà fornito alcun supporto se una qualsiasi delle clausole 'Non Fare' non è rispettata in modo adeguato.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Impossibile risolvere il nome host.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Nota: Questo richiederà almeno un browser semi-moderno per funzionare correttamente.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Avviso Di Utilizzo</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>その他の設定</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webインターフェイス</value>
</data>
<data name="LanguageOverride_None">
<value>Dalamudのデフォルト言語を使用する</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>これが有効な場合、自動翻訳リストはアルファベット順にソートされます。</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>有効</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>ブラウザでアクセスできるWebインターフェースを有効にします。</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>自動で開始</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webインターフェイスは自動的にプラグインと一緒に起動します</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>スタイルを上書き</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>チャットタブの逆方向キーバインド</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>認証コード:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>パスワードをリセットし、すべてのセッショントークンを無効にします。</value>
</data>
<data name="Webinterface_Controls">
<value>コントロールパネル:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>有効:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>未設定</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>チャットウィンドウに表示するログ行数を制限します。これによりパフォーマンスが若干向上する可能性があります。</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Webインターフェースのログ行数制限</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Webインターフェースに表示するログの数を制限します。これにより読み込みのパフォーマンスが向上します。</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>チャット履歴の読み込み中にエラーが発生しました。この問題を報告するには、プラグインのログを参照してください。</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>戦闘に入ったり、他のアクションを行ったりしても、入力フォーカスを維持します。</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>エモートを表示</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>単語をエモートバージョンに置き換え、現在BetterTTVをサポートしています。</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>エモート</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>ブロックされたエモート</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>エモート</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>戦闘中は非表示</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>戦闘中はチャットを非表示にします。</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>準備完了</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>未準備</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>利用可能なエモート:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>emotes や &lt;item&gt; のように、特別なパラメータが評価されたプレビューを表示します。</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>このメッセージを送信中にエラーが発生しました</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webインターフェースが停止しました。</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webインターフェイスの停止に失敗しました。詳細は /xllog を確認してください。</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webインターフェースを開始しました。</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webインターフェースの起動に失敗しました。詳細は /xllog を確認してください。</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>ポート</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>このWebインターフェイスのポートは動作します。</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>「有効」にチェックを入れて「開始」をクリックすると、Chat2の内蔵Webインターフェースが読み込まれ、ネットワーク上のデバイスがゲーム内チャットにアクセスできるようになります。 この機能は、電話または別のコンピュータがチャット2アクティビティを表示できるようにするために使用できます。 FFXIV を入力しているかのようにチャネルを切り替え、メッセージを送信します。</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>アカウントのセキュリティ上の理由から、この機能はローカルネットワーク外での使用を意図したものではありません。注意してください!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- 使用するポートを転送 (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- あなたの認証コードを他の人と共有します</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- マルチボクシングがこれで動作することを期待します (最初のクライアントのみ)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>「Do Not」条項のいずれかが尊重されず、適切に遵守されていない場合は、サポートは提供されません。</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>ホスト名を解決できません</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>注意: 正しく機能するためには、少なくとも半最新のブラウザが必要です。</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>使用上の注意</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>기타</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>달라무드의 기본 언어를 사용</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>이 옵션이 활성화되면, 상용구 사전이 가나다 순서로 정렬됩니다.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>스타일 덮어쓰기</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>채팅창에 표시할 로그 줄 수의 양을 제한합니다. 성능을 약간 향상시킬 수 있습니다.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>채팅 기록을 불러오지 못했습니다. 자세한 정보는 플러그인 로그를 확인해주세요.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diverse</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webgrensesnitt</value>
</data>
<data name="LanguageOverride_None">
<value>Bruk Dalamud sitt standardspråk</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Når dette er aktivert, sorteres Auto Translate-listen alfabetisk.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Aktivert</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Aktiverer webgrensesnittet som kan åpnes i en nettleser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatisk</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webgrensesnittet starter automatisk sammen med plugin-en</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Overstyr stil</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Tastebinding for å bla bakover i faner</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Autentiseringskode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Tilbakestill passordet ditt og ugyldiggjør alle økt-token.</value>
</data>
<data name="Webinterface_Controls">
<value>Kontrollpanel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktiv:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>ingen satt</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Begrenser antall logglinjer som vises i chatvinduet. Dette kan forbedre ytelsen litt.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Logglinjebegrensning for webgrensesnittet</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Begrenser antall logglinjer som vises i webgrensesnittet. Dette forbedrer innlastingsytelsen.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>En feil oppstod ved innlasting av chatthistorikk. Se plugin-loggene for mer informasjon for å rapportere dette problemet.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Beholder inndatafokuset selv om du går inn i kamp eller gjør andre handlinger.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Vis emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Erstatter ord med tilsvarende emote-versjon. Støtter for øyeblikket BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blokkerte emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Skjul under kamp</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Skjuler chatten mens New Game+-menyen er åpen. Chatten vises igjen når menyen lukkes.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote-statistikk</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Klar</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Ikke klar</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Tilgjengelige emotes:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Viser en forhåndsvisning med spesielle parametere evaluert, som emotes og &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>En feil oppstod ved sending av denne Tell-meldingen</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webgrensesnittet ble stoppet.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Klarte ikke å stoppe webgrensesnittet. Sjekk /xllog for mer informasjon.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stopp</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webgrensesnittet ble startet.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Klarte ikke å starte webgrensesnittet. Sjekk /xllog for mer informasjon.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Porten dette webgrensesnittet kjører på.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Etter å ha krysset av for "Aktivert" og klikket "Start" vil Chat 2 sitt innebygde webgrensesnitt lastes inn. Dette gjør det mulig for enheter på nettverket ditt å se inn-spill-chatten. Funksjonen kan for eksempel brukes til å la en telefon eller en annen datamaskin se Chat 2-aktivitet, bytte kanaler og sende meldinger som om du selv satt og tastet i FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Av hensyn til kontosikkerheten er denne funksjonen ikke beregnet for bruk utenfor ditt lokale nettverk. Du er advart!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Ikke gjør dette:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Videresend porten som brukes (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Del autentiseringskoden din med noen andre</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Forvent at multi-boxing fungerer med dette (kun første klient fungerer)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Det gis ingen støtte hvis noen av punktene under "Ikke gjør dette" ikke overholdes.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Klarte ikke å løse opp vertsnavnet.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Merk: Dette krever en relativt moderne nettleser for å fungere riktig.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Bruksmerknader</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Dette deaktiverer kanalvalget og viser alle meldinger fra målet.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Overig</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Gebruik de standaard taal van Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Als dit is ingeschakeld, zal de Automatisch Vertalingen lijst alfabetisch worden gesorteerd.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Ingeschakeld</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Schakelt de webinterface in die toegankelijk is met een browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatisch</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface start automatisch naast de plugin</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Stijl overschrijven</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cyclus chat tab achterwaarts toetsbinding</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset je wachtwoord en maak alle sessietokens ongeldig.</value>
</data>
<data name="Webinterface_Controls">
<value>Bedieningspaneel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Actief:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>niet ingesteld</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limiteer het maximum aantal regels die worden getoont in het chatvester.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Regel limiet voor de webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Beperkt het aantal regels om weer te geven in de webinterface. Dit zal de laadprestaties verbeteren.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Er is een fout opgetreden tijdens het laden van de chatgeschiedenis. Bekijk de plugin logs voor meer informatie om dit probleem te rapporteren.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Houdt de invoerfocus vast, zelfs als je een gevecht aangaat of andere acties uitvoert.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Emotes tonen</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Vervangt woorden door hun emote-versie, ondersteunt momenteel BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Geblokkeerde emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Verbergen tijdens gevecht</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Verberg de chat tijdens gevechten.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote-statistieken</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Gereed</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Niet Gereed</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes beschikbaar:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Toont een voorvertoning met geëvalueerde speciale parameters, zoals emotes en &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Er is een fout opgetreden tijdens het verzenden van dit bericht</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was gestopt.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface kan niet stoppen. Controleer /xllog voor meer informatie.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Begin</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface werd gestart.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface is niet gestart. Controleer /xllog voor meer informatie.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Poort</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>De poort waarop deze webinterface zal draaien.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Nadat je 'Ingeschakeld' hebt aangevinkt en op 'Start' hebt geklikt, wordt de ingebouwde webinterface van Chat2 geladen, waarmee apparaten op je netwerk toegang krijgen tot in-game chat. Deze functie kan worden gebruikt om een telefoon of een andere computer Chat2-activiteit te laten zien, van kanaal te laten wisselen en berichten te laten versturen alsof je in FFXIV zelf aan het typen bent.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Om redenen van accountbeveiliging is deze functie niet bedoeld voor gebruik buiten je lokale netwerk, je bent gewaarschuwd!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Niet doen:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- De gebruikte poort doorsturen (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Je verificatiecode met iemand anders delen</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Verwacht dat multi-boxing hiermee werkt (alleen eerste client werkt)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Er wordt geen ondersteuning geboden als een van de 'Niet doen'-clausules niet wordt gerespecteerd en nageleefd.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Kan hostnaam niet oplossen.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Opmerking: Dit vereist ten minste een semi-moderne browser om correct te functioneren.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Gebruiksaanwijzing</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Różne</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Używaj domyślnego języka Dalamud</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Jeśli włączone, lista automatycznego tłumaczenia zostanie posortowana alfabetycznie.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Włączone</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Włącza webinterface dostępny z poziomu przeglądarki.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Uruchamiaj automatycznie</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface uruchomi się automatycznie razem z wtyczką</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Zastąp styl</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Skrót do przełączania zakładek czatu do tyłu</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Zresetuj hasło i unieważnij wszystkie tokeny sesji.</value>
</data>
<data name="Webinterface_Controls">
<value>Panel sterowania:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Aktywny:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>nie ustawiono</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Ogranicza liczbę linii logu wyświetlanych w oknie czatu. Może nieznacznie poprawić wydajność.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Limit linii logu dla webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Ogranicza liczbę linii logu wyświetlanych w webinterface. Poprawi wydajność ładowania.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Wystąpił błąd podczas ładowania historii czatu. Sprawdź logi wtyczki, żeby uzyskać więcej informacji do zgłoszenia problemu.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Utrzymuje fokus na polu wprowadzania, nawet jeśli wejdziesz w walkę lub wykonasz inne czynności.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Pokaż emoty</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Zastępuje słowa ich wersją emotów, obecnie obsługuje BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emoty</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Zablokowane emoty</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emot</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Ukryj podczas walki</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Ukrywa czat gdy menu New Game+ jest otwarte. Zamknięcie menu pokazuje czat z powrotem.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Statystyki emotów</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Gotowe</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Niegotowe</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Dostępne emoty:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Wyświetla podgląd z obliczonymi parametrami specjalnymi, jak emoty i &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Wystąpił błąd podczas wysyłania tej wiadomości Tell</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface został zatrzymany.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Nie udało się zatrzymać webinterface. Sprawdź /xllog, aby uzyskać więcej informacji.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Zatrzymaj</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Uruchom</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface został uruchomiony.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Nie udało się uruchomić webinterface. Sprawdź /xllog, aby uzyskać więcej informacji.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Port, na którym będzie działał webinterface.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Po zaznaczeniu opcji 'Włączone' i kliknięciu 'Uruchom' zostanie załadowany wbudowany interfejs webowy Chat 2, który umożliwi urządzeniom w twojej sieci dostęp do czatu w grze. Funkcja ta może być używana, żeby telefon lub inny komputer mógł widzieć aktywność Chat 2, przełączać kanały i wysyłać wiadomości tak jakbyś pisał w FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Ze względów bezpieczeństwa konta ta funkcja nie jest przeznaczona do użytku poza siecią lokalną. Zostałeś ostrzeżony!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Nie rób tego:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Nie przekierowuj używanego portu (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Nie udostępniaj nikomu swojego kodu uwierzytelniającego</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Nie oczekuj, że multi-boxing będzie działać (tylko pierwszy klient działa)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Nie będzie udzielana żadna pomoc, jeśli którykolwiek z punktów listy 'Nie rób tego' nie zostanie odpowiednio przestrzegany.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Nie można rozwiązać nazwy hosta.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Uwaga: Do prawidłowego działania wymagana jest co najmniej w miarę nowoczesna przeglądarka.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Informacja o użytkowaniu</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Wyłącza wybór kanału i pokazuje wszystkie wiadomości od celu.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diversos</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Usar idioma padrão do Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Se esta opção estiver habilitada, a lista de tradução automática será classificada em ordem alfabética.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Substituir estilo</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limita a quantidade de linhas de registro para mostrar na janela do bate-papo. Isso pode melhorar um pouco o desempenho.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Ocorreu um erro ao carregar o histórico do bate-papo. Por favor, consulte os registros do plugin para obter mais informações para reportar este problema.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Mantém o foco de entrada, mesmo que você entre em batalha ou faça outras ações.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Exibir gestos</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Substitui as palavras por sua versão de gesto, atualmente suporta BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Gesto</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Gestos bloqueados</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Gesto</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Esconder durante combate</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Esconder o bate-papo durante combate.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Status de Gestos</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Pronto</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Não está pronto</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Gestos disponíveis:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Exibe uma prévia com parâmetro especial avaliado, como gestos e &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diversos</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Usar o idioma predefinido do Dalamud</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Se esta opção estiver ativada, a lista de tradução automática será ordenada alfabeticamente.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Ativado</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Ativa a webinterface que pode ser acedida com um browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Iniciar automaticamente</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>A webinterface iniciará automaticamente a par do plugin.</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Substituir estilo</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Atalho para recuar no separador de chat</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Repõe a palavra-passe e invalida todos os tokens de sessão.</value>
</data>
<data name="Webinterface_Controls">
<value>Painel de controlo:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Ativo:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>nenhum definido</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limita o número de linhas do registo apresentadas na janela de chat. Pode melhorar ligeiramente o desempenho.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Limite de linhas do registo para a webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limita o número de linhas do registo apresentadas na webinterface. Melhora o desempenho do carregamento.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Ocorreu um erro ao carregar o histórico do chat. Consulta os registos do plugin para mais informações e para reportar o problema.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Mantém o foco no campo de entrada mesmo que entres em combate ou faças outras ações.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Mostrar emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Substitui palavras pela versão em emote correspondente. Suporta atualmente o BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Emotes bloqueados</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Ocultar durante o combate</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Oculta o chat enquanto o menu New Game+ está aberto. Ao fechar o menu, o chat volta a ser apresentado.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Estatísticas de emotes</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Pronto</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Não está pronto</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes disponíveis:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Apresenta uma pré-visualização com parâmetros especiais avaliados, como emotes e &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Ocorreu um erro ao enviar esta mensagem Tell</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>A webinterface foi parada.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>A webinterface falhou ao parar. Consulta /xllog para mais informações.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Parar</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Iniciar</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>A webinterface foi iniciada.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>A webinterface falhou ao iniciar. Consulta /xllog para mais informações.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Porta</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>A porta em que esta webinterface vai estar a correr.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Ao marcar 'Ativado' e clicar em 'Iniciar', será carregada a interface web integrada do Chat2, que permitirá que dispositivos na tua rede acedam ao chat do jogo. Esta funcionalidade pode ser usada para que um telemóvel ou outro computador veja a atividade do Chat2, mude de canal e envie mensagens como se estivesses a escrever no próprio FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Por razões de segurança da conta, esta funcionalidade não se destina a ser usada fora da tua rede local. Ficaste avisado!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Não faças:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Reencaminhar a porta usada (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Partilhar o teu código de autenticação com mais ninguém</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Esperar que o multi-boxing funcione com isto (só o primeiro cliente funciona)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Não será prestado suporte se alguma das cláusulas de 'Não faças' não for respeitada e cumprida adequadamente.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Não foi possível resolver o nome do anfitrião.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Nota: É necessário um browser minimamente moderno para que isto funcione corretamente.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Aviso de utilização</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Desativa a seleção de canal e mostra todas as mensagens provenientes do alvo.</value>
</data>
-117
View File
@@ -478,9 +478,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Miscellaneous</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Use Dalamud's default language</value>
</data>
@@ -568,18 +565,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>If this is enabled, the Auto Translate list will be sorted alphabetically.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -592,21 +577,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1123,12 +1093,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1174,21 +1138,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
@@ -1201,18 +1150,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Hide the chat while the New Game+ menu is open. Closing the menu shows the chat again.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1363,60 +1300,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diverse</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Folosește limba implicită a lui Dalamud</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Dacă această opțiune este activată, lista de traduceri automate va fi sortată alfabetic.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Прочее</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Использовать по умолчанию язык Dalamud 'а</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Сортировать список автоматических переводов по алфавиту.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Diverse</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>Använd Dalamuds standardspråk</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Om detta är aktiverat kommer listan för automatisk översättning sorteras alfabetiskt.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Override Style</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the chat window. This may slightly improve performance.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>An error occurred while loading chat history. Please see plugin logs for more information to report this issue.</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Keeps the input focus, even if you enter battle or do other actions.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Show emotes</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Replaces words with their emote version, currently supports BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emotes</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Blocked emotes</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Hide during battle</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>Hide the chat during battles.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote Stats</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Ready</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Not Ready</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Emotes available:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Displays a preview with special parameter evaluated, like emotes and &lt;item&gt;.</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Çeşitli</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Web arayüzü</value>
</data>
<data name="LanguageOverride_None">
<value>Dalamud'un varsayılan dilini kullan</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Etkinleştirilirse Otomatik Çeviri listesi alfabetik olarak sıralanır.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Etkin</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Bir tarayıcıyla erişilebilen web arayüzünü etkinleştirir.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Otomatik olarak başlat</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Web arayüzü, eklentiyle birlikte otomatik olarak başlar</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Stili geçersiz kıl</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Sohbet sekmesini geriye döngüle tuş ataması</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Kimlik doğrulama kodu:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Parolanızı sıfırlayın ve tüm oturum belirteçlerini geçersiz kılın.</value>
</data>
<data name="Webinterface_Controls">
<value>Kontrol Paneli:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Etkin:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>atanmamış</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Sohbet penceresinde gösterilecek günlük satırı sayısını sınırlar. Bu, performansı hafifçe artırabilir.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Web arayüzü için günlük satırı sınırı</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Web arayüzünde gösterilecek günlük satırı sayısını sınırlar. Bu, yükleme performansını artıracaktır.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Sohbet geçmişi yüklenirken bir hata oluştu. Bu sorunu bildirmek için daha fazla bilgi için eklenti günlüklerine bakın.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Savaşa girerken veya başka eylemler yaparken bile giriş odağını korur.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Emote'ları göster</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Kelimeleri emote sürümleriyle değiştirir, şu an BetterTTV desteklenmektedir.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Emote'lar</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Engellenen emote'lar</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Emote</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Savaş sırasında gizle</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>New Game+ menüsü açıkken sohbeti gizler. Menüyü kapatmak sohbeti tekrar gösterir.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Emote İstatistikleri</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Hazır</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Hazır Değil</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Kullanılabilir emote'lar:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Emote'lar ve &lt;item&gt; gibi özel parametrelerin değerlendirildiği bir önizleme gösterir.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Bu Tell mesajı gönderilirken bir hata oluştu</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Web arayüzü durduruldu.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Web arayüzü durdurulamadı. Daha fazla bilgi için /xllog adresini kontrol edin.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Durdur</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Başlat</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Web arayüzü başlatıldı.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Web arayüzü başlatılamadı. Daha fazla bilgi için /xllog adresini kontrol edin.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Bu web arayüzünün çalışacağı port.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>'Etkin' seçeneğini işaretleyip 'Başlat'a tıkladıktan sonra Chat 2'nin yerleşik web arayüzü yüklenecek ve ağınızdaki cihazların oyun içi sohbete erişmesine izin verecektir. Bu özellik, bir telefon veya başka bir bilgisayarın Chat 2 etkinliğini görmesine, kanal değiştirmesine ve FFXIV'de yazıyormuş gibi mesaj göndermesine olanak tanımak için kullanılabilir.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>Hesap güvenliği nedeniyle bu özellik yerel ağınız dışında kullanılmak üzere tasarlanmamıştır, uyarıldınız!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Yapılmaması Gerekenler:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Kullanılan portu (9000) yönlendirme</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Kimlik doğrulama kodunuzu başkalarıyla paylaşma</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Multi-box'ın çalışmasını bekleme (yalnızca ilk istemci çalışır)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>'Yapılmaması Gerekenler' maddelerinden herhangi biri uygulanmazsa destek sağlanmayacaktır.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Ana makine adı çözümlenemedi.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Not: Bunun düzgün çalışması için en azından yarı modern bir tarayıcı gereklidir.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Kullanım Bildirimi</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Bu, kanal seçimini devre dışı bırakır ve hedeften gelen tüm mesajları gösterir.</value>
</data>
-117
View File
@@ -494,9 +494,6 @@
<data name="Options_Miscellaneous_Tab">
<value>Різне</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Вебінтерфейс</value>
</data>
<data name="LanguageOverride_None">
<value>Використовувати мову Dalamud за замовчуванням</value>
</data>
@@ -584,18 +581,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>Якщо увімкнено, список автоперекладу буде відсортовано за алфавітом.</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Увімкнено</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Вмикає вебінтерфейс, доступний через браузер.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Запускати автоматично</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Вебінтерфейс запускатиметься разом із плагіном автоматично</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>Перевизначити стиль</value>
</data>
@@ -608,21 +593,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Клавіша перемикання вкладки чату назад</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Код доступу:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Скинути пароль та анулювати всі токени сесій.</value>
</data>
<data name="Webinterface_Controls">
<value>Панель керування:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Активно:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>не призначено</value>
</data>
@@ -1139,12 +1109,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>Обмежує кількість рядків журналу у вікні чату. Може трохи покращити продуктивність.</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Ліміт рядків для вебінтерфейсу</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Обмежує кількість рядків журналу у вебінтерфейсі. Покращує швидкість завантаження.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>Під час завантаження журналу чату сталася помилка. Перегляньте журнали плагіна для отримання додаткової інформації та повідомлення про проблему.</value>
</data>
@@ -1190,21 +1154,6 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>Зберігає фокус введення навіть під час бою чи інших дій.</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>Показувати емоти</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>Замінює слова їх версіями емотів. Наразі підтримує BetterTTV.</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>Емоти</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>Заблоковані емоти</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>Емот</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>Приховувати під час бою</value>
</data>
@@ -1217,18 +1166,6 @@
<data name="Options_HideInNewGamePlusMenu_Description" xml:space="preserve">
<value>Приховати чат, поки відкрито меню New Game+. Закриття меню знову показує чат.</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>Статистика емотів</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>Готово</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>Не готово</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>Доступно емотів:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>Показує попередній перегляд з обробленими спеціальними параметрами, як-от емоти та &lt;item&gt;.</value>
</data>
@@ -1379,60 +1316,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>Під час надсилання цього повідомлення Tell сталася помилка</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Вебінтерфейс зупинено.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Не вдалося зупинити вебінтерфейс. Перевірте /xllog для отримання додаткової інформації.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Зупинити</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Запустити</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Вебінтерфейс запущено.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Не вдалося запустити вебінтерфейс. Перевірте /xllog для отримання додаткової інформації.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Порт</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>Порт, на якому працюватиме вебінтерфейс.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>Після увімкнення та натискання «Запустити» буде завантажено вбудований вебінтерфейс Chat 2, який дозволить пристроям у вашій мережі отримати доступ до ігрового чату. Ця функція може використовуватися для перегляду активності Chat 2 з телефону чи іншого комп'ютера, перемикання каналів і надсилання повідомлень так, ніби Ви вводите їх безпосередньо у FFXIV.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>З міркувань безпеки облікового запису цю функцію не призначено для використання поза локальною мережею. Будьте уважні!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Не робіть:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Не пробрасовуйте порт (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Не діліться кодом автентифікації з іншими</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Не розраховуйте на роботу з кількома клієнтами (працює лише перший)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>Підтримка не надаватиметься, якщо вказані вимоги не дотримуються належним чином.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Не вдалося визначити ім'я хосту.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Примітка: для коректної роботи потрібен принаймні відносно сучасний браузер.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Умови використання</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>Це вимикає вибір каналу і показує всі повідомлення від цілі.</value>
</data>
-117
View File
@@ -472,9 +472,6 @@
<data name="Options_Miscellaneous_Tab">
<value>偏好</value>
</data>
<data name="Options_Webinterface_Tab">
<value>网页界面</value>
</data>
<data name="LanguageOverride_None">
<value>使用Dalamud的默认语言</value>
</data>
@@ -562,18 +559,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>如果启用此选项,定型文列表将按字母顺序排序。</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>启用</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>启用可通过浏览器访问的网络界面。</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>自动启动</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>网页界面将随插件一同启动</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>覆盖样式</value>
</data>
@@ -586,21 +571,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>倒序切换聊天标签页快捷键</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>验证码:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>重置密码并使所有会话令牌失效。</value>
</data>
<data name="Webinterface_Controls">
<value>控制面板:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>活动状态:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>未设置</value>
</data>
@@ -1117,12 +1087,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>限制在聊天窗口中显示的日志行数。这可能会稍微提高性能。</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>网页界面日志行数限制</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>限制在网页界面中显示的日志行数。可提高加载性能。</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>加载聊天记录时发生错误。请查看插件日志以获取更多信息以报告此问题。</value>
</data>
@@ -1168,39 +1132,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>保持输入焦点,即使你进入战斗或执行其他操作。</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>显示表情</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>用表情替换单词,目前支持 BetterTTV。</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>表情</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>已屏蔽的表情</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>表情</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>在战斗中隐藏</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>在战斗中隐藏聊天窗</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>表情状态</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>准备就绪</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>尚未准备好</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>可用表情: </value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>显示特殊参数预览,如表情和 &lt;item&gt;。</value>
</data>
@@ -1351,60 +1288,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>发送悄悄话时发生了错误</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>网页界面已停止。</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>网页界面停止失败。检查 /xllog 获取更多信息。</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>停止</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>启动</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>网页界面已启动。</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>网页界面启动失败。检查 /xllog 获取更多信息。</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>端口</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>网页界面将运行在此端口。</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>勾选 “启用” 并点击 “启动” 后,将加载 Chat2 的内置网络界面,并允许网络上的设备访问游戏内聊天。此功能可用手机或其他电脑看到 Chat2 的活动、切换频道和发送信息,就像在 最终幻想14 中打字一样。</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>出于账户安全考虑,此功能不适合在本地网络之外使用,你已收到警告!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>注意事项:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- 不要转发使用的端口 (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- 不要与任何人分享你的验证码</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- 不要尝试在多个客户端中同时使用 (仅第一个客户端工作)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>如果 “注意事项” 中的任何条款没有得到适当遵守,将不会提供任何支持。</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>无法解析主机名。</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>注意:需要至少是个半现代浏览器才能正常运行。</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>使用须知</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>禁用频道选择,显示目标的所有消息。</value>
</data>
-117
View File
@@ -473,9 +473,6 @@
<data name="Options_Miscellaneous_Tab">
<value>偏好</value>
</data>
<data name="Options_Webinterface_Tab">
<value>Webinterface</value>
</data>
<data name="LanguageOverride_None">
<value>使用Dalamud的預設語言</value>
</data>
@@ -563,18 +560,6 @@
<data name="Options_SortAutoTranslate_Description">
<value>如果啓用此選項,定型文列表將按字母順序排序。</value>
</data>
<data name="Options_WebinterfaceEnable_Name">
<value>Enabled</value>
</data>
<data name="Options_WebinterfaceEnable_Description">
<value>Enables the webinterface that can be accessed with a browser.</value>
</data>
<data name="Options_WebinterfaceAutoStart_Name">
<value>Start automatically</value>
</data>
<data name="Options_WebinterfaceAutoStart_Description">
<value>Webinterface will start alongside the plugin automatically</value>
</data>
<data name="Options_OverrideStyle_Name">
<value>覆蓋樣式</value>
</data>
@@ -587,21 +572,6 @@
<data name="Options_ChatTabBackwardKeybind_Name">
<value>Cycle chat tab backwards keybind</value>
</data>
<data name="Webinterface_CurrentPassword">
<value>Authcode:</value>
</data>
<data name="Webinterface_PasswordReset_Tooltip">
<value>Reset your password and invalidate all session tokens.</value>
</data>
<data name="Webinterface_Controls">
<value>Control Panel:</value>
</data>
<data name="Webinterface_Controls_Active">
<value>Active:</value>
</data>
<data name="Webinterface_Controls_Url">
<value>URL:</value>
</data>
<data name="Keybind_None">
<value>none set</value>
</data>
@@ -1118,12 +1088,6 @@
<data name="Options_MaxLinesToShow_Description" xml:space="preserve">
<value>限制在聊天窗口種現實的日誌行數,性能可能會因此略有提高。</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Name" xml:space="preserve">
<value>Log line limit for the webinterface</value>
</data>
<data name="Options_WebinterfaceMaxLinesToSend_Description" xml:space="preserve">
<value>Limits the amount of log lines to show in the webinterface. This will improve loading performance.</value>
</data>
<data name="LoadMessages_Error" xml:space="preserve">
<value>載入聊天日誌時發生錯誤,清查勘查間日誌已獲得更多新系已報告此問題。</value>
</data>
@@ -1169,39 +1133,12 @@
<data name="Options_KeepInputFocus_Description" xml:space="preserve">
<value>保持輸入焦點,即使進入戰鬥或執行其他操作。</value>
</data>
<data name="Options_ShowEmotes_Name" xml:space="preserve">
<value>顯示表情</value>
</data>
<data name="Options_ShowEmotes_Desc" xml:space="preserve">
<value>用表情替換單詞,目前支持 BetterTTV。</value>
</data>
<data name="Options_Emote_Tab" xml:space="preserve">
<value>表情</value>
</data>
<data name="Options_Emote_BlockedEmotes" xml:space="preserve">
<value>已屏蔽的表情</value>
</data>
<data name="Options_Emote_EmoteTable" xml:space="preserve">
<value>表情</value>
</data>
<data name="Options_HideInBattle_Name" xml:space="preserve">
<value>在戰鬥中隱藏</value>
</data>
<data name="Options_HideInBattle_Description" xml:space="preserve">
<value>在戰鬥中隱藏聊天窗。</value>
</data>
<data name="Options_Emote_EmoteStats" xml:space="preserve">
<value>表情狀態</value>
</data>
<data name="Options_Emote_Ready" xml:space="preserve">
<value>已就緒</value>
</data>
<data name="Options_Emote_NotReady" xml:space="preserve">
<value>尚未就緒</value>
</data>
<data name="Options_Emote_Loaded" xml:space="preserve">
<value>可用表情:</value>
</data>
<data name="Options_Preview_Description" xml:space="preserve">
<value>顯示特殊參數預覽,如表情或 &lt;item&gt;。</value>
</data>
@@ -1352,60 +1289,6 @@
<data name="Chat_SendTell_Error" xml:space="preserve">
<value>An error occured while sending this tell message</value>
</data>
<data name="Webinterface_Stop_Success" xml:space="preserve">
<value>Webinterface was stopped.</value>
</data>
<data name="Webinterface_Stop_Failed" xml:space="preserve">
<value>Webinterface failed to stop. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Button_Stop" xml:space="preserve">
<value>Stop</value>
</data>
<data name="Webinterface_Button_Start" xml:space="preserve">
<value>Start</value>
</data>
<data name="Webinterface_Start_Success" xml:space="preserve">
<value>Webinterface was started.</value>
</data>
<data name="Webinterface_Start_Failed" xml:space="preserve">
<value>Webinterface failed to start. Check /xllog for more information.</value>
</data>
<data name="Webinterface_Option_Port_Name" xml:space="preserve">
<value>Port</value>
</data>
<data name="Webinterface_Option_Port_Description" xml:space="preserve">
<value>The port this webinterface will be running on.</value>
</data>
<data name="Options_Webinterface_Warning_Header" xml:space="preserve">
<value>After checking 'Enabled' and clicking 'Start' this will load up Chat2's built-in web interface, which will allow devices on your network to access in-game chat. This feature may be used to allow a phone or another computer to see Chat2 activity, switch channels, and send messages as though you were typing in FFXIV itself.</value>
</data>
<data name="Options_Webinterface_Warning_Reason" xml:space="preserve">
<value>For reasons of account security, this feature is not intended for use outside of your local network, you have been warned!</value>
</data>
<data name="Options_Webinterface_Warning_DoNot" xml:space="preserve">
<value>Do Not:</value>
</data>
<data name="Options_Webinterface_DoNot_Port" xml:space="preserve">
<value>- Forward the port used (9000)</value>
</data>
<data name="Options_Webinterface_DoNot_Share" xml:space="preserve">
<value>- Share your authentication code with anyone else</value>
</data>
<data name="Options_Webinterface_DoNot_Multibox" xml:space="preserve">
<value>- Expect multi-boxing to work with this (only first client works)</value>
</data>
<data name="Options_Webinterface_Warning_Support" xml:space="preserve">
<value>No support will be provided if any of the 'Do Not' clauses aren't respected and adhered to appropriately.</value>
</data>
<data name="Options_Webinterface_Hostname_Fail" xml:space="preserve">
<value>Unable to resolve hostname.</value>
</data>
<data name="Options_Webinterface_Note" xml:space="preserve">
<value>Note: This will require at least a semi-modern browser in order to function correctly.</value>
</data>
<data name="Webinterface_UsageNotice" xml:space="preserve">
<value>Usage Notice</value>
</data>
<data name="Options_Help_SenderMessages" xml:space="preserve">
<value>This disables the channel selection and shows all messages coming from the target.</value>
</data>
@@ -14,13 +14,18 @@ internal sealed class ConfigMigrationV27Step : ISelfTestStep
_ = plugin;
}
public string Name => "Hellion Chat - Config v27 migration";
public string Name => "Hellion Chat - Config migration";
public SelfTestStepResult RunStep()
{
if (Plugin.Config.Version != 27)
// Against LatestVersion, not a literal: this read 27 and went red the
// moment the schema moved to 28, reporting a migration failure where the
// only thing that had happened was a new migration step being added.
if (Plugin.Config.Version != Configuration.LatestVersion)
{
ImGui.Text($"Config.Version is {Plugin.Config.Version}, expected 27");
ImGui.Text(
$"Config.Version is {Plugin.Config.Version}, expected {Configuration.LatestVersion}"
);
return SelfTestStepResult.Fail;
}
@@ -4,7 +4,7 @@ using Dalamud.Plugin.SelfTest;
namespace HellionChat.SelfTests;
// Optional metric capture. Accumulates 1000 steady-state frames of ImGui IO
// counters plus the plugin's full-Draw wall-time (Plugin.LastDrawMs, B5-1),
// counters plus the plugin's full-Draw wall-time (Plugin.LastDrawMs),
// then writes a single perf-baseline.json into the plugin ConfigDirectory so
// the cycle-notes author can copy the baseline figures without a separate
// profiling harness. The step only records — it never fails on a threshold
+14 -18
View File
@@ -4,11 +4,14 @@ using Microsoft.Extensions.Logging;
namespace HellionChat.Services;
// Routes an incoming tell to the configured TellAutoOpenMode (Off/Sidebar/
// TopTab/Popout). Deliberately decoupled from AutoTellTabsService:
// that service owns tab CREATION + lifecycle; this only REVEALS/pops the tab it
// finds. Popout guards on pool.IsOpen so it never double-pops a tab the
// AutoTellTabsOpenAsPopout path already opened. Subscribes to the resolved
// Routes an incoming tell to the configured TellAutoOpenMode (Off/main window/
// Popout). Deliberately decoupled from AutoTellTabsService: that service owns
// tab CREATION + lifecycle; this is the SINGLE place that decides where a tell
// becomes visible. Until v2.0.5 that service opened pop-outs too, off its own
// AutoTellTabsOpenAsPopout flag, and won every race by firing at tab creation --
// so this mode looked inert and the mid-sentence guard here could be walked
// past. Popout still guards on pool.IsOpen for the already-open case.
// Subscribes to the resolved
// MessageManager.MessageProcessed stream (a resolved Message), not the raw
// IChatGui event, and defers the reveal one tick so the tab exists regardless of
// subscriber order. Wired by TellRouterServiceInitHostedService.
@@ -84,24 +87,17 @@ internal sealed class TellRouterService : IDisposable
var reveal = TabLifecycleHelpers.PlanTellReveal(
mode,
Plugin.Config.TellAutoOpenSwitchAlways,
Plugin.Instance.ChannelPopoutPool.IsOpen(tab.Identifier)
Plugin.Instance.ChannelPopoutPool.IsOpen(tab.Identifier),
Util.ChatInputBusy.Any()
);
switch (reveal)
{
case TabLifecycleHelpers.TellReveal.MainWindow:
// The mode also picks the layout, so Sidebar vs TopTab are
// actually distinct outcomes, not the same ActivateTab.
var wantLayout =
mode == TellAutoOpenMode.TopTab
? MainWindowLayoutMode.TopTabs
: MainWindowLayoutMode.Sidebar;
if (Plugin.Config.MainWindowLayoutMode != wantLayout)
{
Plugin.Config.MainWindowLayoutMode = wantLayout;
Plugin.Instance.SaveConfig();
}
// Deliberately does NOT touch MainWindowLayoutMode. It used to
// force the layout to match this mode and SAVE it, so a single
// incoming tell permanently undid the tab placement the user
// had chosen under Window -> Layout (Flo, 23.08.2026).
Plugin.Instance.MainWindow?.ActivateTab(tab);
break;
+1 -1
View File
@@ -13,7 +13,7 @@ internal static class ThemeJsonLoader
// policy from the v2.x style refactor: v1 user themes are not migrated,
// they're silently ignored so the loader stays free of legacy mapping
// code. Any other malformed input still throws FormatException.
// B4b-2: callers must pass the logger or the default-fill warnings go silent.
// Callers must pass the logger or the default-fill warnings go silent.
public static Theme? LoadFromString(string json, ILogger? logger = null)
{
if (string.IsNullOrWhiteSpace(json))
@@ -88,17 +88,7 @@ internal sealed class ChunkRenderer
DrawChunk(chunks[i], wrap, handler, lineWidth);
if (i < chunks.Count - 1)
{
ImGui.SameLine();
}
else if (chunks[i].Link is EmotePayload && Plugin.Config.ShowEmotes)
{
// Emote payloads seem to not automatically put newlines, which
// is an issue when modern mode is disabled.
ImGui.SameLine();
// Use default ImGui behavior for newlines.
ImGui.TextUnformatted("");
}
}
}
@@ -118,31 +108,6 @@ internal sealed class ChunkRenderer
if (chunk is not TextChunk text)
return;
if (chunk.Link is EmotePayload emotePayload && Plugin.Config.ShowEmotes)
{
var emoteSize = ImGui.CalcTextSize("W");
emoteSize = emoteSize with { Y = emoteSize.X } * 1.5f;
// TextWrap doesn't work for emotes, so we have to wrap them manually
if (ImGui.GetContentRegionAvail().X < emoteSize.X)
ImGui.NewLine();
// We only draw a dummy if it is still loading, in the case it failed we draw the actual name
var image = EmoteCache.GetEmote(emotePayload.Code);
if (image is { Failed: false })
{
if (image.IsLoaded)
image.Draw(emoteSize);
else
ImGui.Dummy(emoteSize);
if (ImGui.IsItemHovered())
ImGuiUtil.Tooltip(emotePayload.Code);
return;
}
}
var colour = text.Foreground;
if (colour == null && text.FallbackColour != null)
{
+3
View File
@@ -901,7 +901,10 @@ internal sealed class InputBar
)
)
{
// Persisted flag -- write it here too, or turning it back off
// never reaches the config file.
Plugin.Config.ScreenshotMode = !Plugin.Config.ScreenshotMode;
Plugin.Instance.SaveConfig();
}
if (
+5
View File
@@ -158,6 +158,11 @@ internal sealed class MessageList
return;
}
// Claim the shared handler, so a popup opened here stays with this
// window instead of being cleared by whichever surface draws first.
if (_handler is not null)
_handler.ActiveSurface = this;
// No own ImRaii.Child here — MainWindow already wraps the message
// area in one. Nesting would give the window two stacked scrolls
// and a runaway content-height computation.
@@ -203,6 +203,10 @@ internal sealed class SettingsWidgets
// One setting, n choices. The control fills the whole control column rather
// than right-aligning, because segments need the room to stay readable.
// Breathing room left and right of a segment's label. Chosen against the
// control's own Inset/Chamfer so the chamfered corner never bites into text.
private const float SegmentLabelPadX = 12f;
internal void SegmentRow<T>(
uint id,
string label,
@@ -224,6 +228,29 @@ internal sealed class SettingsWidgets
var picked = selected;
var colors = _segmented;
// Measured, not the 200px default: the control splits its width evenly
// across the segments, so the longest label in the CURRENT language sets
// what fits. Three short English words fit the default; two long German
// ones did not, and came out as "op-Out-Fenste". Which language is the
// longest is not knowable up front -- 25 of them ship.
//
// Only a WISH: SettingRowSplit hands the label column its MinLabelWidth
// first, so an extreme translation cannot push the label off the row.
var widest = 0f;
foreach (var text in labels)
widest = MathF.Max(widest, ImGui.CalcTextSize(text).X);
// CalcTextSize is already scaled, PreferredControlWidth is scaled again
// downstream -- back to design pixels before handing it over.
var scale = StyleEngine.Metrics.Scale;
var style = new SettingRowStyle
{
PreferredControlWidth = MathF.Max(
200f,
(widest / scale + SegmentLabelPadX * 2f) * labels.Length
),
};
SettingRow.Draw(
id,
label,
@@ -233,7 +260,8 @@ internal sealed class SettingsWidgets
{
ImGui.SetCursorScreenPos(new Vector2(ctx.ControlOrigin.X, ctx.ControlOrigin.Y));
picked = SegmentedControl.Draw(id, ctx.ControlWidth, labels, selected, colors);
}
},
styleOverride: style
);
if (picked == selected)
@@ -1,6 +1,8 @@
using Dalamud.Bindings.ImGui;
using Dalamud.Interface.Utility.Raii;
using HellionChat.Resources;
using HellionChat.Ui.StyleEngine;
using HellionChat.Ui.StyleEngine.Widgets;
namespace HellionChat.Ui.Components.Settings.Tabs;
@@ -8,11 +10,31 @@ internal sealed class ChannelsTab
{
private readonly SettingsWidgets _w;
private readonly TabEditor _editor;
private readonly WidgetPalette _palette;
// Three offered values for a four-value enum. TopTab stays in the enum so no
// saved config needs migrating, but it no longer differs from Sidebar: the
// difference used to be that the router rewrote the window layout as a side
// effect, which is exactly what got removed. Both read back as Main window.
private static readonly TellAutoOpenMode[] TellOpenValues =
[
TellAutoOpenMode.Sidebar,
TellAutoOpenMode.Popout,
];
// Built per call, not cached: a runtime language switch has to reach these
// (same reason as WindowTab.LayoutLabels).
private static string[] TellOpenLabels =>
[
HellionStrings.Settings_Channels_TellAutoOpen_MainWindow,
HellionStrings.Settings_Channels_TellAutoOpen_Popout,
];
public ChannelsTab(Plugin plugin, TokenResolver resolver)
{
_w = new SettingsWidgets(plugin, new SettingsPalette(resolver));
_editor = new TabEditor(plugin);
_palette = new WidgetPalette(resolver);
}
public void Draw()
@@ -68,13 +90,6 @@ internal sealed class ChannelsTab
() => Plugin.Config.AutoTellTabsShowGreetedToggle,
v => Plugin.Config.AutoTellTabsShowGreetedToggle = v
);
_w.ToggleRow(
ImGui.GetID("channels.autotell.popout"u8),
HellionStrings.ChatLog_AutoTellTabs_OpenAsPopout_Name,
HellionStrings.ChatLog_AutoTellTabs_OpenAsPopout_Description,
() => Plugin.Config.AutoTellTabsOpenAsPopout,
v => Plugin.Config.AutoTellTabsOpenAsPopout = v
);
// Written for this screen and never shown until this cycle. It names
// the one setting in a third-party plugin that silently stops
@@ -91,14 +106,45 @@ internal sealed class ChannelsTab
)
)
{
_w.EnumComboRow(
_w.SegmentRow(
ImGui.GetID("channels.autoopen.mode"u8),
HellionStrings.Settings_Channels_TellAutoOpenMode_Name,
HellionStrings.Settings_Channels_TellAutoOpenMode_Description,
() => Plugin.Config.TellAutoOpenMode,
v => Plugin.Config.TellAutoOpenMode = v,
v => v.Name()
TellOpenValues,
TellOpenLabels,
// TopTab and Off are not in the offered set, and SegmentRow falls
// back to index 0 on an unknown value. The v28 migration converts
// both, so this only catches a config that skipped it.
() =>
Plugin.Config.TellAutoOpenMode == TellAutoOpenMode.Popout
? TellAutoOpenMode.Popout
: TellAutoOpenMode.Sidebar,
v => Plugin.Config.TellAutoOpenMode = v
);
// Only under Pop-out, because it is the only setting the guard can
// visibly contradict: you picked "own window" and sometimes get a tab
// instead. Said in the theme's danger colour rather than a raw red so
// it stays legible on every palette.
if (Plugin.Config.TellAutoOpenMode == TellAutoOpenMode.Popout)
{
ImGui.Spacing();
// Scoped block, not `using var`: that pops at the END OF THE
// METHOD, and every section drawn below this one would come out
// in the danger colour.
using (
ImRaii.PushColor(
ImGuiCol.Text,
_palette.Abgr(
Token.StatusDanger,
Plugin.Instance.ThemeRegistry.Active.Colors
)
)
)
{
ImGui.TextWrapped(HellionStrings.Settings_Channels_TellAutoOpen_BusyHint);
}
}
_w.ToggleRow(
ImGui.GetID("channels.autoopen.switch"u8),
HellionStrings.Settings_Channels_TellSwitchAlways_Name,
@@ -13,8 +13,6 @@ internal sealed class ChatTab
private readonly Plugin _plugin;
private readonly SettingsWidgets _w;
private string _blockedEmoteInput = string.Empty;
public ChatTab(Plugin plugin, TokenResolver resolver)
{
_plugin = plugin;
@@ -129,17 +127,6 @@ internal sealed class ChatTab
);
}
if (
_w.Section(
ImGui.GetID("chat.emotes"u8),
HellionStrings.Settings_Section_Emotes,
open: false
)
)
{
DrawEmotes();
}
if (
_w.Section(
ImGui.GetID("chat.autotranslate"u8),
@@ -157,66 +144,4 @@ internal sealed class ChatTab
);
}
}
// PRIVACY.md names the switch below as the way to stop the one outbound
// call the plugin makes, and it had no control at all since May. A
// documented opt-out that lives only in the JSON is not an opt-out.
private void DrawEmotes()
{
_w.ToggleRow(
ImGui.GetID("chat.emotes.show"u8),
Language.Options_ShowEmotes_Name,
Language.Options_ShowEmotes_Desc,
() => Plugin.Config.ShowEmotes,
v => Plugin.Config.ShowEmotes = v
);
if (!Plugin.Config.ShowEmotes)
return;
ImGui.Spacing();
ImGui.TextUnformatted(
EmoteCache.State == EmoteCache.LoadingState.Done
? $"{Language.Options_Emote_Loaded} {EmoteCache.SortedCodeArray.Length:N0} ({Language.Options_Emote_Ready})"
: $"{Language.Options_Emote_Loaded} {Language.Options_Emote_NotReady}"
);
ImGui.Spacing();
ImGui.TextUnformatted(Language.Options_Emote_BlockedEmotes);
// A blocked code stops that one emote from ever being drawn or
// downloaded, which is a finer instrument than switching emotes off
// wholesale. The list has been in the config since v1.0 with nowhere to
// edit it.
ImGui.SetNextItemWidth(220f * ImGuiHelpers.GlobalScale);
ImGui.InputText("##hc-blocked-emote", ref _blockedEmoteInput, 64);
ImGui.SameLine();
var candidate = _blockedEmoteInput.Trim();
using (ImRaii.Disabled(candidate.Length == 0))
{
if (ImGui.Button(HellionStrings.Settings_Emotes_Block))
{
lock (_plugin.ConfigMapsLock)
Plugin.Config.BlockedEmotes.Add(candidate);
_blockedEmoteInput = string.Empty;
_plugin.SaveConfig();
}
}
// Snapshot: the remove button mutates the set inside the loop.
foreach (var blocked in Plugin.Config.BlockedEmotes.OrderBy(e => e).ToList())
{
using var id = ImRaii.PushId(blocked);
if (ImGuiUtil.IconButton(FontAwesomeIcon.Trash, "##remove"))
{
lock (_plugin.ConfigMapsLock)
Plugin.Config.BlockedEmotes.Remove(blocked);
_plugin.SaveConfig();
}
ImGui.SameLine();
ImGui.TextUnformatted(blocked);
}
}
}
@@ -71,6 +71,15 @@ internal sealed class WindowTab
() => Plugin.Config.ShowPopOutTitleBar,
v => Plugin.Config.ShowPopOutTitleBar = v
);
// Tester credit on the row itself: the people who propose a feature
// should see their name where the feature lives, not in a changelog.
_w.ToggleRow(
ImGui.GetID("window.style.statusbar"u8),
HellionStrings.Settings_Window_StatusBar_Name,
string.Format(HellionStrings.Settings_SuggestedBy, "Ashy ^.^"),
() => Plugin.Config.ShowStatusBar,
v => Plugin.Config.ShowStatusBar = v
);
_w.ToggleRow(
ImGui.GetID("window.style.hidebutton"u8),
Language.Options_ShowHideButton_Name,
@@ -187,14 +196,14 @@ internal sealed class WindowTab
_w.ToggleRow(
ImGui.GetID("window.hide.uihidden"u8),
Language.Options_HideWhenUiHidden_Name,
Language.Options_HideWhenUiHidden_Description,
string.Format(Language.Options_HideWhenUiHidden_Description, Plugin.PluginName),
() => Plugin.Config.HideWhenUiHidden,
v => Plugin.Config.HideWhenUiHidden = v
);
_w.ToggleRow(
ImGui.GetID("window.hide.loading"u8),
Language.Options_HideInLoadingScreens_Name,
Language.Options_HideInLoadingScreens_Description,
string.Format(Language.Options_HideInLoadingScreens_Description, Plugin.PluginName),
() => Plugin.Config.HideInLoadingScreens,
v => Plugin.Config.HideInLoadingScreens = v
);
@@ -212,7 +221,7 @@ internal sealed class WindowTab
_w.ToggleRow(
ImGui.GetID("window.hide.cutscenes"u8),
Language.Options_HideDuringCutscenes_Name,
Language.Options_HideDuringCutscenes_Description,
string.Format(Language.Options_HideDuringCutscenes_Description, Plugin.PluginName),
() => Plugin.Config.HideDuringCutscenes,
v => Plugin.Config.HideDuringCutscenes = v
);
@@ -226,7 +235,7 @@ internal sealed class WindowTab
_w.ToggleRow(
ImGui.GetID("window.hide.notloggedin"u8),
Language.Options_HideWhenNotLoggedIn_Name,
Language.Options_HideWhenNotLoggedIn_Description,
string.Format(Language.Options_HideWhenNotLoggedIn_Description, Plugin.PluginName),
() => Plugin.Config.HideWhenNotLoggedIn,
v => Plugin.Config.HideWhenNotLoggedIn = v
);
@@ -243,7 +252,7 @@ internal sealed class WindowTab
_w.ToggleRow(
ImGui.GetID("window.tooltips.native"u8),
Language.Options_NativeItemTooltips_Name,
Language.Options_NativeItemTooltips_Description,
string.Format(Language.Options_NativeItemTooltips_Description, Plugin.PluginName),
() => Plugin.Config.NativeItemTooltips,
v => Plugin.Config.NativeItemTooltips = v
);
+13 -2
View File
@@ -190,7 +190,17 @@ internal sealed class Sidebar
unpinnedHeaderRendered = true;
}
DrawRow(tab, expanded, accentRgba, textAbgr, mutedAbgr, dimAbgr, dl, ref activeTab);
DrawRow(
tab,
tabs,
expanded,
accentRgba,
textAbgr,
mutedAbgr,
dimAbgr,
dl,
ref activeTab
);
}
}
@@ -215,6 +225,7 @@ internal sealed class Sidebar
private void DrawRow(
Tab tab,
IReadOnlyList<Tab> tabs,
bool expanded,
uint accentRgba,
uint textAbgr,
@@ -454,7 +465,7 @@ internal sealed class Sidebar
LastRenderedUnreadDotCount++;
}
TabContextMenu.Draw(tab, "ctx", _pool);
TabContextMenu.Draw(tab, "ctx", _pool, tabs);
if (hasPopOut)
{
+77 -6
View File
@@ -24,7 +24,12 @@ internal static class TabContextMenu
// popup; the open trigger is a right-click on the LAST submitted item
// (g.LastItemData via IsItemHovered) — any interactive item in between
// would steal the trigger. Only DrawList ops may sit between.
public static void Draw(Tab tab, string popupId, Windows.ChannelPopoutPool pool)
public static void Draw(
Tab tab,
string popupId,
Windows.ChannelPopoutPool pool,
IReadOnlyList<Tab> tabs
)
{
if (!ImGui.BeginPopupContextItem(popupId))
{
@@ -54,13 +59,13 @@ internal static class TabContextMenu
)
)
{
DrawBody(tab, pool);
DrawBody(tab, pool, tabs);
}
ImGui.EndPopup();
}
private static void DrawBody(Tab tab, Windows.ChannelPopoutPool pool)
private static void DrawBody(Tab tab, Windows.ChannelPopoutPool pool, IReadOnlyList<Tab> tabs)
{
// Rename: focus the field the first frame the popup appears.
if (ImGui.IsWindowAppearing())
@@ -95,10 +100,14 @@ internal static class TabContextMenu
if (tab.EnableNotificationSound)
DrawSoundPicker(tab);
if (ImGui.MenuItem("Pop Out"))
if (ImGui.MenuItem(Language.ChatLog_Tabs_PopOut))
pool.TryOpen(tab);
// One separator for the whole lifecycle block below, so a normal tab
// (no pin controls) still gets the rule above its close entry.
ImGui.Separator();
DrawPinControls(tab);
DrawCloseControl(tab, tabs, pool);
}
// Pinning has been complete since v1.4.7 -- pools, cap, persistence, logout
@@ -123,8 +132,6 @@ internal static class TabContextMenu
if (service is null)
return;
ImGui.Separator();
if (tab.IsPinned)
{
if (ImGui.MenuItem(HellionStrings.PinTab_MenuUnpin))
@@ -156,6 +163,70 @@ internal static class TabContextMenu
);
}
// Closing a tab was lost in the v2.0.0 window rebuild: the trash entry lived
// in ChatLogWindow's menu, which cf4705e retired, and the rebuilt menu only
// restored rename, sound, pop-out and pinning.
//
// For tell tabs that left no way out at all. TabLifecycleHelpers.IsEditable
// keeps temp tabs out of the settings editor on purpose and says the context
// menu is where their gestures live -- so the editor was pointing at a menu
// that could not close them either.
//
// Blocked states stay visible and disabled rather than absent: both are
// states the user can undo, and the tooltip is what says how.
private static void DrawCloseControl(
Tab tab,
IReadOnlyList<Tab> tabs,
Windows.ChannelPopoutPool pool
)
{
var closeability = TabLifecycleHelpers.GetCloseability(tab, tabs);
var allowed = closeability == TabLifecycleHelpers.TabCloseability.Allowed;
// A tell tab is closed, a layout tab is deleted. Same gesture, different
// promise: the conversation goes on without its tab, the layout entry does not.
var label = tab.IsTempTab
? HellionStrings.Tabs_Close_MenuItem
: Language.ChatLog_Tabs_Delete;
if (ImGui.MenuItem(label, enabled: allowed) && allowed)
{
CloseTab(tab, pool);
ImGui.CloseCurrentPopup();
return;
}
if (allowed || !ImGui.IsItemHovered(ImGuiHoveredFlags.AllowWhenDisabled))
return;
ImGuiUtil.Tooltip(
closeability == TabLifecycleHelpers.TabCloseability.BlockedByPin
? HellionStrings.Tabs_Close_UnpinFirst
: HellionStrings.Tabs_Close_LastTab
);
}
// Removal order mirrors TabEditor.Delete, which already does this from a draw
// frame: drop the tab, release the pool slot bound to its identifier, then
// re-anchor the main window if this was the active tab. Safe here because the
// strip iterates a frame snapshot, not the live list, and TryClose only
// releases a fixed slot instead of mutating a window collection.
private static void CloseTab(Tab tab, Windows.ChannelPopoutPool pool)
{
// Draw will never run for this tab again, so a pending rename can no
// longer flush -- and leaving the guard armed would make the NEXT tab's
// Draw see a stale owner. Drop it before the tab goes.
if (_renamingTab == tab.Identifier)
ClearPendingRename();
lock (Plugin.Instance.TabsListLock)
Plugin.Config.Tabs.RemoveAll(t => t.Identifier == tab.Identifier);
pool.TryClose(tab.Identifier);
Plugin.Instance.MainWindow?.ResetActiveTabIfRemoved(tab);
Plugin.Instance.SaveConfig();
}
// The flush depends on Draw running once more for this tab. If it never does —
// LRU eviction, logout, window closed or collapsed, plugin unload, game exit —
// the name only lives in memory until some other SaveConfig happens to run.
+2 -2
View File
@@ -52,7 +52,7 @@ internal sealed class TopTabBar
for (var i = 0; i < tabs.Count; i++)
{
var tab = tabs[i];
// POP-1b: a popped-out tab is owned by its pop-out window, not the main
// A popped-out tab is owned by its pop-out window, not the main
// strip (1.5.6 exclusivity). Gate on the pool, not Tab.PopOut (stale flag).
if (_pool.IsOpen(tab.Identifier))
continue;
@@ -138,7 +138,7 @@ internal sealed class TopTabBar
TabBadge
);
TabContextMenu.Draw(tab, $"toptab_ctx_{tab.Identifier}", _pool);
TabContextMenu.Draw(tab, $"toptab_ctx_{tab.Identifier}", _pool, tabs);
}
LineDivider.Draw(null, borderAbgr, mutedAbgr);
+1
View File
@@ -175,6 +175,7 @@ internal sealed class InputPreview : Window
_handlerLender.ResetCounter();
var handler = _handlerLender.Borrow();
handler.ActiveSurface = this;
_chunkRenderer.DrawChunks(
_previewMessage!.Content,
wrap: true,
+6 -3
View File
@@ -64,9 +64,12 @@ internal static class Metrics
if (frame == _cachedFrame)
return _cachedScale;
// Safe variant: GlobalScale throws while the interface manager is
// still coming up, and Metrics reaches more call sites than it did.
_cachedScale = ImGuiHelpers.GlobalScaleSafe;
// GlobalScale is what the retired GlobalScaleSafe alias forwarded to;
// it falls back to the Dalamud config scale when ImGui is not up yet.
// That does not make this property pre-init safe on its own -- the
// GetFrameCount above would fault first -- but every Metrics caller
// sits under Ui/ and only runs while drawing.
_cachedScale = ImGuiHelpers.GlobalScale;
_cachedFrame = frame;
return _cachedScale;
}
@@ -106,6 +106,9 @@ internal sealed class ChannelPopoutWindow : Window, IFocusableChatWindow
// the keybind tail checks when deciding whether to route at this surface.
public bool HasFocusedInput => _input.IsFocused;
// See IFocusableChatWindow.IsInputBusy.
public bool IsInputBusy => _input.IsFocused || _input.PendingLength > 0;
// Arm-and-hold the one-frame Activate flag; the pop-out's Draw applies the
// ImGui focus next frame. Framework-thread safe (field write only).
public void RequestInputFocus()
@@ -155,7 +158,7 @@ internal sealed class ChannelPopoutWindow : Window, IFocusableChatWindow
if (Bound is null)
return;
// POP-1f: the bound tab is live-visible in this pop-out, so it carries no
// The bound tab is live-visible in this pop-out, so it carries no
// unread badge — mirror MainWindow's per-frame zero for the active tab.
// View-state reset only (tab.Messages store is untouched).
Bound.Unread = 0;
@@ -10,5 +10,12 @@ internal interface IFocusableChatWindow
{
bool HasFocusedInput { get; }
// "The user is mid-sentence here." Focus alone is not enough: a typed line
// survives a click elsewhere, and stealing the tab out from under it is how
// half a message ends up addressed to whoever just said hello -- the input
// buffer belongs to the WINDOW, but the send target comes from whichever tab
// is active at Enter.
bool IsInputBusy { get; }
void RequestInputFocus();
}
+50 -14
View File
@@ -149,9 +149,19 @@ internal sealed class MainWindow : Window, IFocusableChatWindow
// Framework thread, not the draw frame: needs the current truth, so it takes
// its own lock instead of using the frame snapshot.
//
// Through PickMainActiveTab rather than Tabs[0]: Tabs[0] may be popped out,
// and anchoring on it ran OnTabActivated over a tab that is live in its own
// window -- stripping the tell binding of a conversation the user is in the
// middle of. The next frame's PickMainActiveTab then re-anchored anyway, so
// the strip bought nothing. Passing null asks for the first VISIBLE tab.
Tab? next;
lock (Plugin.Instance.TabsListLock)
next = Plugin.Config.Tabs.Count > 0 ? Plugin.Config.Tabs[0] : null;
next = TabLifecycleHelpers.PickMainActiveTab(
null,
Plugin.Config.Tabs,
t => _pool.IsOpen(t.Identifier)
);
_activeTab = next;
if (next is not null)
TabLifecycleHelpers.OnTabActivated(next, removed);
@@ -243,6 +253,9 @@ internal sealed class MainWindow : Window, IFocusableChatWindow
// input focus before routing a channel-set/REPLY/prefill at it.
public bool HasFocusedInput => _input.IsFocused;
// See IFocusableChatWindow.IsInputBusy.
public bool IsInputBusy => _input.IsFocused || _input.PendingLength > 0;
// Arm-and-hold: field writes only, safe from the framework thread; the draw
// path applies the actual ImGui focus next frame (same path as ActivateChat).
public void RequestInputFocus()
@@ -290,29 +303,49 @@ internal sealed class MainWindow : Window, IFocusableChatWindow
lock (Plugin.Instance.TabsListLock)
tabs = Plugin.Config.Tabs.ToList();
// First-frame seed: the active tab defaults to the first persisted
// tab so the message list isn't empty on a clean session.
// First-frame seed: the active tab defaults to the first VISIBLE tab so
// the message list isn't empty on a clean session.
//
// Through PickMainActiveTab, not tabs[0]. With every tab popped out this
// seeded tabs[0] and the re-anchor below immediately set it back to null,
// every single frame -- 60 pointless OnTabActivated runs a second, each
// one stripping tell state off a tab that is live in its own window. Null
// here means "nothing to show", which is the state the re-anchor settles
// on anyway, so the oscillation just stops.
if (_activeTab is null && tabs.Count > 0)
{
var seeded = tabs[0];
_activeTab = seeded;
// The seeded Tabs[0] is the likeliest legacy stale-tell carrier
// (pre-coupling the detour wrote here); strip it like any activation.
TabLifecycleHelpers.OnTabActivated(seeded, null);
var seeded = TabLifecycleHelpers.PickMainActiveTab(
null,
tabs,
t => _pool.IsOpen(t.Identifier)
);
if (seeded is not null)
{
_activeTab = seeded;
// The seeded tab is the likeliest legacy stale-tell carrier
// (pre-coupling the detour wrote here); strip it like any activation.
TabLifecycleHelpers.OnTabActivated(seeded, null);
}
}
else if (_activeTab is { } active && !tabs.Contains(active))
{
// Active tab is no longer in the list (e.g. a wholesale config import
// the service repair paths never see). Re-seed on the Draw thread.
var reseed = tabs.Count > 0 ? tabs[0] : null;
// the service repair paths never see). Re-seed on the Draw thread --
// same visible-tab rule as the seed above, so this cannot hand the
// window a popped-out tab and strip its tell state on the way.
var reseed = TabLifecycleHelpers.PickMainActiveTab(
null,
tabs,
t => _pool.IsOpen(t.Identifier)
);
_activeTab = reseed;
if (reseed is not null)
TabLifecycleHelpers.OnTabActivated(reseed, active);
}
// POP-1c: a popped-out tab must not stay the main window's active surface
// A popped-out tab must not stay the main window's active surface
// (1.5.6 exclusivity). Re-anchor to the first non-popped tab the moment the
// active one is popped; null when every tab is popped (POP-1d guards Draw).
// active one is popped; null when every tab is popped, which Draw guards for.
// Runs post-seed, before the sidebar/top-tab draw, so the popped tab never
// renders. Idempotent: PickMainActiveTab returns the same reference once
// settled, so OnTabActivated fires only on the pop frame.
@@ -335,7 +368,9 @@ internal sealed class MainWindow : Window, IFocusableChatWindow
if (_activeTab is { } seenTab)
seenTab.Unread = 0;
var statusHeight = Components.StatusBar.Height;
// A child height of 0 means "fill the remaining space" in ImGui, so hiding
// the bar lets the body take the whole window without a second code path.
var statusHeight = Plugin.Config.ShowStatusBar ? Components.StatusBar.Height : 0f;
using (var body = ImRaii.Child("##hellion-body", new Vector2(-1f, -statusHeight)))
{
@@ -343,7 +378,8 @@ internal sealed class MainWindow : Window, IFocusableChatWindow
DrawBody(tabs);
}
_status.Draw(_activeTab, tabs);
if (Plugin.Config.ShowStatusBar)
_status.Draw(_activeTab, tabs);
}
private void DrawBody(IReadOnlyList<Tab> tabs)
+25
View File
@@ -0,0 +1,25 @@
namespace HellionChat.Util;
// "The user is mid-sentence somewhere." Asked before a tell is revealed, in any
// mode. Its own file because the answer has to be identical everywhere it is
// asked: this started as a guard inside the reveal plan, and a SECOND pop-out
// path walked straight past it -- the window opened anyway, took the keyboard
// with it, and in this game the next typed sentence walks the character around.
// The paths are one now, but a shared answer is what keeps it that way.
internal static class ChatInputBusy
{
// Reads two fields the draw path wrote; no ImGui call, so it is safe from the
// framework thread. Call it THERE, not from the message worker: the worker
// runs ahead of the frame and would sample a stale answer.
internal static bool Any()
{
if (Plugin.Instance.MainWindow is { IsInputBusy: true })
return true;
foreach (var window in Plugin.Instance.ChannelPopoutPool.Instances)
if (window is { IsOpen: true, IsInputBusy: true })
return true;
return false;
}
}
+15
View File
@@ -66,8 +66,23 @@ internal static class ColourUtil
);
}
// ---------------------------------------------------------------
// Cherry-picked from ChatTwo upstream a51789b + 5b58513 (Infiziert90,
// 2026-06-12). Both guards belong together -- a51789b alone turns a zero
// colour into opaque black, which then slips past the invisible-text
// guard in ChunkUtil and paints over the inherited colour.
// TEST-MIRROR: ../../../Hellion Build test/Util/ColourUtilTests.cs
// ---------------------------------------------------------------
public static unsafe uint ArgbToRgba(uint x)
{
if (x == 0)
return 0;
// The game omits the alpha byte on some GlobalValue colours, and the
// swap below would leave alpha at 0 -- invisible text.
if (x <= 0x00FFFFFFu)
x |= 0xFF000000u;
var buf = (byte*)&x;
(buf[1], buf[2], buf[3], buf[0]) = (buf[0], buf[1], buf[2], buf[3]);
return x;
+1 -1
View File
@@ -3,7 +3,7 @@ using System;
namespace HellionChat.Util;
// Plugin.LogProxy bridge for consumers that cannot take a logger via the
// constructor: static helpers (EmoteCache et al.), Dalamud-reflected types
// constructor: static helpers, Dalamud-reflected types
// (Configuration), data classes with mass instantiation (Message) and
// instance classes that only log from static methods (FontManager).
internal interface IPluginLogProxy
+8
View File
@@ -68,6 +68,14 @@ internal class UriPayload(Uri uri) : Payload
protected override byte[] EncodeImpl() => throw new NotImplementedException();
}
// Kept for reading, not for writing. BetterTTV emotes came out of the plugin in
// 2.0.2, but messages stored before that carry this payload in the database and
// have to stay readable -- MessageStore writes the type byte for it, so removing
// the type would make those rows fail to deserialise. Nothing produces one any
// more; a stored emote now renders as its own code, which is the text the user
// typed in the first place.
//
// The 0x53 below and PayloadMessagePackType.Emote must never be reassigned.
internal class EmotePayload : Payload
{
public override PayloadType Type => (PayloadType)0x53;
+12
View File
@@ -0,0 +1,12 @@
namespace HellionChat.Util;
// Chat surfaces share one payload handler and all render it in the same frame.
// A popup belongs to the surface that opened it; the others must leave its
// state alone instead of reading "no popup here" as "popup was closed".
internal static class PopupOwnership
{
// Reference identity on purpose -- two surfaces can compare equal without
// being the same window.
internal static bool Owns(object? owner, object? surface) =>
owner is not null && ReferenceEquals(owner, surface);
}
+78 -16
View File
@@ -68,6 +68,51 @@ internal static class TabLifecycleHelpers
return editable > 1;
}
// Why a tab may or may not be closed from the tab strip's context menu.
// The menu needs the REASON, not just a bool: a blocked close stays visible
// and disabled with the matching tooltip, because both blocks are states the
// user can undo (unpin the tab / create a second one).
internal enum TabCloseability
{
Allowed,
// Temp tab is pinned. Pinning is the "keep this" gesture, so closing
// takes the deliberate two-step (Flo, 2026-08-22) rather than undoing
// it silently on one misclick.
BlockedByPin,
// Last editable tab. Same reason CanDelete guards the editor: the window
// would be left with nothing to draw and the message list has no empty
// state.
BlockedLastTab,
}
// Closing a tab from the context menu, for both tab kinds.
//
// Temp tabs are deliberately NOT routed through CanDelete: IsEditable
// excludes them, so CanDelete would answer "no" for every tell tab and the
// conversation would have no way out at all. That was the actual v2.0.0
// regression -- the editor sends temp tabs to the context menu, and the
// context menu had no close.
//
// Pure + Dalamud-free.
// TEST-MIRROR: ../../../Hellion Build test/_Helpers/TabCloseabilityTests.cs
internal static TabCloseability GetCloseability(Tab tab, IReadOnlyList<Tab> tabs)
{
if (tab.IsTempTab)
return tab.IsPinned ? TabCloseability.BlockedByPin : TabCloseability.Allowed;
// Counted over the whole list rather than via an index: the caller draws
// from a frame snapshot in render order, so a positional index would not
// survive the sectioning.
var editable = 0;
foreach (var t in tabs)
if (IsEditable(t))
editable++;
return editable > 1 ? TabCloseability.Allowed : TabCloseability.BlockedLastTab;
}
public static bool ShouldStripOnLoad(Tab t) => IsInUnpinnedPool(t);
public static bool ShouldStripOnSave(Tab t) => IsInUnpinnedPool(t);
@@ -165,7 +210,7 @@ internal static class TabLifecycleHelpers
// Sectioned sidebar render order (1.5.6 parity): persistent → pinned TempTabs →
// unpinned TempTabs. Returns indices into the live tab list so the list order is
// never mutated and DrawRow keeps each tab's ORIGINAL index for PushID. POP-1a:
// never mutated and DrawRow keeps each tab's ORIGINAL index for PushID.
// isPoppedOut excludes tabs bound to a pop-out window — an excluded tab draws no
// row and its pool's section header gates on the first tab actually reached. Pure
// + Dalamud-free so the Build-Suite can pin it.
@@ -215,11 +260,12 @@ internal static class TabLifecycleHelpers
return persistent;
}
// POP-1c: returns the tab the main window should display — the current tab if it
// Returns the tab the main window should display — the current tab if it
// is not popped out, else the FIRST non-popped tab in list order, else null when
// every tab is popped. NOTE: deliberately NOT ResetActiveTabIfRemoved's
// unconditional Tabs[0] — Tabs[0] may itself be popped and would re-trigger the
// re-anchor every frame. Pure + Dalamud-free.
// every tab is popped. Skipping popped tabs is the whole point: an unconditional
// Tabs[0] would re-trigger the re-anchor every frame when Tabs[0] is itself
// popped. ResetActiveTabIfRemoved passes null to reach the same rule from its
// own entry point. Pure + Dalamud-free.
// TEST-MIRROR: ../../../Hellion Build test/_Helpers/PickMainActiveTabTests.cs
internal static Tab? PickMainActiveTab(
Tab? current,
@@ -243,7 +289,17 @@ internal static class TabLifecycleHelpers
Popout,
}
// POP-1f: the alreadyPopped case is the whole reason this is a function.
// Two reasons this is a function, and inputBusy is the second one.
//
// A tell arriving while the user is mid-sentence used to yank the active tab
// away (tester report, Carla, 23.08.2026). The interruption is the visible
// half; the sharp half is that InputBar's buffer belongs to the WINDOW while
// the send target is read off whatever tab is active at Enter -- so a line
// typed at one person could leave addressed to the one who just wrote. When
// an input is busy, nothing is revealed at all: the tab still appears and
// still carries its unread mark, the user just walks over on their own.
//
// The alreadyPopped case is the older reason.
//
// Revealing a popped-out tab in the main window looks like it does nothing,
// and then does something worse: PickMainActiveTab re-anchors on the next
@@ -259,21 +315,27 @@ internal static class TabLifecycleHelpers
internal static TellReveal PlanTellReveal(
TellAutoOpenMode mode,
bool switchAlways,
bool alreadyPopped
bool alreadyPopped,
bool inputBusy
) =>
mode switch
{
TellAutoOpenMode.Off => TellReveal.None,
TellAutoOpenMode.Popout => alreadyPopped ? TellReveal.None : TellReveal.Popout,
_ => switchAlways && !alreadyPopped ? TellReveal.MainWindow : TellReveal.None,
};
inputBusy
? TellReveal.None
: mode switch
{
TellAutoOpenMode.Off => TellReveal.None,
TellAutoOpenMode.Popout => alreadyPopped ? TellReveal.None : TellReveal.Popout,
// Sidebar and TopTab both land here: they used to pick the window
// LAYOUT as a side effect, which overwrote a setting the user made
// somewhere else entirely. Reveal is reveal; layout is the user's.
_ => switchAlways && !alreadyPopped ? TellReveal.MainWindow : TellReveal.None,
};
// POP-1e: popout-aware sibling of WrapTabIndex for the ChatTabForward/Backward
// Popout-aware sibling of WrapTabIndex for the ChatTabForward/Backward
// keybind. Steps from current by delta's sign (±1), wrapping, and returns the
// first index whose tab is NOT popped out within tabs.Count steps; returns current
// when every other tab is popped (no-op), the list is empty, or a single tab.
// Skipping popped tabs here is what stops the POP-1c re-anchor from making the
// cycle stick (CYCLE-1). Pure + Dalamud-free.
// Skipping popped tabs here is what stops the PickMainActiveTab re-anchor
// from making the cycle stick. Pure + Dalamud-free.
// TEST-MIRROR: ../../../Hellion Build test/_Helpers/NextMainTabIndexTests.cs
internal static int NextMainTabIndex(
int current,
Binary file not shown.

Before

Width:  |  Height:  |  Size: 68 KiB

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 138 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 42 KiB

After

Width:  |  Height:  |  Size: 262 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 45 KiB

+9 -9
View File
@@ -16,12 +16,12 @@
},
"MessagePack": {
"type": "Direct",
"requested": "[3.1.4, 4.0.0)",
"resolved": "3.1.4",
"contentHash": "BH0wlHWmVoZpbAPyyt2Awbq30C+ZsS3eHSkYdnyUAbqVJ22fAJDzn2xTieBeoT5QlcBzp61vHcv878YJGfi3mg==",
"requested": "[3.1.7, 4.0.0)",
"resolved": "3.1.7",
"contentHash": "gXpifaxbhfBqh8bVToQn9j+OgCnhXWMbRCV7RQIbCVa9CNJG1fY6oHAYYl+ER3Tb9uUIHiQ5QbGiGwwFhoagbA==",
"dependencies": {
"MessagePack.Annotations": "3.1.4",
"MessagePackAnalyzer": "3.1.4",
"MessagePack.Annotations": "3.1.7",
"MessagePackAnalyzer": "3.1.7",
"Microsoft.NET.StringTools": "17.11.4"
}
},
@@ -131,13 +131,13 @@
},
"MessagePack.Annotations": {
"type": "Transitive",
"resolved": "3.1.4",
"contentHash": "aVWrDAkCdqxwQsz/q0ldPh2EFn48M99YUzE9OvZjMq2RNLKz4o2z88iGFvSvbMqOWRweRvKPHBJZe22PRqzslQ=="
"resolved": "3.1.7",
"contentHash": "IW1yX9viarFl/Dsio5G+pM90JkOSW4xhAiJcKxPPF5rzyp2/yCpieWju8G99QLEmaQeze2uQMEskUBA59YZmkw=="
},
"MessagePackAnalyzer": {
"type": "Transitive",
"resolved": "3.1.4",
"contentHash": "CTaSsN/liJ7MhLCAB7Z4ZLBNuVGCq9lt2BT/cbrc9vzGv89yK3CqIA+z9T19a11eQYl9etZHL6MQJgCqECRVpg=="
"resolved": "3.1.7",
"contentHash": "ZF+OOJTRS7Ogzb4gG36hPKVQk3kEbp6kkUcdRjhddDq/uSGcV4BKIdYiyJipExXyE/zsqYb0ic215O9kI+fjPA=="
},
"Microsoft.Data.Sqlite.Core": {
"type": "Transitive",

Some files were not shown because too many files have changed in this diff Show More