lang sync + new transifex API compatible tool to sync translations
This commit is contained in:
parent
9ef2ae6341
commit
bd17de94e9
@ -5458,7 +5458,9 @@ File filter for external e-mail selection dialog.</extracomment>
|
||||
<source>Placeholders:
|
||||
• %1 - title of selected message,
|
||||
• %2 - body of selected message.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Placeholders:
|
||||
• %1 - title of selected message,
|
||||
• %2 - body of selected message.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="301"/>
|
||||
|
@ -134,7 +134,7 @@ Error: %1</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/application.cpp" line="534"/>
|
||||
<source>Output directory is not writable.</source>
|
||||
<translation>La carpeta de salida catrece de permisos de escritura.</translation>
|
||||
<translation>La carpeta de salida carece de permisos de escritura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/application.cpp" line="542"/>
|
||||
@ -149,7 +149,7 @@ Error: %1</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/application.cpp" line="566"/>
|
||||
<source>Settings restoration was not initiated. Make sure that output directory is writable.</source>
|
||||
<translation>La restauración de la configuración no fue iniciada. Verifique que la carpeta de salida tiene permisos de escritura.</translation>
|
||||
<translation>Fue imposible iniciar la restauración de la configuración. Verifique que la carpeta de salida tiene permisos de escritura.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/application.cpp" line="1038"/>
|
||||
@ -255,7 +255,7 @@ versión pulsando en esta notificación emergente.</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="30"/>
|
||||
<source>Username is ok or it is not needed.</source>
|
||||
<translation>El nombre de usuario es válido o no se necesita.</translation>
|
||||
<translation>El nombre de usuario es válido o innecesario.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="31"/>
|
||||
@ -265,7 +265,7 @@ versión pulsando en esta notificación emergente.</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="41"/>
|
||||
<source>Password is ok or it is not needed.</source>
|
||||
<translation>La contraseña es válida o no se necesita.</translation>
|
||||
<translation>La contraseña es válida o innecesaria.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/authenticationdetails.cpp" line="42"/>
|
||||
@ -365,7 +365,7 @@ versión pulsando en esta notificación emergente.</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/discoverfeedsbutton.cpp" line="56"/>
|
||||
<source>Given account does not support adding feeds.</source>
|
||||
<translation>La cuenta no admite añadir fuentes.</translation>
|
||||
<translation>La cuenta proporcionada carece de soporte para añadir fuentes.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/discoverfeedsbutton.cpp" line="79"/>
|
||||
@ -375,12 +375,12 @@ versión pulsando en esta notificación emergente.</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/discoverfeedsbutton.cpp" line="32"/>
|
||||
<source>This website does not contain any feeds</source>
|
||||
<translation>Este sitio web no contiene fuentes</translation>
|
||||
<translation>Este sitio web carece de fuentes</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/librssguard/gui/reusable/discoverfeedsbutton.cpp" line="33"/>
|
||||
<source>Add one of %n feed(s)</source>
|
||||
<translation><numerusform>Añadir uno de %n fuente</numerusform><numerusform>Añadir uno de %n fuentes</numerusform><numerusform>Añadir uno de %n fuente(s)</numerusform></translation>
|
||||
<translation><numerusform>Añadir uno de %n fuente(s)</numerusform><numerusform>Añadir uno de %n fuente(s)</numerusform><numerusform>Añadir uno de %n fuente(s)</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/reusable/discoverfeedsbutton.cpp" line="55"/>
|
||||
@ -620,7 +620,7 @@ Pulse aquí para abrir la carpeta principal.</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/gmail/gui/emailrecipientcontrol.cpp" line="40"/>
|
||||
<source>Reply-to</source>
|
||||
<translation>Responder A</translation>
|
||||
<translation>Responder a</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/gmail/gui/emailrecipientcontrol.cpp" line="27"/>
|
||||
@ -668,13 +668,13 @@ Estado: %3</translation>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="239"/>
|
||||
<source>uses global settings (%n minute(s) to next auto-fetch of articles)</source>
|
||||
<translation><numerusform>utiliza la configuración global (%n en minuto) para la próxima obtención automática de artículos)</numerusform><numerusform>utiliza la configuración global (%n en minutos) para la próxima obtención automática de artículos)</numerusform><numerusform>utiliza la configuración global (%n en minutos) para la próxima obtención automática de artículos)</numerusform></translation>
|
||||
<translation><numerusform>utiliza la configuración global (%n minuto(s) para la próxima obtención automática de artículos)</numerusform><numerusform>utiliza la configuración global (%n en minuto(s) para la próxima obtención automática de artículos)</numerusform><numerusform>utiliza la configuración global (%n en minuto(s) para la próxima obtención automática de artículos)</numerusform></translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="252"/>
|
||||
<source>uses specific settings (%n minute(s) to next auto-fetching of new articles)</source>
|
||||
<extracomment>Describes feed auto-update status.</extracomment>
|
||||
<translation><numerusform>usa configuraciones específicas (% minuto) para la próxima búsqueda automática de nuevos artículos)</numerusform><numerusform>usa configuraciones específicas (%n minutos) para la próxima búsqueda automática de nuevos artículos)</numerusform><numerusform>usa configuraciones específicas (%n minutos) para la próxima búsqueda automática de nuevos artículos)</numerusform></translation>
|
||||
<translation><numerusform>usa configuraciones específicas (% minuto) para la próxima búsqueda automática de nuevos artículos)</numerusform><numerusform>usa configuraciones específicas (%n minuto(s) para la próxima búsqueda automática de nuevos artículos)</numerusform><numerusform>usa configuraciones específicas (%n minuto(s) para la próxima búsqueda automática de nuevos artículos)</numerusform></translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="267"/>
|
||||
@ -5308,7 +5308,8 @@ Expiración de testigos de ingreso: %2</translation>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="298"/>
|
||||
<source>Number of feeds: %1
|
||||
Number of categories: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Número de fuentes: %1
|
||||
Número de categorías: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="537"/>
|
||||
@ -5398,7 +5399,7 @@ File filter for external e-mail selection dialog.</extracomment>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="55"/>
|
||||
<source>Disable cache</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Desactivar caché</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="63"/>
|
||||
@ -7140,7 +7141,7 @@ Noticias sin leer: %2</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="16"/>
|
||||
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.<br/><br/>Also, make sure to install <a href="https://www.google.com">api_newsplus</a> TT-RSS plugin to your server instance.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Si selecciona la sincronización inteligente, sólo se descargarán los artículos actualizados o que aún no se hayan obtenido. El uso de la red se reduce considerablemente y la velocidad de sincronización general mejora considerablemente, pero la obtención de la primera fuente podría ser lenta de todos modos si su fuente contiene una gran cantidad de artículos.<br/><br/>También, asegúrese de instalar el complemento TT-RSS<a href="https://www.google.com">api_newsplus</a> en la instancia de su servidor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="26"/>
|
||||
|
@ -5309,7 +5309,8 @@ Expiração dos tokens de login: %2</translation>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="298"/>
|
||||
<source>Number of feeds: %1
|
||||
Number of categories: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Número de feeds: %1
|
||||
Número de categorias: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="537"/>
|
||||
@ -5399,7 +5400,7 @@ File filter for external e-mail selection dialog.</extracomment>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="55"/>
|
||||
<source>Disable cache</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Desativar cache</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="63"/>
|
||||
@ -7139,7 +7140,7 @@ Notícias não lidas: %2</translation>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="16"/>
|
||||
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.<br/><br/>Also, make sure to install <a href="https://www.google.com">api_newsplus</a> TT-RSS plugin to your server instance.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>Se você selecionar a sincronização inteligente, apenas os artigos ainda não buscados ou atualizados serão baixados. O uso da rede é muito reduzido e a velocidade geral de sincronização é muito melhorada, mas a busca do primeiro feed pode ser lenta de qualquer maneira se o seu feed contiver um grande número de artigos.<br/><br/>Também, certifique-se de instalar o plugin TT-RSS <a href="https://www.google.com">api_newsplus</a> em sua instância do servidor.</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="26"/>
|
||||
|
@ -78,7 +78,7 @@ Error: %1</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockdialog.ui" line="58"/>
|
||||
<source>Filter lists</source>
|
||||
<translation>篩選器清單</translation>
|
||||
<translation>篩選規則清單</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockdialog.ui" line="64"/>
|
||||
@ -88,7 +88,7 @@ Error: %1</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockdialog.ui" line="78"/>
|
||||
<source>Custom filters</source>
|
||||
<translation>自訂篩選器</translation>
|
||||
<translation>自訂篩選規則</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockdialog.ui" line="84"/>
|
||||
@ -114,7 +114,7 @@ Error: %1</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockmanager.cpp" line="198"/>
|
||||
<source>Failed to setup filters and start server: %1.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>無法建立篩選規則,並啟動伺服器: %1。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/network-web/adblock/adblockmanager.cpp" line="375"/>
|
||||
@ -631,7 +631,7 @@ Click here to open parent directory.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="242"/>
|
||||
<source>uses global settings, but global auto-fetching of articles is disabled</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>使用全局設定,但停用全局自動下載文章</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/feed.cpp" line="264"/>
|
||||
@ -654,7 +654,7 @@ Click here to open parent directory.</source>
|
||||
Active message filters: %2
|
||||
Status: %3</source>
|
||||
<translation>自動更新之狀態: %1
|
||||
使用中的篩選器: %2
|
||||
使用中的篩選規則: %2
|
||||
狀態: %3</translation>
|
||||
</message>
|
||||
<message>
|
||||
@ -1374,7 +1374,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/formcategorydetails.cpp" line="157"/>
|
||||
<source>Images (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>圖片(%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/formcategorydetails.cpp" line="163"/>
|
||||
@ -1689,7 +1689,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/gui/formfeeddetails.ui" line="79"/>
|
||||
<source>Ignore notifications for this feed</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>忽略此文元的通知</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -1697,7 +1697,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formlog.cpp" line="16"/>
|
||||
<source>Application log</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>應用程式的記錄</translation>
|
||||
</message>
|
||||
</context>
|
||||
<context>
|
||||
@ -2286,7 +2286,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="890"/>
|
||||
<source>Display application &log</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>顯示應用程式的記錄(&L)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmain.ui" line="738"/>
|
||||
@ -2383,7 +2383,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.cpp" line="244"/>
|
||||
<source>Cannot save new filter, error: '%1'.</source>
|
||||
<translation>無法儲存新篩選器,錯誤: '%1'。</translation>
|
||||
<translation>無法儲存新篩選規則,錯誤: '%1'。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.cpp" line="189"/>
|
||||
@ -2448,7 +2448,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.cpp" line="208"/>
|
||||
<source>Do you really want to remove selected filter?</source>
|
||||
<translation>真要移除所選篩選方式嗎?</translation>
|
||||
<translation>真要移除所選篩選規則嗎?</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.ui" line="14"/>
|
||||
@ -2473,7 +2473,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.ui" line="86"/>
|
||||
<source>&New filter</source>
|
||||
<translation>新增篩選器(&N)</translation>
|
||||
<translation>新增篩選規則(&N)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.ui" line="115"/>
|
||||
@ -2494,7 +2494,7 @@ or this functionality is not implemented yet.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.ui" line="152"/>
|
||||
<source>Pre-made filters</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>預製的篩選規則</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/dialogs/formmessagefiltersmanager.ui" line="174"/>
|
||||
@ -2752,7 +2752,7 @@ You have to restart manually.</source>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="137"/>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="138"/>
|
||||
<source>Some feeds were not loaded properly or import file is corrupted.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>有些文源無法適當載入,或匯入的檔案有毀損。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="159"/>
|
||||
@ -2827,7 +2827,7 @@ You have to restart manually.</source>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="171"/>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="216"/>
|
||||
<source>OPML 2.0 files (*.opml *.xml)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>OPML 2.0 檔 (*.opml *.xml) </translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.cpp" line="322"/>
|
||||
@ -2858,12 +2858,12 @@ You have to restart manually.</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="55"/>
|
||||
<source>Fetch online metadata</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>取得線上屬性資料</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="64"/>
|
||||
<source>Optional post-processing script</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>可選用的後續處理隨譯即行碼</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/formstandardimportexport.ui" line="95"/>
|
||||
@ -3956,7 +3956,7 @@ Login tokens expiration: %2</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="250"/>
|
||||
<source>Assigned labels</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>配定的標籤</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="252"/>
|
||||
@ -4046,7 +4046,7 @@ Login tokens expiration: %2</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="259"/>
|
||||
<source>Labels assigned to the article.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>配定給文章的標籤</translation>
|
||||
</message>
|
||||
<message numerus="yes">
|
||||
<location filename="../src/librssguard/core/messagesmodel.cpp" line="302"/>
|
||||
@ -4936,12 +4936,12 @@ List of supported readers:</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="506"/>
|
||||
<source>interesting stuff</source>
|
||||
<translation>有趣的項目</translation>
|
||||
<translation>有興趣的項目</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="509"/>
|
||||
<source>interesting stuff (highlighted)</source>
|
||||
<translation>有趣的項目(標示)</translation>
|
||||
<translation>有興趣的項目(標示)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="512"/>
|
||||
@ -4956,12 +4956,12 @@ List of supported readers:</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="518"/>
|
||||
<source>items with new articles</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>有新文章的項目</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="521"/>
|
||||
<source>items with new articles (highlighted)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>有新文章的項目(標示)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/miscellaneous/skinfactory.cpp" line="524"/>
|
||||
@ -5301,7 +5301,8 @@ Login tokens expiration: %2</source>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="298"/>
|
||||
<source>Number of feeds: %1
|
||||
Number of categories: %2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>文源數: %1
|
||||
分類數: %2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/abstract/serviceroot.cpp" line="537"/>
|
||||
@ -5376,22 +5377,22 @@ File filter for external e-mail selection dialog.</extracomment>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="31"/>
|
||||
<source>Enable HTTP/2</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>啟用 HTTP/2</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="39"/>
|
||||
<source>WebEngine</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>網頁呈現引擎(WebEngine)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="45"/>
|
||||
<source>Custom "QTWEBENGINE_CHROMIUM_FLAGS" flags</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>自訂 "QTWEBENGINE_CHROMIUM_FLAGS" 旗標</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="55"/>
|
||||
<source>Disable cache</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>停用快取</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/gui/settings/settingsbrowsermail.ui" line="63"/>
|
||||
@ -6651,7 +6652,7 @@ Type: %3</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="287"/>
|
||||
<source>Images (%1)</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>圖片(%1)</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/standard/gui/standardfeeddetails.cpp" line="293"/>
|
||||
@ -7130,7 +7131,7 @@ Unread news: %2</source>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="16"/>
|
||||
<source>If you select intelligent synchronization, then only not-yet-fetched or updated articles are downloaded. Network usage is greatly reduced and overall synchronization speed is greatly improved, but first feed fetching could be slow anyway if your feed contains huge number of articles.<br/><br/>Also, make sure to install <a href="https://www.google.com">api_newsplus</a> TT-RSS plugin to your server instance.</source>
|
||||
<translation type="unfinished"/>
|
||||
<translation>若選智慧同步,就只下載尚未下載或更新的文章。會大幅降低網路用量,提升整體同步速度。不過第一次下載可能會很慢,如果文源含有大量文章的話。<br/><br/>同時,請確認有安裝<a href="https://www.google.com">api_newsplus</a> TT-RSS 掛件到伺服器的實例。</translation>
|
||||
</message>
|
||||
<message>
|
||||
<location filename="../src/librssguard/services/tt-rss/gui/ttrssaccountdetails.cpp" line="26"/>
|
||||
|
45
resources/scripts/update-localizations.py
Executable file
45
resources/scripts/update-localizations.py
Executable file
@ -0,0 +1,45 @@
|
||||
# Setup parameters.
|
||||
#RESOURCE = "./localization/rssguard_en.ts"
|
||||
#CODES = "cs da de en_GB en_US es fi fr gl he id it ja lt nl pl pt_BR pt_PT ru sv uk zh_CN zh_TW"
|
||||
#TRANSLATION = './localization/rssguard_$CODE.ts'
|
||||
|
||||
|
||||
import sys
|
||||
import os
|
||||
import urllib
|
||||
|
||||
from transifex.api import transifex_api
|
||||
from pprint import pprint
|
||||
|
||||
# Read API token.
|
||||
api_token = sys.argv[1]
|
||||
|
||||
print("API token: {}".format(api_token))
|
||||
|
||||
transifex_api.setup(auth = api_token)
|
||||
|
||||
# Constants.
|
||||
org_slug = "martinrotter"
|
||||
proj_slug = "rssguard"
|
||||
translation_file = os.path.normpath("./localization/rssguard_{}.ts")
|
||||
|
||||
# Organization/project.
|
||||
organization = transifex_api.Organization.get(slug = org_slug)
|
||||
project = organization.fetch('projects').get(slug = proj_slug)
|
||||
resource = project.fetch('resources').get(slug = proj_slug)
|
||||
languages = project.fetch('languages')
|
||||
|
||||
# Upload resource file.
|
||||
with open(translation_file.format("en"), "r", encoding = "utf-8") as file:
|
||||
print("Uploading resource...")
|
||||
|
||||
resource_data = file.read()
|
||||
transifex_api.ResourceStringsAsyncUpload.upload(resource_data, resource = resource)
|
||||
|
||||
# Download translations.
|
||||
for lang in languages:
|
||||
print("Downloading {} translation...".format(lang.code))
|
||||
|
||||
url = transifex_api.ResourceTranslationsAsyncDownload.download(resource = resource, language = lang)
|
||||
target_path = translation_file.format(lang.code)
|
||||
urllib.request.urlretrieve(url, target_path)
|
@ -1,23 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Transka executable.
|
||||
TRANSKA="$(dirname "$0")/transka/transka"
|
||||
|
||||
# Get credentials.
|
||||
read -e -p "Username: " -i "martinrotter" USERNAME
|
||||
read -p "Password: " PASSWORD
|
||||
|
||||
# Setup parameters.
|
||||
RESOURCE="./localization/rssguard_en.ts"
|
||||
CODES="cs da de en_GB en_US es fi fr gl he id it ja lt nl pl pt_BR pt_PT ru sv uk zh_CN zh_TW"
|
||||
TRANSLATION='./localization/rssguard_$CODE.ts'
|
||||
|
||||
declare PARAMS
|
||||
|
||||
PARAMS+="-u "$USERNAME" -p "$PASSWORD" -ps "rssguard" -rs "rssguard" -ur "$RESOURCE" "
|
||||
|
||||
for CODE in $CODES; do
|
||||
PARAMS+="-dt "$CODE" "$(eval echo $TRANSLATION)" "
|
||||
done
|
||||
|
||||
$TRANSKA $PARAMS
|
Loading…
x
Reference in New Issue
Block a user