mirror of
https://github.com/geometer/FBReaderJ.git
synced 2025-10-03 09:49:19 +02:00
resources synchronization script + synchronized resources
This commit is contained in:
parent
186251ab79
commit
40d76fdd68
24 changed files with 161 additions and 2 deletions
|
@ -626,6 +626,11 @@
|
||||||
<node name="selectImage" value="Dlouhé klepnutí vybere obrázek"/>
|
<node name="selectImage" value="Dlouhé klepnutí vybere obrázek"/>
|
||||||
<node name="openImageView" value="Dlouhé klepnutí otevře zobrazení obrázku"/>
|
<node name="openImageView" value="Dlouhé klepnutí otevře zobrazení obrázku"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Nabídka Zrušit">
|
<node name="cancelMenu" value="Nabídka Zrušit">
|
||||||
<node name="summary" value="Seznam akcí tlačítka Zpět"/>
|
<node name="summary" value="Seznam akcí tlačítka Zpět"/>
|
||||||
|
|
|
@ -628,6 +628,11 @@
|
||||||
<node name="selectImage" value="Langes Antippen selektiert das Bild."/>
|
<node name="selectImage" value="Langes Antippen selektiert das Bild."/>
|
||||||
<node name="openImageView" value="Langes Antippen öffnet die Bildanzeige."/>
|
<node name="openImageView" value="Langes Antippen öffnet die Bildanzeige."/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Zurück-Menü">
|
<node name="cancelMenu" value="Zurück-Menü">
|
||||||
<node name="summary" value="Aktion beim Drücken der Zurück-Taste."/>
|
<node name="summary" value="Aktion beim Drücken der Zurück-Taste."/>
|
||||||
|
|
|
@ -619,6 +619,11 @@
|
||||||
<node name="selectImage" value="Seleccionar imagen"/>
|
<node name="selectImage" value="Seleccionar imagen"/>
|
||||||
<node name="openImageView" value="Abrir vista de imagen"/>
|
<node name="openImageView" value="Abrir vista de imagen"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Menú cancelar">
|
<node name="cancelMenu" value="Menú cancelar">
|
||||||
<node name="summary" value="Lista de acciones para botón «atrás»"/>
|
<node name="summary" value="Lista de acciones para botón «atrás»"/>
|
||||||
|
|
|
@ -619,6 +619,11 @@
|
||||||
<node name="selectImage" value="Un appui long selectionne l'image"/>
|
<node name="selectImage" value="Un appui long selectionne l'image"/>
|
||||||
<node name="openImageView" value="Un appui long affiche l'image seule"/>
|
<node name="openImageView" value="Un appui long affiche l'image seule"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Bouton retour">
|
<node name="cancelMenu" value="Bouton retour">
|
||||||
<node name="summary" value="Liste des actions du bouton retour"/>
|
<node name="summary" value="Liste des actions du bouton retour"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
||||||
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
||||||
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="A hosszú érintés kijelöli a képet"/>
|
<node name="selectImage" value="A hosszú érintés kijelöli a képet"/>
|
||||||
<node name="openImageView" value="A hosszú érintés megnyitja a képnézőt"/>
|
<node name="openImageView" value="A hosszú érintés megnyitja a képnézőt"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Vissza menü">
|
<node name="cancelMenu" value="Vissza menü">
|
||||||
<node name="summary" value="Vissza gomb műveletek"/>
|
<node name="summary" value="Vissza gomb műveletek"/>
|
||||||
|
|
|
@ -617,6 +617,11 @@
|
||||||
<node name="selectImage" value="Tocco lungo seleziona l'immagine"/>
|
<node name="selectImage" value="Tocco lungo seleziona l'immagine"/>
|
||||||
<node name="openImageView" value="Tocco lungo apre visualizzazione immagine"/>
|
<node name="openImageView" value="Tocco lungo apre visualizzazione immagine"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Menu Annulla">
|
<node name="cancelMenu" value="Menu Annulla">
|
||||||
<node name="summary" value="Lista azioni pulsante Annulla"/>
|
<node name="summary" value="Lista azioni pulsante Annulla"/>
|
||||||
|
|
|
@ -626,6 +626,11 @@
|
||||||
<node name="selectImage" value="Langvarig trykk velger bildet"/>
|
<node name="selectImage" value="Langvarig trykk velger bildet"/>
|
||||||
<node name="openImageView" value="Langvarig trykk åpner bildevisning"/>
|
<node name="openImageView" value="Langvarig trykk åpner bildevisning"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Avbryt meny">
|
<node name="cancelMenu" value="Avbryt meny">
|
||||||
<node name="summary" value="Handlingsliste for tilbakeknappen"/>
|
<node name="summary" value="Handlingsliste for tilbakeknappen"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
||||||
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Afsluitmenu">
|
<node name="cancelMenu" value="Afsluitmenu">
|
||||||
<node name="summary" value="Terugknop actie"/>
|
<node name="summary" value="Terugknop actie"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Przytrzymanie zaznacza obraz"/>
|
<node name="selectImage" value="Przytrzymanie zaznacza obraz"/>
|
||||||
<node name="openImageView" value="Przytrzymanie otwiera podgląd obrazu"/>
|
<node name="openImageView" value="Przytrzymanie otwiera podgląd obrazu"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Przycisk wstecz">
|
<node name="cancelMenu" value="Przycisk wstecz">
|
||||||
<node name="summary" value="Menu przycisku wstecz"/>
|
<node name="summary" value="Menu przycisku wstecz"/>
|
||||||
|
|
|
@ -628,6 +628,11 @@
|
||||||
<node name="selectImage" value="Toque contínuo seleciona a imagem"/>
|
<node name="selectImage" value="Toque contínuo seleciona a imagem"/>
|
||||||
<node name="openImageView" value="Toque contínuo abre visualização de imagem"/>
|
<node name="openImageView" value="Toque contínuo abre visualização de imagem"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Cancelar menu">
|
<node name="cancelMenu" value="Cancelar menu">
|
||||||
<node name="summary" value="Lista de ação da tecla Voltar"/>
|
<node name="summary" value="Lista de ação da tecla Voltar"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Apasând lung selecteaza imaginea"/>
|
<node name="selectImage" value="Apasând lung selecteaza imaginea"/>
|
||||||
<node name="openImageView" value="Apasând lung se vizualizeaza imaginea"/>
|
<node name="openImageView" value="Apasând lung se vizualizeaza imaginea"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Anuleaza meniu">
|
<node name="cancelMenu" value="Anuleaza meniu">
|
||||||
<node name="summary" value="Lista actiunilor pentru butonul inapoi"/>
|
<node name="summary" value="Lista actiunilor pentru butonul inapoi"/>
|
||||||
|
|
|
@ -631,6 +631,11 @@
|
||||||
<node name="selectImage" value="Выделять картинку"/>
|
<node name="selectImage" value="Выделять картинку"/>
|
||||||
<node name="openImageView" value="Запускать полноэкранный просмотр"/>
|
<node name="openImageView" value="Запускать полноэкранный просмотр"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Показывать на весь экран">
|
||||||
|
<node name="none" value="Никогда"/>
|
||||||
|
<node name="covers" value="Только обложки"/>
|
||||||
|
<node name="all" value="Все картинки"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Меню выхода из программы">
|
<node name="cancelMenu" value="Меню выхода из программы">
|
||||||
<node name="summary" value="Список действий при нажатии на кнопку 'Назад'"/>
|
<node name="summary" value="Список действий при нажатии на кнопку 'Назад'"/>
|
||||||
|
|
|
@ -626,6 +626,11 @@
|
||||||
<node name="selectImage" value="Дуго тапкање одабира слику"/>
|
<node name="selectImage" value="Дуго тапкање одабира слику"/>
|
||||||
<node name="openImageView" value="Дуго тапкање отвара слику"/>
|
<node name="openImageView" value="Дуго тапкање отвара слику"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Мени за отказивање">
|
<node name="cancelMenu" value="Мени за отказивање">
|
||||||
<node name="summary" value="Списак радњи с дугметом „Назад“."/>
|
<node name="summary" value="Списак радњи с дугметом „Назад“."/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
||||||
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
||||||
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
||||||
|
|
|
@ -626,6 +626,11 @@
|
||||||
<node name="selectImage" value="Uzun dokunma resmi seçsin"/>
|
<node name="selectImage" value="Uzun dokunma resmi seçsin"/>
|
||||||
<node name="openImageView" value="Uzun dokunma resmi açsın"/>
|
<node name="openImageView" value="Uzun dokunma resmi açsın"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="İptal menüsü">
|
<node name="cancelMenu" value="İptal menüsü">
|
||||||
<node name="summary" value="Geri düğmesi eylem listesi"/>
|
<node name="summary" value="Geri düğmesi eylem listesi"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Довге натискання виділяє зображення"/>
|
<node name="selectImage" value="Довге натискання виділяє зображення"/>
|
||||||
<node name="openImageView" value="Довге натискання відкриває перегляд зображення"/>
|
<node name="openImageView" value="Довге натискання відкриває перегляд зображення"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Меню відміни">
|
<node name="cancelMenu" value="Меню відміни">
|
||||||
<node name="summary" value="Список дій кнопки Назад"/>
|
<node name="summary" value="Список дій кнопки Назад"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
||||||
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
<node name="cancelMenu" value="Cancel menu" toBeTranslated="true">
|
||||||
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
<node name="summary" value="Back button action list" toBeTranslated="true"/>
|
||||||
|
|
|
@ -616,6 +616,11 @@
|
||||||
<node name="selectImage" value="长按选择图像"/>
|
<node name="selectImage" value="长按选择图像"/>
|
||||||
<node name="openImageView" value="长按打开图像"/>
|
<node name="openImageView" value="长按打开图像"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="取消菜单设定">
|
<node name="cancelMenu" value="取消菜单设定">
|
||||||
<node name="summary" value="设定回退按键动作"/>
|
<node name="summary" value="设定回退按键动作"/>
|
||||||
|
|
|
@ -621,6 +621,11 @@
|
||||||
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
<node name="selectImage" value="Long tapping selects the image" toBeTranslated="true"/>
|
||||||
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
<node name="openImageView" value="Long tapping opens image view" toBeTranslated="true"/>
|
||||||
</node>
|
</node>
|
||||||
|
<node name="fitImagesToScreen" value="Fit images to screen" toBeTranslated="true">
|
||||||
|
<node name="none" value="None" toBeTranslated="true"/>
|
||||||
|
<node name="covers" value="Covers only" toBeTranslated="true"/>
|
||||||
|
<node name="all" value="All" toBeTranslated="true"/>
|
||||||
|
</node>
|
||||||
</node>
|
</node>
|
||||||
<node name="cancelMenu" value="取消選單">
|
<node name="cancelMenu" value="取消選單">
|
||||||
<node name="summary" value="返回鍵動作列表"/>
|
<node name="summary" value="返回鍵動作列表"/>
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
<node name="lt" value="Lituano"/>
|
<node name="lt" value="Lituano"/>
|
||||||
<node name="nl" value="Olandese"/>
|
<node name="nl" value="Olandese"/>
|
||||||
<node name="nb" value="Norvegese"/>
|
<node name="nb" value="Norvegese"/>
|
||||||
<node name="pl" toBeTranslated="true" value="Polish"/>
|
<node name="pl" value="Polish" toBeTranslated="true"/>
|
||||||
<node name="pt" value="Portoghese"/>
|
<node name="pt" value="Portoghese"/>
|
||||||
<node name="ro" value="Romanian" toBeTranslated="true"/>
|
<node name="ro" value="Romanian" toBeTranslated="true"/>
|
||||||
<node name="ru" value="Russo"/>
|
<node name="ru" value="Russo"/>
|
||||||
|
|
|
@ -50,7 +50,7 @@
|
||||||
<node name="lt" value="Tiếng Lát-vi"/>
|
<node name="lt" value="Tiếng Lát-vi"/>
|
||||||
<node name="nl" value="Tiếng Hà Lan"/>
|
<node name="nl" value="Tiếng Hà Lan"/>
|
||||||
<node name="nb" value="Tiếng Nauy"/>
|
<node name="nb" value="Tiếng Nauy"/>
|
||||||
<node name="pl" toBeTranslated="true" value="Polish"/>
|
<node name="pl" value="Polish" toBeTranslated="true"/>
|
||||||
<node name="pt" value="Tiếng Bồ Đào Nha"/>
|
<node name="pt" value="Tiếng Bồ Đào Nha"/>
|
||||||
<node name="ro" value="Romanian" toBeTranslated="true"/>
|
<node name="ro" value="Romanian" toBeTranslated="true"/>
|
||||||
<node name="ru" value="Tiếng Nga"/>
|
<node name="ru" value="Tiếng Nga"/>
|
||||||
|
|
36
scripts/resources/repair.py
Executable file
36
scripts/resources/repair.py
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/usr/bin/python
|
||||||
|
|
||||||
|
import sys
|
||||||
|
from xml.dom import minidom
|
||||||
|
|
||||||
|
def processNodes(base, custom):
|
||||||
|
customChild = custom.firstChild
|
||||||
|
for baseChild in base.childNodes:
|
||||||
|
if baseChild.nodeType != minidom.Node.ELEMENT_NODE:
|
||||||
|
continue
|
||||||
|
while customChild is not None and customChild.nodeType != minidom.Node.ELEMENT_NODE:
|
||||||
|
customChild = customChild.nextSibling
|
||||||
|
if baseChild.nodeName == 'node':
|
||||||
|
name = baseChild.getAttribute('name')
|
||||||
|
if name == '':
|
||||||
|
continue
|
||||||
|
if customChild is None or name != customChild.getAttribute('name'):
|
||||||
|
newNode = custom.ownerDocument.createElement('node')
|
||||||
|
newNode.setAttribute('name', name);
|
||||||
|
value = baseChild.getAttribute('value')
|
||||||
|
if value != '':
|
||||||
|
newNode.setAttribute('value', value);
|
||||||
|
newNode.setAttribute('toBeTranslated', 'true');
|
||||||
|
customChild = custom.insertBefore(newNode, customChild)
|
||||||
|
processNodes(baseChild, customChild)
|
||||||
|
customChild = customChild.nextSibling
|
||||||
|
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
print 'Usage: %s <en.xml> <custom.xml>' % sys.argv[0]
|
||||||
|
exit(1)
|
||||||
|
|
||||||
|
base_model = minidom.parse(sys.argv[1])
|
||||||
|
custom_model = minidom.parse(sys.argv[2])
|
||||||
|
|
||||||
|
processNodes(base_model, custom_model)
|
||||||
|
print custom_model.toxml('UTF-8')
|
23
scripts/resources/synchronize.sh
Executable file
23
scripts/resources/synchronize.sh
Executable file
|
@ -0,0 +1,23 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
doRepair() {
|
||||||
|
./repair.py $1 $2 | xmllint --format - | sed 's/\(toBeTranslated="true"\) \(value=".*"\)\(.*\)$/\2 \1\3/'
|
||||||
|
}
|
||||||
|
|
||||||
|
if [ "$1" == "" ]; then
|
||||||
|
part=application
|
||||||
|
else
|
||||||
|
part=$1
|
||||||
|
fi
|
||||||
|
|
||||||
|
sed "s/ /#XXX;/g" ../../assets/resources/$part/en.xml > en.tra
|
||||||
|
|
||||||
|
for file in ../../assets/resources/$part/*.xml; do
|
||||||
|
shortname=`basename $file .xml`
|
||||||
|
if [ $shortname != en ]; then
|
||||||
|
sed "s/ /#XXX;/g" $file > $shortname.tra
|
||||||
|
doRepair en.tra $shortname.tra | sed "s/#XXX;/\ /g" > $file
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
|
rm *.tra
|
Loading…
Add table
Add a link
Reference in a new issue