summaryrefslogtreecommitdiff
path: root/cpufreq
diff options
context:
space:
mode:
Diffstat (limited to 'cpufreq')
-rw-r--r--cpufreq/AUTHORS2
-rw-r--r--cpufreq/Makefile.am58
-rw-r--r--cpufreq/README47
-rw-r--r--cpufreq/cpufreq-applet-menu.xml4
-rw-r--r--cpufreq/cpufreq-applet.schemas.in36
-rw-r--r--cpufreq/cpufreq-preferences.ui281
-rw-r--r--cpufreq/help/C/cpufreq-applet.xml372
-rw-r--r--cpufreq/help/C/figures/cpufreq-100.pngbin0 -> 1057 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-25.pngbin0 -> 942 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-50.pngbin0 -> 988 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-75.pngbin0 -> 1014 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-applet-preferences-smp.pngbin0 -> 9428 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-applet-preferences.pngbin0 -> 26188 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-applet-selector-both.pngbin0 -> 7739 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-applet-selector.pngbin0 -> 8836 bytes
-rw-r--r--cpufreq/help/C/figures/cpufreq-applet.pngbin0 -> 2183 bytes
-rw-r--r--cpufreq/help/C/legal.xml76
-rw-r--r--cpufreq/help/Makefile.am19
-rw-r--r--cpufreq/help/ca/ca.po387
-rw-r--r--cpufreq/help/cpufreq-applet.omf.in9
-rw-r--r--cpufreq/help/cs/cs.po602
-rw-r--r--cpufreq/help/cs/figures/cpufreq-applet-preferences-smp.pngbin0 -> 9761 bytes
-rw-r--r--cpufreq/help/cs/figures/cpufreq-applet-preferences.pngbin0 -> 22936 bytes
-rw-r--r--cpufreq/help/de/de.po619
-rw-r--r--cpufreq/help/de/figures/cpufreq-applet-preferences-smp.pngbin0 -> 15441 bytes
-rw-r--r--cpufreq/help/de/figures/cpufreq-applet-preferences.pngbin0 -> 21499 bytes
-rw-r--r--cpufreq/help/de/figures/cpufreq-applet-selector-both.pngbin0 -> 12435 bytes
-rw-r--r--cpufreq/help/el/el.po400
-rw-r--r--cpufreq/help/en_GB/en_GB.po395
-rw-r--r--cpufreq/help/es/es.po630
-rw-r--r--cpufreq/help/es/figures/cpufreq-applet-preferences-smp.pngbin0 -> 9765 bytes
-rw-r--r--cpufreq/help/es/figures/cpufreq-applet-preferences.pngbin0 -> 29087 bytes
-rw-r--r--cpufreq/help/eu/eu.po391
-rw-r--r--cpufreq/help/eu/figures/cpufreq-applet-preferences.pngbin0 -> 19700 bytes
-rw-r--r--cpufreq/help/fi/fi.po395
-rw-r--r--cpufreq/help/fi/figures/cpufreq-applet-preferences-smp.pngbin0 -> 8462 bytes
-rw-r--r--cpufreq/help/fi/figures/cpufreq-applet-preferences.pngbin0 -> 22690 bytes
-rw-r--r--cpufreq/help/fr/figures/cpufreq-applet-preferences-smp.pngbin0 -> 9458 bytes
-rw-r--r--cpufreq/help/fr/figures/cpufreq-applet-preferences.pngbin0 -> 25300 bytes
-rw-r--r--cpufreq/help/fr/figures/cpufreq-applet-selector-both.pngbin0 -> 6419 bytes
-rw-r--r--cpufreq/help/fr/fr.po627
-rw-r--r--cpufreq/help/hu/hu.po577
-rw-r--r--cpufreq/help/nl/figures/cpufreq-applet-preferences-smp.pngbin0 -> 9428 bytes
-rw-r--r--cpufreq/help/nl/figures/cpufreq-applet-preferences.pngbin0 -> 26188 bytes
-rw-r--r--cpufreq/help/nl/figures/cpufreq-applet-selector-both.pngbin0 -> 7739 bytes
-rw-r--r--cpufreq/help/nl/figures/cpufreq-applet-selector.pngbin0 -> 8836 bytes
-rw-r--r--cpufreq/help/nl/nl.po1010
-rw-r--r--cpufreq/help/oc/oc.po510
-rw-r--r--cpufreq/help/pt_BR/pt_BR.po652
-rw-r--r--cpufreq/help/ru/ru.po389
-rw-r--r--cpufreq/help/sv/figures/cpufreq-applet-preferences-smp.pngbin0 -> 12535 bytes
-rw-r--r--cpufreq/help/sv/figures/cpufreq-applet-preferences.pngbin0 -> 18614 bytes
-rw-r--r--cpufreq/help/sv/sv.po394
-rw-r--r--cpufreq/help/uk/figures/cpufreq-applet-preferences.pngbin0 -> 22156 bytes
-rw-r--r--cpufreq/help/uk/figures/cpufreq-applet-selector.pngbin0 -> 7578 bytes
-rw-r--r--cpufreq/help/uk/uk.po615
-rw-r--r--cpufreq/help/zh_CN/zh_CN.po574
-rw-r--r--cpufreq/help/zh_HK/zh_HK.po398
-rw-r--r--cpufreq/help/zh_TW/zh_TW.po398
-rw-r--r--cpufreq/org.mate.applets.CPUFreqApplet.mate-panel-applet.in.in15
-rw-r--r--cpufreq/org.mate.panel.applet.CPUFreqAppletFactory.service.in3
-rw-r--r--cpufreq/pixmaps/Makefile.am64
-rw-r--r--cpufreq/pixmaps/cpufreq-100.pngbin0 -> 1057 bytes
-rw-r--r--cpufreq/pixmaps/cpufreq-25.pngbin0 -> 942 bytes
-rw-r--r--cpufreq/pixmaps/cpufreq-50.pngbin0 -> 988 bytes
-rw-r--r--cpufreq/pixmaps/cpufreq-75.pngbin0 -> 1014 bytes
-rw-r--r--cpufreq/pixmaps/cpufreq-na.pngbin0 -> 939 bytes
-rw-r--r--cpufreq/pixmaps/mate-cpu-frequency-applet.16.pngbin0 -> 743 bytes
-rw-r--r--cpufreq/pixmaps/mate-cpu-frequency-applet.22.pngbin0 -> 1436 bytes
-rw-r--r--cpufreq/pixmaps/mate-cpu-frequency-applet.24.pngbin0 -> 1481 bytes
-rw-r--r--cpufreq/pixmaps/mate-cpu-frequency-applet.32.pngbin0 -> 1692 bytes
-rw-r--r--cpufreq/pixmaps/mate-cpu-frequency-applet.svg753
-rw-r--r--cpufreq/src/Makefile.am40
-rw-r--r--cpufreq/src/cpufreq-applet.c1032
-rw-r--r--cpufreq/src/cpufreq-applet.h61
-rw-r--r--cpufreq/src/cpufreq-monitor-cpuinfo.c134
-rw-r--r--cpufreq/src/cpufreq-monitor-cpuinfo.h50
-rw-r--r--cpufreq/src/cpufreq-monitor-factory.c69
-rw-r--r--cpufreq/src/cpufreq-monitor-factory.h33
-rw-r--r--cpufreq/src/cpufreq-monitor-libcpufreq.c199
-rw-r--r--cpufreq/src/cpufreq-monitor-libcpufreq.h56
-rw-r--r--cpufreq/src/cpufreq-monitor-procfs.c221
-rw-r--r--cpufreq/src/cpufreq-monitor-procfs.h54
-rw-r--r--cpufreq/src/cpufreq-monitor-sysfs.c345
-rw-r--r--cpufreq/src/cpufreq-monitor-sysfs.h54
-rw-r--r--cpufreq/src/cpufreq-monitor.c411
-rw-r--r--cpufreq/src/cpufreq-monitor.h72
-rw-r--r--cpufreq/src/cpufreq-popup.c509
-rw-r--r--cpufreq/src/cpufreq-popup.h66
-rw-r--r--cpufreq/src/cpufreq-prefs.c705
-rw-r--r--cpufreq/src/cpufreq-prefs.h66
-rw-r--r--cpufreq/src/cpufreq-selector.c289
-rw-r--r--cpufreq/src/cpufreq-selector.h51
-rw-r--r--cpufreq/src/cpufreq-selector/Makefile.am89
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-factory.c47
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-factory.h31
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.c197
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.h61
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.c243
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.h54
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-service.c487
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-service.h71
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-service.xml23
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.c430
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.h58
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector.c173
-rw-r--r--cpufreq/src/cpufreq-selector/cpufreq-selector.h74
-rw-r--r--cpufreq/src/cpufreq-selector/main.c233
-rw-r--r--cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.conf20
-rw-r--r--cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.service.in4
-rw-r--r--cpufreq/src/cpufreq-selector/org.mate.cpufreqselector.policy.in22
-rw-r--r--cpufreq/src/cpufreq-utils.c311
-rw-r--r--cpufreq/src/cpufreq-utils.h44
113 files changed, 18891 insertions, 0 deletions
diff --git a/cpufreq/AUTHORS b/cpufreq/AUTHORS
new file mode 100644
index 00000000..4ed7f644
--- /dev/null
+++ b/cpufreq/AUTHORS
@@ -0,0 +1,2 @@
+Carlos Garc�a Campos <[email protected]>
+
diff --git a/cpufreq/Makefile.am b/cpufreq/Makefile.am
new file mode 100644
index 00000000..f2b4f80e
--- /dev/null
+++ b/cpufreq/Makefile.am
@@ -0,0 +1,58 @@
+SUBDIRS = help pixmaps src
+
+schemasdir = @MATECONF_SCHEMA_FILE_DIR@
+schemas_in_files = cpufreq-applet.schemas.in
+schemas_DATA = $(schemas_in_files:.schemas.in=.schemas)
+
+@INTLTOOL_SCHEMAS_RULE@
+
+appletdir = $(datadir)/mate-panel/applets
+applet_in_files = org.mate.applets.CPUFreqApplet.mate-panel-applet.in
+applet_DATA = $(applet_in_files:.mate-panel-applet.in=.mate-panel-applet)
+
+$(applet_in_files): $(applet_in_files).in Makefile
+ $(AM_V_GEN)sed \
+ -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \
+ -e "s|\@VERSION\@|$(PACKAGE_VERSION)|" \
+ $< > $@
+
+%.mate-panel-applet: %.mate-panel-applet.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*po) ; $(INTLTOOL_MERGE) $(top_srcdir)/po $< $@ -d -u -c $(top_builddir)/po/.intltool-merge-cache
+
+servicedir = $(datadir)/dbus-1/services
+service_in_files = org.mate.panel.applet.CPUFreqAppletFactory.service.in
+service_DATA = $(service_in_files:.service.in=.service)
+
+org.mate.panel.applet.CPUFreqAppletFactory.service: $(service_in_files)
+ $(AM_V_GEN)sed \
+ -e "s|\@LIBEXECDIR\@|$(libexecdir)|" \
+ $< > $@
+
+builder_DATA = cpufreq-preferences.ui
+
+uidir = $(datadir)/mate-2.0/ui
+ui_DATA = cpufreq-applet-menu.xml
+
+if MATECONF_SCHEMAS_INSTALL
+install-data-local:
+ -MATECONF_CONFIG_SOURCE=$(MATECONF_SCHEMA_CONFIG_SOURCE) $(MATECONFTOOL) --makefile-install-rule $(top_builddir)/cpufreq/$(schemas_DATA) ;
+endif
+
+CLEANFILES = \
+ $(applet_DATA) \
+ $(applet_DATA).in \
+ $(service_DATA) \
+ cpufreq-applet.schemas \
+ *.bak \
+ *.gladep
+
+EXTRA_DIST = \
+ org.mate.applets.CPUFreqApplet.mate-panel-applet.in.in \
+ $(service_in_files) \
+ $(schemas_in_files) \
+ $(builder_DATA) \
+ $(ui_DATA)
+
+
+
+
+-include $(top_srcdir)/git.mk
diff --git a/cpufreq/README b/cpufreq/README
new file mode 100644
index 00000000..45b6e2f2
--- /dev/null
+++ b/cpufreq/README
@@ -0,0 +1,47 @@
+SUMMARY
+-------
+
+MATE CPUFreq Applet is a CPU Frequency Scaling Monitor for MATE Panel.
+
+FEATURES
+--------
+
+ - Support for proc or sys filesystems
+ - Support for multiprocessor systems
+ - It can be used as frequency selector
+
+PREREQUISITES
+-------------
+
+ - MATE 2 libraries
+ - MATE Panel libraries
+ - MATE-VFS libraries
+ - MateConf
+
+
+FREQUENCY SELECTOR
+------------------
+
+The applet includes a generic command line tool to change the cpu frequency.
+This tool is 'cpufreq-selector'. The cpufreq-selector will be installed under
+$prefix/bin/ where $prefix is the prefix selected to compile the applet.
+Once the cpufreq-selector is installed it can be used from the command line
+
+ $ cpufreq-selector -f <frequency_in_KHz>
+ $ cpufreq-selector -g <governor>
+
+To change the frequency from the applet, simply click on the applet and
+a menu will be shown with the list of available frequencies.
+
+The cpufreq-selector is installed suid root by default.
+
+To not install the cpufreq-selector:
+
+ $ ./configure [options] --disable-frequency-selector
+
+To not install the cpufreq-selector suid root:
+
+ $ ./configure [options] --enable-suid=no
+
+
+
diff --git a/cpufreq/cpufreq-applet-menu.xml b/cpufreq/cpufreq-applet-menu.xml
new file mode 100644
index 00000000..98375818
--- /dev/null
+++ b/cpufreq/cpufreq-applet-menu.xml
@@ -0,0 +1,4 @@
+<menuitem name="CPUFreq Preferences Item" action="CPUFreqAppletPreferences" />
+<menuitem name="CPUFreq Help Item" action="CPUFreqAppletHelp" />
+<menuitem name="CPUFreq About Item" action="CPUFreqAppletAbout" />
+
diff --git a/cpufreq/cpufreq-applet.schemas.in b/cpufreq/cpufreq-applet.schemas.in
new file mode 100644
index 00000000..88ed4684
--- /dev/null
+++ b/cpufreq/cpufreq-applet.schemas.in
@@ -0,0 +1,36 @@
+<mateconfschemafile>
+<schemalist>
+
+<schema>
+ <key>/schemas/apps/cpufreq-applet/prefs/cpu</key>
+ <owner>cpufreq-applet</owner>
+ <type>int</type>
+ <default>0</default>
+ <locale name="C">
+ <short>CPU to Monitor</short>
+ <long>Set the CPU to monitor. In a single processor system you don't have to change it.</long>
+ </locale>
+</schema>
+<schema>
+ <key>/schemas/apps/cpufreq-applet/prefs/show_mode</key>
+ <owner>cpufreq-applet</owner>
+ <type>int</type>
+ <default>2</default>
+ <locale name="C">
+ <short>Mode to show cpu usage</short>
+ <long>A 0 value means to show the applet in graphic mode (pixmap only), 1 to show the applet in text mode (not to show the pixmap) and 2 to show the applet in graphic and text mode.</long>
+ </locale>
+</schema>
+<schema>
+ <key>/schemas/apps/cpufreq-applet/prefs/show_text_mode</key>
+ <owner>cpufreq-applet</owner>
+ <type>int</type>
+ <default>1</default>
+ <locale name="C">
+ <short>The type of text to display (if the text is enabled).</short>
+ <long>A 0 value means to show cpu frequency, 1 to show frequency and units, and 2 to show percentage instead of frequency.</long>
+ </locale>
+</schema>
+
+</schemalist>
+</mateconfschemafile>
diff --git a/cpufreq/cpufreq-preferences.ui b/cpufreq/cpufreq-preferences.ui
new file mode 100644
index 00000000..78530f0b
--- /dev/null
+++ b/cpufreq/cpufreq-preferences.ui
@@ -0,0 +1,281 @@
+<?xml version="1.0"?>
+<interface>
+ <requires lib="gtk+" version="2.16"/>
+ <!-- interface-naming-policy toplevel-contextual -->
+ <object class="GtkDialog" id="prefs_dialog">
+ <property name="border_width">5</property>
+ <property name="title" translatable="yes">CPU Frequency Monitor Preferences</property>
+ <property name="resizable">False</property>
+ <property name="destroy_with_parent">True</property>
+ <property name="type_hint">dialog</property>
+ <property name="has_separator">False</property>
+ <child internal-child="vbox">
+ <object class="GtkVBox" id="prefs_dialog_vbox">
+ <property name="visible">True</property>
+ <property name="spacing">2</property>
+ <child>
+ <object class="GtkVBox" id="vbox4">
+ <property name="visible">True</property>
+ <property name="border_width">5</property>
+ <property name="spacing">18</property>
+ <child>
+ <object class="GtkVBox" id="monitor_settings_box">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label12">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Monitor Settings</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox9">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label18">
+ <property name="visible">True</property>
+ <property name="label"> </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox6">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label14">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Monitored CPU:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">prefs_cpu_number</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="prefs_cpu_number">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="display_settings_box">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkLabel" id="label13">
+ <property name="visible">True</property>
+ <property name="xalign">0</property>
+ <property name="label" translatable="yes">Display Settings</property>
+ <attributes>
+ <attribute name="weight" value="bold"/>
+ </attributes>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkHBox" id="hbox11">
+ <property name="visible">True</property>
+ <child>
+ <object class="GtkLabel" id="label20">
+ <property name="visible">True</property>
+ <property name="label"> </property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkVBox" id="vbox5">
+ <property name="visible">True</property>
+ <property name="spacing">6</property>
+ <child>
+ <object class="GtkHBox" id="hbox7">
+ <property name="visible">True</property>
+ <property name="spacing">12</property>
+ <child>
+ <object class="GtkLabel" id="label15">
+ <property name="visible">True</property>
+ <property name="label" translatable="yes">_Appearance:</property>
+ <property name="use_underline">True</property>
+ <property name="mnemonic_widget">prefs_show_mode</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkComboBox" id="prefs_show_mode">
+ <property name="visible">True</property>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="prefs_show_freq">
+ <property name="label" translatable="yes">Show CPU frequency as _frequency</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkAlignment" id="alignment3">
+ <property name="visible">True</property>
+ <property name="left_padding">18</property>
+ <child>
+ <object class="GtkCheckButton" id="prefs_show_unit">
+ <property name="label" translatable="yes">Show frequency _units</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ </object>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">2</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkRadioButton" id="prefs_show_perc">
+ <property name="label" translatable="yes">Show CPU frequency as _percentage</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_underline">True</property>
+ <property name="draw_indicator">True</property>
+ <property name="group">prefs_show_freq</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="position">3</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ <child internal-child="action_area">
+ <object class="GtkHButtonBox" id="dialog-action_area2">
+ <property name="visible">True</property>
+ <property name="layout_style">end</property>
+ <child>
+ <object class="GtkButton" id="helpbutton2">
+ <property name="label">gtk-help</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ <child>
+ <object class="GtkButton" id="closebutton2">
+ <property name="label">gtk-close</property>
+ <property name="visible">True</property>
+ <property name="can_focus">True</property>
+ <property name="can_default">True</property>
+ <property name="receives_default">False</property>
+ <property name="use_stock">True</property>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="fill">False</property>
+ <property name="position">1</property>
+ </packing>
+ </child>
+ </object>
+ <packing>
+ <property name="expand">False</property>
+ <property name="pack_type">end</property>
+ <property name="position">0</property>
+ </packing>
+ </child>
+ </object>
+ </child>
+ <action-widgets>
+ <action-widget response="-11">helpbutton2</action-widget>
+ <action-widget response="-7">closebutton2</action-widget>
+ </action-widgets>
+ </object>
+</interface>
diff --git a/cpufreq/help/C/cpufreq-applet.xml b/cpufreq/help/C/cpufreq-applet.xml
new file mode 100644
index 00000000..1ac8ea80
--- /dev/null
+++ b/cpufreq/help/C/cpufreq-applet.xml
@@ -0,0 +1,372 @@
+<?xml version="1.0"?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
+"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
+ <!ENTITY legal SYSTEM "legal.xml">
+ <!ENTITY appletversion "2.12.0">
+ <!ENTITY applet "CPU Frequency Scaling Monitor">
+]>
+<!--
+ (Do not remove this comment block.)
+ Maintained by the MATE Documentation Project
+ http://developer.mate.org/projects/gdp
+ Template version: 2.0 beta
+ Template last modified Feb 06, 2003
+-->
+<!-- =============Document Header ============================= -->
+<article id="index" lang="en">
+<!-- please do not change the id; for translations, change lang to -->
+<!-- appropriate code -->
+ <articleinfo>
+ <title>&applet; Manual</title>
+ <abstract role="description">
+ <para>&applet; shows the current clock speed of the CPU and provides an
+ interface to change the clock speed if the CPU supports it.</para>
+ </abstract>
+ <copyright>
+ <year>2005</year>
+ <holder>Davyd Madeley</holder>
+ </copyright>
+ <copyright>
+ <year>2004</year>
+ <holder>MATE Foundation</holder>
+ </copyright>
+
+<!-- translators: uncomment this:
+ <copyright>
+ <year>2003</year>
+ <holder>ME-THE-TRANSLATOR (Latin translation)</holder>
+ </copyright>
+ -->
+
+ <publisher role="maintainer">
+ <publishername>MATE Documentation Project</publishername>
+ </publisher>
+
+&legal;
+<!-- This file contains link to license for the documentation (GNU FDL), and
+ other legal stuff such as "NO WARRANTY" statement. Please do not change
+ any of this. -->
+
+ <authorgroup>
+ <author>
+ <firstname>Carlos</firstname>
+ <surname>Garcia Campos</surname>
+ <affiliation>
+ <orgname>MATE Project</orgname>
+ <address><email>[email protected]</email></address>
+ </affiliation>
+ </author>
+ <author>
+ <firstname>Davyd</firstname>
+ <surname>Madeley</surname>
+ <affiliation>
+ <orgname>MATE Project</orgname>
+ <address><email>[email protected]</email></address>
+ </affiliation>
+ </author>
+ <!-- This is appropriate place for other contributors: translators,
+ maintainers, etc. Commented out by default.
+ <othercredit role="translator">
+ <firstname>Latin</firstname>
+ <surname>Translator 1</surname>
+ <affiliation>
+ <orgname>Latin Translation Team</orgname>
+ <address> <email>[email protected]</email> </address>
+ </affiliation>
+ <contrib>Latin translation</contrib>
+ </othercredit>
+-->
+ </authorgroup>
+
+ <releaseinfo revision="2.26" role="review"/>
+
+ <revhistory>
+ <revision>
+ <revnumber>MATE 2.12</revnumber>
+ <date>August 2005</date>
+ <revdescription>
+ <para role="author">Davyd Madeley</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>MATE 2.10</revnumber>
+ <date>March 2005</date>
+ <revdescription>
+ <para role="author">Davyd Madeley</para>
+ </revdescription>
+ </revision>
+ <revision>
+ <revnumber>&applet; Applet Manual V0.3</revnumber>
+ <date>October 2004</date>
+ <revdescription>
+ <para role="author">Carlos Garcia Campos</para>
+ <para role="publisher">MATE Documentation Project</para>
+ </revdescription>
+ </revision>
+ </revhistory>
+
+ <releaseinfo>This manual describes version &appletversion; of &applet;.
+ </releaseinfo>
+
+ <legalnotice>
+ <title>Feedback</title>
+ <para>
+ To report a bug or make a suggestion regarding the &applet; applet or
+ this manual, follow the directions in the <ulink url="ghelp:mate-feedback"
+ type="help">MATE Feedback Page</ulink>.
+ </para>
+ </legalnotice>
+
+ </articleinfo>
+
+ <indexterm zone="index">
+ <primary>CPU Frequency Scaling Monitor</primary>
+ </indexterm>
+<!-- ============= Document Body ============================= -->
+<!-- ============= Introduction ============================== -->
+<sect1 id="cpufreq-applet-introduction">
+ <title>Introduction</title>
+ <figure id="cpufreq-applet-figure">
+ <title>&applet;</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/cpufreq-applet.png"
+ format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ <!-- ==== End of Figure ======================================= -->
+ <para>The <application>&applet;</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU.
+ </para>
+ <para>To add <application>&applet;</application> to a panel, right-click on the panel to open the panel popup menu, then choose
+ <menuchoice>
+ <guimenu>Add to Panel</guimenu>
+ <guimenuitem>CPU Frequency Scaling Monitor</guimenuitem>
+ </menuchoice>.</para>
+
+ <note><para>
+ Unfortunately, CPU frequency scaling can currently only be monitored on
+ Linux machines that have support in the kernel. It can however, support the
+ several generations of frequency scaling interfaces in the kernel.
+ </para></note>
+
+ <para>When there is no CPU frequency scaling support in the system, the &applet; only displays the current CPU frequency.</para>
+ <para>When CPU frequency scaling is supported in the system, the &applet; displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency.</para>
+ <para>By default the &applet; displays the current CPU frequency as a value
+ in Hertz (the standard measure of frequency), but can be configured to
+ display a percentage instead. For more information on how to configure &applet; see <xref linkend="cpufreq-applet-prefs"/>.</para>
+ <para>Each instance of &applet; can monitor only one CPU. You must start an
+ instance of &applet; for each CPU that you want to monitor if you are in a
+ multiprocessor (SMP) system.</para>
+
+ <sect2 id="mate-cpufreq-icons">
+ <title>Understanding the Icons</title>
+ <para>
+ The &applet; has a series of icons that graphically represent the current
+ scaling level of the processor you are monitoring. They are:
+ </para>
+ <informaltable frame="all">
+ <tgroup cols="2" colsep="1" rowsep="1">
+ <colspec colname="COLSPEC0" colwidth="50*"/>
+ <colspec colname="COLSPEC1" colwidth="50*"/>
+ <thead>
+ <row valign="top">
+ <entry colname="COLSPEC0">
+ <para>Icon</para></entry>
+ <entry colname="COLSPEC1">
+ <para>Description</para></entry>
+ </row>
+ </thead>
+ <tbody>
+ <row valign="top">
+ <entry><para><inlinemediaobject><imageobject>
+ <imagedata fileref="figures/cpufreq-100.png"
+ format="PNG"/>
+ </imageobject><textobject>
+ <phrase>100% Power</phrase>
+ </textobject></inlinemediaobject></para></entry>
+ <entry><para>
+ The CPU is running at, or close to, 100% throughput
+ </para></entry>
+ </row>
+ <row valign="top">
+ <entry><para><inlinemediaobject><imageobject>
+ <imagedata fileref="figures/cpufreq-75.png"
+ format="PNG"/>
+ </imageobject><textobject>
+ <phrase>75% Power</phrase>
+ </textobject></inlinemediaobject></para></entry>
+ <entry><para>
+ The CPU is running at, or close to, 75% throughput</para>
+ </entry>
+ </row>
+ <row valign="top">
+ <entry><para><inlinemediaobject><imageobject>
+ <imagedata fileref="figures/cpufreq-50.png"
+ format="PNG"/>
+ </imageobject><textobject>
+ <phrase>50% Power</phrase>
+ </textobject></inlinemediaobject></para></entry>
+ <entry><para>
+ The CPU is running at, or close to, 50% throughput
+ </para></entry>
+ </row>
+ <row valign="top">
+ <entry><para><inlinemediaobject><imageobject>
+ <imagedata fileref="figures/cpufreq-25.png"
+ format="PNG"/>
+ </imageobject><textobject>
+ <phrase>25% Power</phrase>
+ </textobject></inlinemediaobject></para></entry>
+ <entry><para>
+ The CPU is running at, or close to, 25% throughput
+ </para></entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </informaltable>
+ </sect2>
+
+ <sect2 id="mate-cpufreq-selector">
+ <title>Frequency and Governor Selector</title>
+ <warning><para>The Frequency Selector functionality may not be available
+ on your MATE Desktop by default. Please consult your system
+ administrator, vendor documentation, or the documentation that came with
+ this software.</para></warning>
+ <para>
+ To set the CPU frequency, (left-)click on the monitor and a menu
+ will be shown. This menu will offer you a list of available frequencies
+ and/or frequency governors for your machine.
+ </para>
+ <tip><para>
+ You can choose whether you want to show available frequencies or
+ governors in the <guilabel>Preferences</guilabel>.
+ See <xref linkend="cpufreq-applet-prefs"/> for more information.
+ </para></tip>
+
+ <figure id="cpufreq-applet-selector-img">
+ <title>Frequency selector showing just frequencies</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/cpufreq-applet-selector.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+
+ <figure id="cpufreq-applet-selector-both-img">
+ <title>Frequency selector showing both frequencies and governors</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="figures/cpufreq-applet-selector-both.png" format="PNG"/>
+ </imageobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ </sect2>
+</sect1>
+
+<!-- ============= Customization ============================= -->
+<!-- Use this section to describe how to customize the applet. -->
+<sect1 id="cpufreq-applet-prefs">
+ <title>Preferences</title>
+ <para>To configure the <application>&applet;</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu.</para>
+ <para>The <guimenuitem>Preferences</guimenuitem> dialog contains the following components: </para>
+ <figure id="cpufreq-applet-preferences">
+ <title>&applet; Preferences Dialog</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject><imagedata fileref="figures/cpufreq-applet-preferences.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>&applet; preferences dialog</phrase>
+ </textobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+
+ <variablelist>
+ <varlistentry>
+ <term><guilabel>Monitored CPU (only in multiprocessor systems)</guilabel></term>
+ <listitem>
+ <para>Use this drop-down list to select the CPU that you want to monitor.</para>
+ <figure id="cpufreq-applet-preferences-smp">
+ <title>Selecting the CPU to monitor</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject><imagedata fileref="figures/cpufreq-applet-preferences-smp.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>&applet; preferences dialog CPU selector</phrase>
+ </textobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+ <note><para>
+ The <guilabel>Monitored CPU</guilabel> option will only appear on
+ multiprocessor (SMP) systems.
+ </para></note>
+
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guilabel>Show in Mode</guilabel></term>
+ <listitem>
+ <para>Use this drop-down list to select the mode in which you want to display the applet.
+ Available modes are: Graphic, Text and both (Graphic and Text)
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guilabel>Show CPU frequency as frequency</guilabel></term>
+ <listitem>
+ <para>Select this option to display the current CPU frequency.</para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guilabel>Show frequency units</guilabel></term>
+ <listitem>
+ <para>Select this option to display or not the frequency units in the frequency mode.
+ </para>
+ </listitem>
+ </varlistentry>
+ <varlistentry>
+ <term><guilabel>Show CPU frequency as percentage</guilabel></term>
+ <listitem>
+ <para>Select this option to display the current CPU frequency as a percentage.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry><term><guilabel>Show menu</guilabel></term>
+ <listitem>
+ <para>
+ This option allows you to choose how much information is shown in
+ the frequency selector dropdown
+ (see <xref linkend="mate-cpufreq-selector"/>). You can select to
+ display <guilabel>Frequencies</guilabel>,
+ <guilabel>Governors</guilabel> or both <guilabel>Frequencies and
+ Governors</guilabel>.
+ <figure id="cpufreq-applet-selector-both-2">
+ <title>The selector configured to Frequencies and Governors</title>
+ <screenshot>
+ <mediaobject>
+ <imageobject><imagedata fileref="figures/cpufreq-applet-selector-both.png" format="PNG"/>
+ </imageobject>
+ <textobject>
+ <phrase>CPU governors selector</phrase>
+ </textobject>
+ </mediaobject>
+ </screenshot>
+ </figure>
+
+ </para>
+ </listitem></varlistentry>
+ </variablelist>
+ </sect1>
+
+</article>
diff --git a/cpufreq/help/C/figures/cpufreq-100.png b/cpufreq/help/C/figures/cpufreq-100.png
new file mode 100644
index 00000000..6b63453a
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-100.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-25.png b/cpufreq/help/C/figures/cpufreq-25.png
new file mode 100644
index 00000000..ae2acf6c
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-25.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-50.png b/cpufreq/help/C/figures/cpufreq-50.png
new file mode 100644
index 00000000..03ab5e3b
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-50.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-75.png b/cpufreq/help/C/figures/cpufreq-75.png
new file mode 100644
index 00000000..49e9342d
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-75.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/C/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..f0105a2c
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-applet-preferences.png b/cpufreq/help/C/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..4e211c34
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-applet-selector-both.png b/cpufreq/help/C/figures/cpufreq-applet-selector-both.png
new file mode 100644
index 00000000..e7799490
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-applet-selector-both.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-applet-selector.png b/cpufreq/help/C/figures/cpufreq-applet-selector.png
new file mode 100644
index 00000000..2c962a52
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-applet-selector.png
Binary files differ
diff --git a/cpufreq/help/C/figures/cpufreq-applet.png b/cpufreq/help/C/figures/cpufreq-applet.png
new file mode 100644
index 00000000..159ba28a
--- /dev/null
+++ b/cpufreq/help/C/figures/cpufreq-applet.png
Binary files differ
diff --git a/cpufreq/help/C/legal.xml b/cpufreq/help/C/legal.xml
new file mode 100644
index 00000000..acb0b403
--- /dev/null
+++ b/cpufreq/help/C/legal.xml
@@ -0,0 +1,76 @@
+ <legalnotice id="legalnotice">
+ <para>
+ Permission is granted to copy, distribute and/or modify this
+ document under the terms of the GNU Free Documentation
+ License (GFDL), Version 1.1 or any later version published
+ by the Free Software Foundation with no Invariant Sections,
+ no Front-Cover Texts, and no Back-Cover Texts. You can find
+ a copy of the GFDL at this <ulink type="help"
+ url="ghelp:fdl">link</ulink> or in the file COPYING-DOCS
+ distributed with this manual.
+ </para>
+ <para> This manual is part of a collection of MATE manuals
+ distributed under the GFDL. If you want to distribute this
+ manual separately from the collection, you can do so by
+ adding a copy of the license to the manual, as described in
+ section 6 of the license.
+ </para>
+
+ <para>
+ Many of the names used by companies to distinguish their
+ products and services are claimed as trademarks. Where those
+ names appear in any MATE documentation, and the members of
+ the MATE Documentation Project are made aware of those
+ trademarks, then the names are in capital letters or initial
+ capital letters.
+ </para>
+
+ <para>
+ DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED
+ UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE
+ WITH THE FURTHER UNDERSTANDING THAT:
+
+ <orderedlist>
+ <listitem>
+ <para>DOCUMENT IS PROVIDED ON AN "AS IS" BASIS,
+ WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR
+ IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES
+ THAT THE DOCUMENT OR MODIFIED VERSION OF THE
+ DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR
+ A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE
+ RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE
+ OF THE DOCUMENT OR MODIFIED VERSION OF THE
+ DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR
+ MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT,
+ YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY
+ CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY
+ SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER
+ OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS
+ LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED
+ VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER
+ EXCEPT UNDER THIS DISCLAIMER; AND
+ </para>
+ </listitem>
+ <listitem>
+ <para>UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL
+ THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE),
+ CONTRACT, OR OTHERWISE, SHALL THE AUTHOR,
+ INITIAL WRITER, ANY CONTRIBUTOR, OR ANY
+ DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION
+ OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH
+ PARTIES, BE LIABLE TO ANY PERSON FOR ANY
+ DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR
+ CONSEQUENTIAL DAMAGES OF ANY CHARACTER
+ INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS
+ OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR
+ MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR
+ LOSSES ARISING OUT OF OR RELATING TO USE OF THE
+ DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT,
+ EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF
+ THE POSSIBILITY OF SUCH DAMAGES.
+ </para>
+ </listitem>
+ </orderedlist>
+ </para>
+ </legalnotice>
+
diff --git a/cpufreq/help/Makefile.am b/cpufreq/help/Makefile.am
new file mode 100644
index 00000000..73a2a06a
--- /dev/null
+++ b/cpufreq/help/Makefile.am
@@ -0,0 +1,19 @@
+include $(top_srcdir)/mate-doc-utils.make
+dist-hook: doc-dist-hook
+
+DOC_MODULE = cpufreq-applet
+DOC_ENTITIES = legal.xml
+
+DOC_FIGURES = figures/cpufreq-100.png \
+ figures/cpufreq-25.png \
+ figures/cpufreq-50.png \
+ figures/cpufreq-75.png \
+ figures/cpufreq-applet.png \
+ figures/cpufreq-applet-preferences.png \
+ figures/cpufreq-applet-preferences-smp.png \
+ figures/cpufreq-applet-selector-both.png \
+ figures/cpufreq-applet-selector.png
+
+DOC_LINGUAS = ca cs de el en_GB es eu fi fr hu nl oc pt_BR ru sv uk zh_CN zh_HK zh_TW
+
+-include $(top_srcdir)/git.mk
diff --git a/cpufreq/help/ca/ca.po b/cpufreq/help/ca/ca.po
new file mode 100644
index 00000000..25253a7f
--- /dev/null
+++ b/cpufreq/help/ca/ca.po
@@ -0,0 +1,387 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet\n"
+"POT-Creation-Date: 2007-06-07 14:14+0100\n"
+"PO-Revision-Date: 2007-06-07 15:14+0100\n"
+"Last-Translator: Gil Forcada <[email protected]>\n"
+"Language-Team: catalan <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Manual del monitor de l'escalat de la freqüència de la CPU"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "El monitor de l'escalat de la freqüència de la CPU mostra la velocitat de rellotge actual de la CPU i proporciona una interfície per canviar-la (si la CPU ho permet)."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para) C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Fundació MATE"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Projecte de documentació del MATE"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Teniu permís per a copiar, distribuir i/o modificar aquest document, sota els termes de la Llicència de documentació lliure GNU (GFDL), versió 1.1 o qualsevol versió publicada posteriorment per la Free Software Foundation, sense seccions invariants, sense texts de portada i sense texts de contraportada. Podeu trobar una còpia de la GFDL en aquest <ulink type=\"help\" url=\"ghelp:fdl\">enllaç</ulink> o en el fitxer COPYING-DOCS distribuït amb aquest manual."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Aquest manual forma part d'una col·lecció de manuals del MATE distribuïts sota la GFDL. Si voleu distribuir aquest manual independentment de la col·lecció, podeu fer-ho afegint una còpia de la llicència al manual, tal com es descriu a la secció 6 de la llicència."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Molts dels noms que les empreses utilitzen per a distingir els seus productes i serveis es consideren marques comercials. Quan aquests noms apareguin en qualsevol documentació del MATE, si els membres del Projecte de documentació del MATE han estat avisats pel que fa a les marques, els noms apareixeran en majúscules o amb les inicials en majúscules."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "EL DOCUMENT S'OFEREIX «TAL COM ÉS», SENSE CAP TIPUS DE GARANTIA, NI EXPLÍCITA NI IMPLÍCITA; AIXÒ INCLOU, SENSE LIMITAR-S'HI, LES GARANTIES QUE EL DOCUMENT O LA VERSIÓ MODIFICADA DEL DOCUMENT NO TINGUI DEFECTES, SIGUI COMERCIALITZABLE, SIGUI ADEQUAT PER A UN ÚS CONCRET O NO INFRINGEIXI CAP LLEI. TOT EL RISC PEL QUE FA A LA QUALITAT, EXACTITUD I RENDIMENT DEL DOCUMENT O LA VERSIÓ MODIFICADA DEL DOCUMENT ÉS VOSTRE. EN CAS QUE EL DOCUMENT RESULTÉS DEFECTUÓS EN QUALSEVOL ASPECTE, VÓS (NO PAS L'ESCRIPTOR INICIAL, L'AUTOR O CAP ALTRE COL·LABORADOR) ASSUMIU TOT EL COST DE MANTENIMENT, REPARACIÓ O CORRECCIÓ. AQUESTA RENÚNCIA DE GARANTIA CONSTITUEIX UNA PART ESSENCIAL D'AQUESTA LLICÈNCIA. NO S'AUTORITZA L'ÚS DE CAP DOCUMENT O VERSIÓ MODIFICADA DEL DOCUMENT EXCEPTE SOTA AQUESTA RENÚNCIA DE GARANTIA; I "
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "EN CAP CAS I SOTA CAP INTERPRETACIÓ LEGAL, JA SIGUI PER AGREUJAMENT (INCLOENT-HI LA NEGLIGÈNCIA), CONTRACTE O ALTRE CAS, L'AUTOR, L'ESCRIPTOR ORIGINAL, QUALSEVOL DELS COL·LABORADORS O DISTRIBUÏDORS DEL DOCUMENT O UNA VERSIÓ MODIFICADA DEL DOCUMENT NI CAP PROVEÏDOR D'AQUESTES PARTS NO SERAN RESPONSABLES DAVANT DE NINGÚ PER CAP DANY DIRECTE, INDIRECTE, ESPECIAL, ACCIDENTAL O CONSECUTIU DE QUALSEVOL TIPUS; AIXÒ INCLOU, SENSE LIMITAR-S'HI, ELS DANYS PER PÈRDUA DE CLIENTS, INTERRUPCIONS DE LA FEINA, FALLADA O MALFUNCIONAMENT DE L'ORDINADOR, O QUALSEVOL ALTRA PÈRDUA O DANY RELACIONAT AMB L'ÚS DEL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT, FINS I TOT SI S'HA INFORMAT AQUESTA PART DE LA POSSIBILITAT D'AQUESTS DANYS."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "EL DOCUMENT I LES VERSIONS MODIFICADES DEL DOCUMENT S'OFEREIXEN SOTA ELS TERMES DE LA LLICÈNCIA DE DOCUMENTACIÓ LLIURE DE GNU, TENINT EN COMPTE QUE: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Projecte MATE"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Agost de 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Març de 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Manual de la miniaplicació del monitor de l'escalat de la freqüència de la CPU (Versió 0.3)"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Octubre de 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Aquest manual descriu la versió 2.12.0 del monitor de l'escalat de la freqüència de la CPU."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Comentaris"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Per a informar d'un error o fer un suggeriment sobre la miniaplicació del monitor de l'escalat de la freqüència de la CPU o aquest manual, seguiu les indicacions de la <ulink url=\"ghelp:mate-feedback\" type=\"help\">Pàgina de suggeriments del MATE</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Monitor de l'escalat de la freqüència de la CPU"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introducció"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "El <application>monitor de l'escalat de la freqüència de la CPU</application> proporciona una manera amigable de monitoritzar l'escalat de la freqüència de la CPU per a cada CPU."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "Per a afegir el <application>monitor de l'escalat de la freqüència de la CPU</application> a un quadre, feu clic amb el botó secundari en el quadre per a obrir el menú contextual d'aquest, després escolliu <menuchoice><guimenu>Afegeix al quadre</guimenu><guimenuitem>Monitor de l'escalat de la freqüència de la CPU</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Desgraciadament, l'escalat de la freqüència de la CPU només es pot monitoritzar en ordinadors amb Linux que ho tinguin habilitat en el nucli. Tot i així, sap utilitzar les diferents generacions d'interfícies del nucli d'escalat de la freqüència."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "Quan el sistema no permet modificar l'escalat de la freqüència de la CPU, el monitor de l'escalat de la freqüència de la CPU només mostra la freqüència actual de la CPU."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "Quan el sistema permet modificar l'escalat de la freqüència de la CPU, el monitor de l'escalat de la freqüència de la CPU mostra la icona de la CPU amb una barra de progrés. L'estat de la barra de progrés representa la freqüència actual de la CPU respecte la freqüència màxima."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "Per defecte el monitor de l'escalat de la freqüència de la CPU mostra la freqüència actual de la CPU en Hertz (la unitat de mesura de freqüències estàndard), però es pot configurar perquè ho mostri en percentatges. Vegeu la <xref linkend=\"cpufreq-applet-prefs\"/> per a més informació sobre com configurar el monitor de l'escalat de la freqüència de la CPU."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Cada instància del monitor de l'escalat de la freqüència de la CPU només pot monitoritzar una CPU. Si teniu un sistema multiprocessador (SMP), haureu d'iniciar una altra instància del monitor de l'escalat de la freqüència de la CPU per a cada CPU que vulgueu monitoritzar."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "El significat de cada icona"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "El monitor de l'escalat de la freqüència de la CPU te unes quantes icones que representen gràficament el nivell d'escalat actual del processador que es monitoritza. Són:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icona"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Descripció"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% de la potència"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "La CPU està funcionant, o s'hi acosta, al 100%"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% de la potència"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "La CPU està funcionant, o s'hi acosta, al 75%"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% de la potència"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "La CPU està funcionant, o s'hi acosta, al 50%"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% de la potència"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "La CPU està funcionant, o s'hi acosta, al 25%"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Freqüència i el selector del governador"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "És possible que no disposeu de la funcionalitat per a seleccionar la freqüència en el vostre escriptori MATE. Consulteu l'administrador del sistema, la documentació del venedor o la documentació d'aquest mateix programari."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "Per a establir la freqüència de la CPU, feu clic en el monitor i es mostrarà un menú. Aquest menú us oferirà una llista de les freqüències i/o governadors de freqüència per a l'ordinador."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Podeu escollir si voleu visualitzar les freqüències disponibles o els governadors en les <guilabel>Preferències</guilabel>. Per a més informació vegeu la <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "El selector de freqüència mostra només les freqüències"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "El selector de freqüència mostra tan les freqüències com els governadors"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Preferències"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "Per a configurar el <application>monitor de l'escalat de la freqüència de la CPU</application>, feu clic amb el botó secundari sobre la miniaplicació i després escolliu <guimenuitem>Preferències</guimenuitem> en el menú contextual."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "El diàleg de <guimenuitem>Preferències</guimenuitem> conté els components següents:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Diàleg de les preferències del monitor de l'escalat de la freqüència de la CPU"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Diàleg de les preferències del monitor de l'escalat de la freqüència de la CPU"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "CPU monitoritzada (només en sistemes multiprocessadors)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Utilitzeu la llista desplegable per a seleccionar la CPU que voleu monitoritzar."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Selecció de la CPU a monitoritzar"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Diàleg de selecció de la CPU del monitor de l'escalat de la freqüència de la CPU"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "L'opció <guilabel>CPU monitoritzada</guilabel> només apareix en sistemes multiprocessador (SMP)."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Aparença"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Utilitzeu aquesta llista desplegable per a seleccionar el mode amb el qual visualitzar la miniaplicació. Els modes disponibles són: Gràfic, Text i ambdós (Gràfic i text)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Mostra la freqüència de la CPU com a freqüència"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Seleccioneu aquesta opció per a visualitzar la freqüència actual de la CPU."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Mostra les unitats de la freqüència"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Seleccioneu aquesta opció per a visualitzar les unitats de la freqüència en el mode de freqüència."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Mostra la freqüència de la CPU com a percentatge"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Seleccioneu aquesta opció per a mostrar la freqüència actual de la CPU com a percentatge."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Mostra el menú"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "El selector configurat a freqüències i governadors"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Selector del governador de la CPU"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Aquesta opció us permet escollir quina informació es mostra en el desplegable de la selecció de freqüència (vegeu la <xref linkend=\"mate-cpufreq-selector\"/>). Podeu seleccionar visualitzar <guilabel>Freqüències</guilabel>, <guilabel>Governadors</guilabel> o ambdós <guilabel>Freqüències i governadors</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Gil Forcada <[email protected]>, 2007"
+
diff --git a/cpufreq/help/cpufreq-applet.omf.in b/cpufreq/help/cpufreq-applet.omf.in
new file mode 100644
index 00000000..3fbad40b
--- /dev/null
+++ b/cpufreq/help/cpufreq-applet.omf.in
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<omf>
+ <resource>
+ <subject category="GNOME|Applets|Utility"/>
+ <type>user's guide</type>
+ <relation seriesid="cf7c4832-5d89-11d8-859c-c3668c0ad7d6"/>
+ <rights type="GNU FDL" license.version="1.1" holder="MATE Foundation"/>
+ </resource>
+</omf>
diff --git a/cpufreq/help/cs/cs.po b/cpufreq/help/cs/cs.po
new file mode 100644
index 00000000..a40575ea
--- /dev/null
+++ b/cpufreq/help/cs/cs.po
@@ -0,0 +1,602 @@
+# Czech translation of cpufreq help.
+# Copyright (C) 2009 the author(s) of mate-applets.
+# This file is distributed under the same license as the cpufreq help.
+# Marek Černocký <[email protected]>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-applets mate-2-26\n"
+"POT-Creation-Date: 2009-06-21 22:49+0000\n"
+"PO-Revision-Date: 2009-06-24 20:51+0100\n"
+"Last-Translator: Marek Černocký <[email protected]>\n"
+"Language-Team: Czech <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
+"X-Poedit-Language: Czech\n"
+"X-Poedit-Country: CZECH REPUBLIC\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=d97d7b1d2c134ccd2a5171b5f44b095a"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=e782e523a2dd26d277b5f3554cfe0522"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Příručka k appletu Sledování změny frekvence CPU"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"Sledování změny frekvence CPU zobrazuje současnou frekvenci CPU a poskytuje "
+"rozhraní na změnu frekvence, pokud to daná CPU podporuje."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Dokumentační projekt MATE"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Je povoleno kopírovat, šířit a/nebo upravovat tento dokument za podmínek GNU "
+"Free Documentation License, verze 1.1 nebo jakékoli další verze vydané "
+"nadací Free Software Foundation; bez neměnných oddílů, bez textů předních "
+"desek a bez textů zadních desek. Kopie této licence je zahrnuta v oddílu "
+"jménem <ulink type=\"help\" url=\"ghelp:fdl\">GNU Free Documentation "
+"License</ulink> nebo v souboru COPYING-DOCS dodávaném s touto příručkou."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Tato příručka je součástí kolekce příruček MATE, distribuovaných pod "
+"licencí GNU FDL. Pokud chcete tento dokument šířit odděleně od kolekce, "
+"musíte přiložit kopii licence dle popisu v sekci 6 dané licence."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Mnoho užívaných jmen určených k zviditelnění produktů nebo služeb jsou "
+"ochranné známky. Na místech, kde jsou tato jména v dokumentaci užita a "
+"členové Dokumentačního projektu MATE jsou si vědomi skutečnosti, že se "
+"jedná o ochrannou známku, je takové jméno psáno velkými písmeny celé nebo s "
+"velkým písmenem na začátku."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"DOKUMENT JE POSKYTOVÁN V PODOBĚ „JAK JE“ BEZ ZÁRUKY V JAKÉKOLIV PODOBĚ, "
+"NEPOSKYTUJÍ SE ANI ODVOZENÉ ZÁRUKY, ZÁRUKY, ŽE DOKUMENT, NEBO JEHO UPRAVENÁ "
+"VERZE, JE BEZCHYBNÝ NEBO ZÁRUKY PRODEJNOSTI, VHODNOSTI PRO URČITÝ ÚČEL NEBO "
+"NEPORUŠENOSTI. RIZIKO NEKVALITY, NEPŘESNOSTI A ŠPATNÉHO PROVEDENÍ DOKUMENTU, "
+"NEBO JEHO UPRAVENÉ VERZE, LEŽÍ NA VÁS. POKUD KVŮLI TOMUTO DOKUMENTU, NEBO "
+"JEHO UPRAVENÉ VERZI, NASTANE PROBLÉM, VY (NIKOLIV PŮVODNÍ AUTOR NEBO "
+"JAKÝKOLIV PŘISPĚVATEL) PŘEBÍRÁTE JAKÉKOLIV NÁKLADY ZA NUTNÉ ÚPRAVY, OPRAVY "
+"ČI SLUŽBY. TOTO PROHLÁŠENÍ O ZÁRUCE PŘEDSTAVUJE ZÁKLADNÍ SOUČÁST TÉTO "
+"LICENCE. BEZ TOHOTO PROHLÁŠENÍ NENÍ, PODLE TÉTO DOHODY, POVOLENO UŽÍVÁNÍ ANI "
+"ÚPRAVY TOHOTO DOKUMENTU; DÁLE"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"ZA ŽÁDNÝCH OKOLNOSTÍ A ŽÁDNÝCH PRÁVNÍCH PŘEDPOKLADŮ, AŤ SE JEDNÁ O PŘEČIN "
+"(VČETNĚ NEDBALOSTNÍCH), SMLOUVU NEBO JINÉ, NENÍ AUTOR, PŮVODNÍ PISATEL, "
+"KTERÝKOLIV PŘISPĚVATEL NEBO KTERÝKOLIV DISTRIBUTOR TOHOTO DOKUMENTU NEBO "
+"UPRAVENÉ VERZE DOKUMENTU NEBO KTERÝKOLIV DODAVATEL NĚKTERÉ Z TĚCHTO STRAN "
+"ODPOVĚDNÝ NĚJAKÉ OSOBĚ ZA PŘÍMÉ, NEPŘÍMÉ, SPECIÁLNÍ, NAHODILÉ NEBO NÁSLEDNÉ "
+"ŠKODY JAKÉHOKOLIV CHARAKTERU, VČETNĚ, ALE NEJEN, ZA POŠKOZENÍ ZE ZTRÁTY "
+"DOBRÉHO JMÉNA, PŘERUŠENÍ PRÁCE, PORUCHY NEBO NESPRÁVNÉ FUNKCE POČÍTAČE NEBO "
+"JINÉHO A VŠECH DALŠÍCH ŠKOD NEBO ZTRÁT VYVSTÁVAJÍCÍCH Z NEBO VZTAHUJÍCÍCH SE "
+"K POUŽÍVÁNÍ TOHOTO DOKUMENTU NEBO UPRAVENÝCH VERZÍ DOKUMENTU, I KDYŽ BY "
+"TAKOVÁTO STRANA BYLA INFORMOVANÁ O MOŽNOSTI TAKOVÉHOTO POŠKOZENÍ."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"DOKUMENT A JEHO UPRAVENÉ VERZE JSOU ŠÍŘENY V SOULADU SE ZNĚNÍM LICENCE GNU "
+"FREE DOCUMENTATION LICENSE S NÁSLEDUJÍCÍM USTANOVENÍM: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Projekt MATE"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Srpen 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Březen 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Příručka V0.3 k appletu Sledování změny frekvence CPU"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Říjen 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Tato příručka popisuje Sledování změny frekvence CPU verze 2.12.0"
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Ohlasy"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Pokud chcete oznámit chybu nebo navrhnout vylepšení vztahující se k appletu "
+"<application>Sledování změny frekvence CPU</application> nebo této příručce, "
+"postupujte dle instrukcí na stránce <ulink url=\"ghelp:mate-feedback\" type="
+"\"help\">Stránka s ohlasy na MATE</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Sledování změny frekvence CPU"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Úvod"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"<application>Sledování změny frekvence CPU</application> poskytuje pohodlný "
+"způsob, jak sledovat změnu frekvence každé CPU."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"<application>Sledování změny frekvence CPU</application> přidáte na panel "
+"tak, že otevřete vyskakovací nabídku kliknutím na panel pravým tlačítkem a "
+"zvolíte <menuchoice><guimenu>Přidat na panel</guimenu><guimenuitem>Sledování "
+"změny frekvence CPU</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Škálování frekvence CPU lze zatím bohužel sledovat pouze na Linuxových "
+"strojích, které mají příslušnou podporu v jádře. Nicméně applet podporuje "
+"několik různých generací rozhraní jádra pro škálování frekvence."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Pokud v systému není podpora pro škálování frekvence CPU, bude applet "
+"Sledování změny frekvence CPU pouze zobrazovat současnou frekvenci CPU."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Pokud systém škálování frekvence CPU podporuje, tak applet Sledování změny "
+"frekvence CPU zobrazuje ikonu CPU s ukazatelem. Stav ukazatele představuje "
+"současnou frekvenci CPU vzhledem k maximální možné frekvenci."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Standardně zobrazuje applet Sledování změny frekvence CPU frekvenci v "
+"Hertzech (hlavní jednotka SI pro frekvenci), ale můžete si nastavit, aby se "
+"místo ní zobrazovalo vyjádření v procentech. Více informací o tom, jak "
+"applet Sledování změny frekvence CPU nastavit, uvádí <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Každý spuštěný applet Sledování změny frekvence CPU může sledovat pouze "
+"jednu CPU. Pokud chcete ve víceprocesorových systémech (SMP) sledovat každou "
+"CPU, tak musíte applet spustit pro každou zvlášť."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Význam ikon"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"Applet Sledování změny frekvence CPU má řadu ikon, které graficky vyjadřují "
+"současnou úroveň sledovaného procesoru. Jsou to:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Ikona"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Popis"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% výkon"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "CPU běží na nebo okolo 100% kapacity"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% výkon"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "CPU běží na nebo okolo 75% kapacity"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% výkon"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "CPU běží na nebo okolo 50% kapacity"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% výkon"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "CPU běží na nebo okolo 25% kapacity"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Výběr frekvence a regulace"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"Funkcionalita výběru frekvence nemusí být ve výchozím stavu ve vašem "
+"pracovním prostředí MATE dostupná. Poraďte se prosím se svým systémovým "
+"správcem, dokumentací dodavatele nebo dokumentací dodanou spolu se software."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Frekvenci CPU nastavíte tak, že kliknete na applet a objeví se nabídka. V "
+"nabídce si můžete vybrat ze seznamu dostupných frekvencí a/nebo regulátorů "
+"frekvencí pro váš stroj."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"V <guilabel>Předvolbách</guilabel> si můžete nastavit, zda chcete zobrazovat "
+"frekvence nebo regulátory. Více informací podává <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Volič frekvence nabízející možné frekvence"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Volič frekvence nabízející jak frekvence tak regulace"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Předvolby"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Pokud hodláte nastavovat applet <application>Sledování změny frekvence CPU</"
+"application>, tak na něj klikněte pravým tlačítkem a vyberte ve vyskakovací "
+"nabídce <guimenuitem>Předvolby</guimenuitem>."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr "Dialog <guimenuitem>Předvolby</guimenuitem> obsahuje následující prvky:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Dialog Předvolby sledování frekvence CPU"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Dialog Předvolby sledování frekvence CPU"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Sledovaná CPU (pouze ve víceprocesorových systémech)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "K volbě CPU, kterou chcete sledovat, použijte vyskakovací seznam."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Volba sledované CPU"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Volba CPU v dialogu Předvolby sledování frekvence CPU"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"Volba <guilabel>Sledovaná CPU</guilabel> se objevuje pouze na "
+"víceprocesorových systémech (SMP)."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Vzhled"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Pomocí tohoto vyskakovacího seznamu můžete zvolit, co chcete, aby applet "
+"zobrazoval. Dostupné jsou tyto režimy: Grafika, Text a obojí (Grafika a text)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Zobrazovat frekvenci CPU jako frekvenci"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Zvolte, pokud chcete zobrazovat současnou frekvenci CPU."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Zobrazovat jednotky frekvence"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Vyberte si, jestli chcete při zobrazování frekvence uvádět jednotky nebo ne."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Zobrazovat frekvenci CPU jako procenta"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr "Zvolte, pokud chcete zobrazovat současnou frekvenci v procentech."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Zobrazovat nabídku"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Volič nastavený tak, aby zobrazoval frekvence a regulátory"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Výběr regulace CPU"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Tato volba umožňuje vybrat, kolik informací chcete zobrazit ve "
+"vyskakovací nabídce pro výběr frekvence (viz <xref linkend=\"mate-cpufreq-"
+"selector\"/>). Můžete zvolit zobrazování <guilabel>Frekvencí</guilabel>, "
+"<guilabel>Regulátorů</guilabel> nebo obojího <guilabel>Frekvencí i "
+"regulátorů</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Marek Černocký <[email protected]>, 2009."
diff --git a/cpufreq/help/cs/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/cs/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..b8022b4c
--- /dev/null
+++ b/cpufreq/help/cs/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/cs/figures/cpufreq-applet-preferences.png b/cpufreq/help/cs/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..bd5add97
--- /dev/null
+++ b/cpufreq/help/cs/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/de/de.po b/cpufreq/help/de/de.po
new file mode 100644
index 00000000..d3ed5848
--- /dev/null
+++ b/cpufreq/help/de/de.po
@@ -0,0 +1,619 @@
+# German translation of the cpufreq-applet manual.
+# Mario Blättermann <[email protected]>, 2008, 2009.
+# Christian Kirbach <[email protected]>, 2010.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: \n"
+"POT-Creation-Date: 2010-02-21 20:55+0000\n"
+"PO-Revision-Date: 2010-02-22 00:34+0100\n"
+"Last-Translator: Christian Kirbach <[email protected]>\n"
+"Language-Team: Deutsch <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Poedit-Language: German\n"
+"X-Poedit-Country: GERMANY\n"
+"Plural-Forms: nplurals=2; plural=(n != 1)\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:135(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:186(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:197(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:208(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:219(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:254(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:265(None) C/cpufreq-applet.xml:358(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:283(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr "translated"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:301(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "translated"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "»Überwachung der Prozessortaktstufen«-Handbuch"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"Die Überwachung der Prozessortaktstufen zeigt die aktuelle Taktfrequenz des "
+"Prozessors an und stellt eine Schnittstelle zum Anpassen des Prozessortakts "
+"bereit, falls der Prozessor diese Möglichkeit unterstützt."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:88(para)
+#: C/cpufreq-applet.xml:95(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE-Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:103(para)
+msgid "MATE Documentation Project"
+msgstr "MATE-Dokumentationsprojekt"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Das vorliegende Dokument kann gemäß den Bedingungen der GNU Free "
+"Documentation License (GFDL), Version 1.1 oder jeder späteren, von der Free "
+"Software Foundation veröffentlichten Version ohne unveränderbare Abschnitte "
+"sowie ohne Texte auf dem vorderen und hinteren Buchdeckel kopiert, verteilt "
+"und/oder modifiziert werden. Eine Kopie der GFDL finden Sie unter diesem "
+"<ulink type=\"help\" url=\"ghelp:fdl\">Link</ulink> oder in der mit diesem "
+"Handbuch gelieferten Datei COPYING-DOCS."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Dieses Handbuch ist Teil einer Sammlung von MATE-Handbüchern, die unter der "
+"GFDL veröffentlicht werden. Wenn Sie dieses Handbuch getrennt von der "
+"Sammlung weiterverbreiten möchten, können Sie das tun, indem Sie eine Kopie "
+"der Lizenz zum Handbuch hinzufügen, wie es in Abschnitt 6 der Lizenz "
+"beschrieben ist."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Viele der Namen, die von Unternehmen verwendet werden, um ihre Produkte und "
+"Dienstleistungen von anderen zu unterscheiden, sind eingetragene "
+"Warenzeichen. An den Stellen, an denen diese Namen in einer MATE-"
+"Dokumentation erscheinen, werden die Namen in Großbuchstaben oder mit einem "
+"großen Anfangsbuchstaben geschrieben, wenn das MATE-Dokumentationsprojekt "
+"auf diese Warenzeichen hingewiesen wird."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"DIESES DOKUMENT WIRD »WIE VORLIEGEND« GELIEFERT, OHNE GARANTIEN IRGENDEINER "
+"ART, SOWOHL AUSDRÜCKLICH GENANNTE ALS AUCH ANGEDEUTETE. DIES BEZIEHT SICH "
+"AUCH OHNE EINSCHRÄNKUNG AUF GARANTIEN, DASS DIESES DOKUMENT ODER VERÄNDERTE "
+"FASSUNGEN DIESES DOKUMENTS FREI VON HANDELSDEFEKTEN, FÜR EINEN BESTIMMTEN "
+"ZWECK GEEIGNET IST ODER DASS ES KEINE RECHTE DRITTER VERLETZT. DAS VOLLE "
+"RISIKO WAS QUALITÄT, GENAUIGKEIT UND LEISTUNG DES DOKUMENTS ODER VERÄNDERTE "
+"FASSUNGEN DES DOKUMENTS LIEGT BEI IHNEN. SOLLTE EIN DOKUMENT ODER EINE "
+"VERÄNDERTE FASSUNG DAVON FEHLER IRGENDEINER ART BEINHALTEN, TRAGEN SIE "
+"(NICHT DER URSPRUNGSAUTOR, DER AUTOR ODER EIN MITWIRKENDER) DIE KOSTEN FÜR "
+"NOTWENDIGE DIENSTLEISTUNGEN, REPARATUREN ODER FEHLERKORREKTUREN. DIESER "
+"HAFTUNGSAUSSCHLUSS IST EIN ESSENZIELLER TEIL DIESER LIZENZ. DIE VERWENDUNG "
+"EINES DOKUMENTS ODER EINER VERÄNDERTEN VERSION DES DOKUMENTS IST NICHT "
+"GESTATTET AUßER UNTER BEACHTUNG DIESES HAFTUNGSAUSSCHLUSSES UND"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"UNTER KEINEN UMSTÄNDEN UND AUF BASIS KEINER RECHTSGRUNDLAGE, EGAL OB DURCH "
+"UNERLAUBTEN HANDLUNGEN (EINSCHLIEßLICH FAHRLÄSSIGKEIT), VERTRAG ODER "
+"ANDERWEITIG KANN DER AUTOR, URSPRUNGSAUTOR, EIN MITWIRKENDER ODER EIN "
+"VERTRIEBSPARTNER DIESES DOKUMENTS ODER EINER VERÄNDERTEN FASSUNG DES "
+"DOKUMENTS ODER EIN ZULIEFERER EINER DIESER PARTEIEN, HAFTBAR GEMACHT WERDEN "
+"FÜR DIREKTE, INDIREKTE, SPEZIELLE, VERSEHENTLICHE ODER FOLGESCHÄDEN "
+"JEGLICHER ART, EINSCHLIEßLICH UND OHNE EINSCHRÄNKUNGEN SCHÄDEN DURCH VERLUST "
+"VON KULANZ, ARBEITSAUSFALL, COMPUTERVERSAGEN ODER COMPUTERFEHLFUNKTIONEN "
+"ODER ALLE ANDEREN SCHÄDEN ODER VERLUSTE, DIE SICH AUS ODER IN VERBINDUNG MIT "
+"DER VERWENDUNG DES DOKUMENTS UND VERÄNDERTER FASSUNGEN DES DOKUMENTS "
+"ERGEBEN, AUCH WENN DIE OBEN GENANNTEN PARTEIEN ÜBER DIE MÖGLICHKEIT SOLCHER "
+"SCHÄDEN INFORMIERT WAREN."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"DAS DOKUMENT UND VERÄNDERTE FASSUNGEN DES DOKUMENTS WERDEN UNTER DEN "
+"BEDINGUNGEN DER GNU FREE DOCUMENTATION LICENSE ZUR VERFÜGUNG GESTELLT MIT "
+"DEM WEITERGEHENDEN VERSTÄNDNIS, DASS: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE-Projekt"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:85(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:86(date)
+msgid "August 2005"
+msgstr "August 2005"
+
+#: C/cpufreq-applet.xml:92(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:93(date)
+msgid "March 2005"
+msgstr "März 2005"
+
+#: C/cpufreq-applet.xml:99(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "»Überwachung der Prozessortaktstufen«-Handbuch V0.3"
+
+#: C/cpufreq-applet.xml:100(date)
+msgid "October 2004"
+msgstr "Oktober 2004"
+
+#: C/cpufreq-applet.xml:102(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:108(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+"Dieses Handbuch beschreibt Version 2.12.0 der Überwachung der "
+"Prozessortaktstufen."
+
+#: C/cpufreq-applet.xml:112(title)
+msgid "Feedback"
+msgstr "Rückmeldungen"
+
+#: C/cpufreq-applet.xml:113(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Um Fehler zu melden oder einen Vorschlag zur Anwendung "
+"<application>Überwachung der Prozessortaktstufen</application> oder zu "
+"diesem Handbuch zu machen, folgen Sie den Anweisungen auf der <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE-Seite für Rückmeldungen</ulink>."
+
+#: C/cpufreq-applet.xml:123(primary) C/cpufreq-applet.xml:130(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Überwachen der Prozessortaktstufen"
+
+#: C/cpufreq-applet.xml:128(title)
+msgid "Introduction"
+msgstr "Einführung"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"Die <application>Überwachung der Prozessortaktstufen</application> stellt "
+"eine bequeme Möglichkeit zur Überwachung der Taktstufen für jeden Prozessor "
+"bereit."
+
+#: C/cpufreq-applet.xml:143(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Um die <application>Überwachung der Prozessortaktstufen</application> zu "
+"einem Panel hinzuzufügen, klicken Sie mit der rechten Maustaste auf das "
+"Panel, um das Kontextmenü zu öffnen. Dann wählen Sie <guimenuitem>Zum Panel "
+"hinzufügen …</guimenuitem>. Wählen Sie <application>Überwachung der "
+"Prozessortaktstufen</application> im <application>Zum Panel hinzufügen</"
+"application>-Dialog aus."
+
+#: C/cpufreq-applet.xml:149(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Gegenwärtig können auf Linux-Rechnern die Prozessortaktstufen leider nur "
+"dann überwacht werden, wenn dies bereits vom Kernel unterstützt wird. Wie "
+"auch immer, die verschiedenen Generationen von Schnittstellen zur "
+"Überwachung des Prozessortakts im Kernel werden unterstützt. "
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Wenn Ihr System die Skalierung des Prozessortakts nicht unterstützt, zeigt "
+"die Überwachung der Prozessortaktstufen lediglich den aktuellen "
+"Prozessortakt an."
+
+#: C/cpufreq-applet.xml:156(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Wenn die Skalierung des Prozessortakts vom System unterstützt wird, dann "
+"zeigt die Überwachung der Prozessortaktstufen ein Prozessorsymbol mit einer "
+"Fortschrittsleiste an. Der Status der Fortschrittsleiste stellt den "
+"gegenwärtigen Prozessortakt bezogen auf dessen maximalen Wert dar."
+
+#: C/cpufreq-applet.xml:157(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Standardmäßig zeigt die Überwachung der Prozessortaktstufen den aktuellen "
+"Prozessortakt in Hertz an, der Standardeinheit für Frequenzen. Sie können "
+"einstellen, dass stattdessen ein Prozentsatz angezeigt wird. Weitere "
+"Informationen über die Anpassung der Überwachung der Prozessortaktstufen "
+"finden Sie in <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:160(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Jede Instanz der Überwachung der Prozessortaktstufen kann genau einen "
+"Prozessor überwachen. Falls Sie über ein Mehrprozessor-(SMP-)system "
+"verfügen, müssen Sie für jeden Prozessor eine Instanz der Überwachung der "
+"Prozessortaktstufen starten."
+
+#: C/cpufreq-applet.xml:165(title)
+msgid "Understanding the Icons"
+msgstr "Erklärung der Symbole"
+
+#: C/cpufreq-applet.xml:166(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"Die Überwachung der Prozessortaktstufen verfügt über eine Reihe von "
+"Symbolen, die die Taktstufe des von Ihnen überwachten Prozessors grafisch "
+"darstellen. Diese sind:"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Icon"
+msgstr "Symbol"
+
+#: C/cpufreq-applet.xml:179(para)
+msgid "Description"
+msgstr "Beschreibung"
+
+#: C/cpufreq-applet.xml:188(phrase)
+msgid "100% Power"
+msgstr "100% Takt"
+
+#: C/cpufreq-applet.xml:190(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Der Prozessor läuft mit (oder nahe bei) 100% des Takts"
+
+#: C/cpufreq-applet.xml:199(phrase)
+msgid "75% Power"
+msgstr "75% Takt"
+
+#: C/cpufreq-applet.xml:201(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Der Prozessor läuft mit (oder nahe bei) 75% des Takts"
+
+#: C/cpufreq-applet.xml:210(phrase)
+msgid "50% Power"
+msgstr "50% Takt"
+
+#: C/cpufreq-applet.xml:212(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Der Prozessor läuft mit (oder nahe bei) 50% des Takts"
+
+#: C/cpufreq-applet.xml:221(phrase)
+msgid "25% Power"
+msgstr "25%Takt"
+
+#: C/cpufreq-applet.xml:223(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Der Prozessor läuft mit (oder nahe bei) 25% des Takts"
+
+#: C/cpufreq-applet.xml:233(title)
+msgid "Frequency and Governor Selector"
+msgstr "Auswahl der Frequenzen und Regulatoren"
+
+#: C/cpufreq-applet.xml:234(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"Die Funktionalität der Überwachung der Prozessortaktstufen könnte "
+"möglicherweise in Ihrer MATE-Arbeitsumgebung nicht standardmäßig verfügbar "
+"sein. Fragen Sie Ihren Systemverwalter, oder lesen Sie die Dokumentation "
+"Ihres Betriebssystems oder die mit dieser Anwendung gelieferte Dokumentation."
+
+#: C/cpufreq-applet.xml:238(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Um den Prozessortakt zu ändern, klicken Sie auf das Applet, um ein Menü zu "
+"öffnen. Dieses Menü zeigt eine Liste der verfügbaren Taktstufen und/oder "
+"Regulatoren für Ihren Rechner an."
+
+#: C/cpufreq-applet.xml:243(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"In den <guilabel>Einstellungen</guilabel> können Sie wählen, ob die "
+"verfügbaren Frequenzen oder Regulatoren angezeigt werden sollen. Weitere "
+"Informationen finden Sie in <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:250(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Die Frequenzauswahl zeigt nur Frequenzen an"
+
+#: C/cpufreq-applet.xml:261(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Die Frequenzauswahl zeigt Frequenzen und Regulatoren an"
+
+#: C/cpufreq-applet.xml:276(title)
+msgid "Preferences"
+msgstr "Einstellungen"
+
+#: C/cpufreq-applet.xml:277(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Um die <application>Überwachung der Prozessortaktstufen</application> "
+"anzupassen, klicken Sie mit der rechten Maustaste auf das Applet, und wählen "
+"Sie dann <guimenuitem>Einstellungen</guimenuitem> aus dem Kontextmenü."
+
+#: C/cpufreq-applet.xml:278(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"Der Dialog <guimenuitem>Einstellungen</guimenuitem> enthält die folgenden "
+"Komponenten:"
+
+#: C/cpufreq-applet.xml:280(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Einstellungsdialog der Überwachung der Prozessortaktstufen"
+
+#: C/cpufreq-applet.xml:286(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Einstellungsdialog der Überwachung der Prozessortaktstufen"
+
+#: C/cpufreq-applet.xml:294(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Überwachter Prozessor (nur in Mehrprozessor-Systemen)"
+
+#: C/cpufreq-applet.xml:296(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr ""
+"Wählen Sie in dieser Auswahlliste, welchen Prozessor Sie überwachen wollen."
+
+#: C/cpufreq-applet.xml:298(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Auswahl des zu überwachenden Prozessors"
+
+#: C/cpufreq-applet.xml:304(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Der Einstellungsdialog der Überwachung der Prozessortaktstufen"
+
+#: C/cpufreq-applet.xml:309(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"Die Option <guilabel>Überwachter Prozessor</guilabel> erscheint nur auf "
+"Mehrprozessor-(SMP-)systemen."
+
+#: C/cpufreq-applet.xml:317(guilabel)
+msgid "Show in Mode"
+msgstr "Anzeigemodus"
+
+#: C/cpufreq-applet.xml:319(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Verwenden Sie zur Auswahl des Anzeigemodus des Applets diese Auswahlliste. "
+"Die verfügbaren Modi sind: Grafik, Text und beides (Grafik und Text)."
+
+#: C/cpufreq-applet.xml:325(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Den Prozessortakt als Frequenz anzeigen"
+
+#: C/cpufreq-applet.xml:327(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Wählen Sie diese Option, um den aktuellen Prozessortakt anzuzeigen."
+
+#: C/cpufreq-applet.xml:331(guilabel)
+msgid "Show frequency units"
+msgstr "Takteinheiten anzeigen"
+
+#: C/cpufreq-applet.xml:333(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Wählen Sie diese Option, um im Frequenzmodus die Anzeige der "
+"Frequenzeinheiten zu aktivieren oder zu deaktivieren."
+
+#: C/cpufreq-applet.xml:338(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Prozessortakt in Prozent anzeigen"
+
+#: C/cpufreq-applet.xml:340(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+"Wählen Sie diese Option, um den aktuellen Prozessortakt als Prozentsatz "
+"anzuzeigen."
+
+#: C/cpufreq-applet.xml:345(guilabel)
+msgid "Show menu"
+msgstr "Menü zeigen"
+
+#: C/cpufreq-applet.xml:355(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Auf Frequenzen und Regulatoren eingestellte Auswahl"
+
+#: C/cpufreq-applet.xml:361(phrase)
+msgid "CPU governors selector"
+msgstr "Auswahl der Regulatoren des Prozessors"
+
+#: C/cpufreq-applet.xml:347(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Mit dieser Option können sie wählen, wie viele Informationen in der "
+"Auswahlliste des Takts zur Verfügung stehen sollen (siehe <xref linkend="
+"\"mate-cpufreq-selector\"/>). Sie können sowohl <guilabel>Frequenzen</"
+"guilabel>, <guilabel>Regulatoren</guilabel> oder beides "
+"(<guilabel>Frequenzen und Regulatoren</guilabel>) anzeigen lassen. "
+"<placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Mario Blättermann <[email protected]>, 2008, 2009\n"
+"Christian Kirbach <[email protected]>, 2010"
diff --git a/cpufreq/help/de/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/de/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..736db9fb
--- /dev/null
+++ b/cpufreq/help/de/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/de/figures/cpufreq-applet-preferences.png b/cpufreq/help/de/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..7de3a120
--- /dev/null
+++ b/cpufreq/help/de/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/de/figures/cpufreq-applet-selector-both.png b/cpufreq/help/de/figures/cpufreq-applet-selector-both.png
new file mode 100644
index 00000000..fdf8a751
--- /dev/null
+++ b/cpufreq/help/de/figures/cpufreq-applet-selector-both.png
Binary files differ
diff --git a/cpufreq/help/el/el.po b/cpufreq/help/el/el.po
new file mode 100644
index 00000000..703f1303
--- /dev/null
+++ b/cpufreq/help/el/el.po
@@ -0,0 +1,400 @@
+# translation of cpufreq-applet.HEAD.po to Greek
+# Fotis Tsamis <[email protected]>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet.HEAD\n"
+"POT-Creation-Date: 2009-05-03 22:00+0000\n"
+"PO-Revision-Date: 2009-05-21 12:43+0200\n"
+"Last-Translator: Βασίλης Κοντογιάνης <[email protected]>\n"
+"Language-Team: Greek\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None)
+#: C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Οδηγός παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "Η παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ δείχνει την τρέχουσα ταχύτητα ρολογιού της ΚΜΕ και παρέχει ένα περιβάλλον για την αλλαγή της ταχύτητας ρολογιού αν η ΚΜΕ το υποστηρίζει."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder)
+#: C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Ίδρυμα MATE"
+
+#: C/cpufreq-applet.xml:42(publishername)
+#: C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE Documentation Project"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Δίνεται άδεια για αντιγραφή, διανομή και/ή τροποποίηση του εγγράφου υπό τους όρους της Ελεύθερης Άδειας Τεκμηρίωσης GNU (GFDL), Έκδοση 1.1 ή μεταγενέστερη εκδιδόμενη από το Ίδρυμα Ελεύθερου Λογισμικού χωρίς Σταθερά Εδάφια, χωρίς Εξώφυλλα Κειμένου, και χωρίς Οπισθόφυλλα Κειμένου. Μπορείτε να βρείτε ένα αντίγραφο της GFDL σε αυτόν τον <ulink type=\"help\" url=\"ghelp:fdl\">σύνδεσμο</ulink> ή στο αρχείο COPYING-DOCS που διανεμήθηκε με αυτόν τον οδηγό."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Αυτή η τεκμηρίωση είναι μέρος της συλλογής τεκμηρίωσης του MATE όπως διανέμεται υπό τους όρους του GFDL. Εάν επιθυμείτε να διανείμετε αυτή την τεκμηρίωση ξεχωριστά από την συλλογή, μπορείτε να το κάνετε εάν η τεκμηρίωση συνοδεύεται από αντίγραφο της άδειας (GFDL) όπως περιγράφεται στον τομέα 6 της άδειας."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Πολλά από τα ονόματα που χρησιμοποιούνται από εταιρίες για να ξεχωρίσουν τα προϊόντα και τις υπηρεσίες είναι σήματα κατατεθέν. Όπου αυτά τα ονόματα εμφανίζονται στην τεκμηρίωση MATE, και τα μέλη της ομάδας τεκμηρίωσης MATE έχουν γνώση αυτών, τότε αυτά αναγράφονται με κεφαλαίους χαρακτήρες ή με αρχικούς κεφαλαίους χαρακτήρες."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ ΠΑΡΕΧΕΤΑΙ \"ΩΣ ΕΧΕΙ\", ΧΩΡΙΣ ΚΑΜΙΑ ΕΓΓΥΗΣΗ ΟΤΙ ΜΠΟΡΕΙ ΝΑ ΕΞΥΠΗΡΕΤΗΣΕΙ ΚΑΠΟΙΟ ΣΚΟΠΟ Η ΟΤΙ ΕΙΝΑΙ ΧΩΡΙΣ ΣΦΑΛΜΑ. ΟΛΟΚΛΗΡΗ Η ΕΥΘΥΝΗ ΓΙΑ ΤΗΝ ΠΟΙΟΤΗΤΑ, ΑΚΡΙΒΕΙΑ ΚΑΙ ΛΕΙΤΟΥΡΓΙΚΟΤΗΤΑ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΝΗΚΕΙ ΣΕ ΕΣΑΣ. ΕΑΝ Η ΤΕΚΜΗΡΙΩΣΗ ΑΥΤΗ Ή ΠΑΡΑΛΛΑΓΗ ΑΥΤΗΣ ΕΙΝΑΙ ΛΑΘΟΣ ΚΑΤΑ ΚΑΠΟΙΟ ΤΡΟΠΟ ΕΣΕΙΣ ΑΝΑΛΑΜΒΑΝΕΤΕ ΤΗΝ ΕΥΘΥΝΗ ΤΗΣ ΔΙΟΡΘΩΣΗΣ. Η ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ ΠΟΥ ΣΥΝΟΔΕΥΕΙ ΑΥΤΗ ΤΗΝ ΤΕΚΜΗΡΙΩΣΗ ΕΙΝΑΙ ΑΝΑΠΟΣΠΑΣΤΟ ΚΟΜΜΑΤΙ ΑΥΤΗΣ. ΚΑΜΙΑ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΔΕΝ ΕΠΙΤΡΕΠΕΤΑΙ ΠΑΡΑ ΜΟΝΟ ΕΑΝ ΣΥΝΟΔΕΥΕΤΑΙ ΑΠΟ ΤΗΝ ΑΠΑΛΛΑΓΗ ΕΥΘΥΝΗΣ."
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "ΣΕ ΚΑΜΙΑ ΠΕΡΙΠΤΩΣΗ ΚΑΙ ΥΠΟ ΚΑΜΙΑ ΝΟΜΙΚΗ ΣΥΝΘΗΚΗ, ΕΙΤΕ ΜΕΣΩ ΣΥΜΒΟΛΑΙΩΝ Ή ΑΛΛΙΩΣ, ΔΕΝ ΕΥΘΥΝΟΝΤΑΙ Ο ΣΥΓΓΡΑΦΕΑΣ, Ο ΔΙΑΝΟΜΕΑΣ, Η ΑΛΛΟΣ ΣΥΝΥΠΕΥΘΥΝΟΣ ΓΙΑ ΤΗΝ ΣΥΓΓΡΑΦΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ, ΓΙΑ ΕΜΜΕΣΕΣ Η ΑΜΕΣΕΣ, ΤΥΧΑΙΕΣ Ή ΜΗ ΖΗΜΙΕΣ ΠΑΝΤΩΣ ΦΥΣΕΩΣ ΠΟΥ ΠΡΟΕΡΧΟΝΤΑΙ ΑΠΟ ΤΗΝ ΧΡΗΣΗ ΤΗΣ ΤΕΚΜΗΡΙΩΣΗΣ ΚΑΙ/Ή ΠΑΡΑΛΛΑΓΩΝ ΑΥΤΗΣ ΑΚΟΜΑ ΚΑΙ ΕΑΝ ΕΧΕΙ ΥΠΑΡΞΕΙ ΠΡΟΕΙΔΟΠΟΙΗΣΗ ΓΙΑ ΤΗΝ ΠΙΘΑΝΟΤΗΤΑ ΥΠΑΡΞΗΣ ΤΕΤΟΙΩΝ ΖΗΜΙΩΝ."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "ΤΟ ΈΓΓΡΑΦΟ ΚΑΙ ΤΡΟΠΟΠΟΙΗΜΕΝΕΣ ΕΚΔΟΣΕΙΣ ΑΥΤΟΥ ΠΑΡΕΧΟΝΤΑΙ ΥΠΟ ΤΟΥΣ ΟΡΟΥΣ ΤΗΣ ΑΔΕΙΑΣ GNU FREE DOCUMENTATION ΜΕ ΤΗΝ ΠΕΡΑΙΤΕΡΩ ΔΙΕΥΚΡΙΝΙΣΗ ΟΤΙ: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Campos"
+
+#: C/cpufreq-applet.xml:55(orgname)
+#: C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Έργο MATE"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Αύγουστος 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Μαρτιος 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Οδηγός για την μικροεφαρμογή παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Οκτώβριος 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Αυτός ο οδηγός περιγράφει την έκδοση 2.12.0 της παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Ανάδραση"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Για να αναφέρετε ένα σφάλμα ή πρόταση σχετική με την μικροεφαρμογή Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ ή με αυτόν τον οδηγό, ακολουθήστε τις οδηγίες στην <ulink url=\"ghelp:mate-feedback\" type=\"help\">Σελίδα ανάδρασης MATE</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary)
+#: C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Εισαγωγή"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "Η <application>Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ</application> προσφέρει έναν βολικό τρόπο για την παρακολούθηση της κλιμάκωσης συχνότητας ΚΜΕ για κάθε ΚΜΕ."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "Για να προσθέσετε την <application>Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ</application> σε ένα πίνακα εφαρμογών, κάντε δεξί κλικ στον πίνακα εφαρμογών για να ανοίξετε το αναδυόμενο μενού του πίνακα εφαρμογών, μετά επιλέξτε <menuchoice><guimenu>Προσθήκη στον πίνακα εφαρμογών</guimenu><guimenuitem>Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Δυστυχώς, προς το παρόν η κλιμάκωση συχνότητας ΚΜΕ μπορεί να παρακολουθηθεί μόνο σε μηχανήματα Linux που έχουν υποστήριξη στον πυρήνα. Μπορεί εντούτοις, να υποστηρίξει τις διάφορες γενιές των περιβαλλόντων κλιμάκωσης συχνότητας στον πυρήνα. "
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "Όταν δεν υπάρχει υποστήριξη κλιμάκωσης συχνότητας ΚΜΕ στο σύστημα, η Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ μόνο εμφανίζει την τρέχουσα συχνότητα της ΚΜΕ."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "Όταν υπάρχει υποστήριξη κλιμάκωσης συχνότητας ΚΜΕ στο σύστημα, η Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ εμφανίζει το εικονίδιο ΚΜΕ με μια μπάρα προόδου. Η κατάσταση της μπάρας προόδου αντιπροσωπεύει την τρέχουσα συχνότητα ΚΜΕ σε σχέση με την μέγιστη συχνότητα."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "Από προεπιλογή η Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ εμφανίζει την τρέχουσα συχνότητα της ΚΜΕ σαν ποσό σε Hertz (η μονάδα μέτρησης συχνότητας), αλλά μπορεί να τροποποιηθεί να εμφανίζει ένα ποσοστό. Για περισσότερες πληροφορίες στο πώς θα τροποποιήσετε την Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ δείτε το <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Κάθε περίπτωση της Παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ μπορεί να παρακολουθεί μόνο μια ΚΜΕ. Πρέπει να ξεκινήσετε νέα περίπτωση της Παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ για κάθε ΚΜΕ που θέλετε να παρακολουθείτε αν είστε σε ένα πολυπύρηνο (SMP) σύστημα."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Κατανόηση των εικονιδίων"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "H Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ έχει μια σειρά από εικονίδια που αναπαριστούν γραφικά το τρέχων επίπεδο κλιμάκωσης του επεξεργαστή που παρακολουθείτε. Αυτά είναι:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Εικονίδιο"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Περιγραφή"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% Ισχύς"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Η ΚΜΕ τρέχει σε, ή κοντά στην, απόδοση 100%"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% Ισχύς"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Η ΚΜΕ τρέχει σε, ή κοντά στην, απόδοση 75%"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% Ισχύς"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Η ΚΜΕ τρέχει σε, ή κοντά στην, απόδοση 50%"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% Ισχύς"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Η ΚΜΕ τρέχει σε, ή κοντά στην, απόδοση 25%"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Επιλογή συχνότητας και αυτορυθμιστή"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "Η λειτουργία επιλογέα συχνότητας μπορεί να μην είναι διαθέσιμη στην επιφάνεια εργασίας σας MATE εξ ορισμού. Παρακαλούμε συμβουλευθείτε τον διαχειριστή του συστήματός σας, την τεκμηρίωση προμηθευτή, ή την τεκμηρίωση που συνοδεύει αυτό το λογισμικό."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "Για να ορίσετε την συχνότητα KME, κάντε (αριστερό) κλικ στην παρακολούθηση και ένα μενού θα εμφανιστεί. Αυτό το μενού προσφέρει μια λίστα με τις διαθέσιμες συχνότητες και/ή τους αυτορυθμιστές συχνότητας για το μηχάνημά σας."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Μπορείτε να επιλέξετε αν θέλετε να εμφανίσετε διαθέσιμες συχνότητες ή αυτορυθμιστές στις <guilabel>Προτιμήσιες</guilabel>. Δείτε <xref linkend=\"cpufreq-applet-prefs\"/> για περισσότερες πληροφορίες."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Επιλογέας συχνότητας προβάλοντας μόνο συχνότητες"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Επιλογέας συχνότητας εμφανίζοντας και τα δύο συχνότητες και αυτορυθμιστές"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Προτιμήσεις"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "Για να ρυθμίσετε την <application>Παρακολούθηση κλιμάκωσης συχνότητας ΚΜΕ</application>, κάντε δεξί κλικ στην μικροεφαρμογή, μετά επιλέξτε <guimenuitem>Προτιμήσεις</guimenuitem> από το αναδυόμενο μενού."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "Ο διάλογος <guimenuitem>Προτιμήσεις</guimenuitem> περιέχει τα ακόλουθα στοιχεία:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Διάλογος προτιμήσεων παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Διάλογος προτιμήσεων παρακολούθησης κλιμάκωσης συχνότητας ΚΜΕ"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Παρακολουθούμενη KME (μόνο σε πολυπύρηνα συστήματα)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Χρησιμοποιήστε αυτή τη λίστα για να επιλέξετε την ΚΜΕ που θέλετε να παρακολουθείτε."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Επιλογή της ΚΜΕ προς παρακολούθηση"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Διάλογος επιλογέα ΚΜΕ προτιμήσεων παρακολούθησης κλιμάκωσης συχνότητας της ΚΜΕ "
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "Η επιλογή <guilabel>Παρακολουθούμενη KME</guilabel> εμφανίζεται μόνο σε πολυπύρηνα (SMP) συστήματα."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Εμφανίστε στην κατάσταση λειτουργίας"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Χρησιμοποιήστε αυτή τη λίστα για να επιλέξετε την λειτουργία στην οποία θέλετε να φαίνεται η μικροεφαρμογή. Οι διαθέσιμες λειτουργίες είναι: Γραφικό, Κείμενο, και τα δύο (Γραφικό και Κείμενο)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Εμφάνιση συχνότητας KME ως συχνότητα"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Επιλέξτε αυτή την επιλογή για να εμφανίζεται η τρέχουσα συχνότητα ΚΜΕ."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Εμφάνιση μονάδων συχνότητας"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Διαλέξτε αυτή την επιλογή για προβολή η μη των μονάδων συχνότητας σε κατάσταση λειτουργίας συχνότητας."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Προβολή συχνότητας KME ως ποσοστό"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Επιλέξτε αυτή την επιλογή για να εμφανίζεται η τρέχουσα συχνότητα ΚΜΕ σε ποσοστό."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Εμφάνιση μενού"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Ο επιλογέας διαμορφώθηκε για τις συχνότητες και τους αυτορυθμιστές"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Επιλογή αυτορυθμιστών για την ΚΜΕ"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Αυτή η επιλογή σας δίνει την δυνατότητα να επιλέξετε πόση πληροφορία θα φαίνετε στον επιλογέα συχνότητας του αναπτυσσόμενου πλαισίου (see <xref linkend=\"mate-cpufreq-selector\"/>). Μπορείτε να επιλέξετε για προβολή <guilabel>Συχνότητες</guilabel>, <guilabel>Αυτορυθμιστές</guilabel> ή και τα δύο <guilabel>Συχνότητες και αυτορυθμιστές</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Ελληνική μεταφραστική ομάδα MATE\n"
+" Φώτης Τσάμης <[email protected]>\n"
+"Για περισσότερα δείτε http://www.mate.gr/"
+
diff --git a/cpufreq/help/en_GB/en_GB.po b/cpufreq/help/en_GB/en_GB.po
new file mode 100644
index 00000000..2151fbb7
--- /dev/null
+++ b/cpufreq/help/en_GB/en_GB.po
@@ -0,0 +1,395 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-02-17 07:18+0100\n"
+"PO-Revision-Date: 2007-02-17 10:22-0000\n"
+"Last-Translator: David Lodge <[email protected]>\n"
+"Language-Team: en_GB <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None)
+#: C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU Frequency Scaling Monitor Manual"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder)
+#: C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername)
+#: C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE Documentation Project"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation Licence (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the licence to the manual, as described in section 6 of the licence."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENCE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORISED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENCE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname)
+#: C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE Project"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "August 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "March 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU Frequency Scaling Monitor Applet Manual V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "October 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Feedback"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary)
+#: C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU Frequency Scaling Monitor"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Understanding the Icons"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icon"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Description"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% Power"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "The CPU is running at, or close to, 100% throughput"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% Power"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "The CPU is running at, or close to, 75% throughput"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% Power"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "The CPU is running at, or close to, 50% throughput"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% Power"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "The CPU is running at, or close to, 25% throughput"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Frequency and Governor Selector"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation or the documentation that came with this software."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "To set the CPU frequency, left click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Frequency selector showing just frequencies"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Frequency selector showing both frequencies and governors"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Preferences"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "The <guimenuitem>Preferences</guimenuitem> dialogue contains the following components:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU Frequency Scaling Monitor Preferences Dialogue"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU Frequency Scaling Monitor preferences dialogue"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Monitored CPU (only in multiprocessor systems)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Use this drop-down list to select the CPU that you want to monitor."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Selecting the CPU to monitor"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Show in Mode"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Show CPU frequency as frequency"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Select this option to display the current CPU frequency."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Show frequency units"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Select this option to display or not the frequency units in the frequency mode."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Show CPU frequency as percentage"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Select this option to display the current CPU frequency as a percentage."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Show menu"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "The selector configured to Frequencies and Governors"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "CPU governors selector"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "David Lodge <[email protected]>, 2007"
+
diff --git a/cpufreq/help/es/es.po b/cpufreq/help/es/es.po
new file mode 100644
index 00000000..60e80381
--- /dev/null
+++ b/cpufreq/help/es/es.po
@@ -0,0 +1,630 @@
+# translation of cpufreq-applet.HEAD.po to Español
+#
+# Rodrigo Marcos Fombellida <[email protected]>, 2005.
+# Francisco Javier F. Serrador <[email protected]>, 2005.
+# Jorge González <[email protected]>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet.HEAD\n"
+"POT-Creation-Date: 2007-01-02 03:48+0000\n"
+"PO-Revision-Date: 2008-10-24 17:02+0200\n"
+"Last-Translator: Jorge González <[email protected]>\n"
+"Language-Team: Español <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Manual del Monitor de escalado de frecuencia de la CPU"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"El monitor de escalado de frecuencias le muestra la frecuencia de reloj "
+"actual de la CPU y le proporciona un interfaz para cambiar la velocidad del "
+"reloj si la CPU lo soporta."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Fundación MATE"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Proyecto de documentación de MATE"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Se concede autorización para copiar, distribuir o modificar este documento "
+"según los términos de la GFDL (GNU Free Documentation Licence), Versión 1.1, "
+"o cualquier otra versión posterior publicada por Free Software Foundation "
+"sin secciones invariables, textos de portada ni textos de contraportada. "
+"Podrá encontrar una copia de la GFDL en este <ulink type=\"help\" url="
+"\"ghelp:fdl\">enlace</ulink> o en el archivo COPYING-DOCS distribuido con "
+"este manual."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Este manual forma parte de una colección de manuales de MATE distribuidos "
+"con la GFDL. Si desea distribuir este manual independientemente de la "
+"colección, puede hacerlo añadiendo al manual una copia de la licencia, como "
+"se describe en el apartado 6 de la licencia."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Muchos de los nombres utilizados por las empresas para diferenciar sus "
+"productos y servicios son marcas comerciales. Cuando estos nombres aparecen "
+"en cualquier documentación de MATE y dichas marcas comerciales se ponen en "
+"conocimiento de los miembros del Proyecto de documentación de MATE, "
+"entonces los nombres aparecen en mayúsculas o con la inicial en mayúsculas."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"EL DOCUMENTO SE PROPORCIONA \"TAL CUAL\", SIN GARANTÍAS DE NINGÚN TIPO, NI "
+"EXPRESAS NI IMPLÍCITAS, INCLUYENDO, SIN LIMITACIÓN, CUALQUIER GARANTÍA DE "
+"QUE EL DOCUMENTO O UNA VERSIÓN MODIFICADA DEL MISMO CAREZCAN DE DEFECTOS, "
+"SEA COMERCIALIZABLE, ADECUADO PARA UNA FINALIDAD DETERMINADA O QUE NO "
+"CONSTITUYA NINGUNA INFRACCIÓN. TODO EL RIESGO EN CUANTO A LA CALIDAD, "
+"PRECISIÓN Y UTILIDAD DEL DOCUMENTO O DE CUALQUIER VERSIÓN MODIFICADA DEL "
+"MISMO LE CORRESPONDE A USTED. EN CASO DE QUE CUALQUIER DOCUMENTO O VERSIÓN "
+"MODIFICADA RESULTARA DEFECTUOSO EN CUALQUIER SENTIDO, SERÁ USTED (Y NO EL "
+"REDACTOR INICIAL, NI EL AUTOR NI CUALQUIER PERSONA QUE HAYA CONTRIBUIDO) "
+"QUIEN ASUMIRÁ EL COSTE DE CUALQUIER SERVICIO TÉCNICO, REPARACIÓN O "
+"CORRECCIÓN NECESARIOS. ESTA LIMITACIÓN DE LAS GARANTÍAS CONSTITUYE UNA PARTE "
+"ESENCIAL DE ESTA LICENCIA. NO SE AUTORIZA NINGÚN USO DE CUALQUIER DOCUMENTO "
+"O VERSIÓN MODIFICADA DEL MISMO SI NO ES CON SUJECIÓN A ESTA LIMITACIÓN DE "
+"LAS GARANTÍAS; Y"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"EN NINGUNA CIRCUNSTANCIA NI SEGÚN NINGÚN ARGUMENTO LEGAL, SEA POR MOTIVOS "
+"CULPOSOS (INCLUIDA LA NEGLIGENCIA), CONTRACTUALES O DE OTRO TIPO, NI EL "
+"AUTOR, NI EL REDACTOR INICIAL, NI CUALQUIER COLABORADOR, NI CUALQUIER "
+"DISTRIBUIDOR DEL DOCUMENTO O VERSIÓN MODIFICADA DEL MISMO, NI CUALQUIER "
+"PROVEEDOR DE CUALQUIERA DE DICHAS PARTES, SERÁN RESPONSABLES, ANTE NINGÚN "
+"TERCERO, DE NINGÚN DAÑO O PERJUICIO DIRECTO, INDIRECTO, ESPECIAL, INCIDENTAL "
+"O CONSIGUIENTE DE NINGÚN TIPO, INCLUIDOS, SIN LIMITACIÓN, LOS DAÑOS POR "
+"PÉRDIDA DE FONDO DE COMERCIO, INTERRUPCIÓN DEL TRABAJO, FALLO O MAL "
+"FUNCIONAMIENTO INFORMÁTICO, NI CUALQUIER OTRO DAÑO O PÉRDIDA DERIVADOS DEL "
+"USO DEL DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO, O RELACIONADO CON "
+"ELLO, INCLUSO SI SE HABÍA COMUNICADO A AQUELLA PARTE LA POSIBILIDAD DE TALES "
+"DAÑOS."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"El DOCUMENTO Y LAS VERSIONES MODIFICADAS DEL MISMO SE PROPORCIONAN CON "
+"SUJECIÓN A LOS TÉRMINOS DE LA GFDL, QUEDANDO BIEN ENTENDIDO, ADEMÁS, QUE: "
+"<placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "García Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE Project"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Agosto de 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Marzo de 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Manual de la miniaplicación Monitor de frecuencia de la CPU V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Octubre de 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos García Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+"Este manual describe la versión 2.12.0 del Monitor de escalado de frecuencia "
+"de la CPU."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Comentarios"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Para informar de un error o hacer una sugerencia a cerca de la "
+"miniaplicación Monitor de frecuencia de la CPU o sobre este manual, siga las "
+"instrucciones en la <ulink url=\"ghelp:mate-feedback\" type=\"help\">Página "
+"de sugerencias de MATE</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Monitor de frecuencia de la CPU"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introducción"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"El <application>Monitor de frecuencia de la CPU</application> proporciona un "
+"forma adecuada de monitorizar la frecuencia de la CPU para cada procesador."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Para añadir el <application>Monitor de frecuencia de la CPU</application> a "
+"un panel, pulse con el botón derecho del ratón sobre el panel para abrir su "
+"menú emergente, a continuación escoja la opción <menuchoice><guimenu>Añadir "
+"al panel</guimenu><guimenuitem>Monitor de frecuencia de la CPU</"
+"guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Por desgracia, actualmente la frecuencia de la CPU sólo puede ser "
+"monitorizada en máquinas Linux cuyo kernel lo permita. Sin embargo, la "
+"aplicación sí permite el uso de varias generaciones de interfaces de "
+"frecuencia del kernel."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Cuando el sistema no permite variar la frecuencia de la CPU, el Monitor de "
+"frecuencia de la CPU visualiza únicamente la frecuencia actual de la CPU."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Cuando el sistema permite variar la frecuencia de la CPU, el Monitor de "
+"frecuencia de la CPU visualiza el icono de la CPU con una barra de progreso. "
+"El estado de la barra de progreso representa la frecuencia actual de la CPU "
+"con respecto a la frecuencia máxima."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"De forma predeterminada, el Monitor de frecuencia de la CPU muestra la "
+"frecuencia actual de la CPU medida en hercios (la unidad estándar de medida "
+"de la frecuencia), pero se puede configurar para mostrar un porcentaje en su "
+"lugar. Para más información sobre cómo configurar el Monitor de frecuencia "
+"de la CPU vea la <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Cada ejemplar del Monitor de frecuencia de la CPU sólo puede monitorizar una "
+"CPU. Deberá iniciar un ejemplar del Monitor de frecuencia de la CPU por cada "
+"CPU que usted quiera monitorizar si se encuentra en un sistema "
+"multiprocesador (SMP)."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Comprender los iconos"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"El Monitor de frecuencia de la CPU tiene una serie de iconos que representan "
+"gráficamente el nivel actual de frecuencia del procesador que se está "
+"monitorizando. Estos son:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icono"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Descripción"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "Potencia al 100%"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "La CPU está trabajando al, o cerca del, 100% de su rendimiento total"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "Potencia al 75%"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "La CPU está trabajando al, o cerca del, 75% de su rendimiento total"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "Potencia al 50%"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "La CPU está trabajando al, o cerca del, 50% de su rendimiento total"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "Potencia al 25%"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "La CPU está trabajando al, o cerca del, 25% de su rendimiento total"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Selector de frecuencia y gobernador"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"La funcionalidad del selector de frecuencia puede no encontrarse disponible "
+"de forma predeterminada en su escritorio MATE. Consulte al administrador de "
+"su sistema, la documentación del fabricante, o la documentación que vino con "
+"este software."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Para establecer la frecuencia de la CPU, pulse con el botón izquierdo sobre "
+"el monitor y se mostrará un menú. Este menú le ofrecerá una lista de "
+"frecuencias disponibles en su sistema y/o gobernadores de frecuencia para su "
+"equipo."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"Puede elegir si quiere mostrar las frecuencias disponibles o los "
+"gobernadores en las <guilabel>Preferencias</guilabel>. Vea la <xref linkend="
+"\"cpufreq-applet-prefs\"/> para más información."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Selector de frecuencia mostrando sólo frecuencias"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Selector de frecuencia mostrando frecuencias y gobernadores"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Preferencias"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Para configurar el <application>Monitor de frecuencia de la CPU</"
+"application>, pulse con el botón derecho del ratón sobre la miniaplicación, "
+"luego escoja <guimenuitem>Preferencias</guimenuitem> en el menú emergente."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"El diálogo <guimenuitem>Preferencias</guimenuitem> contiene los siguientes "
+"componentes:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Diálogo Preferencias del Monitor de frecuencia de la CPU"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Diálogo Preferencias del Monitor de frecuencia de la CPU"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "CPU monitorizada (sólo en sistemas multiprocesador)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr ""
+"Use esta lista desplegable para seleccionar la CPU que quiere monitorizar."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Seleccionar la CPU que monitorizar"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Diálogo selector de CPU del monitor de escalado de frecuencias"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"La opción <guilabel>CPU monitorizada</guilabel> sólo aparecerá en sistemas "
+"multiprocesador (SMP)."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Mostrar en modo"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Use esta lista desplegable para seleccionar el modo en que quiere visualizar "
+"la miniaplicación. Los modos disponibles son: Gráfico, Texto y ambos "
+"(Gráfico y texto) "
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Mostrar la frecuencia de la CPU como frecuencia"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Seleccione esta opción para visualizar la frecuencia actual de la CPU."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Mostrar las unidades de la frecuencia"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Seleccione esta opción para visualizar o no las unidades de frecuencia en el "
+"modo de frecuencia."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Mostrar la frecuencia de la CPU como porcentaje"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+"Seleccione esta opción para visualizar la frecuencia actual de la CPU como "
+"porcentaje."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Mostrar menú"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "El selector configurado para Frecuencias y Gobernadores"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Selector de gobernadores de CPU"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Esta opción le permite elegir cuánta información se muestra en el selector "
+"desplegable de frecuencias (vea la <xref linkend=\"mate-cpufreq-selector\"/"
+">). Puede seleccionar mostrar <guilabel>Frecuencias</guilabel>, "
+"<guilabel>Gobernadores</guilabel> o ambos <guilabel>Frecuencias y "
+"Gobernadores</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Jorge González <[email protected]>, 2008.\n"
+"Rodrigo Marcos Fombellida <[email protected]>, 2005.\n"
+"Francisco Javier F. Serrador <[email protected]>, 2005."
diff --git a/cpufreq/help/es/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/es/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..71442fc5
--- /dev/null
+++ b/cpufreq/help/es/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/es/figures/cpufreq-applet-preferences.png b/cpufreq/help/es/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..e1d67d95
--- /dev/null
+++ b/cpufreq/help/es/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/eu/eu.po b/cpufreq/help/eu/eu.po
new file mode 100644
index 00000000..6c65decf
--- /dev/null
+++ b/cpufreq/help/eu/eu.po
@@ -0,0 +1,391 @@
+# translation of cpufreq-applet_help.HEAD.po to Basque
+# Iñaki Larrañaga Murgoitio <[email protected]>, 2008.
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet_help.HEAD\n"
+"POT-Creation-Date: 2007-09-04 03:33+0100\n"
+"PO-Revision-Date: 2008-12-14 19:20+0100\n"
+"Last-Translator: Iñaki Larrañaga Murgoitio <[email protected]>\n"
+"Language-Team: Basque <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen eskuliburua"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "PUZaren maiztasuna eskalatzeko monitoreak PUZaren erloju-abiadura erakusten du, eta interfazea eskaintzen du aldatzeko, PUZak onartuz gero."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para) C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Fundazioa"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATEren dokumentazio-proiektua"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Baimena ematen da dokumentu hau kopiatu, banatu eta/edo aldatzeko Free Software Foundation-ek argitaratutako GNU Dokumentazio Librearen Lizentziaren 1.1. bertsioan edo berriago batean ezarritako baldintzak betetzen badira; Atal Aldaezinik, Aurreko azaleko testurik eta Atzeko azaleko testurik gabe. GFDL lizentziaren kopia <ulink type=\"help\" url=\"ghelp:fdl\">esteka</ulink> honetan edo eskuliburu honekin batera ematen den COPYING-DOCS fitxategian aurkituko duzu."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Eskuliburu hau GFDL lizentziarekin banatzen diren MATE eskuliburuen bildumakoa da. Eskuliburu hau bildumatik bereizita banatu nahi baduzu, bana dezakezu, baina eskuliburuari lizentziaren kopia bat gehitu beharko diozu, lizentzian bertan 6. atalean azaltzen den bezala."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Enpresek euren produktu eta zerbitzuak bereizteko erabiltzen dituzten izen asko marka erregistratu moduan hartu behar dira. Izen horiek MATEren edozein agiritan agertzen direnean, eta MATEren Dokumentazio Proiektuko kideak marka komertzialak direla konturatu badira, orduan izen horiek maiuskulaz idatzita egongo dira, osorik edo hasierako letra maiuskulaz jarrita."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "DOKUMENTUA \"DAGOEN-DAGOENEAN\" EMATEN DA, INOLAKO BERMERIK GABE, EZ ESPRESUKI ADIERAZITAKORIK ETA EZ INPLIZITURIK ERE; BESTEAK BESTE (MUGARIK GABE), EZ DA BERMATZEN DOKUMENTUA EDO BERTSIO ALDATUA AKATSIK GABEA DENIK, MERKATURATZEKO EDO XEDE JAKIN BATERAKO EGOKIA DENIK EDO ARAURIK HAUSTEN EZ DUENIK. DOKUMENTUAREN EDO DOKUMENTUAREN BERTSIO ALDATUAREN KALITATEARI, ZEHAZTASUNARI ETA PERFORMANTZIARI BURUZKO ERANTZUKIZUN OSOA ZUREA DA. DOKUMENTUREN BATEK EDO BERTSIO ALDATUREN BATEK EDOZEIN MOTATAKO AKATSIK IZANEZ GERO, ZUK (EZ HASIERAKO IDAZLEAK, EZ EGILEAK ETA EZ INONGO KOLABORATZAILEK) ZEURE GAIN HARTU BEHARKO DUZU BERRIKUSTEKO, KONPONTZEKO EDO ZUZENTZEKO BEHARREZKO ZERBITZU GUZTIEN KOSTUA. BERME-UKATZE HAU LIZENTZIA HONEN FUNTSEZKO ZATIA DA. EZ DA BAIMENIK EMATEN EZEIN DOKUMENTU EDO BERTSIO ALDATU ERABILTZEKO, BALDIN ETA EZ BADA BERME-UKATZE HAU ONARTZEN."
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "EZINGO DA INONGO ZIRKUNSTANTZIA EDO LEGE-TEORIARIK OINARRI HARTU --EZ ERANTZUKIZUN ZIBILARI BURUZKORIK (ZABARKERIA BARNE HARTUTA) EZ KONTRATUARI BURUZKORIK, EZ BESTERIK-- DOKUMENTU HONEN EDO BERTSIO ALDATU BATEN EGILEA, HASIERAKO IDAZLEA, EDOZEIN KOLABORATZAILE EDO BANATZAILE, EDO ALDERDI HORIEN EDOZEIN HORNITZAILE BESTE PERTSONA BATEN AURREAN ERANTZULE EGITEKO, PERTSONA HORREK EDOZEIN MOTATAKO KALTE ZUZENEKO, ZEHARKAKO, BEREZI, INTZIDENTAL EDO ONDORIOZKOAK JASAN DITUELAKO, BESTEAK BESTE (MUGARIK GABE), BEZEROAK GALTZEAREN, LANA ETEN BEHARRAREN, ORDENAGAILUAK EZ IBILTZEAREN EDO GAIZKI IBILTZEAREN ONDORIOZKO KALTEAK, EDO DOKUMENTUA NAHIZ HAREN BERTSIO ALDATUAK ERABILTZETIK ONDORIOZTATZEN DIREN EDO ERABILERA HORREKIN ZERIKUSIA DUEN EDOZEIN KALTE EDO GALERA, ALDERDIARI KALTE HORIEK GERTA ZITEZKEELA ADITZERA EMAN BAZAIO ERE."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "DOKUMENTUA ETA DOKUMENTUAREN BERTSIO ALDATUAK GNU DOKUMENTAZIO LIBREAREN LIZENTZIAREN BALDINTZEN ARABERA EMATEN DIRA, ETA ONDOREN ZEHAZTEN DIRENAK ONARTZERA BEHARTZEN DUTE: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE proiektua"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "2005eko abuztua"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "2005eko martxoa"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen miniaplikazioaren eskuliburua, 0.3 bertsioa"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "2004ko urria"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Eskuliburu honetan PUZaren maiztasuna eskalatzeko monitorearen 2.12.0 bertsioa azaltzen da."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Ohar-bidaltzea"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen miniaplikazioari nahiz eskuliburu honi buruzko akatsen berri emateko edo oharrak bidaltzeko, <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATEra oharrak bidaltzeko orrian</ulink> aurkituko dituzu argibideak."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "PUZaren maiztasuna eskalatzeko monitorea"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Sarrera"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "<application>PUZaren maiztasuna eskalatzeko monitorearen</application> aplikazioak PUZ bakoitzarekin PUZaren maiztasuna eskalatzeko monitorea eskaintzen du."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "<application>PUZaren maiztasuna eskalatzeko monitorea</application> panel batean gehitzeko, egin klik eskuin-botoiarekin panelean paneleko laster-menua irekitzeko, eta aukeratu <menuchoice><guimenu>Gehitu panelari</guimenu><guimenuitem>PUZaren maiztasuna eskalatzeko monitorea</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Zoritxarrez, PUZaren maiztasuna eskalatzea bakarrik monitoriza daiteke Linux ordenagailuaren nukleoak onartzen duen kasuetan. Nolanahi ere, maiztasuna eskalatzeko nukleoko interfazeen hainbat belaunaldi onar ditzake."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "Sistemak PUZaren maiztasuna eskalatzeko euskarririk ez duenean, PUZaren maiztasuna eskalatzeko monitoreak PUZaren uneko maiztasuna bakarrik bistaratzen du."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "Sistemak PUZaren maiztasuna eskalatzea onartzen duenean, PUZaren maiztasuna eskalatzeko monitoreak progresio-barra batekin bistaratzen du PUZaren ikonoa. Progresio-barraren egoerak une horretako PUZaren maiztasuna adierazten du, gehienezko maiztasunarekiko."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "Lehenespenez, PUZaren maiztasuna eskalatzeko monitoreak PUZaren uneko maiztasuna Hz-tan adierazten du (maiztasun-neurri estandarrean), baina ehuneko bidez adierazteko ere konfigura daiteke. PUZaren maiztasuna eskalatzeko monitorea konfiguratzeko informazioa lortzeko, ikus <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "PUZaren maiztasuna eskalatzeko monitoreak PUZ bat bakarrik monitoriza dezake aldiro. PUZaren maiztasuna eskalatzeko monitorearen instantzia bat abiarazi behar duzu monitorizatu nahi duzun PUZ bakoitzarentzat, hainbat prozesadoretako (SMP) sistema edukiz gero."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Ikonoak ulertzea"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "PUZaren maiztasuna eskalatzeko monitoreak ikono batzuk ditu, monitorizatzen ari zaren prozesadorearen uneko eskalatze maila grafikoki adierazteko. Hauek dira:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Ikonoa"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Azalpena"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "Energiaren % 100"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "PUZa % 100eko errendimenduan edo oso hurbil exekutatzen ari da"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "Energiaren % 75"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "PUZa % 75eko errendimenduan edo oso hurbil exekutatzen ari da"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "Energiaren % 50"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "PUZa % 50eko errendimenduan edo oso hurbil exekutatzen ari da"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "Energiaren % 25"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "PUZa % 25eko errendimenduan edo oso hurbil exekutatzen ari da"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Maiztasun- eta gobernatzaile-hautatzailea"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "Baliteke lehenespenez ez egotea maiztasun-hautatzailearen funtzionalitatea zure MATE mahaigainean. Galdetu sistema-administratzaileari, edo kontsultatu saltzailearen dokumentazioa, nahiz softwarearekin batera zetorrena."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "PUZaren maiztasuna ezartzeko, egin (ezker-)klik bat monitorean, eta menu bat azalduko da. Menu horrek erabilgarri dauden maiztasunen eta/edo maiztasun-gobernatzaileen zerrenda eskainiko dizu."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Maiztasunak ala gobernatzaileak erakutsi erabakitzeko, erabili <guilabel>Hobespenak</guilabel>. Informazio gehiago nahi izanez gero, ikus <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Maiztasun-hautatzaileak maiztasunak bakarrik erakustea"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Maiztasun-hautatzaileak maiztasunak eta gobernatzaileak erakustea"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Hobespenak"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "<application>PUZaren maiztasuna eskalatzeko monitorea</application> konfiguratzeko, egin klik eskuineko botoiaz miniaplikazioan, eta aukeratu <guimenuitem>Hobespenak</guimenuitem> laster-menuan."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "<guimenuitem>Hobespenen</guimenuitem> elkarrizketa-koadroak osagai hauek ditu:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen hobespenen elkarrizketa"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen hobespenen elkarrizketa"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Monitorizatu beharreko PUZa (hainbat prozesadoretako sistemak bakarrik)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Erabili goitibeherako zerrenda hau, monitorizatu nahi duzun PUZa hautatzeko."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Monitorizatu beharreko PUZa hautatzea"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "PUZaren maiztasuna eskalatzeko monitorearen hobespenen elkarrizketako PUZ hautatzailea"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "<guilabel>Monitorizatu beharreko PUZa</guilabel> aukera hainbat prozesadoretako sistemetan bakarrik agertuko da."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Bistaratzeko modua"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Erabili goitibeherako zerrenda hau miniaplikazioa bistaratzeko modua hautatzeko. Modu erabilgarriak: Grafikoa, Testua eta biak (Grafikoa eta Testua)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Erakutsi PUZ maiztasuna maiztasun gisa"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Hautatu aukera hau PUZaren uneko maiztasuna bistaratzeko."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Erakutsi maiztasun-unitateak"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Hautatu aukera hau, maiztasunaren moduan maiztasun-unitateak erakusteko ala ez."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Erakutsi PUZ maiztasuna ehuneko gisa"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Hautatu aukera hau PUZaren uneko maiztasuna ehuneko gisa bistaratzeko."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Erakutsi menua"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Maiztasunak eta gobernatzaileak erakusteko konfiguratutako hautatzailea"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "PUZaren gobernatzaileen hautatzailea"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Aukera honekin, goitibeherako maiztasun-hautatzailean zenbat informazio erakutsi hautatu ahal izango duzu (ikus <xref linkend=\"mate-cpufreq-selector\"/>). Aukerak: <guilabel>Maiztasunak</guilabel>, <guilabel>Gobernatzaileak</guilabel> <guilabel>Maiztasunak eta gobernatzaileak</guilabel> bistaratzea. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Hizkuntza Politikarako Sailburuordetza <[email protected]>, 2008."
+
diff --git a/cpufreq/help/eu/figures/cpufreq-applet-preferences.png b/cpufreq/help/eu/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..c88a0fdc
--- /dev/null
+++ b/cpufreq/help/eu/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/fi/fi.po b/cpufreq/help/fi/fi.po
new file mode 100644
index 00000000..3903e91f
--- /dev/null
+++ b/cpufreq/help/fi/fi.po
@@ -0,0 +1,395 @@
+# charpick's Finnish translation.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# Jukka Heikkilä <[email protected]>, 2008.
+# Tommi Vainikainen <[email protected]> (Legal Notices), 2006.
+#
+
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-applets-cpufreq doc\n"
+"POT-Creation-Date: 2008-04-01 04:58+0100\n"
+"PO-Revision-Date: 2008-04-01 22:00+0200\n"
+"Last-Translator: Jukka Heikkilä <[email protected]>\n"
+"Language-Team: Finnish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=ceb20d016565ff77d7b97761df981582"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=783b5d5545c40a965ade3ca6da01ce44"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Prosessorin kellotaajuuden ilmaisimen käyttöohje"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "Prosessorin kellotaajuuden ilmaisin näyttää senhetkisen prosessorin kellotaajuuden ja mahdollistaa sen vaihtamisen, mikäli prosessorisi sitä tukee."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para) C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Mate Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Mate dokumentointiprojekti"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Tätä asiakirjaa saa kopioida, jakaa edelleen ja/tai muokata Free Software Foundationin julkaiseman GNU Free Documentation Licensen (GFDL) version 1.1 tai valinnaisesti myöhemmän version mukaisesti, ilman vaatimuksia muuttamattomista osioista ja etu- tai takakansiteksteistä. Kopion GFDL:stä voi nähdä napsauttamalla <ulink type=\"help\" url=\"ghelp:fdl\">tätä linkkiä</ulink>, tai lukemalla ohjeen mukana toimitetun COPYING-DOCS-nimisen tiedoston."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Tämä käyttöohje on osa Maten käyttöohjekokoelmaa, jota levitetään GFDL-lisenssin alaisena. Jos haluat levittää tätä käyttöohjetta erillään kokoelmasta, voit tehdä sen liittämällä lisenssin kopion ohjeen mukaan, kuten lisenssin luku 6 sanelee."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Monet nimistä, joita yhtiöt käyttävät tuotteistansa ja palveluistansa, ovat tuotemerkkejä. Maten dokumentointiprojektissa nämä nimet pyritään kirjoittamaan suuraakkosin tai isolla alkukirjaimella, sikäli kun projektin jäsenet tietävät kyseisistä tuotemerkeistä."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "ASIAKIRJA TARJOTAAN SELLAISENAAN, ILMAN MINKÄÄNLAISTA KIRJATTUA TAI KONKLUDENTTISTA RAJATONTA TAKUUTA ASIAKIRJAN TAI SEN MUOKATUN VERSION VIRHEETTÖMYYDESTÄ, SOPIVUUDESTA KAUPALLISEEN KÄYTTÖÖN TAI TIETTYYN KÄYTTÖTARKOITUKSEEN TAI LOUKKAAMATTOMUUDESTA. TÄYSI VASTUU ASIAKIRJAN TAI SEN MUOKATUN VERSION LAADUSTA, TARKKUUDESTA JA TOIMIVUUDESTA ON KÄYTTÄJÄLLÄ. JOS ASIAKIRJA TAI SEN MUOKATTU VERSIO OSOITTAUTUU JOLLAKIN TAVALLA VIRHEELLISEKSI, KÄYTTÄJÄ (EI ALKUPERÄINEN KIRJOITTAJA TAI MUU TEKIJÄ) VASTAA PALVELUJEN, KORJAUSTEN TAI OIKAISUJEN KUSTANNUKSISTA. TÄMÄ VASTUUVAPAUSLAUSEKE ON EROTTAMATON OSA LISENSSIÄ. ASIAKIRJAN TAI SEN MUOKATTUJEN VERSIOIDEN KÄYTTÖ ON SALLITTUA VAIN TÄMÄN VASTUUVAPAUSLAUSEKKEEN NOJALLA; SEKÄ"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "MISSÄÄN OLOSUHTEISSA TAI MINKÄÄN OIKEUSLAITOKSEN ALAISUUDESSA, NIIN OIKEUSLOUKKAUKSISSA (MUKAAN LUKIEN HUOLIMATTOMUUS), SOPIMUS TAI MUUTOIN, ASIAKIRJAN TAI SEN MUOKATUN VERSION TEKIJÄ, ALKUPERÄINEN KIRJOITTAJA, KUKAAN AVUSTAJAISTA, KUKAAN LEVITTÄJÄ TAIKKA KUKAAN TARJOAJA EI OLE VASTUUSSA KENELLEKKÄÄN SUORASTA, EPÄSUORASTA, ERITYISESTÄ, TAPATURMAISESTA TAI VÄLILLISESTÄ VAHINGOSTA SISÄLTÄEN RAJOITUKSETTA VAHINGOT LIIKEARVON MENETYKSESTÄ, TYÖN KESKEYTYMISESTÄ, TIETOKONEVIRHEESTÄ TAI -HÄIRIÖSTÄ TAIKKA MISTÄÄN MUUSTA VAHINGOSTA TAI MENETYKSESTÄ, JOKA ILMENEE TAI LIITTYY ASIAKIRJAN TAI SEN MUOKATUN VERSION KÄYTTÖÖN EDES SILLOIN KUN OSAPUOLTA ON OLLUT TIETOINEN TÄLLAISEN VAHINGON MAHDOLLISUUDESTA."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "ASIAKIRJA SEKÄ MUOKATUT VERSIOT ASIAKIRJASTA TARJOTAAN GNU FREE DOCUMENTATION LICENSEN EHDOIN SEKÄ YMMÄRTÄEN ETTÄ: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Mate projekti"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "Mate 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Elokuu 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "Mate 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Maaliskuu 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Prosessorin kellotaajuuden ilmaisin -sovelluksen käyttöohje V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Elokuu 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Tämä käyttöohje kattaa Prosessorin kellotaajuus ilmaisin -sovelluksen version 2.12.0"
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Palaute"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Ilmoittaaksesi viasta tai tehdäksesi ehdotuksen koskien Prosessorin kellotaajuus ilmaisin -sovellusta tai tätä käyttöohjetta, seuraa ohjeita <ulink url=\"ghelp:mate-feedback\" type=\"help\">Mate palautesivulla</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Prosessorin kellotaajuuden ilmaisin"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Johdanto"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "<application>Prosessorin kellotaajuuden ilmaisin</application> -sovellus mahdollistaa sopivan tavan tarkkailla jokaisen prosessorin taajuus skaalaa."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "Lisätäksesi <application>Prosessorin kellotaajuuden ilmaisin</application> -sovelluksen paneeliin, paina hiiren oikeata näppäintä paneelin päällä ja valitse <menuchoice><guimenuitem>Lisää paneeliin</guimenuitem></menuchoice>. Valitse <menuchoice><application>Prosessorin kellotaajuuden ilmaisin</application></menuchoice> <application>Lisää paneeliin</application> -valintaikkunasta ja napsauta <guibutton>OK</guibutton>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Valitettavasti prosessorin kellotaajuuden skaalaus toimii tällä hetkellä vain niissä Linux -koneissa, joilla on kernel tuki. Se tukee myös muutamia kernelissä olevia taajuuden skaalaus -liityntöjä."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "Kun järjestelmäsi ei tue prosessorin kellotaajuuden skaalausta, näyttää Prosessorin kellotaajuuden ilmaisin ainoastaan prosessorisi sen hetkisen kellotaajuuden."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "Kun prosessorin kellotaajuuden skaalaus on järjestelmässäsi tuettu, näytetään prosessori -kuvakkeen yhteydessä seurantapalkki. Palkin tila edustaa sen hetkistä prosessorin kellotaajuutta suhteessa suurimpaan mahdolliseen kellotaajuuteen."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "Oletuksena Prosessorin kellotaajuuden ilmaisin näyttää prosessorin kellotaajuuden arvon hertseinä (taajuuden standardi mittayksikkö), mutta sen sijaan voidaan asettaa näyttämään arvo prosentteina. Lisätietoja Prosessorin kellotaajuuden ilmaisimen asetuksista löydät ohjekirjan kohdasta <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Jokainen Prosessorin kellotaajuus ilmaisin -sovelluksen ilmentymä voi tarkkailla vain yhtä prosessoria. Mikäli haluat tarkkailla useampaa prosessoria yhtä aikaa, täytyy sinun avata jokaista prosessoria varten oma Prosessorin kellotaajuuden ilmaisin -sovellus, mikäli käytössäsi on moniprosessori (SMP) järjestelmä."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Kuvakkeiden selitykset"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "Prosessorin kellotaajuuden ilmaisimessa on sarja kuvakkeita, jotka graafisesti esittävät mitattavan prosessorin skaalaustasoa. Ne ovat:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Kuvake"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Kuvaus"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% teho"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Prosessori käy likimain 100% suoritusteholla"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% teho"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Prosessori käy likimain 75% suoritusteholla"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% teho"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Prosessori käy likimain 50% suoritusteholla"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% teho"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Prosessori käy likimain 25% suoritusteholla"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Taajuus- ja ositusvalitsin"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "Taajuuden valitsin -toiminnallisuus ei ole oletuksena käytössä Mate -työpöytäympäristössä. Ole hyvä ja käänny järjestelmän ylläpitäjän puoleen, laitteiston toimittajan dokumentaatioon tai tämän ohjelman mukana tulleeseen dokumentaatioon."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "Asettaaksesi prosessorin kellotaajuuden, napsauta hiirellä ilmaisinta ja saat näkyviin valikon. Tästä valikosta löydät laitteistosi mahdolliset taajudet ja/tai osituskäytön taajuudet."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Voit vaihtaa <guilabel>Asetukset </guilabel> -valinnasta, että haluatko näyttää mahdolliset taajuudet vai osituskäytön. Katso lisätietoja käyttöohjeen kohdasta <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Taajuusvalitsin näyttää vain taajuuksia"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Taajuusvalitsin näyttää taajuuden, sekä osituskäytön"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Asetukset"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "Muokataksesi <application>Prosessorin kellotaajuuden ilmaisin</application> -sovelluksen asetuksia, napsauta hiiren oikeata näppäintä sovelluksen päällä ja valitse avautuvasta alasvetovalikosta <guimenuitem>Asetukset</guimenuitem>."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "<guimenuitem>Asetukset<guimenuitem> -valintaikkunasta löydät seuraavat osiot:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Prosessorin kellotaajuuden ilmaisiman asetukset -valintaikkuna"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Prosessorin kellotaajuuden ilmaisiman asetukset -valintaikkuna"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Seurattava prosessori (vain moniprosessori järjestelmissä)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Valitse tästä alasvetovalikosta prosessori, jonka tiedot näytetään ilmaisimessa."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Ilmaistavan prosessorin valinta"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Prosessorin kellotaajuuden ilmaisimen asetukset -valintaikkunan prosessorin valitsin"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "<guilabel>Seurattava prosessori</guilabel> -valinta näkyy vain moniprosessorijärjestelmissä (SMP)."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Ulkoasu"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Valitse tästä alasvetovalikosta ulkoasu, jonka mukaan haluat sovellus näyttää tiedot. Käytettävät ulkoasut ovat: graafinen, teksti ja molemmat (Graafinen ja teksti)"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Näytä prosessorin kellotaajuus taajuutena"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Valitse tämä vaihtoehto, mikäli haluat näyttää prosessorin kellotaajuuden."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Näytä taajuuden yksiköt"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Valitse tämä valinta, mikäli haluat näyttää taajuuden yksiköt taajuus ulkoasun yhteydessä."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Näytä prosessorin kellotaajuus prosentteina"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Valitse tämä valinta, mikäli haluat näyttää prosessorin kellotaajuuden prosentteina."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Näytä valikko"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Ilmaisin määritettynä Taajuuksille ja moniajolle"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Prosessorin moniajon valitsin"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Tämän valitsimen avulla voit valita, kuinka paljon tietoa näytetään taajuus valitsimen alasvetovalikossa (katso <xref linkend=\"mate-cpufreq-selector\"/>). Voit valita näkyviin <guilabel>Taajuudet</guilabel>, <guilabel>Moniajot</guilabel> tai <guilabel>Taajuuden ja moniajon</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Jukka Heikkilä <[email protected]>, 2008\n"
+"Tommi Vainikainen <[email protected]> (Legal Notices), 2006"
diff --git a/cpufreq/help/fi/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/fi/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..9368e2f8
--- /dev/null
+++ b/cpufreq/help/fi/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/fi/figures/cpufreq-applet-preferences.png b/cpufreq/help/fi/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..8a84a520
--- /dev/null
+++ b/cpufreq/help/fi/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/fr/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/fr/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..fcac0271
--- /dev/null
+++ b/cpufreq/help/fr/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/fr/figures/cpufreq-applet-preferences.png b/cpufreq/help/fr/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..1ff30144
--- /dev/null
+++ b/cpufreq/help/fr/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/fr/figures/cpufreq-applet-selector-both.png b/cpufreq/help/fr/figures/cpufreq-applet-selector-both.png
new file mode 100644
index 00000000..17e5f6d1
--- /dev/null
+++ b/cpufreq/help/fr/figures/cpufreq-applet-selector-both.png
Binary files differ
diff --git a/cpufreq/help/fr/fr.po b/cpufreq/help/fr/fr.po
new file mode 100644
index 00000000..2be6adac
--- /dev/null
+++ b/cpufreq/help/fr/fr.po
@@ -0,0 +1,627 @@
+# French translation of applets-cpufreq documentation.
+# Copyright (C) 2006 Free Software Foundation, Inc.
+# This file is distributed under the same license as the applet-cpufreq
+# documentation documentation.
+#
+# Yann Simon <[email protected]>, 2006.
+# Christophe Bliard <[email protected]>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: applet-cpufreq fr\n"
+"POT-Creation-Date: 2006-07-25 18:59+0200\n"
+"PO-Revision-Date: 2006-05-15 00:23+0100\n"
+"Last-Translator: Christophe Bliard <[email protected]>\n"
+"Language-Team: MATE French Team <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:263(None) ../C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: ../C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Moniteur de fréquence du processeur"
+
+#: ../C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"L'applet Moniteur de fréquence du processeur indique la vitesse d'horloge du "
+"processeur et permet de la modifier quand c'est possible."
+
+#: ../C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: ../C/cpufreq-applet.xml:27(holder) ../C/cpufreq-applet.xml:86(para)
+#: ../C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: ../C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: ../C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Fondation MATE"
+
+#: ../C/cpufreq-applet.xml:42(publishername) ../C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Projet de documentation MATE"
+
+#: ../C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Permission vous est donnée de copier, distribuer et/ou modifier ce document "
+"selon les termes de la Licence GNU Free Documentation License, Version 1.1 "
+"ou ultérieure publiée par la Free Software Foundation sans section "
+"inaltérable, sans texte de première page de couverture ni texte de dernière "
+"page de couverture. Vous trouverez un exemplaire de cette licence en suivant "
+"ce <ulink type=\"help\" url=\"ghelp:fdl\">lien</ulink> ou dans le fichier "
+"COPYING-DOCS fourni avec le présent manuel."
+
+#: ../C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Ce manuel fait partie de la collection de manuels MATE distribués selon les "
+"termes de la licence de documentation libre GNU. Si vous souhaitez "
+"distribuer ce manuel indépendamment de la collection, vous devez joindre un "
+"exemplaire de la licence au document, comme indiqué dans la section 6 de "
+"celle-ci."
+
+#: ../C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"La plupart des noms utilisés par les entreprises pour distinguer leurs "
+"produits et services sont des marques déposées. Lorsque ces noms "
+"apparaissent dans la documentation MATE et que les membres du projet de "
+"Documentation MATE sont informés de l'existence de ces marques déposées, "
+"soit ces noms entiers, soit leur première lettre est en majuscule."
+
+#: ../C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"LE PRÉSENT DOCUMENT EST FOURNI « TEL QUEL », SANS AUCUNE GARANTIE, EXPRESSE "
+"OU IMPLICITE, Y COMPRIS, ET SANS LIMITATION, LES GARANTIES DE "
+"MARCHANDABILITÉ, D'ADÉQUATION À UN OBJECTIF PARTICULIER OU DE NON INFRACTION "
+"DU DOCUMENT OU DE SA VERSION MODIFIÉE. L'UTILISATEUR ASSUME TOUT RISQUE "
+"RELATIF À LA QUALITÉ, À LA PERTINENCE ET À LA PERFORMANCE DU DOCUMENT OU DE "
+"SA VERSION DE MISE À JOUR. SI LE DOCUMENT OU SA VERSION MODIFIÉE S'AVÉRAIT "
+"DÉFECTUEUSE, L'UTILISATEUR (ET NON LE RÉDACTEUR INITIAL, L'AUTEUR, NI TOUT "
+"AUTRE PARTICIPANT) ENDOSSERA LES COÛTS DE TOUTE INTERVENTION, RÉPARATION OU "
+"CORRECTION NÉCESSAIRE. CETTE DÉNÉGATION DE RESPONSABILITÉ CONSTITUE UNE "
+"PARTIE ESSENTIELLE DE CETTE LICENCE. AUCUNE UTILISATION DE CE DOCUMENT OU DE "
+"SA VERSION MODIFIÉE N'EST AUTORISÉE AUX TERMES DU PRÉSENT ACCORD, EXCEPTÉ "
+"SOUS CETTE DÉNÉGATION DE RESPONSABILITÉ ; "
+
+#: ../C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"EN AUCUNE CIRCONSTANCE ET SOUS AUCUNE INTERPRÉTATION DE LA LOI, QU'IL "
+"S'AGISSE D'UN DÉLIT CIVIL (Y COMPRIS LA NÉGLIGENCE), CONTRACTUEL OU AUTRE, "
+"L'AUTEUR, LE RÉDACTEUR INITIAL, TOUT PARTICIPANT OU TOUT DISTRIBUTEUR DE CE "
+"DOCUMENT OU DE SA VERSION MODIFIÉE, OU TOUT FOURNISSEUR DE L'UNE DE CES "
+"PARTIES NE POURRA ÊTRE TENU RESPONSABLE À L'ÉGARD DE QUICONQUE POUR TOUT "
+"DOMMAGE DIRECT, INDIRECT, PARTICULIER, OU ACCIDENTEL DE TOUT TYPE Y COMPRIS, "
+"SANS LIMITATION, LES DOMMAGES LIÉS À LA PERTE DE CLIENTÈLE, À UN ARRÊT DE "
+"TRAVAIL, À UNE DÉFAILLANCE OU UN MAUVAIS FONCTIONNEMENT INFORMATIQUE, OU À "
+"TOUT AUTRE DOMMAGE OU PERTE LIÉE À L'UTILISATION DU DOCUMENT ET DE SES "
+"VERSIONS MODIFIÉES, MÊME SI LADITE PARTIE A ÉTÉ INFORMÉE DE L'ÉVENTUALITÉ DE "
+"TELS DOMMAGES."
+
+#: ../C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"LE PRÉSENT DOCUMENT ET SES VERSIONS MODIFIÉES SONT FOURNIS SELON LES TERMES "
+"DE LA LICENCE DE DOCUMENTATION LIBRE GNU SACHANT QUE : <placeholder-1/>"
+
+#: ../C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: ../C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:55(orgname) ../C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Projet MATE"
+
+#: ../C/cpufreq-applet.xml:56(email)
+
+#: ../C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: ../C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: ../C/cpufreq-applet.xml:64(email)
+
+#: ../C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: ../C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Août 2005"
+
+#: ../C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: ../C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Mars 2005"
+
+#: ../C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Manuel de l'applet Moniteur de fréquence du processeur V0.3"
+
+#: ../C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Octobre 2004"
+
+#: ../C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+"Ce manuel documente la version 2.12.0 de l'applet Moniteur de fréquence du "
+"processeur."
+
+#: ../C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Votre avis"
+
+#: ../C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Pour rapporter un bogue ou émettre une suggestion concernant le Moniteur de "
+"fréquence du processeur ou ce manuel, procédez comme indiqué sur la <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">Page de réactions sur MATE</"
+"ulink>."
+
+#: ../C/cpufreq-applet.xml:121(primary) ../C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Moniteur de fréquence du processeur"
+
+#: ../C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introduction"
+
+#. ==== End of Figure =======================================
+#: ../C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"L'applet <application>Moniteur de fréquence du processeur</application> "
+"permet de surveiller facilement les changements de fréquence de chaque "
+"processeur"
+
+#: ../C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Pour ajouter l'applet <application>Moniteur de fréquence du processeur</"
+"application> à un tableau de bord, cliquez sur le tableau de bord avec le "
+"bouton droit pour faire apparaître un menu, puis choisissez "
+"<menuchoice><guimenu>Ajouter au tableau de bord</"
+"guimenu><guimenuitem>Moniteur de fréquence du processeur</guimenuitem></"
+"menuchoice>."
+
+#: ../C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Malheureusement, surveiller les changements de fréquence du processeur n'est "
+"possible que sur les postes Linux intégrant cette fontionnalité dans le "
+"noyau. Le moniteur peut cependant utiliser les différentes générations "
+"d'interfaces de changements de fréquence disponibles dans le noyau."
+
+#: ../C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Quand le système ne prend pas en charge les changements de fréquence du "
+"processeur, l'applet Moniteur de fréquence du processeur affiche juste la "
+"fréquence actuelle du processeur."
+
+#: ../C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Quand le système prend en charge les changements de fréquence du processeur, "
+"l'applet Moniteur de fréquence du processeur affiche l'icône processeur avec "
+"une barre de progression. Le niveau de cette barre représente la fréquence "
+"actuelle du processeur par rapport à sa fréquence maximale."
+
+#: ../C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Par défaut, l'applet Moniteur de fréquence du processeur affiche la "
+"fréquence du processeur en Hertz (la mesure standard de fréquence). Mais "
+"l'applet peut être configurée pour afficher un pourcentage à la place. Pour "
+"plus d'informations sur la façon de configurer l'applet Moniteur de "
+"fréquence du processeur, consultez <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: ../C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Chaque applet Moniteur de fréquence du processeur ne peut surveiller qu'un "
+"seul processeur. Dans le cadre d'un système multiprocesseurs (SMP), il faut "
+"ajouter une applet Moniteur de fréquence du processeur pour chaque "
+"processeur à surveiller."
+
+#: ../C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Signification des icônes"
+
+#: ../C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"L'applet Moniteur de fréquence du processeur dispose d'une série d'icônes "
+"qui représentent graphiquement l'état du processeur surveillé. Les états "
+"représentés sont les suivants :"
+
+#: ../C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icône"
+
+#: ../C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Signification"
+
+#: ../C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "Puissance à 100%"
+
+#: ../C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Le processeur fonctionne à, ou est proche de 100%"
+
+#: ../C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "Puissance à 75%"
+
+#: ../C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Le processeur fonctionne à, ou est proche de 75%"
+
+#: ../C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "Puissance à 50%"
+
+#: ../C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Le processeur fonctionne à, ou est proche de 50%"
+
+#: ../C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "Puissance à 25%"
+
+#: ../C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Le processeur fonctionne à, ou est proche de 25%"
+
+#: ../C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Choix de la fréquence et du gouverneur"
+
+#: ../C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"La fonctionnalité de sélection de fréquence peut être absente avec votre "
+"bureau MATE par défaut. Merci de consulter votre administrateur système, la "
+"documentation du constructeur ou celle fournie avec ce logiciel."
+
+#: ../C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Pour régler la fréquence du processeur, cliquez sur le moniteur et un menu "
+"apparaîtra. Ce menu propose une liste des fréquences et/ou des gouverneurs "
+"de fréquence disponibles pour votre machine."
+
+#: ../C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"Dans les <guilabel>Préférences</guilabel>, vous pouvez choisir d'afficher ou "
+"de cacher les fréquences ou les gouverneurs disponibles. Consultez <xref "
+"linkend=\"cpufreq-applet-prefs\"/> pour plus d'informations."
+
+#: ../C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Le sélecteur affichant uniquement les fréquences"
+
+#: ../C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Le sélecteur affichant à la fois les fréquences et les gouverneurs"
+
+#: ../C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Préférences"
+
+#: ../C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Pour configurer le <application>Moniteur de fréquence du processeur</"
+"application>, cliquez avec le bouton droit sur l'applet, puis choisissez "
+"<guimenuitem>Préférences</guimenuitem> depuis le menu contextuel."
+
+#: ../C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"La boîte de dialogue <guimenuitem>Préférences</guimenuitem> contient les "
+"éléments suivants : "
+
+#: ../C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr ""
+"Boîte de dialogue des préférences du moniteur de fréquence du processeur"
+
+#: ../C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr ""
+"Boîte de dialogue des préférences du moniteur de fréquence du processeur"
+
+#: ../C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Processeur surveillé (dans le cadre d'un système multiprocesseurs)"
+
+#: ../C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Utilisez la liste déroulante pour choisir le processeur à surveiller."
+
+#: ../C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Choix du processeur à surveiller"
+
+#: ../C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Boîte de dialogue des préférences avec le choix du processeur"
+
+#: ../C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"L'option <guilabel>Processeur surveillé</guilabel> n'apparaît que sur les "
+"systèmes multiprocesseur (SMP)."
+
+#: ../C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Mode d'affichage"
+
+#: ../C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Utilisez cette liste déroulante pour choisir le mode d'affichage de "
+"l'applet. Les modes disponibles sont : Graphique, Texte ou Graphique et texte"
+
+#: ../C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Afficher la fréquence du processeur en Hertz"
+
+#: ../C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Cochez cette option pour afficher la fréquence actuelle du processeur."
+
+#: ../C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Afficher l'unité de fréquence"
+
+#: ../C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Cochez cette option pour afficher l'unité de fréquence lorsque la fréquence "
+"est affichée en Hertz."
+
+#: ../C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Afficher la fréquence du processeur en pourcentage"
+
+#: ../C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+"Cochez cette option pour afficher la fréquence actuelle du processeur comme "
+"un pourcentage."
+
+#: ../C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Afficher le menu"
+
+#: ../C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Le sélecteur réglé à Fréquences et gouverneurs"
+
+#: ../C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Le sélecteur de gouverneurs du processeur"
+
+#: ../C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Cette option vous permet de choisir les informations affichées dans le "
+"sélecteur de fréquence (voir <xref linkend=\"mate-cpufreq-selector\"/>). "
+"Vous pouvez choisir d'afficher les <guilabel>Fréquences</guilabel>, les "
+"<guilabel>Gouverneurs</guilabel> ou bien les <guilabel>Fréquences et "
+"gouverneurs</guilabel> à la fois. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Yann Simon <[email protected]>, 2006.\n"
+"Christophe Bliard <[email protected]>, 2006."
diff --git a/cpufreq/help/hu/hu.po b/cpufreq/help/hu/hu.po
new file mode 100644
index 00000000..0da70d45
--- /dev/null
+++ b/cpufreq/help/hu/hu.po
@@ -0,0 +1,577 @@
+# Hungarian translation of cpufreq-applet-docs
+# Copyright 2009. Free Software Foundation, Inc.
+# This file is distributed under the same license as the mate-applets package.
+#
+# Gabor Kelemen <kelemeng at mate dot hu>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet-docs master\n"
+"POT-Creation-Date: 2009-08-16 21:05+0000\n"
+"PO-Revision-Date: 2009-09-19 17:25+0200\n"
+"Last-Translator: Gabor Kelemen <kelemeng at mate dot hu>\n"
+"Language-Team: Hungarian <mate at fsf dot hu>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:135(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:186(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:197(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:208(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:219(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:254(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:265(None) C/cpufreq-applet.xml:358(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:283(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:301(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU órajelváltozás-figyelő kézikönyve"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"A CPU órajelváltozás-figyelő megmutatja a processzor pillanatnyi órajelét, "
+"és segítségével könnyen megváltoztatható az órajel, amennyiben a processzor "
+"ezt támogatja."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:88(para)
+#: C/cpufreq-applet.xml:95(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:103(para)
+msgid "MATE Documentation Project"
+msgstr "MATE dokumentációs projekt"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Engedélyt adunk Önnek a jelen dokumentum sokszorosítására, terjesztésére és/"
+"vagy módosítására a Free Software Foundation által kiadott GNU Free "
+"Documentation License (GFDL) 1.1-es, vagy bármely azt követő verziójának "
+"feltételei alapján. Nincs Nem Változtatható szakasz, nincs Címlapszöveg, "
+"nincs Hátlapszöveg. A jelen licenc egy példányát <ulink type=\"help\" url="
+"\"ghelp:fdl\">itt</ulink> vagy a kézikönyv COPYING-DOCS elnevezésű fájljában "
+"találhatja."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Ez a kézikönyv a GFDL licenc alatt közzétett MATE kézikönyv-gyűjtemény "
+"része. Ezt a kézikönyvet a gyűjteménytől függetlenül szabadon terjesztheti a "
+"licenc egy másolatával együtt, a 6. szakaszban leírtaknak megfelelően."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Számos név, amelyet cégek használnak termékeik és szolgáltatásuk "
+"megkülönböztetésére, védjegy alá esnek. Ahol ezek a nevek megjelennek a "
+"MATE dokumentációkban és a MATE Dokumentációs Projekt tagjai tájékozottak "
+"az adott védjegyről, ott ezek nagy kezdőbetűvel vagy csupa nagy betűvel "
+"szerepelnek."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"A DOKUMENTUM A \"JELEN ÁLLAPOTÁBAN\" KERÜL KIADÁSRA, MINDENFÉLE "
+"GARANCIAVÁLLALÁS NÉLKÜL, LEGYEN AZ KIFEJEZETT VAGY BELEÉRTETT, BELEÉRTVE, DE "
+"NEM KIZÁRÓLAGOSAN A DOKUMENTUM VAGY ANNAK MÓDOSÍTOTT VÁLTOZATÁNAK "
+"HIBAMENTESSÉGÉRE, FORGALOMBA HOZHATÓSÁGRA VAGY ALKALMAZHATÓSÁGRA VONATKOZÓ "
+"GARANCIÁKAT. A DOKUMENTUM VAGY ANNAK MÓDOSÍTOTT VÁLTOZATÁNAK MINŐSÉGÉBŐL ÉS "
+"FELHASZNÁLHATÓSÁGÁBÓL FAKADÓ ÖSSZES KOCKÁZAT A FELHASZNÁLÓT TERHELI. HA A "
+"PROGRAM HIBÁSAN MŰKÖDIK, A FELHASZNÁLÓNAK MAGÁNAK (NEM AZ ÍRÓNAK, SZERZŐNEK "
+"VAGY BÁRMELY KÖZREMŰKÖDŐNEK) KELL VÁLLALNIA A JAVÍTÁSHOZ SZÜKSÉGES MINDEN "
+"KÖLTSÉGET. A GARANCIAVÁLLALÁS EZEN ELUTASÍTÁSA A LICENC ELVÁLASZTHATATLAN "
+"RÉSZÉT KÉPEZI. A DOKUMENTUMOT VAGY ANNAK BÁRMELY MÓDOSÍTOTT VÁLTOZATÁNAK "
+"HASZNÁLATA NEM ENGEDÉLYEZETT, AZ ALÁBBIAKBAN FELSOROLTAKON KÍVÜL; VALAMINT"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"KÖRÜLMÉNYEKTŐL ÉS HATÁLYOS JOGSZABÁLYOKTÓL, A KÁRTÓL (BELEÉRTVE A "
+"GONDATLANSÁGOT), SZERZŐDÉS VAGY EGYEBEKTŐL FÜGGETLENÜL,A SZERZŐ, A "
+"DOKUMENTUM ÍRÓJA VAGY BÁRMELY FÉL BESZÁLLÍTÓJA NEM TEHETŐK FELELŐSSÉ A "
+"KÁROKÉRT, BELEÉRTVE MINDEN VÉLETLEN, VAGY KÖVETKEZMÉNYES KÁRT, AMELY A "
+"PROGRAM HASZNÁLATÁBÓL VAGY A HASZNÁLAT MEGAKADÁLYOZÁSÁBÓL SZÁRMAZIK "
+"(BELEÉRTVE, DE NEM KIZÁRÓLAGOSAN AZ ADATVESZTÉST ÉS A HELYTELEN "
+"ADATFELDOLGOZÁST, VALAMINT A MÁS PROGRAMOKKAL VALÓ HIBÁS EGYÜTTMŰKÖDÉST), "
+"MÉG AKKOR SEM, HA EZEN FELEK TUDATÁBAN VOLTAK, HOGY ILYEN KÁROK "
+"KELETKEZHETNEK."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"A DOKUMENTUM ÉS ANNAK MÓDOSÍTOTT VÁLTOZATAI A GNU FREE DOCUMENTATION LICENSE "
+"(GFDL) LICENC ALATT JELENNEK MEG, Az ALÁBBIAK SZERINT: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE projekt"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:85(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:86(date)
+msgid "August 2005"
+msgstr "2005 augusztus"
+
+#: C/cpufreq-applet.xml:92(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:93(date)
+msgid "March 2005"
+msgstr "2005 március"
+
+#: C/cpufreq-applet.xml:99(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU órajelváltozás-figyelő alkalmazás kézikönyve"
+
+#: C/cpufreq-applet.xml:100(date)
+msgid "October 2004"
+msgstr "2004 október"
+
+#: C/cpufreq-applet.xml:102(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:108(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Ez a kézikönyv a CPU órajelváltozás-figyelő 2.12.0 verzióját írja le."
+
+#: C/cpufreq-applet.xml:112(title)
+msgid "Feedback"
+msgstr "Visszajelzés"
+
+#: C/cpufreq-applet.xml:113(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Ha hibajelentést, vagy javaslatot szeretne tenni a CPU órajelváltozás-"
+"figyelő alkalmazással, vagy ezzel a kézikönyvvel kapcsolatban, ezt a "
+"<ulink url=\"ghelp:mate-feedback\" type=\"help\">Mate visszajelzés oldalán</ulink> teheti meg."
+
+#: C/cpufreq-applet.xml:123(primary) C/cpufreq-applet.xml:130(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU órajelváltozás-figyelő"
+
+#: C/cpufreq-applet.xml:128(title)
+msgid "Introduction"
+msgstr "Bevezetés"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"A <application>CPU órajelváltozás-figyelő</application> segítségével "
+"egyszerűen követheti az egyes CPU-k órajeleinek változásait."
+
+#: C/cpufreq-applet.xml:143(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"A <application>CPU órajelváltozás-figyelő</application> panelhoz adásához "
+"kattintson a jobb egérgombbal a panelre, és válassza a "
+"<menuchoice><guimenu>Hozzáadás a panelhez</guimenu><guimenuitem>CPU "
+"órajelváltozás-figyelő</guimenuitem></menuchoice> lehetőséget."
+
+#: C/cpufreq-applet.xml:149(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"A CPU órajelváltozás-figyelő csak olyan linuxos gépeken működik, "
+"melyek rendelkeznek kernelszintű támogatással. Ugyanakkor támogatja a kernelben lévő órajelváltozás-figyelő felületek több generációját."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Ha nincs CPU órajel-módosítási támogatás a rendszerben, akkor a CPU "
+"órajelváltozás-figyelő csak a pillanatnyi órajelet jeleníti meg."
+
+#: C/cpufreq-applet.xml:156(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Ha támogatott a CPU-órajel módosítása, akkor a CPU órajelváltozás-figyelő "
+"egy CPU ikont jelenít meg egy folyamatsávval. A sáv a CPU jelenlegi órajelét "
+"mutatja a maximálishoz képest."
+
+#: C/cpufreq-applet.xml:157(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Alapértelmezésben a CPU órajelváltozás-figyelő a pillanatnyi órajelet Hertzben "
+"jeleníti meg (a frekvencia alapegységében), de beállítható, hogy ehelyett "
+"százalékban adja meg. További információk a CPU órajelváltozás-figyelő "
+"beállításához: <xref linkend=\"cpufreq-applet-prefs\"/>. "
+
+#: C/cpufreq-applet.xml:160(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Minden CPU órajelváltozás-figyelő csak egy CPU-t képes kezelni. Ha többprocesszoros számítógéppel rendelkezik, akkor minden processzorhoz külön példány szükséges."
+
+#: C/cpufreq-applet.xml:165(title)
+msgid "Understanding the Icons"
+msgstr "Az ikonok bemutatása"
+
+#: C/cpufreq-applet.xml:166(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"A CPU órajelváltozás-figyelő ikonok segítségével jeleníti meg a processzor "
+"pillanatnyi órajelét. Ezek:"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Icon"
+msgstr "Ikon"
+
+#: C/cpufreq-applet.xml:179(para)
+msgid "Description"
+msgstr "Leírás"
+
+#: C/cpufreq-applet.xml:188(phrase)
+msgid "100% Power"
+msgstr "100%-os órajel"
+
+#: C/cpufreq-applet.xml:190(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "A CPU 100%-os, vagy ahhoz közeli órajelen működik."
+
+#: C/cpufreq-applet.xml:199(phrase)
+msgid "75% Power"
+msgstr "75%-os órajel"
+
+#: C/cpufreq-applet.xml:201(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "A CPU 75%-os, vagy ahhoz közeli órajelen működik."
+
+#: C/cpufreq-applet.xml:210(phrase)
+msgid "50% Power"
+msgstr "50%-os órajel"
+
+#: C/cpufreq-applet.xml:212(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "A CPU 50%-os, vagy ahhoz közeli órajelen működik."
+
+#: C/cpufreq-applet.xml:221(phrase)
+msgid "25% Power"
+msgstr "25%-os órajel"
+
+#: C/cpufreq-applet.xml:223(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "A CPU 25%-os, vagy ahhoz közeli órajelen működik."
+
+#: C/cpufreq-applet.xml:233(title)
+msgid "Frequency and Governor Selector"
+msgstr "Órajel- és vezérlőválasztó"
+
+#: C/cpufreq-applet.xml:234(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"Az órajelválasztó funkció lehet hogy alapértelmezetten nem elérhető a "
+"számítógépén. Keresse meg a rendszergazdáját, vagy olvassa el a rendszer szállítójának dokumentációját, vagy ennek a szoftvernek a dokumentációját."
+
+#: C/cpufreq-applet.xml:238(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"A CPU-órajel beállításához kattintson az alkalmazásra, ekkor egy menüt fog "
+"látni. A menü felsorolja a lehetséges órajeleket, valamint az órajel-vezérlőket."
+
+#: C/cpufreq-applet.xml:243(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr "A <guilabel>Beállítások</guilabel> között választhatja ki, hogy megjelenjenek-e az órajelek és vezérlők. További információkért lásd: <xref linkend=\"cpufreq-applet-prefs\"/>"
+
+#: C/cpufreq-applet.xml:250(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Csak az órajeleket megjelenítő órajel-választó"
+
+#: C/cpufreq-applet.xml:261(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Az órajeleket és vezérlőket is megjelenítő órajel-választó"
+
+#: C/cpufreq-applet.xml:276(title)
+msgid "Preferences"
+msgstr "Beállítások"
+
+#: C/cpufreq-applet.xml:277(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"A <application>CPU órajelváltozás-figyelő</application> beállításához "
+"kattintson jobb egérgombbal az alkalmazásra, és válassza a "
+"<guimenuitem>Beállítások</guimenuitem> menüpontot."
+
+#: C/cpufreq-applet.xml:278(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr "A <guimenuitem>Beállítások</guimenuitem> ablak a következőket tartalmazza:"
+
+#: C/cpufreq-applet.xml:280(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU órajelváltozás-figyelő Beállítások párbeszédablaka"
+
+#: C/cpufreq-applet.xml:286(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU órajelváltozás-figyelő beállítások párbeszédablaka"
+
+#: C/cpufreq-applet.xml:294(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Megfigyelt CPU (többmagos/többprocesszoros rendszer esetén)"
+
+#: C/cpufreq-applet.xml:296(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Ezt a legördülő listát a megfigyelni kívánt CPU kiválasztására használhatja."
+
+#: C/cpufreq-applet.xml:298(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Megfigyelni kívánt CPU kiválasztása"
+
+#: C/cpufreq-applet.xml:304(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU órajelváltozás-figyelő beállítások párbeszédablakának CPU-választója"
+
+#: C/cpufreq-applet.xml:309(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"A <guilabel>Megfigyelt CPU</guilabel> opció csak többmagos/többprocesszoros "
+"rendszereknél jelenik meg."
+
+#: C/cpufreq-applet.xml:317(guilabel)
+msgid "Show in Mode"
+msgstr "Megjelenítés beállításai"
+
+#: C/cpufreq-applet.xml:319(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Ezt a legördülő listát az alkalmazás megjelenítési módjának megváltoztatására használhatja. A lehetséges módok: Kép, Szöveg vagy mindkettő (Kép és szöveg)."
+
+#: C/cpufreq-applet.xml:325(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "A CPU órajelének megjelenítése órajelként"
+
+#: C/cpufreq-applet.xml:327(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Válassza ezt az lehetőséget a pillanatnyi CPU órajel megjelenítéséhez."
+
+#: C/cpufreq-applet.xml:331(guilabel)
+msgid "Show frequency units"
+msgstr "Órajelegységek megjelenítése"
+
+#: C/cpufreq-applet.xml:333(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr "Válassza ezt az lehetőséget az órajelegységek megjelenítéséhez."
+
+#: C/cpufreq-applet.xml:338(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "A CPU órajelének megjelenítése százalékosan"
+
+#: C/cpufreq-applet.xml:340(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Válassza ezt a lehetőséget a pillanatnyi órajel százalékos megjelenítéséhez."
+
+#: C/cpufreq-applet.xml:345(guilabel)
+msgid "Show menu"
+msgstr "Órajel kiválasztása"
+
+#: C/cpufreq-applet.xml:355(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "A kiválasztás „Órajelek és vezérlőkre” állítva"
+
+#: C/cpufreq-applet.xml:361(phrase)
+msgid "CPU governors selector"
+msgstr "CPU-vezérlők kiválasztása"
+
+#: C/cpufreq-applet.xml:347(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr "Ezzel a lehetőséggel kiválasztható, hogy mennyi információ jelenjen meg az órajel-választó legördülő menüjében (lásd: <xref linkend=\"mate-cpufreq-selector\"/>). Megjeleníthet <guilabel>Órajeleket</guilabel>, <guilabel>Vezérlőket</guilabel>, vagy mindkettőt (<guilabel>Órajelek és vezérlők</guilabel>)."
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Balázs Meskó <[email protected]>, 2009"
+
diff --git a/cpufreq/help/nl/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/nl/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..f0105a2c
--- /dev/null
+++ b/cpufreq/help/nl/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/nl/figures/cpufreq-applet-preferences.png b/cpufreq/help/nl/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..4e211c34
--- /dev/null
+++ b/cpufreq/help/nl/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/nl/figures/cpufreq-applet-selector-both.png b/cpufreq/help/nl/figures/cpufreq-applet-selector-both.png
new file mode 100644
index 00000000..e7799490
--- /dev/null
+++ b/cpufreq/help/nl/figures/cpufreq-applet-selector-both.png
Binary files differ
diff --git a/cpufreq/help/nl/figures/cpufreq-applet-selector.png b/cpufreq/help/nl/figures/cpufreq-applet-selector.png
new file mode 100644
index 00000000..2c962a52
--- /dev/null
+++ b/cpufreq/help/nl/figures/cpufreq-applet-selector.png
Binary files differ
diff --git a/cpufreq/help/nl/nl.po b/cpufreq/help/nl/nl.po
new file mode 100644
index 00000000..672918c9
--- /dev/null
+++ b/cpufreq/help/nl/nl.po
@@ -0,0 +1,1010 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: CPU Frequency Scaling applet\n"
+"POT-Creation-Date: 2005-12-13 10:57+0800\n"
+"PO-Revision-Date: 2005-10-13 20:15+0100\n"
+"Last-Translator: Myckel Habets\n"
+"Language-Team: Mate Dutch Translation Team\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:263(None) ../C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU Frequentie Wijzigings Monitor Handleiding"
+
+#: ../C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: ../C/cpufreq-applet.xml:27(holder) ../C/cpufreq-applet.xml:86(para)
+#: ../C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: ../C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: ../C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "De MATE Foundation"
+
+#: ../C/cpufreq-applet.xml:42(publishername) ../C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE Documentatie Project"
+
+#: ../C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Het is toegestaan om dit document te verspreiden en/of wijzigen onder de "
+"bepalingen van de GNU Vrije Documentatie Licentie (GFDL), zoals uitgegeven "
+"door de Free Software Foundation; ofwel versie 1.1 van de Licentie,of (naar "
+"vrije keuze) een latere versie zonder invariante secties, zonder "
+"voorbladtekst en zonder achterbladtekst. U kunt <ulink type=\"help\" url="
+"\"ghelp:fdl\">hier</ulink> een kopie van de GFDL vinden, of in het bestand "
+"COPYING-DOCS, meegeleverd met deze handleiding."
+
+#: ../C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Deze handleiding is onderdeel van een collectie van MATE handleidingen "
+"uitgegeven onder de GFDL. Als u deze handleiding onafhankelijk van de "
+"collectie wilt distributeren, kunt u dit doen door een kopie van de licentie "
+"aan de handleiding toe te voegen, zoals beschreven in sectie 6 van de "
+"licentie."
+
+#: ../C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Veel van de namen gebruikt door bedrijven om onderscheid te maken tussen hun "
+"producten en diensten zijn geclaimde handelsmerken. Waar die namen ergens in "
+"de MATE documentatie verschijnen, en de leden van het MATE Documentatie "
+"Project zijn gewezen op die handelsmerken, dan zullen de namen in "
+"hoofdletters geschreven zijn of beginnen met een hoofdletter."
+
+#: ../C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"DOCUMENT \"ZOALS GELEVERD\" BIEDT GEEN ENKELE GARANTIE VOOR ZOVER MOGELIJK "
+"BINNEN DE GELDENDE WETGEVING, HETZIJ EXPLICIET, HETZIJ IMPLICIET, INCLUSIEF "
+"MAAR NIET BEPERKT TOT GARANTIES DAT HET DOCUMENT OF EEN BEWERKTE VERSIE VAN "
+"HET DOCUMENT VRIJ IS VAN DEFECTEN, GESCHIKT IS VOOR EEN BEPAALD DOEL OF GEEN "
+"INBREUK MAAKT. HET RISICO AANGAANDE DE KWALITEIT, CORRECTHEID EN "
+"BRUIKBAARHEID VAN HET DOCUMENT OF BEWERKTE VERSIE VAN HET DOCUMENT LIGT "
+"VOLLEDIG BIJ U. MOCHT HET DOCUMENT NIET VRIJ ZIJN VAN DEFECTEN, DAN DIENT U "
+"(NIET DE ORIGINELE AUTEUR, SCHRIJVER OF EEN VAN DE MENSEN DIE BIJDRAGEN "
+"HEBBEN GELEVERD) DE KOSTEN TE DRAGEN VAN ONDERHOUD, REPARATIE OF CORRECTIE. "
+"DIT DEEL IS EEN ESSENTIEEL DEEL VAN DE LICENTIE. GEBRUIK VAN HET DOCUMENT OF "
+"BEWERKTE VERSIE VAN HET DOCUMENT IS SLECHTS TOEGESTAAN VOLGENS DE TERMEN VAN "
+"DIT DEEL; EN"
+
+#: ../C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"ONDER GEEN ENKELE OMSTANDIGHEDEN EN ONDER GEEN ENKELE JURIDISCHE THEORIE, "
+"ZAL DE ORIGINELE AUTEUR, SCHRIJVER, EEN VAN DE MENSEN DIE BIJDRAGEN HEBBEN "
+"GELEVERD OF EEN VAN DE VERSPREIDERS VAN HET DOCUMENT OF BEWERKTE VERSIE VAN "
+"HET DOCUMENT, OF ENIGE LEVERANCIER VAN EERDERGENOEMDE PARTIJEN, "
+"AANSPRAKELIJK ZIJN TEGENOVER IEMAND VOOR DIRECTE OF INDIRECTE, SPECIALE, "
+"INCIDENTELE, OF CONCEQUENTIËLE SCHADE VAN ENIG TYPE INCLUSIEF, MAAR NIET "
+"BEPERKT TOT SCHADE GELEDEN AAN GOODWILL, VERLOREN WERKTIJD, SCHADE AAN "
+"COMPUTERS, OF EEN VAN DE ANDERE TYPEN SCHADE OF VERLIEZEN VOORTKOMEND UIT OF "
+"GERELATEERD AAN GEBRUIK VAN HET DOCUMENT OF EEN BEWERKTE VERSIE VAN HET "
+"DOCUMENT, OOK AL IS ZO'N PARTIJ GEÏNFORMEERD VAN ZULKE SCHADE."
+
+#: ../C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"DOCUMENT EN BEWERKTE VERSIE VAN HET DOCUMENT WORDEN GELEVERD ONDER DE "
+"BEPALINGEN VAN DE GNU PUBLIEKE DOCUMENTATIELICENTIE MET HET BEGRIP DAT: "
+"<placeholder-1/>"
+
+#: ../C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: ../C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:55(orgname) ../C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE Project"
+
+#: ../C/cpufreq-applet.xml:56(email)
+
+#: ../C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: ../C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: ../C/cpufreq-applet.xml:64(email)
+
+#: ../C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: ../C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Augustus 2005"
+
+#: ../C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: ../C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Maart 2005"
+
+#: ../C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU Frequentie Wijzigings Monitor Handleiding V0.3"
+
+#: ../C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "October 2004"
+
+#: ../C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+"Deze handleiding beschrijft versie 2.12.0 van de CPU Frequentie Wijzigings "
+"Monitor"
+
+#: ../C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Feedback"
+
+#: ../C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Om een bug te rapporteren of een suggestie te doen over de CPU Frequentie "
+"Wijzigings Monitor of deze handleiding, volg de beschrijvingen in de <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Pagina</ulink>."
+
+#: ../C/cpufreq-applet.xml:121(primary) ../C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU Frequentie Wijzigings Monitor"
+
+#: ../C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Inleiding"
+
+#. ==== End of Figure =======================================
+#: ../C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"De <application>CPU Frequentie Wijzigings Monitor</application> geeft een "
+"handige manier om de CPU Frequentie Schaling voor elke CPU weer te geven."
+
+#: ../C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Om de <application>CPU Wijzigings Monitor</application> aan een paneel toe "
+"te voegen, rechts-klik op het paneel om het paneel pop-up menu te openen. "
+"Kies dan <menuchoice><guimenu>Toevoegen aan paneel...</"
+"guimenu><guimenuitem>CPU Wijzigings Monitor</guimenuitem></menuchoice>."
+
+#: ../C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Helaas kan de CPU frequentie schaling alleen weergegeven worden op Linux "
+"systemen die daarvoor ondersteuning in de kernel hebben zitten. De "
+"verschillende generaties van frequentie schalingsinterfaces in de kernel "
+"zijn echter wel ondersteund."
+
+#: ../C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Als er geen CPU frequentie schaling ondersteuning door het systeem geleverd "
+"wordt, zal de CPU Frequentie Wijzigings Monitor alleen de huidige CPU "
+"frequentie weergeven."
+
+#: ../C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Als CPU Frequentie Schaling ondersteund wordt door uw systeem, zal de CPU "
+"Frequentie Wijzigings Monitor het CPU icoon met een voortgangsbalk "
+"weergeven. De status van de voortgangsbalk geeft de huidige CPU frequentie "
+"weer, gebaseerd op de maximum frequentie."
+
+#: ../C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Standaard zal de CPU Frequentie Wijzigings Monitor de huidige CPU frequentie "
+"als een waarde in Hertz (de standaard eenheid van frequentie) weergeven, "
+"maar kan ook geconfigureerd worden om in de plaats daarvan een percentage "
+"weer te geven. Voor meer informatie over hoe u de CPU Frequentie Wijzigings "
+"Monitor moet configureren, zie <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: ../C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Elke instantie van de CPU Frequentie Wijzigings Monitor kan maar één CPU "
+"weergeven. U moet de CPU Frequentie Wijzigings Monitor voor elke CPU "
+"opstarten als u op een multiprocessorsysteem (SMP) alle CPU's wilt weergeven."
+
+#: ../C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "De iconen begrijpen"
+
+#: ../C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"De CPU Frequentie Wijzigings Monitor heeft een serie iconen die grafisch het "
+"huidige schalingsniveau van de processor weergeven. Deze zijn:"
+
+#: ../C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icoon"
+
+#: ../C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Beschrijving"
+
+#: ../C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% Rekenkracht"
+
+#: ../C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "De CPU loopt op, of dicht bij, de 100% doorvoer."
+
+#: ../C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% Rekenkracht"
+
+#: ../C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "De CPU loopt op, of dicht bij, de 75% doorvoer."
+
+#: ../C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% Rekenkracht"
+
+#: ../C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "De CPU loopt op, of dicht bij, de 50% doorvoer."
+
+#: ../C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% Rekenkracht"
+
+#: ../C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "De CPU loopt op, of dicht bij, de 25% doorvoer."
+
+#: ../C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Frequentie en Governor Selectie"
+
+#: ../C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"De Frequentie Selectie functionaliteit kan mogelijk standaard niet aanwezig "
+"zijn op uw MATE Desktop. Raadpleeg uw systeembeheerder, documentatie van de "
+"distrobouwer of de documentatie die met deze software geleverd werd."
+
+#: ../C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Om de CPU frequentie in te stellen, (links-)klik op de monitor en een minu "
+"zal verschijnen. Dit menu zal u een lijst van beschikbare frequenties en/of "
+"frequentie governors voor uw machine aanbieden."
+
+#: ../C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"U kan kiezen of u de beschikbare frequenties of governors weer wilt laten "
+"geven in de <guilabel>Voorkeuren</guilabel>. Zie <xref linkend=\"cpufreq-"
+"applet-prefs\"/> voor meer informatie."
+
+#: ../C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Frequentie selectie geeft alleen frequenties weer."
+
+#: ../C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Frequentie selectie geeft zowel frequenties als governors weer."
+
+#: ../C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Voorkeuren"
+
+#: ../C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Om de <application>CPU Frequentie Wijzigings Monitor</application> te "
+"configureren, rechts-klik op de monitor, kies dan <guimenuitem>Voorkeuren</"
+"guimenuitem> van het popup menu."
+
+#: ../C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"De <guimenuitem>Voorkeuren</guimenuiem> dialoog bevat de volgende onderdelen:"
+
+#: ../C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU Frequentie Monitor Instellingen Dialoog"
+
+#: ../C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU Frequentie Monitor Instellingen Dialoog"
+
+#: ../C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Weergegeven CPU (alleen in multiprocessorsystemen)"
+
+#: ../C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Gebruik deze lijst om de CPU te selecteren die u wilt monitoren."
+
+#: ../C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Selecteer de CPU om weer te geven"
+
+#: ../C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU Frequentie Wijzigings Monitor voorkeuren dialoog CPU selectie"
+
+#: ../C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"De <guilabel>Weergegeven CPU</guilabel> optie zal alleen verschijnen op "
+"multiprocessorsystemen (SMP)."
+
+#: ../C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "_Weergave in mode:"
+
+#: ../C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Gebruik deze lijst om de weergavemodus van de monitor te selecteren. "
+"Beschikbare modussen zijn: Grafisch, Tekst en beide (Grafisch en Tekst)"
+
+#: ../C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Bekijk CPU frequentie as _frequentie"
+
+#: ../C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Selecteer deze optie om de huidige CPU frequentie weer te geven."
+
+#: ../C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Bekijk frequentie _eenheden"
+
+#: ../C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Selecteer deze optie om wel of geen frequentie eenheden in de frequentie "
+"modus weer te geven."
+
+#: ../C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "CPU frequentie weergeven als _percentage"
+
+#: ../C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+"Selecteer deze optie om de huidge CPU frequentie als een percentage weer te "
+"geven."
+
+#: ../C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Menu weergeven"
+
+#: ../C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "De selectie geconfigureerd naar Frequenties en Governors"
+
+#: ../C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "CPU governor selectie"
+
+#: ../C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is show in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Deze optie laat u kiezen hoe veel informatie weergegeven wordt in de "
+"frequentie selectie menu (zie <xref linkend=\"mate-cpufreq-selector\"/>). U "
+"kan aangeven om <guilabel>Frequenties</guilabel>, <guilabel>Governors</"
+"guilabel> of beide <guilabel>Frequenties en Governors</guilabel> weer te "
+"geven. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Myckel Habets, 2005"
+
+#~ msgid "User manual for the CPU Frequency Scaling applet."
+#~ msgstr "Gebruikershandleiding voor de CPU Frequentie Wijzigings Monitor."
+
+#~ msgid ""
+#~ "@@image: 'figures/charpalette_applet.png'; "
+#~ "md5=be3ebce4695652b9bc56b604ad7fdb6e"
+#~ msgstr "test"
+
+#~ msgid ""
+#~ "@@image: 'figures/charpick_characters.png'; "
+#~ "md5=27cda1064725bd9127561255f0590b83"
+#~ msgstr "test"
+
+#~ msgid ""
+#~ "@@image: 'figures/charpick-preferences.png'; "
+#~ "md5=ba55588e1ebe38cfc3d2b7bc7c2b023f"
+#~ msgstr "test"
+
+#~ msgid "Character Palette Manual"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen"
+
+#~ msgid "User manual for the Character Palette applet."
+#~ msgstr "Gebruikershandleiding voor Palet met tekens en symbolen"
+
+#~ msgid "Angela Boyle"
+#~ msgstr "Angela Boyle"
+
+#~ msgid "2002"
+#~ msgstr "2002"
+
+#~ msgid "2003"
+#~ msgstr "2003"
+
+#~ msgid "Sun Microsystems"
+#~ msgstr "Sun Microsystems"
+
+#~ msgid "2000"
+#~ msgstr "2000"
+
+#~ msgid "Dan Mueth"
+#~ msgstr "Dan Mueth"
+
+#~ msgid "Sun"
+#~ msgstr "Sun"
+
+#~ msgid "MATE Documentation Team"
+#~ msgstr "MATE Documentatie Team"
+
+#~ msgid "Dan"
+#~ msgstr "Dan"
+
+#~ msgid "Mueth"
+#~ msgstr "Mueth"
+
+#~ msgid "[email protected]"
+#~ msgstr "[email protected]"
+
+#~ msgid "Angela"
+#~ msgstr "Angela"
+
+#~ msgid "Boyle"
+#~ msgstr "Boyle"
+
+#~ msgid "Shaun"
+#~ msgstr "Shaun"
+
+#~ msgid "McCance"
+#~ msgstr "McCance"
+
+#~ msgid "[email protected]"
+#~ msgstr "[email protected]"
+
+#~ msgid "Version 2.10"
+#~ msgstr "Versie 2.10"
+
+#~ msgid "Version 2.8"
+#~ msgstr "Versie 2.8"
+
+#~ msgid "Unknown"
+#~ msgstr "Onbekend"
+
+#~ msgid "Character Palette Applet Manual V2.6"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.6"
+
+#~ msgid "August 2004"
+#~ msgstr "Augustus 2004"
+
+#~ msgid "Character Palette Applet Manual V2.4"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.4"
+
+#~ msgid "August 2003"
+#~ msgstr "Augustus 2003"
+
+#~ msgid "Character Palette Applet Manual V2.3"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.3"
+
+#~ msgid "October 2002"
+#~ msgstr "October 2002"
+
+#~ msgid "Character Palette Applet Manual V2.2"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.2"
+
+#~ msgid "August 2002"
+#~ msgstr "Augustus 2002"
+
+#~ msgid "Character Palette Applet Manual V2.1"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.1"
+
+#~ msgid "July 2002"
+#~ msgstr "July 2002"
+
+#~ msgid "Character Palette Applet Manual V2.0"
+#~ msgstr "Handleiding voor Palet met tekens en symbolen V2.0"
+
+#~ msgid "March 2002"
+#~ msgstr "Maart 2002"
+
+#~ msgid "Character Picker Applet"
+#~ msgstr "Palet met tekens en symbolen"
+
+#~ msgid "Dan Mueth <email>[email protected]</email>"
+#~ msgstr "Dan Mueth <email>[email protected]</email>"
+
+#~ msgid "This manual describes version 2.9.7 of Character Palette."
+#~ msgstr ""
+#~ "Deze handleiding beschrijft versie 2.9.7 van het Palet met tekens en "
+#~ "symbolen"
+
+#~ msgid ""
+#~ "To report a bug or make a suggestion regarding the Character Palette "
+#~ "application or this manual, follow the directions in the <ulink url="
+#~ "\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+#~ msgstr ""
+#~ "Om een bug te rapporteren of een suggestie te doen over het Palet met "
+#~ "tekens en symbolen of deze handleiding, volg de beschrijvingen in de "
+#~ "<ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Pagina</"
+#~ "ulink>."
+
+#~ msgid "Character Palette"
+#~ msgstr "Palet met tekens en symbolen"
+
+#~ msgid ""
+#~ "The <application>Character Palette</application> provides a convenient "
+#~ "way to access characters that are not on your keyboard, such as accented "
+#~ "characters, mathematical symbols, special symbols, and punctuation marks. "
+#~ "You can insert characters from the applet into text strings, for example "
+#~ "in text documents or at the command line. You can customize the contents "
+#~ "of the applet to suit your requirements."
+#~ msgstr ""
+#~ "Het <application>Palet met tekens en symbolen</application> geeft een "
+#~ "aangename manier om toegang te krijgen tot tekens en symbolen die u niet "
+#~ "op uw toetsenbord heeft, zoals geaccentueerde letters, wiskundige "
+#~ "symbolen, speciale symbolen en leestekens. U kan de tekens en symbolen "
+#~ "vanaf de toepassing invoegen in tekstregels, zoals in tekstdocumenten of "
+#~ "op de commando-regel. U kan de inhoud van de toepassing aanpassen aan die "
+#~ "u het hardst nodig heeft in uw situatie."
+
+#~ msgid ""
+#~ "<application>Character Palette</application> supports the UTF-8 character "
+#~ "encoding so you can use the palette to display or copy any Unicode "
+#~ "character."
+#~ msgstr ""
+#~ "<application>Palet met tekens en symbolen</application> ondersteunt de "
+#~ "UTF-8 tekencodering, zodat u het palet kan gebruiken voor elk unicode "
+#~ "teken"
+
+#~ msgid "To Add Character Palette to a Panel"
+#~ msgstr "Palet met tekens en symbolen aan een paneel toevoegen"
+
+#~ msgid ""
+#~ "To add <application>Character Palette</application> to a panel, right-"
+#~ "click on the panel, then choose <guimenuitem>Add to Panel</guimenuitem>. "
+#~ "Select <application>Character Palette</application> in the "
+#~ "<application>Add to the panel</application> dialog, then click "
+#~ "<guibutton>OK</guibutton>."
+#~ msgstr ""
+#~ "Om <application>Palet met tekens en symbolen</application> aan een paneel "
+#~ "toe te voegen, rechts-klik op het paneel, kies dan <guimenuitem>Toevoegen "
+#~ "aan paneel...</guimenuitem>. Selecteer <application>Palet met tekens en "
+#~ "symbolen</application> in het <application>Toevoegen aan paneel</"
+#~ "application> dialoog en klik dan op <guibutton>Toevoegen</guibutton>."
+
+#~ msgid "Getting Characters"
+#~ msgstr "Tekens verkrijgen"
+
+#~ msgid ""
+#~ "When you add <application>Character Palette</application> to a panel for "
+#~ "the first time, the application displays a default palette of characters. "
+#~ "You can select a character from the default palette, or you can select a "
+#~ "character from predefined palettes of characters. Each predefined palette "
+#~ "of characters is associated with a standard character on your keyboard."
+#~ msgstr ""
+#~ "Als u <application>Palet met tekens en symbolen</application> voor de "
+#~ "eerste keer aan een paneel toevoegt, geeft de toepassing een palet met "
+#~ "standaard tekens en symbolen. U kunt een tekens van de standaard palet "
+#~ "kiezen of u kan een teken van een van de voorgedefinieerde paletten met "
+#~ "tekens en symbolen kiezen. Elk voorgedefinieerd palet van tekens is "
+#~ "geassocieerd met een standaard teken op uw toetsenbord."
+
+#~ msgid "To Select a Character"
+#~ msgstr "Een teken of symbool selecteren"
+
+#~ msgid ""
+#~ "To select a character from the palette and insert the character into a "
+#~ "text string, perform the following steps:"
+#~ msgstr ""
+#~ "Om een teken of symbool van een palet te selecteren en het teken in een "
+#~ "tekstregel in te voegen, moet u de volgende stappen uitvoeren:"
+
+#~ msgid ""
+#~ "In the palette, click on the character that you require. The character "
+#~ "button is pressed in to indicate that the character is selected."
+#~ msgstr ""
+#~ "In het palet, klik op het teken of symbool dat u nodig heeft. De knop "
+#~ "waar het teken of symbool op staat wordt ingedrukt om aan te geven dat "
+#~ "het geselecteerd is."
+
+#~ msgid ""
+#~ "Point to the location in an application where you want to put the "
+#~ "character and middle-click to insert the character. You can also paste "
+#~ "the character into the application if the application allows you to paste "
+#~ "from the clipboard."
+#~ msgstr ""
+#~ "Geef in een toepassing aan waar u het teken wilt plaatsen en midden-klik "
+#~ "om het teken in te voegen. U kan ook het teken plakken in de toepassing, "
+#~ "als de toepassing toestaat om te plakken vanaf het klembord."
+
+#~ msgid ""
+#~ "You can repeat the insertion using middle-click as many times as you want "
+#~ "until you either deselect the character or select text in another "
+#~ "application. You can continue pasting the character from the clipboard "
+#~ "until you either deselect the character or copy to the clipboard from "
+#~ "another application."
+#~ msgstr ""
+#~ " U kan het invoegen herhalen door zo vaak te midden-klikken als u wilt, "
+#~ "totdat u het teken deselecteert of tekst in een andere toepassing "
+#~ "selecteert. U kunt zo lang als u wilt het teken of symbool plakken vanaf "
+#~ "het klembord totdat u het teken of symbool deselecteert of vanaf een "
+#~ "andere toepassing iets naar het klembord kopiëerd."
+
+#~ msgid ""
+#~ "To deselect the character, click it again or click another character."
+#~ msgstr ""
+#~ "Om een teken of symbool te deselecteren, klik er nog eens op of kil op "
+#~ "een ander teken of symbool."
+
+#~ msgid "Some applications may not allow you to paste certain characters."
+#~ msgstr ""
+#~ "Enkele toepassingen zullen u niet toestaan bepaalde tekens of symbolen te "
+#~ "plakken."
+
+#~ msgid "To Display a Predefined Palette of Characters"
+#~ msgstr "Een gepredefinieerd palet van tekens en symbolen weergeven"
+
+#~ msgid ""
+#~ "You can change the characters that are displayed in the application from "
+#~ "the default palette to a predefined palette of characters. To display a "
+#~ "palette of predefined characters, perform the following steps:"
+#~ msgstr ""
+#~ "U kan de tekens en symbolen die in de toepassing weergegeven worden "
+#~ "aanpassen van de standaard palet naar een gepredefinieerd palet van "
+#~ "tekens en symbolen. Om te veranderen in een palet met gepredefinieerde "
+#~ "tekens en symbolen, voer de volgende stappen uit:"
+
+#~ msgid ""
+#~ "Click on the <guibutton>Available palettes</guibutton> button on the "
+#~ "application, the down arrow on the left."
+#~ msgstr ""
+#~ "Klik op de <guibutton>Beschikbare paletten</guibutton> knop op de "
+#~ "toepassing, de knop met de driehoekige pijl."
+
+#~ msgid "Click on the palette that you want to display."
+#~ msgstr "Klik op het palet dat u wilt weergeven."
+
+#~ msgid ""
+#~ "You can select the character that you require from the palette of "
+#~ "characters that is displayed in the application, then insert the "
+#~ "character into your text string."
+#~ msgstr ""
+#~ "U kan het teken of symbool dat u nodig heeft van het palet met tekens en "
+#~ "symbolen dat in de toepassing weergegeven word selecteren en het teken of "
+#~ "symbool in uw tekst regel invoegen."
+
+#~ msgid "Characters' Keys"
+#~ msgstr "Teken toetsen"
+
+#~ msgid ""
+#~ "The following chart lists keyboard characters and their associated groups "
+#~ "of characters. The keyboard characters are listed in the first column of "
+#~ "each section in the chart. The character groups that are associated with "
+#~ "each keyboard character are shown in the other columns."
+#~ msgstr ""
+#~ "De volgende afbeelding geeft een lijst met toetsenbordtekens en hun "
+#~ "geassocieerde groep van tekens en symbolen. De toetsenbordtekens worden "
+#~ "gegeven in de eerste kolom van elke sectie in de afbeelding. De groep van "
+#~ "tekens en symbolen die geassocieerd zijn met elk toetsenbordteken worden "
+#~ "gegeven in de andere kolommen."
+
+#~ msgid "Character Groups Associated With Keyboard Keys"
+#~ msgstr "Groepen van tekens en symbolen geassocieerd met toetsenbordtoetsen"
+
+#~ msgid "Shows character groups associated with various keyboard keys."
+#~ msgstr ""
+#~ "Geeft groepen met tekens en symbolen met de verschillende "
+#~ "toetsenbordtoetsen."
+
+#~ msgid "Customizing Character Palette"
+#~ msgstr "Palet met tekens en symbolen aanpassen"
+
+#~ msgid "Character Palette Preferences"
+#~ msgstr "Voorkeuren van palet met tekens en voorkeuren"
+
+#~ msgid "Configuring Palettes"
+#~ msgstr "Paletten configureren"
+
+#~ msgid ""
+#~ "To configure <application>Character Palette</application>, right-click on "
+#~ "the applet, then choose <guimenuitem>Preferences</guimenuitem>. The "
+#~ "<guilabel>Character Palette Preferences</guilabel> dialog contains the "
+#~ "<guilabel>Palettes</guilabel> list box, which lists the palettes that are "
+#~ "available from the applet. To close the <guilabel>Character Palette "
+#~ "Preferences</guilabel> dialog, click <guibutton>Close</guibutton>."
+#~ msgstr ""
+#~ "Om <application>Palet met tekens en symbolen</application> te "
+#~ "configureren, rechts-klik op de toepassing, kies dan "
+#~ "<guimenuitem>Voorkeuren</guimenuitem>. Het <guilabel>Voorkeuren "
+#~ "Karakterpalet</guilabel> dialoog bevat de <guilabel>Paletten</guilabel> "
+#~ "lijst, met een lijst van paletten die beschikbaar zijn voor de "
+#~ "toepassing. Om het <guilabel>Voorkeuren Karakterpalet</guilabel> dialoog "
+#~ "te sluiten, klik op <guibutton>Sluiten</guibutton>."
+
+#~ msgid ""
+#~ "To add a new palette to the applet, click on the <guibutton>Add</"
+#~ "guibutton> button. See <xref linkend=\"charpick-default-new\"/> for more "
+#~ "information."
+#~ msgstr ""
+#~ "Om een nieuw palet aan de toepassing toe te voegen, klik op de "
+#~ "<guibutton>Toevoegen</guibutton> knop. Zie <xref linkend=\"charpick-"
+#~ "default-new\"/> voor meer informatie."
+
+#~ msgid ""
+#~ "To delete a palette from the applet, select the palette, then click on "
+#~ "the <guibutton>Delete</guibutton> button."
+#~ msgstr ""
+#~ "Om een palet van de toepassing te verwijderen, selecteer het te "
+#~ "verwijderen palet van de lijst en klik op de <guibutton>Verwijderen</"
+#~ "guibutton> knop."
+
+#~ msgid ""
+#~ "To modify a palette, select the palette, then click on the "
+#~ "<guibutton>Properties</guibutton> button. Modify the palette in the "
+#~ "<guilabel>Edit Palette</guilabel> dialog, then click <guibutton>OK</"
+#~ "guibutton>."
+#~ msgstr ""
+#~ "Om een palet te bewerken, selecteer het te bewerken palet en klik op de "
+#~ "<guibutton>Bewerken</guibutton> knop. Bewerk de palet in het "
+#~ "<guilabel>Palet bewerken</guilabel> dialoog en klik op <guibutton>OK</"
+#~ "guibutton>."
+
+#~ msgid "Setting Up a New Palette of Characters"
+#~ msgstr "Een nieuw palet met tekens en symbolen maken"
+
+#~ msgid ""
+#~ "You can use a character selection application such as "
+#~ "<application>Character Map</application> to set up a new palette of "
+#~ "characters. For example, to create a new palette with "
+#~ "<application>Character Map</application>, perform the following steps:"
+#~ msgstr ""
+#~ "U kan een tekenselectietoepassing zoals <application>Tekentabel</"
+#~ "application> gebruiken om een nieuw palet met tekens en symbolen aan te "
+#~ "maken. Bijvoorbeeld, om een nieuw palet te maken met "
+#~ "<application>Tekentabel</application>, voer de volgende stappen uit:"
+
+#~ msgid ""
+#~ "Click on the <guibutton>Available palettes</guibutton> button on the "
+#~ "applet, the down arrow on the left."
+#~ msgstr ""
+#~ "Klik op de <guibutton>Beschikbare paletten</guibutton> knop op de "
+#~ "toepassing, de knop met de driehoekige pijl. "
+
+#~ msgid ""
+#~ "Select the <guimenuitem>Add a palette</guimenuitem> option from the drop-"
+#~ "down list. The <guilabel>Add Palette</guilabel> dialog is displayed."
+#~ msgstr ""
+#~ "Selecteer de <guimenuitem>Een palet toevoegen</guimenuitem> optie van de "
+#~ "keuzelijst. De <guilabel>Palet toevoegen</guilabel> dialoog wordt "
+#~ "weergegeven."
+
+#~ msgid ""
+#~ "Open <application>Character Map</application>, then select the characters "
+#~ "that you want to display in the new palette. You can select up to 25 "
+#~ "characters."
+#~ msgstr ""
+#~ "Open de <application>Tekentabel</application> toepassing en selecteer de "
+#~ "tekens en symbolen die uw ilt weergeven in uw nieuwe palet. U kan tot en "
+#~ "met 25 tekens selecteren."
+
+#~ msgid ""
+#~ "Copy the contents of the <guilabel>Text to copy</guilabel> text box from "
+#~ "<application>Character Map</application> to the <guilabel>Palette</"
+#~ "guilabel> text box in the <guilabel>Add Palette</guilabel> window."
+#~ msgstr ""
+#~ "Kopiëer de inhoud van het <guilabel>Te kopiëren tekst</guilabel> "
+#~ "tekstveld van de <application>Tekentabel</application> toepassing naar "
+#~ "het <guilabel>Palet</guilabel> tekstveld in de <guilabel>Palet toevoegen</"
+#~ "guilabel> venster."
+
+#~ msgid "Click <guibutton>OK</guibutton>."
+#~ msgstr "Klik op <guibutton>OK</guibutton>."
+
+#~ msgid ""
+#~ "<application>Character Palette</application> adds the new palette of "
+#~ "characters to the list of available palettes."
+#~ msgstr ""
+#~ "<application>Palet van tekens en symbolen</application> voegt het nieuwe "
+#~ "palet met tekens en symbolen toe aan de lijst met beschikbare paletten."
diff --git a/cpufreq/help/oc/oc.po b/cpufreq/help/oc/oc.po
new file mode 100644
index 00000000..9dcebd38
--- /dev/null
+++ b/cpufreq/help/oc/oc.po
@@ -0,0 +1,510 @@
+# Translation of oc.po to Occitan
+# Occitan translation of applets-cpufreq documentation.
+# Copyright (C) 2006, 2007 Free Software Foundation, Inc.
+# This file is distributed under the same license as the applet-cpufreq
+# documentation documentation.
+#
+# Yannig MARCHEGAY ([email protected]> - 2006-2007
+#
+# Yannig Marchegay (Kokoyaya) <[email protected]>, 2007.
+msgid ""
+msgstr ""
+"Project-Id-Version: oc\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-08-22 12:13+0100\n"
+"PO-Revision-Date: 2008-02-05 15:36+0100\n"
+"Last-Translator: Yannig Marchegay (Kokoyaya) <[email protected]>\n"
+"Language-Team: Occitan <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n > 1);X-Generator: KBabel 1.11.4"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr ""
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Fondacion MATE"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Projècte de documentacion de MATE"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Projècte MATE"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Agost de 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Març de 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr ""
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr ""
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr ""
+
+#: C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Monitor d'escala de la frequéncia de l'UCP"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introduccion"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+
+#: C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+
+#: C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+
+#: C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+
+#: C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr ""
+
+#: C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Icòna"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Descripcion"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100 % de la poténcia"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr ""
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75 % de la poténcia"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr ""
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50 % de la poténcia"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr ""
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25 % de la poténcia"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr ""
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr ""
+
+#: C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+
+#: C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+
+#: C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr ""
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr ""
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Preferéncias"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+
+#: C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr ""
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr ""
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr ""
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr ""
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr ""
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr ""
+
+#: C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr ""
+
+#: C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr ""
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr ""
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr ""
+
+#: C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr ""
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Visualizar lo menut"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr ""
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr ""
+
+#: C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Yannig Marchegay (Kokoyaya) <[email protected]>"
+
diff --git a/cpufreq/help/pt_BR/pt_BR.po b/cpufreq/help/pt_BR/pt_BR.po
new file mode 100644
index 00000000..cb646270
--- /dev/null
+++ b/cpufreq/help/pt_BR/pt_BR.po
@@ -0,0 +1,652 @@
+# Brazilian Portuguese translation of CPU Frequency Scaling Monitor Manual
+# This is file is ditributed under the same license as mate-applets.
+# Copyright (C) 2000-2008 the CPU Frequency Scaling Monitor authors.
+# Amadeu Júnior <[email protected]>, 2008.
+# Enrico Nicoletto <[email protected]>, 2008.
+# Leonardo Ferreira Fontenelle <[email protected]>, 2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet help\n"
+"POT-Creation-Date: 2008-03-03 00:20-0300\n"
+"PO-Revision-Date: 2008-03-03 00:51-0300\n"
+"Last-Translator: Leonardo Ferreira Fontenelle <[email protected]>\n"
+"Language-Team: Brazilian Portuguese <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Poedit-Language: Portuguese\n"
+"X-Poedit-Country: BRAZIL\n"
+
+#: ../C/legal.xml:2(para) ../C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"É dada permissão para copiar, distribuir e/ou modificar este documento, sob "
+"os termos da Licença de Documentação Livre GNU (GFDL), Versão 1.1 ou "
+"qualquer outra versão posterior publicada pela Free Software Foundation sem "
+"seções invariantes, sem capa da frente e contracapa. Você poderá encontrar "
+"uma copia da GFDL neste <ulink type=\"help\" url=\"ghelp:fdl\">endereço</"
+"ulink> ou no arquivo COPYING-DOCS distribuído com este manual."
+
+#: ../C/legal.xml:12(para) ../C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Este manual faz parte da coleção de manuais da MATE, distribuídos sob "
+"licença GFDL. Se você deseja distribuir este manual separadamente desta "
+"coleção, pode fazê-lo adicionando ao manual uma cópia da licença, como é "
+"descrito na seção 6 da licença."
+
+#: ../C/legal.xml:19(para) ../C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Muitos dos nomes utilizados pelas empresas para distinguir seus produtos e "
+"serviços são marcas registradas. Quando estes nomes aparecem em qualquer "
+"documentação MATE, e os membros do Projeto de Documentação MATE estão "
+"cientes dessas marcas registradas, os nomes aparecem em letras maiúsculas ou "
+"com iniciais em maiúsculas."
+
+#: ../C/legal.xml:35(para) ../C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"O DOCUMENTO É FORNECIDO SOB UMA BASE \"TAL QUAL\", SEM GARANTIAS DE NENHUM "
+"TIPO, NEM EXPRESSAS NEM IMPLÍCITAS, INCLUINDO, SEM LIMITAÇÃO, QUALQUER "
+"GARANTIA DE QUE O DOCUMENTO OU UMA VERSÃO MODIFICADA DO MESMO ESTEJAM LIVRE "
+"DE DEFEITOS COMERCIAIS, SEJA DESTINADO PARA UM FIM PARTICULAR OU QUE NÃO "
+"INFRINJAM AS REGRAS. TODO O RISCO PELA QUALIDADE, PRECISÃO E UTILIDADE DO "
+"DOCUMENTO OU DE QUALQUER OUTRA VERSÃO MODIFICADA DO MESMO CORRESPONDE AOS "
+"SEUS ATOS. NO CASO DE QUALQUER DOCUMENTO OU VERSÃO MODIFICADA DO MESMO "
+"RESULTAR DEFEITO, SERÁ VOCÊ (E NÃO O REDATOR INICIAL, NEM O AUTOR, NEM "
+"QUALQUER OUTRA PESSOA QUE TENHA CONTRIBUÍDO) QUE ASSUMIRÁ O CUSTO DE "
+"QUALQUER SERVIÇO TÉCNICO, REPARAÇÃO OU CORREÇÃO NECESSÁRIOS. ESTA LIMITAÇÃO "
+"DAS GARANTIAS CONSTITUI UMA PARTE ESSENCIAL DESTA LICENÇA. NÃO É AUTORIZADO "
+"NENHUM USO DE QUALQUER DOCUMENTO OU VERSÃO MODIFICADA DO MESMO SE NÃO ESTÁ "
+"DE ACORDO A ESTA LIMITAÇÃO DAS GARANTIAS; E"
+
+#: ../C/legal.xml:55(para) ../C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"EM NENHUMA CIRCUNSTÂNCIA OU SOB NENHUMA TEORIA LEGAL, SEJA POR MOTIVOS "
+"CRIMINAIS (INCLUINDO NEGLIGÊNCIA), CONTRATUAIS OU DE OUTRO TIPO, NEM O "
+"AUTOR, NEM O ESCRITOR INICIAL, NEM QUALQUER COLABORADOR, NEM QUALQUER "
+"DISTRIBUIDOR DO DOCUMENTO OU VERSÃO MODIFICADA DO MESMO, NEM QUALQUER "
+"FORNECEDOR DE QUALQUER DAS PARTES CITADAS, SERÃO RESPONSÁVEIS DIRETAMENTE, "
+"INDIRETAMENTE, ESPECIALMENTE, ACIDENTALMENTE, OU CONSEQÜENTES ERROS DE "
+"QUALQUER OUTRO CARÁTER INCLUINDO, SEM LIMITAÇÃO, DANOS POR FALTA DE "
+"GARANTIA, INTERRUPÇÃO DE TRABALHO, FALHA OU MAL FUNCIONAMENTO "
+"COMPUTADORIZADO, OU QUALQUER E TODOS OS OUTROS DANOS OU PERDAS DERIVADOS DO "
+"USO DO DOCUMENTO E AS VERSÕES MODIFICADAS DO MESMO, MESMO SE A PARTE "
+"DENEGRIDA FORA INFORMADA DA POSSIBILIDADE DE TAIS ERROS."
+
+#: ../C/legal.xml:28(para) ../C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"O DOCUMENTO E SUAS RESPECTIVAS VERSÕES SÃO FORNECIDAS SOBRE OS TERMOS DA "
+"LICENÇA DE DOCUMENTAÇÃO GNU, DEIXANDO BEM CLARO, O CONHECIMENTO ADICIONAL DE "
+"QUE: <placeholder-1/>"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:263(None) ../C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: ../C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Manual do Monitor de Graduação da Freqüência da CPU"
+
+#: ../C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"O Monitor de Graduação da Freqüência da CPU mostra a velocidade de "
+"freqüência de Clock e fornece uma interface para mudar a freqüência da "
+"velocidade do Clock se a CPU suportar."
+
+#: ../C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: ../C/cpufreq-applet.xml:27(holder) ../C/cpufreq-applet.xml:86(para)
+#: ../C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: ../C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: ../C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Fundação Mate"
+
+#: ../C/cpufreq-applet.xml:42(publishername) ../C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Projeto de documentação Mate"
+
+#: ../C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: ../C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:55(orgname) ../C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE Project"
+
+#: ../C/cpufreq-applet.xml:56(email)
+
+#: ../C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: ../C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: ../C/cpufreq-applet.xml:64(email)
+
+#: ../C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: ../C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Agosto de 2005"
+
+#: ../C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: ../C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Março de 2005"
+
+#: ../C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr ""
+"Manual do miniaplicativo Monitor de Graduação da Freqüência da CPU V0.3"
+
+#: ../C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Outubro de 2004"
+
+#: ../C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr ""
+"Este manual descreve a versão 2.12.0 do Monitor de Graduação da Freqüência "
+"da CPU."
+
+#: ../C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Comentários"
+
+#: ../C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Para reportar algum erro ou fazer uma sugestão sobre o miniaplicativo "
+"Monitor de Graduação da Freqüência da CPU ou sobre este manual, siga as "
+"instruções em <ulink url=\"ghelp:mate-feedback\" type=\"help\">Página de "
+"Sugestões Mate</ulink>."
+
+#: ../C/cpufreq-applet.xml:121(primary) ../C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Monitor de Graduação da Freqüência da CPU"
+
+#: ../C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introdução"
+
+#. ==== End of Figure =======================================
+#: ../C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"O <application>Monitor de Graduação da Freqüência da CPU</application> "
+"proporciona uma forma simplificada de monitorar a freqüência de clock para "
+"cada processador."
+
+#: ../C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Para adicionar o <application>Monitor de Graduação da Freqüência da CPU</"
+"application> a um painel, pressione com o botão direito do mouse sobre o "
+"painel para abrir o painel de menu de navegação, depois escolha a opção "
+"<menuchoice><guimenu>Adicionar ao painel</guimenu><guimenuitem>Monitor de "
+"Graduação da Freqüência da CPU</guimenuitem></menuchoice>."
+
+#: ../C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Infelizmente, a graduação de freqüência da CPU só pode ser monitorada "
+"atualmente em terminais Linux que possuam suporte no Kernel. Entretanto, a "
+"aplicação pode suportar diversas graduações de interfaces de freqüência no "
+"Kernel."
+
+#: ../C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Quando o sistema não permite variar a freqüência de graduação do CPU, o "
+"Monitor de Graduação da Freqüência da CPU visualiza unicamente a freqüência "
+"atual da CPU."
+
+#: ../C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Quando o sistema permite variar a freqüência da CPU, o Monitor de Graduação "
+"da Freqüência da CPU visualiza o ícone da CPU com uma barra de progresso. O "
+"estado da barra de progresso representa a freqüência atual da CPU com "
+"respeito a freqüência máxima."
+
+# <xref /> praticamente sempre é substituído por "Seção # - Nonono no Nono"
+#: ../C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Por padrão o Monitor de Freqüência de Graduação da CPU mostra a freqüência "
+"atual da CPU com seu valor em Hertz (a medida de freqüência padrão), mas "
+"pode ser configurado para mostrar em porcentagem. Para maiores informações "
+"em como configurar o Monitor de Freqüência de Graduação da CPU veja a <xref "
+"linkend=\"cpufreq-applet-prefs\"/>."
+
+#: ../C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Cada instância do Monitor de Freqüência de Graduação da CPU só pode "
+"monitorar uma CPU. Você deve iniciar uma instância do Monitor de Freqüência "
+"de Graduação da CPU para cada CPU que você deseja monitorar se você possui "
+"um sistema multiprocessador (SMP)."
+
+#: ../C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Conhecendo os ícones"
+
+#: ../C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"O Monitor de Graduação da Freqüência da CPU tem uma série de ícones que "
+"graficamente representam o nível atual de freqüência do processador que "
+"está monitorando. Estes são:"
+
+#: ../C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Ícone"
+
+#: ../C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Descrição"
+
+#: ../C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "Potência 100%"
+
+#: ../C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr ""
+"A CPU está trabalhando em, ou aproximadamente, 100% do seu rendimento total."
+
+#: ../C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "Potência 75%"
+
+#: ../C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr ""
+"A CPU está trabalhando em, ou aproximadamente, 75% do seu rendimento total."
+
+#: ../C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "Potência 50%"
+
+#: ../C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr ""
+"A CPU está trabalhando em, ou aproximadamente, 50% do seu rendimento total."
+
+#: ../C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "Potência 25%"
+
+#: ../C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr ""
+"A CPU está trabalhando em, ou aproximadamente, 25% do seu rendimento total."
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+#: ../C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Seletor de Freqüência e Política"
+
+#: ../C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"A funcionalidade do Seletor de Freqüência pode não encontrar-se disponível "
+"de forma predeterminada no seu ambiente Mate. Por favor consulte o seu "
+"administrador de sistema, a documentação do fabricante, ou a documentação "
+"que veio com este software."
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+#: ../C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Para ajustar a freqüência da CPU, clique com o botão esquerdo do mouse em o "
+"monitor e um menu será mostrado. Este menu oferecerá a você uma lista de "
+"freqüência disponíveis e/ou políticas de freqüência para a sua máquina."
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+# <xref /> praticamente sempre é substituído por "Seção # - Nonono no Nono"
+#: ../C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"Você pode escolher se quiser mostrar as freqüências disponíveis ou "
+"políticas em <guilabel>Preferências</guilabel>. Veja a <xref linkend="
+"\"cpufreq-applet-prefs\"/> para maiores informações."
+
+#: ../C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Seletor de freqüência mostrando apenas freqüências"
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+#: ../C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Seletor de freqüência mostrando freqüências e políticas"
+
+#: ../C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Preferências"
+
+#: ../C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Para configurar o <application>Monitor de Graduação de Freqüência da CPU</"
+"application>, clique o botão direito no miniaplicativo, e então escolha "
+"<guimenuitem>Preferências</guimenuitem> do menu de contexto."
+
+#: ../C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"O diálogo <guimenuitem>Preferências</guimenuitem> contém os seguintes "
+"componentes:"
+
+#: ../C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Diálogo Preferências do Monitor de Freqüência da CPU"
+
+#: ../C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Diálogo de preferências do Monitor de Freqüência da CPU"
+
+#: ../C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "CPU monitorada (apenas em sistemas multiprocessador)"
+
+#: ../C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr ""
+"Use esta lista suspensa para selecionar a CPU que você deseja monitorar."
+
+#: ../C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Selecionando a CPU para monitorar"
+
+#: ../C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Seletor de CPU do diálogo de preferências do Monitor de Graduação da Freqüência da CPU"
+
+#: ../C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"A opção <guilabel>CPU monitorada</guilabel> só aparecerá em sistemas de "
+"múltiplos processadores (SMP)."
+
+#: ../C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Mostrar em módulo"
+
+#: ../C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Use esta lista suspensa para selecionar o modo ao qual você deseja "
+"visualizar o miniaplicativo. Os modos disponíveis são: Gráfico, Texto e "
+"ambos (Gráfico e Texto)."
+
+#: ../C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Mostrar a freqüência da CPU como freqüência"
+
+#: ../C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Selecione esta opção para mostrar a freqüência atual da CPU."
+
+#: ../C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Mostrar unidades de freqüência"
+
+#: ../C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Selecione esta opção para visualizar ou não as unidades de freqüência no "
+"modo de freqüência."
+
+#: ../C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Mostrar freqüência da CPU em porcentagem (%)"
+
+#: ../C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr ""
+"Selecione esta opção para visualizar a freqüência atual da CPU em "
+"porcentagem (%)."
+
+#: ../C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Mostrar menu"
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+#: ../C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "O seletor foi configurado para Freqüências e Políticas"
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+#: ../C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Seletor de política de CPU"
+
+# Governor=Política para compatibilidade com outros módulos (MATE e KDE)
+# <xref /> praticamente sempre é substituído por "Seção # - Nonono no Nono"
+#: ../C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"Esta opção permite a você escolher quanto de informação é mostrado na lista "
+"suspensa do seletor de freqüência (veja a <xref linkend=\"mate-cpufreq-"
+"selector\"/>). Você pode selecionar para visualizar <guilabel>Freqüências</"
+"guilabel>,<guilabel>Políticas</guilabel> ou ambos <guilabel>Freqüências e "
+"Políticas</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"Amadeu Júnior <[email protected]>, 2008\n"
+"Enrico Nicoletto <[email protected]>, 2008\n"
+"Leonardo Ferreira Fontenelle <[email protected]>, 2008."
+
+
+#~ msgid "User manual for the CPU Frequency Scaling applet."
+#~ msgstr ""
+#~ "Manual do usuario da aplicação Monitor de Graduação de FReqüência da CPU."
diff --git a/cpufreq/help/ru/ru.po b/cpufreq/help/ru/ru.po
new file mode 100644
index 00000000..424e2960
--- /dev/null
+++ b/cpufreq/help/ru/ru.po
@@ -0,0 +1,389 @@
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: CPUFREQ 2.18\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-05-01 03:30+0100\n"
+"PO-Revision-Date: 2007-05-02 21:50+0400\n"
+"Last-Translator: Sergey V. Mironov <[email protected]>\n"
+"Language-Team: Russian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Руководство Монитора изменения частоты процессора"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "Монитор изменения частоты процессора отображает текущую тактовую частоту центрального процессора и, если процессор поддерживает, предоставляет возможность для изменения частоты."
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para) C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Foundation"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Проект документации MATE"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Следующим разрешается копировать и/или модифицировать этот документ при условии соблюдения GNU Free Documentation License (GFDL), версии 1.1 или любой более поздней опубликованной Фондом свободного программного обеспечения версией без неизменяемых частей, без текстов на обложках. Вы можете найти копию лицензии по этой <ulink type=\"help\" url=\"ghelp:fdl\">ссылке</ulink> или в файле COPYING-DOCS, распространяемом с этим документом."
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Этот документ является частью документации MATE распространяемой под лицензией GFDL. Если вы хотите распространять этот документ отдельно от общей документации, вы должны приложить копию лицензии к документу, как написано в части 6 лицензии."
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Многие имена и марки используются компаниями для различения их продуктов и услуг и являются торговыми марками. Эти марки присутствуют в документации и члены проекта документирования MATE знают об этом. Имена выделяются заглавными буквами или начальной заглавной буквой."
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "ДОКУМЕНТ РАСПРОСТРАНЯЕТСЯ \"КАК ЕСТЬ\", БЕЗ ВСЯКИХ ГАРАНТИЙ, ПРИДУМАННЫХ ИЛИ УНАСЛЕДОВАННЫХ, БЕЗ ОГРАНИЧЕНИЙ, ГАРАНТИЙ ТОГО ЧТО ДОКУМЕНТ ИЛИ МОДИФИЦИРОВАННАЯ ВЕРСИЯ ДОКУМЕНТА СВОБОДНА ОТ ДЕФЕКТОВ, ТОЛЬКО ДЛЯ СПЕЦИАЛЬНОГО ИСПОЛЬЗОВАНИЯ НЕ ЗАКЛЮЧАЮЩЕГО В СЕБЕ РИСКИ КАЧЕСТВА, АККУРАТНОСТИ ИЛИ СООТВЕТСТВИЯ ДОКУМЕНТА ИЛИ ИЗМЕНЁННЫХ ВЕРСИЙ ДОКУМЕНТА ВАШИМ ТРЕБОВАНИЯМ. ЕСЛИ ДОКУМЕНТ ИЛИ МОДИФИЦИРОВАННАЯ ВЕРСИЯ ДОКУМЕНТА ИМЕЕТ НЕДОСТАТКИ, ВЫ (А НЕ АВТОР ДОКУМЕНТА ИЛИ ЕГО ПОМОЩНИК) ДОЛЖНЫ САМИ ПРИЛОЖИТЬ УСИЛИЯ К ЕГО ДОРАБОТКИ, КОРРЕКЦИИ ИЛИ ВОССТАНОВЛЕНИЮ. ЭТО ПРЕДУПРЕЖДЕНИЕ СОСТАВЛЯЕТ СУЩЕСТВЕННУЮ ЧАСТЬ ЛИЦЕНЗИИ. ДОКУМЕНТ НЕ ДОЛЖЕН ИСПОЛЬЗОВАТЬСЯ БЕЗ ДАННОГО ПРЕДУПРЕЖДЕНИЯ И"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "НИ ПРИ КАКИХ ОБСТОЯТЕЛЬСТВАХ И НИ ПРИ КАКОМ ЗАКОННОМ СПОСОБЕ, НИ ПО КАКОМУ СОГЛАШЕНИЮ ИЛИ ДРУГОЙ ПРИЧИНЕ, АВТОР, СОЗДАТЕЛЬ ИЛИ ПОМОЩНИКИ НЕ НЕСУТ ОТВЕТСТВЕННОСТЬ ЗА ПРЯМОЕ, КОСВЕННОЕ, СПЕЦИАЛЬНОЕ, СЛУЧАЙНОЕ ИЛИ ПРЕДНАМЕРЕННОЕ ПОВРЕЖДЕНИЕ ЛЮБОГО СВОЙСТВА, ВКЛЮЧАЯ БЕЗ ОГРАНИЧЕНИЯ ПОТЕРЮ ЖЕЛАНИЯ, РАБОТОСПОСОБНОСТИ, КОМПЬЮТЕРНЫЕ СБОИ ИЛИ НЕПРАВИЛЬНОЕ ВЗАИМОДЕЙСТВИЕ, ВМЕСТЕ ИЛИ ПО-ОТДЕЛЬНОСТИ. НИКАКИЕ ПОВРЕЖДЕНИЯ И ПОТЕРИ НЕ МОГУТ БЫТЬ ВОЗЛОЖЕНЫ НА АВТОРА ДОКУМЕНТА ИЛИ МОДИФИЦИРОВАННОЙ ВЕРСИИ ДОКУМЕНТА, ДАЖЕ ЕСЛИ СТОРОНА БЫЛА ПРОИНФОРМИРОВАНА О ВОЗМОЖНОСТИ ТАКИХ ПОВРЕЖДЕНИЙ."
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "ДОКУМЕНТ И ИЗМЕНЁННЫЕ ВЕРСИИ ДОКУМЕНТА ПРЕДСТАВЛЯЮТСЯ ПОЛЬЗОВАТЕЛЮ ПОД ЛИЦЕНЗИЕЙ GNU FREE DOCUMENTATION LICENSE С УВЕДОМЛЕНИЕМ О ТОМ, ЧТО: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Проект MATE"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Август 2005"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Март 2005"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Руководство апплета Монитор изменения частоты процессора вер. 0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Октябрь 2004"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Это руководство описывает Монитор изменения частоты процессора версии 2.12.0."
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Обратная связь"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "Чтобы сообщить об ошибке или сделать предложение, касающееся апплета \"Монитор изменения частоты процессора\" или данного руководства, следуйте инструкциям в <ulink url=\"ghelp:mate-feedback\" type=\"help\">Страница обратной связи MATE</ulink>."
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Монитор изменения частоты процессора"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Введение"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "Апплет <application>Монитор изменения частоты процессора</application> предоставляет удобную возможность отслеживать частоту процессора для каждого ЦПУ."
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "Чтобы добавить <application>Монитор изменения частоты процессора</application> на панель, щёлкните правой кнопкой на панели для появления контекстного меню панели, после чего выберите <menuchoice><guimenu>Добавить на панель</guimenu><guimenuitem>Монитор изменения частоты процессора</guimenuitem></menuchoice>."
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "К сожалению, изменение частоты процессора в настоящий момент может быть осуществлено только на Линукс-системах, которые имеют поддержку в ядре. Однако, при этом в ядре возможна поддержка нескольких поколений интерфейсов изменения частоты."
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "Если поддержка изменения частоты процессора в системе отсутствует, Монитор изменения частоты процессора только отобразит текущую частоту процессора."
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "Если поддержка изменения частоты процессора в системе присутствует, Монитор изменения частоты процессора отображает значок процессора с индикатором прогресса. Состояние индикатора прогресса представляет текущую частоту процессора по отношению к максимальной частоте."
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "По умолчанию, Монитор изменения частоты процессора отображает текущую частоту процессора значением в Герцах (стандартная единица измерения частоты), но вместо этого может быть настроен для отображения в процентах. Для большей информации о том, как настроить Монитор изменения частоты процессора, смотрите <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Каждая запущенная копия Монитора изменения частоты процессора может отслеживать только один процессор. Если у вас многопроцессорная (SMP) система, вам нужно запустить копию Монитора изменения частоты процессора для каждого процессора, частоту которого вы хотите отслеживать."
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Что символизируют значки"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "Монитор изменения частоты процессора содержит несколько значков, которые графически отображают уровень текущего состояния процессора. Это:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Значок"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Описание"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100%"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Частота процессора составляет 100% от возможной."
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75%"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Частота процессора составляет 75% от возможной."
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50%"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Частота процессора составляет 50% от возможной."
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25%"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Частота процессора составляет 25% от возможной."
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Переключатель частот и регулятор"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "Функциональность переключателя частоты может быть не доступна по умолчанию в вашем рабочем столе MATE. Пожалуйста, свяжитесь к вашим системным администратором, составителем документации или обратитесь к документации, которая поставляется с данным программным обеспечением."
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "Чтобы установить частоту процессора, щёлкните левой кнопкой мыши на значке Монитора, и отобразится меню. В этом меню вам предлагается список доступных частот и/или частотных регуляторов для вашего компьютера."
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Вы можете выбрать, хотите ли вы, чтобы отображались доступные частоты или регуляторы в <guilabel>Параметрах</guilabel>. Смотрите <xref linkend=\"cpufreq-applet-prefs\"/> для большей информации."
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Переключатель частоты только отображает частоты."
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Переключатель частоты отображает частоты и регуляторы."
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Параметры"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "Чтобы настроить <application>Монитор изменения частоты процессора</application>, щёлкните правой кнопкой на апплете, затем из контекстного меню выберите <guimenuitem>Параметры</guimenuitem>."
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "Диалоговое окно <guimenuitem>Параметры</guimenuitem> содержит следующие части:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Диалоговое окно Параметры Монитора частоты ЦПУ"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Диалоговое окно Параметры Монитора частоты процессора"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Отслеживаемый ЦПУ (только в многопроцессорных системах)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Используйте этот выпадающий список для выбора процессора, который вы хотите отслеживать."
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Выбор процессора для отслеживания"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Переключатель процессора в диалоговом окне Параметров Монитора"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "Параметр <guilabel>Отслеживаемый ЦПУ</guilabel> появляется только на многопроцессорных (SMP) системах."
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Внешний вид"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Используйте этот выпадающий список для выбора режима, которым вы хотите отображать апплет. Доступные режимы: График, Текст, График и текст."
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Показывать частоту ЦП как частоту"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Выберите этот параметр для отображения текущей частоты процессора."
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Показывать единицы частоты"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Выберите этот параметр для отображения единиц измерения частоты в частотном режиме отображения."
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Показывать частоту ЦП в процентах"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Выберите этот параметр для отображения текущей частоты процессора в процентах."
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Показать меню"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Переключатель настроен на Частоты и Регуляторы"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Регуляторы ЦПУ"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Этот параметр позволяет вам выбрать, что должно отображаться в выпадающем переключателе частоты (смотрите <xref linkend=\"mate-cpufreq-selector\"/>). Вы можете выбрать отображение <guilabel>Частоты</guilabel>, <guilabel>Регуляторы</guilabel> или и то и другое, выбрав <guilabel>Частоты и регуляторы</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Сергей В. Миронов <[email protected]>, 2007"
+
diff --git a/cpufreq/help/sv/figures/cpufreq-applet-preferences-smp.png b/cpufreq/help/sv/figures/cpufreq-applet-preferences-smp.png
new file mode 100644
index 00000000..6df8a0c2
--- /dev/null
+++ b/cpufreq/help/sv/figures/cpufreq-applet-preferences-smp.png
Binary files differ
diff --git a/cpufreq/help/sv/figures/cpufreq-applet-preferences.png b/cpufreq/help/sv/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..ab9a3851
--- /dev/null
+++ b/cpufreq/help/sv/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/sv/sv.po b/cpufreq/help/sv/sv.po
new file mode 100644
index 00000000..103cbb5e
--- /dev/null
+++ b/cpufreq/help/sv/sv.po
@@ -0,0 +1,394 @@
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: applets-cpufreq\n"
+"PO-Revision-Date: 2006-11-08 22:16+0100\n"
+"POT-Creation-Date: 2006-05-31 18:58+0200\n"
+"Last-Translator: Daniel Nylander <[email protected]>\n"
+"Language-Team: Swedish <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:263(None)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Handbok för Övervakare av processorfrekvensskalning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "Övervakare av processorfrekvensskalning visar aktuell klockhastighet för processorn och tillhandahåller ett gränssnitt för att ändra klockhastigheten om processorn har stöd för det."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:27(holder)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:86(para)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE Foundation"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:42(publishername)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Dokumentationsprojekt för MATE"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "Tillstånd att kopiera, distribuera och/eller modifiera detta dokument ges under villkoren i GNU Free Documentation License (GFDL), version 1.1 eller senare, utgivet av Free Software Foundation utan standardavsnitt och omslagstexter. En kopia av GFDL finns att hämta på denna <ulink type=\"help\" url=\"ghelp:fdl\">länk</ulink> eller i filen COPYING-DOCS som medföljer denna handbok."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "Denna handbok utgör en av flera MATE-handböcker som distribueras under villkoren i GFDL. Om du vill distribuera denna handbok separat från övriga handböcker kan du göra detta genom att lägga till en kopia av licensavtalet i handboken enligt instruktionerna i avsnitt 6 i licensavtalet."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "Flera namn på produkter och tjänster är registrerade varumärken. I de fall dessa namn förekommer i MATE-dokumentation - och medlemmarna i MATE-dokumentationsprojektet är medvetna om dessa varumärken - är de skrivna med versaler eller med inledande versal."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "DOKUMENTET TILLHANDAHÅLLS I \"BEFINTLIGT SKICK\" UTAN NÅGRA SOM HELST GARANTIER, VARE SIG UTTRYCKLIGA ELLER UNDERFÖRSTÅDDA, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, GARANTIER ATT DOKUMENTET ELLER EN MODIFIERAD VERSION AV DOKUMENTET INTE INNEHÅLLER NÅGRA FELAKTIGHETER, ÄR LÄMPLIGT FÖR ETT VISST ÄNDAMÅL ELLER INTE STRIDER MOT LAG. HELA RISKEN VAD GÄLLER KVALITET, EXAKTHET OCH UTFÖRANDE AV DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET LIGGER HELT OCH HÅLLET PÅ ANVÄNDAREN. OM ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT SKULLE VISA SIG INNEHÅLLA FELAKTIGHETER I NÅGOT HÄNSEENDE ÄR DET DU (INTE DEN URSPRUNGLIGA SKRIBENTEN, FÖRFATTAREN ELLER NÅGON ANNAN MEDARBETARE) SOM FÅR STÅ FÖR ALLA EVENTUELLA KOSTNADER FÖR SERVICE, REPARATIONER ELLER KORRIGERINGAR. DENNA GARANTIFRISKRIVNING UTGÖR EN VÄSENTLIG DEL AV DETTA LICENSAVTAL. DETTA INNEBÄR ATT ALL ANVÄNDNING AV ETT DOKUMENT ELLER EN MODIFIERAD VERSION AV ETT DOKUMENT BEVILJAS ENDAST UNDER DENNA ANSVARSFRISKRIVNING;"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "UNDER INGA OMSTÄNDIGHETER ELLER INOM RAMEN FÖR NÅGON LAGSTIFTNING, OAVSETT OM DET GÄLLER KRÄNKNING (INKLUSIVE VÅRDSLÖSHET), KONTRAKT ELLER DYLIKT, SKA FÖRFATTAREN, DEN URSPRUNGLIGA SKRIBENTEN ELLER ANNAN MEDARBETARE ELLER ÅTERFÖRSÄLJARE AV DOKUMENTET ELLER AV EN MODIFIERAD VERSION AV DOKUMENTET ELLER NÅGON LEVERANTÖR TILL NÅGON AV NÄMNDA PARTER STÄLLAS ANSVARIG GENTEMOT NÅGON FÖR NÅGRA DIREKTA, INDIREKTA, SÄRSKILDA ELLER OFÖRUTSEDDA SKADOR ELLER FÖLJDSKADOR AV NÅGOT SLAG, INKLUSIVE, MEN INTE BEGRÄNSAT TILL, SKADOR BETRÄFFANDE FÖRLORAD GOODWILL, HINDER I ARBETET, DATORHAVERI ELLER NÅGRA ANDRA TÄNKBARA SKADOR ELLER FÖRLUSTER SOM KAN UPPKOMMA PÅ GRUND AV ELLER RELATERAT TILL ANVÄNDNINGEN AV DOKUMENTET ELLER MODIFIERADE VERSIONER AV DOKUMENTET, ÄVEN OM PART SKA HA BLIVIT INFORMERAD OM MÖJLIGHETEN TILL SÅDANA SKADOR."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "DOKUMENTET OCH MODIFIERADE VERSIONER AV DOKUMENTET TILLHANDAHÅLLS UNDER VILLKOREN I GNU FREE DOCUMENTATION LICENSE ENDAST UNDER FÖLJANDE FÖRUTSÄTTNINGAR: <placeholder-1/>"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:55(orgname)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE-projektet"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:56(email)
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:64(email)
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "Augusti 2005"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Mars 2005"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Handbok för Övervakare av processorfrekvensskalning v0.3"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Oktober 2004"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Denna handbok beskriver version 2.12.0 av Övervakare av processorfrekvensskalning."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Återkoppling"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "För att rapportera ett fel eller komma med förslag angående panelprogrammet Övervakare av processorfrekvensskalning eller denna handbok, följ anvisningarna på <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE:s återkopplingssida</ulink>."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:121(primary)
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Övervakare av processorfrekvensskalning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Introduktion"
+
+#. ==== End of Figure =======================================
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "<application>Övervakare av processorfrekvensskalning</application> tillhandahåller ett smidigt sätt att övervaka processorfrekvensskalningen för varje processor."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "För att lägga till <application>Övervakare av processorfrekvensskalning</application> till en panel, högerklicka på panelen för att öppna panelens popupmeny, välj sedan <menuchoice><guimenu>Lägg till i panel</guimenu><guimenuitem>Övervakare av processorfrekvensskalning</guimenuitem></menuchoice>."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "Tyvärr kan endast processorfrekvensskalning övervakas på Linux-maskiner som har stöd för det i kärnan. Den har dock stöd för flera generationer av frekvensskalningsgränssnitt i kärnan."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "När det inte finns stöd för processorfrekvensskalning i systemet, visar Övervakare av processorfrekvensskalning endast den aktuella processorfrekvensen."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "När processorfrekvensskalning stöds i systemet, visar Övervakare av processorfrekvensskalning processorikonen med en förloppsmätare. Tillståndet för förloppsmätaren representerar den aktuella processorfrekvensen med maximal frekvens inräknad."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "Som standard visar Övervakare av processorfrekvensskalning den aktuella processorfrekvensen som ett värde i hertz (standardenheten för frekvens), men kan även konfigureras att visa en procentandel. För mer information om hur man konfigurerar Övervakare av processorfrekvensskalning, se <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "Varje instans av Övervakare av processorfrekvensskalning kan övervaka en processor. Du måste starta en instans av Övervakare av processorfrekvensskalning för varje processor som du vill övervaka om du använder ett system med flera processorer (SMP)."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Förstå vad ikonerna innebär"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "Övervakare av processorfrekvensskalning har en serie ikoner som grafiskt visar den aktuella skalningsnivån för processorn du övervakar. De är:"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Ikon"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Beskrivning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "Processorn kör på, eller nära, 100% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Processorn kör på, eller nära, 75% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Processorn kör på, eller nära, 50% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Processorn kör på, eller nära, 25% styrka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "Väljare för frekvens och regulator"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "Frekvensväljarens funktionalitet kanske inte finns tillgänglig på ditt MATE-skrivbord som standard. Konsultera din systemadministratör, tillverkarens dokumentation eller dokumentationen som kommer med denna programvara."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "För att ställa in processorfrekvensen, (vänster)klicka på övervakaren och en meny kommer att visas. Denna meny visar dig en lista på tillgängliga frekvenser och/eller frekvensregulatorer för din dator."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "Du kan välja huruvida du vill visa tillgängliga frekvenser eller regulatorer i <guilabel>Inställningar</guilabel>. Se <xref linkend=\"cpufreq-applet-prefs\"/> för mer information."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "Frekvensväljaren visar bara frekvenser"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "Frekvensväljaren visar både frekvenser och regulatorer"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Inställningar"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "För att konfigurera <application>Övervakare av processorfrekvensskalning</application>, högerklicka på panelprogrammet, välj sedan <guimenuitem>Inställningar</guimenuitem> från popupmenyn."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "Dialogrutan <guimenuitem>Inställningar</guimenuitem> innehåller följande komponenter:"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Inställninsdialogen i Övervakare av processorfrekvensskalning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Inställningsdialogen i Övervakare av processorfrekvensskalning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Övervakad processor (endast för system med flera processorer)"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "Använd denna rullgardinsmeny för att välja processorn som du vill övervaka."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "Välja processor att övervaka"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Processorväljare för Övervakare av processorfrekvensskalning"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "Alternativet <guilabel>Övervakad processor</guilabel> visas endast på system med flera processorer (SMP)."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Visa i läge"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "Använd denna rullgardinsmeny för att välja läget i vilket du vill visa panelprogrammet. Tillgängliga lägen är: Grafik, text och båda (grafik och text)"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Visa processorfrekvens som frekvens"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Välj detta alternativ för att visa aktuell processorfrekvens."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Visa frekvensenheter"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "Välj detta alternativ för att visa (eller inte visa) frekvensenheterna i frekvensläget."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Visa processorfrekvens som procentandel."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "Välj detta alternativ för att visa aktuell processorfrekvens som en procentandel."
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "Visa meny"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "Väljaren konfigurerad till Frekvenser och Regulatorer"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "Väljare för processorregulatorer"
+
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "Detta alternativ låter dig välja hur mycket information som ska visas i frekvensväljarens rullgardinsmeny (se <xref linkend=\"mate-cpufreq-selector\"/>). Du kan välja att visa <guilabel>Frekvenser</guilabel>, <guilabel>Regulatorer</guilabel> eller båda <guilabel>Frekvenser och regulatorer</guilabel>. <placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: /tmp/doc-l10n/cvs/applets-cpufreq.HEAD/C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Daniel Nylander <[email protected]>, 2006"
+
diff --git a/cpufreq/help/uk/figures/cpufreq-applet-preferences.png b/cpufreq/help/uk/figures/cpufreq-applet-preferences.png
new file mode 100644
index 00000000..d810cad3
--- /dev/null
+++ b/cpufreq/help/uk/figures/cpufreq-applet-preferences.png
Binary files differ
diff --git a/cpufreq/help/uk/figures/cpufreq-applet-selector.png b/cpufreq/help/uk/figures/cpufreq-applet-selector.png
new file mode 100644
index 00000000..99d34216
--- /dev/null
+++ b/cpufreq/help/uk/figures/cpufreq-applet-selector.png
Binary files differ
diff --git a/cpufreq/help/uk/uk.po b/cpufreq/help/uk/uk.po
new file mode 100644
index 00000000..4514192d
--- /dev/null
+++ b/cpufreq/help/uk/uk.po
@@ -0,0 +1,615 @@
+# Ukrainian translation of mate-applets manual.
+# Copyright (C) 2000 Free Software Foundation, Inc.
+# Maxim Dziumanenko <[email protected]>, 2004-2005
+msgid ""
+msgstr ""
+"Project-Id-Version: mate-applets manual\n"
+"POT-Creation-Date: 2005-12-13 10:57+0800\n"
+"PO-Revision-Date: 2005-08-24 22:38+0300\n"
+"Last-Translator: Maxim V. Dziumanenko <[email protected]>\n"
+"Language-Team: Ukrainian <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:263(None) ../C/cpufreq-applet.xml:356(None)
+#, fuzzy
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:281(None)
+#, fuzzy
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=c149b3178fa86a32025947a0dd1f7c03"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: ../C/cpufreq-applet.xml:299(None)
+#, fuzzy
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=c149b3178fa86a32025947a0dd1f7c03"
+
+#: ../C/cpufreq-applet.xml:20(title)
+#, fuzzy
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "Індикатор частоти процесора"
+
+#: ../C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: ../C/cpufreq-applet.xml:27(holder) ../C/cpufreq-applet.xml:86(para)
+#: ../C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: ../C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: ../C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "Фундація MATE"
+
+#: ../C/cpufreq-applet.xml:42(publishername) ../C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "Проект документування MATE"
+
+#: ../C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"Дозволяється копіювати, розповсюджувати та/або змінювати цей документ на "
+"умовах ліцензії GNU Free Documentation License (GFDL), версії 1.1 або будь-"
+"якої старшої версії, що опублікована Free Software Foundation без "
+"інваріантних розділів, тексту титульної сторінки, та тексту фінальної "
+"сторінки. Копію GFDL можна знайти <ulink type=\"help\" url=\"ghelp:fdl\">за "
+"адресою</ulink> або у файлі COPYING-DOCS, що постачається з цією довідкою."
+
+#: ../C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"Ця довідка є частиною збірки документації з MATE, що постачається на умовах "
+"ліцензії GFDL. Якщо ви бажаєте розповсюджувати цю довідку окремо від збірки, "
+"можете це зробити додавши до довідки копію ліцензії, як описано у пункті 6 "
+"ліцензії."
+
+#: ../C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"Більшість назв, що використовуються компаніями для розповсюдження їх "
+"продуктів та послуг є торговими марками. Якщо такі назви зустрічаються у "
+"документації з MATE та учасникам проекту документування MATE відомо, що "
+"вони є торговими марками, тоді ці назви пишуться великими літерами або "
+"починаються з великої літери."
+
+#: ../C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"ДОКУМЕНТ НАДАЄТЬСЯ \"ЯК Є\", БЕЗ БУДЬ-ЯКИХ ГАРАНТІЇ, ЯВНИХ ЧИ НЕЯВНИХ, "
+"ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ, ГАРАНТІЙ ЩО ЦЕЙ ДОКУМЕНТ ЧИ ЗМІНЕНА ВЕРСІЯ "
+"ДОКУМЕНТА ВІЛЬНІ ВІД ДЕФЕКТІВ, ПРИДАТНІ ДО ПРОДАЖУ, ВІДПОВІДАЮТЬ ПЕВНІЙ МЕТІ "
+"АБО НЕ ПОРУШУЮТЬ ЧИЇСЬ ПРАВА. ВЕСЬ РИЗИК ЗА ЯКІСТЬ, ТОЧНІСТЬ, ТА ЧИННІСТЬ "
+"ЦЬОГО ДОКУМЕНТУ АБО ЙОГО ЗМІНЕНИХ ВЕРСІЙ ЛЕЖИТЬ НА ВАС. ЯКЩО БУДЬ-ЯКИЙ "
+"ДОКУМЕНТ ЧИ ЗМІНЕНА ВЕРСІЯ БУДУТЬ ВИЗНАНІ ДЕФЕКТНИМИ У БУДЬ-ЯКОМУ "
+"ВІДНОШЕННІ, ВИ (НЕ ПОЧАТКОВИЙ УКЛАДАЧ, АВТОР АБО БУДЬ-ЯКИЙ СПІВАВТОР) БЕРЕТЕ "
+"НА СЕБЕ ВИТРАТИ ЗА БУДЬ-ЯКЕ НЕОБХІДНЕ ОБСЛУГОВУВАННЯ, РЕМОНТ ЧИ ВИПРАВЛЕННЯ. "
+"ЦЯ ВІДМОВА ВІД ГАРАНТІЙ СКЛАДАЄ ВАЖЛИВУ ЧАСТИНУ ЦІЄЇ ЛІЦЕНЗІЇ. НЕ "
+"ДОПУСКАЄТЬСЯ ВИКОРИСТАННЯ ЦЬОГО ДОКУМЕНТУ АБО ЙОГО ЗМІНЕНОЇ ВЕРСІЇ БЕЗ "
+"ПРИЙНЯТТЯ ЦІЄЇ ВІДМОВИ; ТА"
+
+#: ../C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"НІ ЗА ЯКИХ ОБСТАВИН ТА ЗА БУДЬ-ЯКОГО ЗАКОНОДАВСТВА, ЧИ ТО ГРОМАДЯНСЬКОЇ "
+"ВІДПОВІДАЛЬНОСТІ (ВКЛЮЧАЮЧИ ХАЛАТНІСТЬ), ДОГОВОРУ, ЧИ ЧОГОСЬ ІНШОГО, АВТОР, "
+"ПОЧАТКОВИЙ УКЛАДАЧ, БУДЬ-ЯКИЙ СПІВАВТОР, АБО ДИСТРИБ'ЮТОР ДОКУМЕНТУ ЧИ "
+"ЗМІНЕНОЇ ВЕРСІЇ ДОКУМЕНТУ, АБО БУДЬ-ЯКИЙ ПОСТАЧАЛЬНИК БУДЬ-ЯКОЇ З ЦИХ "
+"СТОРІН, НЕ НЕСЕ ВІДПОВІДАЛЬНІСТЬ ПЕРЕД БУДЬ-ЯКОЮ ОСОБОЮ ЗА БУДЬ-ЯКІ ПРЯМІ, "
+"НЕПРЯМІ, ОСОБЛИВІ, ВИПАДКОВІ, АБО ІСТОТНІ ЗБИТКИ БУДЬ-ЯКОГО ХАРАКТЕРУ "
+"ВКЛЮЧАЮЧИ, АЛЕ НЕ ОБМЕЖУЮЧИСЬ, ЗБИТКАМИ ВІД ВТРАТИ ПРЕСТИЖУ, ЗУПИНКИ РОБОТИ, "
+"ЗБОЇВ АБО НЕСПРАВНОСТЕЙ КОМП'ЮТЕРА, АБО БУДЬ-ЯКІ ІНШІ ЗБИТКИ АБО ВТРАТИ ЩО "
+"ВИНИКЛИ БЕЗВІДНОСНО АБО ВНАСЛІДОК ВИКОРИСТАННЯ ЦЬОГО ДОКУМЕНТУ ТА ЗМІНЕНИХ "
+"ВЕРСІЙ ЦЬОГО ДОКУМЕНТУ, НАВІТЬ ЯКЩО ЦІ СТОРОНИ, МОЖЛИВО, БУЛИ ПРОІНФОРМОВАНІ "
+"ПРО МОЖЛИВІСТЬ ТАКИХ ЗБИТКІВ."
+
+#: ../C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"ДОКУМЕНТ ТА ЗМІНЕНІ ВЕРСІЇ ЦЬОГО ДОКУМЕНТУ ПОСТАЧАЮТЬСЯ НА УМОВАХ ВІЛЬНОЇ "
+"ЛІЦЕНЗІЇ ДЛЯ ДОКУМЕНТАЦІЇ GNU З ПОДАЛЬШИМ РОЗУМІННЯМ ЩО: <placeholder-1/>"
+
+#: ../C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: ../C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:55(orgname) ../C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "Проект MATE"
+
+#: ../C/cpufreq-applet.xml:56(email)
+
+#: ../C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: ../C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: ../C/cpufreq-applet.xml:64(email)
+
+#: ../C/cpufreq-applet.xml:83(revnumber)
+#, fuzzy
+msgid "MATE 2.12"
+msgstr "MATE 2.10"
+
+#: ../C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: ../C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "Березень 2005"
+
+#: ../C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "Довідка з аплету \"Індикатор частоти процесора\" версії 0.3"
+
+#: ../C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "Жовтень 2004"
+
+#: ../C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: ../C/cpufreq-applet.xml:106(releaseinfo)
+#, fuzzy
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "Ця довідка описує аплет \"Індикатор частоти процесора\" версії 0.3."
+
+#: ../C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "Зворотній зв'язок"
+
+#: ../C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"Щоб сповістити про помилку або внести пропозицію відносно аплету "
+"\"Індикатор частоти процесора\" або цієї довідки, дотримуйтесь інструкцій на "
+"сторінці <ulink url=\"ghelp:mate-feedback\" type=\"help\">Зворотний зв'язок "
+"MATE</ulink>."
+
+#: ../C/cpufreq-applet.xml:121(primary) ../C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "Індикатор частоти процесора"
+
+#: ../C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "Вступ"
+
+#. ==== End of Figure =======================================
+#: ../C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"Аплет <application>Індикатор частоти процесора</application> забезпечує "
+"зручний спосіб контролю частоти кожного процесора."
+
+#: ../C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"Щоб додати <application>Індикатор частоти процесора</application> до панелі, "
+"клацніть правою кнопкою миші на панелі, потім виберіть "
+"<menuchoice><guimenu>Додати до панелі</guimenu><guimenuitem>Індикатор "
+"частоти процесора</guimenuitem></menuchoice>."
+
+#: ../C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"Нажаль, зміна частоти процесора може контролюватись лише на комп'ютерах із "
+"системою Linux, ядро якої скомпільовано з необхідною функціональністю. Проте "
+"аплет підтримує декілька різновидів інтерфейсів зміни частоти процесора."
+
+#: ../C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"Якщо система не підтримує зміну частоти процесора, аплет \"Індикатор частоти "
+"процесора\" відображає поточну частоту процесора."
+
+#: ../C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"Якщо система підтримує зміну частоти процесора, \"Індикатор частоти процесора"
+"\" відображає процесор з індикатором поступу. Стан індикатора поступу "
+"представляє поточну частоту процесора по відношенню до максимальної частоти."
+
+#: ../C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"Типово \"Індикатор частоти процесора\" відображає поточну частоту процесора "
+"у Герцах(стандартна одиниця виміру частоти), але можна налаштувати його для "
+"відображення відсотків частоти. Докладніше про налаштовування аплету "
+"дивіться у <xref linkend=\"cpufreq-applet-prefs\"/>."
+
+#: ../C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"Кожен екземпляр аплету \"Індикатор частоти процесора\" може контролювати "
+"лише один процесор. У мультипроцесорній системі (SMP), для кожного процесора "
+"слід запустити окремий аплет."
+
+#: ../C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "Значення значків"
+
+#: ../C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"\"Індикатор частоти процесора\" має декілька значків, які представляють "
+"поточний рівень частоти контрольованого процесора. Ось вони:"
+
+#: ../C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "Значок"
+
+#: ../C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "Опис"
+
+#: ../C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% потужності"
+
+#: ../C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr ""
+"Процесор працює на максимальній, або близький до максимальної швидкості."
+
+#: ../C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% потужності"
+
+#: ../C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "Процесор працює на 75% від максимальної швидкості."
+
+#: ../C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% потужності"
+
+#: ../C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "Процесор працює на 50% від максимальної швидкості."
+
+#: ../C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% потужності"
+
+#: ../C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "Процесор працює на 25% від максимальної швидкості."
+
+#: ../C/cpufreq-applet.xml:231(title)
+#, fuzzy
+msgid "Frequency and Governor Selector"
+msgstr "Вибір частоти"
+
+#: ../C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"Типово, функція зміни частоти може бути недоступна для середовища MATE. "
+"Зверніться до системного адміністратора, документації виробника, чи "
+"документації до програмного забезпечення."
+
+#: ../C/cpufreq-applet.xml:236(para)
+#, fuzzy
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"Щоб встановити частоту процесора, клацніть на аплеті, з'явиться меню з "
+"переліком доступних на цій системі частот. Тепер просто виберіть потрібну "
+"частоту."
+
+#: ../C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "Параметри"
+
+#: ../C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"Щоб налаштувати аплет <application>Індикатор частоти процесора</"
+"application>, клацніть на ньому правою кнопкою миші, потім з контекстного "
+"меню виберіть <guimenuitem>Параметри</guimenuitem>."
+
+#: ../C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr ""
+"Діалогове вікно <guimenuitem>Параметри</guimenuitem> містить наступні "
+"компоненти:"
+
+#: ../C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "Діалогове вікно \"Параметри індикатора частоти ЦП\""
+
+#: ../C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "Діалогове вікно \"Параметри індикатора частоти ЦП\""
+
+#: ../C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "Контрольований процесор (лише у багатопроцесорній системі)"
+
+#: ../C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr ""
+"Використовуючи розкривний список виберіть процесор, ви бажаєте контролювати."
+
+#: ../C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:302(phrase)
+#, fuzzy
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "Діалогове вікно \"Параметри індикатора частоти ЦП\""
+
+#: ../C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr ""
+"Параметр <guilabel>Контрольований процесор</guilabel> відображається лише у "
+"багатопроцесорній системі."
+
+#: ../C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "Показувати у режимі"
+
+#: ../C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"Використовуючи розкривний список виберіть режим відображення аплету. "
+"Доступні режими: графічний, текст, графічний та текст."
+
+#: ../C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "Показувати частоту ЦП як частоту"
+
+#: ../C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "Відмітьте цей параметр, щоб відображати поточну частоту процесора."
+
+#: ../C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "Показувати одиниці частоти"
+
+#: ../C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr ""
+"Відмітьте цей параметр, щоб відображати одиниці виміру частоти у режимі "
+"відображення частоти."
+
+#: ../C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "Показувати частоту ЦП у відсотках"
+
+#: ../C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr "Відмітьте цей параметр, щоб частота відображалась у відсотках."
+
+#: ../C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr ""
+
+#: ../C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is show in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: ../C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Максим Дзюманенко <[email protected]>, 2004, 2005"
+
+#~ msgid "CPU Frequency Scaling Monitor Manual version 2.10"
+#~ msgstr "Довідка з аплету \"Індикатор частоти процесора\" версії 2.10"
+
+#~ msgid "User manual for the CPU Frequency Scaling applet."
+#~ msgstr "Довідка з аплету Індикатор частоти процесора"
+
+#~ msgid "Usage"
+#~ msgstr "Використання"
+
+#~ msgid "CPU Frequency Scaling Monitor Frequency Selector"
+#~ msgstr "Вибір частоти аплету \"Індикатор частоти процесора\""
diff --git a/cpufreq/help/zh_CN/zh_CN.po b/cpufreq/help/zh_CN/zh_CN.po
new file mode 100644
index 00000000..5c28de8e
--- /dev/null
+++ b/cpufreq/help/zh_CN/zh_CN.po
@@ -0,0 +1,574 @@
+# Simplified Chinese translation of applets-cpufreq documentation.
+# Copyright (C) 2008 Free Software Foundation, Inc.
+# This file is distributed under the same license as the applet-cpufreq
+#
+# Funda Wang <[email protected]>, 2008.
+# Aron Xu <[email protected]>,2008.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: applet-cpufreq HEAD\n"
+"Report-Msgid-Bugs-To: \n"
+"POT-Creation-Date: 2007-01-02 03:48+0000\n"
+"PO-Revision-Date: 2008-10-19 19:30+0800\n"
+"Last-Translator: Aron Xu <[email protected]>\n"
+"Language-Team: Chinese/Simplified <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr ""
+"@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr ""
+"@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr ""
+"@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr ""
+"@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr ""
+"@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr ""
+"@@image: 'figures/cpufreq-applet-selector.png'; "
+"md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None) C/cpufreq-applet.xml:356(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-selector-both.png'; "
+"md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr ""
+"@@image:·'figures/cpufreq-applet-selector-both.png';·"
+"md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences.png'; "
+"md5=e30ba42122a806febac11082c2083605"
+msgstr ""
+"@@image:·'figures/cpufreq-applet-preferences.png';·"
+"md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid ""
+"@@image: 'figures/cpufreq-applet-preferences-smp.png'; "
+"md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr ""
+"@@image:·'figures/cpufreq-applet-preferences-smp.png';·"
+"md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU 频率调节监视器手册"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid ""
+"CPU Frequency Scaling Monitor shows the current clock speed of the CPU and "
+"provides an interface to change the clock speed if the CPU supports it."
+msgstr ""
+"CPU 频率调节监视器会显示 CPU 的当前时钟频率,在 CPU 支持时您还可以更改其时钟"
+"频率。"
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder) C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE 基金会"
+
+#: C/cpufreq-applet.xml:42(publishername) C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE 文档计划"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid ""
+"Permission is granted to copy, distribute and/or modify this document under "
+"the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any "
+"later version published by the Free Software Foundation with no Invariant "
+"Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy "
+"of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or "
+"in the file COPYING-DOCS distributed with this manual."
+msgstr ""
+"对于本文档的复制、分发和/或修改必须遵循自由软件基金会 (Free Software "
+"Foundation) 发布的 GNU 自由文档许可证 (GFDL) 版本 1.1 或更高版本,该许可证没"
+"有固定的部分、没有封面和背页文本。您可以在此<ulink type=\"help\" url=\"ghelp:"
+"fdl\">链接</ulink>上或在随本手册一起分发的 COPYING-DOCS 文件中找到 GFDL 的副"
+"本。"
+
+#: C/cpufreq-applet.xml:12(para)
+msgid ""
+"This manual is part of a collection of MATE manuals distributed under the "
+"GFDL. If you want to distribute this manual separately from the collection, "
+"you can do so by adding a copy of the license to the manual, as described in "
+"section 6 of the license."
+msgstr ""
+"本手册是在 GFDL 许可之下分发的 MATE 手册集合的一部分。如果想要单独分发此手"
+"册,可以在手册中添加该许可证的一份副本然后分发,如该许可证的第 6 部分所述。"
+
+#: C/cpufreq-applet.xml:19(para)
+msgid ""
+"Many of the names used by companies to distinguish their products and "
+"services are claimed as trademarks. Where those names appear in any MATE "
+"documentation, and the members of the MATE Documentation Project are made "
+"aware of those trademarks, then the names are in capital letters or initial "
+"capital letters."
+msgstr ""
+"各个公司使用的许多用于区别它们产品和服务的名称都声明为商标。在所有的 MATE 文"
+"档以及 MATE 文档项目的成员中,这些名称都是以全大写字母或首字母大写显示,从而"
+"表明它们是商标。"
+
+#: C/cpufreq-applet.xml:35(para)
+msgid ""
+"DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, "
+"EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT "
+"THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS "
+"MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE "
+"RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR "
+"MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR "
+"MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL "
+"WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY "
+"SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN "
+"ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION "
+"OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr ""
+"文档按“原样”提供,不提供任何明示或暗示的保证,包括但不限于:文档或文档的修改"
+"版本没有适销性方面的缺陷、适合特定目的的适用性,以及没有侵权行为。您将自行承"
+"担本文档以及文档修改版本的质量、准确性以及性能方面的风险。如果任何文档或文档"
+"修改版本存在缺陷,您(而不是最初的编写者、作者或撰写人)将承担所有必需的服"
+"务、维修或更正的费用。此免责声明是本许可证的重要组成部分。如果不接受此免责声"
+"明,那么您就没有权利使用任何文档或文档的修改版本;并且"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid ""
+"UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING "
+"NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY "
+"CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE "
+"DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON "
+"FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF "
+"ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, "
+"WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES "
+"OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED "
+"VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE "
+"POSSIBILITY OF SUCH DAMAGES."
+msgstr ""
+"无论在任何情况以及在任何法律理论下,本文档或文档修改版本的作者、最初的编写"
+"者、任何撰写人或任何分发者,或者任意这些方的任何提供者都不对任何人由于使用本"
+"文档或文档修改版本引起或带来的任何直接的、间接的、特殊的、偶然的或继发的损失"
+"承担任何民事(包括疏忽)、合同或其它方面的责任,这些损失包括但不限于信誉损"
+"失、工作停止、计算机失败或故障,或任何以及所有其它损失或由此引发的或与之相关"
+"的损失,即使这些方已被告知存在出现此类损失的可能性时也是如此。"
+
+#: C/cpufreq-applet.xml:28(para)
+msgid ""
+"DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS "
+"OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: "
+"<placeholder-1/>"
+msgstr ""
+"本文档以及文档的修改版本都是在遵循 GNU 自由文档许可证的条款下提供,这表示具有"
+"以下含义:<placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname) C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE 项目"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "2005年8月"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "2005年3月"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU 频率调节监视器小程序手册 V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "2004年10月"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "此手册描述了 CPU 频率调节监视器的 2.12.0 版本。"
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "反馈"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid ""
+"To report a bug or make a suggestion regarding the CPU Frequency Scaling "
+"Monitor applet or this manual, follow the directions in the <ulink url="
+"\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr ""
+"要报告关于 CPU 频率调节监视器小程序或本手册的错误或提出建议,请遵循 <ulink "
+"url=\"ghelp:mate-feedback\" type=\"help\">MATE 反馈页</ulink>中的指导。"
+
+#: C/cpufreq-applet.xml:121(primary) C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU 频率调节监视器"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "简介"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid ""
+"The <application>CPU Frequency Scaling Monitor</application> provides a "
+"convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr ""
+"<application>CPU 频率调节监视器</application> 允许您方便地监视每片 CPU 的频率"
+"调节。"
+
+#: C/cpufreq-applet.xml:141(para)
+msgid ""
+"To add <application>CPU Frequency Scaling Monitor</application> to a panel, "
+"right-click on the panel to open the panel popup menu, then choose "
+"<menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency "
+"Scaling Monitor</guimenuitem></menuchoice>."
+msgstr ""
+"要将 <application>CPU 频率调节监视器</application>添加到面板,请用鼠标右键单"
+"击面板,以便打开面板弹出菜单,然后选择<menuchoice><guimenu>添加到面板</"
+"guimenu><guimenuitem>CPU 频率调节监视器</guimenuitem></menuchoice>。"
+
+#: C/cpufreq-applet.xml:147(para)
+msgid ""
+"Unfortunately, CPU frequency scaling can currently only be monitored on "
+"Linux machines that have support in the kernel. It can however, support the "
+"several generations of frequency scaling interfaces in the kernel."
+msgstr ""
+"不幸的是,CPU 频率调节只能在内核支持此功能的 Linux 计算机上进行监视。但是,内"
+"核自身还是支持几代 CPU 的频率调节的。"
+
+#: C/cpufreq-applet.xml:153(para)
+msgid ""
+"When there is no CPU frequency scaling support in the system, the CPU "
+"Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr ""
+"如果系统不支持 CPU 频率调节,CPU 频率调节监视器将只能显示 CPU 的当前频率。"
+
+#: C/cpufreq-applet.xml:154(para)
+msgid ""
+"When CPU frequency scaling is supported in the system, the CPU Frequency "
+"Scaling Monitor displays the CPU icon with a progress bar. The state of the "
+"progress bar represents the current CPU frequency with respect to the "
+"maximum frequency."
+msgstr ""
+"如果系统支持 CPU 频率调节,CPU 频率调节监视器将显示带有进度栏的 CPU 图标。进"
+"度栏的状态代表了 CPU 的当前频率所占最高频率的百分比。"
+
+#: C/cpufreq-applet.xml:155(para)
+msgid ""
+"By default the CPU Frequency Scaling Monitor displays the current CPU "
+"frequency as a value in Hertz (the standard measure of frequency), but can "
+"be configured to display a percentage instead. For more information on how "
+"to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-"
+"applet-prefs\"/>."
+msgstr ""
+"默认情况下,CPU 频率调节监视器将显示以赫兹(频率的标准度量单位)为单位的 CPU 频"
+"率值(频率的标准度量单位),但您可以对其进行配置以便显示百分比。要获得关于如何"
+"配置 CPU 频率调节监视器的更多信息,请参看<xref linkend=\"cpufreq-applet-prefs"
+"\"/>。"
+
+#: C/cpufreq-applet.xml:158(para)
+msgid ""
+"Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You "
+"must start an instance of CPU Frequency Scaling Monitor for each CPU that "
+"you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr ""
+"每个 CPU 频率调节监视器只能监视一片 CPU。如果您使用的是多处理器系统(SMP),则"
+"必须为每片 CPU 启动一个 CPU 频率调节监视器。"
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "理解图标"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid ""
+"The CPU Frequency Scaling Monitor has a series of icons that graphically "
+"represent the current scaling level of the processor you are monitoring. "
+"They are:"
+msgstr ""
+"CPU 频率调节监视器使用一系列图标来代表 CPU 频率的当前调节级别。这些图标包括:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "图标"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "描述"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "全速运行"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "CPU 正以 100% 或接近 100% 的频率运行"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "四分之三速"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "CPU 正以 75% 或接近 75% 的频率运行"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "半速运行"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "CPU 正以 50% 或接近 50% 的频率运行"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "四分之一速"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "CPU 正以 25% 或接近 25% 的频率运行"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "频率和调速器选择器"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid ""
+"The Frequency Selector functionality may not be available on your MATE "
+"Desktop by default. Please consult your system administrator, vendor "
+"documentation, or the documentation that came with this software."
+msgstr ""
+"频率选择器功能可能在您的 MATE 上没有被默认开启。请咨询您的系统管理员,供应商"
+"文档或这此软件自带的文档。"
+
+#: C/cpufreq-applet.xml:236(para)
+msgid ""
+"To set the CPU frequency, (left-)click on the monitor and a menu will be "
+"shown. This menu will offer you a list of available frequencies and/or "
+"frequency governors for your machine."
+msgstr ""
+"要设定 CPU 频率,请用鼠标左键单击监视器,此时会出现一个菜单。此菜单允许您为您"
+"的计算机选择可用的频率或调速器。"
+
+#: C/cpufreq-applet.xml:241(para)
+msgid ""
+"You can choose whether you want to show available frequencies or governors "
+"in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-"
+"prefs\"/> for more information."
+msgstr ""
+"您可以选择您是想要在<guilabel>首选项</guilabel>中显示频率还是调速器。更多信息"
+"请参看<xref linkend=\"cpufreq-applet-prefs\"/>。"
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "只显示频率的频率选择器"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "显示频率和调速器的频率选择器"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "首选项"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid ""
+"To configure the <application>CPU Frequency Scaling Monitor</application>, "
+"right-click on the applet, then choose <guimenuitem>Preferences</"
+"guimenuitem> from the popup menu."
+msgstr ""
+"要配置 <application>CPU 频率调节监视器</application>,请用鼠标右键单击小程"
+"序,然后从弹出菜单中选择<guimenuitem>首选项</guimenuitem>。"
+
+#: C/cpufreq-applet.xml:276(para)
+msgid ""
+"The <guimenuitem>Preferences</guimenuitem> dialog contains the following "
+"components:"
+msgstr "<guimenuitem>首选项</guimenuitem>对话框包含如下组件:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU 频率调节监视器首选项对话框"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU 频率调节监视器首选项对话框"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "监视的 CPU(仅在多处理器系统中可用)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "使用此下拉列表可选择您想要监视的 CPU。"
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "选择要监视的 CPU"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU 频率调节监视器首选项对话框 CPU 选择器"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid ""
+"The <guilabel>Monitored CPU</guilabel> option will only appear on "
+"multiprocessor (SMP) systems."
+msgstr "<guilabel>监视的 CPU</guilabel> 选项将只会在多处理器(SMP)系统中出现。"
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "显示模式"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid ""
+"Use this drop-down list to select the mode in which you want to display the "
+"applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr ""
+"使用此下拉列表可选择您想要在小程序中以何种模式显示。可用的模式有:图形、文本"
+"和两者都有。"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "将 CPU 频率显示为频率"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "选择此选项可显示 CPU 的当前频率。"
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "显示频率单位"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid ""
+"Select this option to display or not the frequency units in the frequency "
+"mode."
+msgstr "选择此选项可设定在频率模式中是否显示频率单位。"
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "将 CPU 频率显示为百分比"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid ""
+"Select this option to display the current CPU frequency as a percentage."
+msgstr "选择此选项可将 CPU 的当前频率显示为百分比。"
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "显示菜单"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "配置频率和调速器的选择器"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "CPU 调速器选择器"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid ""
+"This option allows you to choose how much information is shown in the "
+"frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/"
+">). You can select to display <guilabel>Frequencies</guilabel>, "
+"<guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</"
+"guilabel>. <placeholder-1/>"
+msgstr ""
+"此选项允许您选择要在频率选择器下拉菜单(参见<xref linkend=\"mate-cpufreq-"
+"selector\"/>)中显示多少信息。您可以选择显示<guilabel>频率</guilabel>、"
+"<guilabel>调速器</guilabel>或者<guilabel>频率和调速器</guilabel>两者都显示。"
+"<placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr "Funda Wang <[email protected]>, 2006."
+
diff --git a/cpufreq/help/zh_HK/zh_HK.po b/cpufreq/help/zh_HK/zh_HK.po
new file mode 100644
index 00000000..f61e7929
--- /dev/null
+++ b/cpufreq/help/zh_HK/zh_HK.po
@@ -0,0 +1,398 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet\n"
+"POT-Creation-Date: 2009-04-17 16:27+0000\n"
+"PO-Revision-Date: 2009-09-12 22:17+0800\n"
+"Last-Translator: Chao-Hsiung Liao <[email protected]>\n"
+"Language-Team: Chinese (Hong Kong) <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None)
+#: C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU 頻率調整監控程式手冊"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "CPU 頻率調整監控程式可以顯示 CPU 目前的時脈,並且若 CPU 有支援還能提供介面來改變其時脈。"
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder)
+#: C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE 基金會"
+
+#: C/cpufreq-applet.xml:42(publishername)
+#: C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE 文件計畫"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "根據自由軟件基金會 (Free Software Foundation) 所發佈 的 GNU 自由文件授權 (GNU Free Documentation License, GFDL) 1.1 (含) 以後版本, 使用者可以複製、散佈,或修改本文件,但不得增刪章節,不得加上封面文字, 亦不得加上封底文字。 如要取得 GFDL 的副本,請參閱此<ulink type=\"help\" url=\"ghelp:fdl\">連結</ulink>,或是參閱與本手冊一同隨附的 COPYING-DOCS 檔案。"
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "本手冊是屬於根據 GFDL 授權所發佈之 MATE 手冊集中的一部份。 如果你只要單獨散佈本手冊,根據據授權聲明第六節之敘述, 你必須另外將授權聲明加入本手冊中。"
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "許多公司為了突顯其產品與服務,會使用特別名稱,並亦已聲明這些 名稱為其商標。當這些名稱出現在 MATE 文件中,同時 MATE 文件 專案小組成員亦明白這些名稱為商標時, 這些名稱會以大寫字母或是首字母大寫表示。"
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "文件提供是以其「原樣」呈現,不管明示或暗示,皆不具任何保證,包括 (但不限於) 文件或修正版毫無錯誤、可販售、 具特殊用途,或不侵權。關於本文件與修正版文件之品質、正確性及功用, 其風險你必須自行承擔。 若本文件或修正版有任何缺陷,任何必須之保養,修理及更正, 應由你自行承擔,原始作者、作者或任何散佈者無須負責。 本免責聲明是本授權聲明極重要與必要的一部份,因此任何文件或 修正版的授權,皆須在同意本免責聲明的情況下進行;同時"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "在任何情況或法律理論下,亦即不管是在侵權 (包括疏忽)、契約或其他情形,或是已預先告知會有下列損害之可能時,本文件 或修正版的任何作者、原始作者、投稿人以及散佈者,或是任何提供單位,對於因使用本文件及修正版,或與本文件及修正版使用相關所造成的任何直接、間接、特殊、偶然或必然之損害,包括 (但不限於) 信譽受損、工作停止、電腦當 機或不正常運作,或任何所有其他損害,上述人等皆不需負 任何責任。"
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "文件以及此文件的修改版本必須遵循 GNU 自由文件許可證,進一步資訊請見: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname)
+#: C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE 計畫"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "2005 年八月"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "2005 年三月"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU 頻率調整監控程式手冊 V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "2004 年十月"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "這本手冊是為 CPU 頻率調整監控程式 2.12.0 版所寫。"
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "回饋"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "要回報 CPU 頻率調整監控程式或這本手冊的錯誤或給予建議,請根據 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE 回饋頁面</ulink> 中的指示。"
+
+#: C/cpufreq-applet.xml:121(primary)
+#: C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU 頻率調整監控程式"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "引言"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "<application>CPU 頻率調整監控程式</application> 提供了便利的方式來監控每個 CPU 的頻率調整。"
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "要把 <application>CPU 頻率調整監控程式</application> 加入面板,請在面板上按右鍵開啟彈出式選單,接着選擇 <menuchoice><guimenu>加入面板</guimenu><guimenuitem>CPU 頻率調整監控程式</guimenuitem></menuchoice>。"
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "很不幸的,CPU 頻率調整目前只能監控 Linux 核心有支援的電腦。然而它可以支援核心中許多世代的頻率調整介面。"
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "當系統中的 CPU 都不支援頻率調整時,CPU 頻率調整監控程式只會顯示目前的 CPU 頻率。"
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "當系統中的 CPU 支援頻率調整時,CPU 頻率調整監控程式會顯示有進度列的 CPU 圖示。該進度列的狀態便反應了目前的 CPU 頻率與最大頻率的比例。"
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "預設中 CPU 頻率調整監控程式會以赫茲數值(測量頻率的標準)來顯示目前的 CPU 頻率,但是也可以設定為顯示百分比。需要更多關於如何設定 CPU 頻率調整監控程式的資訊請參閱 <xref linkend=\"cpufreq-applet-prefs\"/>。"
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "每個 CPU 頻率調整監控程式的實體只能監控一個 CPU。如果你的系統為多處理器/多核心(SMP)環境,就必須為每個要監控的 CPU 啟動一個 CPU 頻率調整監控程式。"
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "了解圖示"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "CPU 頻率調整監控程式具有一系列的圖示能以圖形化的方式表現出你要監控的處理器目前頻率調整的等級,它們是:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "圖示"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "描述"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% Power"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "此 CPU 正運作於,或接近 100% 運算能力"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% Power"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "此 CPU 正運作於,或接近 75% 運算能力"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% Power"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "此 CPU 正運作於,或接近 50% 運算能力"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% Power"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "此 CPU 正運作於,或接近 25% 運算能力"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "頻率與調節器選擇程式"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "頻率選擇程式功能在你的 MATE 桌面預設可能無法使用。請諮詢你的系統管理者、廠商文件,或是本軟件隨附的文件。"
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "要設定 CPU 頻率,在監控程式上按左鍵就會顯示一個選單。這個選單會提供你的電腦上可用的頻率或頻率調節器清單。"
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "你可以在 <guilabel>偏好設定</guilabel> 中選擇是否顯示可用的頻率或調節器。請參閱 <xref linkend=\"cpufreq-applet-prefs\"/> 以獲得更多資訊。"
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "頻率選擇程式只顯示頻率"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "頻率選擇程式同時顯示頻率和調節器"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "偏好設定"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "要設定 <application>CPU 頻率調整監控程式</application> ,請在面板上按右鍵,接着在彈出式選單中選擇 <guimenuitem>偏好設定</guimenuitem>。"
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "<guimenuitem>偏好設定</guimenuitem> 對話盒包含下列元件:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "監控的 CPU (只用於多處理器系統)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "使用下拉式選單來選擇要監控的 CPU。"
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "選擇要監控的 CPU"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒 CPU 選擇器"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "<guilabel>受監控的 CPU</guilabel> 選項只有在多處理器 (SMP) 系統中會出現。"
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "顯示模式"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "使用這個下拉式選單來選擇此面板程式的顯示模式。可用的模式有:圖示、文字 、圖示及文字"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "以頻率來顯示 CPU 頻率"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "選擇這個選項以顯示目前的 CPU 頻率。"
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "顯示頻率單位"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "選擇這個選項以決定在頻率模式中是否顯示頻率單位。"
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "以百分比來顯示 CPU 頻率"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "選擇這個選項將目前的 CPU 頻率顯示為百分比。"
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "顯示選單"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "這個選擇程式設定為頻率和調節器"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "CPU 調節器選擇程式"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "這個選項讓你選擇在頻率選擇程式下拉式選單(請查閱 <xref linkend=\"mate-cpufreq-selector\"/>)中要顯示多少資訊。你可以選擇顯示<guilabel>頻率</guilabel>、<guilabel>調節器</guilabel> 或是 <guilabel>頻率和調節器</guilabel>。<placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"如對翻譯有任何意見,請送一封電子郵件給\n"
+"以下地址,MATE 翻譯隊伍會盡快回覆你:\n"
+"\n"
+"Chao-Hsiung Liao <[email protected]>, 2008."
+
diff --git a/cpufreq/help/zh_TW/zh_TW.po b/cpufreq/help/zh_TW/zh_TW.po
new file mode 100644
index 00000000..abcbaa7f
--- /dev/null
+++ b/cpufreq/help/zh_TW/zh_TW.po
@@ -0,0 +1,398 @@
+msgid ""
+msgstr ""
+"Project-Id-Version: cpufreq-applet\n"
+"POT-Creation-Date: 2009-04-17 16:27+0000\n"
+"PO-Revision-Date: 2009-08-21 21:27+0800\n"
+"Last-Translator: Chao-Hsiung Liao <[email protected]>\n"
+"Language-Team: Chinese/Traditional <[email protected]>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:133(None)
+msgid "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+msgstr "@@image: 'figures/cpufreq-applet.png'; md5=9697917ccaea349dc6584bf8c42c2534"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:184(None)
+msgid "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+msgstr "@@image: 'figures/cpufreq-100.png'; md5=298d50a03bfcf5143bb9877703de9541"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:195(None)
+msgid "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+msgstr "@@image: 'figures/cpufreq-75.png'; md5=5af5eba3f0627af1d14807d9e66aecd2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:206(None)
+msgid "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+msgstr "@@image: 'figures/cpufreq-50.png'; md5=4852c52d4056355c4f7479ffb26a8fe2"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:217(None)
+msgid "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+msgstr "@@image: 'figures/cpufreq-25.png'; md5=4e282fbc1af212f68a939c44a9ef94a3"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:252(None)
+msgid "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+msgstr "@@image: 'figures/cpufreq-applet-selector.png'; md5=4f5f2e6e80e9fb629cdc9cea283ab6b5"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:263(None)
+#: C/cpufreq-applet.xml:356(None)
+msgid "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+msgstr "@@image: 'figures/cpufreq-applet-selector-both.png'; md5=dcee11390666adc6b497a691b7b77b2d"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:281(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+msgstr "@@image: 'figures/cpufreq-applet-preferences.png'; md5=e30ba42122a806febac11082c2083605"
+
+#. When image changes, this message will be marked fuzzy or untranslated for you.
+#. It doesn't matter what you translate it to: it's not used at all.
+#: C/cpufreq-applet.xml:299(None)
+msgid "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+msgstr "@@image: 'figures/cpufreq-applet-preferences-smp.png'; md5=8a33cf86190df20c295197f04eacfdbe"
+
+#: C/cpufreq-applet.xml:20(title)
+msgid "CPU Frequency Scaling Monitor Manual"
+msgstr "CPU 頻率調整監控程式手冊"
+
+#: C/cpufreq-applet.xml:22(para)
+msgid "CPU Frequency Scaling Monitor shows the current clock speed of the CPU and provides an interface to change the clock speed if the CPU supports it."
+msgstr "CPU 頻率調整監控程式可以顯示 CPU 目前的時脈,並且若 CPU 有支援還能提供介面來改變其時脈。"
+
+#: C/cpufreq-applet.xml:26(year)
+msgid "2005"
+msgstr "2005"
+
+#: C/cpufreq-applet.xml:27(holder)
+#: C/cpufreq-applet.xml:86(para)
+#: C/cpufreq-applet.xml:93(para)
+msgid "Davyd Madeley"
+msgstr "Davyd Madeley"
+
+#: C/cpufreq-applet.xml:30(year)
+msgid "2004"
+msgstr "2004"
+
+#: C/cpufreq-applet.xml:31(holder)
+msgid "MATE Foundation"
+msgstr "MATE 基金會"
+
+#: C/cpufreq-applet.xml:42(publishername)
+#: C/cpufreq-applet.xml:101(para)
+msgid "MATE Documentation Project"
+msgstr "MATE 文件計畫"
+
+#: C/cpufreq-applet.xml:2(para)
+msgid "Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License (GFDL), Version 1.1 or any later version published by the Free Software Foundation with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts. You can find a copy of the GFDL at this <ulink type=\"help\" url=\"ghelp:fdl\">link</ulink> or in the file COPYING-DOCS distributed with this manual."
+msgstr "根據自由軟體基金會 (Free Software Foundation) 所發佈 的 GNU 自由文件授權 (GNU Free Documentation License, GFDL) 1.1 (含) 以後版本, 使用者可以複製、散佈,或修改本文件,但不得增刪章節,不得加上封面文字, 亦不得加上封底文字。 如要取得 GFDL 的副本,請參閱此<ulink type=\"help\" url=\"ghelp:fdl\">連結</ulink>,或是參閱與本手冊一同隨附的 COPYING-DOCS 檔案。"
+
+#: C/cpufreq-applet.xml:12(para)
+msgid "This manual is part of a collection of MATE manuals distributed under the GFDL. If you want to distribute this manual separately from the collection, you can do so by adding a copy of the license to the manual, as described in section 6 of the license."
+msgstr "本手冊是屬於依 GFDL 授權所發佈之 MATE 手冊集中的一部份。 如果您只要單獨散佈本手冊,依據授權聲明第六節之敘述, 您必須另外將授權聲明加入本手冊中。"
+
+#: C/cpufreq-applet.xml:19(para)
+msgid "Many of the names used by companies to distinguish their products and services are claimed as trademarks. Where those names appear in any MATE documentation, and the members of the MATE Documentation Project are made aware of those trademarks, then the names are in capital letters or initial capital letters."
+msgstr "許多公司為了突顯其產品與服務,會使用特別名稱,並亦已聲明這些 名稱為其商標。當這些名稱出現在 MATE 文件中,同時 MATE 文件 專案小組成員亦明白這些名稱為商標時, 這些名稱會以大寫字母或是首字母大寫表示。"
+
+#: C/cpufreq-applet.xml:35(para)
+msgid "DOCUMENT IS PROVIDED ON AN \"AS IS\" BASIS, WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, WITHOUT LIMITATION, WARRANTIES THAT THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS FREE OF DEFECTS MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE OR NON-INFRINGING. THE ENTIRE RISK AS TO THE QUALITY, ACCURACY, AND PERFORMANCE OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS WITH YOU. SHOULD ANY DOCUMENT OR MODIFIED VERSION PROVE DEFECTIVE IN ANY RESPECT, YOU (NOT THE INITIAL WRITER, AUTHOR OR ANY CONTRIBUTOR) ASSUME THE COST OF ANY NECESSARY SERVICING, REPAIR OR CORRECTION. THIS DISCLAIMER OF WARRANTY CONSTITUTES AN ESSENTIAL PART OF THIS LICENSE. NO USE OF ANY DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT IS AUTHORIZED HEREUNDER EXCEPT UNDER THIS DISCLAIMER; AND"
+msgstr "文件提供是以其「原樣」呈現,不管明示或暗示,皆不具任何保證,包括 (但不限於) 文件或修正版毫無錯誤、可販售、 具特殊用途,或不侵權。關於本文件與修正版文件之品質、正確性及功用, 其風險您必須自行承擔。 若本文件或修正版有任何缺陷,任何必須之保養,修理及更正, 應由您自行承擔,原始作者、作者或任何散佈者無須負責。 本免責聲明是本授權聲明極重要與必要的一部份,因此任何文件或 修正版的授權,皆須在同意本免責聲明的情況下進行;同時"
+
+#: C/cpufreq-applet.xml:55(para)
+msgid "UNDER NO CIRCUMSTANCES AND UNDER NO LEGAL THEORY, WHETHER IN TORT (INCLUDING NEGLIGENCE), CONTRACT, OR OTHERWISE, SHALL THE AUTHOR, INITIAL WRITER, ANY CONTRIBUTOR, OR ANY DISTRIBUTOR OF THE DOCUMENT OR MODIFIED VERSION OF THE DOCUMENT, OR ANY SUPPLIER OF ANY OF SUCH PARTIES, BE LIABLE TO ANY PERSON FOR ANY DIRECT, INDIRECT, SPECIAL, INCIDENTAL, OR CONSEQUENTIAL DAMAGES OF ANY CHARACTER INCLUDING, WITHOUT LIMITATION, DAMAGES FOR LOSS OF GOODWILL, WORK STOPPAGE, COMPUTER FAILURE OR MALFUNCTION, OR ANY AND ALL OTHER DAMAGES OR LOSSES ARISING OUT OF OR RELATING TO USE OF THE DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT, EVEN IF SUCH PARTY SHALL HAVE BEEN INFORMED OF THE POSSIBILITY OF SUCH DAMAGES."
+msgstr "在任何情況或法律理論下,亦即不管是在侵權 (包括疏忽)、契約或其他情形,或是已預先告知會有下列損害之可能時,本文件 或修正版的任何作者、原始作者、投稿人以及散佈者,或是任何提供單位,對於因使用本文件及修正版,或與本文件及修正版使用相關所造成的任何直接、間接、特殊、偶然或必然之損害,包括 (但不限於) 信譽受損、工作停止、電腦當 機或不正常運作,或任何所有其他損害,上述人等皆不需負 任何責任。"
+
+#: C/cpufreq-applet.xml:28(para)
+msgid "DOCUMENT AND MODIFIED VERSIONS OF THE DOCUMENT ARE PROVIDED UNDER THE TERMS OF THE GNU FREE DOCUMENTATION LICENSE WITH THE FURTHER UNDERSTANDING THAT: <placeholder-1/>"
+msgstr "文件以及此文件的修改版本必須遵循 GNU 自由文件許可證,進一步資訊請見: <placeholder-1/>"
+
+#: C/cpufreq-applet.xml:52(firstname)
+msgid "Carlos"
+msgstr "Carlos"
+
+#: C/cpufreq-applet.xml:53(surname)
+msgid "Garcia Campos"
+msgstr "Garcia Campos"
+
+#: C/cpufreq-applet.xml:55(orgname)
+#: C/cpufreq-applet.xml:63(orgname)
+msgid "MATE Project"
+msgstr "MATE 計畫"
+
+#: C/cpufreq-applet.xml:56(email)
+
+#: C/cpufreq-applet.xml:60(firstname)
+msgid "Davyd"
+msgstr "Davyd"
+
+#: C/cpufreq-applet.xml:61(surname)
+msgid "Madeley"
+msgstr "Madeley"
+
+#: C/cpufreq-applet.xml:64(email)
+
+#: C/cpufreq-applet.xml:83(revnumber)
+msgid "MATE 2.12"
+msgstr "MATE 2.12"
+
+#: C/cpufreq-applet.xml:84(date)
+msgid "August 2005"
+msgstr "2005 年八月"
+
+#: C/cpufreq-applet.xml:90(revnumber)
+msgid "MATE 2.10"
+msgstr "MATE 2.10"
+
+#: C/cpufreq-applet.xml:91(date)
+msgid "March 2005"
+msgstr "2005 年三月"
+
+#: C/cpufreq-applet.xml:97(revnumber)
+msgid "CPU Frequency Scaling Monitor Applet Manual V0.3"
+msgstr "CPU 頻率調整監控程式手冊 V0.3"
+
+#: C/cpufreq-applet.xml:98(date)
+msgid "October 2004"
+msgstr "2004 年十月"
+
+#: C/cpufreq-applet.xml:100(para)
+msgid "Carlos Garcia Campos"
+msgstr "Carlos Garcia Campos"
+
+#: C/cpufreq-applet.xml:106(releaseinfo)
+msgid "This manual describes version 2.12.0 of CPU Frequency Scaling Monitor."
+msgstr "這本手冊是為 CPU 頻率調整監控程式 2.12.0 版所寫。"
+
+#: C/cpufreq-applet.xml:110(title)
+msgid "Feedback"
+msgstr "回饋"
+
+#: C/cpufreq-applet.xml:111(para)
+msgid "To report a bug or make a suggestion regarding the CPU Frequency Scaling Monitor applet or this manual, follow the directions in the <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE Feedback Page</ulink>."
+msgstr "要回報 CPU 頻率調整監控程式或這本手冊的錯誤或給予建議,請依照 <ulink url=\"ghelp:mate-feedback\" type=\"help\">MATE 回饋頁面</ulink> 中的指示。"
+
+#: C/cpufreq-applet.xml:121(primary)
+#: C/cpufreq-applet.xml:128(title)
+msgid "CPU Frequency Scaling Monitor"
+msgstr "CPU 頻率調整監控程式"
+
+#: C/cpufreq-applet.xml:126(title)
+msgid "Introduction"
+msgstr "引言"
+
+#. ==== End of Figure =======================================
+#: C/cpufreq-applet.xml:139(para)
+msgid "The <application>CPU Frequency Scaling Monitor</application> provides a convenient way to monitor the CPU Frequency Scaling for each CPU."
+msgstr "<application>CPU 頻率調整監控程式</application> 提供了便利的方式來監控每個 CPU 的頻率調整。"
+
+#: C/cpufreq-applet.xml:141(para)
+msgid "To add <application>CPU Frequency Scaling Monitor</application> to a panel, right-click on the panel to open the panel popup menu, then choose <menuchoice><guimenu>Add to Panel</guimenu><guimenuitem>CPU Frequency Scaling Monitor</guimenuitem></menuchoice>."
+msgstr "要把 <application>CPU 頻率調整監控程式</application> 加入面板,請在面板上按右鍵開啟彈出式選單,接著選擇 <menuchoice><guimenu>加入面板</guimenu><guimenuitem>CPU 頻率調整監控程式</guimenuitem></menuchoice>。"
+
+#: C/cpufreq-applet.xml:147(para)
+msgid "Unfortunately, CPU frequency scaling can currently only be monitored on Linux machines that have support in the kernel. It can however, support the several generations of frequency scaling interfaces in the kernel."
+msgstr "很不幸的,CPU 頻率調整目前只能監控 Linux 核心有支援的電腦。然而它可以支援核心中許多世代的頻率調整介面。"
+
+#: C/cpufreq-applet.xml:153(para)
+msgid "When there is no CPU frequency scaling support in the system, the CPU Frequency Scaling Monitor only displays the current CPU frequency."
+msgstr "當系統中的 CPU 都不支援頻率調整時,CPU 頻率調整監控程式只會顯示目前的 CPU 頻率。"
+
+#: C/cpufreq-applet.xml:154(para)
+msgid "When CPU frequency scaling is supported in the system, the CPU Frequency Scaling Monitor displays the CPU icon with a progress bar. The state of the progress bar represents the current CPU frequency with respect to the maximum frequency."
+msgstr "當系統中的 CPU 支援頻率調整時,CPU 頻率調整監控程式會顯示有進度列的 CPU 圖示。該進度列的狀態便反應了目前的 CPU 頻率與最大頻率的比例。"
+
+#: C/cpufreq-applet.xml:155(para)
+msgid "By default the CPU Frequency Scaling Monitor displays the current CPU frequency as a value in Hertz (the standard measure of frequency), but can be configured to display a percentage instead. For more information on how to configure CPU Frequency Scaling Monitor see <xref linkend=\"cpufreq-applet-prefs\"/>."
+msgstr "預設中 CPU 頻率調整監控程式會以赫茲數值(測量頻率的標準)來顯示目前的 CPU 頻率,但是也可以設定為顯示百分比。需要更多關於如何設定 CPU 頻率調整監控程式的資訊請參閱 <xref linkend=\"cpufreq-applet-prefs\"/>。"
+
+#: C/cpufreq-applet.xml:158(para)
+msgid "Each instance of CPU Frequency Scaling Monitor can monitor only one CPU. You must start an instance of CPU Frequency Scaling Monitor for each CPU that you want to monitor if you are in a multiprocessor (SMP) system."
+msgstr "每個 CPU 頻率調整監控程式的實體只能監控一個 CPU。如果您的系統為多處理器/多核心(SMP)環境,就必須為每個要監控的 CPU 啟動一個 CPU 頻率調整監控程式。"
+
+#: C/cpufreq-applet.xml:163(title)
+msgid "Understanding the Icons"
+msgstr "了解圖示"
+
+#: C/cpufreq-applet.xml:164(para)
+msgid "The CPU Frequency Scaling Monitor has a series of icons that graphically represent the current scaling level of the processor you are monitoring. They are:"
+msgstr "CPU 頻率調整監控程式具有一系列的圖示能以圖形化的方式表現出您要監控的處理器目前頻率調整的等級,它們是:"
+
+#: C/cpufreq-applet.xml:175(para)
+msgid "Icon"
+msgstr "圖示"
+
+#: C/cpufreq-applet.xml:177(para)
+msgid "Description"
+msgstr "描述"
+
+#: C/cpufreq-applet.xml:186(phrase)
+msgid "100% Power"
+msgstr "100% Power"
+
+#: C/cpufreq-applet.xml:188(para)
+msgid "The CPU is running at, or close to, 100% throughput"
+msgstr "此 CPU 正運作於,或接近 100% 運算能力"
+
+#: C/cpufreq-applet.xml:197(phrase)
+msgid "75% Power"
+msgstr "75% Power"
+
+#: C/cpufreq-applet.xml:199(para)
+msgid "The CPU is running at, or close to, 75% throughput"
+msgstr "此 CPU 正運作於,或接近 75% 運算能力"
+
+#: C/cpufreq-applet.xml:208(phrase)
+msgid "50% Power"
+msgstr "50% Power"
+
+#: C/cpufreq-applet.xml:210(para)
+msgid "The CPU is running at, or close to, 50% throughput"
+msgstr "此 CPU 正運作於,或接近 50% 運算能力"
+
+#: C/cpufreq-applet.xml:219(phrase)
+msgid "25% Power"
+msgstr "25% Power"
+
+#: C/cpufreq-applet.xml:221(para)
+msgid "The CPU is running at, or close to, 25% throughput"
+msgstr "此 CPU 正運作於,或接近 25% 運算能力"
+
+#: C/cpufreq-applet.xml:231(title)
+msgid "Frequency and Governor Selector"
+msgstr "頻率與調節器選擇程式"
+
+#: C/cpufreq-applet.xml:232(para)
+msgid "The Frequency Selector functionality may not be available on your MATE Desktop by default. Please consult your system administrator, vendor documentation, or the documentation that came with this software."
+msgstr "頻率選擇程式功能在您的 MATE 桌面預設可能無法使用。請諮詢您的系統管理者、廠商文件,或是本軟體隨附的文件。"
+
+#: C/cpufreq-applet.xml:236(para)
+msgid "To set the CPU frequency, (left-)click on the monitor and a menu will be shown. This menu will offer you a list of available frequencies and/or frequency governors for your machine."
+msgstr "要設定 CPU 頻率,在監控程式上按左鍵就會顯示一個選單。這個選單會提供您的電腦上可用的頻率或頻率調節器清單。"
+
+#: C/cpufreq-applet.xml:241(para)
+msgid "You can choose whether you want to show available frequencies or governors in the <guilabel>Preferences</guilabel>. See <xref linkend=\"cpufreq-applet-prefs\"/> for more information."
+msgstr "您可以在 <guilabel>偏好設定</guilabel> 中選擇是否顯示可用的頻率或調節器。請參閱 <xref linkend=\"cpufreq-applet-prefs\"/> 以獲得更多資訊。"
+
+#: C/cpufreq-applet.xml:248(title)
+msgid "Frequency selector showing just frequencies"
+msgstr "頻率選擇程式只顯示頻率"
+
+#: C/cpufreq-applet.xml:259(title)
+msgid "Frequency selector showing both frequencies and governors"
+msgstr "頻率選擇程式同時顯示頻率和調節器"
+
+#: C/cpufreq-applet.xml:274(title)
+msgid "Preferences"
+msgstr "偏好設定"
+
+#: C/cpufreq-applet.xml:275(para)
+msgid "To configure the <application>CPU Frequency Scaling Monitor</application>, right-click on the applet, then choose <guimenuitem>Preferences</guimenuitem> from the popup menu."
+msgstr "要設定 <application>CPU 頻率調整監控程式</application> ,請在面板上按右鍵,接著在彈出式選單中選擇 <guimenuitem>偏好設定</guimenuitem>。"
+
+#: C/cpufreq-applet.xml:276(para)
+msgid "The <guimenuitem>Preferences</guimenuitem> dialog contains the following components:"
+msgstr "<guimenuitem>偏好設定</guimenuitem> 對話盒包含下列元件:"
+
+#: C/cpufreq-applet.xml:278(title)
+msgid "CPU Frequency Scaling Monitor Preferences Dialog"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒"
+
+#: C/cpufreq-applet.xml:284(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒"
+
+#: C/cpufreq-applet.xml:292(guilabel)
+msgid "Monitored CPU (only in multiprocessor systems)"
+msgstr "監控的 CPU (只用於多處理器系統)"
+
+#: C/cpufreq-applet.xml:294(para)
+msgid "Use this drop-down list to select the CPU that you want to monitor."
+msgstr "使用下拉式選單來選擇要監控的 CPU。"
+
+#: C/cpufreq-applet.xml:296(title)
+msgid "Selecting the CPU to monitor"
+msgstr "選擇要監控的 CPU"
+
+#: C/cpufreq-applet.xml:302(phrase)
+msgid "CPU Frequency Scaling Monitor preferences dialog CPU selector"
+msgstr "CPU 頻率調整監控程式偏好設定對話盒 CPU 選擇器"
+
+#: C/cpufreq-applet.xml:307(para)
+msgid "The <guilabel>Monitored CPU</guilabel> option will only appear on multiprocessor (SMP) systems."
+msgstr "<guilabel>受監控的 CPU</guilabel> 選項只有在多處理器 (SMP) 系統中會出現。"
+
+#: C/cpufreq-applet.xml:315(guilabel)
+msgid "Show in Mode"
+msgstr "顯示模式"
+
+#: C/cpufreq-applet.xml:317(para)
+msgid "Use this drop-down list to select the mode in which you want to display the applet. Available modes are: Graphic, Text and both (Graphic and Text)"
+msgstr "使用這個下拉式選單來選擇此面板程式的顯示模式。可用的模式有:圖示、文字 、圖示及文字"
+
+#: C/cpufreq-applet.xml:323(guilabel)
+msgid "Show CPU frequency as frequency"
+msgstr "以頻率來顯示 CPU 頻率"
+
+#: C/cpufreq-applet.xml:325(para)
+msgid "Select this option to display the current CPU frequency."
+msgstr "選擇這個選項以顯示目前的 CPU 頻率。"
+
+#: C/cpufreq-applet.xml:329(guilabel)
+msgid "Show frequency units"
+msgstr "顯示頻率單位"
+
+#: C/cpufreq-applet.xml:331(para)
+msgid "Select this option to display or not the frequency units in the frequency mode."
+msgstr "選擇這個選項以決定在頻率模式中是否顯示頻率單位。"
+
+#: C/cpufreq-applet.xml:336(guilabel)
+msgid "Show CPU frequency as percentage"
+msgstr "以百分比來顯示 CPU 頻率"
+
+#: C/cpufreq-applet.xml:338(para)
+msgid "Select this option to display the current CPU frequency as a percentage."
+msgstr "選擇這個選項將目前的 CPU 頻率顯示為百分比。"
+
+#: C/cpufreq-applet.xml:343(guilabel)
+msgid "Show menu"
+msgstr "顯示選單"
+
+#: C/cpufreq-applet.xml:353(title)
+msgid "The selector configured to Frequencies and Governors"
+msgstr "這個選擇程式設定為頻率和調節器"
+
+#: C/cpufreq-applet.xml:359(phrase)
+msgid "CPU governors selector"
+msgstr "CPU 調節器選擇程式"
+
+#: C/cpufreq-applet.xml:345(para)
+msgid "This option allows you to choose how much information is shown in the frequency selector dropdown (see <xref linkend=\"mate-cpufreq-selector\"/>). You can select to display <guilabel>Frequencies</guilabel>, <guilabel>Governors</guilabel> or both <guilabel>Frequencies and Governors</guilabel>. <placeholder-1/>"
+msgstr "這個選項讓您選擇在頻率選擇程式下拉式選單(請查閱 <xref linkend=\"mate-cpufreq-selector\"/>)中要顯示多少資訊。您可以選擇顯示<guilabel>頻率</guilabel>、<guilabel>調節器</guilabel> 或是 <guilabel>頻率和調節器</guilabel>。<placeholder-1/>"
+
+#. Put one translator per line, in the form of NAME <EMAIL>, YEAR1, YEAR2.
+#: C/cpufreq-applet.xml:0(None)
+msgid "translator-credits"
+msgstr ""
+"如對翻譯有任何意見,請送一封電子郵件給\n"
+"以下地址,MATE 翻譯團隊會盡快回覆您:\n"
+"\n"
+"Chao-Hsiung Liao <[email protected]>, 2008."
+
diff --git a/cpufreq/org.mate.applets.CPUFreqApplet.mate-panel-applet.in.in b/cpufreq/org.mate.applets.CPUFreqApplet.mate-panel-applet.in.in
new file mode 100644
index 00000000..d76b362e
--- /dev/null
+++ b/cpufreq/org.mate.applets.CPUFreqApplet.mate-panel-applet.in.in
@@ -0,0 +1,15 @@
+[Applet Factory]
+Id=CPUFreqAppletFactory
+Location=@LIBEXECDIR@/cpufreq-applet
+_Name=CPU Frequency Scaling Monitor
+_Description=Monitor the CPU Frequency Scaling
+
+[CPUFreqApplet]
+_Name=CPU Frequency Scaling Monitor
+_Description=Monitor the CPU Frequency Scaling
+Icon=mate-cpu-frequency-applet
+MateComponentId=OAFIID:MATE_CPUFreqApplet
+X-MATE-Bugzilla-Bugzilla=MATE
+X-MATE-Bugzilla-Product=mate-applets
+X-MATE-Bugzilla-Component=cpufreq
+X-MATE-Bugzilla-Version=@VERSION@
diff --git a/cpufreq/org.mate.panel.applet.CPUFreqAppletFactory.service.in b/cpufreq/org.mate.panel.applet.CPUFreqAppletFactory.service.in
new file mode 100644
index 00000000..d1699748
--- /dev/null
+++ b/cpufreq/org.mate.panel.applet.CPUFreqAppletFactory.service.in
@@ -0,0 +1,3 @@
+[D-BUS Service]
+Name=org.mate.panel.applet.CPUFreqAppletFactory
+Exec=@LIBEXECDIR@/cpufreq-applet
diff --git a/cpufreq/pixmaps/Makefile.am b/cpufreq/pixmaps/Makefile.am
new file mode 100644
index 00000000..e13dcad5
--- /dev/null
+++ b/cpufreq/pixmaps/Makefile.am
@@ -0,0 +1,64 @@
+
+cpufreq_pixmapdir = $(pixmapsdir)/cpufreq-applet
+cpufreq_pixmap_DATA = \
+ cpufreq-100.png \
+ cpufreq-75.png \
+ cpufreq-50.png \
+ cpufreq-25.png \
+ cpufreq-na.png
+
+icons = \
+ mate-cpu-frequency-applet.16.png \
+ mate-cpu-frequency-applet.22.png \
+ mate-cpu-frequency-applet.24.png \
+ mate-cpu-frequency-applet.32.png \
+ mate-cpu-frequency-applet.svg
+
+EXTRA_DIST = \
+ $(cpufreq_pixmap_DATA) \
+ $(icons)
+
+gtk_update_icon_cache = gtk-update-icon-cache -f -t $(datadir)/icons/hicolor
+
+uninstall-local:
+ for icon in $(icons); do \
+ SIZE=`echo $$icon | cut -d. -f2`; \
+ FILE=`echo $$icon | cut -d. -f1,3`; \
+ if [ "$$SIZE" = "svg" ]; then \
+ SIZE="scalable"; \
+ FILE="$$FILE.svg"; \
+ else \
+ SIZE="$${SIZE}x$${SIZE}"; \
+ fi; \
+ rm -f $(DESTDIR)$(iconsdir)/hicolor/$$SIZE/apps/$$FILE; \
+ done
+ @-if test -z "$(DESTDIR)"; then \
+ echo "Updating Gtk icon cache."; \
+ $(gtk_update_icon_cache); \
+ else \
+ echo "*** Icon cache not updated. After install, run this:"; \
+ echo "*** $(gtk_update_icon_cache)"; \
+ fi
+
+install-data-local:
+ for icon in $(icons); do \
+ SIZE=`echo $$icon | cut -d. -f2`; \
+ FILE=`echo $$icon | cut -d. -f1,3`; \
+ if [ "$$SIZE" = "svg" ]; then \
+ SIZE="scalable"; \
+ FILE="$$FILE.svg"; \
+ else \
+ SIZE="$${SIZE}x$${SIZE}"; \
+ fi; \
+ mkdir -p $(DESTDIR)$(iconsdir)/hicolor/$$SIZE/apps/; \
+ $(INSTALL_DATA) $(srcdir)/$$icon $(DESTDIR)$(iconsdir)/hicolor/$$SIZE/apps/$$FILE; \
+ done
+ @-if test -z "$(DESTDIR)"; then \
+ echo "Updating Gtk icon cache."; \
+ $(gtk_update_icon_cache); \
+ else \
+ echo "*** Icon cache not updated. After install, run this:"; \
+ echo "*** $(gtk_update_icon_cache)"; \
+ fi
+
+-include $(top_srcdir)/git.mk
diff --git a/cpufreq/pixmaps/cpufreq-100.png b/cpufreq/pixmaps/cpufreq-100.png
new file mode 100644
index 00000000..6b63453a
--- /dev/null
+++ b/cpufreq/pixmaps/cpufreq-100.png
Binary files differ
diff --git a/cpufreq/pixmaps/cpufreq-25.png b/cpufreq/pixmaps/cpufreq-25.png
new file mode 100644
index 00000000..ae2acf6c
--- /dev/null
+++ b/cpufreq/pixmaps/cpufreq-25.png
Binary files differ
diff --git a/cpufreq/pixmaps/cpufreq-50.png b/cpufreq/pixmaps/cpufreq-50.png
new file mode 100644
index 00000000..03ab5e3b
--- /dev/null
+++ b/cpufreq/pixmaps/cpufreq-50.png
Binary files differ
diff --git a/cpufreq/pixmaps/cpufreq-75.png b/cpufreq/pixmaps/cpufreq-75.png
new file mode 100644
index 00000000..49e9342d
--- /dev/null
+++ b/cpufreq/pixmaps/cpufreq-75.png
Binary files differ
diff --git a/cpufreq/pixmaps/cpufreq-na.png b/cpufreq/pixmaps/cpufreq-na.png
new file mode 100644
index 00000000..9a1b3b44
--- /dev/null
+++ b/cpufreq/pixmaps/cpufreq-na.png
Binary files differ
diff --git a/cpufreq/pixmaps/mate-cpu-frequency-applet.16.png b/cpufreq/pixmaps/mate-cpu-frequency-applet.16.png
new file mode 100644
index 00000000..88dcb816
--- /dev/null
+++ b/cpufreq/pixmaps/mate-cpu-frequency-applet.16.png
Binary files differ
diff --git a/cpufreq/pixmaps/mate-cpu-frequency-applet.22.png b/cpufreq/pixmaps/mate-cpu-frequency-applet.22.png
new file mode 100644
index 00000000..1ebac473
--- /dev/null
+++ b/cpufreq/pixmaps/mate-cpu-frequency-applet.22.png
Binary files differ
diff --git a/cpufreq/pixmaps/mate-cpu-frequency-applet.24.png b/cpufreq/pixmaps/mate-cpu-frequency-applet.24.png
new file mode 100644
index 00000000..c02cc7ab
--- /dev/null
+++ b/cpufreq/pixmaps/mate-cpu-frequency-applet.24.png
Binary files differ
diff --git a/cpufreq/pixmaps/mate-cpu-frequency-applet.32.png b/cpufreq/pixmaps/mate-cpu-frequency-applet.32.png
new file mode 100644
index 00000000..704757c5
--- /dev/null
+++ b/cpufreq/pixmaps/mate-cpu-frequency-applet.32.png
Binary files differ
diff --git a/cpufreq/pixmaps/mate-cpu-frequency-applet.svg b/cpufreq/pixmaps/mate-cpu-frequency-applet.svg
new file mode 100644
index 00000000..bcc08cf0
--- /dev/null
+++ b/cpufreq/pixmaps/mate-cpu-frequency-applet.svg
@@ -0,0 +1,753 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+<svg
+ xmlns:s="http://inkscape.sourceforge.net/DTD/s odipodi-0.dtd"
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://web.resource.org/cc/"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="32"
+ height="32"
+ id="svg2"
+ s:version="0.32"
+ inkscape:version="0.43+devel"
+ version="1.0"
+ s:docbase="/home/lapo/Desktop/mate-applets/32x32"
+ s:docname="Icona 48x48.svg"
+ inkscape:export-filename="/home/lapo/Desktop/xubuntu/pngs/wksp.png"
+ inkscape:export-xdpi="90"
+ inkscape:export-ydpi="90"
+ sodipodi:version="0.32"
+ sodipodi:docname="cpufreq.svg"
+ sodipodi:docbase="/home/lapo/Desktop/mate-applets/32x32">
+ <sodipodi:namedview
+ inkscape:window-height="581"
+ inkscape:window-width="1034"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ borderopacity="1.0"
+ bordercolor="#666666"
+ pagecolor="#ffffff"
+ id="base"
+ showborder="false"
+ showgrid="false"
+ inkscape:grid-points="false"
+ gridspacingx="0.5px"
+ gridspacingy="0.5px"
+ gridempspacing="2"
+ inkscape:zoom="1"
+ inkscape:cx="33.363026"
+ inkscape:cy="-2.4389324"
+ inkscape:window-x="5"
+ inkscape:window-y="49"
+ inkscape:current-layer="layer1" />
+ <defs
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2836">
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="0"
+ id="stop2838" />
+ <stop
+ style="stop-color:black;stop-opacity:0;"
+ offset="1"
+ id="stop2840" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3819">
+ <stop
+ style="stop-color:#2e3436;stop-opacity:1"
+ offset="0"
+ id="stop3821" />
+ <stop
+ style="stop-color:#888a85;stop-opacity:1"
+ offset="1"
+ id="stop3823" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3807">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop3809" />
+ <stop
+ style="stop-color:#eeeeec;stop-opacity:1;"
+ offset="1"
+ id="stop3811" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3759">
+ <stop
+ style="stop-color:#c4a000;stop-opacity:1;"
+ offset="0"
+ id="stop3761" />
+ <stop
+ style="stop-color:#c4a000;stop-opacity:1;"
+ offset="1"
+ id="stop3763" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3751">
+ <stop
+ style="stop-color:#555753;stop-opacity:1"
+ offset="0"
+ id="stop3753" />
+ <stop
+ style="stop-color:#2e3436;stop-opacity:1;"
+ offset="1"
+ id="stop3755" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3734">
+ <stop
+ style="stop-color:#888a85;stop-opacity:1"
+ offset="0"
+ id="stop3736" />
+ <stop
+ style="stop-color:#555753;stop-opacity:1"
+ offset="1"
+ id="stop3738" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3718">
+ <stop
+ style="stop-color:#babdb6;stop-opacity:1;"
+ offset="0"
+ id="stop3720" />
+ <stop
+ style="stop-color:#babdb6;stop-opacity:0;"
+ offset="1"
+ id="stop3722" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3709">
+ <stop
+ style="stop-color:white;stop-opacity:1;"
+ offset="0"
+ id="stop3711" />
+ <stop
+ style="stop-color:black;stop-opacity:1;"
+ offset="1"
+ id="stop3713" />
+ </linearGradient>
+ <linearGradient
+ id="linearGradient3691">
+ <stop
+ style="stop-color:#d3d7cf;stop-opacity:1;"
+ offset="0"
+ id="stop3693" />
+ <stop
+ style="stop-color:#555753;stop-opacity:1"
+ offset="1"
+ id="stop3695" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2301">
+ <stop
+ style="stop-color:#000000;stop-opacity:1;"
+ offset="0"
+ id="stop2303" />
+ <stop
+ style="stop-color:#000000;stop-opacity:0;"
+ offset="1"
+ id="stop2305" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient2181">
+ <stop
+ style="stop-color:#d3d7cf"
+ offset="0"
+ id="stop2183" />
+ <stop
+ style="stop-color:#eeeeec"
+ offset="1"
+ id="stop2185" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2181"
+ id="linearGradient2187"
+ x1="21.25"
+ y1="5.8177266"
+ x2="29.875"
+ y2="77.597641"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="translate(0,2)" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2301"
+ id="radialGradient2307"
+ cx="22.5"
+ cy="41"
+ fx="22.5"
+ fy="41"
+ r="22.5"
+ gradientTransform="matrix(1,0,0,0.222222,0,31.88889)"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3709"
+ id="radialGradient3715"
+ cx="23.33289"
+ cy="7.3333335"
+ fx="23.33289"
+ fy="7.3333335"
+ r="1"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(0,-1.686994,1.687192,4.655921e-7,10.98142,46.71661)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3718"
+ id="linearGradient3724"
+ x1="5.0001431"
+ y1="6"
+ x2="11.25"
+ y2="33.625"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3734"
+ id="radialGradient3740"
+ cx="7.5011554"
+ cy="6.4605374"
+ fx="7.5011554"
+ fy="6.4605374"
+ r="11.503118"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(5.691873,0,2.068335e-5,3.06805,-35.8266,-13.37869)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3751"
+ id="linearGradient3757"
+ x1="2.4375"
+ y1="-2.375"
+ x2="4.4375"
+ y2="25.999998"
+ gradientUnits="userSpaceOnUse" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3759"
+ id="linearGradient3765"
+ x1="26.189581"
+ y1="15.37724"
+ x2="29.00481"
+ y2="15.37724"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3807"
+ id="radialGradient3813"
+ cx="16.781393"
+ cy="18.712614"
+ fx="16.781393"
+ fy="18.712614"
+ r="7.96875"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1.742709,0,0,1.742709,-12.33883,-13.79814)" />
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3819"
+ id="linearGradient3825"
+ x1="13.742183"
+ y1="9.6718721"
+ x2="18.371088"
+ y2="21.976557"
+ gradientUnits="userSpaceOnUse" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2836"
+ id="radialGradient2903"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.98419,0,0.25)"
+ cx="15.8125"
+ cy="15.8125"
+ fx="15.8125"
+ fy="15.8125"
+ r="15.8125" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2836"
+ id="radialGradient2905"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.98419,0,0.25)"
+ cx="15.8125"
+ cy="15.8125"
+ fx="15.8125"
+ fy="15.8125"
+ r="15.8125" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2836"
+ id="radialGradient2907"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.98419,0,0.25)"
+ cx="15.8125"
+ cy="15.8125"
+ fx="15.8125"
+ fy="15.8125"
+ r="15.8125" />
+ <radialGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient2836"
+ id="radialGradient2909"
+ gradientUnits="userSpaceOnUse"
+ gradientTransform="matrix(1,0,0,0.98419,0,0.25)"
+ cx="15.8125"
+ cy="15.8125"
+ fx="15.8125"
+ fy="15.8125"
+ r="15.8125" />
+ </defs>
+ <s:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="16"
+ inkscape:cx="13.841515"
+ inkscape:cy="17.184759"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="false"
+ gridempspacing="2"
+ gridspacingx="0.5px"
+ gridspacingy="0.5px"
+ inkscape:window-width="1034"
+ inkscape:window-height="763"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ fill="#729fcf"
+ stroke="#3465a4"
+ inkscape:showpageshadow="false"
+ showguides="false"
+ inkscape:guide-bbox="true"
+ inkscape:grid-points="true"
+ inkscape:grid-bbox="true"
+ showborder="false"
+ width="32px"
+ height="32px"
+ inkscape:object-paths="false"
+ gridtolerance="10000">
+ <s:guide
+ orientation="vertical"
+ position="24.041631"
+ id="guide2191" />
+ <s:guide
+ orientation="horizontal"
+ position="25.986174"
+ id="guide2203" />
+ </s:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:creator>
+ <cc:Agent>
+ <dc:title>Lapo Calamandrei</dc:title>
+ </cc:Agent>
+ </dc:creator>
+ <dc:title />
+ <dc:subject>
+ <rdf:Bag />
+ </dc:subject>
+ <cc:license
+ rdf:resource="http://creativecommons.org/licenses/GPL/2.0/" />
+ </cc:Work>
+ <cc:License
+ rdf:about="http://creativecommons.org/licenses/GPL/2.0/">
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Reproduction" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/Distribution" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/Notice" />
+ <cc:permits
+ rdf:resource="http://web.resource.org/cc/DerivativeWorks" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/ShareAlike" />
+ <cc:requires
+ rdf:resource="http://web.resource.org/cc/SourceCode" />
+ </cc:License>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Livello 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="display:inline">
+ <g
+ id="g3642"
+ transform="translate(0,-1)">
+ <rect
+ y="10.50224"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3632"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="6.5022388"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3634"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="18.5"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3636"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="14.5"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3638"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="22.502239"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3640"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3649"
+ transform="matrix(0,1,-1,0,30.99776,-1)">
+ <rect
+ y="10.50224"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3651"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="6.5022388"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3653"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="18.5"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3655"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="14.5"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3657"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="22.502239"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3659"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3661"
+ transform="matrix(0,1,-1,0,30.99776,-25)">
+ <rect
+ y="10.50224"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3663"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="6.5022388"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3665"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="18.5"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3667"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="14.5"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3669"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="22.502239"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3671"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:#c4a000;stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <g
+ id="g3673"
+ transform="translate(-24.00208,-1.00224)"
+ style="fill-opacity:1;stroke:url(#linearGradient3765)">
+ <rect
+ y="10.50224"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3675"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3765);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="6.5022388"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3677"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3765);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="18.5"
+ x="26.500011"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3679"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3765);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="14.5"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3681"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3765);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ <rect
+ y="22.502239"
+ x="26.5"
+ height="1.9977611"
+ width="2.0020726"
+ id="rect3683"
+ style="opacity:1;color:black;fill:#fce94f;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3765);stroke-width:1.00000012;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible" />
+ </g>
+ <rect
+ style="opacity:1;color:black;fill:url(#radialGradient3740);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3757);stroke-width:0.9999997;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect1872"
+ width="22.006237"
+ height="22.006237"
+ x="4.4937639"
+ y="3.493762" />
+ <path
+ s:type="arc"
+ style="opacity:0.35;color:black;fill:url(#radialGradient3715);fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3707"
+ s:cx="23"
+ s:cy="7"
+ s:rx="1"
+ s:ry="1"
+ d="M 24,7 C 24,7.5522847 23.552285,8 23,8 C 22.447715,8 22,7.5522847 22,7 C 22,6.4477153 22.447715,6 23,6 C 23.552285,6 24,6.4477153 24,7 z "
+ transform="matrix(1.5,0,0,1.5,-11,-4)" />
+ <rect
+ style="opacity:1;color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3724);stroke-width:0.99999934;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="rect3620"
+ width="19.999857"
+ height="19.999855"
+ x="5.5001426"
+ y="4.5001454" />
+ <path
+ s:type="arc"
+ style="opacity:1;color:black;fill:url(#radialGradient3813);fill-opacity:1;fill-rule:nonzero;stroke:url(#linearGradient3825);stroke-width:0.9375;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3797"
+ s:cx="15.5"
+ s:cy="16"
+ s:rx="7.5"
+ s:ry="7.5"
+ d="M 23,16 C 23,20.142136 19.642136,23.5 15.5,23.5 C 11.357864,23.5 8,20.142136 8,16 C 8,11.857864 11.357864,8.5 15.5,8.5 C 19.642136,8.5 23,11.857864 23,16 L 23,16 z "
+ transform="matrix(1.066667,0,0,1.066667,-1.033333,-2.566667)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47843137;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2879"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.131371,0,0,1.114329,4.199998,-10.14577)" />
+ <g
+ id="g2867">
+ <path
+ transform="matrix(1.15,0,0,1.114329,1.972769,-1.664891)"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ sodipodi:ry="0.45299029"
+ sodipodi:rx="0.44194174"
+ sodipodi:cy="18.531826"
+ sodipodi:cx="13.523417"
+ id="path2863"
+ style="opacity:0.18431373;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ <path
+ transform="matrix(1.15,0,0,1.114329,-2.060163,-1.645771)"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ sodipodi:ry="0.45299029"
+ sodipodi:rx="0.44194174"
+ sodipodi:cy="18.531826"
+ sodipodi:cx="13.523417"
+ id="path2865"
+ style="opacity:0.18431373;color:black;fill:black;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ sodipodi:type="arc" />
+ </g>
+ <path
+ style="opacity:1;fill:#c00;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 20,19 L 18,17 C 19,16 19,14 18.976582,10.971629 C 20,12 23,16 20,19 z "
+ id="path3877"
+ sodipodi:nodetypes="cccc" />
+ <path
+ style="opacity:0.1;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 19.742639,10.257365 L 18.328425,11.671579"
+ id="path3873" />
+ <path
+ style="opacity:0.11764706;fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 15.5,14.5 L 21,11 L 17.5,16.5 L 15,17 L 15.5,14.5 z "
+ id="path3831" />
+ <path
+ style="opacity:0.1;fill:#babdb6;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 12.671569,17.328435 L 11.257355,18.742649"
+ id="path3875" />
+ <path
+ s:type="arc"
+ style="opacity:1;color:black;fill:none;fill-opacity:1;fill-rule:nonzero;stroke:#d3d7cf;stroke-width:1.07142735;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path3815"
+ s:cx="15.5"
+ s:cy="16"
+ s:rx="7.5"
+ s:ry="7.5"
+ d="M 23,16 C 23,20.142136 19.642136,23.5 15.5,23.5 C 11.357864,23.5 8,20.142136 8,16 C 8,11.857864 11.357864,8.5 15.5,8.5 C 19.642136,8.5 23,11.857864 23,16 L 23,16 z "
+ transform="matrix(0.933334,0,0,0.933334,1.033327,-0.433359)" />
+ <g
+ id="g3859">
+ <path
+ id="path3827"
+ d="M 14.5,13.5 L 20,10 L 16.5,15.5 L 14,16 L 14.5,13.5 z "
+ style="fill:black;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+ <path
+ d="M 16,14.5 C 16,14.776142 15.776142,15 15.5,15 C 15.223858,15 15,14.776142 15,14.5 C 15,14.223858 15.223858,14 15.5,14 C 15.776142,14 16,14.223858 16,14.5 z "
+ s:ry="0.5"
+ s:rx="0.5"
+ s:cy="14.5"
+ s:cx="15.5"
+ id="path3829"
+ style="opacity:1;color:black;fill:#eeeeec;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:square;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ s:type="arc" />
+ </g>
+ <path
+ style="opacity:0.1;fill:none;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 15.5,8.5 L 15.5,10.5"
+ id="path3865" />
+ <path
+ style="opacity:0.1;fill:#babdb6;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 11.5,14.5 L 9.5,14.5"
+ id="path3871" />
+ <path
+ style="opacity:0.1;fill:#babdb6;fill-opacity:0.75;fill-rule:evenodd;stroke:black;stroke-width:1.00000036px;stroke-linecap:round;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 12.671569,11.671579 L 11.257355,10.257365"
+ id="path3879" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2859"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.15,0,0,1.114329,-2.060163,-2.145771)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:1;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2861"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.15,0,0,1.114329,1.956303,-2.155331)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47843137;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2871"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.15,0,0,1.114329,-4.043697,-2.155331)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47843137;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2873"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.15,0,0,1.114329,-6.060163,-6.145771)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47843137;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2875"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.131371,0,0,1.114329,-3.799999,-10.15533)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.47843137;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2877"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.15,0,0,1.114329,-6.016309e-2,-12.14577)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.55294118;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2881"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.131371,0,0,1.114329,6.199998,-6.155331)" />
+ <path
+ sodipodi:type="arc"
+ style="opacity:0.55294118;color:black;fill:#2e3436;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1;stroke-linecap:round;stroke-linejoin:miter;marker:none;marker-start:none;marker-mid:none;marker-end:none;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;visibility:visible;display:inline;overflow:visible"
+ id="path2883"
+ sodipodi:cx="13.523417"
+ sodipodi:cy="18.531826"
+ sodipodi:rx="0.44194174"
+ sodipodi:ry="0.45299029"
+ d="M 13.965359 18.531826 A 0.44194174 0.45299029 0 1 1 13.081476,18.531826 A 0.44194174 0.45299029 0 1 1 13.965359 18.531826 z"
+ transform="matrix(1.131371,0,0,1.114329,4.199998,-2.155331)" />
+ </g>
+</svg>
diff --git a/cpufreq/src/Makefile.am b/cpufreq/src/Makefile.am
new file mode 100644
index 00000000..db5679d0
--- /dev/null
+++ b/cpufreq/src/Makefile.am
@@ -0,0 +1,40 @@
+if BUILD_CPUFREQ_SELECTOR
+selector_SUBDIR = cpufreq-selector
+endif
+
+SUBDIRS = $(selector_SUBDIR)
+
+INCLUDES = \
+ -DCPUFREQ_MENU_UI_DIR=\""$(datadir)/mate-2.0/ui"\" \
+ $(MATE_APPLETS3_CFLAGS) \
+ $(LIBGLADE_CFLAGS) \
+ $(DBUS_CFLAGS)
+
+libexec_PROGRAMS = cpufreq-applet
+
+if HAVE_LIBCPUFREQ
+cpufreq_files=cpufreq-monitor-libcpufreq.c cpufreq-monitor-libcpufreq.h
+endif
+
+cpufreq_applet_SOURCES = \
+ cpufreq-applet.c cpufreq-applet.h \
+ cpufreq-utils.c cpufreq-utils.h \
+ cpufreq-prefs.c cpufreq-prefs.h \
+ cpufreq-selector.c cpufreq-selector.h \
+ cpufreq-popup.c cpufreq-popup.h \
+ cpufreq-monitor.c cpufreq-monitor.h \
+ cpufreq-monitor-factory.c cpufreq-monitor-factory.h \
+ cpufreq-monitor-procfs.c cpufreq-monitor-procfs.h \
+ cpufreq-monitor-sysfs.c cpufreq-monitor-sysfs.h \
+ $(cpufreq_files) \
+ cpufreq-monitor-cpuinfo.c cpufreq-monitor-cpuinfo.h
+
+cpufreq_applet_LDADD = \
+ $(MATE_APPLETS3_LIBS) \
+ $(LIBGLADE_LIBS) \
+ $(LIBCPUFREQ_LIBS) \
+ $(DBUS_LIBS)
+
+
+
+-include $(top_srcdir)/git.mk
diff --git a/cpufreq/src/cpufreq-applet.c b/cpufreq/src/cpufreq-applet.c
new file mode 100644
index 00000000..07a80339
--- /dev/null
+++ b/cpufreq/src/cpufreq-applet.c
@@ -0,0 +1,1032 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <gdk/gdkkeysyms.h>
+#include <mate-panel-applet.h>
+#include <mate-panel-applet-mateconf.h>
+#include <glib/gi18n.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "cpufreq-applet.h"
+#include "cpufreq-prefs.h"
+#include "cpufreq-popup.h"
+#include "cpufreq-monitor.h"
+#include "cpufreq-monitor-factory.h"
+#include "cpufreq-utils.h"
+
+struct _CPUFreqApplet {
+ MatePanelApplet base;
+
+ /* Visibility */
+ CPUFreqShowMode show_mode;
+ CPUFreqShowTextMode show_text_mode;
+ gboolean show_freq;
+ gboolean show_perc;
+ gboolean show_unit;
+ gboolean show_icon;
+
+ CPUFreqMonitor *monitor;
+
+ MatePanelAppletOrient orient;
+ gint size;
+
+ GtkWidget *label;
+ GtkWidget *unit_label;
+ GtkWidget *icon;
+ GtkWidget *box;
+ GtkWidget *labels_box;
+ GtkWidget *container;
+ GdkPixbuf *pixbufs[5];
+
+ gint max_label_width;
+ gint max_perc_width;
+ gint max_unit_width;
+
+ gboolean need_refresh;
+
+ CPUFreqPrefs *prefs;
+ CPUFreqPopup *popup;
+};
+
+struct _CPUFreqAppletClass {
+ MatePanelAppletClass parent_class;
+};
+
+static void cpufreq_applet_init (CPUFreqApplet *applet);
+static void cpufreq_applet_class_init (CPUFreqAppletClass *klass);
+
+static void cpufreq_applet_preferences_cb (GtkAction *action,
+ CPUFreqApplet *applet);
+static void cpufreq_applet_help_cb (GtkAction *action,
+ CPUFreqApplet *applet);
+static void cpufreq_applet_about_cb (GtkAction *action,
+ CPUFreqApplet *applet);
+
+static void cpufreq_applet_pixmap_set_image (CPUFreqApplet *applet,
+ gint perc);
+
+static void cpufreq_applet_setup (CPUFreqApplet *applet);
+static void cpufreq_applet_update (CPUFreqApplet *applet,
+ CPUFreqMonitor *monitor);
+static void cpufreq_applet_refresh (CPUFreqApplet *applet);
+
+static void cpufreq_applet_destroy (GtkObject *widget);
+static gboolean cpufreq_applet_button_press (GtkWidget *widget,
+ GdkEventButton *event);
+static gboolean cpufreq_applet_key_press (GtkWidget *widget,
+ GdkEventKey *event);
+static void cpufreq_applet_size_allocate (GtkWidget *widget,
+ GtkAllocation *allocation);
+static void cpufreq_applet_size_request (GtkWidget *widget,
+ GtkRequisition *requisition);
+static void cpufreq_applet_change_orient (MatePanelApplet *pa,
+ MatePanelAppletOrient orient);
+static gboolean cpufreq_applet_factory (CPUFreqApplet *applet,
+ const gchar *iid,
+ gpointer gdata);
+
+static const gchar *const cpufreq_icons[] = {
+ MATE_PIXMAPSDIR"/cpufreq-applet/cpufreq-25.png",
+ MATE_PIXMAPSDIR"/cpufreq-applet/cpufreq-50.png",
+ MATE_PIXMAPSDIR"/cpufreq-applet/cpufreq-75.png",
+ MATE_PIXMAPSDIR"/cpufreq-applet/cpufreq-100.png",
+ MATE_PIXMAPSDIR"/cpufreq-applet/cpufreq-na.png",
+ NULL
+};
+
+static const GtkActionEntry cpufreq_applet_menu_actions[] = {
+ { "CPUFreqAppletPreferences", GTK_STOCK_PROPERTIES, N_("_Preferences"),
+ NULL, NULL,
+ G_CALLBACK (cpufreq_applet_preferences_cb) },
+ { "CPUFreqAppletHelp", GTK_STOCK_HELP, N_("_Help"),
+ NULL, NULL,
+ G_CALLBACK (cpufreq_applet_help_cb) },
+ { "CPUFreqAppletAbout", GTK_STOCK_ABOUT, N_("_About"),
+ NULL, NULL,
+ G_CALLBACK (cpufreq_applet_about_cb) }
+};
+
+G_DEFINE_TYPE (CPUFreqApplet, cpufreq_applet, PANEL_TYPE_APPLET)
+
+/* Enum Types */
+GType
+cpufreq_applet_show_mode_get_type (void)
+{
+ static GType etype = 0;
+
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { CPUFREQ_MODE_GRAPHIC, "CPUFREQ_MODE_GRAPHIC", "mode-graphic" },
+ { CPUFREQ_MODE_TEXT, "CPUFREQ_MODE_TEXT", "mode-text" },
+ { CPUFREQ_MODE_BOTH, "CPUFREQ_MODE_BOTH", "mode-both" },
+ { 0, NULL, NULL }
+ };
+
+ etype = g_enum_register_static ("CPUFreqShowMode", values);
+ }
+
+ return etype;
+}
+
+GType
+cpufreq_applet_show_text_mode_get_type (void)
+{
+ static GType etype = 0;
+
+ if (etype == 0) {
+ static const GEnumValue values[] = {
+ { CPUFREQ_MODE_TEXT_FREQUENCY, "CPUFREQ_MODE_TEXT_FREQUENCY", "mode-text-frequency" },
+ { CPUFREQ_MODE_TEXT_FREQUENCY_UNIT, "CPUFREQ_MODE_TEXT_FREQUENCY_UNIT", "mode-text-frequency-unit" },
+ { CPUFREQ_MODE_TEXT_PERCENTAGE, "CPUFREQ_MODE_TEXT_PERCENTAGE", "mode-text-percentage" },
+ { 0, NULL, NULL }
+ };
+
+ etype = g_enum_register_static ("CPUFreqShowTextMode", values);
+ }
+
+ return etype;
+}
+
+static void
+cpufreq_applet_init (CPUFreqApplet *applet)
+{
+ applet->prefs = NULL;
+ applet->popup = NULL;
+ applet->monitor = NULL;
+
+ applet->label = gtk_label_new (NULL);
+ applet->unit_label = gtk_label_new (NULL);
+ applet->icon = gtk_image_new ();
+ applet->box = NULL;
+
+ applet->show_mode = CPUFREQ_MODE_BOTH;
+ applet->show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT;
+
+ applet->need_refresh = TRUE;
+
+ mate_panel_applet_set_flags (MATE_PANEL_APPLET (applet), MATE_PANEL_APPLET_EXPAND_MINOR);
+ mate_panel_applet_set_background_widget (MATE_PANEL_APPLET (applet), GTK_WIDGET (applet));
+
+ applet->size = mate_panel_applet_get_size (MATE_PANEL_APPLET (applet));
+ applet->orient = mate_panel_applet_get_orient (MATE_PANEL_APPLET (applet));
+
+ switch (applet->orient) {
+ case MATE_PANEL_APPLET_ORIENT_LEFT:
+ case MATE_PANEL_APPLET_ORIENT_RIGHT:
+ applet->container = gtk_alignment_new (0.5, 0.5, 0, 0);
+ break;
+ case MATE_PANEL_APPLET_ORIENT_UP:
+ case MATE_PANEL_APPLET_ORIENT_DOWN:
+ applet->container = gtk_alignment_new (0, 0.5, 0, 0);
+ break;
+ }
+
+ gtk_container_add (GTK_CONTAINER (applet), applet->container);
+ gtk_widget_show (applet->container);
+}
+
+static void
+cpufreq_applet_class_init (CPUFreqAppletClass *klass)
+{
+ MatePanelAppletClass *applet_class = MATE_PANEL_APPLET_CLASS (klass);
+ GtkObjectClass *gtkobject_class = GTK_OBJECT_CLASS (klass);
+ GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+
+ gtkobject_class->destroy = cpufreq_applet_destroy;
+
+ widget_class->size_allocate = cpufreq_applet_size_allocate;
+ widget_class->size_request = cpufreq_applet_size_request;
+ widget_class->button_press_event = cpufreq_applet_button_press;
+ widget_class->key_press_event = cpufreq_applet_key_press;
+
+ applet_class->change_orient = cpufreq_applet_change_orient;
+}
+
+static void
+cpufreq_applet_destroy (GtkObject *widget)
+{
+ CPUFreqApplet *applet;
+ gint i;
+
+ applet = CPUFREQ_APPLET (widget);
+
+ if (applet->monitor) {
+ g_object_unref (G_OBJECT (applet->monitor));
+ applet->monitor = NULL;
+ }
+
+ for (i = 0; i <= 3; i++) {
+ if (applet->pixbufs[i]) {
+ g_object_unref (G_OBJECT (applet->pixbufs[i]));
+ applet->pixbufs[i] = NULL;
+ }
+ }
+
+ if (applet->prefs) {
+ g_object_unref (applet->prefs);
+ applet->prefs = NULL;
+ }
+
+ if (applet->popup) {
+ g_object_unref (applet->popup);
+ applet->popup = NULL;
+ }
+
+ GTK_OBJECT_CLASS (cpufreq_applet_parent_class)->destroy (widget);
+}
+
+static void
+cpufreq_applet_size_allocate (GtkWidget *widget, GtkAllocation *allocation)
+{
+ CPUFreqApplet *applet;
+ gint size = 0;
+
+ applet = CPUFREQ_APPLET (widget);
+
+ GTK_WIDGET_CLASS (cpufreq_applet_parent_class)->size_allocate (widget, allocation);
+
+ switch (applet->orient) {
+ case MATE_PANEL_APPLET_ORIENT_LEFT:
+ case MATE_PANEL_APPLET_ORIENT_RIGHT:
+ size = allocation->width;
+ break;
+ case MATE_PANEL_APPLET_ORIENT_UP:
+ case MATE_PANEL_APPLET_ORIENT_DOWN:
+ size = allocation->height;
+ break;
+ }
+
+ if (size != applet->size) {
+ applet->size = size;
+ cpufreq_applet_refresh (applet);
+ }
+}
+
+static gint
+cpufreq_applet_get_max_label_width (CPUFreqApplet *applet)
+{
+ GList *available_freqs;
+ gint width = 0;
+
+ if (applet->max_label_width > 0)
+ return applet->max_label_width;
+
+ if (!CPUFREQ_IS_MONITOR (applet->monitor))
+ return 0;
+
+ available_freqs = cpufreq_monitor_get_available_frequencies (applet->monitor);
+ while (available_freqs) {
+ GtkWidget *label;
+ GtkRequisition req;
+ const gchar *text;
+ gchar *freq_text;
+ gint freq;
+
+ text = (const gchar *) available_freqs->data;
+ freq = atoi (text);
+
+ freq_text = cpufreq_utils_get_frequency_label (freq);
+ label = gtk_label_new (freq_text);
+ gtk_widget_size_request (label, &req);
+
+ width = MAX (width, req.width);
+
+ g_free (freq_text);
+ gtk_widget_destroy (label);
+
+ available_freqs = g_list_next (available_freqs);
+ }
+
+ applet->max_label_width = width;
+
+ return width;
+}
+
+static gint
+cpufreq_applet_get_max_perc_width (CPUFreqApplet *applet)
+{
+ GtkWidget *label;
+ GtkRequisition req;
+
+ if (applet->max_perc_width > 0)
+ return applet->max_perc_width;
+
+ label = gtk_label_new ("100%");
+ gtk_widget_size_request (label, &req);
+ applet->max_perc_width = req.width;
+ gtk_widget_destroy (label);
+
+ return applet->max_perc_width;
+}
+
+static gint
+cpufreq_applet_get_max_unit_width (CPUFreqApplet *applet)
+{
+ GtkWidget *label;
+ GtkRequisition req;
+ gint w1, w2;
+
+ if (applet->max_unit_width > 0)
+ return applet->max_unit_width;
+
+ label = gtk_label_new ("GHz");
+ gtk_widget_size_request (label, &req);
+ w1 = req.width;
+
+ gtk_label_set_text (GTK_LABEL (label), "MHz");
+ gtk_widget_size_request (label, &req);
+ w2 = req.width;
+
+ gtk_widget_destroy (label);
+
+ applet->max_unit_width = MAX (w1, w2);
+
+ return applet->max_unit_width;
+}
+
+static void
+cpufreq_applet_size_request (GtkWidget *widget, GtkRequisition *requisition)
+{
+ CPUFreqApplet *applet;
+ gint labels_width = 0;
+ gint width;
+
+ applet = CPUFREQ_APPLET (widget);
+
+ GTK_WIDGET_CLASS (cpufreq_applet_parent_class)->size_request (widget, requisition);
+
+ if (applet->orient == MATE_PANEL_APPLET_ORIENT_LEFT ||
+ applet->orient == MATE_PANEL_APPLET_ORIENT_RIGHT)
+ return;
+
+ if (applet->show_freq) {
+ labels_width += cpufreq_applet_get_max_label_width (applet) + 2;
+ }
+
+ if (applet->show_perc) {
+ labels_width += cpufreq_applet_get_max_perc_width (applet);
+ }
+
+ if (applet->show_unit) {
+ labels_width += cpufreq_applet_get_max_unit_width (applet);
+ }
+
+ if (applet->show_icon) {
+ GtkRequisition req;
+
+ gtk_widget_size_request (applet->icon, &req);
+ width = GTK_IS_HBOX (applet->box) ?
+ labels_width + req.width + 2 :
+ MAX (labels_width, req.width + 2);
+ } else {
+ width = labels_width;
+ }
+
+ requisition->width = width;
+}
+
+static void
+cpufreq_applet_popup_position_menu (GtkMenu *menu,
+ int *x,
+ int *y,
+ gboolean *push_in,
+ gpointer gdata)
+{
+ GtkWidget *widget;
+ GtkRequisition requisition;
+ GtkAllocation allocation;
+ gint menu_xpos;
+ gint menu_ypos;
+
+ widget = GTK_WIDGET (gdata);
+
+ gtk_widget_size_request (GTK_WIDGET (menu), &requisition);
+
+ gdk_window_get_origin (gtk_widget_get_window (widget), &menu_xpos, &menu_ypos);
+
+ gtk_widget_get_allocation (widget, &allocation);
+
+ menu_xpos += allocation.x;
+ menu_ypos += allocation.y;
+
+ switch (mate_panel_applet_get_orient (MATE_PANEL_APPLET (widget))) {
+ case MATE_PANEL_APPLET_ORIENT_DOWN:
+ case MATE_PANEL_APPLET_ORIENT_UP:
+ if (menu_ypos > gdk_screen_get_height (gtk_widget_get_screen (widget)) / 2)
+ menu_ypos -= requisition.height;
+ else
+ menu_ypos += allocation.height;
+ break;
+ case MATE_PANEL_APPLET_ORIENT_RIGHT:
+ case MATE_PANEL_APPLET_ORIENT_LEFT:
+ if (menu_xpos > gdk_screen_get_width (gtk_widget_get_screen (widget)) / 2)
+ menu_xpos -= requisition.width;
+ else
+ menu_xpos += allocation.width;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ *x = menu_xpos;
+ *y = menu_ypos;
+ *push_in = TRUE;
+}
+
+static void
+cpufreq_applet_menu_popup (CPUFreqApplet *applet,
+ guint32 time)
+{
+ GtkWidget *menu;
+
+ if (!cpufreq_utils_selector_is_available ())
+ return;
+
+ if (!applet->popup) {
+ applet->popup = cpufreq_popup_new ();
+ cpufreq_popup_set_monitor (applet->popup, applet->monitor);
+ cpufreq_popup_set_parent (applet->popup, GTK_WIDGET (applet));
+ }
+
+ menu = cpufreq_popup_get_menu (applet->popup);
+
+ if (!menu)
+ return;
+
+ gtk_menu_popup (GTK_MENU (menu), NULL, NULL,
+ cpufreq_applet_popup_position_menu,
+ (gpointer) applet,
+ 1, time);
+}
+
+static gboolean
+cpufreq_applet_button_press (GtkWidget *widget, GdkEventButton *event)
+{
+ CPUFreqApplet *applet;
+
+ applet = CPUFREQ_APPLET (widget);
+
+ if (event->button == 2)
+ return FALSE;
+
+ if (event->button == 1 &&
+ event->type != GDK_2BUTTON_PRESS &&
+ event->type != GDK_3BUTTON_PRESS) {
+ cpufreq_applet_menu_popup (applet, event->time);
+
+ return TRUE;
+ }
+
+ return GTK_WIDGET_CLASS (cpufreq_applet_parent_class)->button_press_event (widget, event);
+}
+
+static gboolean
+cpufreq_applet_key_press (GtkWidget *widget, GdkEventKey *event)
+{
+ CPUFreqApplet *applet;
+
+ applet = CPUFREQ_APPLET (widget);
+
+ switch (event->keyval) {
+ case GDK_KP_Enter:
+ case GDK_ISO_Enter:
+ case GDK_3270_Enter:
+ case GDK_Return:
+ case GDK_space:
+ case GDK_KP_Space:
+ cpufreq_applet_menu_popup (applet, event->time);
+
+ return TRUE;
+ default:
+ break;
+ }
+
+ return FALSE;
+}
+
+static void
+cpufreq_applet_change_orient (MatePanelApplet *pa, MatePanelAppletOrient orient)
+{
+ CPUFreqApplet *applet;
+ GtkAllocation allocation;
+ gint size;
+
+ applet = CPUFREQ_APPLET (pa);
+
+ applet->orient = orient;
+
+ gtk_widget_get_allocation (GTK_WIDGET (applet), &allocation);
+
+ if ((orient == MATE_PANEL_APPLET_ORIENT_LEFT) ||
+ (orient == MATE_PANEL_APPLET_ORIENT_RIGHT)) {
+ size = allocation.width;
+ gtk_alignment_set (GTK_ALIGNMENT (applet->container),
+ 0.5, 0.5, 0, 0);
+ } else {
+ size = allocation.height;
+ gtk_alignment_set (GTK_ALIGNMENT (applet->container),
+ 0, 0.5, 0, 0);
+ }
+
+ if (size != applet->size) {
+ applet->size = size;
+ cpufreq_applet_refresh (applet);
+ }
+}
+
+static void
+cpufreq_applet_preferences_cb (GtkAction *action,
+ CPUFreqApplet *applet)
+{
+ cpufreq_preferences_dialog_run (applet->prefs,
+ gtk_widget_get_screen (GTK_WIDGET (applet)));
+}
+
+static void
+cpufreq_applet_help_cb (GtkAction *action,
+ CPUFreqApplet *applet)
+{
+ GError *error = NULL;
+
+ gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (applet)),
+ "ghelp:cpufreq-applet",
+ gtk_get_current_event_time (),
+ &error);
+
+ if (error) {
+ cpufreq_utils_display_error (_("Could not open help document"),
+ error->message);
+ g_error_free (error);
+ }
+}
+
+static void
+cpufreq_applet_about_cb (GtkAction *action,
+ CPUFreqApplet *applet)
+{
+ static const gchar *const authors[] = {
+ "Carlos Garcia Campos <[email protected]>",
+ NULL
+ };
+ static const gchar *const documenters[] = {
+ "Carlos Garcia Campos <[email protected]>",
+ "Davyd Madeley <[email protected]>",
+ NULL
+ };
+ static const gchar *const artists[] = {
+ "Pablo Arroyo Loma <[email protected]>",
+ NULL
+ };
+
+ gtk_show_about_dialog (NULL,
+ "version", VERSION,
+ "copyright", "\xC2\xA9 2004 Carlos Garcia Campos",
+ "comments", _("This utility shows the current CPU "
+ "Frequency Scaling."),
+ "authors", authors,
+ "documenters", documenters,
+ "artists", artists,
+ "translator-credits", _("translator-credits"),
+ "logo-icon-name", "mate-cpu-frequency-applet",
+ NULL);
+}
+
+static void
+cpufreq_applet_pixmap_set_image (CPUFreqApplet *applet, gint perc)
+{
+ gint image;
+
+ /* 0-29 -> 25%
+ * 30-69 -> 50%
+ * 70-89 -> 75%
+ * 90-100 -> 100%
+ */
+ if (perc < 30)
+ image = 0;
+ else if ((perc >= 30) && (perc < 70))
+ image = 1;
+ else if ((perc >= 70) && (perc < 90))
+ image = 2;
+ else if ((perc >= 90) && (perc <= 100))
+ image = 3;
+ else
+ image = 4;
+
+ if (applet->pixbufs[image] == NULL) {
+ applet->pixbufs[image] = gdk_pixbuf_new_from_file_at_size (cpufreq_icons[image],
+ 24, 24, NULL);
+ }
+
+ gtk_image_set_from_pixbuf (GTK_IMAGE (applet->icon), applet->pixbufs[image]);
+}
+
+static gboolean
+refresh_cb (CPUFreqApplet *applet)
+{
+ cpufreq_applet_refresh (applet);
+
+ return FALSE;
+}
+
+static void
+cpufreq_applet_update_visibility (CPUFreqApplet *applet)
+{
+ CPUFreqShowMode show_mode;
+ CPUFreqShowTextMode show_text_mode;
+ gboolean show_freq = FALSE;
+ gboolean show_perc = FALSE;
+ gboolean show_unit = FALSE;
+ gboolean show_icon = FALSE;
+ gboolean changed = FALSE;
+ gboolean need_update = FALSE;
+
+ show_mode = cpufreq_prefs_get_show_mode (applet->prefs);
+ show_text_mode = cpufreq_prefs_get_show_text_mode (applet->prefs);
+
+ if (show_mode != CPUFREQ_MODE_GRAPHIC) {
+ show_icon = (show_mode == CPUFREQ_MODE_BOTH);
+
+ switch (show_text_mode) {
+ case CPUFREQ_MODE_TEXT_FREQUENCY:
+ show_freq = TRUE;
+ break;
+ case CPUFREQ_MODE_TEXT_PERCENTAGE:
+ show_perc = TRUE;
+ break;
+ case CPUFREQ_MODE_TEXT_FREQUENCY_UNIT:
+ show_freq = TRUE;
+ show_unit = TRUE;
+ break;
+ }
+ } else {
+ show_icon = TRUE;
+ }
+
+ if (applet->show_mode != show_mode) {
+ applet->show_mode = show_mode;
+ need_update = TRUE;
+ }
+
+ if (applet->show_text_mode != show_text_mode) {
+ applet->show_text_mode = show_text_mode;
+ need_update = TRUE;
+ }
+
+ if (show_freq != applet->show_freq) {
+ applet->show_freq = show_freq;
+ changed = TRUE;
+ }
+
+ if (show_perc != applet->show_perc) {
+ applet->show_perc = show_perc;
+ changed = TRUE;
+ }
+
+ if (changed) {
+ g_object_set (G_OBJECT (applet->label),
+ "visible",
+ applet->show_freq || applet->show_perc,
+ NULL);
+ }
+
+ if (show_unit != applet->show_unit) {
+ applet->show_unit = show_unit;
+ changed = TRUE;
+
+ g_object_set (G_OBJECT (applet->unit_label),
+ "visible", applet->show_unit,
+ NULL);
+ }
+
+ if (show_icon != applet->show_icon) {
+ applet->show_icon = show_icon;
+ changed = TRUE;
+
+ g_object_set (G_OBJECT (applet->icon),
+ "visible", applet->show_icon,
+ NULL);
+ }
+
+ if (changed)
+ g_idle_add ((GSourceFunc)refresh_cb, applet);
+
+ if (need_update)
+ cpufreq_applet_update (applet, applet->monitor);
+}
+
+static void
+cpufreq_applet_update (CPUFreqApplet *applet, CPUFreqMonitor *monitor)
+{
+ gchar *text_mode = NULL;
+ gchar *freq_label, *unit_label;
+ gint freq;
+ gint perc;
+ guint cpu;
+ const gchar *governor;
+
+ cpu = cpufreq_monitor_get_cpu (monitor);
+ freq = cpufreq_monitor_get_frequency (monitor);
+ perc = cpufreq_monitor_get_percentage (monitor);
+ governor = cpufreq_monitor_get_governor (monitor);
+
+ freq_label = cpufreq_utils_get_frequency_label (freq);
+ unit_label = cpufreq_utils_get_frequency_unit (freq);
+
+ if (applet->show_freq) {
+ gtk_label_set_text (GTK_LABEL (applet->label), freq_label);
+ }
+
+ if (applet->show_perc) {
+ gchar *text_perc;
+
+ text_perc = g_strdup_printf ("%d%%", perc);
+ gtk_label_set_text (GTK_LABEL (applet->label), text_perc);
+ g_free (text_perc);
+ }
+
+ if (applet->show_unit) {
+ gtk_label_set_text (GTK_LABEL (applet->unit_label), unit_label);
+ }
+
+ if (applet->show_icon) {
+ cpufreq_applet_pixmap_set_image (applet, perc);
+ }
+
+ if (governor) {
+ gchar *gov_text;
+
+ gov_text = g_strdup (governor);
+ gov_text[0] = g_ascii_toupper (gov_text[0]);
+ text_mode = g_strdup_printf ("%s\n%s %s (%d%%)",
+ gov_text, freq_label,
+ unit_label, perc);
+ g_free (gov_text);
+ }
+
+ g_free (freq_label);
+ g_free (unit_label);
+
+ if (text_mode) {
+ gchar *text_tip;
+
+ text_tip = cpufreq_utils_get_n_cpus () == 1 ?
+ g_strdup_printf ("%s", text_mode) :
+ g_strdup_printf ("CPU %u - %s", cpu, text_mode);
+ g_free (text_mode);
+
+ gtk_widget_set_tooltip_text (GTK_WIDGET (applet), text_tip);
+ g_free (text_tip);
+ }
+
+ /* Call refresh only the first time */
+ if (applet->need_refresh) {
+ cpufreq_applet_refresh (applet);
+ applet->need_refresh = FALSE;
+ }
+}
+
+static gint
+cpufreq_applet_get_widget_size (CPUFreqApplet *applet,
+ GtkWidget *widget)
+{
+ GtkRequisition req;
+ gint size;
+
+ if (!gtk_widget_get_visible (widget))
+ return 0;
+
+ gtk_widget_size_request (widget, &req);
+
+ switch (applet->orient) {
+ case MATE_PANEL_APPLET_ORIENT_LEFT:
+ case MATE_PANEL_APPLET_ORIENT_RIGHT:
+ size = req.width;
+ break;
+ case MATE_PANEL_APPLET_ORIENT_UP:
+ case MATE_PANEL_APPLET_ORIENT_DOWN:
+ size = req.height;
+ break;
+ default:
+ g_assert_not_reached ();
+ }
+
+ return size;
+}
+
+static void
+cpufreq_applet_refresh (CPUFreqApplet *applet)
+{
+ gint total_size = 0;
+ gint panel_size, label_size;
+ gint unit_label_size, pixmap_size;
+ gint size_step = 12;
+ gboolean horizontal;
+ gboolean do_unref = FALSE;
+
+ panel_size = applet->size - 1; /* 1 pixel margin */
+
+ horizontal = (applet->orient == MATE_PANEL_APPLET_ORIENT_UP ||
+ applet->orient == MATE_PANEL_APPLET_ORIENT_DOWN);
+
+ /* We want a fixed label size, the biggest */
+ if (horizontal)
+ label_size = cpufreq_applet_get_widget_size (applet, applet->label);
+ else
+ label_size = cpufreq_applet_get_max_label_width (applet);
+ total_size += label_size;
+
+ if (horizontal)
+ unit_label_size = cpufreq_applet_get_widget_size (applet, applet->unit_label);
+ else
+ unit_label_size = cpufreq_applet_get_max_unit_width (applet);
+ total_size += unit_label_size;
+
+ pixmap_size = cpufreq_applet_get_widget_size (applet, applet->icon);
+ total_size += pixmap_size;
+
+ if (applet->box) {
+ do_unref = TRUE;
+ g_object_ref (applet->icon);
+ gtk_container_remove (GTK_CONTAINER (applet->box), applet->icon);
+ if (applet->labels_box) {
+ g_object_ref (applet->label);
+ gtk_container_remove (GTK_CONTAINER (applet->labels_box), applet->label);
+ g_object_ref (applet->unit_label);
+ gtk_container_remove (GTK_CONTAINER (applet->labels_box), applet->unit_label);
+ }
+ gtk_widget_destroy (applet->box);
+ }
+
+ if (horizontal) {
+ applet->labels_box = gtk_hbox_new (FALSE, 2);
+ if ((label_size + pixmap_size) <= panel_size)
+ applet->box = gtk_vbox_new (FALSE, 2);
+ else
+ applet->box = gtk_hbox_new (FALSE, 2);
+ } else {
+ if (total_size <= panel_size) {
+ applet->box = gtk_hbox_new (FALSE, 2);
+ applet->labels_box = gtk_hbox_new (FALSE, 2);
+ } else if ((label_size + unit_label_size) <= (panel_size - size_step)) {
+ applet->box = gtk_vbox_new (FALSE, 2);
+ applet->labels_box = gtk_hbox_new (FALSE, 2);
+ } else {
+ applet->box = gtk_vbox_new (FALSE, 2);
+ applet->labels_box = gtk_vbox_new (FALSE, 2);
+ }
+ }
+
+ gtk_box_pack_start (GTK_BOX (applet->labels_box), applet->label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (applet->labels_box), applet->unit_label, FALSE, FALSE, 0);
+ gtk_box_pack_start (GTK_BOX (applet->box), applet->icon, FALSE, FALSE, 0);
+
+ gtk_box_pack_start (GTK_BOX (applet->box), applet->labels_box, FALSE, FALSE, 0);
+ gtk_widget_show (applet->labels_box);
+
+ gtk_container_add (GTK_CONTAINER (applet->container), applet->box);
+ gtk_widget_show (applet->box);
+
+ if (do_unref) {
+ g_object_unref (applet->label);
+ g_object_unref (applet->unit_label);
+ g_object_unref (applet->icon);
+ }
+}
+
+/* Preferences callbacks */
+static void
+cpufreq_applet_prefs_cpu_changed (CPUFreqPrefs *prefs,
+ GParamSpec *arg1,
+ CPUFreqApplet *applet)
+{
+ cpufreq_monitor_set_cpu (applet->monitor,
+ cpufreq_prefs_get_cpu (applet->prefs));
+}
+
+static void
+cpufreq_applet_prefs_show_mode_changed (CPUFreqPrefs *prefs,
+ GParamSpec *arg1,
+ CPUFreqApplet *applet)
+{
+ cpufreq_applet_update_visibility (applet);
+}
+
+static void
+cpufreq_applet_setup (CPUFreqApplet *applet)
+{
+ GtkActionGroup *action_group;
+ gchar *ui_path;
+ AtkObject *atk_obj;
+ gchar *prefs_key;
+
+ g_set_application_name (_("CPU Frequency Scaling Monitor"));
+
+ gtk_window_set_default_icon_name ("mate-cpu-frequency-applet");
+
+ mate_panel_applet_add_preferences (MATE_PANEL_APPLET (applet),
+ "/schemas/apps/cpufreq-applet/prefs", NULL);
+
+ /* Preferences */
+ if (applet->prefs)
+ g_object_unref (applet->prefs);
+
+ prefs_key = mate_panel_applet_get_preferences_key (MATE_PANEL_APPLET (applet));
+ applet->prefs = cpufreq_prefs_new (prefs_key);
+ g_free (prefs_key);
+
+ g_signal_connect (G_OBJECT (applet->prefs),
+ "notify::cpu",
+ G_CALLBACK (cpufreq_applet_prefs_cpu_changed),
+ (gpointer) applet);
+ g_signal_connect (G_OBJECT (applet->prefs),
+ "notify::show-mode",
+ G_CALLBACK (cpufreq_applet_prefs_show_mode_changed),
+ (gpointer) applet);
+ g_signal_connect (G_OBJECT (applet->prefs),
+ "notify::show-text-mode",
+ G_CALLBACK (cpufreq_applet_prefs_show_mode_changed),
+ (gpointer) applet);
+
+ /* Monitor */
+ applet->monitor = cpufreq_monitor_factory_create_monitor (
+ cpufreq_prefs_get_cpu (applet->prefs));
+ cpufreq_monitor_run (applet->monitor);
+ g_signal_connect_swapped (G_OBJECT (applet->monitor), "changed",
+ G_CALLBACK (cpufreq_applet_update),
+ (gpointer) applet);
+
+ /* Setup the menus */
+ action_group = gtk_action_group_new ("CPUFreq Applet Actions");
+ gtk_action_group_set_translation_domain (action_group, GETTEXT_PACKAGE);
+ gtk_action_group_add_actions (action_group,
+ cpufreq_applet_menu_actions,
+ G_N_ELEMENTS (cpufreq_applet_menu_actions),
+ applet);
+ ui_path = g_build_filename (CPUFREQ_MENU_UI_DIR, "cpufreq-applet-menu.xml", NULL);
+ mate_panel_applet_setup_menu_from_file (MATE_PANEL_APPLET (applet),
+ ui_path, action_group);
+ g_free (ui_path);
+
+ if (mate_panel_applet_get_locked_down (MATE_PANEL_APPLET (applet))) {
+ GtkAction *action;
+
+ action = gtk_action_group_get_action (action_group, "CPUFreqPreferences");
+ gtk_action_set_visible (action, FALSE);
+ }
+ g_object_unref (action_group);
+
+ atk_obj = gtk_widget_get_accessible (GTK_WIDGET (applet));
+
+ if (GTK_IS_ACCESSIBLE (atk_obj)) {
+ atk_object_set_name (atk_obj, _("CPU Frequency Scaling Monitor"));
+ atk_object_set_description (atk_obj, _("This utility shows the current CPU Frequency"));
+ }
+
+ cpufreq_applet_update_visibility (applet);
+
+ gtk_widget_show (GTK_WIDGET (applet));
+}
+
+static gboolean
+cpufreq_applet_factory (CPUFreqApplet *applet, const gchar *iid, gpointer gdata)
+{
+ gboolean retval = FALSE;
+
+ if (!strcmp (iid, "CPUFreqApplet")) {
+ cpufreq_applet_setup (applet);
+
+ retval = TRUE;
+ }
+
+ return retval;
+}
+
+MATE_PANEL_APPLET_OUT_PROCESS_FACTORY ("CPUFreqAppletFactory",
+ CPUFREQ_TYPE_APPLET,
+ "cpufreq-applet",
+ (MatePanelAppletFactoryCallback) cpufreq_applet_factory,
+ NULL)
diff --git a/cpufreq/src/cpufreq-applet.h b/cpufreq/src/cpufreq-applet.h
new file mode 100644
index 00000000..11d400a1
--- /dev/null
+++ b/cpufreq/src/cpufreq-applet.h
@@ -0,0 +1,61 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef CPUFREQ_APPLET_H
+#define CPUFREQ_APPLET_H
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_APPLET (cpufreq_applet_get_type ())
+#define CPUFREQ_APPLET(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_APPLET, CPUFreqApplet))
+#define CPUFREQ_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_APPLET, CPUFreqAppletClass))
+#define CPUFREQ_IS_APPLET(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_APPLET))
+#define CPUFREQ_IS_APPLET_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_APPLET))
+#define CPUFREQ_APPLET_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_APPLET, CPUFreqAppletClass))
+
+#define CPUFREQ_TYPE_SHOW_MODE (cpufreq_applet_show_mode_get_type ())
+#define CPUFREQ_TYPE_SHOW_TEXT_MODE (cpufreq_applet_show_text_mode_get_type ())
+
+typedef struct _CPUFreqApplet CPUFreqApplet;
+typedef struct _CPUFreqAppletClass CPUFreqAppletClass;
+
+typedef enum {
+ CPUFREQ_MODE_GRAPHIC,
+ CPUFREQ_MODE_TEXT,
+ CPUFREQ_MODE_BOTH
+} CPUFreqShowMode;
+
+typedef enum {
+ CPUFREQ_MODE_TEXT_FREQUENCY,
+ CPUFREQ_MODE_TEXT_FREQUENCY_UNIT,
+ CPUFREQ_MODE_TEXT_PERCENTAGE
+} CPUFreqShowTextMode;
+
+GType cpufreq_applet_get_type (void) G_GNUC_CONST;
+
+GType cpufreq_applet_show_mode_get_type (void) G_GNUC_CONST;
+GType cpufreq_applet_show_text_mode_get_type (void) G_GNUC_CONST;
+
+G_END_DECLS
+
+#endif /* CPUFREQ_APPLET_H */
diff --git a/cpufreq/src/cpufreq-monitor-cpuinfo.c b/cpufreq/src/cpufreq-monitor-cpuinfo.c
new file mode 100644
index 00000000..59585d8a
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-cpuinfo.c
@@ -0,0 +1,134 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include <string.h>
+#include <stdio.h>
+
+#include "cpufreq-monitor-cpuinfo.h"
+#include "cpufreq-utils.h"
+
+static void cpufreq_monitor_cpuinfo_class_init (CPUFreqMonitorCPUInfoClass *klass);
+
+static gboolean cpufreq_monitor_cpuinfo_run (CPUFreqMonitor *monitor);
+
+G_DEFINE_TYPE (CPUFreqMonitorCPUInfo, cpufreq_monitor_cpuinfo, CPUFREQ_TYPE_MONITOR)
+
+static void
+cpufreq_monitor_cpuinfo_init (CPUFreqMonitorCPUInfo *monitor)
+{
+}
+
+static void
+cpufreq_monitor_cpuinfo_class_init (CPUFreqMonitorCPUInfoClass *klass)
+{
+ CPUFreqMonitorClass *monitor_class = CPUFREQ_MONITOR_CLASS (klass);
+
+ monitor_class->run = cpufreq_monitor_cpuinfo_run;
+}
+
+CPUFreqMonitor *
+cpufreq_monitor_cpuinfo_new (guint cpu)
+{
+ CPUFreqMonitorCPUInfo *monitor;
+
+ monitor = g_object_new (CPUFREQ_TYPE_MONITOR_CPUINFO, "cpu", cpu, NULL);
+
+ return CPUFREQ_MONITOR (monitor);
+}
+
+static gboolean
+cpufreq_monitor_cpuinfo_run (CPUFreqMonitor *monitor)
+{
+ gchar *file;
+ gchar **lines;
+ gchar *buffer = NULL;
+ gchar *p;
+ gint cpu, i;
+ gint cur_freq, max_freq;
+ gchar *governor;
+ GError *error = NULL;
+
+ file = g_strdup ("/proc/cpuinfo");
+ if (!cpufreq_file_get_contents (file, &buffer, NULL, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (file);
+
+ return FALSE;
+ }
+ g_free (file);
+
+ /* TODO: SMP support */
+ lines = g_strsplit (buffer, "\n", -1);
+ for (i = 0; lines[i]; i++) {
+ if (g_ascii_strncasecmp ("cpu MHz", lines[i], strlen ("cpu MHz")) == 0) {
+ p = g_strrstr (lines[i], ":");
+
+ if (p == NULL) {
+ g_strfreev (lines);
+ g_free (buffer);
+
+ return FALSE;
+ }
+
+ if (strlen (lines[i]) < (size_t)(p - lines[i])) {
+ g_strfreev (lines);
+ g_free (buffer);
+
+ return FALSE;
+ }
+
+ if ((sscanf (p + 1, "%d.", &cpu)) != 1) {
+ g_strfreev (lines);
+ g_free (buffer);
+
+ return FALSE;
+ }
+
+ break;
+ }
+ }
+
+ g_strfreev (lines);
+ g_free (buffer);
+
+ governor = g_strdup (_("Frequency Scaling Unsupported"));
+ cur_freq = cpu * 1000;
+ max_freq = cur_freq;
+
+ g_object_set (G_OBJECT (monitor),
+ "governor", governor,
+ "frequency", cur_freq,
+ "max-frequency", max_freq,
+ NULL);
+
+ g_free (governor);
+
+ return TRUE;
+}
+
+
+
+
diff --git a/cpufreq/src/cpufreq-monitor-cpuinfo.h b/cpufreq/src/cpufreq-monitor-cpuinfo.h
new file mode 100644
index 00000000..ec58b405
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-cpuinfo.h
@@ -0,0 +1,50 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_MONITOR_CPUINFO_H__
+#define __CPUFREQ_MONITOR_CPUINFO_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-monitor.h"
+
+#define CPUFREQ_TYPE_MONITOR_CPUINFO (cpufreq_monitor_cpuinfo_get_type ())
+#define CPUFREQ_MONITOR_CPUINFO(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_MONITOR_CPUINFO, CPUFreqMonitorCPUInfo))
+#define CPUFREQ_MONITOR_CPUINFO_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_MONITOR_CPUINFO, CPUFreqMonitorCPUInfoClass))
+#define CPUFREQ_IS_MONITOR_CPUINFO(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_MONITOR_CPUINFO))
+#define CPUFREQ_IS_MONITOR_CPUINFO_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_MONITOR_CPUINFO))
+#define CPUFREQ_MONITOR_CPUINFO_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_MONITOR_CPUINFO, CPUFreqMonitorCPUInfoClass))
+
+typedef struct _CPUFreqMonitorCPUInfo CPUFreqMonitorCPUInfo;
+typedef struct _CPUFreqMonitorCPUInfoClass CPUFreqMonitorCPUInfoClass;
+
+struct _CPUFreqMonitorCPUInfo {
+ CPUFreqMonitor parent;
+};
+
+struct _CPUFreqMonitorCPUInfoClass {
+ CPUFreqMonitorClass parent_class;
+};
+
+GType cpufreq_monitor_cpuinfo_get_type (void) G_GNUC_CONST;
+CPUFreqMonitor *cpufreq_monitor_cpuinfo_new (guint cpu);
+
+#endif /* __CPUFREQ_MONITOR_CPUINFO_H__ */
diff --git a/cpufreq/src/cpufreq-monitor-factory.c b/cpufreq/src/cpufreq-monitor-factory.c
new file mode 100644
index 00000000..8b68082c
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-factory.c
@@ -0,0 +1,69 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include "cpufreq-applet.h"
+#include "cpufreq-utils.h"
+#include "cpufreq-monitor-sysfs.h"
+#include "cpufreq-monitor-procfs.h"
+#include "cpufreq-monitor-cpuinfo.h"
+#ifdef HAVE_LIBCPUFREQ
+#include "cpufreq-monitor-libcpufreq.h"
+#endif
+#include "cpufreq-monitor-factory.h"
+
+CPUFreqMonitor *
+cpufreq_monitor_factory_create_monitor (guint cpu)
+{
+ CPUFreqMonitor *monitor = NULL;
+
+#ifdef HAVE_LIBCPUFREQ
+ monitor = cpufreq_monitor_libcpufreq_new (cpu);
+ return monitor;
+#endif
+
+ if (g_file_test ("/sys/devices/system/cpu/cpu0/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.6 kernel */
+ monitor = cpufreq_monitor_sysfs_new (cpu);
+ } else if (g_file_test ("/proc/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.4 kernel (Deprecated)*/
+ monitor = cpufreq_monitor_procfs_new (cpu);
+ } else if (g_file_test ("/proc/cpuinfo", G_FILE_TEST_EXISTS)) {
+ /* If there is no cpufreq support it shows only the cpu frequency,
+ * I think is better than do nothing. I have to notify it to the user, because
+ * he could think that cpufreq is supported but it doesn't work succesfully
+ */
+
+ cpufreq_utils_display_error (_("CPU frequency scaling unsupported"),
+ _("You will not be able to modify the frequency of your machine. "
+ "Your machine may be misconfigured or not have hardware support "
+ "for CPU frequency scaling."));
+
+ monitor = cpufreq_monitor_cpuinfo_new (cpu);
+ }
+
+ return monitor;
+}
+
diff --git a/cpufreq/src/cpufreq-monitor-factory.h b/cpufreq/src/cpufreq-monitor-factory.h
new file mode 100644
index 00000000..6a14b5f1
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-factory.h
@@ -0,0 +1,33 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef CPUFREQ_MONITOR_FACTORY_H
+#define CPUFREQ_MONITOR_FACTORY_H
+
+#include "cpufreq-monitor.h"
+
+G_BEGIN_DECLS
+
+CPUFreqMonitor *cpufreq_monitor_factory_create_monitor (guint cpu);
+
+G_END_DECLS
+
+#endif /* CPUFREQ_MONITOR_FACTORY_H */
diff --git a/cpufreq/src/cpufreq-monitor-libcpufreq.c b/cpufreq/src/cpufreq-monitor-libcpufreq.c
new file mode 100644
index 00000000..494d9a66
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-libcpufreq.c
@@ -0,0 +1,199 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include <stdlib.h>
+#include <cpufreq.h>
+
+#include "cpufreq-monitor-libcpufreq.h"
+#include "cpufreq-utils.h"
+
+static void cpufreq_monitor_libcpufreq_class_init (CPUFreqMonitorLibcpufreqClass *klass);
+
+static gboolean cpufreq_monitor_libcpufreq_run (CPUFreqMonitor *monitor);
+static GList *cpufreq_monitor_libcpufreq_get_available_frequencies (CPUFreqMonitor *monitor);
+static GList *cpufreq_monitor_libcpufreq_get_available_governors (CPUFreqMonitor *monitor);
+
+G_DEFINE_TYPE (CPUFreqMonitorLibcpufreq, cpufreq_monitor_libcpufreq, CPUFREQ_TYPE_MONITOR)
+
+typedef struct cpufreq_policy CPUFreqPolicy;
+typedef struct cpufreq_available_frequencies CPUFreqFrequencyList;
+typedef struct cpufreq_available_governors CPUFreqGovernorList;
+
+static void
+cpufreq_monitor_libcpufreq_init (CPUFreqMonitorLibcpufreq *monitor)
+{
+}
+
+static GObject *
+cpufreq_monitor_libcpufreq_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_params)
+{
+ GObject *object;
+ gulong max_freq, min_freq;
+ guint cpu;
+
+ object = G_OBJECT_CLASS (
+ cpufreq_monitor_libcpufreq_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_params);
+ g_object_get (G_OBJECT (object),
+ "cpu", &cpu,
+ NULL);
+
+ if (cpufreq_get_hardware_limits (cpu, &min_freq, &max_freq) != 0) {
+ g_warning ("Error getting CPUINFO_MAX\n");
+ max_freq = -1;
+ }
+
+ g_object_set (G_OBJECT (object),
+ "max-frequency", max_freq,
+ NULL);
+
+ return object;
+}
+
+static void
+cpufreq_monitor_libcpufreq_class_init (CPUFreqMonitorLibcpufreqClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ CPUFreqMonitorClass *monitor_class = CPUFREQ_MONITOR_CLASS (klass);
+
+ object_class->constructor = cpufreq_monitor_libcpufreq_constructor;
+
+ monitor_class->run = cpufreq_monitor_libcpufreq_run;
+ monitor_class->get_available_frequencies = cpufreq_monitor_libcpufreq_get_available_frequencies;
+ monitor_class->get_available_governors = cpufreq_monitor_libcpufreq_get_available_governors;
+}
+
+CPUFreqMonitor *
+cpufreq_monitor_libcpufreq_new (guint cpu)
+{
+ CPUFreqMonitorLibcpufreq *monitor;
+
+ monitor = g_object_new (CPUFREQ_TYPE_MONITOR_LIBCPUFREQ,
+ "cpu", cpu, NULL);
+
+ return CPUFREQ_MONITOR (monitor);
+}
+
+static gboolean
+cpufreq_monitor_libcpufreq_run (CPUFreqMonitor *monitor)
+{
+ guint cpu;
+ CPUFreqPolicy *policy;
+
+ g_object_get (G_OBJECT (monitor), "cpu", &cpu, NULL);
+
+ policy = cpufreq_get_policy (cpu);
+ if (!policy) {
+ /* Check whether it failed because
+ * cpu is not online.
+ */
+ if (!cpufreq_cpu_exists (cpu)) {
+ g_object_set (G_OBJECT (monitor), "online", FALSE, NULL);
+ return TRUE;
+ }
+ return FALSE;
+ }
+
+ g_object_set (G_OBJECT (monitor),
+ "online", TRUE,
+ "governor", policy->governor,
+ "frequency", cpufreq_get_freq_kernel (cpu),
+ NULL);
+
+ cpufreq_put_policy (policy);
+
+ return TRUE;
+}
+
+static gint
+compare (gconstpointer a, gconstpointer b)
+{
+ gint aa, bb;
+
+ aa = atoi ((gchar *) a);
+ bb = atoi ((gchar *) b);
+
+ if (aa == bb)
+ return 0;
+ else if (aa > bb)
+ return -1;
+ else
+ return 1;
+}
+
+static GList *
+cpufreq_monitor_libcpufreq_get_available_frequencies (CPUFreqMonitor *monitor)
+{
+ GList *list = NULL;
+ guint cpu;
+ CPUFreqFrequencyList *freqs, *freq;
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &cpu, NULL);
+
+ freqs = cpufreq_get_available_frequencies (cpu);
+ if (!freqs)
+ return NULL;
+
+ for (freq = freqs; freq; freq = freq->next) {
+ gchar *frequency;
+
+ frequency = g_strdup_printf ("%lu", freq->frequency);
+
+ if (!g_list_find_custom (list, frequency, compare))
+ list = g_list_prepend (list, frequency);
+ else
+ g_free (frequency);
+ }
+
+ cpufreq_put_available_frequencies (freqs);
+
+ return g_list_sort (list, compare);
+}
+
+static GList *
+cpufreq_monitor_libcpufreq_get_available_governors (CPUFreqMonitor *monitor)
+{
+ guint cpu;
+ GList *list = NULL;
+ CPUFreqGovernorList *govs, *gov;
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &cpu, NULL);
+
+ govs = cpufreq_get_available_governors (cpu);
+ if (!govs)
+ return NULL;
+
+ for (gov = govs; gov; gov = gov->next) {
+ list = g_list_prepend (list, g_strdup (gov->governor));
+ }
+
+ cpufreq_put_available_governors (govs);
+
+ return list;
+}
diff --git a/cpufreq/src/cpufreq-monitor-libcpufreq.h b/cpufreq/src/cpufreq-monitor-libcpufreq.h
new file mode 100644
index 00000000..7b41ea6b
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-libcpufreq.h
@@ -0,0 +1,56 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_MONITOR_LIBCPUFREQ_H__
+#define __CPUFREQ_MONITOR_LIBCPUFREQ_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-monitor.h"
+
+#define CPUFREQ_TYPE_MONITOR_LIBCPUFREQ \
+ (cpufreq_monitor_libcpufreq_get_type ())
+#define CPUFREQ_MONITOR_LIBCPUFREQ(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_MONITOR_LIBCPUFREQ, CPUFreqMonitorLibcpufreq))
+#define CPUFREQ_MONITOR_LIBCPUFREQ_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_MONITOR_LIBCPUFREQ, CPUFreqMonitorLibcpufreqClass))
+#define CPUFREQ_IS_MONITOR_LIBCPUFREQ(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_MONITOR_LIBCPUFREQ))
+#define CPUFREQ_IS_MONITOR_LIBCPUFREQ_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_MONITOR_LIBCPUFREQ))
+#define CPUFREQ_MONITOR_LIBCPUFREQ_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_MONITOR_LIBCPUFREQ, CPUFreqMonitorLibcpufreqClass))
+
+typedef struct _CPUFreqMonitorLibcpufreq CPUFreqMonitorLibcpufreq;
+typedef struct _CPUFreqMonitorLibcpufreqClass CPUFreqMonitorLibcpufreqClass;
+
+struct _CPUFreqMonitorLibcpufreq {
+ CPUFreqMonitor parent;
+};
+
+struct _CPUFreqMonitorLibcpufreqClass {
+ CPUFreqMonitorClass parent_class;
+};
+
+GType cpufreq_monitor_libcpufreq_get_type (void) G_GNUC_CONST;
+CPUFreqMonitor *cpufreq_monitor_libcpufreq_new (guint cpu);
+
+#endif /* __CPUFREQ_MONITOR_LIBCPUFREQ_H__ */
diff --git a/cpufreq/src/cpufreq-monitor-procfs.c b/cpufreq/src/cpufreq-monitor-procfs.c
new file mode 100644
index 00000000..97c635ba
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-procfs.c
@@ -0,0 +1,221 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include <string.h>
+#include <stdlib.h>
+#include <stdio.h>
+
+#include "cpufreq-monitor-procfs.h"
+#include "cpufreq-utils.h"
+
+static void cpufreq_monitor_procfs_class_init (CPUFreqMonitorProcfsClass *klass);
+
+static gboolean cpufreq_monitor_procfs_run (CPUFreqMonitor *monitor);
+static GList *cpufreq_monitor_procfs_get_available_frequencies (CPUFreqMonitor *monitor);
+
+G_DEFINE_TYPE (CPUFreqMonitorProcfs, cpufreq_monitor_procfs, CPUFREQ_TYPE_MONITOR)
+
+static void
+cpufreq_monitor_procfs_init (CPUFreqMonitorProcfs *monitor)
+{
+}
+
+static void
+cpufreq_monitor_procfs_class_init (CPUFreqMonitorProcfsClass *klass)
+{
+ CPUFreqMonitorClass *monitor_class = CPUFREQ_MONITOR_CLASS (klass);
+
+ monitor_class->run = cpufreq_monitor_procfs_run;
+ monitor_class->get_available_frequencies = cpufreq_monitor_procfs_get_available_frequencies;
+}
+
+CPUFreqMonitor *
+cpufreq_monitor_procfs_new (guint cpu)
+{
+ CPUFreqMonitorProcfs *monitor;
+
+ monitor = g_object_new (TYPE_CPUFREQ_MONITOR_PROCFS, "cpu", cpu, NULL);
+
+ return CPUFREQ_MONITOR (monitor);
+}
+
+static gint
+cpufreq_monitor_procfs_get_freq_from_userspace (guint cpu)
+{
+ gchar *buffer = NULL;
+ gchar *path;
+ gchar *p;
+ gchar *frequency;
+ gint freq;
+ gint len;
+ GError *error = NULL;
+
+ path = g_strdup_printf ("/proc/sys/cpu/%u/speed", cpu);
+
+ if (!cpufreq_file_get_contents (path, &buffer, NULL, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (path);
+
+ return -1;
+ }
+
+ g_free (path);
+
+ /* Try to remove the '\n' */
+ p = g_strrstr (buffer, "\n");
+ len = strlen (buffer);
+ if (p)
+ len -= strlen (p);
+
+ frequency = g_strndup (buffer, len);
+ g_free (buffer);
+
+ freq = atoi (frequency);
+ g_free (frequency);
+
+ return freq;
+}
+
+static gboolean
+cpufreq_monitor_procfs_parse (CPUFreqMonitorProcfs *monitor,
+ gint *cpu,
+ gint *fmax,
+ gint *pmin,
+ gint *pmax,
+ gint *fmin,
+ gchar *mode)
+{
+ gchar **lines;
+ gchar *buffer = NULL;
+ gint i, count;
+ guint mon_cpu;
+ GError *error = NULL;
+
+ if (!cpufreq_file_get_contents ("/proc/cpufreq", &buffer, NULL, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &mon_cpu, NULL);
+
+ count = 0;
+ lines = g_strsplit (buffer, "\n", -1);
+ for (i = 0; lines[i]; i++) {
+ if (g_ascii_strncasecmp (lines[i], "CPU", 3) == 0) {
+ /* CPU 0 650000 kHz ( 81 %) - 800000 kHz (100 %) - powersave */
+ count = sscanf (lines[i], "CPU %d %d kHz (%d %%) - %d kHz (%d %%) - %20s",
+ cpu, fmin, pmin, fmax, pmax, mode);
+
+ if ((guint)(*cpu) == mon_cpu)
+ break;
+ }
+ }
+
+ g_strfreev (lines);
+ g_free (buffer);
+
+ return (count == 6);
+}
+
+static gboolean
+cpufreq_procfs_cpu_is_online (void)
+{
+ return g_file_test ("/proc/cpufreq",
+ G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR);
+}
+
+static gboolean
+cpufreq_monitor_procfs_run (CPUFreqMonitor *monitor)
+{
+ gint fmax, fmin, cpu;
+ gint pmin, pmax;
+ gchar mode[21];
+ gint cur_freq, max_freq;
+ gchar *governor;
+
+ if (!cpufreq_monitor_procfs_parse (CPUFREQ_MONITOR_PROCFS (monitor),
+ &cpu, &fmax, &pmin, &pmax, &fmin, mode)) {
+ /* Check whether it failed because
+ * cpu is not online.
+ */
+ if (!cpufreq_procfs_cpu_is_online ()) {
+ g_object_set (G_OBJECT (monitor), "online", FALSE, NULL);
+ return TRUE;
+ }
+ return FALSE;
+ }
+
+ governor = mode;
+ max_freq = fmax;
+
+ if (g_ascii_strcasecmp (governor, "powersave") == 0) {
+ cur_freq = fmin;
+ } else if (g_ascii_strcasecmp (governor, "performance") == 0) {
+ cur_freq = fmax;
+ } else if (g_ascii_strcasecmp (governor, "userspace") == 0) {
+ cur_freq = cpufreq_monitor_procfs_get_freq_from_userspace (cpu);
+ } else {
+ cur_freq = fmax;
+ }
+
+ g_object_set (G_OBJECT (monitor),
+ "online", TRUE,
+ "governor", governor,
+ "frequency", cur_freq,
+ "max-frequency", max_freq,
+ NULL);
+
+ return TRUE;
+}
+
+static GList *
+cpufreq_monitor_procfs_get_available_frequencies (CPUFreqMonitor *monitor)
+{
+ gint fmax, fmin, cpu, freq;
+ gint pmin, pmax;
+ gchar mode[21];
+ GList *list = NULL;
+
+ if (!cpufreq_monitor_procfs_parse (CPUFREQ_MONITOR_PROCFS (monitor), &cpu,
+ &fmax, &pmin, &pmax, &fmin, mode)) {
+ return NULL;
+ }
+
+ if ((pmax > 0) && (pmax != 100)) {
+ freq = (fmax * 100) / pmax;
+ list = g_list_prepend (list, g_strdup_printf ("%d", freq));
+ }
+
+ list = g_list_prepend (list, g_strdup_printf ("%d", fmax));
+ if (fmax != fmin)
+ list = g_list_prepend (list, g_strdup_printf ("%d", fmin));
+
+ return g_list_reverse (list);
+}
+
diff --git a/cpufreq/src/cpufreq-monitor-procfs.h b/cpufreq/src/cpufreq-monitor-procfs.h
new file mode 100644
index 00000000..62649152
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-procfs.h
@@ -0,0 +1,54 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_MONITOR_PROCFS_H__
+#define __CPUFREQ_MONITOR_PROCFS_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-monitor.h"
+
+G_BEGIN_DECLS
+
+#define TYPE_CPUFREQ_MONITOR_PROCFS (cpufreq_monitor_procfs_get_type ())
+#define CPUFREQ_MONITOR_PROCFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_CPUFREQ_MONITOR_PROCFS, CPUFreqMonitorProcfs))
+#define CPUFREQ_MONITOR_PROCFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), TYPE_CPUFREQ_MONITOR_PROCFS, CPUFreqMonitorProcfsClass))
+#define IS_CPUFREQ_MONITOR_PROCFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_CPUFREQ_MONITOR_PROCFS))
+#define IS_CPUFREQ_MONITOR_PROCFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_CPUFREQ_MONITOR_PROCFS))
+#define CPUFREQ_MONITOR_PROCFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_CPUFREQ_MONITOR_PROCFS, CPUFreqMonitorProcfsClass))
+
+typedef struct _CPUFreqMonitorProcfs CPUFreqMonitorProcfs;
+typedef struct _CPUFreqMonitorProcfsClass CPUFreqMonitorProcfsClass;
+
+struct _CPUFreqMonitorProcfs {
+ CPUFreqMonitor parent;
+};
+
+struct _CPUFreqMonitorProcfsClass {
+ CPUFreqMonitorClass parent_class;
+};
+
+GType cpufreq_monitor_procfs_get_type (void) G_GNUC_CONST;
+CPUFreqMonitor *cpufreq_monitor_procfs_new (guint cpu);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_MONITOR_PROCFS_H__ */
diff --git a/cpufreq/src/cpufreq-monitor-sysfs.c b/cpufreq/src/cpufreq-monitor-sysfs.c
new file mode 100644
index 00000000..a123a36f
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-sysfs.c
@@ -0,0 +1,345 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gi18n.h>
+
+#include <string.h>
+#include <stdlib.h>
+
+#include "cpufreq-monitor-sysfs.h"
+#include "cpufreq-utils.h"
+
+enum {
+ SCALING_MAX,
+ SCALING_MIN,
+ GOVERNOR,
+ CPUINFO_MAX,
+ SCALING_SETSPEED,
+ SCALING_CUR_FREQ,
+ N_FILES
+};
+
+static void cpufreq_monitor_sysfs_class_init (CPUFreqMonitorSysfsClass *klass);
+
+static gboolean cpufreq_monitor_sysfs_run (CPUFreqMonitor *monitor);
+static GList *cpufreq_monitor_sysfs_get_available_frequencies (CPUFreqMonitor *monitor);
+static GList *cpufreq_monitor_sysfs_get_available_governors (CPUFreqMonitor *monitor);
+
+static gchar *cpufreq_sysfs_read (const gchar *path,
+ GError **error);
+
+/* /sys/devices/system/cpu/cpu[0]/cpufreq/scaling_max_freq
+ * /sys/devices/system/cpu/cpu[0]/cpufreq/scaling_min_freq
+ * /sys/devices/system/cpu/cpu[0]/cpufreq/scaling_governor
+ * /sys/devices/system/cpu/cpu[0]/cpufreq/cpuinfo_max_freq
+ * /sys/devices/system/cpu/cpu[0]/cpufreq/scaling_setspeed (userspace)
+ * /sys/devices/system/cpu/cpu[0]/cpufreq/scaling_cur_freq (new governors)
+ */
+const gchar *monitor_sysfs_files[] = {
+ "scaling_max_freq",
+ "scaling_min_freq",
+ "scaling_governor",
+ "cpuinfo_max_freq",
+ "scaling_setspeed",
+ "scaling_cur_freq",
+ NULL
+};
+
+#define CPUFREQ_SYSFS_BASE_PATH "/sys/devices/system/cpu/cpu%u/cpufreq/%s"
+
+G_DEFINE_TYPE (CPUFreqMonitorSysfs, cpufreq_monitor_sysfs, CPUFREQ_TYPE_MONITOR)
+
+static void
+cpufreq_monitor_sysfs_init (CPUFreqMonitorSysfs *monitor)
+{
+}
+
+static GObject *
+cpufreq_monitor_sysfs_constructor (GType type,
+ guint n_construct_properties,
+ GObjectConstructParam *construct_params)
+{
+ GObject *object;
+ gchar *path;
+ gchar *frequency;
+ gint max_freq;
+ guint cpu;
+ GError *error = NULL;
+
+ object = G_OBJECT_CLASS (
+ cpufreq_monitor_sysfs_parent_class)->constructor (type,
+ n_construct_properties,
+ construct_params);
+ g_object_get (G_OBJECT (object),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[CPUINFO_MAX]);
+
+ frequency = cpufreq_sysfs_read (path, &error);
+ if (!frequency) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+ max_freq = -1;
+ } else {
+ max_freq = atoi (frequency);
+ }
+
+ g_free (path);
+ g_free (frequency);
+
+ g_object_set (G_OBJECT (object),
+ "max-frequency", max_freq,
+ NULL);
+
+ return object;
+}
+
+static void
+cpufreq_monitor_sysfs_class_init (CPUFreqMonitorSysfsClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ CPUFreqMonitorClass *monitor_class = CPUFREQ_MONITOR_CLASS (klass);
+
+ object_class->constructor = cpufreq_monitor_sysfs_constructor;
+
+ monitor_class->run = cpufreq_monitor_sysfs_run;
+ monitor_class->get_available_frequencies = cpufreq_monitor_sysfs_get_available_frequencies;
+ monitor_class->get_available_governors = cpufreq_monitor_sysfs_get_available_governors;
+}
+
+CPUFreqMonitor *
+cpufreq_monitor_sysfs_new (guint cpu)
+{
+ CPUFreqMonitorSysfs *monitor;
+
+ monitor = g_object_new (CPUFREQ_TYPE_MONITOR_SYSFS,
+ "cpu", cpu, NULL);
+
+ return CPUFREQ_MONITOR (monitor);
+}
+
+static gchar *
+cpufreq_sysfs_read (const gchar *path,
+ GError **error)
+{
+ gchar *buffer = NULL;
+
+ if (!cpufreq_file_get_contents (path, &buffer, NULL, error)) {
+ return NULL;
+ }
+
+ return g_strchomp (buffer);
+}
+
+static gboolean
+cpufreq_sysfs_cpu_is_online (guint cpu)
+{
+ gchar *path;
+ gboolean retval;
+
+ path = g_strdup_printf ("/sys/devices/system/cpu/cpu%u/", cpu);
+ retval = g_file_test (path, G_FILE_TEST_IS_DIR);
+ g_free (path);
+
+ return retval;
+}
+
+static gboolean
+cpufreq_monitor_sysfs_run (CPUFreqMonitor *monitor)
+{
+ guint cpu;
+ gchar *frequency;
+ gchar *governor;
+ gchar *path;
+ GError *error = NULL;
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[GOVERNOR]);
+ governor = cpufreq_sysfs_read (path, &error);
+ if (!governor) {
+ gboolean retval = FALSE;
+
+ /* Check whether it failed because
+ * cpu is not online.
+ */
+ if (!cpufreq_sysfs_cpu_is_online (cpu)) {
+ g_object_set (G_OBJECT (monitor), "online", FALSE, NULL);
+ retval = TRUE;
+ } else {
+ g_warning ("%s", error->message);
+ }
+
+ g_error_free (error);
+ g_free (path);
+
+ return retval;
+ }
+
+ g_free (path);
+
+ if (g_ascii_strcasecmp (governor, "userspace") == 0) {
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[SCALING_SETSPEED]);
+ } else if (g_ascii_strcasecmp (governor, "powersave") == 0) {
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[SCALING_MIN]);
+ } else if (g_ascii_strcasecmp (governor, "performance") == 0) {
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[SCALING_MAX]);
+ } else { /* Ondemand, Conservative, ... */
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH,
+ cpu, monitor_sysfs_files[SCALING_CUR_FREQ]);
+ }
+
+ frequency = cpufreq_sysfs_read (path, &error);
+ if (!frequency) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+ g_free (path);
+ g_free (governor);
+
+ return FALSE;
+ }
+
+ g_free (path);
+
+ g_object_set (G_OBJECT (monitor),
+ "online", TRUE,
+ "governor", governor,
+ "frequency", atoi (frequency),
+ NULL);
+
+ g_free (governor);
+ g_free (frequency);
+
+ return TRUE;
+}
+
+static gint
+compare (gconstpointer a, gconstpointer b)
+{
+ gint aa, bb;
+
+ aa = atoi ((gchar *) a);
+ bb = atoi ((gchar *) b);
+
+ if (aa == bb)
+ return 0;
+ else if (aa > bb)
+ return -1;
+ else
+ return 1;
+}
+
+static GList *
+cpufreq_monitor_sysfs_get_available_frequencies (CPUFreqMonitor *monitor)
+{
+ gchar *path;
+ GList *list = NULL;
+ gchar **frequencies = NULL;
+ gint i;
+ guint cpu;
+ gchar *buffer = NULL;
+ GError *error = NULL;
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &cpu, NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_available_frequencies");
+
+ if (!cpufreq_file_get_contents (path, &buffer, NULL, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (path);
+
+ return NULL;
+ }
+
+ g_free (path);
+
+ buffer = g_strchomp (buffer);
+ frequencies = g_strsplit (buffer, " ", -1);
+
+ i = 0;
+ while (frequencies[i]) {
+ if (!g_list_find_custom (list, frequencies[i], compare))
+ list = g_list_prepend (list, g_strdup (frequencies[i]));
+ i++;
+ }
+
+ g_strfreev (frequencies);
+ g_free (buffer);
+
+ return g_list_sort (list, compare);
+}
+
+static GList *
+cpufreq_monitor_sysfs_get_available_governors (CPUFreqMonitor *monitor)
+{
+ gchar *path;
+ GList *list = NULL;
+ gchar **governors = NULL;
+ gint i;
+ guint cpu;
+ gchar *buffer = NULL;
+ GError *error = NULL;
+
+ g_object_get (G_OBJECT (monitor),
+ "cpu", &cpu, NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_available_governors");
+
+ if (!cpufreq_file_get_contents (path, &buffer, NULL, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (path);
+
+ return NULL;
+ }
+
+ g_free (path);
+
+ buffer = g_strchomp (buffer);
+
+ governors = g_strsplit (buffer, " ", -1);
+
+ i = 0;
+ while (governors[i] != NULL) {
+ list = g_list_prepend (list, g_strdup (governors[i]));
+ i++;
+ }
+
+ g_strfreev (governors);
+ g_free (buffer);
+
+ return list;
+}
diff --git a/cpufreq/src/cpufreq-monitor-sysfs.h b/cpufreq/src/cpufreq-monitor-sysfs.h
new file mode 100644
index 00000000..ee75dd9b
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor-sysfs.h
@@ -0,0 +1,54 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_MONITOR_SYSFS_H__
+#define __CPUFREQ_MONITOR_SYSFS_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-monitor.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_MONITOR_SYSFS (cpufreq_monitor_sysfs_get_type ())
+#define CPUFREQ_MONITOR_SYSFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_MONITOR_SYSFS, CPUFreqMonitorSysfs))
+#define CPUFREQ_MONITOR_SYSFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_MONITOR_SYSFS, CPUFreqMonitorSysfsClass))
+#define CPUFREQ_IS_MONITOR_SYSFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_MONITOR_SYSFS))
+#define CPUFREQ_IS_MONITOR_SYSFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_MONITOR_SYSFS))
+#define CPUFREQ_MONITOR_SYSFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_MONITOR_SYSFS, CPUFreqMonitorSysfsClass))
+
+typedef struct _CPUFreqMonitorSysfs CPUFreqMonitorSysfs;
+typedef struct _CPUFreqMonitorSysfsClass CPUFreqMonitorSysfsClass;
+
+struct _CPUFreqMonitorSysfs {
+ CPUFreqMonitor parent;
+};
+
+struct _CPUFreqMonitorSysfsClass {
+ CPUFreqMonitorClass parent_class;
+};
+
+GType cpufreq_monitor_sysfs_get_type (void) G_GNUC_CONST;
+CPUFreqMonitor *cpufreq_monitor_sysfs_new (guint cpu);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_MONITOR_SYSFS_H__ */
diff --git a/cpufreq/src/cpufreq-monitor.c b/cpufreq/src/cpufreq-monitor.c
new file mode 100644
index 00000000..662c94a9
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor.c
@@ -0,0 +1,411 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include "cpufreq-monitor.h"
+
+#define CPUFREQ_MONITOR_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), CPUFREQ_TYPE_MONITOR, CPUFreqMonitorPrivate))
+
+#define CPUFREQ_MONITOR_INTERVAL 1
+
+/* Properties */
+enum {
+ PROP_0,
+ PROP_CPU,
+ PROP_ONLINE,
+ PROP_FREQUENCY,
+ PROP_MAX_FREQUENCY,
+ PROP_GOVERNOR
+};
+
+/* Signals */
+enum {
+ SIGNAL_CHANGED,
+ N_SIGNALS
+};
+
+struct _CPUFreqMonitorPrivate {
+ guint cpu;
+ gboolean online;
+ gint cur_freq;
+ gint max_freq;
+ gchar *governor;
+ GList *available_freqs;
+ GList *available_govs;
+ guint timeout_handler;
+
+ gboolean changed;
+};
+
+static void cpufreq_monitor_init (CPUFreqMonitor *monitor);
+static void cpufreq_monitor_class_init (CPUFreqMonitorClass *klass);
+static void cpufreq_monitor_finalize (GObject *object);
+
+static void cpufreq_monitor_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *spec);
+static void cpufreq_monitor_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *spec);
+
+static guint signals[N_SIGNALS];
+
+G_DEFINE_ABSTRACT_TYPE (CPUFreqMonitor, cpufreq_monitor, G_TYPE_OBJECT)
+
+static void
+cpufreq_monitor_init (CPUFreqMonitor *monitor)
+{
+ monitor->priv = CPUFREQ_MONITOR_GET_PRIVATE (monitor);
+
+ monitor->priv->governor = NULL;
+ monitor->priv->available_freqs = NULL;
+ monitor->priv->available_govs = NULL;
+ monitor->priv->timeout_handler = 0;
+
+ monitor->priv->changed = FALSE;
+}
+
+static void
+cpufreq_monitor_class_init (CPUFreqMonitorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->set_property = cpufreq_monitor_set_property;
+ object_class->get_property = cpufreq_monitor_get_property;
+
+ /* Public virtual methods */
+ klass->run = NULL;
+ klass->get_available_frequencies = NULL;
+ klass->get_available_governors = NULL;
+
+ g_type_class_add_private (klass, sizeof (CPUFreqMonitorPrivate));
+
+ /* Porperties */
+ g_object_class_install_property (object_class,
+ PROP_CPU,
+ g_param_spec_uint ("cpu",
+ "CPU",
+ "The cpu to monitor",
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_CONSTRUCT |
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_ONLINE,
+ g_param_spec_boolean ("online",
+ "Online",
+ "Whether cpu is online",
+ TRUE,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_FREQUENCY,
+ g_param_spec_int ("frequency",
+ "Frequency",
+ "The current cpu frequency",
+ 0,
+ G_MAXINT,
+ 0,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_MAX_FREQUENCY,
+ g_param_spec_int ("max-frequency",
+ "MaxFrequency",
+ "The max cpu frequency",
+ 0,
+ G_MAXINT,
+ 0,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (object_class,
+ PROP_GOVERNOR,
+ g_param_spec_string ("governor",
+ "Governor",
+ "The current cpufreq governor",
+ NULL,
+ G_PARAM_READWRITE));
+
+ /* Signals */
+ signals[SIGNAL_CHANGED] =
+ g_signal_new ("changed",
+ G_TYPE_FROM_CLASS (klass),
+ G_SIGNAL_RUN_LAST,
+ G_STRUCT_OFFSET (CPUFreqMonitorClass, changed),
+ NULL, NULL,
+ g_cclosure_marshal_VOID__VOID,
+ G_TYPE_NONE, 0);
+
+ object_class->finalize = cpufreq_monitor_finalize;
+}
+
+static void
+cpufreq_monitor_finalize (GObject *object)
+{
+ CPUFreqMonitor *monitor = CPUFREQ_MONITOR (object);
+
+ monitor->priv->online = FALSE;
+
+ if (monitor->priv->timeout_handler > 0) {
+ g_source_remove (monitor->priv->timeout_handler);
+ monitor->priv->timeout_handler = 0;
+ }
+
+ if (monitor->priv->governor) {
+ g_free (monitor->priv->governor);
+ monitor->priv->governor = NULL;
+ }
+
+ if (monitor->priv->available_freqs) {
+ g_list_foreach (monitor->priv->available_freqs,
+ (GFunc) g_free,
+ NULL);
+ g_list_free (monitor->priv->available_freqs);
+ monitor->priv->available_freqs = NULL;
+ }
+
+ if (monitor->priv->available_govs) {
+ g_list_foreach (monitor->priv->available_govs,
+ (GFunc) g_free,
+ NULL);
+ g_list_free (monitor->priv->available_govs);
+ monitor->priv->available_govs = NULL;
+ }
+
+ G_OBJECT_CLASS (cpufreq_monitor_parent_class)->finalize (object);
+}
+
+static void
+cpufreq_monitor_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *spec)
+{
+ CPUFreqMonitor *monitor;
+
+ monitor = CPUFREQ_MONITOR (object);
+
+ switch (prop_id) {
+ case PROP_CPU: {
+ guint cpu = g_value_get_uint (value);
+
+ if (cpu != monitor->priv->cpu) {
+ monitor->priv->cpu = cpu;
+ monitor->priv->changed = TRUE;
+ }
+ }
+ break;
+ case PROP_ONLINE:
+ monitor->priv->online = g_value_get_boolean (value);
+
+ break;
+ case PROP_FREQUENCY: {
+ gint freq = g_value_get_int (value);
+
+ if (freq != monitor->priv->cur_freq) {
+ monitor->priv->cur_freq = freq;
+ monitor->priv->changed = TRUE;
+ }
+ }
+ break;
+ case PROP_MAX_FREQUENCY: {
+ gint freq = g_value_get_int (value);
+
+ if (freq != monitor->priv->max_freq) {
+ monitor->priv->max_freq = freq;
+ monitor->priv->changed = TRUE;
+ }
+ }
+ break;
+ case PROP_GOVERNOR: {
+ const gchar *gov = g_value_get_string (value);
+
+ if (monitor->priv->governor) {
+ if (g_ascii_strcasecmp (gov, monitor->priv->governor) != 0) {
+ g_free (monitor->priv->governor);
+ monitor->priv->governor = gov ? g_strdup (gov) : NULL;
+ monitor->priv->changed = TRUE;
+ }
+ } else {
+ monitor->priv->governor = gov ? g_strdup (gov) : NULL;
+ monitor->priv->changed = TRUE;
+ }
+ }
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
+ break;
+ }
+}
+
+static void
+cpufreq_monitor_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *spec)
+{
+ CPUFreqMonitor *monitor;
+
+ monitor = CPUFREQ_MONITOR (object);
+
+ switch (prop_id) {
+ case PROP_CPU:
+ g_value_set_uint (value, monitor->priv->cpu);
+ break;
+ case PROP_ONLINE:
+ g_value_set_boolean (value, monitor->priv->online);
+ break;
+ case PROP_FREQUENCY:
+ g_value_set_int (value, monitor->priv->cur_freq);
+ break;
+ case PROP_MAX_FREQUENCY:
+ g_value_set_int (value, monitor->priv->max_freq);
+ break;
+ case PROP_GOVERNOR:
+ g_value_set_string (value, monitor->priv->governor);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
+ break;
+ }
+}
+
+static gboolean
+cpufreq_monitor_run_cb (CPUFreqMonitor *monitor)
+{
+ CPUFreqMonitorClass *class;
+ gboolean retval = FALSE;
+
+ class = CPUFREQ_MONITOR_GET_CLASS (monitor);
+
+ if (class->run)
+ retval = class->run (monitor);
+
+ if (monitor->priv->changed) {
+ g_signal_emit (monitor, signals[SIGNAL_CHANGED], 0);
+ monitor->priv->changed = FALSE;
+ }
+
+ return retval;
+}
+
+void
+cpufreq_monitor_run (CPUFreqMonitor *monitor)
+{
+ g_return_if_fail (CPUFREQ_IS_MONITOR (monitor));
+
+ if (monitor->priv->timeout_handler > 0)
+ return;
+
+ monitor->priv->timeout_handler =
+ g_timeout_add_seconds (CPUFREQ_MONITOR_INTERVAL,
+ (GSourceFunc) cpufreq_monitor_run_cb,
+ (gpointer) monitor);
+}
+
+GList *
+cpufreq_monitor_get_available_frequencies (CPUFreqMonitor *monitor)
+{
+ CPUFreqMonitorClass *class;
+
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), NULL);
+
+ if (!monitor->priv->online)
+ return NULL;
+
+ if (monitor->priv->available_freqs)
+ return monitor->priv->available_freqs;
+
+ class = CPUFREQ_MONITOR_GET_CLASS (monitor);
+
+ if (class->get_available_frequencies) {
+ monitor->priv->available_freqs = class->get_available_frequencies (monitor);
+ }
+
+ return monitor->priv->available_freqs;
+}
+
+GList *
+cpufreq_monitor_get_available_governors (CPUFreqMonitor *monitor)
+{
+ CPUFreqMonitorClass *class;
+
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), NULL);
+
+ if (!monitor->priv->online)
+ return NULL;
+
+ if (monitor->priv->available_govs)
+ return monitor->priv->available_govs;
+
+ class = CPUFREQ_MONITOR_GET_CLASS (monitor);
+
+ if (class->get_available_governors) {
+ monitor->priv->available_govs = class->get_available_governors (monitor);
+ }
+
+ return monitor->priv->available_govs;
+}
+
+guint
+cpufreq_monitor_get_cpu (CPUFreqMonitor *monitor)
+{
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), 0);
+
+ return monitor->priv->cpu;
+}
+
+void
+cpufreq_monitor_set_cpu (CPUFreqMonitor *monitor, guint cpu)
+{
+ g_return_if_fail (CPUFREQ_IS_MONITOR (monitor));
+
+ g_object_set (G_OBJECT (monitor),
+ "cpu", cpu, NULL);
+}
+
+gint
+cpufreq_monitor_get_frequency (CPUFreqMonitor *monitor)
+{
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), -1);
+
+ return monitor->priv->cur_freq;
+}
+
+const gchar *
+cpufreq_monitor_get_governor (CPUFreqMonitor *monitor)
+{
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), NULL);
+
+ return monitor->priv->governor;
+}
+
+gint
+cpufreq_monitor_get_percentage (CPUFreqMonitor *monitor)
+{
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (monitor), -1);
+
+ if (monitor->priv->max_freq > 0) {
+ return ((monitor->priv->cur_freq * 100) / monitor->priv->max_freq);
+ }
+
+ return -1;
+}
diff --git a/cpufreq/src/cpufreq-monitor.h b/cpufreq/src/cpufreq-monitor.h
new file mode 100644
index 00000000..0b9ac508
--- /dev/null
+++ b/cpufreq/src/cpufreq-monitor.h
@@ -0,0 +1,72 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_MONITOR_H__
+#define __CPUFREQ_MONITOR_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_MONITOR (cpufreq_monitor_get_type ())
+#define CPUFREQ_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_MONITOR, CPUFreqMonitor))
+#define CPUFREQ_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_MONITOR, CPUFreqMonitorClass))
+#define CPUFREQ_IS_MONITOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_MONITOR))
+#define CPUFREQ_IS_MONITOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_MONITOR))
+#define CPUFREQ_MONITOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_MONITOR, CPUFreqMonitorClass))
+
+typedef struct _CPUFreqMonitor CPUFreqMonitor;
+typedef struct _CPUFreqMonitorClass CPUFreqMonitorClass;
+typedef struct _CPUFreqMonitorPrivate CPUFreqMonitorPrivate;
+
+struct _CPUFreqMonitor {
+ GObject parent;
+
+ CPUFreqMonitorPrivate *priv;
+};
+
+struct _CPUFreqMonitorClass {
+ GObjectClass parent_class;
+
+ gboolean (* run) (CPUFreqMonitor *monitor);
+ GList *(* get_available_frequencies) (CPUFreqMonitor *monitor);
+ GList *(* get_available_governors) (CPUFreqMonitor *monitor);
+
+ /*< signals >*/
+ void (* changed) (CPUFreqMonitor *monitor);
+};
+
+GType cpufreq_monitor_get_type (void) G_GNUC_CONST;
+
+void cpufreq_monitor_run (CPUFreqMonitor *monitor);
+GList *cpufreq_monitor_get_available_frequencies (CPUFreqMonitor *monitor);
+GList *cpufreq_monitor_get_available_governors (CPUFreqMonitor *monitor);
+
+guint cpufreq_monitor_get_cpu (CPUFreqMonitor *monitor);
+void cpufreq_monitor_set_cpu (CPUFreqMonitor *monitor,
+ guint cpu);
+const gchar *cpufreq_monitor_get_governor (CPUFreqMonitor *monitor);
+gint cpufreq_monitor_get_frequency (CPUFreqMonitor *monitor);
+gint cpufreq_monitor_get_percentage (CPUFreqMonitor *monitor);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_MONITOR_H__ */
diff --git a/cpufreq/src/cpufreq-popup.c b/cpufreq/src/cpufreq-popup.c
new file mode 100644
index 00000000..8486c2b3
--- /dev/null
+++ b/cpufreq/src/cpufreq-popup.c
@@ -0,0 +1,509 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib/gi18n.h>
+
+#include <gtk/gtk.h>
+#include <gdk/gdkx.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "cpufreq-popup.h"
+#include "cpufreq-selector.h"
+#include "cpufreq-utils.h"
+
+struct _CPUFreqPopupPrivate {
+ GtkUIManager *ui_manager;
+ GSList *radio_group;
+
+ GtkActionGroup *freqs_group;
+ GSList *freqs_actions;
+
+ GtkActionGroup *govs_group;
+ GSList *govs_actions;
+
+ guint merge_id;
+ gboolean need_build;
+ gboolean show_freqs;
+
+ CPUFreqMonitor *monitor;
+ GtkWidget *parent;
+};
+
+#define CPUFREQ_POPUP_GET_PRIVATE(object) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((object), CPUFREQ_TYPE_POPUP, CPUFreqPopupPrivate))
+
+static void cpufreq_popup_init (CPUFreqPopup *popup);
+static void cpufreq_popup_class_init (CPUFreqPopupClass *klass);
+static void cpufreq_popup_finalize (GObject *object);
+
+G_DEFINE_TYPE (CPUFreqPopup, cpufreq_popup, G_TYPE_OBJECT)
+
+static const gchar *ui_popup =
+"<ui>"
+" <popup name=\"CPUFreqSelectorPopup\" action=\"PopupAction\">"
+" <placeholder name=\"FreqsItemsGroup\">"
+" </placeholder>"
+" <separator />"
+" <placeholder name=\"GovsItemsGroup\">"
+" </placeholder>"
+" </popup>"
+"</ui>";
+
+#define FREQS_PLACEHOLDER_PATH "/CPUFreqSelectorPopup/FreqsItemsGroup"
+#define GOVS_PLACEHOLDER_PATH "/CPUFreqSelectorPopup/GovsItemsGroup"
+
+static void
+cpufreq_popup_init (CPUFreqPopup *popup)
+{
+ popup->priv = CPUFREQ_POPUP_GET_PRIVATE (popup);
+
+ popup->priv->ui_manager = gtk_ui_manager_new ();
+ popup->priv->radio_group = NULL;
+
+ popup->priv->freqs_group = NULL;
+ popup->priv->freqs_actions = NULL;
+
+ popup->priv->govs_group = NULL;
+ popup->priv->govs_actions = NULL;
+
+ popup->priv->merge_id = 0;
+ popup->priv->need_build = TRUE;
+ popup->priv->show_freqs = FALSE;
+
+ gtk_ui_manager_add_ui_from_string (popup->priv->ui_manager,
+ ui_popup, -1, NULL);
+
+ popup->priv->monitor = NULL;
+}
+
+static void
+cpufreq_popup_class_init (CPUFreqPopupClass *klass)
+{
+ GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (g_object_class, sizeof (CPUFreqPopupPrivate));
+
+ g_object_class->finalize = cpufreq_popup_finalize;
+}
+
+static void
+cpufreq_popup_finalize (GObject *object)
+{
+ CPUFreqPopup *popup = CPUFREQ_POPUP (object);
+
+ if (popup->priv->ui_manager) {
+ g_object_unref (popup->priv->ui_manager);
+ popup->priv->ui_manager = NULL;
+ }
+
+ if (popup->priv->freqs_group) {
+ g_object_unref (popup->priv->freqs_group);
+ popup->priv->freqs_group = NULL;
+ }
+
+ if (popup->priv->freqs_actions) {
+ g_slist_free (popup->priv->freqs_actions);
+ popup->priv->freqs_actions = NULL;
+ }
+
+ if (popup->priv->govs_group) {
+ g_object_unref (popup->priv->govs_group);
+ popup->priv->govs_group = NULL;
+ }
+
+ if (popup->priv->govs_actions) {
+ g_slist_free (popup->priv->govs_actions);
+ popup->priv->govs_actions = NULL;
+ }
+
+ if (popup->priv->monitor) {
+ g_object_unref (popup->priv->monitor);
+ popup->priv->monitor = NULL;
+ }
+
+ G_OBJECT_CLASS (cpufreq_popup_parent_class)->finalize (object);
+}
+
+CPUFreqPopup *
+cpufreq_popup_new (void)
+{
+ CPUFreqPopup *popup;
+
+ popup = CPUFREQ_POPUP (g_object_new (CPUFREQ_TYPE_POPUP,
+ NULL));
+
+ return popup;
+}
+
+/* Public methods */
+void
+cpufreq_popup_set_monitor (CPUFreqPopup *popup,
+ CPUFreqMonitor *monitor)
+{
+ g_return_if_fail (CPUFREQ_IS_POPUP (popup));
+ g_return_if_fail (CPUFREQ_IS_MONITOR (monitor));
+
+ if (popup->priv->monitor == monitor)
+ return;
+
+ if (popup->priv->monitor)
+ g_object_unref (popup->priv->monitor);
+ popup->priv->monitor = g_object_ref (monitor);
+}
+
+void
+cpufreq_popup_set_parent (CPUFreqPopup *popup,
+ GtkWidget *parent)
+{
+ g_return_if_fail (CPUFREQ_IS_POPUP (popup));
+ g_return_if_fail (GTK_IS_WIDGET (parent));
+
+ popup->priv->parent = parent;
+}
+
+static void
+cpufreq_popup_frequencies_menu_activate (GtkAction *action,
+ CPUFreqPopup *popup)
+{
+ CPUFreqSelector *selector;
+ const gchar *name;
+ guint cpu;
+ guint freq;
+ guint32 parent;
+
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
+ return;
+
+ selector = cpufreq_selector_get_default ();
+
+ cpu = cpufreq_monitor_get_cpu (popup->priv->monitor);
+ name = gtk_action_get_name (action);
+ freq = (guint) atoi (name + strlen ("Frequency"));
+ parent = GDK_WINDOW_XID (gtk_widget_get_window (popup->priv->parent));
+
+
+ cpufreq_selector_set_frequency_async (selector, cpu, freq, parent);
+}
+
+static void
+cpufreq_popup_governors_menu_activate (GtkAction *action,
+ CPUFreqPopup *popup)
+{
+ CPUFreqSelector *selector;
+ const gchar *name;
+ guint cpu;
+ const gchar *governor;
+ guint32 parent;
+
+ if (!gtk_toggle_action_get_active (GTK_TOGGLE_ACTION (action)))
+ return;
+
+ selector = cpufreq_selector_get_default ();
+
+ cpu = cpufreq_monitor_get_cpu (popup->priv->monitor);
+ name = gtk_action_get_name (action);
+ governor = name + strlen ("Governor");
+ parent = GDK_WINDOW_XID (gtk_widget_get_window (popup->priv->parent));
+
+ cpufreq_selector_set_governor_async (selector, cpu, governor, parent);
+}
+
+static void
+cpufreq_popup_menu_add_action (CPUFreqPopup *popup,
+ const gchar *menu,
+ GtkActionGroup *action_group,
+ const gchar *action_name,
+ const gchar *label,
+ gboolean sensitive)
+{
+ GtkToggleAction *action;
+ gchar *name;
+
+ name = g_strdup_printf ("%s%s", menu, action_name);
+
+ action = g_object_new (GTK_TYPE_RADIO_ACTION,
+ "name", name,
+ "label", label,
+ NULL);
+
+ gtk_action_set_sensitive (GTK_ACTION (action), sensitive);
+
+ gtk_radio_action_set_group (GTK_RADIO_ACTION (action), popup->priv->radio_group);
+ popup->priv->radio_group = gtk_radio_action_get_group (GTK_RADIO_ACTION (action));
+
+ if (g_ascii_strcasecmp (menu, "Frequency") == 0) {
+ popup->priv->freqs_actions = g_slist_prepend (popup->priv->freqs_actions,
+ (gpointer) action);
+
+ g_signal_connect (action, "activate",
+ G_CALLBACK (cpufreq_popup_frequencies_menu_activate),
+ (gpointer) popup);
+ } else if (g_ascii_strcasecmp (menu, "Governor") == 0) {
+ popup->priv->govs_actions = g_slist_prepend (popup->priv->govs_actions,
+ (gpointer) action);
+
+ g_signal_connect (action, "activate",
+ G_CALLBACK (cpufreq_popup_governors_menu_activate),
+ (gpointer) popup);
+ }
+
+ gtk_action_group_add_action (action_group, GTK_ACTION (action));
+ g_object_unref (action);
+
+ g_free (name);
+}
+
+static void
+frequencies_menu_create_actions (CPUFreqPopup *popup)
+{
+ GList *available_freqs;
+
+ available_freqs = cpufreq_monitor_get_available_frequencies (popup->priv->monitor);
+
+ while (available_freqs) {
+ const gchar *text;
+ gchar *freq_text;
+ gchar *label;
+ gchar *unit;
+ gint freq;
+
+ text = (const gchar *) available_freqs->data;
+ freq = atoi (text);
+
+ freq_text = cpufreq_utils_get_frequency_label (freq);
+ unit = cpufreq_utils_get_frequency_unit (freq);
+
+ label = g_strdup_printf ("%s %s", freq_text, unit);
+ g_free (freq_text);
+ g_free (unit);
+
+ cpufreq_popup_menu_add_action (popup,
+ "Frequency",
+ popup->priv->freqs_group,
+ text, label, TRUE);
+ g_free (label);
+
+ available_freqs = g_list_next (available_freqs);
+ }
+}
+
+static void
+governors_menu_create_actions (CPUFreqPopup *popup)
+{
+ GList *available_govs;
+
+ available_govs = cpufreq_monitor_get_available_governors (popup->priv->monitor);
+ available_govs = g_list_sort (available_govs, (GCompareFunc)g_ascii_strcasecmp);
+
+ while (available_govs) {
+ const gchar *governor;
+ gchar *label;
+
+ governor = (const gchar *) available_govs->data;
+ if (g_ascii_strcasecmp (governor, "userspace") == 0) {
+ popup->priv->show_freqs = TRUE;
+ available_govs = g_list_next (available_govs);
+ continue;
+ }
+
+ label = g_strdup (governor);
+ label[0] = g_ascii_toupper (label[0]);
+
+ cpufreq_popup_menu_add_action (popup,
+ "Governor",
+ popup->priv->govs_group,
+ governor, label, TRUE);
+ g_free (label);
+
+ available_govs = g_list_next (available_govs);
+ }
+}
+
+static void
+cpufreq_popup_build_ui (CPUFreqPopup *popup,
+ GSList *actions,
+ const gchar *menu_path)
+{
+ GSList *l = NULL;
+
+ for (l = actions; l && l->data; l = g_slist_next (l)) {
+ GtkAction *action;
+ gchar *name = NULL;
+ gchar *label = NULL;
+
+ action = (GtkAction *) l->data;
+
+ g_object_get (G_OBJECT (action),
+ "name", &name,
+ "label", &label,
+ NULL);
+
+ gtk_ui_manager_add_ui (popup->priv->ui_manager,
+ popup->priv->merge_id,
+ menu_path,
+ label, name,
+ GTK_UI_MANAGER_MENUITEM,
+ FALSE);
+
+ g_free (name);
+ g_free (label);
+ }
+}
+
+static void
+cpufreq_popup_build_frequencies_menu (CPUFreqPopup *popup,
+ const gchar *path)
+{
+ if (!popup->priv->freqs_group) {
+ GtkActionGroup *action_group;
+
+ action_group = gtk_action_group_new ("FreqsActions");
+ popup->priv->freqs_group = action_group;
+ gtk_action_group_set_translation_domain (action_group, NULL);
+
+ frequencies_menu_create_actions (popup);
+ popup->priv->freqs_actions = g_slist_reverse (popup->priv->freqs_actions);
+ gtk_ui_manager_insert_action_group (popup->priv->ui_manager,
+ action_group, 0);
+ }
+
+ cpufreq_popup_build_ui (popup,
+ popup->priv->freqs_actions,
+ path);
+}
+
+static void
+cpufreq_popup_build_governors_menu (CPUFreqPopup *popup,
+ const gchar *path)
+{
+ if (!popup->priv->govs_group) {
+ GtkActionGroup *action_group;
+
+ action_group = gtk_action_group_new ("GovsActions");
+ popup->priv->govs_group = action_group;
+ gtk_action_group_set_translation_domain (action_group, NULL);
+
+ governors_menu_create_actions (popup);
+ popup->priv->govs_actions = g_slist_reverse (popup->priv->govs_actions);
+ gtk_ui_manager_insert_action_group (popup->priv->ui_manager,
+ action_group, 1);
+ }
+
+ cpufreq_popup_build_ui (popup,
+ popup->priv->govs_actions,
+ path);
+}
+
+static void
+cpufreq_popup_build_menu (CPUFreqPopup *popup)
+{
+ if (popup->priv->merge_id > 0) {
+ gtk_ui_manager_remove_ui (popup->priv->ui_manager,
+ popup->priv->merge_id);
+ gtk_ui_manager_ensure_update (popup->priv->ui_manager);
+ }
+
+ popup->priv->merge_id = gtk_ui_manager_new_merge_id (popup->priv->ui_manager);
+
+ cpufreq_popup_build_frequencies_menu (popup, FREQS_PLACEHOLDER_PATH);
+ cpufreq_popup_build_governors_menu (popup, GOVS_PLACEHOLDER_PATH);
+
+ gtk_action_group_set_visible (popup->priv->freqs_group,
+ popup->priv->show_freqs);
+}
+
+static void
+cpufreq_popup_menu_set_active_action (CPUFreqPopup *popup,
+ GtkActionGroup *action_group,
+ const gchar *prefix,
+ const gchar *item)
+{
+ gchar name[128];
+ GtkAction *action;
+
+ g_snprintf (name, sizeof (name), "%s%s", prefix, item);
+ action = gtk_action_group_get_action (action_group, name);
+
+ g_signal_handlers_block_by_func (action,
+ cpufreq_popup_frequencies_menu_activate,
+ popup);
+ g_signal_handlers_block_by_func (action,
+ cpufreq_popup_governors_menu_activate,
+ popup);
+
+ gtk_toggle_action_set_active (GTK_TOGGLE_ACTION (action), TRUE);
+
+ g_signal_handlers_unblock_by_func (action,
+ cpufreq_popup_frequencies_menu_activate,
+ popup);
+ g_signal_handlers_unblock_by_func (action,
+ cpufreq_popup_governors_menu_activate,
+ popup);
+}
+
+static void
+cpufreq_popup_menu_set_active (CPUFreqPopup *popup)
+{
+ const gchar *governor;
+
+ governor = cpufreq_monitor_get_governor (popup->priv->monitor);
+
+ if (g_ascii_strcasecmp (governor, "userspace") == 0) {
+ gchar *active;
+ guint freq;
+
+ freq = cpufreq_monitor_get_frequency (popup->priv->monitor);
+ active = g_strdup_printf ("%d", freq);
+ cpufreq_popup_menu_set_active_action (popup,
+ popup->priv->freqs_group,
+ "Frequency", active);
+ g_free (active);
+ } else {
+ cpufreq_popup_menu_set_active_action (popup,
+ popup->priv->govs_group,
+ "Governor", governor);
+ }
+}
+
+GtkWidget *
+cpufreq_popup_get_menu (CPUFreqPopup *popup)
+{
+ GtkWidget *menu;
+
+ g_return_val_if_fail (CPUFREQ_IS_POPUP (popup), NULL);
+ g_return_val_if_fail (CPUFREQ_IS_MONITOR (popup->priv->monitor), NULL);
+
+ if (!cpufreq_utils_selector_is_available ())
+ return NULL;
+
+ if (popup->priv->need_build) {
+ cpufreq_popup_build_menu (popup);
+ popup->priv->need_build = FALSE;
+ }
+
+ cpufreq_popup_menu_set_active (popup);
+
+ menu = gtk_ui_manager_get_widget (popup->priv->ui_manager,
+ "/CPUFreqSelectorPopup");
+
+ return menu;
+}
diff --git a/cpufreq/src/cpufreq-popup.h b/cpufreq/src/cpufreq-popup.h
new file mode 100644
index 00000000..3a252d16
--- /dev/null
+++ b/cpufreq/src/cpufreq-popup.h
@@ -0,0 +1,66 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef CPUFREQ_POPUP_H
+#define CPUFREQ_POPUP_H
+
+#include <glib-object.h>
+
+#include "cpufreq-monitor.h"
+#include "cpufreq-prefs.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_POPUP (cpufreq_popup_get_type ())
+#define CPUFREQ_POPUP(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_POPUP, CPUFreqPopup))
+#define CPUFREQ_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_POPUP, CPUFreqPopupClass))
+#define CPUFREQ_IS_POPUP(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_POPUP))
+#define CPUFREQ_IS_POPUP_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_POPUP))
+#define CPUFREQ_POPUP_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_POPUP, CPUFreqPopupClass))
+
+typedef struct _CPUFreqPopup CPUFreqPopup;
+typedef struct _CPUFreqPopupClass CPUFreqPopupClass;
+typedef struct _CPUFreqPopupPrivate CPUFreqPopupPrivate;
+
+struct _CPUFreqPopup {
+ GObject base;
+
+ CPUFreqPopupPrivate *priv;
+};
+
+struct _CPUFreqPopupClass {
+ GObjectClass parent_class;
+};
+
+GType cpufreq_popup_get_type (void) G_GNUC_CONST;
+CPUFreqPopup *cpufreq_popup_new (void);
+
+void cpufreq_popup_set_preferences (CPUFreqPopup *popup,
+ CPUFreqPrefs *prefs);
+void cpufreq_popup_set_monitor (CPUFreqPopup *popup,
+ CPUFreqMonitor *monitor);
+void cpufreq_popup_set_parent (CPUFreqPopup *popup,
+ GtkWidget *parent);
+GtkWidget *cpufreq_popup_get_menu (CPUFreqPopup *popup);
+
+G_END_DECLS
+
+#endif /* CPUFREQ_POPUP_H */
diff --git a/cpufreq/src/cpufreq-prefs.c b/cpufreq/src/cpufreq-prefs.c
new file mode 100644
index 00000000..a57d02d9
--- /dev/null
+++ b/cpufreq/src/cpufreq-prefs.c
@@ -0,0 +1,705 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
+#include <mateconf/mateconf-client.h>
+
+#include "cpufreq-prefs.h"
+#include "cpufreq-utils.h"
+
+enum {
+ PROP_0,
+ PROP_MATECONF_KEY,
+ PROP_CPU,
+ PROP_SHOW_MODE,
+ PROP_SHOW_TEXT_MODE,
+};
+
+struct _CPUFreqPrefsPrivate {
+ MateConfClient *mateconf_client;
+ gchar *mateconf_key;
+
+ guint cpu;
+ CPUFreqShowMode show_mode;
+ CPUFreqShowTextMode show_text_mode;
+
+ /* Preferences dialog */
+ GtkWidget *dialog;
+ GtkWidget *show_freq;
+ GtkWidget *show_unit;
+ GtkWidget *show_perc;
+ GtkWidget *cpu_combo;
+ GtkWidget *monitor_settings_box;
+ GtkWidget *show_mode_combo;
+};
+
+#define CPUFREQ_PREFS_GET_PRIVATE(object) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((object), CPUFREQ_TYPE_PREFS, CPUFreqPrefsPrivate))
+
+static void cpufreq_prefs_init (CPUFreqPrefs *prefs);
+static void cpufreq_prefs_class_init (CPUFreqPrefsClass *klass);
+static void cpufreq_prefs_finalize (GObject *object);
+
+static void cpufreq_prefs_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec);
+static void cpufreq_prefs_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec);
+
+static void cpufreq_prefs_dialog_update_sensitivity (CPUFreqPrefs *prefs);
+
+
+G_DEFINE_TYPE (CPUFreqPrefs, cpufreq_prefs, G_TYPE_OBJECT)
+
+static void
+cpufreq_prefs_init (CPUFreqPrefs *prefs)
+{
+ prefs->priv = CPUFREQ_PREFS_GET_PRIVATE (prefs);
+
+ prefs->priv->mateconf_client = mateconf_client_get_default ();
+ prefs->priv->mateconf_key = NULL;
+
+ prefs->priv->cpu = 0;
+}
+
+static void
+cpufreq_prefs_class_init (CPUFreqPrefsClass *klass)
+{
+ GObjectClass *g_object_class = G_OBJECT_CLASS (klass);
+
+ g_object_class->set_property = cpufreq_prefs_set_property;
+ g_object_class->get_property = cpufreq_prefs_get_property;
+
+ g_type_class_add_private (g_object_class, sizeof (CPUFreqPrefsPrivate));
+
+ /* Properties */
+ g_object_class_install_property (g_object_class,
+ PROP_MATECONF_KEY,
+ g_param_spec_string ("mateconf-key",
+ "MateConfKey",
+ "The applet mateconf key",
+ NULL,
+ G_PARAM_WRITABLE |
+ G_PARAM_CONSTRUCT_ONLY));
+ g_object_class_install_property (g_object_class,
+ PROP_CPU,
+ g_param_spec_uint ("cpu",
+ "CPU",
+ "The monitored cpu",
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (g_object_class,
+ PROP_SHOW_MODE,
+ g_param_spec_enum ("show-mode",
+ "ShowMode",
+ "The applet show mode",
+ CPUFREQ_TYPE_SHOW_MODE,
+ CPUFREQ_MODE_BOTH,
+ G_PARAM_READWRITE));
+ g_object_class_install_property (g_object_class,
+ PROP_SHOW_TEXT_MODE,
+ g_param_spec_enum ("show-text-mode",
+ "ShowTextMode",
+ "The applet show text mode",
+ CPUFREQ_TYPE_SHOW_TEXT_MODE,
+ CPUFREQ_MODE_TEXT_FREQUENCY_UNIT,
+ G_PARAM_READWRITE));
+
+ g_object_class->finalize = cpufreq_prefs_finalize;
+}
+
+static void
+cpufreq_prefs_finalize (GObject *object)
+{
+ CPUFreqPrefs *prefs = CPUFREQ_PREFS (object);
+
+ if (prefs->priv->mateconf_client) {
+ g_object_unref (prefs->priv->mateconf_client);
+ prefs->priv->mateconf_client = NULL;
+ }
+
+ if (prefs->priv->mateconf_key) {
+ g_free (prefs->priv->mateconf_key);
+ prefs->priv->mateconf_key = NULL;
+ }
+
+ if (prefs->priv->dialog) {
+ gtk_widget_destroy (prefs->priv->dialog);
+ prefs->priv->dialog = NULL;
+ }
+
+ G_OBJECT_CLASS (cpufreq_prefs_parent_class)->finalize (object);
+}
+
+static void
+cpufreq_prefs_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
+{
+ CPUFreqPrefs *prefs = CPUFREQ_PREFS (object);
+ gboolean update_sensitivity = FALSE;
+
+ switch (prop_id) {
+ case PROP_MATECONF_KEY:
+ prefs->priv->mateconf_key = g_value_dup_string (value);
+ break;
+ case PROP_CPU: {
+ guint cpu;
+
+ cpu = g_value_get_uint (value);
+ if (prefs->priv->cpu != cpu) {
+ gchar *key;
+
+ prefs->priv->cpu = cpu;
+ key = g_strjoin ("/",
+ prefs->priv->mateconf_key,
+ "cpu",
+ NULL);
+ mateconf_client_set_int (prefs->priv->mateconf_client,
+ key, prefs->priv->cpu,
+ NULL);
+ g_free (key);
+ }
+ }
+ break;
+ case PROP_SHOW_MODE: {
+ CPUFreqShowMode mode;
+
+ mode = g_value_get_enum (value);
+ if (prefs->priv->show_mode != mode) {
+ gchar *key;
+
+ update_sensitivity = TRUE;
+ prefs->priv->show_mode = mode;
+ key = g_strjoin ("/",
+ prefs->priv->mateconf_key,
+ "show_mode",
+ NULL);
+ mateconf_client_set_int (prefs->priv->mateconf_client,
+ key, prefs->priv->show_mode,
+ NULL);
+ g_free (key);
+ }
+ }
+ break;
+ case PROP_SHOW_TEXT_MODE: {
+ CPUFreqShowTextMode mode;
+
+ mode = g_value_get_enum (value);
+ if (prefs->priv->show_text_mode != mode) {
+ gchar *key;
+
+ update_sensitivity = TRUE;
+ prefs->priv->show_text_mode = mode;
+ key = g_strjoin ("/",
+ prefs->priv->mateconf_key,
+ "show_text_mode",
+ NULL);
+ mateconf_client_set_int (prefs->priv->mateconf_client,
+ key, prefs->priv->show_text_mode,
+ NULL);
+ g_free (key);
+ }
+ }
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+
+ if (prefs->priv->dialog && update_sensitivity)
+ cpufreq_prefs_dialog_update_sensitivity (prefs);
+}
+
+static void
+cpufreq_prefs_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
+{
+ CPUFreqPrefs *prefs = CPUFREQ_PREFS (object);
+
+ switch (prop_id) {
+ case PROP_MATECONF_KEY:
+ /* Is not readable */
+ break;
+ case PROP_CPU:
+ g_value_set_uint (value, prefs->priv->cpu);
+ break;
+ case PROP_SHOW_MODE:
+ g_value_set_enum (value, prefs->priv->show_mode);
+ break;
+ case PROP_SHOW_TEXT_MODE:
+ g_value_set_enum (value, prefs->priv->show_text_mode);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ }
+}
+
+static void
+cpufreq_prefs_setup (CPUFreqPrefs *prefs)
+{
+ guint cpu;
+ CPUFreqShowMode show_mode;
+ CPUFreqShowTextMode show_text_mode;
+ gchar *key;
+ GError *error = NULL;
+
+ g_assert (MATECONF_IS_CLIENT (prefs->priv->mateconf_client));
+ g_assert (prefs->priv->mateconf_key != NULL);
+
+ key = g_strjoin ("/", prefs->priv->mateconf_key, "cpu", NULL);
+ cpu = mateconf_client_get_int (prefs->priv->mateconf_client,
+ key, &error);
+ g_free (key);
+ /* In case anything went wrong with mateconf, get back to the default */
+ if (error) {
+ g_warning ("%s", error->message);
+ cpu = 0;
+ g_error_free (error);
+ error = NULL;
+ }
+ prefs->priv->cpu = cpu;
+
+ key = g_strjoin ("/", prefs->priv->mateconf_key, "show_mode", NULL);
+ show_mode = mateconf_client_get_int (prefs->priv->mateconf_client,
+ key, &error);
+ g_free (key);
+ /* In case anything went wrong with mateconf, get back to the default */
+ if (error ||
+ show_mode < CPUFREQ_MODE_GRAPHIC ||
+ show_mode > CPUFREQ_MODE_BOTH) {
+ show_mode = CPUFREQ_MODE_BOTH;
+ if (error) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ }
+ prefs->priv->show_mode = show_mode;
+
+ key = g_strjoin ("/", prefs->priv->mateconf_key, "show_text_mode", NULL);
+ show_text_mode = mateconf_client_get_int (prefs->priv->mateconf_client,
+ key, &error);
+ g_free (key);
+ /* In case anything went wrong with mateconf, get back to the default */
+ if (error ||
+ show_text_mode < CPUFREQ_MODE_TEXT_FREQUENCY ||
+ show_text_mode > CPUFREQ_MODE_TEXT_PERCENTAGE) {
+ show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT;
+ if (error) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ }
+ prefs->priv->show_text_mode = show_text_mode;
+}
+
+CPUFreqPrefs *
+cpufreq_prefs_new (const gchar *mateconf_key)
+{
+ CPUFreqPrefs *prefs;
+
+ g_return_val_if_fail (mateconf_key != NULL, NULL);
+
+ prefs = CPUFREQ_PREFS (g_object_new (CPUFREQ_TYPE_PREFS,
+ "mateconf-key", mateconf_key,
+ NULL));
+
+ cpufreq_prefs_setup (prefs);
+
+ return prefs;
+}
+
+/* Public Methods */
+guint
+cpufreq_prefs_get_cpu (CPUFreqPrefs *prefs)
+{
+ g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs), 0);
+
+ return MIN (prefs->priv->cpu, cpufreq_utils_get_n_cpus () - 1);
+}
+
+CPUFreqShowMode
+cpufreq_prefs_get_show_mode (CPUFreqPrefs *prefs)
+{
+ g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs),
+ CPUFREQ_MODE_BOTH);
+
+ return prefs->priv->show_mode;
+}
+
+CPUFreqShowTextMode
+cpufreq_prefs_get_show_text_mode (CPUFreqPrefs *prefs)
+{
+ g_return_val_if_fail (CPUFREQ_IS_PREFS (prefs),
+ CPUFREQ_MODE_TEXT_FREQUENCY_UNIT);
+
+ return prefs->priv->show_text_mode;
+}
+
+/* Preferences Dialog */
+static gboolean
+cpufreq_prefs_key_is_writable (CPUFreqPrefs *prefs, const gchar *key)
+{
+ gboolean writable;
+ gchar *fullkey;
+
+ g_assert (prefs->priv->mateconf_client != NULL);
+
+ fullkey = g_strjoin ("/", prefs->priv->mateconf_key, key, NULL);
+ writable = mateconf_client_key_is_writable (prefs->priv->mateconf_client,
+ fullkey, NULL);
+ g_free (fullkey);
+
+ return writable;
+}
+
+static void
+cpufreq_prefs_dialog_show_freq_toggled (GtkWidget *show_freq, CPUFreqPrefs *prefs)
+{
+ CPUFreqShowTextMode show_text_mode;
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_freq))) {
+ GtkWidget *show_unit = prefs->priv->show_unit;
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit)))
+ show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT;
+ else
+ show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY;
+
+ g_object_set (G_OBJECT (prefs),
+ "show-text-mode", show_text_mode,
+ NULL);
+ }
+}
+
+static void
+cpufreq_prefs_dialog_show_unit_toggled (GtkWidget *show_unit, CPUFreqPrefs *prefs)
+{
+ CPUFreqShowTextMode show_text_mode;
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_unit))) {
+ show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY_UNIT;
+ } else {
+ show_text_mode = CPUFREQ_MODE_TEXT_FREQUENCY;
+ }
+
+ g_object_set (G_OBJECT (prefs),
+ "show-text-mode", show_text_mode,
+ NULL);
+}
+
+static void
+cpufreq_prefs_dialog_show_perc_toggled (GtkWidget *show_perc, CPUFreqPrefs *prefs)
+{
+
+ CPUFreqShowTextMode show_text_mode;
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (show_perc))) {
+ /* Show cpu usage in percentage */
+ show_text_mode = CPUFREQ_MODE_TEXT_PERCENTAGE;
+
+ g_object_set (G_OBJECT (prefs),
+ "show-text-mode", show_text_mode,
+ NULL);
+ }
+}
+
+static void
+cpufreq_prefs_dialog_cpu_number_changed (GtkWidget *cpu_combo, CPUFreqPrefs *prefs)
+{
+ gint cpu;
+
+ cpu = gtk_combo_box_get_active (GTK_COMBO_BOX (prefs->priv->cpu_combo));
+
+ if (cpu >= 0) {
+ g_object_set (G_OBJECT (prefs),
+ "cpu", cpu,
+ NULL);
+ }
+}
+
+static void
+cpufreq_prefs_dialog_show_mode_changed (GtkWidget *show_mode_combo, CPUFreqPrefs *prefs)
+{
+ CPUFreqShowMode show_mode;
+
+ show_mode = gtk_combo_box_get_active (GTK_COMBO_BOX (show_mode_combo));
+ g_object_set (G_OBJECT (prefs),
+ "show-mode", show_mode,
+ NULL);
+}
+
+static void
+cpufreq_prefs_dialog_response_cb (CPUFreqPrefs *prefs,
+ gint response,
+ GtkDialog *dialog)
+{
+ GError *error = NULL;
+
+ if (response == GTK_RESPONSE_HELP) {
+ gtk_show_uri (gtk_widget_get_screen (GTK_WIDGET (prefs->priv->dialog)),
+ "ghelp:cpufreq-applet?cpufreq-applet-prefs",
+ gtk_get_current_event_time (),
+ &error);
+
+ if (error) {
+ cpufreq_utils_display_error (_("Could not open help document"),
+ error->message);
+ g_error_free (error);
+ }
+ } else {
+ gtk_widget_destroy (prefs->priv->dialog);
+ prefs->priv->dialog = NULL;
+ }
+}
+
+static void
+cpufreq_prefs_dialog_update_visibility (CPUFreqPrefs *prefs)
+{
+ if (cpufreq_utils_get_n_cpus () > 1)
+ gtk_widget_show (prefs->priv->monitor_settings_box);
+ else
+ gtk_widget_hide (prefs->priv->monitor_settings_box);
+}
+
+static void
+cpufreq_prefs_dialog_update_sensitivity (CPUFreqPrefs *prefs)
+{
+ gtk_widget_set_sensitive (prefs->priv->show_mode_combo,
+ cpufreq_prefs_key_is_writable (prefs, "show_mode"));
+
+ if (prefs->priv->show_mode != CPUFREQ_MODE_GRAPHIC) {
+ gboolean key_writable;
+
+ key_writable = cpufreq_prefs_key_is_writable (prefs, "show_text_mode");
+
+ gtk_widget_set_sensitive (prefs->priv->show_freq,
+ (TRUE && key_writable));
+ gtk_widget_set_sensitive (prefs->priv->show_perc,
+ (TRUE && key_writable));
+
+ if (prefs->priv->show_text_mode == CPUFREQ_MODE_TEXT_PERCENTAGE)
+ gtk_widget_set_sensitive (prefs->priv->show_unit,
+ FALSE);
+ else
+ gtk_widget_set_sensitive (prefs->priv->show_unit,
+ (TRUE && key_writable));
+ } else {
+ gtk_widget_set_sensitive (prefs->priv->show_freq, FALSE);
+ gtk_widget_set_sensitive (prefs->priv->show_unit, FALSE);
+ gtk_widget_set_sensitive (prefs->priv->show_perc, FALSE);
+ }
+}
+
+static void
+cpufreq_prefs_dialog_update (CPUFreqPrefs *prefs)
+{
+ if (cpufreq_utils_get_n_cpus () > 1) {
+ gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->cpu_combo),
+ MIN (prefs->priv->cpu, cpufreq_utils_get_n_cpus () - 1));
+ }
+
+ gtk_combo_box_set_active (GTK_COMBO_BOX (prefs->priv->show_mode_combo),
+ prefs->priv->show_mode);
+
+ switch (prefs->priv->show_text_mode) {
+ case CPUFREQ_MODE_TEXT_FREQUENCY:
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq),
+ TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit),
+ FALSE);
+
+ break;
+ case CPUFREQ_MODE_TEXT_FREQUENCY_UNIT:
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_freq),
+ TRUE);
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_unit),
+ TRUE);
+
+ break;
+ case CPUFREQ_MODE_TEXT_PERCENTAGE:
+ gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (prefs->priv->show_perc),
+ TRUE);
+
+ break;
+ }
+}
+
+static void
+cpufreq_prefs_dialog_cpu_combo_setup (CPUFreqPrefs *prefs)
+{
+ GtkListStore *model;
+ GtkTreeIter iter;
+ GtkCellRenderer *renderer;
+ guint i;
+ guint n_cpus;
+
+ model = gtk_list_store_new (1, G_TYPE_STRING);
+ gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->cpu_combo),
+ GTK_TREE_MODEL (model));
+
+ n_cpus = cpufreq_utils_get_n_cpus ();
+
+ for (i = 0; i < n_cpus; i++) {
+ gchar *text_label;
+
+ text_label = g_strdup_printf ("CPU %u", i);
+
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter,
+ 0, text_label,
+ -1);
+
+ g_free (text_label);
+ }
+
+ g_object_unref (model);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->cpu_combo));
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->cpu_combo),
+ renderer, TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->cpu_combo),
+ renderer,
+ "text", 0,
+ NULL);
+}
+
+static void
+cpufreq_prefs_dialog_show_mode_combo_setup (CPUFreqPrefs *prefs)
+{
+ GtkListStore *model;
+ GtkTreeIter iter;
+ GtkCellRenderer *renderer;
+
+ model = gtk_list_store_new (1, G_TYPE_STRING);
+ gtk_combo_box_set_model (GTK_COMBO_BOX (prefs->priv->show_mode_combo),
+ GTK_TREE_MODEL (model));
+
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter,
+ 0, _("Graphic"),
+ -1);
+
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter,
+ 0, _("Text"),
+ -1);
+
+ gtk_list_store_append (model, &iter);
+ gtk_list_store_set (model, &iter,
+ 0, _("Graphic and Text"),
+ -1);
+
+ g_object_unref (model);
+
+ renderer = gtk_cell_renderer_text_new ();
+ gtk_cell_layout_clear (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo));
+ gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo),
+ renderer, TRUE);
+ gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (prefs->priv->show_mode_combo),
+ renderer,
+ "text", 0,
+ NULL);
+}
+
+static void
+cpufreq_prefs_dialog_create (CPUFreqPrefs *prefs)
+{
+ GtkBuilder *builder;
+
+ builder = gtk_builder_new ();
+ gtk_builder_add_from_file (builder, GTK_BUILDERDIR "/cpufreq-preferences.ui", NULL);
+
+ prefs->priv->dialog = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_dialog"));
+
+ prefs->priv->cpu_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_cpu_number"));
+
+ prefs->priv->show_mode_combo = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_mode"));
+
+ prefs->priv->show_freq = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_freq"));
+ prefs->priv->show_unit = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_unit"));
+ prefs->priv->show_perc = GTK_WIDGET (gtk_builder_get_object (builder, "prefs_show_perc"));
+
+ prefs->priv->monitor_settings_box = GTK_WIDGET (gtk_builder_get_object (builder, "monitor_settings_box"));
+
+ g_object_unref (builder);
+
+ cpufreq_prefs_dialog_show_mode_combo_setup (prefs);
+
+ if (cpufreq_utils_get_n_cpus () > 1)
+ cpufreq_prefs_dialog_cpu_combo_setup (prefs);
+
+ g_signal_connect_swapped (G_OBJECT (prefs->priv->dialog), "response",
+ G_CALLBACK (cpufreq_prefs_dialog_response_cb),
+ (gpointer) prefs);
+
+ g_signal_connect (G_OBJECT (prefs->priv->show_freq), "toggled",
+ G_CALLBACK (cpufreq_prefs_dialog_show_freq_toggled),
+ (gpointer) prefs);
+ g_signal_connect (G_OBJECT (prefs->priv->show_unit), "toggled",
+ G_CALLBACK (cpufreq_prefs_dialog_show_unit_toggled),
+ (gpointer) prefs);
+ g_signal_connect (G_OBJECT (prefs->priv->show_perc), "toggled",
+ G_CALLBACK (cpufreq_prefs_dialog_show_perc_toggled),
+ (gpointer) prefs);
+ g_signal_connect (G_OBJECT (prefs->priv->cpu_combo), "changed",
+ G_CALLBACK (cpufreq_prefs_dialog_cpu_number_changed),
+ (gpointer) prefs);
+ g_signal_connect (G_OBJECT (prefs->priv->show_mode_combo), "changed",
+ G_CALLBACK (cpufreq_prefs_dialog_show_mode_changed),
+ (gpointer) prefs);
+}
+
+void
+cpufreq_preferences_dialog_run (CPUFreqPrefs *prefs, GdkScreen *screen)
+{
+ g_return_if_fail (CPUFREQ_IS_PREFS (prefs));
+
+ if (prefs->priv->dialog) {
+ /* Dialog already exist, only show it */
+ gtk_window_present (GTK_WINDOW (prefs->priv->dialog));
+ return;
+ }
+
+ cpufreq_prefs_dialog_create (prefs);
+ gtk_window_set_screen (GTK_WINDOW (prefs->priv->dialog), screen);
+
+ cpufreq_prefs_dialog_update_sensitivity (prefs);
+ cpufreq_prefs_dialog_update_visibility (prefs);
+ cpufreq_prefs_dialog_update (prefs);
+
+ gtk_widget_show (prefs->priv->dialog);
+}
diff --git a/cpufreq/src/cpufreq-prefs.h b/cpufreq/src/cpufreq-prefs.h
new file mode 100644
index 00000000..8be9abe8
--- /dev/null
+++ b/cpufreq/src/cpufreq-prefs.h
@@ -0,0 +1,66 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef CPUFREQ_PREFS_H
+#define CPUFREQ_PREFS_H
+
+#include <gdk/gdk.h>
+#include <glib-object.h>
+#include "cpufreq-applet.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_PREFS (cpufreq_prefs_get_type ())
+#define CPUFREQ_PREFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_PREFS, CPUFreqPrefs))
+#define CPUFREQ_PREFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_PREFS, CPUFreqPrefsClass))
+#define CPUFREQ_IS_PREFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_PREFS))
+#define CPUFREQ_IS_PREFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_PREFS))
+#define CPUFREQ_PREFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_PREFS, CPUFreqPrefsClass))
+
+typedef struct _CPUFreqPrefs CPUFreqPrefs;
+typedef struct _CPUFreqPrefsClass CPUFreqPrefsClass;
+typedef struct _CPUFreqPrefsPrivate CPUFreqPrefsPrivate;
+
+struct _CPUFreqPrefs {
+ GObject base;
+
+ CPUFreqPrefsPrivate *priv;
+};
+
+struct _CPUFreqPrefsClass {
+ GObjectClass parent_class;
+};
+
+GType cpufreq_prefs_get_type (void) G_GNUC_CONST;
+
+CPUFreqPrefs *cpufreq_prefs_new (const gchar *mateconf_key);
+
+guint cpufreq_prefs_get_cpu (CPUFreqPrefs *prefs);
+CPUFreqShowMode cpufreq_prefs_get_show_mode (CPUFreqPrefs *prefs);
+CPUFreqShowTextMode cpufreq_prefs_get_show_text_mode (CPUFreqPrefs *prefs);
+
+/* Properties dialog */
+void cpufreq_preferences_dialog_run (CPUFreqPrefs *prefs,
+ GdkScreen *screen);
+
+G_END_DECLS
+
+#endif /* CPUFREQ_PREFS_H */
diff --git a/cpufreq/src/cpufreq-selector.c b/cpufreq/src/cpufreq-selector.c
new file mode 100644
index 00000000..d5a37e15
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector.c
@@ -0,0 +1,289 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <config.h>
+
+#ifdef HAVE_POLKIT
+#include <dbus/dbus-glib.h>
+#endif /* HAVE_POLKIT */
+
+#include "cpufreq-selector.h"
+
+struct _CPUFreqSelector {
+ GObject parent;
+
+#ifdef HAVE_POLKIT
+ DBusGConnection *system_bus;
+#endif /* HAVE_POLKIT */
+};
+
+struct _CPUFreqSelectorClass {
+ GObjectClass parent_class;
+};
+
+G_DEFINE_TYPE (CPUFreqSelector, cpufreq_selector, G_TYPE_OBJECT)
+
+static void
+cpufreq_selector_finalize (GObject *object)
+{
+ CPUFreqSelector *selector = CPUFREQ_SELECTOR (object);
+
+#ifdef HAVE_POLKIT
+ selector->system_bus = NULL;
+#endif /* HAVE_POLKIT */
+
+ G_OBJECT_CLASS (cpufreq_selector_parent_class)->finalize (object);
+}
+
+static void
+cpufreq_selector_class_init (CPUFreqSelectorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = cpufreq_selector_finalize;
+}
+
+static void
+cpufreq_selector_init (CPUFreqSelector *selector)
+{
+}
+
+CPUFreqSelector *
+cpufreq_selector_get_default (void)
+{
+ static CPUFreqSelector *selector = NULL;
+
+ if (!selector)
+ selector = CPUFREQ_SELECTOR (g_object_new (CPUFREQ_TYPE_SELECTOR, NULL));
+
+ return selector;
+}
+
+#ifdef HAVE_POLKIT
+typedef enum {
+ FREQUENCY,
+ GOVERNOR
+} CPUFreqSelectorCall;
+
+typedef struct {
+ CPUFreqSelector *selector;
+
+ CPUFreqSelectorCall call;
+
+ guint cpu;
+ guint frequency;
+ gchar *governor;
+
+ guint32 parent_xid;
+} SelectorAsyncData;
+
+static void selector_set_frequency_async (SelectorAsyncData *data);
+static void selector_set_governor_async (SelectorAsyncData *data);
+
+static void
+selector_async_data_free (SelectorAsyncData *data)
+{
+ if (!data)
+ return;
+
+ g_free (data->governor);
+ g_free (data);
+}
+
+static gboolean
+cpufreq_selector_connect_to_system_bus (CPUFreqSelector *selector,
+ GError **error)
+{
+ if (selector->system_bus)
+ return TRUE;
+
+ selector->system_bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, error);
+
+ return (selector->system_bus != NULL);
+}
+
+static void
+dbus_set_call_notify_cb (DBusGProxy *proxy,
+ DBusGProxyCall *call,
+ gpointer user_data)
+{
+ SelectorAsyncData *data;
+ GError *error = NULL;
+
+ data = (SelectorAsyncData *)user_data;
+
+ if (dbus_g_proxy_end_call (proxy, call, &error, G_TYPE_INVALID)) {
+ selector_async_data_free (data);
+ return;
+ }
+
+ selector_async_data_free (data);
+ g_warning ("%s", error->message);
+ g_error_free (error);
+}
+
+static void
+selector_set_frequency_async (SelectorAsyncData *data)
+{
+ DBusGProxy *proxy;
+ GError *error = NULL;
+
+ if (!cpufreq_selector_connect_to_system_bus (data->selector, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ selector_async_data_free (data);
+
+ return;
+ }
+
+ proxy = dbus_g_proxy_new_for_name (data->selector->system_bus,
+ "org.mate.CPUFreqSelector",
+ "/org/mate/cpufreq_selector/selector",
+ "org.mate.CPUFreqSelector");
+
+ dbus_g_proxy_begin_call_with_timeout (proxy, "SetFrequency",
+ dbus_set_call_notify_cb,
+ data, NULL,
+ INT_MAX,
+ G_TYPE_UINT, data->cpu,
+ G_TYPE_UINT, data->frequency,
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
+}
+
+void
+cpufreq_selector_set_frequency_async (CPUFreqSelector *selector,
+ guint cpu,
+ guint frequency,
+ guint32 parent)
+{
+ SelectorAsyncData *data;
+
+ data = g_new0 (SelectorAsyncData, 1);
+
+ data->selector = selector;
+ data->call = FREQUENCY;
+ data->cpu = cpu;
+ data->frequency = frequency;
+ data->parent_xid = parent;
+
+ selector_set_frequency_async (data);
+}
+
+static void
+selector_set_governor_async (SelectorAsyncData *data)
+{
+ DBusGProxy *proxy;
+ GError *error = NULL;
+
+ if (!cpufreq_selector_connect_to_system_bus (data->selector, &error)) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ selector_async_data_free (data);
+
+ return;
+ }
+
+ proxy = dbus_g_proxy_new_for_name (data->selector->system_bus,
+ "org.mate.CPUFreqSelector",
+ "/org/mate/cpufreq_selector/selector",
+ "org.mate.CPUFreqSelector");
+
+ dbus_g_proxy_begin_call_with_timeout (proxy, "SetGovernor",
+ dbus_set_call_notify_cb,
+ data, NULL,
+ INT_MAX,
+ G_TYPE_UINT, data->cpu,
+ G_TYPE_STRING, data->governor,
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
+}
+
+void
+cpufreq_selector_set_governor_async (CPUFreqSelector *selector,
+ guint cpu,
+ const gchar *governor,
+ guint32 parent)
+{
+ SelectorAsyncData *data;
+
+ data = g_new0 (SelectorAsyncData, 1);
+
+ data->selector = selector;
+ data->call = GOVERNOR;
+ data->cpu = cpu;
+ data->governor = g_strdup (governor);
+ data->parent_xid = parent;
+
+ selector_set_governor_async (data);
+}
+#else /* !HAVE_POLKIT */
+static void
+cpufreq_selector_run_command (CPUFreqSelector *selector,
+ const gchar *args)
+{
+ gchar *command;
+ gchar *path;
+ GError *error = NULL;
+
+ path = g_find_program_in_path ("cpufreq-selector");
+
+ if (!path)
+ return;
+
+ command = g_strdup_printf ("%s %s", path, args);
+ g_free (path);
+
+ g_spawn_command_line_async (command, &error);
+ g_free (command);
+
+ if (error) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+ }
+}
+
+void
+cpufreq_selector_set_frequency_async (CPUFreqSelector *selector,
+ guint cpu,
+ guint frequency,
+ guint32 parent)
+{
+ gchar *args;
+
+ args = g_strdup_printf ("-c %u -f %u", cpu, frequency);
+ cpufreq_selector_run_command (selector, args);
+ g_free (args);
+}
+
+void
+cpufreq_selector_set_governor_async (CPUFreqSelector *selector,
+ guint cpu,
+ const gchar *governor,
+ guint32 parent)
+{
+ gchar *args;
+
+ args = g_strdup_printf ("-c %u -g %s", cpu, governor);
+ cpufreq_selector_run_command (selector, args);
+ g_free (args);
+}
+#endif /* HAVE_POLKIT */
diff --git a/cpufreq/src/cpufreq-selector.h b/cpufreq/src/cpufreq-selector.h
new file mode 100644
index 00000000..5941d416
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector.h
@@ -0,0 +1,51 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef __CPUFREQ_SELECTOR_H__
+#define __CPUFREQ_SELECTOR_H__
+
+#include <glib-object.h>
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_SELECTOR (cpufreq_selector_get_type ())
+#define CPUFREQ_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR, CPUFreqSelector))
+#define CPUFREQ_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR, CPUFreqSelectorClass))
+#define CPUFREQ_IS_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR))
+#define CPUFREQ_IS_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR))
+#define CPUFREQ_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR, CPUFreqSelectorClass))
+
+typedef struct _CPUFreqSelector CPUFreqSelector;
+typedef struct _CPUFreqSelectorClass CPUFreqSelectorClass;
+
+GType cpufreq_selector_get_type (void) G_GNUC_CONST;
+
+CPUFreqSelector *cpufreq_selector_get_default (void);
+void cpufreq_selector_set_frequency_async (CPUFreqSelector *selector,
+ guint cpu,
+ guint frequency,
+ guint32 parent);
+void cpufreq_selector_set_governor_async (CPUFreqSelector *selector,
+ guint cpu,
+ const gchar *governor,
+ guint32 parent);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_SELECTOR_H__ */
diff --git a/cpufreq/src/cpufreq-selector/Makefile.am b/cpufreq/src/cpufreq-selector/Makefile.am
new file mode 100644
index 00000000..b2db7a97
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/Makefile.am
@@ -0,0 +1,89 @@
+cpufreqselectordir = $(bindir)
+
+INCLUDES = $(CPUFREQ_SELECTOR_CFLAGS)
+
+if HAVE_POLKIT
+INCLUDES += \
+ $(DBUS_CFLAGS) \
+ $(POLKIT_CFLAGS)
+endif
+
+bin_PROGRAMS = cpufreq-selector
+
+install-exec-hook:
+if CPUFREQ_SELECTOR_SUID
+ chmod 4755 $(DESTDIR)$(bindir)/cpufreq-selector
+endif
+
+
+if HAVE_LIBCPUFREQ
+cpufreq_files=cpufreq-selector-libcpufreq.c cpufreq-selector-libcpufreq.h
+endif
+
+if HAVE_POLKIT
+service_files=cpufreq-selector-service.c cpufreq-selector-service.h
+endif
+
+cpufreq_selector_SOURCES = \
+ cpufreq-selector.c cpufreq-selector.h \
+ cpufreq-selector-sysfs.c cpufreq-selector-sysfs.h \
+ cpufreq-selector-procfs.c cpufreq-selector-procfs.h \
+ $(cpufreq_files) \
+ $(service_files) \
+ cpufreq-selector-factory.c cpufreq-selector-factory.h \
+ $(BUILT_SOURCES) \
+ main.c
+
+cpufreq_selector_LDADD = \
+ $(CPUFREQ_SELECTOR_LIBS) \
+ $(LIBCPUFREQ_LIBS)
+
+if HAVE_POLKIT
+cpufreq_selector_LDADD += \
+ $(DBUS_LIBS) \
+ $(POLKIT_LIBS)
+endif
+
+cpufreq_selector_LDFLAGS = $(LDFLAGS) -Wl,-z,now
+
+dbus_services_in_files = org.mate.CPUFreqSelector.service.in
+polkit_in_files = org.mate.cpufreqselector.policy.in
+
+dbus_servicesdir = $(datadir)/dbus-1/system-services
+dbus_confdir = $(sysconfdir)/dbus-1/system.d
+polkitdir = $(datadir)/polkit-1/actions
+
+if HAVE_POLKIT
+BUILT_SOURCES = cpufreq-selector-service-glue.h
+
+cpufreq-selector-service-glue.h: $(srcdir)/cpufreq-selector-service.xml
+ dbus-binding-tool --prefix=cpufreq_selector_service --mode=glib-server \
+ --output=cpufreq-selector-service-glue.h \
+ $(srcdir)/cpufreq-selector-service.xml
+
+dbus_services_DATA = $(dbus_services_in_files:.service.in=.service)
+$(dbus_services_DATA): $(dbus_services_in_files)
+ sed -e "s|\@BINDIR\@|$(DESTDIR)$(bindir)|" $< > $@
+dbus_conf_DATA = org.mate.CPUFreqSelector.conf
+
+@INTLTOOL_POLICY_RULE@
+polkit_DATA = $(polkit_in_files:.policy.in=.policy)
+
+else
+dbus_services_DATA=
+dbus_conf_DATA=
+polkit_DATA=
+endif
+
+EXTRA_DIST = \
+ cpufreq-selector-service.xml \
+ $(dbus_services_in_files) \
+ org.mate.CPUFreqSelector.conf \
+ $(polkit_in_files)
+
+CLEANFILES = \
+ $(BUILT_SOURCES) \
+ $(dbus_services_DATA) \
+ $(polkit_DATA)
+
+-include $(top_srcdir)/git.mk
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.c b/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.c
new file mode 100644
index 00000000..024b5cb7
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.c
@@ -0,0 +1,47 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "cpufreq-selector-factory.h"
+#include "cpufreq-selector-sysfs.h"
+#include "cpufreq-selector-procfs.h"
+#ifdef HAVE_LIBCPUFREQ
+#include "cpufreq-selector-libcpufreq.h"
+#endif
+
+CPUFreqSelector *
+cpufreq_selector_factory_create_selector (guint cpu)
+{
+ CPUFreqSelector *selector = NULL;
+
+#ifdef HAVE_LIBCPUFREQ
+ selector = cpufreq_selector_libcpufreq_new (cpu);
+#else
+ if (g_file_test ("/sys/devices/system/cpu/cpu0/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.6 kernel */
+ selector = cpufreq_selector_sysfs_new (cpu);
+ } else if (g_file_test ("/proc/cpufreq", G_FILE_TEST_EXISTS)) { /* 2.4 kernel */
+ selector = cpufreq_selector_procfs_new (cpu);
+ }
+#endif /* HAVE_LIBCPUFREQ */
+
+ return selector;
+}
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.h b/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.h
new file mode 100644
index 00000000..fba0a8dc
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-factory.h
@@ -0,0 +1,31 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef CPUFREQ_SELECTOR_FACTORY
+#define CPUFREQ_SELECTOR_FACTORY
+
+#include "cpufreq-selector.h"
+
+G_BEGIN_DECLS
+
+CPUFreqSelector *cpufreq_selector_factory_create_selector (guint cpu);
+
+G_END_DECLS
+
+#endif /* CPUFREQ_SELECTOR_FACTORY */
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.c b/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.c
new file mode 100644
index 00000000..4b9573b3
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.c
@@ -0,0 +1,197 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <cpufreq.h>
+#include <stdlib.h>
+
+#include "cpufreq-selector-libcpufreq.h"
+
+static void cpufreq_selector_libcpufreq_init (CPUFreqSelectorLibcpufreq *selector);
+static void cpufreq_selector_libcpufreq_class_init (CPUFreqSelectorLibcpufreqClass *klass);
+
+static gboolean cpufreq_selector_libcpufreq_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error);
+static gboolean cpufreq_selector_libcpufreq_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error);
+
+G_DEFINE_TYPE (CPUFreqSelectorLibcpufreq, cpufreq_selector_libcpufreq, CPUFREQ_TYPE_SELECTOR)
+
+typedef struct cpufreq_policy CPUFreqPolicy;
+typedef struct cpufreq_available_frequencies CPUFreqFrequencyList;
+typedef struct cpufreq_available_governors CPUFreqGovernorList;
+
+static void
+cpufreq_selector_libcpufreq_init (CPUFreqSelectorLibcpufreq *selector)
+{
+}
+
+static void
+cpufreq_selector_libcpufreq_class_init (CPUFreqSelectorLibcpufreqClass *klass)
+{
+ CPUFreqSelectorClass *selector_class = CPUFREQ_SELECTOR_CLASS (klass);
+
+ selector_class->set_frequency = cpufreq_selector_libcpufreq_set_frequency;
+ selector_class->set_governor = cpufreq_selector_libcpufreq_set_governor;
+}
+
+CPUFreqSelector *
+cpufreq_selector_libcpufreq_new (guint cpu)
+{
+ CPUFreqSelector *selector;
+
+ selector = CPUFREQ_SELECTOR (g_object_new (CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ,
+ "cpu", cpu,
+ NULL));
+
+ return selector;
+}
+
+static guint
+cpufreq_selector_libcpufreq_get_valid_frequency (CPUFreqSelectorLibcpufreq *selector,
+ guint frequency)
+{
+ guint cpu;
+ gint dist = G_MAXINT;
+ guint retval = 0;
+ CPUFreqFrequencyList *freqs, *freq;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ freqs = cpufreq_get_available_frequencies (cpu);
+ if (!freqs)
+ return 0;
+
+ for (freq = freqs; freq; freq = freq->next) {
+ guint current_dist;
+
+ if (freq->frequency == frequency) {
+ cpufreq_put_available_frequencies (freqs);
+
+ return frequency;
+ }
+
+ current_dist = abs (freq->frequency - frequency);
+ if (current_dist < dist) {
+ dist = current_dist;
+ retval = freq->frequency;
+ }
+ }
+
+ return retval;
+}
+
+static gboolean
+cpufreq_selector_libcpufreq_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error)
+{
+ guint freq;
+ guint cpu;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ freq = cpufreq_selector_libcpufreq_get_valid_frequency (CPUFREQ_SELECTOR_LIBCPUFREQ (selector),
+ frequency);
+ if (cpufreq_set_frequency (cpu, freq) != 0) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_SET_FREQUENCY,
+ "Cannot set frequency '%d'",
+ frequency);
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+cpufreq_selector_libcpufreq_validate_governor (CPUFreqSelectorLibcpufreq *selector,
+ const gchar *governor)
+{
+ guint cpu;
+ CPUFreqGovernorList *govs, *gov;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ govs = cpufreq_get_available_governors (cpu);
+ if (!govs)
+ return FALSE;
+
+ for (gov = govs; gov; gov = gov->next) {
+ if (g_ascii_strcasecmp (gov->governor, governor) == 0) {
+ cpufreq_put_available_governors (govs);
+
+ return TRUE;
+ }
+ }
+
+ cpufreq_put_available_governors (govs);
+
+ return FALSE;
+}
+
+static gboolean
+cpufreq_selector_libcpufreq_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error)
+{
+ CPUFreqSelectorLibcpufreq *selector_libcpufreq;
+ guint cpu;
+
+ selector_libcpufreq = CPUFREQ_SELECTOR_LIBCPUFREQ (selector);
+
+ if (!cpufreq_selector_libcpufreq_validate_governor (selector_libcpufreq, governor)) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_INVALID_GOVERNOR,
+ "Invalid governor '%s'",
+ governor);
+
+ return FALSE;
+ }
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ if (cpufreq_modify_policy_governor (cpu, (gchar *)governor) != 0) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_INVALID_GOVERNOR,
+ "Invalid governor '%s'",
+ governor);
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.h b/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.h
new file mode 100644
index 00000000..37dcda63
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-libcpufreq.h
@@ -0,0 +1,61 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_SELECTOR_LIBCPUFREQ_H__
+#define __CPUFREQ_SELECTOR_LIBCPUFREQ_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-selector.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ \
+ (cpufreq_selector_libcpufreq_get_type ())
+#define CPUFREQ_SELECTOR_LIBCPUFREQ(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ, CPUFreqSelectorLibcpufreq))
+#define CPUFREQ_SELECTOR_LIBCPUFREQ_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ, CPUFreqSelectorLibcpufreqClass))
+#define CPUFREQ_IS_SELECTOR_LIBCPUFREQ(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ))
+#define CPUFREQ_IS_SELECTOR_LIBCPUFREQ_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ))
+#define CPUFREQ_SELECTOR_LIBCPUFREQ_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR_LIBCPUFREQ, CPUFreqSelectorLibcpufreqClass))
+
+typedef struct _CPUFreqSelectorLibcpufreq CPUFreqSelectorLibcpufreq;
+typedef struct _CPUFreqSelectorLibcpufreqClass CPUFreqSelectorLibcpufreqClass;
+
+struct _CPUFreqSelectorLibcpufreq {
+ CPUFreqSelector parent;
+};
+
+struct _CPUFreqSelectorLibcpufreqClass {
+ CPUFreqSelectorClass parent_class;
+};
+
+
+GType cpufreq_selector_libcpufreq_get_type (void) G_GNUC_CONST;
+CPUFreqSelector *cpufreq_selector_libcpufreq_new (guint cpu);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_SELECTOR_SYSFS_H__ */
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.c b/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.c
new file mode 100644
index 00000000..f08d681d
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.c
@@ -0,0 +1,243 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#include "cpufreq-selector-procfs.h"
+
+static void cpufreq_selector_procfs_init (CPUFreqSelectorProcfs *selector);
+static void cpufreq_selector_procfs_class_init (CPUFreqSelectorProcfsClass *klass);
+
+static gboolean cpufreq_selector_procfs_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error);
+static gboolean cpufreq_selector_procfs_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error);
+
+G_DEFINE_TYPE (CPUFreqSelectorProcfs, cpufreq_selector_procfs, CPUFREQ_TYPE_SELECTOR)
+
+static void
+cpufreq_selector_procfs_init (CPUFreqSelectorProcfs *selector)
+{
+}
+
+static void
+cpufreq_selector_procfs_class_init (CPUFreqSelectorProcfsClass *klass)
+{
+ CPUFreqSelectorClass *selector_class = CPUFREQ_SELECTOR_CLASS (klass);
+
+ selector_class->set_frequency = cpufreq_selector_procfs_set_frequency;
+ selector_class->set_governor = cpufreq_selector_procfs_set_governor;
+}
+
+CPUFreqSelector *
+cpufreq_selector_procfs_new (guint cpu)
+{
+ CPUFreqSelector *selector;
+
+ selector = CPUFREQ_SELECTOR (g_object_new (CPUFREQ_TYPE_SELECTOR_PROCFS,
+ "cpu", cpu,
+ NULL));
+
+ return selector;
+}
+
+static gboolean
+cpufreq_procfs_read (guint selector_cpu,
+ guint *fmax,
+ guint *pmin,
+ guint *pmax,
+ guint *fmin,
+ gchar *mode,
+ GError **error)
+{
+ gchar **lines;
+ gchar *buffer = NULL;
+ gint i;
+ guint cpu;
+ gboolean found = FALSE;
+
+ if (!g_file_get_contents ("/proc/cpufreq", &buffer, NULL, error)) {
+ return FALSE;
+ }
+
+ lines = g_strsplit (buffer, "\n", -1);
+ for (i = 0; lines[i]; i++) {
+ if (g_ascii_strncasecmp (lines[i], "CPU", 3) == 0) {
+ /* CPU 0 650000 kHz ( 81 %) - 800000 kHz (100 %) - powersave */
+ sscanf (lines[i], "CPU %u %u kHz (%u %%) - %u kHz (%u %%) - %20s",
+ &cpu, fmin, pmin, fmax, pmax, mode);
+
+ if (cpu == selector_cpu) {
+ found = TRUE;
+ break;
+ }
+ }
+ }
+
+ g_strfreev (lines);
+ g_free (buffer);
+
+ if (!found) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_INVALID_CPU,
+ "Invalid CPU number '%d'",
+ selector_cpu);
+
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+static gboolean
+cpufreq_procfs_write (const gchar *path,
+ const gchar *setting,
+ GError **error)
+{
+ FILE *fd;
+
+ fd = g_fopen (path, "w");
+
+ if (!fd) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "Failed to open '%s' for writing: "
+ "g_fopen() failed: %s",
+ path,
+ g_strerror (errno));
+
+ return FALSE;
+ }
+
+ if (g_fprintf (fd, "%s", setting) < 0) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "Failed to write '%s': "
+ "g_fprintf() failed: %s",
+ path,
+ g_strerror (errno));
+
+ fclose (fd);
+
+ return FALSE;
+ }
+
+ fclose (fd);
+
+ return TRUE;
+}
+
+static gboolean
+cpufreq_selector_procfs_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error)
+{
+ gchar *str;
+ gchar *path;
+ guint freq;
+ guint cpu;
+ guint pmin, pmax;
+ guint sc_max, sc_min;
+ gchar mode[21];
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ if (!cpufreq_procfs_read (cpu, &sc_max, &pmin, &pmax, &sc_min, mode, error)) {
+ return FALSE;
+ }
+
+ if (g_ascii_strcasecmp (mode, "userspace") != 0) {
+ if (!cpufreq_selector_procfs_set_governor (selector,
+ "userspace",
+ error)) {
+ return FALSE;
+ }
+ }
+
+ if (frequency != sc_max && frequency != sc_min) {
+ if (abs (sc_max - frequency) < abs (frequency - sc_min))
+ freq = sc_max;
+ else
+ freq = sc_min;
+ } else {
+ freq = frequency;
+ }
+
+ path = g_strdup_printf ("/proc/sys/cpu/%u/speed", cpu);
+ str = g_strdup_printf ("%u", freq);
+ if (!cpufreq_procfs_write (path, str, error)) {
+ g_free (path);
+ g_free (str);
+
+ return FALSE;
+ }
+
+ g_free (path);
+ g_free (str);
+
+ return TRUE;
+}
+
+static gboolean
+cpufreq_selector_procfs_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error)
+{
+ gchar *str;
+ guint cpu;
+ guint pmin, pmax;
+ guint sc_max, sc_min;
+ gchar mode[21];
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ if (!cpufreq_procfs_read (cpu, &sc_max, &pmin, &pmax, &sc_min, mode, error)) {
+ return FALSE;
+ }
+
+ if (g_ascii_strcasecmp (governor, mode) == 0)
+ return TRUE;
+
+ str = g_strdup_printf ("%u:%u:%u:%s", cpu, sc_min, sc_max, governor);
+
+ if (!cpufreq_procfs_write ("/proc/cpufreq", str, error)) {
+ g_free (str);
+
+ return FALSE;
+ }
+
+ g_free (str);
+
+ return TRUE;
+}
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.h b/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.h
new file mode 100644
index 00000000..55193731
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-procfs.h
@@ -0,0 +1,54 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_SELECTOR_PROCFS_H__
+#define __CPUFREQ_SELECTOR_PROCFS_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-selector.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_SELECTOR_PROCFS (cpufreq_selector_procfs_get_type ())
+#define CPUFREQ_SELECTOR_PROCFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR_PROCFS, CPUFreqSelectorProcfs))
+#define CPUFREQ_SELECTOR_PROCFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR_PROCFS, CPUFreqSelectorProcfsClass))
+#define CPUFREQ_IS_SELECTOR_PROCFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR_PROCFS))
+#define CPUFREQ_IS_SELECTOR_PROCFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR_PROCFS))
+#define CPUFREQ_SELECTOR_PROCFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR_PROCFS, CPUFreqSelectorProcfsClass))
+
+typedef struct _CPUFreqSelectorProcfs CPUFreqSelectorProcfs;
+typedef struct _CPUFreqSelectorProcfsClass CPUFreqSelectorProcfsClass;
+
+struct _CPUFreqSelectorProcfs {
+ CPUFreqSelector parent;
+};
+
+struct _CPUFreqSelectorProcfsClass {
+ CPUFreqSelectorClass parent_class;
+};
+
+GType cpufreq_selector_procfs_get_type (void) G_GNUC_CONST;
+CPUFreqSelector *cpufreq_selector_procfs_new (guint cpu);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_SELECTOR_PROCFS_H__ */
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c
new file mode 100644
index 00000000..696ff220
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.c
@@ -0,0 +1,487 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <polkit/polkit.h>
+#include <dbus/dbus-glib-lowlevel.h>
+
+#include "cpufreq-selector.h"
+#include "cpufreq-selector-factory.h"
+#include "cpufreq-selector-service.h"
+
+#include "cpufreq-selector-service-glue.h"
+
+#define MAX_CPUS 255
+
+struct _CPUFreqSelectorService {
+ GObject parent;
+
+ CPUFreqSelector *selectors[MAX_CPUS];
+ gint selectors_max;
+
+ DBusGConnection *system_bus;
+
+ /* PolicyKit */
+ PolkitAuthority *authority;
+};
+
+struct _CPUFreqSelectorServiceClass {
+ GObjectClass parent_class;
+};
+
+G_DEFINE_TYPE (CPUFreqSelectorService, cpufreq_selector_service, G_TYPE_OBJECT)
+
+#define BUS_NAME "org.mate.CPUFreqSelector"
+
+GType
+cpufreq_selector_service_error_get_type (void)
+{
+ static GType etype = 0;
+
+ if (G_UNLIKELY (etype == 0)) {
+ static const GEnumValue values[] = {
+ { SERVICE_ERROR_GENERAL, "SERVICE_ERROR_GENERAL", "GeneralError" },
+ { SERVICE_ERROR_DBUS, "SERVICE_ERROR_DBUS", "DBUSError" },
+ { SERVICE_ERROR_ALREADY_REGISTERED, "SERVICE_ERROR_ALREADY_REGISTERED", "AlreadyRegistered" },
+ { SERVICE_ERROR_NOT_AUTHORIZED, "SERVICE_ERROR_NOT_AUTHORIZED", "NotAuthorized"},
+ { 0, NULL, NULL}
+ };
+
+ etype = g_enum_register_static ("CPUFreqSelectorServiceError", values);
+ }
+
+ return etype;
+}
+
+GQuark
+cpufreq_selector_service_error_quark (void)
+{
+ static GQuark error_quark = 0;
+
+ if (G_UNLIKELY (error_quark == 0))
+ error_quark =
+ g_quark_from_static_string ("cpufreq-selector-service-error-quark");
+
+ return error_quark;
+}
+
+static void
+cpufreq_selector_service_finalize (GObject *object)
+{
+ CPUFreqSelectorService *service = CPUFREQ_SELECTOR_SERVICE (object);
+ gint i;
+
+ service->system_bus = NULL;
+
+ if (service->selectors_max >= 0) {
+ for (i = 0; i < service->selectors_max; i++) {
+ if (service->selectors[i]) {
+ g_object_unref (service->selectors[i]);
+ service->selectors[i] = NULL;
+ }
+ }
+
+ service->selectors_max = -1;
+ }
+
+ if (service->authority) {
+ g_object_unref (service->authority);
+ service->authority = NULL;
+ }
+
+ G_OBJECT_CLASS (cpufreq_selector_service_parent_class)->finalize (object);
+}
+
+static void
+cpufreq_selector_service_class_init (CPUFreqSelectorServiceClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = cpufreq_selector_service_finalize;
+}
+
+static void
+cpufreq_selector_service_init (CPUFreqSelectorService *service)
+{
+ service->selectors_max = -1;
+}
+
+CPUFreqSelectorService *
+cpufreq_selector_service_get_instance (void)
+{
+ static CPUFreqSelectorService *service = NULL;
+
+ if (!service)
+ service = CPUFREQ_SELECTOR_SERVICE (g_object_new (CPUFREQ_TYPE_SELECTOR_SERVICE, NULL));
+
+ return service;
+}
+
+static gboolean
+service_shutdown (gpointer user_data)
+{
+ g_object_unref (SELECTOR_SERVICE);
+
+ return FALSE;
+}
+
+static void
+reset_killtimer (void)
+{
+ static guint timer_id = 0;
+
+ if (timer_id > 0)
+ g_source_remove (timer_id);
+
+ timer_id = g_timeout_add_seconds (30,
+ (GSourceFunc) service_shutdown,
+ NULL);
+}
+
+gboolean
+cpufreq_selector_service_register (CPUFreqSelectorService *service,
+ GError **error)
+{
+ DBusGConnection *connection;
+ DBusGProxy *bus_proxy;
+ gboolean res;
+ guint result;
+ GError *err = NULL;
+
+ if (service->system_bus) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_ALREADY_REGISTERED,
+ "Service %s already registered", BUS_NAME);
+ return FALSE;
+ }
+
+ connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &err);
+ if (!connection) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Couldn't connect to system bus: %s",
+ err->message);
+ g_error_free (err);
+
+ return FALSE;
+ }
+
+ bus_proxy = dbus_g_proxy_new_for_name (connection,
+ DBUS_SERVICE_DBUS,
+ DBUS_PATH_DBUS,
+ DBUS_INTERFACE_DBUS);
+ if (!bus_proxy) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Could not construct bus_proxy object");
+ return FALSE;
+ }
+
+ res = dbus_g_proxy_call (bus_proxy,
+ "RequestName",
+ &err,
+ G_TYPE_STRING, BUS_NAME,
+ G_TYPE_UINT, DBUS_NAME_FLAG_DO_NOT_QUEUE,
+ G_TYPE_INVALID,
+ G_TYPE_UINT, &result,
+ G_TYPE_INVALID);
+ g_object_unref (bus_proxy);
+
+ if (!res) {
+ if (err) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Failed to acquire %s: %s",
+ BUS_NAME, err->message);
+ g_error_free (err);
+ } else {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Failed to acquire %s", BUS_NAME);
+ }
+
+ return FALSE;
+ }
+
+ if (result == DBUS_REQUEST_NAME_REPLY_EXISTS) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_ALREADY_REGISTERED,
+ "Service %s already registered", BUS_NAME);
+ return FALSE;
+ }
+
+ service->authority = polkit_authority_get ();
+
+ service->system_bus = connection;
+
+ dbus_g_object_type_install_info (CPUFREQ_TYPE_SELECTOR_SERVICE,
+ &dbus_glib_cpufreq_selector_service_object_info);
+ dbus_g_connection_register_g_object (connection,
+ "/org/mate/cpufreq_selector/selector",
+ G_OBJECT (service));
+ dbus_g_error_domain_register (CPUFREQ_SELECTOR_SERVICE_ERROR, NULL,
+ CPUFREQ_TYPE_SELECTOR_SERVICE_ERROR);
+
+ reset_killtimer ();
+
+ return TRUE;
+}
+
+static CPUFreqSelector *
+get_selector_for_cpu (CPUFreqSelectorService *service,
+ guint cpu)
+{
+ if (!service->selectors[cpu]) {
+ service->selectors[cpu] = cpufreq_selector_factory_create_selector (cpu);
+ if (!service->selectors[cpu])
+ return NULL;
+
+ if (service->selectors_max < cpu)
+ service->selectors_max = cpu;
+ }
+
+ return service->selectors[cpu];
+}
+
+/* PolicyKit */
+static gboolean
+cpufreq_selector_service_check_policy (CPUFreqSelectorService *service,
+ DBusGMethodInvocation *context,
+ GError **error)
+{
+ PolkitSubject *subject;
+ PolkitAuthorizationResult *result;
+ gchar *sender;
+ gboolean ret;
+
+ sender = dbus_g_method_get_sender (context);
+ subject = polkit_system_bus_name_new (sender);
+ g_free (sender);
+
+ result = polkit_authority_check_authorization_sync (service->authority,
+ subject,
+ "org.mate.cpufreqselector",
+ NULL,
+ POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION,
+ NULL, error);
+ g_object_unref (subject);
+
+ if (*error) {
+ g_warning ("Check policy: %s", (*error)->message);
+ g_object_unref (result);
+
+ return FALSE;
+ }
+
+ ret = polkit_authorization_result_get_is_authorized (result);
+ if (!ret) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_NOT_AUTHORIZED,
+ "Caller is not authorized");
+ }
+
+ g_object_unref (result);
+
+ return ret;
+}
+
+/* D-BUS interface */
+gboolean
+cpufreq_selector_service_set_frequency (CPUFreqSelectorService *service,
+ guint cpu,
+ guint frequency,
+ DBusGMethodInvocation *context)
+{
+ CPUFreqSelector *selector;
+ GError *error = NULL;
+
+ reset_killtimer ();
+
+ if (!cpufreq_selector_service_check_policy (service, context, &error)) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ if (cpu > MAX_CPUS) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting frequency on cpu %d: Invalid cpu",
+ cpu);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+
+ return FALSE;
+ }
+
+ selector = get_selector_for_cpu (service, cpu);
+ if (!selector) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting frequency on cpu %d: No cpufreq support",
+ cpu);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+
+ return FALSE;
+ }
+
+ cpufreq_selector_set_frequency (selector, frequency, &error);
+ if (error) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting frequency %d on cpu %d: %s",
+ frequency, cpu, error->message);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ dbus_g_method_return (context);
+
+ return TRUE;
+}
+
+gboolean
+cpufreq_selector_service_set_governor (CPUFreqSelectorService *service,
+ guint cpu,
+ const gchar *governor,
+ DBusGMethodInvocation *context)
+{
+ CPUFreqSelector *selector;
+ GError *error = NULL;
+
+ reset_killtimer ();
+
+ if (!cpufreq_selector_service_check_policy (service, context, &error)) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ if (cpu > MAX_CPUS) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting governor on cpu %d: Invalid cpu",
+ cpu);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+
+ return FALSE;
+ }
+
+ selector = get_selector_for_cpu (service, cpu);
+ if (!selector) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting governor on cpu %d: No cpufreq support",
+ cpu);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+
+ return FALSE;
+ }
+
+ cpufreq_selector_set_governor (selector, governor, &error);
+ if (error) {
+ GError *err;
+
+ err = g_error_new (CPUFREQ_SELECTOR_SERVICE_ERROR,
+ SERVICE_ERROR_DBUS,
+ "Error setting governor %s on cpu %d: %s",
+ governor, cpu, error->message);
+ dbus_g_method_return_error (context, err);
+ g_error_free (err);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ dbus_g_method_return (context);
+
+ return TRUE;
+}
+
+
+gboolean
+cpufreq_selector_service_can_set (CPUFreqSelectorService *service,
+ DBusGMethodInvocation *context)
+{
+ PolkitSubject *subject;
+ PolkitAuthorizationResult *result;
+ gchar *sender;
+ gboolean ret;
+ GError *error = NULL;
+
+ reset_killtimer ();
+
+ sender = dbus_g_method_get_sender (context);
+ subject = polkit_system_bus_name_new (sender);
+ g_free (sender);
+
+ result = polkit_authority_check_authorization_sync (service->authority,
+ subject,
+ "org.mate.cpufreqselector",
+ NULL,
+ 0,
+ NULL,
+ &error);
+ g_object_unref (subject);
+
+ if (error) {
+ dbus_g_method_return_error (context, error);
+ g_error_free (error);
+
+ return FALSE;
+ }
+
+ if (polkit_authorization_result_get_is_authorized (result)) {
+ ret = TRUE;
+ } else if (polkit_authorization_result_get_is_challenge (result)) {
+ ret = TRUE;
+ } else {
+ ret = FALSE;
+ }
+
+ g_object_unref (result);
+
+ dbus_g_method_return (context, ret);
+
+ return TRUE;
+}
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h
new file mode 100644
index 00000000..a6bcc77b
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.h
@@ -0,0 +1,71 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2008 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifndef __CPUFREQ_SELECTOR_SERVICE_H__
+#define __CPUFREQ_SELECTOR_SERVICE_H__
+
+#include <glib-object.h>
+#include <dbus/dbus-glib.h>
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_SELECTOR_SERVICE (cpufreq_selector_service_get_type ())
+#define CPUFREQ_SELECTOR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR_SERVICE, CPUFreqSelectorService))
+#define CPUFREQ_SELECTOR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR_SERVICE, CPUFreqSelectorServiceClass))
+#define CPUFREQ_IS_SELECTOR_SERVICE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR_SERVICE))
+#define CPUFREQ_IS_SELECTOR_SERVICE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR_SERVICE))
+#define CPUFREQ_SELECTOR_SERVICE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR_SERVICE, CPUFreqSelectorServiceClass))
+
+#define SELECTOR_SERVICE (cpufreq_selector_service_get_instance ())
+
+#define CPUFREQ_SELECTOR_SERVICE_ERROR (cpufreq_selector_service_error_quark ())
+#define CPUFREQ_TYPE_SELECTOR_SERVICE_ERROR (cpufreq_selector_service_error_get_type ())
+
+enum {
+ SERVICE_ERROR_GENERAL,
+ SERVICE_ERROR_DBUS,
+ SERVICE_ERROR_ALREADY_REGISTERED,
+ SERVICE_ERROR_NOT_AUTHORIZED
+};
+
+typedef struct _CPUFreqSelectorService CPUFreqSelectorService;
+typedef struct _CPUFreqSelectorServiceClass CPUFreqSelectorServiceClass;
+
+GType cpufreq_selector_service_get_type (void) G_GNUC_CONST;
+GType cpufreq_selector_service_error_get_type (void) G_GNUC_CONST;
+GQuark cpufreq_selector_service_error_quark (void) G_GNUC_CONST;
+CPUFreqSelectorService *cpufreq_selector_service_get_instance (void);
+gboolean cpufreq_selector_service_register (CPUFreqSelectorService *service,
+ GError **error);
+
+gboolean cpufreq_selector_service_set_frequency (CPUFreqSelectorService *service,
+ guint cpu,
+ guint frequency,
+ DBusGMethodInvocation *context);
+gboolean cpufreq_selector_service_set_governor (CPUFreqSelectorService *service,
+ guint cpu,
+ const gchar *governor,
+ DBusGMethodInvocation *context);
+gboolean cpufreq_selector_service_can_set (CPUFreqSelectorService *service,
+ DBusGMethodInvocation *context);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_SELECTOR_SERVICE_H__ */
+
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-service.xml b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.xml
new file mode 100644
index 00000000..798dd5b2
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-service.xml
@@ -0,0 +1,23 @@
+<!DOCTYPE node PUBLIC "-//freedesktop//DTD D-BUS Object Introspection 1.0//EN" "http://www.freedesktop.org/standards/dbus/1.0/introspect.dtd">
+
+<node name="/org/mate/CPUFreqSelector">
+ <interface name="org.mate.CPUFreqSelector">
+ <method name="SetFrequency">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="cpu" direction="in" type="u"/>
+ <arg name="frequency" direction="in" type="u"/>
+ </method>
+
+ <method name="SetGovernor">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="cpu" direction="in" type="u"/>
+ <arg name="governor" direction="in" type="s"/>
+ </method>
+
+ <method name="CanSet">
+ <annotation name="org.freedesktop.DBus.GLib.Async" value=""/>
+ <arg name="result" direction="out" type="b"/>
+ </method>
+
+ </interface>
+</node>
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.c b/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.c
new file mode 100644
index 00000000..ae790caf
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.c
@@ -0,0 +1,430 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include <glib/gstdio.h>
+#include <stdlib.h>
+#include <errno.h>
+
+#include "cpufreq-selector-sysfs.h"
+
+#define CPUFREQ_SELECTOR_SYSFS_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), CPUFREQ_TYPE_SELECTOR_SYSFS, CPUFreqSelectorSysfsPrivate))
+
+struct _CPUFreqSelectorSysfsPrivate {
+ GList *available_freqs;
+ GList *available_govs;
+};
+
+static void cpufreq_selector_sysfs_init (CPUFreqSelectorSysfs *selector);
+static void cpufreq_selector_sysfs_class_init (CPUFreqSelectorSysfsClass *klass);
+static void cpufreq_selector_sysfs_finalize (GObject *object);
+
+static gboolean cpufreq_selector_sysfs_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error);
+static gboolean cpufreq_selector_sysfs_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error);
+
+#define CPUFREQ_SYSFS_BASE_PATH "/sys/devices/system/cpu/cpu%u/cpufreq/%s"
+
+G_DEFINE_TYPE (CPUFreqSelectorSysfs, cpufreq_selector_sysfs, CPUFREQ_TYPE_SELECTOR)
+
+static void
+cpufreq_selector_sysfs_init (CPUFreqSelectorSysfs *selector)
+{
+ selector->priv = CPUFREQ_SELECTOR_SYSFS_GET_PRIVATE (selector);
+
+ selector->priv->available_freqs = NULL;
+ selector->priv->available_govs = NULL;
+}
+
+static void
+cpufreq_selector_sysfs_class_init (CPUFreqSelectorSysfsClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+ CPUFreqSelectorClass *selector_class = CPUFREQ_SELECTOR_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (CPUFreqSelectorSysfsPrivate));
+
+ selector_class->set_frequency = cpufreq_selector_sysfs_set_frequency;
+ selector_class->set_governor = cpufreq_selector_sysfs_set_governor;
+
+ object_class->finalize = cpufreq_selector_sysfs_finalize;
+}
+
+static void
+cpufreq_selector_sysfs_finalize (GObject *object)
+{
+ CPUFreqSelectorSysfs *selector = CPUFREQ_SELECTOR_SYSFS (object);
+
+ if (selector->priv->available_freqs) {
+ g_list_foreach (selector->priv->available_freqs,
+ (GFunc) g_free,
+ NULL);
+ g_list_free (selector->priv->available_freqs);
+ selector->priv->available_freqs = NULL;
+ }
+
+ if (selector->priv->available_govs) {
+ g_list_foreach (selector->priv->available_govs,
+ (GFunc) g_free,
+ NULL);
+ g_list_free (selector->priv->available_govs);
+ selector->priv->available_govs = NULL;
+ }
+
+ G_OBJECT_CLASS (cpufreq_selector_sysfs_parent_class)->finalize (object);
+}
+
+CPUFreqSelector *
+cpufreq_selector_sysfs_new (guint cpu)
+{
+ CPUFreqSelector *selector;
+
+ selector = CPUFREQ_SELECTOR (g_object_new (CPUFREQ_TYPE_SELECTOR_SYSFS,
+ "cpu", cpu,
+ NULL));
+
+ return selector;
+}
+
+static gchar *
+cpufreq_sysfs_read (const gchar *path,
+ GError **error)
+{
+ gchar *buffer = NULL;
+
+ if (!g_file_get_contents (path, &buffer, NULL, error)) {
+ return NULL;
+ }
+
+ return g_strchomp (buffer);
+}
+
+static gboolean
+cpufreq_sysfs_write (const gchar *path,
+ const gchar *setting,
+ GError **error)
+{
+ FILE *fd;
+
+ fd = g_fopen (path, "w");
+
+ if (!fd) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "Failed to open '%s' for writing: "
+ "g_fopen() failed: %s",
+ path,
+ g_strerror (errno));
+
+ return FALSE;
+ }
+
+ if (g_fprintf (fd, "%s", setting) < 0) {
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (errno),
+ "Failed to write '%s': "
+ "g_fprintf() failed: %s",
+ path,
+ g_strerror (errno));
+
+ fclose (fd);
+
+ return FALSE;
+ }
+
+ fclose (fd);
+
+ return TRUE;
+}
+
+static gint
+compare (gconstpointer a, gconstpointer b)
+{
+ gint aa, bb;
+
+ aa = atoi ((gchar *) a);
+ bb = atoi ((gchar *) b);
+
+ if (aa == bb)
+ return 0;
+ else if (aa > bb)
+ return -1;
+ else
+ return 1;
+}
+
+static GList *
+cpufreq_selector_sysfs_get_freqs (CPUFreqSelectorSysfs *selector)
+{
+ gchar *buffer;
+ GList *list = NULL;
+ gchar **frequencies = NULL;
+ gint i;
+ gchar *path;
+ guint cpu;
+ GError *error = NULL;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_available_frequencies");
+
+ buffer = cpufreq_sysfs_read (path, &error);
+ if (!buffer) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (path);
+
+ return NULL;
+ }
+
+ g_free (path);
+
+ frequencies = g_strsplit (buffer, " ", -1);
+
+ i = 0;
+ while (frequencies[i]) {
+ if (!g_list_find_custom (list, frequencies[i], compare))
+ list = g_list_prepend (list, g_strdup (frequencies[i]));
+ i++;
+ }
+
+ g_strfreev (frequencies);
+ g_free (buffer);
+
+ return g_list_sort (list, compare);
+}
+
+static const gchar *
+cpufreq_selector_sysfs_get_valid_frequency (CPUFreqSelectorSysfs *selector,
+ guint frequency)
+{
+ GList *list = NULL;
+ GList *l;
+ gint dist = G_MAXINT;
+ const gchar *retval = NULL;
+
+ if (!selector->priv->available_freqs) {
+ list = cpufreq_selector_sysfs_get_freqs (selector);
+ selector->priv->available_freqs = list;
+ } else {
+ list = selector->priv->available_freqs;
+ }
+
+ if (!list)
+ return NULL;
+
+ for (l = list; l && l->data; l = g_list_next (l)) {
+ const gchar *freq;
+ guint f;
+ guint current_dist;
+
+ freq = (const gchar *) l->data;
+ f = atoi (freq);
+
+ if (f == frequency)
+ return freq;
+
+ current_dist = abs (frequency - f);
+ if (current_dist < dist) {
+ dist = current_dist;
+ retval = freq;
+ }
+ }
+
+ return retval;
+}
+
+static gboolean
+cpufreq_selector_sysfs_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error)
+{
+ gchar *governor;
+ gchar *path;
+ const gchar *frequency_text;
+ guint cpu;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_governor");
+
+ governor = cpufreq_sysfs_read (path, error);
+ g_free (path);
+
+ if (!governor)
+ return FALSE;
+
+ if (g_ascii_strcasecmp (governor, "userspace") != 0) {
+ if (!cpufreq_selector_sysfs_set_governor (selector,
+ "userspace",
+ error)) {
+ g_free (governor);
+
+ return FALSE;
+ }
+ }
+
+ g_free (governor);
+
+ frequency_text =
+ cpufreq_selector_sysfs_get_valid_frequency (CPUFREQ_SELECTOR_SYSFS (selector),
+ frequency);
+ if (!frequency_text) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_SET_FREQUENCY,
+ "Cannot set frequency '%d'",
+ frequency);
+
+ return FALSE;
+ }
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_setspeed");
+ if (!cpufreq_sysfs_write (path, frequency_text, error)) {
+ g_free (path);
+
+ return FALSE;
+ }
+
+ g_free (path);
+
+ return TRUE;
+}
+
+static GList *
+cpufreq_selector_sysfs_get_govs (CPUFreqSelectorSysfs *selector)
+{
+ gchar *buffer;
+ GList *list = NULL;
+ gchar **governors = NULL;
+ gint i;
+ gchar *path;
+ guint cpu;
+ GError *error = NULL;
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_available_governors");
+
+ buffer = cpufreq_sysfs_read (path, &error);
+ if (!buffer) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ g_free (path);
+
+ return NULL;
+ }
+
+ g_free (path);
+
+ governors = g_strsplit (buffer, " ", -1);
+
+ i = 0;
+ while (governors[i]) {
+ list = g_list_prepend (list, g_strdup (governors[i]));
+ i++;
+ }
+
+ g_strfreev (governors);
+ g_free (buffer);
+
+ return list;
+}
+
+static gboolean
+cpufreq_selector_sysfs_validate_governor (CPUFreqSelectorSysfs *selector,
+ const gchar *governor)
+{
+ GList *list = NULL;
+
+ if (!selector->priv->available_govs) {
+ list = cpufreq_selector_sysfs_get_govs (selector);
+ selector->priv->available_govs = list;
+ } else {
+ list = selector->priv->available_govs;
+ }
+
+ if (!list)
+ return FALSE;
+
+ list = g_list_find_custom (selector->priv->available_govs,
+ governor,
+ (GCompareFunc) g_ascii_strcasecmp);
+
+ return (list != NULL);
+}
+
+static gboolean
+cpufreq_selector_sysfs_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error)
+{
+ CPUFreqSelectorSysfs *selector_sysfs;
+ gchar *path;
+ guint cpu;
+
+ selector_sysfs = CPUFREQ_SELECTOR_SYSFS (selector);
+
+ if (!cpufreq_selector_sysfs_validate_governor (selector_sysfs, governor)) {
+ g_set_error (error,
+ CPUFREQ_SELECTOR_ERROR,
+ SELECTOR_ERROR_INVALID_GOVERNOR,
+ "Invalid governor '%s'",
+ governor);
+
+ return FALSE;
+ }
+
+ g_object_get (G_OBJECT (selector),
+ "cpu", &cpu,
+ NULL);
+
+ path = g_strdup_printf (CPUFREQ_SYSFS_BASE_PATH, cpu,
+ "scaling_governor");
+
+ if (!cpufreq_sysfs_write (path, governor, error)) {
+ g_free (path);
+
+ return FALSE;
+ }
+
+ g_free (path);
+
+ return TRUE;
+}
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.h b/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.h
new file mode 100644
index 00000000..a2608bbc
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector-sysfs.h
@@ -0,0 +1,58 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_SELECTOR_SYSFS_H__
+#define __CPUFREQ_SELECTOR_SYSFS_H__
+
+#include <glib-object.h>
+
+#include "cpufreq-selector.h"
+
+G_BEGIN_DECLS
+
+#define CPUFREQ_TYPE_SELECTOR_SYSFS (cpufreq_selector_sysfs_get_type ())
+#define CPUFREQ_SELECTOR_SYSFS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR_SYSFS, CPUFreqSelectorSysfs))
+#define CPUFREQ_SELECTOR_SYSFS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR_SYSFS, CPUFreqSelectorSysfsClass))
+#define CPUFREQ_IS_SELECTOR_SYSFS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR_SYSFS))
+#define CPUFREQ_IS_SELECTOR_SYSFS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR_SYSFS))
+#define CPUFREQ_SELECTOR_SYSFS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR_SYSFS, CPUFreqSelectorSysfsClass))
+
+typedef struct _CPUFreqSelectorSysfs CPUFreqSelectorSysfs;
+typedef struct _CPUFreqSelectorSysfsClass CPUFreqSelectorSysfsClass;
+typedef struct _CPUFreqSelectorSysfsPrivate CPUFreqSelectorSysfsPrivate;
+
+struct _CPUFreqSelectorSysfs {
+ CPUFreqSelector parent;
+
+ CPUFreqSelectorSysfsPrivate *priv;
+};
+
+struct _CPUFreqSelectorSysfsClass {
+ CPUFreqSelectorClass parent_class;
+};
+
+
+GType cpufreq_selector_sysfs_get_type (void) G_GNUC_CONST;
+CPUFreqSelector *cpufreq_selector_sysfs_new (guint cpu);
+
+G_END_DECLS
+
+#endif /* __CPUFREQ_SELECTOR_SYSFS_H__ */
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector.c b/cpufreq/src/cpufreq-selector/cpufreq-selector.c
new file mode 100644
index 00000000..f019fec3
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector.c
@@ -0,0 +1,173 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <glib.h>
+#include "cpufreq-selector.h"
+
+#define CPUFREQ_SELECTOR_GET_PRIVATE(obj) \
+ (G_TYPE_INSTANCE_GET_PRIVATE((obj), CPUFREQ_TYPE_SELECTOR, CPUFreqSelectorPrivate))
+
+enum {
+ PROP_0,
+ PROP_CPU
+};
+
+struct _CPUFreqSelectorPrivate {
+ guint cpu;
+};
+
+static void cpufreq_selector_init (CPUFreqSelector *selector);
+static void cpufreq_selector_class_init (CPUFreqSelectorClass *klass);
+
+static void cpufreq_selector_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *spec);
+static void cpufreq_selector_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *spec);
+
+G_DEFINE_ABSTRACT_TYPE (CPUFreqSelector, cpufreq_selector, G_TYPE_OBJECT)
+
+GQuark
+cpufreq_selector_error_quark (void)
+{
+ static GQuark error_quark = 0;
+
+ if (error_quark == 0)
+ error_quark =
+ g_quark_from_static_string ("cpufreq-selector-error-quark");
+
+ return error_quark;
+}
+
+static void
+cpufreq_selector_init (CPUFreqSelector *selector)
+{
+
+ selector->priv = CPUFREQ_SELECTOR_GET_PRIVATE (selector);
+
+ selector->priv->cpu = 0;
+}
+
+static void
+cpufreq_selector_class_init (CPUFreqSelectorClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ g_type_class_add_private (klass, sizeof (CPUFreqSelectorPrivate));
+
+ object_class->set_property = cpufreq_selector_set_property;
+ object_class->get_property = cpufreq_selector_get_property;
+
+ /* Public virtual methods */
+ klass->set_frequency = NULL;
+ klass->set_governor = NULL;
+
+ /* Porperties */
+ g_object_class_install_property (object_class,
+ PROP_CPU,
+ g_param_spec_uint ("cpu",
+ NULL,
+ NULL,
+ 0,
+ G_MAXUINT,
+ 0,
+ G_PARAM_CONSTRUCT_ONLY |
+ G_PARAM_READWRITE));
+}
+
+static void
+cpufreq_selector_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *spec)
+{
+ CPUFreqSelector *selector = CPUFREQ_SELECTOR (object);
+
+ switch (prop_id) {
+ case PROP_CPU:
+ selector->priv->cpu = g_value_get_uint (value);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
+ break;
+ }
+}
+
+static void
+cpufreq_selector_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *spec)
+{
+ CPUFreqSelector *selector = CPUFREQ_SELECTOR (object);
+
+ switch (prop_id) {
+ case PROP_CPU:
+ g_value_set_uint (value, selector->priv->cpu);
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, spec);
+ break;
+ }
+}
+
+gboolean
+cpufreq_selector_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error)
+{
+ CPUFreqSelectorClass *class;
+
+ g_return_val_if_fail (CPUFREQ_IS_SELECTOR (selector), FALSE);
+ g_return_val_if_fail (frequency > 0, FALSE);
+
+ class = CPUFREQ_SELECTOR_GET_CLASS (selector);
+
+ if (class->set_frequency) {
+ return class->set_frequency (selector, frequency, error);
+ }
+
+ return FALSE;
+}
+
+gboolean
+cpufreq_selector_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error)
+{
+ CPUFreqSelectorClass *class;
+
+ g_return_val_if_fail (CPUFREQ_IS_SELECTOR (selector), FALSE);
+ g_return_val_if_fail (governor != NULL, FALSE);
+
+ class = CPUFREQ_SELECTOR_GET_CLASS (selector);
+
+ if (class->set_governor) {
+ return class->set_governor (selector, governor, error);
+ }
+
+ return FALSE;
+}
+
+
diff --git a/cpufreq/src/cpufreq-selector/cpufreq-selector.h b/cpufreq/src/cpufreq-selector/cpufreq-selector.h
new file mode 100644
index 00000000..73e41054
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/cpufreq-selector.h
@@ -0,0 +1,74 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef __CPUFREQ_SELECTOR_H__
+#define __CPUFREQ_SELECTOR_H__
+
+#include <glib-object.h>
+
+#define CPUFREQ_TYPE_SELECTOR (cpufreq_selector_get_type ())
+#define CPUFREQ_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), CPUFREQ_TYPE_SELECTOR, CPUFreqSelector))
+#define CPUFREQ_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST((klass), CPUFREQ_TYPE_SELECTOR, CPUFreqSelectorClass))
+#define CPUFREQ_IS_SELECTOR(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), CPUFREQ_TYPE_SELECTOR))
+#define CPUFREQ_IS_SELECTOR_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), CPUFREQ_TYPE_SELECTOR))
+#define CPUFREQ_SELECTOR_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), CPUFREQ_TYPE_SELECTOR, CPUFreqSelectorClass))
+
+#define CPUFREQ_SELECTOR_ERROR (cpufreq_selector_error_quark ())
+
+enum {
+ SELECTOR_ERROR_INVALID_CPU,
+ SELECTOR_ERROR_INVALID_GOVERNOR,
+ SELECTOR_ERROR_SET_FREQUENCY
+};
+
+typedef struct _CPUFreqSelector CPUFreqSelector;
+typedef struct _CPUFreqSelectorClass CPUFreqSelectorClass;
+typedef struct _CPUFreqSelectorPrivate CPUFreqSelectorPrivate;
+
+struct _CPUFreqSelector {
+ GObject parent;
+
+ CPUFreqSelectorPrivate *priv;
+};
+
+struct _CPUFreqSelectorClass {
+ GObjectClass parent_class;
+
+ gboolean (* set_frequency) (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error);
+ gboolean (* set_governor) (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error);
+};
+
+
+GType cpufreq_selector_get_type (void) G_GNUC_CONST;
+GQuark cpufreq_selector_error_quark (void) G_GNUC_CONST;
+
+gboolean cpufreq_selector_set_frequency (CPUFreqSelector *selector,
+ guint frequency,
+ GError **error);
+gboolean cpufreq_selector_set_governor (CPUFreqSelector *selector,
+ const gchar *governor,
+ GError **error);
+
+#endif /* __CPUFREQ_SELECTOR_H__ */
diff --git a/cpufreq/src/cpufreq-selector/main.c b/cpufreq/src/cpufreq-selector/main.c
new file mode 100644
index 00000000..f0fbb7b1
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/main.c
@@ -0,0 +1,233 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2004 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include <glib.h>
+#include <glib-object.h>
+
+#ifdef HAVE_POLKIT
+#include "cpufreq-selector-service.h"
+#endif
+#include "cpufreq-selector-factory.h"
+
+
+static gint cpu = 0;
+static gchar *governor = NULL;
+static gulong frequency = 0;
+
+static const GOptionEntry options[] = {
+ { "cpu", 'c', 0, G_OPTION_ARG_INT, &cpu, "CPU Number", NULL },
+ { "governor", 'g', 0, G_OPTION_ARG_STRING, &governor, "Governor", NULL },
+ { "frequency", 'f', 0, G_OPTION_ARG_INT, &frequency, "Frequency in KHz", NULL },
+ { NULL }
+};
+
+#ifdef HAVE_POLKIT
+static void
+do_exit (GMainLoop *loop,
+ GObject *object)
+{
+ if (g_main_loop_is_running (loop))
+ g_main_loop_quit (loop);
+}
+
+static void
+cpufreq_selector_set_values_dbus (void)
+{
+ DBusGConnection *connection;
+ DBusGProxy *proxy;
+ gboolean res;
+ GError *error = NULL;
+
+ connection = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+ if (!connection) {
+ g_printerr ("Couldn't connect to system bus: %s\n",
+ error->message);
+ g_error_free (error);
+
+ return;
+ }
+
+ proxy = dbus_g_proxy_new_for_name (connection,
+ "org.mate.CPUFreqSelector",
+ "/org/mate/cpufreq_selector/selector",
+ "org.mate.CPUFreqSelector");
+ if (!proxy) {
+ g_printerr ("Could not construct proxy object\n");
+
+ return;
+ }
+
+ if (governor) {
+ res = dbus_g_proxy_call (proxy, "SetGovernor", &error,
+ G_TYPE_UINT, cpu,
+ G_TYPE_STRING, governor,
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
+ if (!res) {
+ if (error) {
+ g_printerr ("Error calling SetGovernor: %s\n", error->message);
+ g_error_free (error);
+ } else {
+ g_printerr ("Error calling SetGovernor\n");
+ }
+
+ g_object_unref (proxy);
+
+ return;
+ }
+ }
+
+ if (frequency != 0) {
+ res = dbus_g_proxy_call (proxy, "SetFrequency", &error,
+ G_TYPE_UINT, cpu,
+ G_TYPE_UINT, frequency,
+ G_TYPE_INVALID,
+ G_TYPE_INVALID);
+ if (!res) {
+ if (error) {
+ g_printerr ("Error calling SetFrequency: %s\n", error->message);
+ g_error_free (error);
+ } else {
+ g_printerr ("Error calling SetFrequency\n");
+ }
+
+ g_object_unref (proxy);
+
+ return;
+ }
+ }
+
+ g_object_unref (proxy);
+}
+#endif /* HAVE_POLKIT */
+
+static void
+cpufreq_selector_set_values (void)
+{
+ CPUFreqSelector *selector;
+ GError *error = NULL;
+
+ selector = cpufreq_selector_factory_create_selector (cpu);
+ if (!selector) {
+ g_printerr ("No cpufreq support\n");
+
+ return;
+ }
+
+ if (governor) {
+ cpufreq_selector_set_governor (selector, governor, &error);
+
+ if (error) {
+ g_printerr ("%s\n", error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ }
+
+ if (frequency != 0) {
+ cpufreq_selector_set_frequency (selector, frequency, &error);
+
+ if (error) {
+ g_printerr ("%s\n", error->message);
+ g_error_free (error);
+ error = NULL;
+ }
+ }
+
+ g_object_unref (selector);
+}
+
+gint
+main (gint argc, gchar **argv)
+{
+#ifdef HAVE_POLKIT
+ GMainLoop *loop;
+#endif
+ GOptionContext *context;
+ GError *error = NULL;
+
+#ifndef HAVE_POLKIT
+ if (geteuid () != 0) {
+ g_printerr ("You must be root\n");
+
+ return 1;
+ }
+
+ if (argc < 2) {
+ g_printerr ("Missing operand after `cpufreq-selector'\n");
+ g_printerr ("Try `cpufreq-selector --help' for more information.\n");
+
+ return 1;
+ }
+#endif
+
+ g_type_init ();
+
+ context = g_option_context_new ("- CPUFreq Selector");
+ g_option_context_add_main_entries (context, options, NULL);
+
+ if (!g_option_context_parse (context, &argc, &argv, &error)) {
+ if (error) {
+ g_printerr ("%s\n", error->message);
+ g_error_free (error);
+ }
+
+ g_option_context_free (context);
+
+ return 1;
+ }
+
+ g_option_context_free (context);
+
+#ifdef HAVE_POLKIT
+ if (!cpufreq_selector_service_register (SELECTOR_SERVICE, &error)) {
+ if (governor || frequency != 0) {
+ cpufreq_selector_set_values_dbus ();
+
+ return 0;
+ }
+
+ g_printerr ("%s\n", error->message);
+ g_error_free (error);
+
+ return 1;
+ }
+
+ cpufreq_selector_set_values ();
+
+ loop = g_main_loop_new (NULL, FALSE);
+ g_object_weak_ref (G_OBJECT (SELECTOR_SERVICE),
+ (GWeakNotify) do_exit,
+ loop);
+
+ g_main_loop_run (loop);
+
+ g_main_loop_unref (loop);
+#else /* !HAVE_POLKIT */
+ cpufreq_selector_set_values ();
+#endif /* HAVE_POLKIT */
+
+ return 0;
+}
diff --git a/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.conf b/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.conf
new file mode 100644
index 00000000..c4b27a23
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.conf
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE busconfig PUBLIC
+ "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
+
+<busconfig>
+
+ <!-- Only root can own the service -->
+ <policy user="root">
+ <allow own="org.mate.CPUFreqSelector"/>
+ <allow send_interface="org.mate.CPUFreqSelector"/>
+ </policy>
+
+ <policy context="default">
+ <allow send_interface="org.mate.CPUFreqSelector"/>
+ </policy>
+
+</busconfig>
+
diff --git a/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.service.in b/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.service.in
new file mode 100644
index 00000000..e402df2e
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/org.mate.CPUFreqSelector.service.in
@@ -0,0 +1,4 @@
+[D-BUS Service]
+Name=org.mate.CPUFreqSelector
+Exec=@BINDIR@/cpufreq-selector
+User=root
diff --git a/cpufreq/src/cpufreq-selector/org.mate.cpufreqselector.policy.in b/cpufreq/src/cpufreq-selector/org.mate.cpufreqselector.policy.in
new file mode 100644
index 00000000..f1249cd2
--- /dev/null
+++ b/cpufreq/src/cpufreq-selector/org.mate.cpufreqselector.policy.in
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!DOCTYPE policyconfig PUBLIC
+ "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
+ "http://www.freedesktop.org/standards/PolicyKit/1.0/policyconfig.dtd">
+
+<policyconfig>
+
+ <vendor>The MATE Project</vendor>
+ <vendor_url>http://www.mate.org/</vendor_url>
+ <icon_name>mate-cpu-frequency-applet</icon_name>
+
+ <action id="org.mate.cpufreqselector">
+ <_description>Change CPU Frequency scaling</_description>
+ <_message>Privileges are required to change the CPU Frequency scaling.</_message>
+ <defaults>
+ <allow_inactive>no</allow_inactive>
+ <allow_active>auth_admin_keep</allow_active>
+ </defaults>
+ </action>
+
+</policyconfig>
diff --git a/cpufreq/src/cpufreq-utils.c b/cpufreq/src/cpufreq-utils.c
new file mode 100644
index 00000000..47b80c1f
--- /dev/null
+++ b/cpufreq/src/cpufreq-utils.c
@@ -0,0 +1,311 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2006 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#include <config.h>
+
+#include <glib.h>
+#include <gtk/gtk.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <string.h>
+#include <errno.h>
+
+#include "cpufreq-utils.h"
+
+#ifdef HAVE_POLKIT
+#include <dbus/dbus-glib.h>
+#endif /* HAVE_POLKIT */
+
+guint
+cpufreq_utils_get_n_cpus (void)
+{
+ gint mcpu = -1;
+ gchar *file = NULL;
+ static guint n_cpus = 0;
+
+ if (n_cpus > 0)
+ return n_cpus;
+
+ do {
+ if (file)
+ g_free (file);
+ mcpu ++;
+ file = g_strdup_printf ("/sys/devices/system/cpu/cpu%d", mcpu);
+ } while (g_file_test (file, G_FILE_TEST_EXISTS));
+ g_free (file);
+
+ if (mcpu >= 0) {
+ n_cpus = (guint)mcpu;
+ return mcpu;
+ }
+
+ mcpu = -1;
+ file = NULL;
+ do {
+ if (file)
+ g_free (file);
+ mcpu ++;
+ file = g_strdup_printf ("/proc/sys/cpu/%d", mcpu);
+ } while (g_file_test (file, G_FILE_TEST_EXISTS));
+ g_free (file);
+
+ if (mcpu >= 0) {
+ n_cpus = (guint)mcpu;
+ return mcpu;
+ }
+
+ n_cpus = 1;
+
+ return 1;
+}
+
+void
+cpufreq_utils_display_error (const gchar *message,
+ const gchar *secondary)
+{
+ GtkWidget *dialog;
+
+ g_return_if_fail (message != NULL);
+
+ dialog = gtk_message_dialog_new (NULL,
+ GTK_DIALOG_DESTROY_WITH_PARENT,
+ GTK_MESSAGE_ERROR,
+ GTK_BUTTONS_OK,
+ "%s", message);
+ if (secondary) {
+ gtk_message_dialog_format_secondary_text (GTK_MESSAGE_DIALOG (dialog),
+ "%s", secondary);
+ }
+
+ gtk_window_set_title (GTK_WINDOW (dialog), ""); /* as per HIG */
+ gtk_window_set_skip_taskbar_hint (GTK_WINDOW (dialog), TRUE);
+ g_signal_connect (G_OBJECT (dialog),
+ "response",
+ G_CALLBACK (gtk_widget_destroy), NULL);
+ gtk_widget_show (dialog);
+}
+
+#ifdef HAVE_POLKIT
+#define CACHE_VALIDITY_SEC 2
+
+static gboolean
+selector_is_available (void)
+{
+ DBusGProxy *proxy;
+ static DBusGConnection *system_bus = NULL;
+ GError *error = NULL;
+ gboolean result;
+
+ if (!system_bus) {
+ system_bus = dbus_g_bus_get (DBUS_BUS_SYSTEM, &error);
+ if (!system_bus) {
+ g_warning ("%s", error->message);
+ g_error_free (error);
+
+ return FALSE;
+ }
+ }
+
+ proxy = dbus_g_proxy_new_for_name (system_bus,
+ "org.mate.CPUFreqSelector",
+ "/org/mate/cpufreq_selector/selector",
+ "org.mate.CPUFreqSelector");
+
+ if (!dbus_g_proxy_call (proxy, "CanSet", &error,
+ G_TYPE_INVALID,
+ G_TYPE_BOOLEAN, &result,
+ G_TYPE_INVALID)) {
+ g_warning ("Error calling org.mate.CPUFreqSelector.CanSet: %s", error->message);
+ g_error_free (error);
+ result = FALSE;
+ }
+
+ g_object_unref (proxy);
+
+ return result;
+}
+
+gboolean
+cpufreq_utils_selector_is_available (void)
+{
+ static gboolean cache = FALSE;
+ static time_t last_refreshed = 0;
+ time_t now;
+
+ time (&now);
+ if (ABS (now - last_refreshed) > CACHE_VALIDITY_SEC) {
+ cache = selector_is_available ();
+ last_refreshed = now;
+ }
+
+ return cache;
+}
+#else /* !HAVE_POLKIT */
+gboolean
+cpufreq_utils_selector_is_available (void)
+{
+ struct stat *info;
+ gchar *path = NULL;
+
+ path = g_find_program_in_path ("cpufreq-selector");
+ if (!path)
+ return FALSE;
+
+ if (geteuid () == 0) {
+ g_free (path);
+ return TRUE;
+ }
+
+ info = (struct stat *) g_malloc (sizeof (struct stat));
+
+ if ((lstat (path, info)) != -1) {
+ if ((info->st_mode & S_ISUID) && (info->st_uid == 0)) {
+ g_free (info);
+ g_free (path);
+
+ return TRUE;
+ }
+ }
+
+ g_free (info);
+ g_free (path);
+
+ return FALSE;
+}
+#endif /* HAVE_POLKIT_MATE */
+
+gchar *
+cpufreq_utils_get_frequency_label (guint freq)
+{
+ gint divisor;
+
+ if (freq > 999999) /* freq (kHz) */
+ divisor = (1000 * 1000);
+ else
+ divisor = 1000;
+
+ if (((freq % divisor) == 0) || divisor == 1000) /* integer */
+ return g_strdup_printf ("%d", freq / divisor);
+ else /* float */
+ return g_strdup_printf ("%3.2f", ((gfloat)freq / divisor));
+}
+
+gchar *
+cpufreq_utils_get_frequency_unit (guint freq)
+{
+ if (freq > 999999) /* freq (kHz) */
+ return g_strdup ("GHz");
+ else
+ return g_strdup ("MHz");
+}
+
+gboolean
+cpufreq_utils_governor_is_automatic (const gchar *governor)
+{
+ g_return_val_if_fail (governor != NULL, FALSE);
+
+ if (g_ascii_strcasecmp (governor, "userspace") == 0)
+ return FALSE;
+
+ return TRUE;
+}
+
+gboolean
+cpufreq_file_get_contents (const gchar *filename,
+ gchar **contents,
+ gsize *length,
+ GError **error)
+{
+ gint fd;
+ GString *buffer = NULL;
+ gchar *display_filename;
+
+ g_return_val_if_fail (filename != NULL, FALSE);
+ g_return_val_if_fail (contents != NULL, FALSE);
+
+ display_filename = g_filename_display_name (filename);
+
+ *contents = NULL;
+ if (length)
+ *length = 0;
+
+ fd = open (filename, O_RDONLY);
+ if (fd < 0) {
+ gint save_errno = errno;
+
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (save_errno),
+ "Failed to open file '%s': %s",
+ display_filename,
+ g_strerror (save_errno));
+ g_free (display_filename);
+
+ return FALSE;
+ }
+
+ while (TRUE) {
+ ssize_t bytes_read;
+ gchar buf[1024];
+
+ bytes_read = read (fd, buf, sizeof (buf));
+ if (bytes_read < 0) { /* Error */
+ if (errno != EINTR) {
+ gint save_errno = errno;
+
+ g_set_error (error,
+ G_FILE_ERROR,
+ g_file_error_from_errno (save_errno),
+ "Failed to read from file '%s': %s",
+ display_filename,
+ g_strerror (save_errno));
+
+ if (buffer)
+ g_string_free (buffer, TRUE);
+
+ g_free (display_filename);
+ close (fd);
+
+ return FALSE;
+ }
+ } else if (bytes_read == 0) { /* EOF */
+ break;
+ } else {
+ if (!buffer)
+ buffer = g_string_sized_new (bytes_read);
+ buffer = g_string_append_len (buffer, buf, bytes_read);
+ }
+ }
+
+ g_free (display_filename);
+
+ if (buffer)
+ *contents = g_string_free (buffer, FALSE);
+
+ if (length)
+ *length = strlen (*contents);
+
+ close (fd);
+
+ return TRUE;
+}
diff --git a/cpufreq/src/cpufreq-utils.h b/cpufreq/src/cpufreq-utils.h
new file mode 100644
index 00000000..9420c651
--- /dev/null
+++ b/cpufreq/src/cpufreq-utils.h
@@ -0,0 +1,44 @@
+/*
+ * MATE CPUFreq Applet
+ * Copyright (C) 2006 Carlos Garcia Campos <[email protected]>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ *
+ * Authors : Carlos Garc�a Campos <[email protected]>
+ */
+
+#ifndef CPUFREQ_UTILS_H
+#define CPUFREQ_UTILS_H
+
+#include <glib.h>
+
+G_BEGIN_DECLS
+
+/* Useful global methods */
+guint cpufreq_utils_get_n_cpus (void);
+void cpufreq_utils_display_error (const gchar *message,
+ const gchar *secondary);
+gboolean cpufreq_utils_selector_is_available (void);
+gchar *cpufreq_utils_get_frequency_label (guint freq);
+gchar *cpufreq_utils_get_frequency_unit (guint freq);
+gboolean cpufreq_utils_governor_is_automatic (const gchar *governor);
+gboolean cpufreq_file_get_contents (const gchar *filename,
+ gchar **contents,
+ gsize *length,
+ GError **error);
+
+G_END_DECLS
+
+#endif /* CPUFREQ_UTILS_H */