* Add gitattributes

* Add update locales script

* Update locales

* Remove old script files

* Switch to use transifex client app
This commit is contained in:
Rob Garrison 2018-11-03 09:37:25 -05:00 committed by GitHub
parent 30cf5b2458
commit 5536f7ad22
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
38 changed files with 331 additions and 273 deletions

2
.gitattributes vendored Normal file
View File

@ -0,0 +1,2 @@
# Auto detect text files and perform LF normalization
* text=auto

View File

@ -4,7 +4,9 @@
2. [How to report issues](#how-to-report-issues) 2. [How to report issues](#how-to-report-issues)
3. [Adding translations](#adding-translations) 3. [Adding translations](#adding-translations)
4. [Pull requests](#pull-requests) 4. [Pull requests](#pull-requests)
5. [Contact us](#contact-us) 5. [Scripts](#scripts)
6. [Updating locale files](#updating-locale-files-admin-only)
7. [Contact us](#contact-us)
## Getting involved ## Getting involved
@ -32,6 +34,26 @@ You can help us translate the extension on [Transifex](https://www.transifex.com
* Make any changes within a branch of this repository (not the `master` branch). * Make any changes within a branch of this repository (not the `master` branch).
* Submit a pull request and include a reference to the initial issue with the discussion. * Submit a pull request and include a reference to the initial issue with the discussion.
## Scripts
* `npm run lint` - Run ESLint on all JavaScript files.
* `npm run update` - Runs update-node & update-main scripts.
* `npm run update-quick` - Updates development dependencies (uses `npm update`; does not include new dependencies).
* `npm run update-locales` (admin only)- Updates locale files from Transifex. See the [updating locale files section](#updating-locale-files-admin-only) for more details.
* `npm run update-main` - Runs update-versions & update-codemirror.
* `npm run update-node` - Update development dependencies, removes & reinstalls `node_modules` folder (slow).
* `npm run update-transifex` (admin only) - Upload `en/messages.json` source to Transifex.
* `npm run update-vendor` - Update codemirror, codemirror themes & other vendor libraries.
* `npm run update-versions` - Update version of `manifest.json` to match `package.json`.
* `npm run zip` - Run update-versions, then compress required files into a zip file.
## Updating locale files (admin only)
* Make sure you have the Transifex client installed. Follow the instructions on [this page](https://docs.transifex.com/client/installing-the-client).
* Contact another admin if you need the `.transifexrc` file in the root folder. It includes the API key to use Transifex's API.
* Use `npm run update-locales` in the command line to [update the language files](https://docs.transifex.com/client/pull) in the repo.
* Use `npm run update-transifex` in the command line to [upload the source](https://docs.transifex.com/client/push) `en/messages.json` file to Transifex.
## Contact us ## Contact us
If you prefer a more informal method of getting in touch or starting a conversation, please [join us on Discord](https://discordapp.com/widget?id=379521691774353408) or leave a comment in the [discussion section](https://add0n.com/stylus.html#reviews). We will monitor any discussions there and join in, and it may be a more appropriate venue for opinions and less urgent suggestions. If you prefer a more informal method of getting in touch or starting a conversation, please [join us on Discord](https://discordapp.com/widget?id=379521691774353408) or leave a comment in the [discussion section](https://add0n.com/stylus.html#reviews). We will monitor any discussions there and join in, and it may be a more appropriate venue for opinions and less urgent suggestions.

1
.gitignore vendored
View File

@ -6,3 +6,4 @@ package-lock.json
yarn.lock yarn.lock
*.zip *.zip
.eslintcache .eslintcache
.transifexrc

10
.tx/config Normal file
View File

@ -0,0 +1,10 @@
[main]
host = https://www.transifex.com
[Stylus.messages]
file_filter = _locales/<lang>/messages.json
minimum_perc = 0
source_file = _locales/en/messages.json
source_lang = en_US
type = CHROME

View File

@ -258,11 +258,11 @@
"filteredStyles": { "filteredStyles": {
"message": "zobrazeno $numShown$ z $numTotal$", "message": "zobrazeno $numShown$ z $numTotal$",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -742,6 +742,9 @@
"styleBeautifyIndentConditional": { "styleBeautifyIndentConditional": {
"message": "Odsadit @media, @supports" "message": "Odsadit @media, @supports"
}, },
"styleBeautifyPreserveNewlines": {
"message": "Zachovat nové řádky"
},
"styleCancelEditLabel": { "styleCancelEditLabel": {
"message": "Zpět ke správě" "message": "Zpět ke správě"
}, },
@ -776,14 +779,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -798,6 +801,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "Neplatná @var $type$: hodnota musí být pole obsahující alespoň jedno číslo na nulové pozici",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "Nepodporovaný @preprocessor: $preprocessor$", "message": "Nepodporovaný @preprocessor: $preprocessor$",
"placeholders": { "placeholders": {
@ -953,6 +964,9 @@
"updatesCurrentlyInstalled": { "updatesCurrentlyInstalled": {
"message": "Instalované aktualizace:" "message": "Instalované aktualizace:"
}, },
"usercssAvoidOverwriting": {
"message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu."
},
"usercssConfigIncomplete": { "usercssConfigIncomplete": {
"message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu." "message": "Styl byl aktualizován nebo smazán po zobrazení dialogu konfigurace. Tyto proměnné nebyly uloženy aby se předešlo poškození metadat stylu."
}, },

View File

@ -246,11 +246,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ von $numTotal$ gesamt", "message": "$numShown$ von $numTotal$ gesamt",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -776,14 +776,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -798,6 +798,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "@var $type$ ungültig: Wert muss ein Array sein, welches mindestens eine Zahl an Index 0 enthält",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "Nicht unterstützter @preprocessor: $preprocessor$", "message": "Nicht unterstützter @preprocessor: $preprocessor$",
"placeholders": { "placeholders": {

View File

@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ mostrados de $numTotal$ en total", "message": "$numShown$ mostrados de $numTotal$ en total",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -791,14 +791,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$/$numTotal$ kuvatud", "message": "$numShown$/$numTotal$ kuvatud",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -794,14 +794,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -258,11 +258,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ montrés sur $numTotal$ au total", "message": "$numShown$ montrés sur $numTotal$ au total",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -785,14 +785,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

52
_locales/gl/messages.json Normal file
View File

@ -0,0 +1,52 @@
{
"addStyleTitle": {
"message": "Engadir Estilo"
},
"alphaChannel": {
"message": "Opacidade"
},
"appliesAdd": {
"message": "Engadir"
},
"appliesDisplay": {
"message": "Aplica a: $applies$",
"placeholders": {
"applies": {
"content": "$1"
}
}
},
"appliesDisplayTruncatedSuffix": {
"message": "e mais"
},
"appliesDomainOption": {
"message": "URLs no dominio"
},
"appliesLabel": {
"message": "Aplica para"
},
"appliesLineWidgetWarning": {
"message": "Non funciona con CSS minificado"
},
"appliesRegexpOption": {
"message": "URLs que concorden co regexp"
},
"appliesRemove": {
"message": "Suprimir"
},
"appliesSpecify": {
"message": "Especificar"
},
"appliesToEverything": {
"message": "Todo"
},
"appliesUrlPrefixOption": {
"message": "URLs que comecen por"
},
"applyAllUpdates": {
"message": "Aplicar tódalas actualizacións"
},
"author": {
"message": "Autor"
}
}

View File

@ -12,7 +12,7 @@
"message": "Hozzáadás" "message": "Hozzáadás"
}, },
"appliesDisplay": { "appliesDisplay": {
"message": "A következőre érvényesül:$applies$", "message": "Érvényes erre:$applies$",
"placeholders": { "placeholders": {
"applies": { "applies": {
"content": "$1" "content": "$1"
@ -23,22 +23,22 @@
"message": "és ennél is több" "message": "és ennél is több"
}, },
"appliesDomainOption": { "appliesDomainOption": {
"message": "URL-ek a doménon" "message": "URL-ek a tartományban"
}, },
"appliesHelp": { "appliesHelp": {
"message": "Használd az \"A következőre érvényesül\" részt, hogy korlátozd, milyen URL-ekre vonatkozzon az itt lévő kód!" "message": "Az \"Érvényes erre\" beállítással korlártozható, hogy milyen URL-ekre vonatkozik az itt lévő kód."
}, },
"appliesLabel": { "appliesLabel": {
"message": "Amire érvényesül" "message": "Érvényes erre"
}, },
"appliesLineWidgetLabel": { "appliesLineWidgetLabel": {
"message": "Információ megjelenítése arról, hogy mire van alkalmazva" "message": "Információ megjelenítése arról, hogy mire van alkalmazva"
}, },
"appliesLineWidgetWarning": { "appliesLineWidgetWarning": {
"message": "Nem működik minimalizált CSS-szel" "message": "Nem működik minimalizált CSS-sel"
}, },
"appliesRegexpOption": { "appliesRegexpOption": {
"message": "Reguláris kifejezésekre (regexp) illeszkedő URL-ek" "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek"
}, },
"appliesRemove": { "appliesRemove": {
"message": "Eltávolítás" "message": "Eltávolítás"
@ -71,7 +71,7 @@
"message": "Stílusok exportálása" "message": "Stílusok exportálása"
}, },
"checkAllUpdates": { "checkAllUpdates": {
"message": "Az összes stílus frissítésének ellenőrzése" "message": "Összes stílus frissítésének ellenőrzése"
}, },
"checkAllUpdatesForce": { "checkAllUpdatesForce": {
"message": "Ellenőrizd újra, nem módosítottam egy stílust sem!" "message": "Ellenőrizd újra, nem módosítottam egy stílust sem!"
@ -89,13 +89,13 @@
"message": "Zárójelek és idézőjelek automatikus bezárása" "message": "Zárójelek és idézőjelek automatikus bezárása"
}, },
"cm_autoCloseBracketsTooltip": { "cm_autoCloseBracketsTooltip": {
"message": "Automatikusan legyen hozzáadva záró jelpár a következők gépelésekor: ()[]{}''\"\"" "message": "Nyitó '([{'zárójel gépelésekor lezáró ')]}' zárójel automatikus hozzáadása"
}, },
"cm_autocompleteOnTyping": { "cm_autocompleteOnTyping": {
"message": "Automatikus kiegészítés gépeléskor" "message": "Automatikus kiegészítés gépeléskor"
}, },
"cm_colorpicker": { "cm_colorpicker": {
"message": "Színválasztó CSS színekhez" "message": "Színválasztó CSS-színekhez"
}, },
"cm_indentWithTabs": { "cm_indentWithTabs": {
"message": "Tabulátorok használata intelligens behúzásra" "message": "Tabulátorok használata intelligens behúzásra"
@ -107,7 +107,7 @@
"message": "Automatikus sortörés" "message": "Automatikus sortörés"
}, },
"cm_matchHighlight": { "cm_matchHighlight": {
"message": "Kijelöl" "message": "Kijelölés"
}, },
"cm_matchHighlightSelection": { "cm_matchHighlightSelection": {
"message": "Csak kiválasztás" "message": "Csak kiválasztás"
@ -125,7 +125,7 @@
"message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve." "message": "Példák kifejezésekre: .valami-2 #aabbcc 0.32 !important\nAmikor ki van kapcsolva: a központosítással elválasztott szavak ki lesznek jelölve."
}, },
"cm_smartIndent": { "cm_smartIndent": {
"message": "Intelligens behúzás használata" "message": "Intelligens behúzás"
}, },
"cm_tabSize": { "cm_tabSize": {
"message": "Tabulátorméret" "message": "Tabulátorméret"
@ -200,7 +200,7 @@
"message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz." "message": "Tervezd újra a webet a Stylus stíluskezelővel. A Stylus lehetővé teszi a témák és egyéni külsők egyszerű telepítését sok népszerű oldalhoz."
}, },
"disableAllStyles": { "disableAllStyles": {
"message": "Az összes stílus kikapcsolása" "message": "Összes stílus kikapcsolása"
}, },
"disableStyleLabel": { "disableStyleLabel": {
"message": "Letiltás" "message": "Letiltás"
@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ mutatva $numTotal$-ból/-ből", "message": "$numShown$ mutatva $numTotal$-ból/-ből",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -321,10 +321,10 @@
"message": "Írj be egy parancsot" "message": "Írj be egy parancsot"
}, },
"helpKeyMapHotkey": { "helpKeyMapHotkey": {
"message": "Gyorsgomb" "message": "Gyorsbillentyű"
}, },
"importAppendLabel": { "importAppendLabel": {
"message": "Hozzáadás stílushoz" "message": "Hozzáfűzés stílushoz"
}, },
"importAppendTooltip": { "importAppendTooltip": {
"message": "Az importált stílus hozzáadása a jelenlegi stílushoz" "message": "Az importált stílus hozzáadása a jelenlegi stílushoz"
@ -357,10 +357,10 @@
"message": "metainfó frissítve" "message": "metainfó frissítve"
}, },
"importReportTitle": { "importReportTitle": {
"message": "A stílusok importálása befejeződött" "message": "A stílusok importálása befejeződött."
}, },
"importReportUnchanged": { "importReportUnchanged": {
"message": "Semmi sem változott." "message": "Nincs változás."
}, },
"importReportUndone": { "importReportUndone": {
"message": "stílusok visszavonva" "message": "stílusok visszavonva"
@ -384,7 +384,7 @@
"message": "Frissítés telepítése" "message": "Frissítés telepítése"
}, },
"installUpdateFrom": { "installUpdateFrom": {
"message": "A stílus most a következő helyről frissül: $url$", "message": "A stílus jelenleg innen frissül: $url$",
"placeholders": { "placeholders": {
"url": { "url": {
"content": "$1" "content": "$1"
@ -398,7 +398,7 @@
"message": "Licenc" "message": "Licenc"
}, },
"linkGetHelp": { "linkGetHelp": {
"message": "Kérj segítséget" "message": "Segítség kérése"
}, },
"linkGetStyles": { "linkGetStyles": {
"message": "Szerezz be stílusokat" "message": "Szerezz be stílusokat"
@ -426,10 +426,10 @@
} }
}, },
"linterConfigTooltip": { "linterConfigTooltip": {
"message": "Kattints ennek a linternek a beállításához" "message": "Linter beállítása"
}, },
"linterInvalidConfigError": { "linterInvalidConfigError": {
"message": "Nincs mentve ezek miatt az érvénytelen beállítások miatt:" "message": "Nincs mentve a következő érvénytelen beállítások miatt:"
}, },
"linterIssues": { "linterIssues": {
"message": "Problémák" "message": "Problémák"
@ -443,31 +443,31 @@
} }
}, },
"linterJSONError": { "linterJSONError": {
"message": "Érvénytelen JSON formátum" "message": "Érvénytelen JSON-formátum"
}, },
"linterResetMessage": { "linterResetMessage": {
"message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)" "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)"
}, },
"linterRulesLink": { "linterRulesLink": {
"message": "Lista az összes stílusról" "message": "Összes szabály listája"
}, },
"liveReloadError": { "liveReloadError": {
"message": "Hiba történt a fájl figyelése közben" "message": "Hiba történt a fájl figyelése közben"
}, },
"liveReloadInstallHint": { "liveReloadInstallHint": {
"message": "A valós idejű újratöltés engedélyezve van, így a telepített stílus automatikusan frissítve lesz kűlső változtatások során amíg ez a fül és a forrásfájlt tartalmazó fül nyitva van." "message": "A valós idejű újratöltés engedélyezve van, így a telepített stílus automatikusan frissül külső változások során, amíg ez a fül és a forrásfájlt tartalmazó fül nyitva van."
}, },
"liveReloadLabel": { "liveReloadLabel": {
"message": "Valós idejű újratöltés" "message": "Valós idejű újratöltés"
}, },
"manageFavicons": { "manageFavicons": {
"message": "Faviconok az alkalmazási oszlopban" "message": "Faviconok az 'Érvényes erre' oszlopban"
}, },
"manageFaviconsGray": { "manageFaviconsGray": {
"message": "Szürke mód" "message": "Megjelenítés szürkítve"
}, },
"manageFaviconsHelp": { "manageFaviconsHelp": {
"message": "A Stylus egy külső szolgáltatást használ (https://www.google.com/s2/favicons)" "message": "A Stylus külső szolgáltatást használ (https://www.google.com/s2/favicons)"
}, },
"manageFilters": { "manageFilters": {
"message": "Szűrők" "message": "Szűrők"
@ -476,13 +476,13 @@
"message": "Telepített stílusok" "message": "Telepített stílusok"
}, },
"manageMaxTargets": { "manageMaxTargets": {
"message": "Megjelenítendő célok száma" "message": "'Érvényes erre' elemek kijelzendő száma"
}, },
"manageNewStyleAsUsercss": { "manageNewStyleAsUsercss": {
"message": "Usercss-ként" "message": "Usercss-ként"
}, },
"manageNewUI": { "manageNewUI": {
"message": "Az új kezelési felületkiosztás" "message": "Új kezelői felület"
}, },
"manageOnlyDisabled": { "manageOnlyDisabled": {
"message": "Csak letiltott stílusok" "message": "Csak letiltott stílusok"
@ -497,13 +497,13 @@
"message": "Csak helyileg létrehozott stílusok" "message": "Csak helyileg létrehozott stílusok"
}, },
"manageOnlyLocalTooltip": { "manageOnlyLocalTooltip": {
"message": "(a stílusok nem egy userstyles.org oldalon lettek telepítve)" "message": "(a stílusok nem a userstyles.org egyik oldaláról települtek)"
}, },
"manageOnlyNonUsercss": { "manageOnlyNonUsercss": {
"message": "Csak nem Usercss stílusok" "message": "Csak nem Usercss stílusok"
}, },
"manageOnlyUpdates": { "manageOnlyUpdates": {
"message": "Csak frissíthetőek vagy problémásak" "message": "Csak a frissíthetők vagy problémásak"
}, },
"manageOnlyUsercss": { "manageOnlyUsercss": {
"message": "Csak Usercss stílusok" "message": "Csak Usercss stílusok"
@ -524,7 +524,7 @@
"message": "Beállítások" "message": "Beállítások"
}, },
"openStylesManager": { "openStylesManager": {
"message": "A frissítéskezelő megnyitása" "message": "Stíluskezelő megnyitása"
}, },
"optionsActions": { "optionsActions": {
"message": "Műveletek" "message": "Műveletek"
@ -533,13 +533,13 @@
"message": "Haladó" "message": "Haladó"
}, },
"optionsAdvancedContextDelete": { "optionsAdvancedContextDelete": {
"message": "Delete hozzáadása a gyorsmenühöz" "message": "'Törlés' parancs a szerkesztő helyi menüjében"
}, },
"optionsAdvancedExposeIframes": { "optionsAdvancedExposeIframes": {
"message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül" "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül"
}, },
"optionsAdvancedExposeIframesNote": { "optionsAdvancedExposeIframesNote": {
"message": "Engedélyezi a legfelsőbb szintű domain elérését\nmindegyik iframe-ben. Lehetővé teszi az olyan\niframe-specifikus CSS írását, mint:\nhtml[stylus-iframe$=\"twitter.com\"] h1 { display:none }" "message": "A legfelsőbb szintű tartomány elérésének engedélyezése\nmindegyik iframe-ben. Lehetővé teszi az olyan\niframe-specifikus CSS írását, mint pl.:\nhtml[stylus-iframe$=\"twitter.com\"] h1 { display:none }"
}, },
"optionsAdvancedNewStyleAsUsercss": { "optionsAdvancedNewStyleAsUsercss": {
"message": "Új stílus írása usercss-ként" "message": "Új stílus írása usercss-ként"
@ -557,13 +557,13 @@
"message": "Az összes frissítés ellenőrzése és telepítése" "message": "Az összes frissítés ellenőrzése és telepítése"
}, },
"optionsCustomizeBadge": { "optionsCustomizeBadge": {
"message": "Jelvény az eszköztárikonon" "message": "Ikon képe az eszköztáron"
}, },
"optionsCustomizeIcon": { "optionsCustomizeIcon": {
"message": "Eszköztárikon" "message": "Eszköztárikon"
}, },
"optionsCustomizePopup": { "optionsCustomizePopup": {
"message": "Felugró" "message": "Felugró ablak"
}, },
"optionsCustomizeUpdate": { "optionsCustomizeUpdate": {
"message": "Frissítések" "message": "Frissítések"
@ -587,13 +587,13 @@
"message": "Felugró ablak szélessége (pixelben)" "message": "Felugró ablak szélessége (pixelben)"
}, },
"optionsReset": { "optionsReset": {
"message": "Beállítások visszaállítása alapértelmezett értékekre." "message": "Beállítások visszaállítása alapértelmezett értékre"
}, },
"optionsResetButton": { "optionsResetButton": {
"message": "Beállítások visszaállítása alapra" "message": "Alapértelmezés visszaállítása"
}, },
"optionsSubheading": { "optionsSubheading": {
"message": "Még több beállítás" "message": "További beállítások"
}, },
"optionsUpdateImportNote": { "optionsUpdateImportNote": {
"message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!" "message": "Amikor régebbi verzióból vagy a Stylishból importálsz stílusokat, egyszer manuálisan frissítsd a stílusokat a stíluskezelőben, hogy megbizonyosodj afelől, hogy mindegyik frissítve van!"
@ -620,19 +620,19 @@
"message": "A Stylus nem tudta elemezni a usercss-t" "message": "A Stylus nem tudta elemezni a usercss-t"
}, },
"popupBorders": { "popupBorders": {
"message": "Fehér szegélyek használata két oldalt" "message": "Fehér szegély az oldalakon"
}, },
"popupBordersTooltip": { "popupBordersTooltip": {
"message": "Hasznos az új Chromehoz létrehozott sötét témákhoz, mert nem színezi át az oldalszegélyeket" "message": "Hasznos az új Chrome sötét témáinál, mert nem színezi át az oldalszegélyeket"
}, },
"popupHotkeysInfo": { "popupHotkeysInfo": {
"message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n<A>-<Z> az adott betűvel kezdődő első stílust kapcsolja be/ki \n<Shift> kapcsolgatás helyett megnyitja a szerkesztőt\n<Numpad +> listázott stílusokat engedélyez\n<Numpad > listázott stílusokat tilt le\n<Numpad *> és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. <Numpad > vagy <Numpad *>\nTovábbi információ a wikiben" "message": "<1>-<9>, <0>, a numpaden is - be-/kikapcsolja az n-nedik stílust (a 0 10-et jelent)\n<A>-<Z> az adott betűvel kezdődő első stílust kapcsolja be/ki \n<Shift> kapcsolgatás helyett megnyitja a szerkesztőt\n<Numpad +> listázott stílusokat engedélyez\n<Numpad > listázott stílusokat tilt le\n<Numpad *> és <`> (fordított félidézőjel) - kezdeti állapotban engedélyezett stílusokat kapcsol; nem vonatkozik azokra a stílusokra, amiket később engedélyeztél, mialatt a felugró ablakocska nyitva volt, hogy vissza tudd állítani a kezdeti kiválasztást tesztelés után: egyszerűen tilts le mindent, majd pl. <Numpad > vagy <Numpad *>\nTovábbi információ a wikiben"
}, },
"popupHotkeysTooltip": { "popupHotkeysTooltip": {
"message": "Kattints az elérhető gyorsbillentyűk megtekintéséhez" "message": "Elérhető gyorsbillentyűk megtekintése"
}, },
"popupManageTooltip": { "popupManageTooltip": {
"message": "Shift-kattintás vagy jobb kattintás megnyitja a stíluskezelőt a jelenlegi oldalra érvényesülő stílusokkal" "message": "Shift+kattintás vagy jobb kattintás: a stíluskezelő megnyitása a jelenlegi oldalra érvényes stílusokkal"
}, },
"popupOpenEditInWindow": { "popupOpenEditInWindow": {
"message": "Szerkesztő megnyitása új ablakban" "message": "Szerkesztő megnyitása új ablakban"
@ -641,7 +641,7 @@
"message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával." "message": "A fül a böngésző ablakától történő leválasztásával is engedélyezhető, és letiltható a fül egy másik ablakhoz való hozzácsatolásával."
}, },
"popupStylesFirst": { "popupStylesFirst": {
"message": "Parancsok előtti stílusok" "message": "Stílusnevek a parancsok előtt"
}, },
"prefShowBadge": { "prefShowBadge": {
"message": "A jelenlegi oldalon aktív stílusok száma" "message": "A jelenlegi oldalon aktív stílusok száma"
@ -722,28 +722,28 @@
"message": "Gyorsbillentyűk megadása" "message": "Gyorsbillentyűk megadása"
}, },
"sortDateNewestFirst": { "sortDateNewestFirst": {
"message": "a legújabb elöl" "message": "újabb elöl"
}, },
"sortDateOldestFirst": { "sortDateOldestFirst": {
"message": "a legrégebbi elöl" "message": "régebbi elöl"
}, },
"sortLabel": { "sortLabel": {
"message": "Válaszd ki, hogyan szeretnéd sorba rendezni a telepített stílusokat" "message": "Telepített stílusok sorbarendezésének módja"
}, },
"sortLabelTitleAsc": { "sortLabelTitleAsc": {
"message": "Cím növekvő sorrendben" "message": "Cím - növekvő sorrend"
}, },
"sortLabelTitleDesc": { "sortLabelTitleDesc": {
"message": "Cím csökkenő sorrendben" "message": "Cím - csökkenő sorrend"
}, },
"sortStylesHelp": { "sortStylesHelp": {
"message": "A legördülő menüben válaszd ki, hogyan szeretnéd sorba rendezni a telepített bejegyzéseket. Az alapértelmezett beállítás növekvő sorrend (A-tól Z-ig) a bejegyzések címei szerint. A „Cím csökkenő sorrendben” csoportban megadott rendezési módok csökkenő sorrendet (Z-től A-ig) alkalmaznak a címre.\nMás beállítások azt is lehetővé teszik, hogy több szempont alapján rendezd a bejegyzéseket. Elképzelheted ezt úgy, mint egy többoszlopos rendezési táblázatot, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, aztán az engedélyezett és a letiltott bejegyzések címei külön-külön növekvő sorrendbe A-tól Z-ig) vannak rendezve." "message": "A legördülő menüben válaszhatjuk ki, hogyan szeretnénk sorbarendezni a telepített stílusok bejegyzéseit. Az alapértelmezett beállítás a bejegyzések címei szerinti növekvő (A-tól Z-ig) sorrend. A „Cím - csökkenő sorrend” csoportban megadott rendezési módok csökkenő (Z-től A-ig) sorrendben rendezik a címeket.\nEgyéb beállításokkal több szempont alapján is rendezhetők a bejegyzések. Tekintsünk erre úgy, mint egy többoszlopos, rendezhető táblázatra, amelyben minden egyes (a plusz jelek között) kiválasztott kategória egy oszlopot vagy egy csoportot jelképez.\nPéldául, ha az van beállítva, hogy „Engedélyezve (első) + Cím”, az engedélyezett bejegyzések kerülnek a lista tetejére, majd az engedélyezett és a letiltott bejegyzések címei külön-külön, növekvő (A-tól Z-ig) sorrendben jelennek meg."
}, },
"sortStylesHelpTitle": { "sortStylesHelpTitle": {
"message": "Tartalom rendezése" "message": "Tartalom rendezése"
}, },
"styleBadRegexp": { "styleBadRegexp": {
"message": "Érvénytelen regexp." "message": "Érvénytelen reguláris kifejezés."
}, },
"styleBeautify": { "styleBeautify": {
"message": "Csinosít" "message": "Csinosít"
@ -788,14 +788,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -833,28 +833,28 @@
"message": "Írj be egy nevet!" "message": "Írj be egy nevet!"
}, },
"styleMozillaFormatHeading": { "styleMozillaFormatHeading": {
"message": "Mozilla formátum" "message": "Mozilla-formátum"
}, },
"styleNotAppliedRegexpProblemTooltip": { "styleNotAppliedRegexpProblemTooltip": {
"message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt" "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt"
}, },
"styleRegexpInvalidExplanation": { "styleRegexpInvalidExplanation": {
"message": "Egyes „regexp()” szabályokat nem lehetett lefordítani." "message": "Néhány „regexp()” szabály nem lefordítható."
}, },
"styleRegexpPartialExplanation": { "styleRegexpPartialExplanation": {
"message": "Ez a stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, melyek sértik a<a href='https://developer.mozilla.org/docs/Web/CSS/@document'>CSS4@dokumentumspecifikációt</a>, mely szerint egy teljes URL-illeszkedésre van szükség. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. Ez a stílus valószínűleg a Stylish Chrome-kiegészítőben lett létrehozva, amely helytelenül ellenőrzi a „regexp()” szabályokat az első verziótól fogva (ismert hiba)." "message": "A stílus olyan részlegesen illeszkedő reguláris kifejezéseket használ, amelyek sértik a<a href='https://developer.mozilla.org/docs/Web/CSS/@document'>CSS4@dokumentumspecifikációt</a>, amely megköveteli az URL teljes illeszkedését. Az érintett CSS-szekciók nem kerültek alkalmazásra az oldalon. A stílus valószínűleg a Stylish-for-Chrome kiegészítőben készült, amely helytelenül ellenőrzi a „regexp()” szabályokat a legelső verziótól fogva (ismert hiba)."
}, },
"styleRegexpProblemTooltip": { "styleRegexpProblemTooltip": {
"message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt" "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt"
}, },
"styleRegexpTestButton": { "styleRegexpTestButton": {
"message": "RegExp teszt" "message": "RegExp tesztelése"
}, },
"styleRegexpTestFull": { "styleRegexpTestFull": {
"message": "Illeszkedő fülek" "message": "Illeszkedő fülek"
}, },
"styleRegexpTestInvalid": { "styleRegexpTestInvalid": {
"message": "Kihagyott érvénytelen reguláris kifejezések" "message": "Kihagyott, érvénytelen reguláris kifejezések"
}, },
"styleRegexpTestNone": { "styleRegexpTestNone": {
"message": "Nincs illeszkedő fül" "message": "Nincs illeszkedő fül"

View File

@ -79,6 +79,9 @@
"clickToUninstall": { "clickToUninstall": {
"message": "Clica per disinstallare" "message": "Clica per disinstallare"
}, },
"cm_autoCloseBrackets": {
"message": "Chiudi automaticamente parentesi e virgolette"
},
"cm_autocompleteOnTyping": { "cm_autocompleteOnTyping": {
"message": "Completamento automatico durante digitazione" "message": "Completamento automatico durante digitazione"
}, },
@ -86,7 +89,7 @@
"message": "Selezionatore colore per colori CSS" "message": "Selezionatore colore per colori CSS"
}, },
"cm_indentWithTabs": { "cm_indentWithTabs": {
"message": "Usa schede con indentazione intellingente" "message": "Usa tabulazioni con indentazione intellingente"
}, },
"cm_keyMap": { "cm_keyMap": {
"message": "Mappa caratteri" "message": "Mappa caratteri"
@ -101,7 +104,7 @@
"message": "Usa indentazione intelligente" "message": "Usa indentazione intelligente"
}, },
"cm_tabSize": { "cm_tabSize": {
"message": "Dimensione scheda" "message": "Dimensione tabulazione"
}, },
"cm_theme": { "cm_theme": {
"message": "Tema" "message": "Tema"
@ -207,11 +210,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ mostrati di $numTotal$ totali", "message": "$numShown$ mostrati di $numTotal$ totali",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -523,6 +526,9 @@
"search": { "search": {
"message": "Cerca" "message": "Cerca"
}, },
"searchNumberOfResults": {
"message": "Numero di occorrenze"
},
"searchResultInstallCount": { "searchResultInstallCount": {
"message": "Installazioni totali" "message": "Installazioni totali"
}, },
@ -611,14 +617,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numTotal$ 件中の $numShown$ 件を表示", "message": "$numTotal$ 件中の $numShown$ 件を表示",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -797,14 +797,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -819,6 +819,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "不正な @var $type$: 最低でも1個の数値を持つ配列である必要があります",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "未サポートの @preprocessor: $preprocessor$", "message": "未サポートの @preprocessor: $preprocessor$",
"placeholders": { "placeholders": {

View File

@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ van de $numTotal$ getoond", "message": "$numShown$ van de $numTotal$ getoond",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -782,14 +782,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "$stylename$ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", "message": "$stylename$ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -804,6 +804,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "Ongeldige @var $type$: de waarde moet een reeks zijn die minimaal één getal bevat bij index nul",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "Niet-ondersteunde @preprocessor: $preprocessor$", "message": "Niet-ondersteunde @preprocessor: $preprocessor$",
"placeholders": { "placeholders": {

View File

@ -261,11 +261,11 @@
"filteredStyles": { "filteredStyles": {
"message": "Pokazano $numShown$ z sumy $numTotal$", "message": "Pokazano $numShown$ z sumy $numTotal$",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -800,14 +800,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -822,6 +822,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "Nieprawidłowa wartość @var $type$: musi być tablicą zawierającą co najmniej jedną liczbę w punkcie zerowym",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "Nieobsługiwany @preprocessor: $preprocessor$", "message": "Nieobsługiwany @preprocessor: $preprocessor$",
"placeholders": { "placeholders": {

View File

@ -249,11 +249,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ apresentado(s) de $numTotal$total", "message": "$numShown$ apresentado(s) de $numTotal$total",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -782,14 +782,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -222,11 +222,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ vizualizabile din $numTotal$ ", "message": "$numShown$ vizualizabile din $numTotal$ ",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -725,14 +725,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -261,11 +261,11 @@
"filteredStyles": { "filteredStyles": {
"message": "найдено $numShown$ из $numTotal$всего", "message": "найдено $numShown$ из $numTotal$всего",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -803,14 +803,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -255,11 +255,11 @@
"filteredStyles": { "filteredStyles": {
"message": "已显示 $numShown$ 个,总共 $numTotal$ 个", "message": "已显示 $numShown$ 个,总共 $numTotal$ 个",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -776,14 +776,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "'$stylename$' 已经安装,要覆盖吗?\n版本 $oldVersion$ -> $newVersion$", "message": "'$stylename$' 已经安装,要覆盖吗?\n版本 $oldVersion$ -> $newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },

View File

@ -206,7 +206,7 @@
"message": "用Stylus一個用戶樣式管理器重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。" "message": "用Stylus一個用戶樣式管理器重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。"
}, },
"disableAllStyles": { "disableAllStyles": {
"message": "用所有樣式" "message": "用所有樣式"
}, },
"disableStyleLabel": { "disableStyleLabel": {
"message": "停用" "message": "停用"
@ -261,11 +261,11 @@
"filteredStyles": { "filteredStyles": {
"message": "$numShown$ 個已顯示,總共 $numTotal$ 個", "message": "$numShown$ 個已顯示,總共 $numTotal$ 個",
"placeholders": { "placeholders": {
"numShown": {
"content": "$1"
},
"numTotal": { "numTotal": {
"content": "$2" "content": "$2"
},
"numShown": {
"content": "$1"
} }
} }
}, },
@ -800,14 +800,14 @@
"styleInstallOverwrite": { "styleInstallOverwrite": {
"message": "「$stylename$」已安裝。要覆寫嗎?\n版本$oldVersion$→$newVersion$", "message": "「$stylename$」已安裝。要覆寫嗎?\n版本$oldVersion$→$newVersion$",
"placeholders": { "placeholders": {
"stylename": {
"content": "$1"
},
"newVersion": { "newVersion": {
"content": "$3" "content": "$3"
}, },
"oldVersion": { "oldVersion": {
"content": "$2" "content": "$2"
},
"stylename": {
"content": "$1"
} }
} }
}, },
@ -822,6 +822,14 @@
} }
} }
}, },
"styleMetaErrorRangeOrNumber": {
"message": "無效的 @var $type$:值必須為在索引零處包含至少一個數字的陣列",
"placeholders": {
"type": {
"content": "$1"
}
}
},
"styleMetaErrorPreprocessor": { "styleMetaErrorPreprocessor": {
"message": "不支援的 @preprocessor$preprocessor$", "message": "不支援的 @preprocessor$preprocessor$",
"placeholders": { "placeholders": {

View File

@ -17,15 +17,18 @@
"semver-bundle": "^0.1.1", "semver-bundle": "^0.1.1",
"stylelint-bundle": "^8.0.0", "stylelint-bundle": "^8.0.0",
"stylus-lang-bundle": "^0.54.5", "stylus-lang-bundle": "^0.54.5",
"updates": "^4.2.1" "updates": "^4.2.1",
"webext-tx-fix": "^0.3.1"
}, },
"scripts": { "scripts": {
"lint": "eslint **/*.js --cache || exit 0", "lint": "eslint **/*.js --cache || exit 0",
"update": "npm run update-node && npm run update-main", "update": "npm run update-node && npm run update-main",
"update-quick": "updates -u && npm update && npm run update-main", "update-quick": "updates -u && npm update && npm run update-main",
"update-main": "npm run update-versions && npm run update-codemirror", "update-locales": "tx pull --all && webext-tx-fix",
"update-main": "npm run update-versions && npm run update-vendor",
"update-node": "updates -u && node tools/remove-modules.js && npm install", "update-node": "updates -u && node tools/remove-modules.js && npm install",
"update-codemirror": "node tools/update-libraries.js && node tools/update-codemirror-themes.js", "update-transifex": "tx push -s",
"update-vendor": "node tools/update-libraries.js && node tools/update-codemirror-themes.js",
"update-versions": "node tools/update-versions", "update-versions": "node tools/update-versions",
"zip": "npm run update-versions && node tools/zip.js" "zip": "npm run update-versions && node tools/zip.js"
} }

View File

@ -1,45 +0,0 @@
# Install transifex-ruby - https://rubygems.org/gems/transifex-ruby
#
# Create a file called pull_locales_login.rb.
# Contents should be:
#
# Transifex.configure do |config|
# config.username = 'transifex.username'
# config.password = 'transifex.password'
# end
#
# Update require_relative to point to this file.
require 'transifex'
require 'fileutils'
require_relative '../stylish-chrome-bin/pull_locales_login'
project_slug = 'stylish-for-chrome'
transifex = Transifex::Client.new
project = transifex.project(project_slug)
project.languages.each do |language|
code = language.language_code
puts "Getting locale #{code}"
dir_name = "../_locales/#{code}"
Dir.mkdir(dir_name) if !Dir.exist?(dir_name)
has_content = false
project.resources.each do |resource|
c = resource.translation(code).content
file_name = "#{dir_name}/#{resource.name}"
begin
completed = resource.stats(code).completed
rescue Transifex::NotFound
puts "#{code} not found."
next
end
has_content ||= completed != "0%"
puts "Writing resource #{file_name}, #{completed} complete."
File.open(file_name, 'w') { |file| file.write(c) }
end
if !has_content
puts "Locale #{code} has no content, deleting."
FileUtils.rm_rf(dir_name)
end
end

View File

@ -1,2 +0,0 @@
ruby pull_locales.rb
python pull_locales_postprocess.py

View File

@ -1,45 +0,0 @@
#! python2
import io, os, json, re
from collections import OrderedDict
with io.open('../_locales/en/messages.json', 'r', encoding='utf-8') as f:
items = json.load(f).items()
english = [(k, v['message']) for k, v in items if 'message' in v]
english_placeholders = [(k, v['placeholders']) for k,v in items
if 'placeholders' in v]
for locale_name in os.listdir('../_locales'):
if locale_name == 'en':
continue
if not re.match(r'^\w{2}(_\w{2,3})?$', locale_name):
print('Skipped %s: not a locale dir' % locale_name)
continue
loc_path = '../_locales/' + locale_name + '/messages.json'
with io.open(loc_path, 'r+', encoding='utf-8') as f:
loc = json.load(f, object_pairs_hook=OrderedDict)
deduplicated = 0
for msgId, message in english:
if msgId in loc and loc[msgId].get('message', '') == message:
del loc[msgId]
deduplicated += 1
changed = 0
for msgId, placeholder in english_placeholders:
if msgId in loc and cmp(placeholder, loc[msgId].get('placeholders', None)) != 0:
loc[msgId]['placeholders'] = placeholder
changed += 1
if deduplicated > 0 or changed > 0:
f.seek(0)
json_str = json.dumps(loc, indent=1, ensure_ascii=False,
separators=(',', ': '), encoding='utf-8')
json_tabs = re.sub(r'^\s+', lambda s: s.group(0).replace(' ', '\t'),
json_str, flags=re.MULTILINE)
f.write(json_tabs)
f.truncate()
print('%s: %d deduplicated%s' % (
locale_name,
deduplicated,
', %d placeholder(s) added' % changed if changed else ''
))