1 | # ubuntu-mate-welcome |
---|
2 | |
---|
3 | The Ubuntu MATE Welcome application to greet both new and returning users on their first login. |
---|
4 | |
---|
5 | ## Features |
---|
6 | |
---|
7 | * **Introduce new users to the operating system.** |
---|
8 | * Highlight key features of Ubuntu MATE. |
---|
9 | * Provide quick guidelines on getting started. |
---|
10 | * Provide quick installation guidance. |
---|
11 | * Inform users of their own system specifications. |
---|
12 | * **Grow the Ubuntu MATE Community** |
---|
13 | * Accessible links to the community forums and social networks. |
---|
14 | * Inform of Ubuntu MATE branded products for sale. |
---|
15 | * Provide details on donating to the project. |
---|
16 | * **Install Software** |
---|
17 | * From a pick of Ubuntu MATE's recommended software tested for the distribution. |
---|
18 | * Install a package manager, such as *Ubuntu Software Center*. |
---|
19 | |
---|
20 | Originally based on: |
---|
21 | |
---|
22 | * https://github.com/Antergos/antergos-welcome |
---|
23 | * http://blog.schlomo.schapiro.org/2014/01/apt-install.html |
---|
24 | |
---|
25 | ## Testing Arguments |
---|
26 | |
---|
27 | Welcome does not require arguments for general usage, but for debugging |
---|
28 | and testing purposes, the following can be specified: |
---|
29 | |
---|
30 | #### ubuntu-mate-welcome |
---|
31 | |
---|
32 | * `-v` `--verbose` = Show more details to stdout. |
---|
33 | * `--force-arch=<ARCH>` = Simulate an architecture. |
---|
34 | * `i386` or `amd64` or `armvf` or `powerpc` |
---|
35 | * `--force-session=<TYPE>` = Simulate a specific type of session where Welcome is accessed. |
---|
36 | * `live` (Live Session) or `guest` (Guest User) or `pi` (Raspberry Pi 2) or `vbox` (VirtualBox) |
---|
37 | * `--force-codename=<NAME>` = Simulate a specific Ubuntu release. For testing Software Boutique. |
---|
38 | * Eg. `trusty` or `wily` or `xenial`. |
---|
39 | * `--force-no-net` = Simulate no internet connection. |
---|
40 | * `--force-net` = Simulate an internet connection. |
---|
41 | * `--locale` = specify a locale to use, otherwise the default locale will be used. |
---|
42 | * If testing translations, run `./edgar-allan translate-all` first. |
---|
43 | * `--software-only` = Software Boutique mode. (Hides social links, uses a larger window) |
---|
44 | * `--simulate-changes` = Simulate changes made to packages without modifying the system. |
---|
45 | * `--jump-to=<PAGE>` = Jump to a specific page, excluding the `.html` extension. |
---|
46 | * `--font-dpi=<NUMBER>` = Override the font size by specifying a font DPI. |
---|
47 | |
---|
48 | |
---|
49 | #### tools/app-index-debugger.py |
---|
50 | |
---|
51 | * `--validate` = Check index for consistent data types and required values. |
---|
52 | * `--list-index` = List applications in the index. |
---|
53 | * `--list-broken` = List applications that are not working. |
---|
54 | * `--list-missing-codename=<RELEASE>` = List applications not present in a release. |
---|
55 | * `--list-missing-arch=<ARCH>` = List applications not present for an architecture. |
---|
56 | * `--list-special` = List applications that pre-install differently on releases. |
---|
57 | * `--list-sources` = List each application\'s source (eg. PPA, Ubuntu Archives) |
---|
58 | |
---|
59 | |
---|
60 | ## Requirements |
---|
61 | |
---|
62 | * gir1.2-gtk-3.0 |
---|
63 | * gir1.2-notify-0.7 |
---|
64 | * gir1.2-webkit-3.0 |
---|
65 | * libgtk2-perl |
---|
66 | * libnotify-bin |
---|
67 | * parted |
---|
68 | * pciutils |
---|
69 | * policykit-1 |
---|
70 | * python3 |
---|
71 | * python3-apt |
---|
72 | * python3-aptdaemon |
---|
73 | * python3-aptdaemon.gtk3widgets |
---|
74 | * python3-gi |
---|
75 | * software-properties-common |
---|
76 | * inxi |
---|
77 | * humanity-icon-theme |
---|
78 | |
---|
79 | # Translations |
---|
80 | |
---|
81 | ## Translators |
---|
82 | |
---|
83 | If you are looking to translate the software, look in |
---|
84 | the folders `po/` and `data/po` for PO and POT files. |
---|
85 | |
---|
86 | 1. Fork the repository. |
---|
87 | 2. Find an existing `.po` file to edit that language's translation |
---|
88 | or a `.pot` file to create a new one. |
---|
89 | 3. Translate the strings. `poedit` is recommended. |
---|
90 | 4. Push your changes and initiate a pull request here. |
---|
91 | |
---|
92 | A complete guide has been written at the Ubuntu MATE Community: |
---|
93 | |
---|
94 | * https://ubuntu-mate.community/t/guide-how-to-translate-ubuntu-mate-welcome/4234 |
---|
95 | |
---|
96 | |
---|
97 | ## Preview in another locale. |
---|
98 | |
---|
99 | Navigate to your repository folder. |
---|
100 | |
---|
101 | ./edgar-allan translate-all |
---|
102 | ./ubuntu-mate-welcome --locale=<CODE> |
---|
103 | |
---|
104 | Use the verbose flag (`-v`) for more detailed output on which |
---|
105 | pages will use the translated version. |
---|
106 | |
---|
107 | Currently, Welcome still uses English for: |
---|
108 | |
---|
109 | * Software Boutique - Names and descriptions for applications. |
---|
110 | * Terminal debug output. |
---|
111 | * Screenshots. |
---|
112 | |
---|
113 | |
---|
114 | ## edgar-allan |
---|
115 | |
---|
116 | Stupid name, but we like it, which supports the following arguments: |
---|
117 | |
---|
118 | * `create-all-pots` - will create a `.pot` file for every slide (using |
---|
119 | `@zwnj;` chars to denote translatable string) and place it in `data/po/<slide name>` |
---|
120 | * `translate-all` - for each slide, will produce translated html for |
---|
121 | each `.po` found in `data/po/slidename`. The `.po` should according to |
---|
122 | locale e.g. `en_GB.po`. The output will be written to the |
---|
123 | `i18n/<locale>/` directory as `slide_name.html` |
---|
124 | * `create-pot` - create a single `.pot` file (mainly for testing purposes) |
---|
125 | * `translate` - translate a single slide (mainly for testing purposes) |
---|
126 | * `po` - for each translatable string in a po file, set the |
---|
127 | translation to be the original string reversed (only for use when |
---|
128 | testing...) |
---|
129 | |
---|
130 | Addtional arguments: |
---|
131 | |
---|
132 | * `--input=<filename>` used with `create-pot` and translate and |
---|
133 | specifies the source html. Also used with `po` to specified `.po` file |
---|
134 | containing strings to be reversed `--po-file=<filename>` used with |
---|
135 | `translate` and specified `.po` file to use |
---|
136 | * `--output=<filename>` used with `create-pot`, `translate` and `po` |
---|
137 | and specifies the output file |
---|
138 | |
---|
139 | Normal usage would be to: |
---|
140 | |
---|
141 | * run `create-pot` to create an initial set of `.pot` files or to |
---|
142 | update them when new strings are added to slides. |
---|
143 | * check the .pots in `poedit` or a text editor in case missing or |
---|
144 | misaligned `‌`'s in the html |
---|
145 | * copy `.po` files translations from Transiflex into the |
---|
146 | `data/po/<slide_name>/` directories |
---|
147 | * run `translate-all` to build a set of translated slides |
---|
148 | |
---|
149 | ## create-test-pos.sh |
---|
150 | |
---|
151 | For testing purposes only. After `edgar-allan create-all-pots` has been |
---|
152 | run, this can be used to generate test `en_GB` and `fr_FR` .po files for |
---|
153 | each slide. The `en_GB` version contains no translations whilst the |
---|
154 | French version has every translation set as the reverse of the original |
---|
155 | string. Translated html can be produced from these .po files by running |
---|
156 | `edgar-allan translate-all`, and viewed in the `i18n/en_GB` and `fr_FR` |
---|
157 | directories. |
---|
158 | |
---|
159 | # Building a local package |
---|
160 | |
---|
161 | If you want to build a local package for testing then do the following: |
---|
162 | |
---|
163 | sudo apt-get install python3-polib |
---|
164 | ./welcome-po.py --update-pos |
---|
165 | ./welcome-po.py --install |
---|
166 | ./edgar-allan translate-all |
---|
167 | debuild -b |
---|
168 | |
---|
169 | The resulting `.deb` can be installed with `sudo dpkg -i` or `gdebi`. |
---|