diff --git a/programs/clock/ChangeLog b/programs/clock/ChangeLog index 4f7bcbb7371..ba4d0c84ff4 100644 --- a/programs/clock/ChangeLog +++ b/programs/clock/ChangeLog @@ -1,3 +1,7 @@ +Tue Mar 26 19:15:00 2002 Sylvain Petreolle + * [*.rc] [clock_res.h] [main.?] [language.?] + Rewrite for NLS use. + Tue Oct 12 20:31:00 1999 Gustavo Junior Alves * [Pt.rc] [Makefile.in] Added Portuguese language support. diff --git a/programs/clock/Da.rc b/programs/clock/Da.rc index e9e563ebf14..606a2710187 100644 --- a/programs/clock/Da.rc +++ b/programs/clock/Da.rc @@ -2,6 +2,7 @@ * Clock (Danish resources) * * Copyright 1998 Henrik Olsen + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,38 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Da -#define LANGUAGE_NUMBER 6 +MAIN_MENU MENU LANGUAGE LANG_DANISH, SUBLANG_NEUTRAL +{ + POPUP "&Instillinger" { + MENUITEM "&Analog", 0x100 + MENUITEM "&Digital", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Skrifttype...", 0x103 + MENUITEM SEPARATOR + MENUITEM "Skjul Titel&linje", 0x105 + MENUITEM SEPARATOR + MENUITEM "Se&kunder", 0x107 + MENUITEM "Da&to", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Licens", 0x109 + MENUITEM "&NO WARRANTY", 0x10A + MENUITEM "&Om Ur...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Altid řverst" - - -/* Window Menu */ - -#define MENU_PROPERTIES "&Instillinger" -#define MENU_ANALOG "&Analog" -#define MENU_DIGITAL "&Digital" -#define MENU_FONT "&Skrifttype..." -#define MENU_WITHOUT_TITLE "Skjul Titel&linje" - -#define MENU_SECONDS "Se&kunder" -#define MENU_DATE "Da&to" - -#define MENU_LANGUAGE "S&prog" -#define LANGUAGE_MENU_ITEM "&Dansk" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Licens" -#define MENU_INFO_NO_WARRANTY "&NO WARRANTY" -#define MENU_INFO_ABOUT_WINE "&Om Ur..." - - -/* Window Caption */ - -#define STRING_CLOCK "Ur" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_DANISH, SUBLANG_NEUTRAL +{ +CLOCK, "Ur" +MENU_ON_TOP, "&Altid řverst" +} diff --git a/programs/clock/De.rc b/programs/clock/De.rc index f1ab5bd5f2d..4797aec6aa6 100644 --- a/programs/clock/De.rc +++ b/programs/clock/De.rc @@ -2,6 +2,7 @@ * Clock (German resources) * * Copyright 1997 Marcel Baur + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,37 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID De -#define LANGUAGE_NUMBER 2 +MAIN_MENU MENU LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL +{ + POPUP "&Einstellungen" { + MENUITEM "Ana&log", 0x100 + MENUITEM "Digi&tal", 0x101 + MENUITEM SEPARATOR + MENUITEM "Schrift&art...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Ohne Titelleiste", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Sekunden", 0x107 + MENUITEM "&Datum", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Lizenz", 0x109 + MENUITEM "&KEINE GARANTIE", 0x10A + MENUITEM "&Über Uhr", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Immer im Vordergrund" - - -/* Window Menu */ - -#define MENU_PROPERTIES "&Einstellungen" -#define MENU_ANALOG "Ana&log" -#define MENU_DIGITAL "Digi&tal" -#define MENU_FONT "Schrift&art..." -#define MENU_WITHOUT_TITLE "&Ohne Titelleiste" - -#define MENU_SECONDS "&Sekunden" -#define MENU_DATE "&Datum" - -#define MENU_LANGUAGE "&Sprache" -#define LANGUAGE_MENU_ITEM "&Deutsch" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Lizenz" -#define MENU_INFO_NO_WARRANTY "&KEINE GARANTIE" -#define MENU_INFO_ABOUT_WINE "&Über Uhr..." - - -/* Window Caption */ - -#define STRING_CLOCK "Uhr" - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_GERMAN, SUBLANG_NEUTRAL +{ +CLOCK, "Uhr" +MENU_ON_TOP, "&Immer im Vordergrund" +} diff --git a/programs/clock/En.rc b/programs/clock/En.rc index eb63131b85f..d83441919e5 100644 --- a/programs/clock/En.rc +++ b/programs/clock/En.rc @@ -2,7 +2,7 @@ * Clock (English resources) * * Copyright 1998 Marcel Baur - * FIXME: Weak translation ! + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,35 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID En -#define LANGUAGE_NUMBER 0 +MAIN_MENU MENU LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL +{ + POPUP "&Properties" { + MENUITEM "Ana&log", 0x100 + MENUITEM "Digi&tal", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Font...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Without Titlebar", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Seconds", 0x107 + MENUITEM "&Date", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&License", 0x109 + MENUITEM "&NO WARRANTY", 0x10A + MENUITEM "&About Clock... ", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Always on Top" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Properties" -#define MENU_ANALOG "Ana&log" -#define MENU_DIGITAL "Digi&tal" -#define MENU_FONT "&Font..." -#define MENU_WITHOUT_TITLE "&Without Titlebar" - -#define MENU_SECONDS "&Seconds" -#define MENU_DATE "&Date" - -#define MENU_LANGUAGE "&Language" -#define LANGUAGE_MENU_ITEM "&English" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&License" -#define MENU_INFO_NO_WARRANTY "&NO WARRANTY" -#define MENU_INFO_ABOUT_WINE "&About Clock..." - -/* Window Caption */ -#define STRING_CLOCK "Clock" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_ENGLISH, SUBLANG_NEUTRAL +{ +CLOCK, "Clock" +MENU_ON_TOP, "&Always on Top" +} diff --git a/programs/clock/Es.rc b/programs/clock/Es.rc index f4174bd97b2..063440c75fa 100644 --- a/programs/clock/Es.rc +++ b/programs/clock/Es.rc @@ -3,6 +3,7 @@ * * Copyright 1998 Marcel Baur * Spanish translation by Pablo Saratxaga + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,35 +20,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Es -#define LANGUAGE_NUMBER d +MAIN_MENU MENU LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL +{ + POPUP "&Propepiedades" { + MENUITEM "Ana&lógico", 0x100 + MENUITEM "Digi&tal", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Fuente...", 0x103 + MENUITEM SEPARATOR + MENUITEM "Sin barra de &título", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Segundos", 0x107 + MENUITEM "Fe&cha", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Licencia", 0x109 + MENUITEM "&SIN &GARANTÍA", 0x10A + MENUITEM "&Acerca del Reloj...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "Siempre &visible" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Propepiedades" -#define MENU_ANALOG "Ana&lógico" -#define MENU_DIGITAL "Digi&tal" -#define MENU_FONT "&Fuente..." -#define MENU_WITHOUT_TITLE "Sin barra de &título" - -#define MENU_SECONDS "&Segundos" -#define MENU_DATE "Fe&cha" - -#define MENU_LANGUAGE "&Idioma" -#define LANGUAGE_MENU_ITEM "Castellano" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Licencia" -#define MENU_INFO_NO_WARRANTY "SIN &GARANTÍA" -#define MENU_INFO_ABOUT_WINE "&Acerca del Reloj..." - -/* Window Caption */ -#define STRING_CLOCK "Reloj" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_SPANISH, SUBLANG_NEUTRAL +{ +CLOCK, "Reloj" +MENU_ON_TOP, "Siempre &visible" +} diff --git a/programs/clock/Fi.rc b/programs/clock/Fi.rc index eaa1243e19c..d6c5ce16242 100644 --- a/programs/clock/Fi.rc +++ b/programs/clock/Fi.rc @@ -2,6 +2,7 @@ * Clock (Finnish resources) * * Copyright 1999 Jukka Iivonen + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,35 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Fi -#define LANGUAGE_NUMBER b +MAIN_MENU MENU LANGUAGE LANG_FINNISH, SUBLANG_NEUTRAL +{ + POPUP "&Ominaisuudet" { + MENUITEM "&Analoginen", 0x100 + MENUITEM "Di&gitaalinen", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Fontti...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Ilman otsikkopalkkia", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Sekunnit", 0x107 + MENUITEM "&Päivämäärä", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Lisenssi", 0x109 + MENUITEM "&EI TAKUUTA", 0x10A + MENUITEM "&Kellosta...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Aina päällimmäisenä" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Ominaisuudet" -#define MENU_ANALOG "&Analoginen" -#define MENU_DIGITAL "Di&gitaalinen" -#define MENU_FONT "&Fontti..." -#define MENU_WITHOUT_TITLE "&Ilman otsikkopalkkia" - -#define MENU_SECONDS "&Sekunnit" -#define MENU_DATE "&Päivämäärä" - -#define MENU_LANGUAGE "&Kieli" -#define LANGUAGE_MENU_ITEM "&Finnish" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Lisenssi" -#define MENU_INFO_NO_WARRANTY "&EI TAKUUTA" -#define MENU_INFO_ABOUT_WINE "&Kellosta..." - -/* Window Caption */ -#define STRING_CLOCK "Kello" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_FINNISH, SUBLANG_NEUTRAL +{ +CLOCK, "Kello" +MENU_ON_TOP, "&Aina päällimmäisenä" +} diff --git a/programs/clock/Fr.rc b/programs/clock/Fr.rc index 151875a1dda..83c1fbd35d7 100644 --- a/programs/clock/Fr.rc +++ b/programs/clock/Fr.rc @@ -1,7 +1,8 @@ /* - * Clock (French resources) + * Clock (French resources) * * Copyright 1998 Robert Pouliot + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -18,35 +19,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Fr -#define LANGUAGE_NUMBER 4 +MAIN_MENU MENU LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL +{ + POPUP "&Propriétés" { + MENUITEM "Ana&logue", 0x100 + MENUITEM "Digi&tale", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Fonte...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Sans barre de titre", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Secondes", 0x107 + MENUITEM "&Date", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Licence", 0x109 + MENUITEM "&AUCUNE GARANTIE", 0x10A + MENUITEM "&A propos de Horloge", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Toujours visible" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Propriétés" -#define MENU_ANALOG "Ana&logue" -#define MENU_DIGITAL "Digi&tale" -#define MENU_FONT "&Fonte..." -#define MENU_WITHOUT_TITLE "&Sans barre titre" - -#define MENU_SECONDS "&Secondes" -#define MENU_DATE "&Date" - -#define MENU_LANGUAGE "&Langue" -#define LANGUAGE_MENU_ITEM "&Français" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Licence" -#define MENU_INFO_NO_WARRANTY "&NO WARRANTY" -#define MENU_INFO_ABOUT_WINE "&A propos de l'horloge..." - -/* Window Caption */ -#define STRING_CLOCK "Horloge" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_FRENCH, SUBLANG_NEUTRAL +{ +CLOCK, "Horloge" +MENU_ON_TOP, "&Toujours visible" +} diff --git a/programs/clock/Pt.rc b/programs/clock/Pt.rc index fb768524060..a6999c1d91b 100644 --- a/programs/clock/Pt.rc +++ b/programs/clock/Pt.rc @@ -1,7 +1,8 @@ /* - * Clock (English resources) + * Clock (Portuguese resources) * * Copyright 1999 Gustavo Junior Alves + * Copyright 2002 Sylvain Petreolle * FIXME: Weak translation ! * * This library is free software; you can redistribute it and/or @@ -19,34 +20,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Pt -#define LANGUAGE_NUMBER 16 -#define LANGUAGE_MENU_ITEM "&Portuguęs" +MAIN_MENU MENU LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +{ + POPUP "&Propriedades" { + MENUITEM "&Analógico", 0x100 + MENUITEM "Digi&tal", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Fonte...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Sem barra de título", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Segundos", 0x107 + MENUITEM "&Data", 0x108 + } + POPUP "Inf&ormaçőes..." { + MENUITEM "&Licença", 0x109 + MENUITEM "&SEM GARANTIA", 0x10A + MENUITEM "&Sobre Clock...", 0x10B + } +} -/* System Menu */ - -#define MENU_ON_TOP "&Sempre visível" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Propriedades" -#define MENU_ANALOG "&Analógico" -#define MENU_DIGITAL "&Digital" -#define MENU_FONT "&Fonte..." -#define MENU_WITHOUT_TITLE "&Sem barra de título" - -#define MENU_SECONDS "&Segundos" -#define MENU_DATE "&Data" - -#define MENU_LANGUAGE "&Linguagem" - -#define MENU_INFO "Inf&ormaçőes..." -#define MENU_INFO_LICENSE "&Licença" -#define MENU_INFO_NO_WARRANTY "&SEM GARANTIA" -#define MENU_INFO_ABOUT_WINE "&Sobre Clock..." - -/* Window Caption */ -#define STRING_CLOCK "Clock" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_PORTUGUESE, SUBLANG_NEUTRAL +{ +CLOCK, "Clock" +MENU_ON_TOP, "&Sempre visível" +} diff --git a/programs/clock/Sk.rc b/programs/clock/Sk.rc index 8dbbc205ee9..f182ade4648 100644 --- a/programs/clock/Sk.rc +++ b/programs/clock/Sk.rc @@ -1,7 +1,8 @@ /* - * Clock (English resources) + * Clock (Slovak resources) * * Copyright 1998 Marcel Baur + * Copyright 2002 Sylvain Petreolle * FIXME: Weak translation ! * * This library is free software; you can redistribute it and/or @@ -19,35 +20,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Sk -#define LANGUAGE_NUMBER 10 +MAIN_MENU MENU LANGUAGE LANG_SLOVAK, SUBLANG_NEUTRAL +{ + POPUP "&Vlastnosti" { + MENUITEM "Ana&lógové", 0x100 + MENUITEM "Digi&tálne", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Font...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Bez titulkového pruhu", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Sekundy", 0x107 + MENUITEM "&Dátum", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Licencia", 0x109 + MENUITEM "&BEZ ZÁRUKY", 0x10A + MENUITEM "&O hodinách...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Vždy na vrchu" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Vlastnosti" -#define MENU_ANALOG "Ana&lógové" -#define MENU_DIGITAL "Digi&tálne" -#define MENU_FONT "&Font..." -#define MENU_WITHOUT_TITLE "&Bez titulkového pruhu" - -#define MENU_SECONDS "&Sekundy" -#define MENU_DATE "&Dátum" - -#define MENU_LANGUAGE "&Jazyk" -#define LANGUAGE_MENU_ITEM "&Slovensky" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Licencia" -#define MENU_INFO_NO_WARRANTY "&BEZ ZÁRUKY" -#define MENU_INFO_ABOUT_WINE "&O hodinách..." - -/* Window Caption */ -#define STRING_CLOCK "Hodiny" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_SLOVAK, SUBLANG_NEUTRAL +{ +CLOCK, "Hodiny" +MENU_ON_TOP, "&Vždy na vrchu" +} diff --git a/programs/clock/Sw.rc b/programs/clock/Sw.rc index 7c8b817c452..ccbac7eb533 100644 --- a/programs/clock/Sw.rc +++ b/programs/clock/Sw.rc @@ -3,6 +3,7 @@ * * Copyright 1998 Marcel Baur * Translated into Swedish by Karl Backström + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -19,37 +20,28 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ -#define LANGUAGE_ID Sw -#define LANGUAGE_NUMBER 1d +MAIN_MENU MENU LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL +{ + POPUP "&Egenskaper" { + MENUITEM "Ana&log", 0x100 + MENUITEM "Digi&tal", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Font...", 0x103 + MENUITEM SEPARATOR + MENUITEM "&Utan Titlebar", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Sekunder", 0x107 + MENUITEM "&Datum", 0x108 + } + POPUP "Inf&o..." { + MENUITEM "&Licens", 0x109 + MENUITEM "&INGEN GARANTI", 0x10A + MENUITEM "&Om Klockan...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "&Alltid överst" - - -/* Window Menu */ - -#define MENU_PROPERTIES "&Egenskaper" -#define MENU_ANALOG "Ana&log" -#define MENU_DIGITAL "Digi&tal" -#define MENU_FONT "&Font..." -#define MENU_WITHOUT_TITLE "&Utan Titlebar" - -#define MENU_SECONDS "&Sekunder" -#define MENU_DATE "&Datum" - -#define MENU_LANGUAGE "&Sprĺk" -#define LANGUAGE_MENU_ITEM "&Svenska" - -#define MENU_INFO "Inf&o..." -#define MENU_INFO_LICENSE "&Licens" -#define MENU_INFO_NO_WARRANTY "&INGEN GARANTI" -#define MENU_INFO_ABOUT_WINE "&Om Klockan..." - - -/* Window Caption */ - -#define STRING_CLOCK "Klockan" - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_SWEDISH, SUBLANG_NEUTRAL +{ +CLOCK, "Klockan" +MENU_ON_TOP, "&Alltid överst" +} diff --git a/programs/clock/TODO b/programs/clock/TODO index 63c815f9bd8..e5da2b45c44 100644 --- a/programs/clock/TODO +++ b/programs/clock/TODO @@ -11,8 +11,7 @@ Some ideas for improvements: - Implement Timer Mechanism instead Polling. Clock does not run if menu is being selected (?). -- Fix English translation by comparing strings from an original English - Windows Clock application (I only have a German version). +- Complete translation for the following languages : Pt,Sk - Add new .rc resources for all languages you know. That's in fact very easy. Just clone the file En.rc, change the strings and submit it. You can find diff --git a/programs/clock/Wa.rc b/programs/clock/Wa.rc index b8a74e5d4f5..79f7de39c8e 100644 --- a/programs/clock/Wa.rc +++ b/programs/clock/Wa.rc @@ -2,6 +2,7 @@ * Clock (Walloon resources) * * Copyright 1999 Pablo Saratxaga + * Copyright 2002 Sylvain Petreolle * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -22,35 +23,28 @@ * */ -#define LANGUAGE_ID Wa -#define LANGUAGE_NUMBER 90 +MAIN_MENU MENU LANGUAGE LANG_WALON, SUBLANG_NEUTRAL +{ + POPUP "&Propietés" { + MENUITEM "&Analodjike", 0x100 + MENUITEM "&Limerike", 0x101 + MENUITEM SEPARATOR + MENUITEM "&Fonte...", 0x103 + MENUITEM SEPARATOR + MENUITEM "Sin bĺr di &Tite", 0x105 + MENUITEM SEPARATOR + MENUITEM "&Segondes", 0x107 + MENUITEM "&Date", 0x108 + } + POPUP "&Informĺcion..." { + MENUITEM "&Licinse", 0x109 + MENUITEM "&NOLE WARANTEYE", 0x10A + MENUITEM "Ĺ &dfait di l' ôrlodje...", 0x10B + } +} - -/* System Menu */ - -#define MENU_ON_TOP "Todi &Visibe" - -/* Window Menu */ - -#define MENU_PROPERTIES "&Propietés" -#define MENU_ANALOG "&Analodjike" -#define MENU_DIGITAL "&Limerike" -#define MENU_FONT "&Fonte..." -#define MENU_WITHOUT_TITLE "Sin bĺr di &Tite" - -#define MENU_SECONDS "&Segondes" -#define MENU_DATE "&Date" - -#define MENU_LANGUAGE "&Lingaedje" -#define LANGUAGE_MENU_ITEM "&Walon" - -#define MENU_INFO "&Informĺcion..." -#define MENU_INFO_LICENSE "&Licinse" -#define MENU_INFO_NO_WARRANTY "&NOLE WARANTEYE" -#define MENU_INFO_ABOUT_WINE "Ĺ &dfait di l' ôrlodje..." - -/* Window Caption */ -#define STRING_CLOCK "Ôrlodje" - - -#include "clock.rc" +STRINGTABLE DISCARDABLE LANGUAGE LANG_WALON, SUBLANG_NEUTRAL +{ +CLOCK, "Ôrlodje" +MENU_ON_TOP, "Todi &Visibe" +} diff --git a/programs/clock/clock.rc b/programs/clock/clock.rc deleted file mode 100644 index 68dcd378b0a..00000000000 --- a/programs/clock/clock.rc +++ /dev/null @@ -1,95 +0,0 @@ -/* - * Clock (clock.rc) - * - * Copyright 1998 Marcel Baur - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, write to the Free Software - * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - */ - - -/* Main Menu */ - -CONCAT(MENU_, LANGUAGE_ID) MENU -{ - POPUP MENU_PROPERTIES { - MENUITEM MENU_ANALOG, CL_ANALOG - MENUITEM MENU_DIGITAL, CL_DIGITAL - MENUITEM SEPARATOR - MENUITEM MENU_FONT, CL_FONT - MENUITEM SEPARATOR - MENUITEM MENU_WITHOUT_TITLE, CL_WITHOUT_TITLE - MENUITEM SEPARATOR - MENUITEM MENU_SECONDS, CL_SECONDS - MENUITEM MENU_DATE, CL_DATE - } - - POPUP MENU_LANGUAGE { - /* Dummy item, will be removed */ - MENUITEM SEPARATOR - } - - POPUP MENU_INFO { - MENUITEM MENU_INFO_LICENSE, CL_INFO_LICENSE - MENUITEM MENU_INFO_NO_WARRANTY, CL_INFO_NO_WARRANTY - MENUITEM MENU_INFO_ABOUT_WINE, CL_INFO_ABOUT_WINE - } - -} - -/* Strings */ - -#define STRING_LANGUAGE_ID STRINGIFY(LANGUAGE_ID) -#define STRING_LANGUAGE_MENU_ITEM LANGUAGE_MENU_ITEM -#define STRING_MENU_ON_TOP MENU_ON_TOP - - -STRINGTABLE -{ -ADDSTRING(LANGUAGE_ID) -ADDSTRING(LANGUAGE_MENU_ITEM) -ADDSTRING(CLOCK) -ADDSTRING(MENU_ON_TOP) -} - - -/* Undefine all language-specific strings */ - -#undef LANGUAGE_ID -#undef LANGUAGE_NUMBER - -#undef MENU_ON_TOP - -#undef MENU_PROPERTIES -#undef MENU_ANALOG -#undef MENU_DIGITAL -#undef MENU_FONT -#undef MENU_WITHOUT_TITLE - -#undef MENU_SECONDS -#undef MENU_DATE - -#undef MENU_LANGUAGE -#undef LANGUAGE_MENU_ITEM - -#undef MENU_INFO -#undef MENU_INFO_LICENSE -#undef MENU_INFO_NO_WARRANTY -#undef MENU_INFO_ABOUT_WINE - -#undef STRING_LANGUAGE_ID -#undef STRING_LANGUAGE_MENU_ITEM -#undef STRING_MENU_ON_TOP -#undef STRING_CLOCK - diff --git a/programs/clock/clock_res.h b/programs/clock/clock_res.h new file mode 100644 index 00000000000..b94be112d78 --- /dev/null +++ b/programs/clock/clock_res.h @@ -0,0 +1,21 @@ +/* + * Copyright 2002 Sylvain Petreolle + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * This library is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + +#define CLOCK 0x10C +#define MENU_ON_TOP 0x10D +#define MAIN_MENU 0x10E diff --git a/programs/clock/language.c b/programs/clock/language.c index 7fbfcc10194..54f2af0e0f3 100644 --- a/programs/clock/language.c +++ b/programs/clock/language.c @@ -33,11 +33,11 @@ VOID LANGUAGE_UpdateMenuCheckmarks(VOID) { /* analog clock */ - CheckMenuItem(Globals.hPropertiesMenu, CL_ANALOG, \ + CheckMenuItem(Globals.hPropertiesMenu, 0x100, \ MF_BYCOMMAND | MF_CHECKED); - CheckMenuItem(Globals.hPropertiesMenu, CL_DIGITAL, \ + CheckMenuItem(Globals.hPropertiesMenu, 0x101, \ MF_BYCOMMAND | MF_UNCHECKED); - EnableMenuItem(Globals.hPropertiesMenu, CL_FONT, \ + EnableMenuItem(Globals.hPropertiesMenu, 0x103, \ MF_BYCOMMAND | MF_GRAYED); } else @@ -45,22 +45,22 @@ VOID LANGUAGE_UpdateMenuCheckmarks(VOID) { /* digital clock */ - CheckMenuItem(Globals.hPropertiesMenu, CL_ANALOG, \ + CheckMenuItem(Globals.hPropertiesMenu, 0x100, \ MF_BYCOMMAND | MF_UNCHECKED); - CheckMenuItem(Globals.hPropertiesMenu, CL_DIGITAL, \ + CheckMenuItem(Globals.hPropertiesMenu, 0x101, \ MF_BYCOMMAND | MF_CHECKED); - EnableMenuItem(Globals.hPropertiesMenu, CL_FONT, \ + EnableMenuItem(Globals.hPropertiesMenu, 0x103, \ MF_BYCOMMAND); } - CheckMenuItem(Globals.hPropertiesMenu, CL_WITHOUT_TITLE, MF_BYCOMMAND | \ + CheckMenuItem(Globals.hPropertiesMenu, 0x105, MF_BYCOMMAND | \ (Globals.bWithoutTitle ? MF_CHECKED : MF_UNCHECKED)); - CheckMenuItem(Globals.hSystemMenu, CL_ON_TOP, MF_BYCOMMAND | \ + CheckMenuItem(Globals.hSystemMenu, 0x10D, MF_BYCOMMAND | \ (Globals.bAlwaysOnTop ? MF_CHECKED : MF_UNCHECKED)); - CheckMenuItem(Globals.hPropertiesMenu, CL_SECONDS, MF_BYCOMMAND | \ + CheckMenuItem(Globals.hPropertiesMenu, 0x107, MF_BYCOMMAND | \ (Globals.bSeconds ? MF_CHECKED : MF_UNCHECKED)); - CheckMenuItem(Globals.hPropertiesMenu, CL_DATE, MF_BYCOMMAND | \ + CheckMenuItem(Globals.hPropertiesMenu, 0x108, MF_BYCOMMAND | \ (Globals.bDate ? MF_CHECKED : MF_UNCHECKED)); } @@ -79,7 +79,7 @@ VOID LANGUAGE_UpdateWindowCaption(VOID) { MAX_STRING_LEN); /* Set frame caption */ - LoadString(Globals.hInstance, IDS_CLOCK, szCaption, sizeof(szCaption)); + LoadString(Globals.hInstance, 0x10C, szCaption, sizeof(szCaption)); if (Globals.bDate) { lstrcat(szCaption, " - "); lstrcat(szCaption, szDate); @@ -88,72 +88,19 @@ VOID LANGUAGE_UpdateWindowCaption(VOID) { } - - -static BOOL LANGUAGE_LoadStringOther(UINT num, UINT ids, LPSTR str, UINT len) +VOID LANGUAGE_LoadMenus(VOID) { - ids -= Globals.wStringTableOffset; - ids += num * 0x100; - return(LoadString(Globals.hInstance, ids, str, len)); -}; - -VOID LANGUAGE_SelectByName(LPCSTR lang) -{ - INT i; - CHAR szNewLang[3]; - - for (i = 0; i <= MAX_LANGUAGE_NUMBER; i++) - if (LANGUAGE_LoadStringOther(i, IDS_LANGUAGE_ID, szNewLang, - sizeof(szNewLang)) && !lstrcmp(lang, szNewLang)) - { - LANGUAGE_SelectByNumber(i); - return; - } - - /* Fallback */ - for (i = 0; i <= MAX_LANGUAGE_NUMBER; i++) - if (LANGUAGE_LoadStringOther(i, IDS_LANGUAGE_ID, szNewLang, sizeof(szNewLang))) - { - LANGUAGE_SelectByNumber(i); - return; - } - - MessageBox(Globals.hMainWnd, "No language found", "FATAL ERROR", MB_OK); - PostQuitMessage(1); -} - -VOID LANGUAGE_SelectByNumber(UINT num) -{ - INT i; - CHAR szLanguage[3]; CHAR szItem[MAX_STRING_LEN]; HMENU hMainMenu; - /* Select string table */ - Globals.wStringTableOffset = num * 0x100; - - /* Get Language id */ - LoadString(Globals.hInstance, IDS_LANGUAGE_ID, szLanguage, sizeof(szLanguage)); - - /* Change Resource names */ - lstrcpyn(STRING_MENU_Xx + sizeof(STRING_MENU_Xx) - 3, szLanguage, 3); /* Create menu */ - hMainMenu = LoadMenu(Globals.hInstance, STRING_MENU_Xx); + hMainMenu = LoadMenu(Globals.hInstance, MAIN_MENU); Globals.hPropertiesMenu = GetSubMenu(hMainMenu, 0); Globals.hLanguageMenu = GetSubMenu(hMainMenu, 1); Globals.hInfoMenu = GetSubMenu(hMainMenu, 2); - /* Remove dummy item */ - RemoveMenu(Globals.hLanguageMenu, 0, MF_BYPOSITION); - /* Add language items */ - for (i = 0; i <= MAX_LANGUAGE_NUMBER; i++) - if (LANGUAGE_LoadStringOther(i, IDS_LANGUAGE_MENU_ITEM, szItem, sizeof(szItem))) - AppendMenu(Globals.hLanguageMenu, MF_STRING | MF_BYCOMMAND, - CL_FIRST_LANGUAGE + i, szItem); - EnableMenuItem(Globals.hLanguageMenu, CL_FIRST_LANGUAGE + num, MF_BYCOMMAND | MF_CHECKED); - SetMenu(Globals.hMainWnd, hMainMenu); /* Destroy old menu */ @@ -169,16 +116,18 @@ VOID LANGUAGE_SelectByNumber(UINT num) /* FIXME: Append a SEPARATOR to Globals.hSystemMenu here */ - LoadString(Globals.hInstance, IDS_MENU_ON_TOP, szItem, sizeof(szItem)); + LoadString(Globals.hInstance, 0x10D, szItem, sizeof(szItem)); AppendMenu(Globals.hSystemMenu, MF_STRING | MF_BYCOMMAND, 1000, szItem); } +/* VOID LANGUAGE_DefaultHandle(WPARAM wParam) { if ((wParam >=CL_FIRST_LANGUAGE) && (wParam<=CL_LAST_LANGUAGE)) LANGUAGE_SelectByNumber(wParam - CL_FIRST_LANGUAGE); else printf("Unimplemented menu command %i\n", wParam); } +*/ /* Local Variables: */ /* c-file-style: "GNU" */ diff --git a/programs/clock/language.h b/programs/clock/language.h index b525001c32a..687fac4c942 100644 --- a/programs/clock/language.h +++ b/programs/clock/language.h @@ -21,8 +21,7 @@ VOID LANGUAGE_UpdateWindowCaption(VOID); VOID LANGUAGE_UpdateMenuCheckmarks(VOID); -VOID LANGUAGE_SelectByNumber(UINT num); -VOID LANGUAGE_SelectByName(LPCSTR lang); +VOID LANGUAGE_LoadMenus(VOID); VOID LANGUAGE_DefaultHandle(WPARAM wParam); /* Local Variables: */ diff --git a/programs/clock/main.c b/programs/clock/main.c index ec4270a9232..868f69abab1 100644 --- a/programs/clock/main.c +++ b/programs/clock/main.c @@ -43,61 +43,77 @@ CLOCK_GLOBALS Globals; int CLOCK_MenuCommand (WPARAM wParam) { +CHAR szApp[MAX_STRING_LEN]; +CHAR szAppRelease[MAX_STRING_LEN]; switch (wParam) { - case CL_ANALOG: { + /* switch to analog */ + case 0x100: { Globals.bAnalog = TRUE; LANGUAGE_UpdateMenuCheckmarks(); SendMessage(Globals.hMainWnd, WM_PAINT, 0, 0); break; } - case CL_DIGITAL: { + /* switch to digital */ + case 0x101: { Globals.bAnalog = FALSE; LANGUAGE_UpdateMenuCheckmarks(); SendMessage(Globals.hMainWnd, WM_PAINT, 0, 0); break; } - case CL_FONT: { + /* change font */ + case 0x103: { MAIN_FileChooseFont(); break; } - case CL_WITHOUT_TITLE: { + /* hide title bar */ + case 0x105: { Globals.bWithoutTitle = !Globals.bWithoutTitle; LANGUAGE_UpdateWindowCaption(); LANGUAGE_UpdateMenuCheckmarks(); break; } - case CL_ON_TOP: { + /* always on top */ + case 0x10D: { Globals.bAlwaysOnTop = !Globals.bAlwaysOnTop; LANGUAGE_UpdateMenuCheckmarks(); break; } - case CL_SECONDS: { + /* show or hide seconds */ + case 0x107: { Globals.bSeconds = !Globals.bSeconds; LANGUAGE_UpdateMenuCheckmarks(); SendMessage(Globals.hMainWnd, WM_PAINT, 0, 0); break; } - case CL_DATE: { + /* show or hide date */ + case 0x108: { Globals.bDate = !Globals.bDate; LANGUAGE_UpdateMenuCheckmarks(); LANGUAGE_UpdateWindowCaption(); break; } - case CL_INFO_LICENSE: { + /* show license */ + case 0x109: { WineLicense(Globals.hMainWnd); break; } - case CL_INFO_NO_WARRANTY: { + /* show warranties */ + case 0x10A: { WineWarranty(Globals.hMainWnd); break; } - case CL_INFO_ABOUT_WINE: { - ShellAbout(Globals.hMainWnd, "Clock", "Clock\n" WINE_RELEASE_INFO, 0); + /* show "about" box */ + case 0x10B: { + LoadString(Globals.hInstance, 0x10C, szApp, sizeof(szApp)); + lstrcpy(szAppRelease,szApp); + lstrcat(szAppRelease,"\n" WINE_RELEASE_INFO); + ShellAbout(Globals.hMainWnd, szApp, szAppRelease, 0); break; } /* Handle languages */ - default: +/* default: LANGUAGE_DefaultHandle(wParam); +*/ } return 0; } @@ -244,7 +260,7 @@ int PASCAL WinMain (HINSTANCE hInstance, HINSTANCE prev, LPSTR cmdline, int show CW_USEDEFAULT, CW_USEDEFAULT, Globals.MaxX, Globals.MaxY, 0, LoadMenu(Globals.hInstance, STRING_MENU_Xx), Globals.hInstance, 0); - LANGUAGE_SelectByName("En"); + LANGUAGE_LoadMenus(); SetMenu(Globals.hMainWnd, Globals.hMainMenu); LANGUAGE_UpdateMenuCheckmarks(); diff --git a/programs/clock/main.h b/programs/clock/main.h index a32ae371339..79f08b08b74 100644 --- a/programs/clock/main.h +++ b/programs/clock/main.h @@ -18,6 +18,8 @@ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ +#include "clock_res.h" + #define MAX_STRING_LEN 255 #define MAX_PATHNAME_LEN 1024 #define MAX_LANGUAGE_NUMBER (CL_LAST_LANGUAGE - CL_FIRST_LANGUAGE) diff --git a/programs/clock/rsrc.rc b/programs/clock/rsrc.rc index 25cb900932d..12c4117b6cb 100644 --- a/programs/clock/rsrc.rc +++ b/programs/clock/rsrc.rc @@ -21,16 +21,7 @@ #include "windows.h" #include "main.h" -#define CONCAT(a, b) CONCAT1(a, b) -#define CONCAT1(a, b) a##b - -#define ADDSTRING(str) ADDSTRING1(LANGUAGE_NUMBER, IDS_ ## str) STRING_ ## str -#define ADDSTRING1(langnum, ids) ADDSTRING2(langnum, ids) -#define ADDSTRING2(langnum, ids) 0x ## langnum ## ids - -#define STRINGIFY(str) STRINGIFY1(str) -#define STRINGIFY1(str) #str - +#include "clock_res.h" #include "Da.rc" #include "De.rc" #include "En.rc"