Other components
Component | Translated | Untranslated | Untranslated words | Untranslated characters | Checks | Suggestions | Comments | |
---|---|---|---|---|---|---|---|---|
Embed Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: FFZ:AP Core Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: Inline Tab-Completion Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Client Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: Pronouns Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: 7tv Emotes Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: Fullscreen Chat Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: BetterTTV Emotes Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
||||||||
Addon: Deck Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 1 | ||
|
||||||||
Glossary FrankerFaceZ Apache-2.0 | 0 | 0 | 0 | 0 | 0 | 0 | ||
|
Overview
Project website | www.frankerfacez.com |
---|---|
Instructions for translators | Welcome! Want to help translate FrankerFaceZ into your language? You've come to the right place. First off, make sure you've joined our Discord so you can take part in conversations. We are using this self-hosted Weblate to manage our translation project. You'll need an account here to contribute. To help maintain quality, we appoint a reviewer for each supported language. Reviewers are responsible for reviewing all translated strings and approving them before they're made available to clients. If you have questions about how a given term or phrase should be translated into your language, the matter should be decided by the reviewer. In all cases, to minimize user confusion terms and phrases should be translated in a similar way to how Twitch's own translations have been handled. FormattingThe client now contains a Translation Tester that can be used to test translations in real-time, directly on Twitch. To access it, open the FFZ Control Center, and navigate to Debugging > Localization then click Open Translation Tester. FrankerFaceZ uses a format called ICU MessageFormat that makes it easy for translators to set up plural strings and other special formatting in their languages. Want to play around with the syntax? Try messages out in the Translation Tester, or try it with this online editor: http://format-message.github.io/icu-message-format-for-translators/editor.html |
Translation process |
|
Translation license | Apache License 2.0 |
Source code repository |
[email protected]:FrankerFaceZ/I18n.git
|
Repository branch | main |
Last remote commit |
Translated using Weblate (Portuguese (Brazil))
755948b
fxllpe authored a year ago |
Last commit in Weblate |
Translated using Weblate (Portuguese (Portugal))
4146526
FenixGamer authored 12 days ago |
Weblate repository |
https://weblate.frankerfacez.com/git/frankerfacez/client/
|
Filemask | strings/settings/*.po |
Monolingual base language file | strings/settings/en-US.po |
Translation file |
Download
strings/settings/zh_Hant.po
|
Last change | April 8, 2024, 11:12 a.m. |
Last author | Jao Yun Jui |
String statistics
Strings percent | Hosted strings | Words percent | Hosted words | Characters percent | Hosted characters | |
---|---|---|---|---|---|---|
Total | 1,158 | 7,597 | 47,927 | |||
Translated | 86% | 1,005 | 92% | 7,047 | 92% | 44,147 |
Needs editing | 1% | 10 | 1% | 10 | 1% | 317 |
Failing checks | 1% | 10 | 1% | 10 | 1% | 317 |
Strings with suggestions | 0% | 0 | 0% | 0 | 0% | 0 |
Not translated strings | 12% | 143 | 7% | 540 | 7% | 3,463 |
Quick numbers
Trends of last 30 days
janumeke
Translation changed |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
New translation |
|
janumeke
Translation changed |
|
janumeke
New translation |
|
1,158 | File in original format as translated in the repository | gettext PO file (monolingual) | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
1,158 | All strings, converted files enriched with comments; suitable for offline translation | Android String Resource | CSV | JSON | gettext PO | iOS strings | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |
153 | Strings needing action, converted files enriched with comments; suitable for offline translation | Android String Resource | CSV | JSON | gettext PO | iOS strings | TBX | TMX | XLIFF 1.1 with gettext extensions | XLIFF 1.1 | XLSX |
FrankerFaceZ converts your highlight and block terms into regular
expressions.
### Types
#### 1. Text
Text has no special behavior. Any characters with special meaning in regular
expressions are escaped.
#### 2. Glob
[Globs](https://en.wikipedia.org/wiki/Glob_(programming)) provide simple, easy
to write pattern matching with wildcard characters. For example, the glob
`cir*` would match all words starting with the letters `cir`, including just
`cir` by itself. The `*` is a wildcard matching any number of characters.
| Wildcard | Description | Example | Matches | Does Not Match |
| :------: | :---------- | :-----: | :-----: | :------------: |
| `*` | Matches any number of non-space characters, including none. | `cir*` | `cir`, `circle`, `cirFairy`, `circumstance` | `ci`, `sir`, `pizza` |
| `**` | Matches any number of any characters, including none. Unlike a single `*`, this will match space characters. | `hello**!` | `hello!`, `hello, streamer!` |
| `?` | Matches any single character. | `?at` | `cat`, `hat`, `pat` | `at`
| `[abc]` | Matches one character from within the brackets. | `[cp]at` | `cat`, `pat` | `hat`, `at`
| `[a-z]` | Matches one character from the range within the brackets. | `Kappa[0-9]` | `Kappa1`, `Kappa2`, ... `Kappa0` | `Kappa`, `KappaHD`
| `[!abc]` | Matches one character that is *not* within the brackets. | `[!cp]at` | `bat`, `rat`, `hat` | `at`, `cat`, `pat`
| `[!a-z]` | Matches one character that is *not* within the range within the brackets. | `Kappa[!0-9]` | `Kappa?`, `KappaF` | `Kappa`, `Kappa0`, `Kappa4`
| `'{'abc,d?f'}'` | Matches one of the possibilities from a comma-separated list. | `cir'{'no,Fairy'}'` | `cirno`, `cirFairy` | `cir`, `circle`
#### 3. Regex
[Regular Expressions](https://en.wikipedia.org/wiki/Regular_expression) are complex
pattern strings used in programming. They are meant for advanced users.
FrankerFaceZ uses your browser's built-in engine for handling regular expressions,
with all the limitations that come with it. Regex terms are packaged into the
generated regular expressions the same as both other modes. You should not and can
not use capture groups.
FrankerFaceZ uses rudimentary logic to ensure your regular expression is not
catastrophically slow, but you should still be careful to avoid slow expressions
as they are run frequently.
### Modes
#### Case Sensitive
This attempts to match your term in a case-sensitive manner. Effectively, this
option disables the `/i` flag on the generated regular expression. Due to
limitations in your browser's regex engine, case insensitivity may not work on
some characters.
#### Match Whole Word
This requires that your term is an entire word. For example, the term `test`
without "Match Whole Word" could just as easily match `testing` or `tested`
as it matches `test`. With "Match Whole Word" enabled, it will **only** match
`test`.
This is done by wrapping the generated regular expression in extra pattern
matchers for non-word characters, such as spaces and punctuation.
#### Highlight Matches
When this is enabled, and the matching setting in [Chat > Filtering > General](~)
is enabled, any matched terms will be highlighted in chat so you can see what
exactly matched your term.
Any matches will not be displayed as emotes, links, etc.
This is a bit slower than not highlighting the match, so you may wish to only use
this when testing and then disable it when you know your term works how you wish.
FrankerFaceZ 轉換你的醒目標示與封鎖字詞為
正規表達式。
### 類型
#### 1. 文字
文字沒有特殊行為。跳脫正規表達式中有特殊含義
的任何字元。
#### 2. Glob
[Globs](https://en.wikipedia.org/wiki/Glob_(programming))
提供簡單、容易撰寫的以萬用字元的模式匹配。例如,glob 的 `cir*`
會匹配到所有以 `cir` 字母開頭的字,包含就只有 `cir`。 `*` 是匹配
任意個數字元的萬用字元。
| 萬用字元 | 描述 | 範例 | 匹配 | 不匹配 |
| :-----: | :--- | :--: | :--: | :---: |
| `*` | 匹配任意個數的非空白字元,包含無。 | `cir*` | `cir`, `circle`, `cirFairy`, `circumstance` | `ci`, `sir`, `pizza` |
| `**` | 匹配任意個數的任何字元,包含無。不像單一的 `*`,這會匹配空白字元。 | `hello**!` | `hello!`, `hello, streamer!` |
| `?` | 匹配一個任何字元。 | `?at` | `cat`, `hat`, `pat` | `at` |
| `[abc]` | 匹配括弧內的一個字元。 | `[cp]at` | `cat`, `pat` | `hat`, `at` |
| `[a-z]` | 匹配括弧內範圍中的一個字元。 | `Kappa[0-9]` | `Kappa1`, `Kappa2`, ... `Kappa0` | `Kappa`, `KappaHD` |
| `[!abc]` | 匹配*不在*括弧內的一個字元。 | `[!cp]at` | `bat`, `rat`, `hat` | `at`, `cat`, `pat` |
| `[!a-z]` | 匹配*不在*括弧內範圍中的一個字元。 | `Kappa[!0-9]` | `Kappa?`, `KappaF` | `Kappa`, `Kappa0`, `Kappa4` |
| `'{'abc,d?f'}'` | 匹配逗號分隔列表中的可能之一。 | `cir'{'no,Fairy'}'` | `cirno`, `cirFairy` | `cir`, `circle` |
#### 3. Regex
[正規表達式](https://en.wikipedia.org/wiki/Regular_expression)
是用在程式設計的複雜模式字串。他們意在為了進階的使用者。
FrankerFaceZ 使用你的瀏覽器內建用來處理正規表達式
的引擎,有隨之而來的所有限制。Regex 字詞被包入和
其他兩個模式一樣的生成的正規表達式。你不應該也不能
使用捕捉群。
FrankerFaceZ 使用粗淺的邏輯來確保你的正規表達式
不災難性的緩慢,但你仍應小心避免緩慢的表達式,
因為他們經常運行。
### 模式
#### 區分大小寫
這會嘗試以區分大小寫的方式匹配你的字詞。效果上,
此選項在生成的正規表達式停用 `/i` 旗標。由於
你的瀏覽器的 regex 引擎的限制,不區分大小寫可能
會在某些字元上沒有作用。
#### 匹配整個單字
這需要你的字詞是完整的單字。例如,沒有「匹配整個單字」
的字詞 `test` 可以就跟匹配到 `test` 一樣容易的匹配到
`testing` 或 `tested`。啟用「匹配整個單字」的話,
**只**會匹配到 `test`。
這是透過將生成的正規表達式包在額外的匹配非單字字元的
模式中,比如空白或標點符號。#### 醒目標示匹配項目
啟用這個與[聊天室 > 過濾 > 一般](~)中相應的設定時,
任何匹配的字詞會在聊天室中醒目標示,以使你可以看到確切
是什麼匹配到你的字詞。
任何匹配的項目都不會顯示為表情符號、連結等等。
這比沒有醒目標示匹配項目慢一點,因此你可能會希望只在
測試時使用,然後在知道你的字詞如你所願的運作時將他停用。