Locales (#532)
* Add gitattributes * Add update locales script * Update locales * Remove old script files * Switch to use transifex client app
This commit is contained in:
		
							parent
							
								
									30cf5b2458
								
							
						
					
					
						commit
						5536f7ad22
					
				
							
								
								
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								.gitattributes
									
									
									
									
										vendored
									
									
										Normal file
									
								
							|  | @ -0,0 +1,2 @@ | |||
| # Auto detect text files and perform LF normalization | ||||
| * text=auto | ||||
							
								
								
									
										24
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										24
									
								
								.github/CONTRIBUTING.md
									
									
									
									
										vendored
									
									
								
							|  | @ -4,7 +4,9 @@ | |||
| 2. [How to report issues](#how-to-report-issues) | ||||
| 3. [Adding translations](#adding-translations) | ||||
| 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 | ||||
| 
 | ||||
|  | @ -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). | ||||
| * 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 | ||||
| 
 | ||||
| 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
									
									
								
							
							
						
						
									
										1
									
								
								.gitignore
									
									
									
									
										vendored
									
									
								
							|  | @ -6,3 +6,4 @@ package-lock.json | |||
| yarn.lock | ||||
| *.zip | ||||
| .eslintcache | ||||
| .transifexrc | ||||
|  |  | |||
							
								
								
									
										10
									
								
								.tx/config
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								.tx/config
									
									
									
									
									
										Normal 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 | ||||
| 
 | ||||
|  | @ -258,11 +258,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "zobrazeno $numShown$ z $numTotal$", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -742,6 +742,9 @@ | |||
|   "styleBeautifyIndentConditional": { | ||||
|     "message": "Odsadit @media, @supports" | ||||
|   }, | ||||
|   "styleBeautifyPreserveNewlines": { | ||||
|     "message": "Zachovat nové řádky" | ||||
|   }, | ||||
|   "styleCancelEditLabel": { | ||||
|     "message": "Zpět ke správě" | ||||
|   }, | ||||
|  | @ -776,14 +779,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "Styl „$stylename$“ je již nainstalován. Přepsat?\nVerze: $oldVersion$ → $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "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": { | ||||
|     "message": "Nepodporovaný @preprocessor: $preprocessor$", | ||||
|     "placeholders": { | ||||
|  | @ -953,6 +964,9 @@ | |||
|   "updatesCurrentlyInstalled": { | ||||
|     "message": "Instalované aktualizace:" | ||||
|   }, | ||||
|   "usercssAvoidOverwriting": { | ||||
|     "message": "Prosím, změňte hodnotu @name nebo @namespace ať nedojde k přepsání existujícího stylu." | ||||
|   }, | ||||
|   "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." | ||||
|   }, | ||||
|  |  | |||
|  | @ -246,11 +246,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ von $numTotal$ gesamt", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -776,14 +776,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "\"$stylename$\" ist bereits installiert. Überschreiben?\nVersion: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "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": { | ||||
|     "message": "Nicht unterstützter @preprocessor: $preprocessor$", | ||||
|     "placeholders": { | ||||
|  |  | |||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ mostrados de $numTotal$ en total", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -791,14 +791,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' ya está instalado ¿Sobrescribirlo?\nVersión: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$/$numTotal$ kuvatud", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -794,14 +794,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' on juba paigaldatud. Kas kirjutada üle?\nVersioon: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -258,11 +258,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ montrés sur $numTotal$ au total", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -785,14 +785,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "\"$stylename$\" est déjà installé. L'écraser ?\nVersion : $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
							
								
								
									
										52
									
								
								_locales/gl/messages.json
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										52
									
								
								_locales/gl/messages.json
									
									
									
									
									
										Normal 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" | ||||
|   } | ||||
| } | ||||
|  | @ -12,7 +12,7 @@ | |||
|     "message": "Hozzáadás" | ||||
|   }, | ||||
|   "appliesDisplay": { | ||||
|     "message": "A következőre érvényesül:$applies$", | ||||
|     "message": "Érvényes erre:$applies$", | ||||
|     "placeholders": { | ||||
|       "applies": { | ||||
|         "content": "$1" | ||||
|  | @ -23,22 +23,22 @@ | |||
|     "message": "és ennél is több" | ||||
|   }, | ||||
|   "appliesDomainOption": { | ||||
|     "message": "URL-ek a doménon" | ||||
|     "message": "URL-ek a tartományban" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Amire érvényesül" | ||||
|     "message": "Érvényes erre" | ||||
|   }, | ||||
|   "appliesLineWidgetLabel": { | ||||
|     "message": "Információ megjelenítése arról, hogy mire van alkalmazva" | ||||
|   }, | ||||
|   "appliesLineWidgetWarning": { | ||||
|     "message": "Nem működik minimalizált CSS-szel" | ||||
|     "message": "Nem működik minimalizált CSS-sel" | ||||
|   }, | ||||
|   "appliesRegexpOption": { | ||||
|     "message": "Reguláris kifejezésekre (regexp) illeszkedő URL-ek" | ||||
|     "message": "Reguláris kifejezésre (regexp) illeszkedő URL-ek" | ||||
|   }, | ||||
|   "appliesRemove": { | ||||
|     "message": "Eltávolítás" | ||||
|  | @ -71,7 +71,7 @@ | |||
|     "message": "Stílusok exportálása" | ||||
|   }, | ||||
|   "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": { | ||||
|     "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" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Automatikus kiegészítés gépeléskor" | ||||
|   }, | ||||
|   "cm_colorpicker": { | ||||
|     "message": "Színválasztó CSS színekhez" | ||||
|     "message": "Színválasztó CSS-színekhez" | ||||
|   }, | ||||
|   "cm_indentWithTabs": { | ||||
|     "message": "Tabulátorok használata intelligens behúzásra" | ||||
|  | @ -107,7 +107,7 @@ | |||
|     "message": "Automatikus sortörés" | ||||
|   }, | ||||
|   "cm_matchHighlight": { | ||||
|     "message": "Kijelöl" | ||||
|     "message": "Kijelölés" | ||||
|   }, | ||||
|   "cm_matchHighlightSelection": { | ||||
|     "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." | ||||
|   }, | ||||
|   "cm_smartIndent": { | ||||
|     "message": "Intelligens behúzás használata" | ||||
|     "message": "Intelligens behúzás" | ||||
|   }, | ||||
|   "cm_tabSize": { | ||||
|     "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." | ||||
|   }, | ||||
|   "disableAllStyles": { | ||||
|     "message": "Az összes stílus kikapcsolása" | ||||
|     "message": "Összes stílus kikapcsolása" | ||||
|   }, | ||||
|   "disableStyleLabel": { | ||||
|     "message": "Letiltás" | ||||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ mutatva $numTotal$-ból/-ből", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -321,10 +321,10 @@ | |||
|     "message": "Írj be egy parancsot" | ||||
|   }, | ||||
|   "helpKeyMapHotkey": { | ||||
|     "message": "Gyorsgomb" | ||||
|     "message": "Gyorsbillentyű" | ||||
|   }, | ||||
|   "importAppendLabel": { | ||||
|     "message": "Hozzáadás stílushoz" | ||||
|     "message": "Hozzáfűzés stílushoz" | ||||
|   }, | ||||
|   "importAppendTooltip": { | ||||
|     "message": "Az importált stílus hozzáadása a jelenlegi stílushoz" | ||||
|  | @ -357,10 +357,10 @@ | |||
|     "message": "metainfó frissítve" | ||||
|   }, | ||||
|   "importReportTitle": { | ||||
|     "message": "A stílusok importálása befejeződött" | ||||
|     "message": "A stílusok importálása befejeződött." | ||||
|   }, | ||||
|   "importReportUnchanged": { | ||||
|     "message": "Semmi sem változott." | ||||
|     "message": "Nincs változás." | ||||
|   }, | ||||
|   "importReportUndone": { | ||||
|     "message": "stílusok visszavonva" | ||||
|  | @ -384,7 +384,7 @@ | |||
|     "message": "Frissítés telepítése" | ||||
|   }, | ||||
|   "installUpdateFrom": { | ||||
|     "message": "A stílus most a következő helyről frissül: $url$", | ||||
|     "message": "A stílus jelenleg innen frissül: $url$", | ||||
|     "placeholders": { | ||||
|       "url": { | ||||
|         "content": "$1" | ||||
|  | @ -398,7 +398,7 @@ | |||
|     "message": "Licenc" | ||||
|   }, | ||||
|   "linkGetHelp": { | ||||
|     "message": "Kérj segítséget" | ||||
|     "message": "Segítség kérése" | ||||
|   }, | ||||
|   "linkGetStyles": { | ||||
|     "message": "Szerezz be stílusokat" | ||||
|  | @ -426,10 +426,10 @@ | |||
|     } | ||||
|   }, | ||||
|   "linterConfigTooltip": { | ||||
|     "message": "Kattints ennek a linternek a beállításához" | ||||
|     "message": "Linter beállítása" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Problémák" | ||||
|  | @ -443,31 +443,31 @@ | |||
|     } | ||||
|   }, | ||||
|   "linterJSONError": { | ||||
|     "message": "Érvénytelen JSON formátum" | ||||
|     "message": "Érvénytelen JSON-formátum" | ||||
|   }, | ||||
|   "linterResetMessage": { | ||||
|     "message": "Egy véletlen visszaállítás visszavonásához nyomj Ctrl-Z-t (vagy Cmd-Z) a szövegdobozon belül)" | ||||
|   }, | ||||
|   "linterRulesLink": { | ||||
|     "message": "Lista az összes stílusról" | ||||
|     "message": "Összes szabály listája" | ||||
|   }, | ||||
|   "liveReloadError": { | ||||
|     "message": "Hiba történt a fájl figyelése közben" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Valós idejű újratöltés" | ||||
|   }, | ||||
|   "manageFavicons": { | ||||
|     "message": "Faviconok az alkalmazási oszlopban" | ||||
|     "message": "Faviconok az 'Érvényes erre' oszlopban" | ||||
|   }, | ||||
|   "manageFaviconsGray": { | ||||
|     "message": "Szürke mód" | ||||
|     "message": "Megjelenítés szürkítve" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Szűrők" | ||||
|  | @ -476,13 +476,13 @@ | |||
|     "message": "Telepített stílusok" | ||||
|   }, | ||||
|   "manageMaxTargets": { | ||||
|     "message": "Megjelenítendő célok száma" | ||||
|     "message": "'Érvényes erre' elemek kijelzendő száma" | ||||
|   }, | ||||
|   "manageNewStyleAsUsercss": { | ||||
|     "message": "Usercss-ként" | ||||
|   }, | ||||
|   "manageNewUI": { | ||||
|     "message": "Az új kezelési felületkiosztás" | ||||
|     "message": "Új kezelői felület" | ||||
|   }, | ||||
|   "manageOnlyDisabled": { | ||||
|     "message": "Csak letiltott stílusok" | ||||
|  | @ -497,13 +497,13 @@ | |||
|     "message": "Csak helyileg létrehozott stílusok" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Csak nem Usercss stílusok" | ||||
|   }, | ||||
|   "manageOnlyUpdates": { | ||||
|     "message": "Csak frissíthetőek vagy problémásak" | ||||
|     "message": "Csak a frissíthetők vagy problémásak" | ||||
|   }, | ||||
|   "manageOnlyUsercss": { | ||||
|     "message": "Csak Usercss stílusok" | ||||
|  | @ -524,7 +524,7 @@ | |||
|     "message": "Beállítások" | ||||
|   }, | ||||
|   "openStylesManager": { | ||||
|     "message": "A frissítéskezelő megnyitása" | ||||
|     "message": "Stíluskezelő megnyitása" | ||||
|   }, | ||||
|   "optionsActions": { | ||||
|     "message": "Műveletek" | ||||
|  | @ -533,13 +533,13 @@ | |||
|     "message": "Haladó" | ||||
|   }, | ||||
|   "optionsAdvancedContextDelete": { | ||||
|     "message": "Delete hozzáadása a gyorsmenühöz" | ||||
|     "message": "'Törlés' parancs a szerkesztő helyi menüjében" | ||||
|   }, | ||||
|   "optionsAdvancedExposeIframes": { | ||||
|     "message": "iframe-ek kitevése HTML[stylus-iframe]-en keresztül" | ||||
|   }, | ||||
|   "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": { | ||||
|     "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" | ||||
|   }, | ||||
|   "optionsCustomizeBadge": { | ||||
|     "message": "Jelvény az eszköztárikonon" | ||||
|     "message": "Ikon képe az eszköztáron" | ||||
|   }, | ||||
|   "optionsCustomizeIcon": { | ||||
|     "message": "Eszköztárikon" | ||||
|   }, | ||||
|   "optionsCustomizePopup": { | ||||
|     "message": "Felugró" | ||||
|     "message": "Felugró ablak" | ||||
|   }, | ||||
|   "optionsCustomizeUpdate": { | ||||
|     "message": "Frissítések" | ||||
|  | @ -587,13 +587,13 @@ | |||
|     "message": "Felugró ablak szélessége (pixelben)" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Beállítások visszaállítása alapra" | ||||
|     "message": "Alapértelmezés visszaállítása" | ||||
|   }, | ||||
|   "optionsSubheading": { | ||||
|     "message": "Még több beállítás" | ||||
|     "message": "További beállítások" | ||||
|   }, | ||||
|   "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!" | ||||
|  | @ -620,19 +620,19 @@ | |||
|     "message": "A Stylus nem tudta elemezni a usercss-t" | ||||
|   }, | ||||
|   "popupBorders": { | ||||
|     "message": "Fehér szegélyek használata két oldalt" | ||||
|     "message": "Fehér szegély az oldalakon" | ||||
|   }, | ||||
|   "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": { | ||||
|     "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": { | ||||
|     "message": "Kattints az elérhető gyorsbillentyűk megtekintéséhez" | ||||
|     "message": "Elérhető gyorsbillentyűk megtekintése" | ||||
|   }, | ||||
|   "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": { | ||||
|     "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." | ||||
|   }, | ||||
|   "popupStylesFirst": { | ||||
|     "message": "Parancsok előtti stílusok" | ||||
|     "message": "Stílusnevek a parancsok előtt" | ||||
|   }, | ||||
|   "prefShowBadge": { | ||||
|     "message": "A jelenlegi oldalon aktív stílusok száma" | ||||
|  | @ -722,28 +722,28 @@ | |||
|     "message": "Gyorsbillentyűk megadása" | ||||
|   }, | ||||
|   "sortDateNewestFirst": { | ||||
|     "message": "a legújabb elöl" | ||||
|     "message": "újabb elöl" | ||||
|   }, | ||||
|   "sortDateOldestFirst": { | ||||
|     "message": "a legrégebbi elöl" | ||||
|     "message": "régebbi elöl" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Cím növekvő sorrendben" | ||||
|     "message": "Cím - növekvő sorrend" | ||||
|   }, | ||||
|   "sortLabelTitleDesc": { | ||||
|     "message": "Cím csökkenő sorrendben" | ||||
|     "message": "Cím - csökkenő sorrend" | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "Tartalom rendezése" | ||||
|   }, | ||||
|   "styleBadRegexp": { | ||||
|     "message": "Érvénytelen regexp." | ||||
|     "message": "Érvénytelen reguláris kifejezés." | ||||
|   }, | ||||
|   "styleBeautify": { | ||||
|     "message": "Csinosít" | ||||
|  | @ -788,14 +788,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "„$stylename$” már telepítve van. Felülírod?\nVerzió: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -833,28 +833,28 @@ | |||
|     "message": "Írj be egy nevet!" | ||||
|   }, | ||||
|   "styleMozillaFormatHeading": { | ||||
|     "message": "Mozilla formátum" | ||||
|     "message": "Mozilla-formátum" | ||||
|   }, | ||||
|   "styleNotAppliedRegexpProblemTooltip": { | ||||
|     "message": "A stílus nem lett alkalmazva a „regexp()” helytelen használata miatt" | ||||
|   }, | ||||
|   "styleRegexpInvalidExplanation": { | ||||
|     "message": "Egyes „regexp()” szabályokat nem lehetett lefordítani." | ||||
|     "message": "Néhány „regexp()” szabály nem lefordítható." | ||||
|   }, | ||||
|   "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": { | ||||
|     "message": "A nem alkalmazott szeckiók száma helytelen 'regexp()' használat miatt" | ||||
|   }, | ||||
|   "styleRegexpTestButton": { | ||||
|     "message": "RegExp teszt" | ||||
|     "message": "RegExp tesztelése" | ||||
|   }, | ||||
|   "styleRegexpTestFull": { | ||||
|     "message": "Illeszkedő fülek" | ||||
|   }, | ||||
|   "styleRegexpTestInvalid": { | ||||
|     "message": "Kihagyott érvénytelen reguláris kifejezések" | ||||
|     "message": "Kihagyott, érvénytelen reguláris kifejezések" | ||||
|   }, | ||||
|   "styleRegexpTestNone": { | ||||
|     "message": "Nincs illeszkedő fül" | ||||
|  |  | |||
|  | @ -79,6 +79,9 @@ | |||
|   "clickToUninstall": { | ||||
|     "message": "Clica per disinstallare" | ||||
|   }, | ||||
|   "cm_autoCloseBrackets": { | ||||
|     "message": "Chiudi automaticamente parentesi e virgolette" | ||||
|   }, | ||||
|   "cm_autocompleteOnTyping": { | ||||
|     "message": "Completamento automatico durante digitazione" | ||||
|   }, | ||||
|  | @ -86,7 +89,7 @@ | |||
|     "message": "Selezionatore colore per colori CSS" | ||||
|   }, | ||||
|   "cm_indentWithTabs": { | ||||
|     "message": "Usa schede con indentazione intellingente" | ||||
|     "message": "Usa tabulazioni con indentazione intellingente" | ||||
|   }, | ||||
|   "cm_keyMap": { | ||||
|     "message": "Mappa caratteri" | ||||
|  | @ -101,7 +104,7 @@ | |||
|     "message": "Usa indentazione intelligente" | ||||
|   }, | ||||
|   "cm_tabSize": { | ||||
|     "message": "Dimensione scheda" | ||||
|     "message": "Dimensione tabulazione" | ||||
|   }, | ||||
|   "cm_theme": { | ||||
|     "message": "Tema" | ||||
|  | @ -207,11 +210,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ mostrati di $numTotal$ totali", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -523,6 +526,9 @@ | |||
|   "search": { | ||||
|     "message": "Cerca" | ||||
|   }, | ||||
|   "searchNumberOfResults": { | ||||
|     "message": "Numero di occorrenze" | ||||
|   }, | ||||
|   "searchResultInstallCount": { | ||||
|     "message": "Installazioni totali" | ||||
|   }, | ||||
|  | @ -611,14 +617,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' è già installato. Vuoi sovrascriverlo?\nVersione: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numTotal$ 件中の $numShown$ 件を表示", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -797,14 +797,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "「$stylename$」はすでにインストール済みです。上書きしますか?\nバージョン: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -819,6 +819,14 @@ | |||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "styleMetaErrorRangeOrNumber": { | ||||
|     "message": "不正な @var $type$: 最低でも1個の数値を持つ配列である必要があります", | ||||
|     "placeholders": { | ||||
|       "type": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "styleMetaErrorPreprocessor": { | ||||
|     "message": "未サポートの @preprocessor: $preprocessor$", | ||||
|     "placeholders": { | ||||
|  |  | |||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ van de $numTotal$ getoond", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -782,14 +782,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "‘$stylename$’ is al geïnstalleerd. Overschrijven?\nVersie: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "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": { | ||||
|     "message": "Niet-ondersteunde @preprocessor: $preprocessor$", | ||||
|     "placeholders": { | ||||
|  |  | |||
|  | @ -261,11 +261,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "Pokazano $numShown$ z sumy $numTotal$", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -800,14 +800,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' jest już zainstalowany. Zastąpić?\nWersja: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "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": { | ||||
|     "message": "Nieobsługiwany @preprocessor: $preprocessor$", | ||||
|     "placeholders": { | ||||
|  |  | |||
|  | @ -249,11 +249,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ apresentado(s) de $numTotal$total", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -782,14 +782,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "$stylename$já está instalado. Substituir?\nVersão:$oldVersion$-> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -222,11 +222,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ vizualizabile din $numTotal$ ", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -725,14 +725,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' este deja instalată. Scrieți peste?\nVersiune: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -261,11 +261,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "найдено $numShown$ из $numTotal$всего", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -803,14 +803,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' уже установлен. Обновить?\nВерсии: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -255,11 +255,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "已显示 $numShown$ 个,总共 $numTotal$ 个", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -776,14 +776,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "'$stylename$' 已经安装,要覆盖吗?\n版本: $oldVersion$ -> $newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  |  | |||
|  | @ -206,7 +206,7 @@ | |||
|     "message": "用Stylus(一個用戶樣式管理器)重塑網頁。 Stylus 讓你能為诸多主流網站輕鬆的安裝主題和皮膚。" | ||||
|   }, | ||||
|   "disableAllStyles": { | ||||
|     "message": "禁用所有樣式" | ||||
|     "message": "停用所有樣式" | ||||
|   }, | ||||
|   "disableStyleLabel": { | ||||
|     "message": "停用" | ||||
|  | @ -261,11 +261,11 @@ | |||
|   "filteredStyles": { | ||||
|     "message": "$numShown$ 個已顯示,總共 $numTotal$ 個", | ||||
|     "placeholders": { | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "numTotal": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "numShown": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -800,14 +800,14 @@ | |||
|   "styleInstallOverwrite": { | ||||
|     "message": "「$stylename$」已安裝。要覆寫嗎?\n版本:$oldVersion$→$newVersion$", | ||||
|     "placeholders": { | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       }, | ||||
|       "newVersion": { | ||||
|         "content": "$3" | ||||
|       }, | ||||
|       "oldVersion": { | ||||
|         "content": "$2" | ||||
|       }, | ||||
|       "stylename": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|  | @ -822,6 +822,14 @@ | |||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "styleMetaErrorRangeOrNumber": { | ||||
|     "message": "無效的 @var $type$:值必須為在索引零處包含至少一個數字的陣列", | ||||
|     "placeholders": { | ||||
|       "type": { | ||||
|         "content": "$1" | ||||
|       } | ||||
|     } | ||||
|   }, | ||||
|   "styleMetaErrorPreprocessor": { | ||||
|     "message": "不支援的 @preprocessor:$preprocessor$", | ||||
|     "placeholders": { | ||||
|  |  | |||
|  | @ -17,15 +17,18 @@ | |||
|     "semver-bundle": "^0.1.1", | ||||
|     "stylelint-bundle": "^8.0.0", | ||||
|     "stylus-lang-bundle": "^0.54.5", | ||||
|     "updates": "^4.2.1" | ||||
|     "updates": "^4.2.1", | ||||
|     "webext-tx-fix": "^0.3.1" | ||||
|   }, | ||||
|   "scripts": { | ||||
|     "lint": "eslint **/*.js --cache || exit 0", | ||||
|     "update": "npm run update-node && 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-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", | ||||
|     "zip": "npm run update-versions && node tools/zip.js" | ||||
|   } | ||||
|  |  | |||
|  | @ -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 | ||||
|  | @ -1,2 +0,0 @@ | |||
| ruby pull_locales.rb | ||||
| python pull_locales_postprocess.py | ||||
|  | @ -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 '' | ||||
|             )) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user