mirror of
https://github.com/excalidraw/excalidraw.git
synced 2025-05-03 10:00:07 -04:00
Add script to calculate percentage of translation (#1826)
* add script to calculate percentage of translation * test translation change * change translation * test * change translation * Calculate percentages of each translation file * test * Calculate percentages of each translation file * change translation * test * test * Calculate percentages of each translation file * test * Calculate percentages of each translation file * fix workflow * test * test again * Calculate percentages of each translation file * Calculate percentages of each translation file * test * refactor * change build logic * fix types, move English first * docs added * test translation file * test * test * test * test * test * test * test * test * test * test * test * test * Calculate percentages of each translation file * let this be the final test please * Calculate percentages of each translation file * test * test * Test * Calculate percentages of each translation file * test * Calculate percentages of each translation file * test * Calculate percentages of each translation file * test * Auto commit: Calculate translation coverage * test * test * test * test * Auto commit: Calculate translation coverage * test * only on master * test * test * Auto commit: Calculate translation coverage * switch to master branch Co-authored-by: i18n automation <runner@fv-az76.2iswp1o5zimezclxzdlwqia2gf.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az129.idlktykl4ure3gqe2lnji05orb.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az76.pjgcdo5npjpenpqz2nk0ztqvxd.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az33.senarqq4ucbulg04aytwntvgah.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az51.icvemaqob4xunfekbtdiz2tu2c.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az78.gikxu4m3dpiulftj3bftpuu3ee.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az121.cqdewbghluceforu5pkvpnveec.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az139.jsbds1i2htye3fh1bzwbe4ugmf.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az50.0bg2cysi0dkefjvuua0a0kbd1h.cx.internal.cloudapp.net> Co-authored-by: i18n automation <runner@fv-az51.nhi3in4tbx4ehjtltcwuwbwsua.cx.internal.cloudapp.net>
This commit is contained in:
parent
e23f7d37b6
commit
8c3549f336
9 changed files with 112 additions and 8 deletions
25
src/i18n.ts
25
src/i18n.ts
|
@ -1,9 +1,18 @@
|
|||
import LanguageDetector from "i18next-browser-languagedetector";
|
||||
|
||||
import fallbackLanguageData from "./locales/en.json";
|
||||
import percentages from "./locales/percentages.json";
|
||||
|
||||
export const languages = [
|
||||
{ lng: "en", label: "English", data: "en.json" },
|
||||
const COMPLETION_THRESHOLD_TO_EXCEED = 85;
|
||||
|
||||
interface Language {
|
||||
lng: string;
|
||||
label: string;
|
||||
data: string;
|
||||
rtl?: boolean;
|
||||
}
|
||||
|
||||
const allLanguages: Language[] = [
|
||||
{ lng: "bg-BG", label: "Български", data: "bg-BG.json" },
|
||||
{ lng: "de-DE", label: "Deutsch", data: "de-DE.json" },
|
||||
{ lng: "es-ES", label: "Español", data: "es-ES.json" },
|
||||
|
@ -30,6 +39,18 @@ export const languages = [
|
|||
{ lng: "he-IL", label: "עברית", data: "he-IL.json", rtl: true },
|
||||
];
|
||||
|
||||
export const languages: Language[] = [
|
||||
{ lng: "en", label: "English", data: "en.json" },
|
||||
]
|
||||
.concat(
|
||||
allLanguages.sort((left, right) => (left.label > right.label ? 1 : -1)),
|
||||
)
|
||||
.filter(
|
||||
(lang) =>
|
||||
(percentages as Record<string, number>)[lang.lng] >
|
||||
COMPLETION_THRESHOLD_TO_EXCEED,
|
||||
);
|
||||
|
||||
let currentLanguage = languages[0];
|
||||
let currentLanguageData = {};
|
||||
const fallbackLanguage = languages[0];
|
||||
|
|
|
@ -1,5 +1,14 @@
|
|||
## How to contribute
|
||||
|
||||
Please do not contribute changes directly to these files, as we manage them with Crowdin. Instead:
|
||||
|
||||
- to request a new translation, [open an issue](https://github.com/excalidraw/excalidraw/issues/new/choose).
|
||||
- to update existing translations, [edit them on Crowdin](https://crowdin.com/translate/excalidraw/10)
|
||||
and we should have them included in the app soon!
|
||||
|
||||
## Completion of translation
|
||||
|
||||
[percentages.json](./percentages.json) holds a percentage of completion for each language. We generate these
|
||||
automatically [on build time](./../../.github/workflows/locales-coverage.yml) when a new translation PR appears.
|
||||
|
||||
We only make a language available on the app if it exceeds a certain threshold of completion.
|
||||
|
|
1
src/locales/percentages.json
Normal file
1
src/locales/percentages.json
Normal file
|
@ -0,0 +1 @@
|
|||
{"ar-SA":57,"bg-BG":81,"ca-ES":92,"de-DE":99,"el-GR":98,"en":100,"es-ES":97,"fa-IR":99,"fi-FI":100,"fr-FR":99,"he-IL":94,"hi-IN":99,"hu-HU":58,"id-ID":59,"it-IT":97,"ja-JP":77,"ko-KR":72,"nb-NO":99,"nl-NL":85,"pl-PL":99,"pt-PT":100,"ru-RU":81,"sq-AL":42,"tr-TR":98,"uk-UA":99,"zh-CN":99,"zh-TW":99}
|
Loading…
Add table
Add a link
Reference in a new issue