From 8d4cecdf6847c72dd0b6b0abc5ba779a05c65303 Mon Sep 17 00:00:00 2001 From: Maxim Kadushkin Date: Sun, 21 Jan 2018 19:01:28 +0300 Subject: [PATCH] [win-nix] debug translation to brazilian --- common/loginpage/src/locale.js | 8 ++++-- win-linux/defaults.pri | 3 +- win-linux/langs/pt_BR.qm | Bin 0 -> 5223 bytes win-linux/package/windows/associate_page.iss | 28 +++++++++---------- win-linux/package/windows/common.iss | 17 +++++------ win-linux/resources.qrc | 1 + win-linux/src/clangater.cpp | 6 +++- 7 files changed, 37 insertions(+), 26 deletions(-) create mode 100644 win-linux/langs/pt_BR.qm diff --git a/common/loginpage/src/locale.js b/common/loginpage/src/locale.js index fba82a5bd..a5fdc0a0e 100644 --- a/common/loginpage/src/locale.js +++ b/common/loginpage/src/locale.js @@ -595,8 +595,12 @@ function loadLocale(lang) { +function mixLocale(lang) { utils.Lang = window['en']; - if ( lang && window[lang] ) - loadLocale(lang); + if ( lang ) { + lang = lang.replace('-', '_'); + + if ( window[lang] ) + loadLocale(lang); + } }(window.utils.inParams.lang); /* diff --git a/win-linux/defaults.pri b/win-linux/defaults.pri index 6745700ac..701429fa2 100644 --- a/win-linux/defaults.pri +++ b/win-linux/defaults.pri @@ -11,7 +11,8 @@ TRANSLATIONS = ./langs/en.ts \ ./langs/es.ts \ ./langs/cs.ts \ ./langs/sk.ts \ - ./langs/fr.ts + ./langs/fr.ts \ + ./langs/pt_BR.ts CORE_SRC_PATH = ../../core/DesktopEditor BASEEDITORS_PATH = ../../desktop-sdk/ChromiumBasedEditors diff --git a/win-linux/langs/pt_BR.qm b/win-linux/langs/pt_BR.qm new file mode 100644 index 0000000000000000000000000000000000000000..26b5158de5f43c3109ab7498783099d80df663fc GIT binary patch literal 5223 zcmbVQU1%KF6+ZgeUHxQNvg^98F=EnIj;)Yw?U&TCu`TUNwH(Pi(XMTkLfzS!yQ`7s zuQRjqhC)mFPznvyw4}HtrQ|WtBoMcdl7>Q?KqweL6p9;g{v0T@n2?8%x1`^h(ay~N zXdKsOb$52=p7WjWe&^hC=fo@8zQ2F?>@znWJn)zAJ@?w}1)`yAM41Xc^Wivkhv?zs zM7w`Rbm?zIlP`qh^hY%MVuony7(I3F5>X*P^!z8E5bdfCy+8IRB5DsGd*MeIZ;sHb zuvz%;$m?s%M8m%sdGl0_DEsr#Ys-Je{gdICzm<9Tx6c!eY-URNSBR!3GX6W`M58mA z-=F>f&r#;hTffHqM>DtIvWXseJ8S(F_9pIT-~BPh+{x^_zvS`L-26uvhd;~x;^q&D z#{M}r*ZKkM-WYrOS8byF)$ynOe-MrTZv2n0{R=qe#y`zmg}>_)yY|i?p3RAC%g-W? zFHcYKk(9b{(yP){GRen@Nzppd+Sx;eX6i8 z!_U7}nBg(|UO48S3&-(0;W#N5W@d4J;%Z^$4UFRp1&N;@{h%N%V$3+( zvQ?NpA}#5LkPgiiXOA9co4ZT=Ls?f0yLr)797nhTAbH#DCcOt^g4!_bk&kahIuQhV zk}klJO8>!qb}Rru!ZR)0k=AQZzDiuR-=+Pdd^#S?Y+WZ9OU zv|G{@#quTJmR#W&iYg@CKa~cvNHrK|zCAb(|AM^)6a0I~#ax1ksd>YY8i?FuF6L6H zIM~N+iK+;`V^@Xmt%U9AQuRVav+8Z78lUSkUZ%4!em*j<(I(8d5)O8k&t5nmdC)eu zTK8~K1~V#5m{=qW%fk97Qw5sq#J~)y2^V|Hm6FuaEK{V}YO0eW4DRG)y~j;E;b<=$ zt@nCrr@HE=Y>{LTwh*}yQnB<0%Eqf*#=UOi z)r4^`)%e`NRAC1(lZ@U^IM`Du*SfOA*3#LWL0t*ABd*GQxf!vXuQF&?((0Dg~zZZWkiQiAh|INOgf{V5U)CP)O6P3zJtVR4=OxRx8Xf<^! z*!MW$o!~NcU5aq(U_TY$KHNJL`ZuR3T*>%*CD``)8@u--S$#>iuLxJRb?oM{D?D^Q zim%(&{RwOh%M%OC#qx9sY^@dx%=Oa+wijYjz|N@*-TWMTvgc;(!6(n0BaCv ztRPAD_Ngw9^m4(dTH?&)Y;8-Q)4>lqV-0pZK(QhJyHFRm??o)!B1VC+5u}F1TEksEXjQpUZQ&kw)heFj zE}3&V?ySqW#|gI?bRL|3;ry`2=H%;cawW{?9>oaI`1s!4Z)>*jtcU#Ve)~c0x7UPe zL-E`LOAXgHC4WOm2HNqU-<~L~D!L^rmN0_jfVNFQG8_)QfsYDzY4APVj}uQpU<}^? zfgBFklaGUNW5{2}5kdDP)7JEcF0?`CgUdoVlDeT-P2mkhJOj0Kw{Uz;DuQy>eLGtE z$py4-vqy?7NKXFV$UoP~tas8+&|LGH^moJ>LS>ck>a&KzYSf`9tmph2ucnIm+^%zJ zZ3R!p3hAz9Jg?tdOz5$wl{Z_SFV%(Qq1XlC9mZ;w(CQ3gB>d#4)OOUKR$lsg!|+bEO*ys~RI(JpvF(K&<^=Gx~32>CR|;id)s#ZI_fJ{-J5 zP(VVH(GRkJwujIi?bBoM>Y(0-T^8qN_|hd59$vCUjD58m0hRy&9+MoUDI`=iyCKaU z-3ibBfq1%KBuxf1!Dg`-Xmn6qqo_WQM~FraRvu@MxhE?1O`-ZjKgGrH$k6`)F+o5S literal 0 HcmV?d00001 diff --git a/win-linux/package/windows/associate_page.iss b/win-linux/package/windows/associate_page.iss index 4e4d35d00..e9607554d 100644 --- a/win-linux/package/windows/associate_page.iss +++ b/win-linux/package/windows/associate_page.iss @@ -10,7 +10,7 @@ ChangesAssociations=true [CustomMessages] en.AssociateDescription =Associate office document file types with {#ASSC_APP_NAME} -pt.AssociateDescription =Associe tipos de arquivos de documento office com {#ASSC_APP_NAME} +pt-BR.AssociateDescription =Associe tipos de arquivos de documento office com {#ASSC_APP_NAME} cs.AssociateDescription =Přiřadit typy souborů kancelářských dokumentů {#ASSC_APP_NAME} sk.AssociateDescription =Priradiť typy súborov kancelárskych dokumentov {#ASSC_APP_NAME} ru.AssociateDescription =Ассоциировать типы файлов офисных документов с {#ASSC_APP_NAME} @@ -20,7 +20,7 @@ es.AssociateDescription =Asociar tipos de archivos de documentos de oficina con ;it.AssociateDescription =Associare i tipi di file video/audio ad {#ASSC_APP_NAME} en.AssociateCaption =File Associations -pt.AssociateCaption =Associações de arquivos +pt-BR.AssociateCaption =Associações de arquivos cs.AssociateCaption =Asociace souboru sk.AssociateCaption =Asociácia súboru ru.AssociateCaption =Ассоциации файлов @@ -30,7 +30,7 @@ es.AssociateCaption =Asociaciones de archivos ;it.AssociateCaption =Associazioni dei file en.AssociateDont =Do not associate -pt.AssociateDont =Não associar +pt-BR.AssociateDont =Não associar cs.AssociateDont =Neasociováno sk.AssociateDont =Neasociované ru.AssociateDont =Не ассоциировать @@ -40,7 +40,7 @@ es.AssociateDont =No asociar ;it.AssociateDont =Non associare en.AssociateAll =Associate all -pt.AssociateAll =Associar todos +pt-BR.AssociateAll =Associar todos cs.AssociateAll =Asociovat vše sk.AssociateAll =Asociovať všetko ru.AssociateAll =Ассоциировать все @@ -50,7 +50,7 @@ es.AssociateAll =Asociar todo ;it.AssociateAll =Associare tutto en.AssociateSel =Associate selected -pt.AssociateSel =Associar selecionados +pt-BR.AssociateSel =Associar selecionados cs.AssociateSel =Vybraná asociace sk.AssociateSel =Vybraná asociácia ru.AssociateSel =Ассоциировать выбранные @@ -60,7 +60,7 @@ es.AssociateSel =Asociar seleccionado ;it.AssociateSel =Associare selezione en.AssociateAudio =File types -pt.AssociateAudio =Tipos de arquivo +pt-BR.AssociateAudio =Tipos de arquivo cs.AssociateAudio =Typy souborů sk.AssociateAudio =Typy súborov ru.AssociateAudio =Типы файлов @@ -70,7 +70,7 @@ es.AssociateAudio =Tipos de archivos ;it.AssociateAudio =Tipi di file en.extMSWord =Microsoft Word Document -pt.extMSWord =Documento Microsoft Word +pt-BR.extMSWord =Documento Microsoft Word cs.extMSWord =Microsoft Word Dokument sk.extMSWord =Microsoft Word Dokument ru.extMSWord =Документ Microsoft Word @@ -79,7 +79,7 @@ fr.extMSWord =Document Microsoft Word es.extMSWord =Documento de Microsoft Word en.extMSExcel =Microsoft Excel Workbook -pt.extMSExcel =Planilha Microsoft Excel +pt-BR.extMSExcel =Planilha Microsoft Excel cs.extMSExcel =Microsoft Excel Sešit sk.extMSExcel =Microsoft Excel Zošit ru.extMSExcel =Книга Microsoft Excel @@ -88,7 +88,7 @@ fr.extMSExcel =Classeur Microsoft Excel es.extMSExcel =Libro de Microsoft Excel en.extMSPresentation =Microsoft PowerPoint Presentation -pt.extMSPresentation =Apresentação Microsoft PowerPoint +pt-BR.extMSPresentation =Apresentação Microsoft PowerPoint cs.extMSPresentation =Microsoft PowerPoint Prezentace sk.extMSPresentation =Microsoft PowerPoint Prezentácia ru.extMSPresentation =Презентация Microsoft PowerPoint @@ -97,7 +97,7 @@ fr.extMSPresentation =Présentation Microsoft PowerPoint es.extMSPresentation =Presentación de PowerPoint Microsoft en.extMSSlideshow =Microsoft PowerPoint Slideshow -pt.extMSSlideshow =Apresentações do PowerPoint da Microsoft +pt-BR.extMSSlideshow =Apresentações do PowerPoint da Microsoft cs.extMSSlideshow =Microsoft PowerPoint Slideshow sk.extMSSlideshow =Microsoft PowerPoint Slideshow ru.extMSSlideshow =Слайдшоу Microsoft PowerPoint @@ -106,7 +106,7 @@ fr.extMSSlideshow =Diaporama Microsoft PowerPoint es.extMSSlideshow =Presentación de Microsoft PowerPoint en.extODT =OpenDocument Text Document -pt.extODT =Documento de Texto do OpenDocument +pt-BR.extODT =Documento de Texto do OpenDocument cs.extODT =Dokumenty OpenDocument sk.extODT =Dokumenty OpenDocument ru.extODT =Текстовый документ OpenDocument @@ -115,7 +115,7 @@ fr.extODT =Document OpenDocument Texte es.extODT =Documento de texto de OpenDocument en.extODS =OpenDocument Spreadsheet -pt.extODS =Planilha do OpenDocument +pt-BR.extODS =Planilha do OpenDocument cs.extODS =Sešit OpenDocument sk.extODS =Zošit OpenDocument ru.extODS =Электронная таблица OpenDocument @@ -124,7 +124,7 @@ fr.extODS =Classeur OpenDocument es.extODS =Hoja de cálculo de OpenDocument en.extODP =OpenDocument Presentation -pt.extODP =Apresentação do OpenDocument +pt-BR.extODP =Apresentação do OpenDocument cs.extODP =Prezentace OpenDocument sk.extODP =Prezentácia OpenDocument ru.extODP =Презентация OpenDocument @@ -133,7 +133,7 @@ fr.extODP =Présentation OpenDocument es.extODP =Presentación de OpenDocument en.defprogAppDescription=Free desktop office suite for document editing and collaboration -pt.defprogAppDescription=Pacote office para desktop gratuito para edição e colaboração em documentos +pt-BR.defprogAppDescription=Pacote office para desktop gratuito para edição e colaboração em documentos ru.defprogAppDescription=Бесплатный десктопный офисный пакет для редактирования документов и совместной работы de.defprogAppDescription=Kostenlose Desktop-Office-Suite für Dokumentenbearbeitung und Zusammenarbeit fr.defprogAppDescription=Suite bureautique d'applications de bureau gratuite pour l'édition de documents et la collaboration diff --git a/win-linux/package/windows/common.iss b/win-linux/package/windows/common.iss index f64c00540..d96e35cac 100644 --- a/win-linux/package/windows/common.iss +++ b/win-linux/package/windows/common.iss @@ -56,13 +56,14 @@ Name: sk; MessagesFile: compiler:Languages\Slovak.isl; LicenseFile: ..\..\..\ Name: de; MessagesFile: compiler:Languages\German.isl; LicenseFile: ..\..\..\common\package\license\{#licfile}.rtf; Name: fr; MessagesFile: compiler:Languages\French.isl; LicenseFile: ..\..\..\common\package\license\{#licfile}.rtf; Name: es; MessagesFile: compiler:Languages\Spanish.isl; LicenseFile: ..\..\..\common\package\license\{#licfile}.rtf; +Name: pt-BR; MessagesFile: compiler:Languages\BrazilianPortuguese.isl; LicenseFile: ..\..\..\common\package\license\{#licfile}.rtf; ;Name: it; MessagesFile: compiler:Languages\Italian.isl; [CustomMessages] ;====================================================================================================== en.Launch =Launch %1 -pt.Launch =Lance o %1 +pt-BR.Launch =Lance o %1 cs.Launch =Spuštění %1 sk.Launch =Spustenie %1 ru.Launch =Запустить %1 @@ -72,7 +73,7 @@ es.Launch =Ejecutar %1 ;it.Launch =Eseguire %1 ;====================================================================================================== en.CreateDesktopIcon =Create %1 &desktop icon -pt.CreateDesktopIcon =Criar ícone de &desktop do %1 +pt-BR.CreateDesktopIcon =Criar ícone de &desktop do %1 cs.CreateDesktopIcon =Vytvořte %1 &ikonu pracovní plochy sk.CreateDesktopIcon =Vytvoriť %1 &ikonu na ploche ru.CreateDesktopIcon =Создать иконку %1 на &рабочем столе @@ -82,7 +83,7 @@ es.CreateDesktopIcon =Crear %1 &icono en el escritorio ;it.CreateDesktopIcon =Creare un collegamento %1 sul &desktop ;====================================================================================================== en.InstallAdditionalComponents =Installing additional system components. Please wait... -pt.InstallAdditionalComponents =Instalando componentes do sistema adicional. Aguarde... +pt-BR.InstallAdditionalComponents =Instalando componentes do sistema adicional. Aguarde... cs.InstallAdditionalComponents =Instalace dalších systémových komponent. Prosím, čekejte... sk.InstallAdditionalComponents =Inštalácia ďalších systémových súčastí. Prosím čakajte... ru.InstallAdditionalComponents =Установка дополнительных системных компонентов. Пожалуйста, подождите... @@ -92,7 +93,7 @@ es.InstallAdditionalComponents =Instalando componentes adicionales del sistema. ;it.InstallAdditionalComponents =Installazione dei componenti addizionali del sistema. Per favore, attendi... ;====================================================================================================== en.AdditionalTasks =Tasks: -pt.AdditionalTasks =Tarefas: +pt-BR.AdditionalTasks =Tarefas: cs.AdditionalTasks =Úkoly: sk.AdditionalTasks =Úlohy: ru.AdditionalTasks =Задачи: @@ -102,7 +103,7 @@ es.AdditionalTasks =Tareas: ;it.AdditionalTasks =Compiti: ;====================================================================================================== en.Uninstall =Uninstall -pt.Uninstall =Desinstalar +pt-BR.Uninstall =Desinstalar cs.Uninstall =Odinstalovat sk.Uninstall =Odinštalovať ru.Uninstall =Удаление @@ -112,7 +113,7 @@ es.Uninstall =Desinstalar ;it.Uninstall =Disinstalla ;====================================================================================================== en.WarningWrongArchitecture =You are trying to install the %1-bit application version over the %2-bit version installed. Please uninstall the previous version first or download the correct version for installation. -pt.WarningWrongArchitecture =Você está tentando instalar a versão do aplicativo de %1 bits por cima da versão de %2 bits instalada. Desinstale primeiro a versão anterior ou baixe a versão correta para instalação. +pt-BR.WarningWrongArchitecture =Você está tentando instalar a versão do aplicativo de %1 bits por cima da versão de %2 bits instalada. Desinstale primeiro a versão anterior ou baixe a versão correta para instalação. cs.WarningWrongArchitecture =Pokoušíte se nainstalovat %1-bit verzi aplikace na nainstalovanou %2-bitovou verzi. Nejprve odinstalujte předchozí verzi nebo stáhněte správnou verzi pro instalaci. sk.WarningWrongArchitecture =Pokúšate sa nainštalovať %1-bitovej verziu na nainštalovanú %2-bitovú verziu. Najskôr odinštalujte predchádzajúcu verziu alebo stiahnite správnu verziu pre inštaláciu. ru.WarningWrongArchitecture =Вы устанавливаете %1-битную версию приложения на уже установленную %2-битную. Пожалуйста, удалите предыдущую версию приложения или скачайте подходящую. @@ -123,7 +124,7 @@ es.WarningWrongArchitecture =Usted está tratando de instalar la versión de la ;====================================================================================================== en.UpdateAppRunning=Setup has detected that %1 is currently running.%n%nIt'll be closed automatically. Click OK to continue, or Cancel to exit. -pt.UpdateAppRunning=A configuração detectou que %1 está atualmente em execução.%n%nEla será fechada automaticamente. Clique em OK para continuar ou em Cancelar para sair. +pt-BR.UpdateAppRunning=A configuração detectou que %1 está atualmente em execução.%n%nEla será fechada automaticamente. Clique em OK para continuar ou em Cancelar para sair. cs.UpdateAppRunning=Setup has detected that %1 is currently running.%n%nIt'll be closed automatically. Click OK to continue, or Cancel to exit. sk.UpdateAppRunning=Setup has detected that %1 is currently running.%n%nIt'll be closed automatically. Click OK to continue, or Cancel to exit. ru.UpdateAppRunning=Обнаружен запущенный экземпляр %1.%n%nДля обновления он будет автоматически закрыт. Нажмите «OK», чтобы продолжить, или «Отмена», чтобы выйти. @@ -460,7 +461,7 @@ Source: ..\..\..\common\package\dictionaries\*; DestDir: {app}\dictionarie Source: ..\..\..\..\core\build\jsdesktop\web-apps-ant\*; DestDir: {app}\editors\web-apps; Flags: recursesubdirs; Source: ..\..\..\..\core\build\jsdesktop\sdkjs\*; DestDir: {app}\editors\sdkjs; Flags: recursesubdirs; Source: ..\..\..\..\core\build\jsdesktop\sdkjs-plugins\*; DestDir: {app}\editors\sdkjs-plugins; Flags: recursesubdirs; -Source: ..\..\..\..\core\build\empty\*.*; DestDir: {app}\converter\empty; Languages: en sk; +Source: ..\..\..\..\core\build\empty\*.*; DestDir: {app}\converter\empty; Languages: en sk pt-BR; Source: ..\..\..\..\core\build\empty\ru-RU\*.*; DestDir: {app}\converter\empty; Languages: ru; Source: ..\..\..\..\core\build\empty\fr-FR\*.*; DestDir: {app}\converter\empty; Languages: fr; Source: ..\..\..\..\core\build\empty\es-ES\*.*; DestDir: {app}\converter\empty; Languages: es; diff --git a/win-linux/resources.qrc b/win-linux/resources.qrc index 84c01867a..6762866bf 100644 --- a/win-linux/resources.qrc +++ b/win-linux/resources.qrc @@ -63,6 +63,7 @@ langs/de.qm langs/cs.qm langs/sk.qm + langs/pt_BR.qm res/styles/tabbar.qss diff --git a/win-linux/src/clangater.cpp b/win-linux/src/clangater.cpp index 01d58a005..e5d689e75 100644 --- a/win-linux/src/clangater.cpp +++ b/win-linux/src/clangater.cpp @@ -60,7 +60,6 @@ void CLangater::init() GET_REGISTRY_SYSTEM(reg_system) QString _lang, - _lang_path = ":/i18n/langs/", _cmd_args = g_cmdArgs.join(','); QRegularExpression _re(reCmdLang); @@ -96,6 +95,7 @@ void CLangater::init() !((_lang = reg_system.value("locale").value()).size()) && (_lang = "en").size(); #endif + QString _lang_path = ":/i18n/langs/"; if ( !QFile(_lang_path + _lang + ".qm").exists() ) { if ( QFile("./langs/" + _lang + ".qm").exists() ) { _lang_path = "./langs"; @@ -106,6 +106,10 @@ void CLangater::init() if ( QFile("./langs/" + _lang.left(2) + ".qm").exists() ) { _lang = _lang.left(2); _lang_path = "./langs"; + } else + // check if lang file has alias + if ( QFile(":/i18n/" + _lang + ".qm").exists() ) { + _lang_path = ":/i18n/"; } else _lang = APP_DEFAULT_LOCALE; }