Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1901 Le 16/01/2016, à 20:05

metalux

Re : Voyager 14.04 LTS

Merci jlfh0816,
Par contre pour les prochaines traductions, si tu pouvais le faire à partir de poedit et des fichiers .pot, sinon je suis obligé de tout reprendre les lignes pour les saisir dans Poedit. Pour ça, il me faut les scripts en anglais, à partir de là, j'adapte les scripts pour supporter les différentes langues et je te transmets les fichiers .pot.
Tu peux essayer avec le lien post #1899, il suffit d'utiliser le nouveau script Voyager_theme à la place de l'ancien et d'utiliser le script trad.sh. Si tu le fais en plusieurs fois, utilises ensuite le script maj_trad.sh par la suite

Hors ligne

#1902 Le 16/01/2016, à 20:45

jlfh0816

Re : Voyager 14.04 LTS

metalux a écrit :

Merci jlfh0816,
Par contre pour les prochaines traductions, si tu pouvais le faire à partir de poedit et des fichiers .pot, sinon je suis obligé de tout reprendre les lignes pour les saisir dans Poedit. Pour ça, il me faut les scripts en anglais, à partir de là, j'adapte les scripts pour supporter les différentes langues et je te transmets les fichiers .pot.
Tu peux essayer avec le lien post #1899, il suffit d'utiliser le nouveau script Voyager_theme à la place de l'ancien et d'utiliser le script trad.sh. Si tu le fais en plusieurs fois, utilises ensuite le script maj_trad.sh par la suite

@metalux

Est-ce bien ce fichier Voyager_Themes.po qu'il faut que j'envoie à chaque traduction ? Ici, c'est pour la traduction italienne :

# Italian translations for jlfh package.
# Copyright (C) 2016 THE jlfh'S COPYRIGHT HOLDER
# This file is distributed under the same license as the jlfh package.
# voyager1404 <j'ai masqué@orange.fr>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: jlfh 0816\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-16 17:04+0100\n"
"PO-Revision-Date: 2016-01-16 17:45+0100\n"
"Last-Translator: jlfh0816 <j'ai masqué@orange.fr>\n"
"Language-Team: Italian <j'ai masqué@orange.fr>\n"
"Language: it\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"
"X-Generator: Poedit 1.5.4\n"
"X-Poedit-SourceCharset: UTF-8\n"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:125 Voyager_Themes:131
#: Voyager_Themes:133 Voyager_Themes:148
msgid "New Theme"
msgstr "Nuovo tema"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:131 Voyager_Themes:133
msgid "Theme Name"
msgstr "il nome del tema"

#: Voyager_Themes:19
msgid "This theme already exists, please choose another name"
msgstr "Questo tema esiste già, scegliete un altro nome"

#: Voyager_Themes:25
msgid "Select Image Wall 1"
msgstr "scegliete Image Wall 1"

#: Voyager_Themes:26
msgid "Select Image Wall 2"
msgstr "scegliete Image Wall 2"

#: Voyager_Themes:27
msgid "Select Image Wall 3"
msgstr "scegliete Image Wall 3"

#: Voyager_Themes:28
msgid "Select Image Wall 4"
msgstr "scegliete Image Wall 4"

#: Voyager_Themes:29
msgid "Select Image Voyager file manager"
msgstr "scegliete Image Voyager file manager"

#: Voyager_Themes:30
msgid "Select Image Voyager Terminal"
msgstr "scegliete Image Voyager Terminal"

#: Voyager_Themes:31
msgid "Select Image Voyager Music"
msgstr "scegliete Image Voyager Music"

#: Voyager_Themes:32
msgid "Select Image FreeTuxTv"
msgstr "scegliete Image FreeTuxTv"

#: Voyager_Themes:33
msgid "Selection Wall$b"
msgstr "scegliete Wall$b"

#: Voyager_Themes:34
msgid "Cancellation"
msgstr "Cancellare"

#: Voyager_Themes:37
msgid "This is not a valid image file"
msgstr "Non è un immagine valida"

#: Voyager_Themes:51
msgid "No personal theme available. Please create one then try again."
msgstr ""
"Non esiste un tema personale nella base. Si puo creare un nuovo tema e "
"provare di nuovo."

#: Voyager_Themes:61
msgid "Test:0"
msgstr "Prova:0"

#: Voyager_Themes:61
msgid "OK:1"
msgstr "OK:1"

#: Voyager_Themes:61
msgid "Cancel:252"
msgstr "Cancellare:252"

#: Voyager_Themes:61 Voyager_Themes:90 Voyager_Themes:109 Voyager_Themes:113
#: Voyager_Themes:125 Voyager_Themes:126 Voyager_Themes:147
msgid "Voyager Themes"
msgstr "Voyager temi"

#: Voyager_Themes:61 Voyager_Themes:125
msgid "Theme Choice"
msgstr "scelta tema"

#: Voyager_Themes:61 Voyager_Themes:125 Voyager_Themes:155
msgid "Themes"
msgstr "temi"

#: Voyager_Themes:90
msgid ""
"Testing \\\" $choix \\\". Press the Select button to confirm this choice."
msgstr ""
"la scelta del tema \" $choix \". Cliccare sul OK per convalidare la "
"selezione."

#: Voyager_Themes:113
msgid "Theme \\\"$selection\\\" theme selected"
msgstr "tema \"$selection\" thema scelto"

#: Voyager_Themes:125
msgid "Choice"
msgstr "scelta"

#: Voyager_Themes:125 Voyager_Themes:128
msgid "Personal Themes"
msgstr "temi personale"

#: Voyager_Themes:125 Voyager_Themes:130
msgid "Save current configuration"
msgstr "Salvare la configurazione corrente"

#: Voyager_Themes:125 Voyager_Themes:150
msgid "Delete a Theme"
msgstr "Cancellare il tema"

#: Voyager_Themes:133
msgid "This theme already exists, please choose another name."
msgstr "Questo tema esiste già, scegliete un altro nome."

#: Voyager_Themes:147
msgid "Theme $nom successfully saved"
msgstr "tema $nom è stato configurato con successo"

#: Voyager_Themes:153
msgid "No theme to delete"
msgstr "Non c’è tema da cancellare"

#: Voyager_Themes:155
msgid "Choice :"
msgstr "La scelta :"

#: Voyager_Themes:155
msgid "choice :"
msgstr "la scelta :"

Je te demande ça car j'ai aussi un fichier Voyager_Theme.mo qui est généré mais je n'arrive pas à l'ouvrir avec gedit donc difficile de te l'envoyer ...
Désolé, je ne suis pas doué pour l'informatique hmm

Dernière modification par jlfh0816 (Le 23/01/2016, à 19:44)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1903 Le 16/01/2016, à 22:33

metalux

Re : Voyager 14.04 LTS

Oui, ça fonctionne.
J'ai perdu un temps fou pour savoir si la langue était détectée car j'utilsais la variable LANG et c'est LANGUAGE qu'il faut utiliser.

LANGUAGE=it_IT Script

En fait c'est le fichier .mo qui sert pour la traduction mais il me suffit d'ouvrir le .po avec Poedit et d'enregistrer directement pour que ce fichier soit généré.
Donc tout fonctionne, on a déjà le 1er script en anglais/français/italien, c'est un bon début smile
Il ne manque plus que quelques contributeurs supplémentaires. Finalement seul Poedit est suffisant pour les traducteurs si je fournis le .po et le logiciel est d'une prise en main toute simple. Il suffit de renseigner les champs information(langue, pays, codage) dans Catalogue/configuration et ensuite de traduire.

Hors ligne

#1904 Le 17/01/2016, à 09:18

jlfh0816

Re : Voyager 14.04 LTS

metalux a écrit :

Oui, ça fonctionne.
J'ai perdu un temps fou pour savoir si la langue était détectée car j'utilsais la variable LANG et c'est LANGUAGE qu'il faut utiliser.

LANGUAGE=it_IT Script

En fait c'est le fichier .mo qui sert pour la traduction mais il me suffit d'ouvrir le .po avec Poedit et d'enregistrer directement pour que ce fichier soit généré.
Donc tout fonctionne, on a déjà le 1er script en anglais/français/italien, c'est un bon début smile
Il ne manque plus que quelques contributeurs supplémentaires. Finalement seul Poedit est suffisant pour les traducteurs si je fournis le .po et le logiciel est d'une prise en main toute simple. Il suffit de renseigner les champs information(langue, pays, codage) dans Catalogue/configuration et ensuite de traduire.

@metalux
Ouah, c'est une super bonne nouvelle ! ...
Bon, ben je vais m'y remettre pour l'anglais (Conky, Box, ...)
à plus !  wink


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1905 Le 18/01/2016, à 21:02

jlfh0816

Re : Voyager 14.04 LTS

@metalux

Voici trois nouveaux scripts traduits en anglais (tous pour la ConkyBox):

1°) conky

#!/bin/bash
# By rodofr@ - Voyager Live - Didier-T@
# Version 1.06


### Progress bar section

function init_progress_bar() {
	pipe_dir="$( mktemp -d )"
	pipe="${pipe_dir}/pipe"
	mkfifo "${pipe}"
	zenity --progress --title="Initialisation" --text="in progress..." --percentage=0 --width 700 --auto-close --auto-kill >/dev/null 2>&1 <"${pipe}" &
	exec 6>"${pipe}"
}

function purge_progress_barre() {
	trap - SIGHUP SIGINT
	exec 6>&-
	rm -rf "${pipe_dir}"
}

### End Progress bar


### Initialising variables
function init() {
	i=0
	j=1
	x=0
	perc=$(( $(wc -l < ~//.scripts/Conky/$1) + 5 ))
	perc=$(( 10000 / $perc ))

	Lancer=`ps ax | awk '/\ conky\ -c/'`
	liste="false Conky-all-Stop - Conky-all-Stop"
	home=$(echo "$HOME" | sed -e 's/\//\\\//g')
	while read line  
	do
		i=$(( $i + 1 ))
		perc1=$(( $(( $i * perc )) / 100 ))
		printf "%s\n" "${perc1}" >&6 2>/dev/null
		if [ $(( $i - $x )) -eq 1 ]; then
			conky[$j]=$line
		else
			nom[$j]=`echo "$line" | sed -e "s/\~/$home/"`
			adress[$j]=$(echo "${nom[$j]}"|sed -e 's/\//\\\//g')
			if echo "$Lancer" | grep -q -w "${adress[$j]}"; then
				c=true
			else
				c=false
			fi
			liste=$liste" "$c" "${conky[$j]}" "$j" "${nom[$j]}
			j=$(( j + 1 ))
			x=$i
		fi
	done < ~/.scripts/Conky/$1
	liste=$liste" false Conky-all-Stop - Conky-all-Stop"
}


### Adding/Removing from autostart
function autorun() {
	zenity --question --height=70	--text="
	Do you want to add/remove the selected conkys to/from autostart?"
	z=$?

	if [ $z -eq 0 ]; then
		i=0
		for i in ${!conky[*]}; do
			if ! [ $i -eq 0 ]; then
				if echo "$RET" | grep -q ${adress[$i]}; then
					if ! [ -f ~/.config/autostart/Conky\ $i\.desktop ]; then
						echo message:"Added to autostart\nconky n°$i (${conky[$i]})" | zenity --notification --timeout=2 --listen --window-icon="info" &
						echo "[Desktop Entry]
Encoding=UTF-8
Version=0.9.4
Type=Application
Name=Conky $i (${conky[$i]})
Comment=
Exec=sh -c \"sleep 10; conky -c ${nom[$i]};\"
StartupNotify=false
Terminal=false
Hidden=false" > ~/.config/autostart/Conky\ $i\.desktop
					fi
				else
					if [ -f ~/.config/autostart/Conky\ $i\.desktop ]; then
						echo message:"Removed from autostart\nconky n°$i (${conky[$i]})" | zenity --notification --timeout=2 --listen --window-icon="info" &
						rm ~/.config/autostart/Conky\ $i\.desktop &
					fi
				fi
			fi
		done
	fi
}


### Selecting conkys to display
function choix() {
	RET=`zenity --list --title="Conky" --checklist --width=330 --height=440 --column="Select" --column="Conky" --column="N°" --column="Adress" --hide-column="4" --print-column="4" $liste`

	Z=$?
	if  [ $Z -eq 0 ]; then
		for i in ${!conky[*]}; do
		if ! [ $i -eq 0 ]; then
			if echo "$RET" | grep -q ${adress[$i]}; then
				if [ -z `echo $Lancer | grep ${adress[$i]}|awk '{print 1}'` ]; then
					exec sh -c "conky -c ${nom[$i]};" &
					echo message:"Start conky\nn°$i ${conky[$i]}" | zenity --notification --timeout=2 --listen --window-icon="info" &
				fi
			else
				if echo "$Lancer" | grep -q ${adress[$i]}; then
					exec ps ax | awk "/ conky -c ${adress[$i]}/ {print \$1}" | xargs kill -9 &
					echo message:"Stop conky\nn°$i ${conky[$i]}" | zenity --notification --timeout=2 --listen --window-icon="info" &
				fi
			fi
		fi
		done
		if echo "$RET" | grep "Conky-all-Stop"; then
			if pidof conky | grep [0-9] > /dev/null; then
				echo message:"Killall\nStop all conkies" | zenity --notification --timeout=2 --listen --window-icon="info" &
				exec killall conky
			fi
			exit 0
		fi
		### Launching autorun
		autorun
	fi
}

init_progress_bar
init $1
purge_progress_barre
choix

exit 0

2°) GesConkyControl

#!/bin/bash
# Licence GPL
# By Didier-T @Forum Ubuntu.fr for Voyager
## Conky Control manager version 1.1
Rep="$HOME/.scripts/Conky"

### Adding conkys section
function fenetre_ajout() {
	ok="No"
	while [ $ok = "No" ]; do
		RET=`yad --form --title="Adding conky to the list" --field="File":FL --field="Name" --width=600 --skip-taskbar`
		Z=$?
		if [ $Z -eq 0 ]; then
		 fichier=$(echo $RET | sed -e "s/|.*$//")
		 nom=$(echo $RET | sed -e "s/|//2" -e "s/^.*|//" | sed -e "s/ /_/g")
		 if [[ ( -n $fichier ) && ( -n $nom ) ]]; then ok="Yes"; fi
		else
			ok="Yes"
		fi
	done
}

function ajout() {
	fenetre_ajout
	if [ $Z -eq 0 ]; then
		echo "$nom
$fichier" >> $Rep/conky_liste

	fi
}

### End Adding Conkys

### Removing conkys section
function init_progress_bar() {
	pipe_dir="$( mktemp -d )"
	pipe="${pipe_dir}/pipe"
	mkfifo "${pipe}"
	zenity --progress --title="Initialisation" --text="in progress..." --percentage=0 --width 700 --auto-close --auto-kill >/dev/null 2>&1 <"${pipe}" &
	exec 6>"${pipe}"
}

function purge_progress_barre() {
	trap - SIGHUP SIGINT
	exec 6>&-
	rm -rf "${pipe_dir}"
}

function init() {
	i=0
	j=1
	x=0
	liste=""
	perc=$(wc -l < ${Rep}/conky_liste)
	if [ -s ${Rep}/conky_liste ]; then
		init_progress_bar
		perc=$(( 10000 / $perc ))

		home=$(echo "$HOME" | sed -e 's/\//\\\//g')
		while read line  
		do
			i=$(( $i + 1 ))
			perc1=$(( $(( $i * perc )) / 100 ))
			printf "%s\n" "${perc1}" >&6 2>/dev/null
			if [ $(( $i - $x )) -eq 1 ]; then
				conky[$j]=$line
			else
				liste=$liste" "$j" "${conky[$j]}
				j=$(( j + 1 ))
				x=$i
			fi
		done < $Rep/conky_liste
		purge_progress_barre
	else
		liste=""
	fi

}

function suppression() {
	init
	if [[ $liste = "" ]]; then
		zenity --warning --text="No conky to remove (empty list)"
	else
		echo "1"
		RET=`zenity --list --title="Removing conky from the list" --text="" --width=300 --height=440 --print-column=2 --column="N°" --column="Conky" $liste`
		Z=$?
		if [ $Z -eq 0 ]; then
			for i in ${!conky[*]}; do
				if echo "$RET" | grep -q -w ${conky[$i]}; then
					sed -i "$(( $(( $i * 2 )) - 1 )),$(( $i * 2 )) d" $Rep/conky_liste
					sed -i '/^$/d' $Rep/conky_liste
				fi
		 	done
		fi
	fi
}
### End Removing conkys
nok="No"
while [ $nok = "No" ]; do
	RET=`zenity --list --radiolist --text="Please choose" --width=260 --height=140 --title="Conky Control manager" --hide-header --column="1" --column="2" true "Add" false "Remove"`
	Z=$?
	if [ $Z -eq 0 ]; then
		if echo "$RET" | grep -q "Add"; then
			ajout
		else
			suppression
		fi
	else
		exit 0
	fi
done

3°) ConkyControl.py

#!/usr/bin/python3
# coding: utf-8
# ========================================================================================
#
# Script by Didier-T
# license GPL V3 or later
#
# Description : script allowing simplified management of a conky library.
#
# ========================================================================================
# -----------------------------------------------
# Adding used libraries
# -----------------------------------------------
from tkinter import *
from tkinter import ttk
from tkinter.filedialog import askopenfilename
from tkinter.simpledialog import askstring, askinteger
from tkinter.colorchooser import askcolor
from tkinter.messagebox import askokcancel, showinfo, CANCEL
from subprocess import check_output, Popen
from os import path, system
from re import search, findall
from shutil import copyfile
from time import sleep

Version='1.6'

## Used resources ##
homedir = path.expanduser('~')
listfichier=[["Perso", "~/.scripts/Conky/conky_liste"], ## Be wary NOT to modify this line ##
             ["Base", "~/.scripts/Conky/conky_liste1"],
             ["Extra", "~/.scripts/Conky/conky_liste2"],
             ["Extra 2", "~/.scripts/Conky/conky_liste3"],
             ["Bar", "~/.scripts/Conky/conky_liste4"],
             ["Cover", "~/.scripts/Conky/conky_liste5"],
             ["Flat", "~/.scripts/Conky/conky_liste6"]]
Fichier_Demarrage_Auto="~/.scripts/Conky/DemConky.sh"


## Setting window display ##
### Main menu colour
Menubg="#ffffff" # Background menu
Menuabg="#ffffff" # Background menu beneath the cursor
Menufg="#000000" # Characters colour
Menuafg="#000000" # Characters colour beneath the cursor
### Drop-down menu
MenuDbg="#ffffff" # Background menu
MenuDabg="#ffffff" # Background menu beneath the cursor
MenuDfg="#000000" # Characters colour
MenuDafg="#000000" # Characters colour beneath the cursor
### Enabling/Disabling frame from below
canvas=True # True or False
Image="~/.scripts/Conky/conkycontrol-390.gif"
### Enabling/Disabling custom icon
icone=True # True or False
Icone="~/.scripts/Conky/conky.gif"

class fonctions():
    def __init__(self):
        self.listfichier=[]
        for chemin in listfichier:
            chemin[1]=chemin[1].replace("~", homedir)
            if path.isfile(chemin[1]):
                self.listfichier.append(chemin)

    def initialisation(self):
        ## Fetching start-up delay time from start-up file ##
        fichier=Fichier_Demarrage_Auto.replace("~", homedir)
        if path.isfile(fichier):
            fiche = open(fichier, "r")
            lines = fiche.readlines()
            fiche.close()
            for line in lines:
                if search("sleep", line) is not None:
                    Latence=findall('-?\d+', line)[0]
                    break
        else:
            Latence=5
        ## Initialising databases and checking running conkys ##
        ### Scanning running Conkys ###
        ConkyLances=fonctions.scan()
        ### Initialising databases ###
        BasesConky=[]
        for base in self.listfichier:
            BasesConky.append([base[0],fonctions.lecture(base[1], ConkyLances)])
        return BasesConky, ConkyLances, Latence

    def scan():
        ## Scanning for active conkys ##
        Scan=check_output("ps ax | awk '/\ conky\ .*-c/'", shell=True).decode('utf-8').split('\n')
        index=0
        retour={}
        while index < len(Scan)-1:
            Scan[index]=Scan[index].split()
            nom=Scan[index][len(Scan[index])-1]
            ip=Scan[index][0]
            if retour.get(nom) is not None:
                Popen('kill '+retour.get(nom), shell=True)
            retour[nom]=ip
            index=index+1
        return retour

    def lecture(fichier, ConkyLances):
        ## Extracting conky list + run path ##
        fiche = open(fichier, "r")
        lines = fiche.readlines()
        fiche.close()
        base1 = []
        base_de_donnee = []
        index=0
        index1=0
        for line in lines:
            line=line.replace("\n", '')
            index=index+1
            if index % 2:
                base1.append(line)
            else:
                line=line.replace("~", homedir)
                base1.append(line)
                if ConkyLances.get(line) is not None:
                    base1.append(1)
                else:
                    base1.append(0)
                base_de_donnee.append(base1)
                base1=[]
        return base_de_donnee

    def ecriture(self, BasesConky):
        ## Modifying file from database ##
        fichier=self.listfichier[0][1]
        fiche = open(fichier, "w")
        for Bases in BasesConky:
            information = Bases[0]+"\n"+Bases[1].replace(homedir, "~")+"\n"
            fiche.write(information)
        fiche.close()

class MenuBar(Frame):
    ## Drop-down list menu ##
    def __init__(self, boss = None):
        self.MenuConky={}
        self.SuppConky={}
        self.ConkyLances={}
        self.BasesConky, self.ConkyLances, self.TempLat = fonctions.initialisation(fonctions())
        Frame.__init__(self, borderwidth = 2, bd = 1, relief = GROOVE)

        ## 'Exit' Menu ##
        self.fermeMenu = Menubutton(self, text = 'Menu', relief = GROOVE, fg=Menufg, bg=Menubg, activebackground=Menuabg, activeforeground=Menuafg)

        self.fermeMenu.pack(side = LEFT)
        ### Drop-down section ###
        self.fM = Menu(self.fermeMenu, tearoff=0, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
        self.fM.add_command(label='Exit', underline = 0, command = boss.quit)
        #### Integrating the menu ####
        self.fermeMenu.configure(menu = self.fM)

        ## 'Conky lists' Menu ##
        self.ListeMenu = Menubutton(self, text = 'Conky lists', relief = GROOVE, fg=Menufg, bg=Menubg, activebackground=Menuabg, activeforeground=Menuafg)
        self.ListeMenu.pack(side = LEFT)
        ### Drop-down section ###
        self.menuliste()

        ## 'Conky management' Menu ##
        self.GestionMenu = Menubutton(self, text = 'Conky management', relief = GROOVE, fg=Menufg, bg=Menubg, activebackground=Menuabg, activeforeground=Menuafg)
        self.GestionMenu.pack(side = LEFT)
        ### Drop-down section ###
        self.menuSup()

        ## 'Autostart' Menu ##
        self.AutoRunMenu = Menubutton(self, text = 'Autostart', relief = GROOVE, fg=Menufg, bg=Menubg, activebackground=Menuabg, activeforeground=Menuafg)
        self.AutoRunMenu.pack(side = LEFT)
        ### Drop-down section ###
        self.ARM = Menu(self.AutoRunMenu, tearoff=0, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
        self.ARM.add_command(label='Autostart delay', underline = 0, command=self.latence)
        self.ARM.add_command(label='Save settings', underline = 0, command=self.DemAuto)
        #### Integrating the menu ####
        self.AutoRunMenu.configure(menu = self.ARM)

    ## Setting conky display ##
    def Reglage(self):
        self.BasesConky, self.ConkyLances, self.TempLat = fonctions.initialisation(fonctions())
        self.FenReglage=FenReglage(self, BasesConky=self.BasesConky)

    ## Setting autostart delay ##
    def latence(self):
        self.TempLat=askinteger(title='Delay adjustment', prompt='Time (in seconds)', initialvalue=self.TempLat

    ## Saving autostart file ##
    def DemAuto(self):
        self.ConkyLances=fonctions.scan()
        fichier=Fichier_Demarrage_Auto.replace("~", homedir)
        FichDem=["#!/bin/bash",
                "# Licence GPL",
                "",
                "sleep "+str(self.TempLat)+";"]
        for conky in self.ConkyLances:
            FichDem.append('sh -c "conky -c '+conky.replace(homedir, "~")+' &"')
        fiche = open(fichier, "w")
        fiche.write('\n'.join(FichDem))
        fiche.close()
        system("chmod ugo+x "+fichier)
        showinfo(title="Start-up",message="File "+Fichier_Demarrage_Auto+" modified")

    ## Updating menus ##
    def MajMenu(self):
        self.GM.destroy()
        self.menuSup()
        self.lM.destroy()
        self.menuliste()

    ## Initialising/Updating the conky-launching sub-menus ##
    def menuliste(self):
        self.lM = Menu(self.ListeMenu, tearoff=0, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
        for name in self.BasesConky:
            self.listeC=Menu(self.lM, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
            self.MenuConky[name[0]]={}
            index=0
            for val in name[1]:
                self.MenuConky[name[0]][val[1]]=IntVar()
                self.listeC.add_checkbutton(label=val[0], variable=self.MenuConky[name[0]][val[1]], command=self.choixactifs)
                self.MenuConky[name[0]][val[1]].set(val[2])
                index=index+1
            self.lM.add_cascade(label=name[0], underline = 0, menu=self.listeC)
        self.lM.add_command(label='Killall Conky', command=self.killall, underline=0)
        #### Integrating the menu ####
        self.ListeMenu.configure(menu = self.lM)

    ## Initialising/Updating the conky-removing sub-menu ##
    def menuSup(self):
        self.GM = Menu(self.GestionMenu, tearoff=0, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
        self.GM.add_command(label='Add', command=self.ajouter, underline = 0)
        listeS=Menu(self.GM, tearoff=0, fg=MenuDfg, bg=MenuDbg, activebackground=MenuDabg, activeforeground=MenuDafg)
        for val in self.BasesConky[0][1]:
            self.SuppConky[val[1]]=IntVar()
            listeS.add_checkbutton(label=val[0], variable=self.SuppConky[val[1]], command=self.supp)
        self.GM.add_cascade(label='Remove', underline = 0, menu=listeS)
        self.GM.add_command(label='Settings', underline=0, command=self.Reglage)
        #### Integrating the menu ####
        self.GestionMenu.configure(menu = self.GM)

    ## Running or stopping selected conky ##
    def choixactifs(self):
        self.ConkyLances=fonctions.scan()
        for name in self.MenuConky:
            for chemin in self.MenuConky[name]:
                if self.ConkyLances.get(chemin) is not None:
                    if self.MenuConky[name][chemin].get() == 0:
                        Popen('kill '+self.ConkyLances.get(chemin), shell=True)
                else:
                    if self.MenuConky[name][chemin].get() == 1:
                        Popen('conky -c '+chemin+' &', shell=True)

    ## Kill all running conkys ##
    def killall(self):
        Popen('killall conky', shell=True)
        for name in self.MenuConky:
            for chemin in self.MenuConky[name]:
                self.MenuConky[name][chemin].set(0)

    ## Removing a conky from Conky Preso ##
    def supp(self):
        index=0
        while index < len(self.BasesConky[0][1]):
            if self.SuppConky.get(self.BasesConky[0][1][index][1]) is not None:
                if self.SuppConky[self.BasesConky[0][1][index][1]].get() == 1:
                    rep=askokcancel(title='Remove', message='Are you sure you wish to remove '+self.BasesConky[0][1][index][0]+' from Conky Control?', default=CANCEL)
                    if rep==True:
                        self.BasesConky[0][1].remove(self.BasesConky[0][1][index])
                        fonctions.ecriture(fonctions(), self.BasesConky[0][1])
                        self.MajMenu()
                    else:
                        self.SuppConky[self.BasesConky[0][1][index][1]].set(0)
                    break
            index=index+1

    ## Adding a conky to Conky Preso ##
    def ajouter(self):
        Chemin=askopenfilename()
        if Chemin:
            NomNouvConky=askstring(title='New conky', prompt='New conky name')
            if NomNouvConky is not None:
                self.BasesConky[0][1].append([NomNouvConky, Chemin, 0])
                fonctions.ecriture(fonctions(), self.BasesConky[0][1])
                self.MajMenu()

## Conky settings window ##
class FenReglage(Toplevel):
    ## Initialising Conky settings satellite window ##
    def __init__(self, boss, BasesConky=[], **Arguments):
        Toplevel.__init__(self, boss, **Arguments)
        self.items=[]
        self.BasesConky=BasesConky
        self.BoiteAOnglet()

    def RemplissageListechoix(self):
        for name in self.BasesConky:
            for val in name[1]:
                if val[2]==1:
                    self.liste.insert(END, val[0])
                    self.items.append(val)

    def BoiteAOnglet(self):
        Reglage = Frame(self, name='Settings')
        Reglage.pack(side=TOP, fill=BOTH, expand=YES)
        ## Initialising listbox + scrollbar ##
        ascenseur= Scrollbar(Reglage)
        self.liste= Listbox(Reglage, yscrollcommand=ascenseur.set)
        ## Filling listbox + list
        self.RemplissageListechoix()
        ## Setting listbox ##
        ascenseur.config(command=self.liste.yview)
        ascenseur.pack(side=LEFT, expand=YES, fill=Y)
        self.liste.bind("<ButtonRelease-1>", self.sortie)
        self.liste.pack(side=LEFT, fill=Y)
        nb = ttk.Notebook(Reglage, name='Settings')
        nb.enable_traversal()
        nb.pack(fill=BOTH, expand=Y, padx=2, pady=3)
        ## Initialising tabs ##
        self.Position(nb)
#        self.Appearence(nb)  ## Pending
        ## Adding confirmation buttons ##
        self.Test=Button(Reglage, text='Apply', underline=0, width=10, command=self.Valider, state=DISABLED)
        self.Anuller=Button(Reglage, text='Confirm', underline=0, width=10, command=self.destroy)
        self.Valider=Button(Reglage, text='Cancel', underline=0, width=10, command=self.Anule, state=DISABLED)
        self.Anuller.pack(side=RIGHT, fill=X, expand=YES)
        self.Valider.pack(side=RIGHT, fill=X, expand=YES)
        self.Test.pack(side=RIGHT, fill=X, expand=YES)
        ## Disabling window size modifications ##
        self.resizable(width=False,height=False)

    def Anule(self):
        copyfile(self.item[1]+".Sauv", self.item[1])
        self.Horizon.delete(0, 5)
        self.Vertical.delete(0, 5)
        self.initialisation()

    def Valider(self):
        self.gap_x=self.Horizon.get()
        self.gap_y=self.Vertical.get()
        alignmentSedMod=self.alignmentSed.replace(self.alignmentSauv, self.alignment, 1)
        gap_xSedMod=self.gap_xSed.replace(self.gap_xSauv, self.Horizon.get(), 1)
        gap_ySedMod=self.gap_ySed.replace(self.gap_ySauv, self.Vertical.get(), 1)
        Popen('sed -i".bak" "s/'+self.alignmentSed+'/'+alignmentSedMod+'/" '+self.item[1], shell=True)
        Popen('sed -i -e "s/'+self.gap_xSed+'/'+gap_xSedMod+'/" -e "s/'+self.gap_ySed+'/'+gap_ySedMod+'/" '+self.item[1], shell=True)
        self.Relance()
        self.alignmentSed=alignmentSedMod
        self.gap_xSed=gap_xSedMod
        self.gap_ySed=gap_ySedMod
        self.alignmentSauv=self.alignment
        self.gap_xSauv=self.Horizon.get()
        self.gap_ySauv=self.Vertical.get()

    def Relance(self):
        ## Rebooting Conky, if necessary ##
        sleep(1)
        ConkyLances=fonctions.scan()
        ip=ConkyLances.get(self.item[1])
        if ip is not None:
            Popen('kill '+ip, shell=True)
            Popen('conky -c '+self.item[1]+' &', shell=True)

    ## Choosing file to edit ##
    def sortie(self, event=None):
        index=self.liste.curselection()
        ind0=int(index[0])
        self.item=self.items[ind0]
        self.initialisation()

    def initialisation(self):
        copyfile(self.item[1], self.item[1]+".Sauv")
        fiche = open(self.item[1], "r")
        lines = fiche.readlines()
        fiche.close()
        for line in lines:
            Diese=1000
            if search("#", line) is not None:
                Diese=line.rfind("#")
            if search("gap_x", line) is not None:
                if Diese > line.rfind("gap_x"):
                    self.gap_x=findall('-?\d+', line)[0]
                    self.gap_xSed=line.replace("\n","")
            if search("gap_y", line) is not None:
                if Diese > line.rfind("gap_y"):
                    self.gap_y=findall('-?\d+', line)[0]
                    self.gap_ySed=line.replace("\n","")
            if search("alignment", line) is not None:
                if Diese > line.rfind("alignment"):
                    self.alignment=findall('-?\w+', line)[1]
                    self.alignmentSed=line.replace("\n","")
                    self.alignmentSauv=self.alignment
                    if len(self.alignment) > 2:
                        mot1, mot2=self.alignment.split("_")
                        self.alignment=mot1[0]+mot2[0]
        self.gap_xSauv=self.gap_x
        self.gap_ySauv=self.gap_y

        ## Activating options ##
        self.Test.config(state=NORMAL)
        self.Valider.config(state=NORMAL)
        self.Vertical.config(state=NORMAL)
        self.Horizon.config(state=NORMAL)
        self.EtatBouton()

        ## Setting 'x','y' offset values ##
        self.Horizon.delete(0, 5)
        self.Vertical.delete(0, 5)
        self.Horizon.insert(0, self.gap_x)
        self.Vertical.insert(0, self.gap_y)

    def EtatBouton(self):
        ## Button states ##
        if self.alignment=="tl":
            self.HG.config(state=DISABLED)
        else:
            self.HG.config(state=NORMAL)
        if self.alignment=="tm":
            self.HM.config(state=DISABLED)
        else:
            self.HM.config(state=NORMAL)
        if self.alignment=="tr":
            self.HD.config(state=DISABLED)
        else:
            self.HD.config(state=NORMAL)
        if self.alignment=="ml":
            self.MG.config(state=DISABLED)
        else:
            self.MG.config(state=NORMAL)
        if self.alignment=="mm":
            self.MM.config(state=DISABLED)
        else:
            self.MM.config(state=NORMAL)
        if self.alignment=="mr":
            self.MD.config(state=DISABLED)
        else:
            self.MD.config(state=NORMAL)
        if self.alignment=="bl":
            self.BG.config(state=DISABLED)
        else:
            self.BG.config(state=NORMAL)
        if self.alignment=="bm":
            self.BM.config(state=DISABLED)
        else:
            self.BM.config(state=NORMAL)
        if self.alignment=="br":
            self.BD.config(state=DISABLED)
        else:
            self.BD.config(state=NORMAL)


    ## Tab position ##
    def Position(self, nb):
        frame = ttk.Frame(nb, name='position')
        frame.rowconfigure(1, weight=0)
        frame.columnconfigure(1, weight=0, uniform=1)
        nb.add(frame, text='Position', underline=0, padding=2)
        ## Initialising conky-positioning buttons ##
        frameH= Frame(frame, name="top", relief=GROOVE, bd=5)
        self.HG=Button(frameH, text='Top-left', underline=0, width=10, command= lambda: ChangePos("tl"), state=DISABLED)
        self.HM=Button(frameH, text='Top-middle', underline=0, width=10, command= lambda: ChangePos("tm"), state=DISABLED)
        self.HD=Button(frameH, text='Top-right', underline=0, width=10, command= lambda: ChangePos("tr"), state=DISABLED)
        self.MG=Button(frameH, text='Middle-left', underline=0, width=10, command= lambda: ChangePos("ml"), state=DISABLED)
        self.MM=Button(frameH, text='Middle-middle', underline=0, width=10, command= lambda: ChangePos("mm"), state=DISABLED)
        self.MD=Button(frameH, text='Middle-right', underline=0, width=10, command= lambda: ChangePos("mr"), state=DISABLED)
        self.BG=Button(frameH, text='Bottom-left', underline=0, width=10, command= lambda: ChangePos("bl"), state=DISABLED)
        self.BM=Button(frameH, text='Bottom-middle', underline=0, width=10, command= lambda: ChangePos("bm"), state=DISABLED)
        self.BD=Button(frameH, text='Bottom-right', underline=0, width=10, command= lambda: ChangePos("br"), state=DISABLED)
        self.HG.grid(row=0, column=0)
        self.HM.grid(row=0, column=1)
        self.HD.grid(row=0, column=2)
        self.MG.grid(row=1, column=0)
        self.MM.grid(row=1, column=1)
        self.MD.grid(row=1, column=2)
        self.BG.grid(row=2, column=0)
        self.BM.grid(row=2, column=1)
        self.BD.grid(row=2, column=2)
        ## Configuring top frame ##
        frameH.rowconfigure(1, weight=0)
        frameH.columnconfigure(1, weight=0, uniform=1)
        frameH.grid(row=0, column=0, columnspan=3, sticky=N)
        ## Bottom frame ##
        frameB= Frame(frame, name="bottom", relief=GROOVE, bd=5)
        ## Determining screen size ##
        haut, larg = frame.winfo_screenheight(), frame.winfo_screenwidth()
        ## Horizontal offset ##
        self.Horizon=Spinbox(frameB, from_=-larg, to=larg, width=8, repeatdelay=300, state=DISABLED)
        self.Horizon.grid(row=0, column=1, columnspan=1, sticky=SW)
        HorizonLabel = Label(frameB, text="Horizontal max "+str(larg))
        HorizonLabel.grid(row=0, column=0, columnspan=1, sticky=SW)
        ## Vertical offset ##
        self.Vertical=Spinbox(frameB, from_=-haut, to=haut, width=8, repeatdelay=300, state=DISABLED)
        self.Vertical.grid(row=1, column=1, columnspan=1, sticky=SW)
        VerticalLabel = Label(frameB, text="Vertical max "+str(haut))
        VerticalLabel.grid(row=1, column=0, columnspan=1, sticky=SW)
        ## Configuring bottom frame ##
        frameB.rowconfigure(1, weight=0)
        frameB.columnconfigure(1, weight=0, uniform=1)
        frameB.grid(row=1, column=0, columnspan=2, sticky=SW)

        ### Changing position according to button pushed ###
        def ChangePos(pos):
            self.alignment=pos
            self.EtatBouton()

#################################################################
    ## Appearance tab ##
    def Apparence(self, nb):
        frame = ttk.Frame(nb, name='appearance')
        frame.rowconfigure(1, weight=1)
        frame.columnconfigure((0,1), weight=1, uniform=1)
        nb.add(frame, text='Appearance', underline=0, padding=2)
        ## Initialising and setting Transparency frame ##
        frameT= Frame(frame, name="top", relief=GROOVE, bd=5)
        self.var = StringVar()
        FT = Radiobutton(frameT, text="False transparency", variable=self.var, value="False transparency", command=self.transparence)
        FT.pack( anchor = W )
        VT = Radiobutton(frameT, text="True transparency", variable=self.var, value="True transparency", command=self.transparence)
        VT.pack( anchor = W )
        ST = Radiobutton(frameT, text="Opaque", variable=self.var, value="Opaque", command=self.transparence)
        ST.pack( anchor = W )
        Couleur=Button(frameT, bg='#FF0000', activebackground='#FF0000')
        Couleur.pack( anchor = W )
        ## Configuring Transparency frame ##
        frameT.rowconfigure(1, weight=0)
        frameT.columnconfigure(1, weight=0, uniform=1)
        frameT.grid(row=0, column=0, columnspan=3, sticky=N)

    def transparence(self):
        print(self.var.get())
#################################################################

class application(Frame):
    ## Main application ##
    def __init__(self, boss = None, **Arguments):
        Frame.__init__(self)
        self.master.title('Conky Control')
        mBar = MenuBar(self)
        mBar.pack()
        if canvas:
            Image1=Image.replace("~", homedir)
            self.filename = PhotoImage(file = Image1)
            self.can = Canvas(self, bg='light grey', borderwidth=2, height=390, width=390)
            self.item=self.can.create_image(0, 0, anchor=NW, image=self.filename)
            self.can.pack()
        if icone:
            Image2=Icone.replace("~", homedir)
            self.iconename = PhotoImage(file = Image2)
            self.master.call('wm', 'iconphoto', self.master, self.iconename)
        self.pack()

if __name__ == '__main__':
    print("Conky Control version "+Version)
    app = application()
    app.mainloop()

Dans ce dernier script ConkyControl.py, est-ce bien "preso" qu'il faut lire aux lignes 259 et 275 ?  Ne s'agit-il pas plutôt de "perso" ? Dans l'incertitude, j'ai laissé "preso".

Peux-tu me dire quels sont les autres scripts qu'il faut encore traduire en anglais ? Je suis un peu perdu par le nombre alors si tu pouvais m'aiguiller ... tongue

Par ailleurs, j'ai délibérément adopté le parti pris de l'anglais de GB au lieu de l'anglais des USA. Par exemple, dans le script conky, le mot français "initialisation" a été traduit par "initialisation" (GB) et non par "initialization" (USA). Est-ce que ça pose un problème ? Tu veux bien trancher ?

Autre chose pour l'anglais: j'ai un problème existentiel pour traduire le mot "Test" qui est utilisé notamment dans le script Voyager_Themes. L'un de mes fils suggère de garder "Test" pour l'anglais alors que l'autre me suggère plutôt d'utiliser "Preview". Comme ils sont tous deux très bons en anglais, je ne sais quelle traduction finalement adopter. Dans le doute, j'ai laissé "Test" dans le script mais j'avoue que "Preview" me paraît bien séduisant et tout aussi parlant .. Qu'en penses-tu ? Finalement, à toi et à rodofr de trancher ! lol

Pour les traductions du script Voyager_Themes, celle en japonais est presque terminée. Pour d'autres, c'est en cours: russe, espagnol et allemand. Par contre, j'ai fait choux blanc (pour l'instant) pour le portugais, l'arabe (farsi) et d'autres langues. Je continue de chercher des bonnes volontés mais mon emploi du temps est assez contraint.

bon courage pour la suite metalux et rodofr et à bientôt !  big_smile

Dernière modification par jlfh0816 (Le 18/01/2016, à 22:33)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1906 Le 19/01/2016, à 08:02

metalux

Re : Voyager 14.04 LTS

Bonjour jlfh0816,

Peux-tu me dire quels sont les autres scripts qu'il faut encore traduire en anglais ? Je suis un peu perdu par le nombre alors si tu pouvais m'aiguiller ...

Je regarde ça dès que possible et je te fais suivre la liste.

Dans ce dernier script ConkyControl.py, est-ce bien "preso" qu'il faut lire aux lignes 259 et 275 ?

Les lignes qui commencent par un # sont des commentaires  pour mieux se repérer dans la maintenance des scripts, ils ne s'affichent pas dans l'interface graphique. Mieux vaut ne pas les traduire pour les prochains scripts.

Par ailleurs, j'ai délibérément adopté le parti pris de l'anglais de GB au lieu de l'anglais des USA. Par exemple, dans le script conky, le mot français "initialisation" a été traduit par "initialisation" (GB) et non par "initialization" (USA). Est-ce que ça pose un problème ? Tu veux bien trancher ?

C'est très bien comme ça.

Dans le doute, j'ai laissé "Test" dans le script mais j'avoue que "Preview" me paraît bien séduisant et tout aussi parlant .. Qu'en penses-tu ? Finalement, à toi et à rodofr de trancher

Là c'est du détail et c'est déjà très bien comme ça. Aucune importance pour moi, à voir ce qu'en pense rodofr si il a une préférence.

Pour les traductions du script Voyager_Themes, celle en japonais est presque terminée. Pour d'autres, c'est en cours: russe, espagnol et allemand.

J'en attendais pas temps! Tu fais un excellent travail qui permettra certainement à Voyager d'avoir encore plus de succès qu'elle en a déjà à l'étranger.

mon emploi du temps est assez contraint

Moi de même. Je vais déjà adapter les 3 scripts que tu viens de me fournir pour supporter les langues. Et faire la traduction en français. Si je le fais dans les temps, tu pourras voir pour les autres langues mais la 16.04 approche à grand pas et il sera nécessaire de geler les nouveautés/traduction pour que rodofr puisse la faire. Si déjà il y a le support du français/anglais pour tous les scripts, ça serait bien. Pour les autres langues, si ce n'est que partiel, la 18.04 sera là pour finaliser l'internationalisation et ça nous laissera du temps.
Je n'aurai qu'une chose à dire pour conclure: Comme dit Jibel:

@jlfh0816
Bravo cool

Hors ligne

#1907 Le 19/01/2016, à 08:29

Compte anonymisé

Re : Voyager 14.04 LTS

@jlfh0816 Merci de donner de ton temps à toi et tes enfants si je me trompe pas, excellent la traduction.
@metalux merci aussi. Preview me parait mieux que test. Moi je préfère, mais l'un ou l'autre me vont.

Nouvelle vidéo venue du Portugal pour les joueurs pour voyager X2 HD lien ici

A bientôt les boys voyager  wink

Dernière modification par Compte anonymisé (Le 19/01/2016, à 08:30)

#1908 Le 19/01/2016, à 11:30

zephirin

Re : Voyager 14.04 LTS

Hier, encore une machine (eee pc 1005HA notebook d'un copain sous xp) passée sous Voyager X 32bit sans encombre ! cool

Dernière modification par zephirin (Le 23/01/2016, à 17:20)


AIO tactile 27" Samsung  i5 8GB DDR3 W11 - tour Antec Asus P5GCMX1333 W11
iMac 27" fin 2009 i5 750 16GBssd2TB cg512 HighSierra - MacBookAir 13" 2017 i5 8GB ssd120 Monterey - MacBookPro mi 2012 8GB DDR3 Catalina

Hors ligne

#1909 Le 19/01/2016, à 13:55

jlfh0816

Re : Voyager 14.04 LTS

metalux a écrit :

la 16.04 approche à grand pas et il sera nécessaire de geler les nouveautés/traduction pour que rodofr puisse la faire. Si déjà il y a le support du français/anglais pour tous les scripts, ça serait bien. Pour les autres langues, si ce n'est que partiel, la 18.04 sera là pour finaliser l'internationalisation et ça nous laissera du temps.

@metalux
oui, je suis entièrement d'accord avec toi, ça me paraît plus sage de pouvoir "geler" le plus vite possible la 16.04: je vais donc privilégier les traductions français-anglais d'autant que c'est a priori ce qui est le plus facile et le plus rapide à faire (ça reste dans la famille, moins de volontaires extérieurs à contacter ! ) et, c'est seulement si je trouve le temps que je ferais l'adaptation pour d'autres langues (je finis malgré tout celles que j'ai commencées si tu veux bien). J'attends donc ta liste de scripts à traduire de français en anglais et je m'y colle.

Puisque rodofr préfère "Preview" à "Test", et je partage tout à fait son avis, est-ce que tu veux bien faire les remplacements nécessaires dans le script "Voyager_Themes" ou préfères-tu que je le fasse moi-même et qu'ensuite je te le retransmets pour que tu puisses réaliser un nouveau fichier .pot du fichier "Voyager_Themes" ?

Merci pour tout metalux, bon courage à toi et à bientôt wink

@rodofr
Merci beaucoup de tes encouragements mais surtout bon courage à toi pour cette 16.04 ! smile

Dernière modification par jlfh0816 (Le 19/01/2016, à 14:03)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1910 Le 19/01/2016, à 16:48

zephirin

Re : Voyager 14.04 LTS

Aïe j'ai trop bidouiillé en virant l'ancre de la barre de Plank sous Voyager X impossible de verrouiller les icônes même avec le clic droit et en sélectionnant Voyager Box puis Plank control malgré qu'il affiche que c'est verrouillé ... sad


AIO tactile 27" Samsung  i5 8GB DDR3 W11 - tour Antec Asus P5GCMX1333 W11
iMac 27" fin 2009 i5 750 16GBssd2TB cg512 HighSierra - MacBookAir 13" 2017 i5 8GB ssd120 Monterey - MacBookPro mi 2012 8GB DDR3 Catalina

Hors ligne

#1911 Le 19/01/2016, à 20:56

metalux

Re : Voyager 14.04 LTS

@jlfh0816

J'attends donc ta liste de scripts à traduire de français en anglais et je m'y colle.

Pour l'instant, c'est suffisant, il faut voir d'abord ce qui sera retenu pour la 16.04 car entre la X2 et ta version (laquelle?) il y a déjà des différences. Je n'ai pas la même version de conky control même si elles sont proches. Les scripts conky et GesConkyControl sont eux abandonnés apparemment. Autant attendre que tout ça se précise pour éviter les traductions inutiles.
Les scripts principaux étaient ceux que tu as traduis, Voyager_Themes et conky control. Pour ceux-ci tu peux finaliser la traduction dans les autres langues mais attends que rodofr nous confirme sur quelle Voyager prendre conky control. En + il s'agit de python, ce n'est pas la même chose que le bash pour traduire et c'est Didier-T et non moi qui l'ai fait celui-là. Donc à voir si j' arrives à faire supporter les langues. A moins que Didier-T passe par là?

Hors ligne

#1912 Le 19/01/2016, à 21:46

jlfh0816

Re : Voyager 14.04 LTS

metalux a écrit :

@jlfh0816
Pour l'instant, c'est suffisant, il faut voir d'abord ce qui sera retenu pour la 16.04 car entre la X2 et ta version (laquelle?) il y a déjà des différences. Je n'ai pas la même version de conky control même si elles sont proches. Les scripts conky et GesConkyControl sont eux abandonnés apparemment. Autant attendre que tout ça se précise pour éviter les traductions inutiles.
Les scripts principaux étaient ceux que tu as traduis, Voyager_Themes et conky control. Pour ceux-ci tu peux finaliser la traduction dans les autres langues mais attends que rodofr nous confirme sur quelle Voyager prendre conky control.

@metalux
D'accord, j'attends tes instructions  !  smile

Au sujet de ta question sur ma version de Voyager, c'est la toute première 14.04.1LTS car je n'en ai pas changé depuis la première installation, je me suis contenté de faire les mises à jour successives.
Par contre, en bas de mon conky (conky 12 dans conky-extra), il est mentionné:
Voyager1404
Ubuntu 14.04.3 LTS x86_64
Kernel: 3.13.0-76-generic
Ce suppose que ce sont les mises à jour successives de Xubuntu qui ont apporté 14.04.3

Dernière modification par jlfh0816 (Le 19/01/2016, à 23:19)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1913 Le 20/01/2016, à 00:31

Compte anonymisé

Re : Voyager 14.04 LTS

metalux@ jlfh0816@ pour conky control, c'est juste le fichier python ConkyControl.py qu'il faut traduire. C'est celui de la X2. Pas le reste. Les listes conkys ont leurs propres titres, rien de plus. Si vous l'avez pas je vous l'envoie. Encore merci

Pour conky 12 dans conky-extra, le script indique bien les dernière mises à jour kernels et ubuntu. Donc oui.

A bientôt et merci wink

#1914 Le 20/01/2016, à 07:42

zephirin

Re : Voyager 14.04 LTS

Personne pour m'aider ? sad


AIO tactile 27" Samsung  i5 8GB DDR3 W11 - tour Antec Asus P5GCMX1333 W11
iMac 27" fin 2009 i5 750 16GBssd2TB cg512 HighSierra - MacBookAir 13" 2017 i5 8GB ssd120 Monterey - MacBookPro mi 2012 8GB DDR3 Catalina

Hors ligne

#1915 Le 20/01/2016, à 08:23

jlfh0816

Re : Voyager 14.04 LTS

rodofr a écrit :

metalux@ jlfh0816@ pour conky control, c'est juste le fichier python ConkyControl.py qu'il faut traduire. C'est celui de la X2. Pas le reste. Les listes conkys ont leurs propres titres, rien de plus. Si vous l'avez pas je vous l'envoie.

@rodofr
Bonjour rodofr,
Oui, si tu peux m'envoyer le script python ConkyControl.py de la X2, je suis preneur car je ne sais pas identifier la version de celui que j'ai sur ma machine. Comme ça, je serai sûr. Merci ! smile
D'ailleurs, est-ce qu'il y a une mention quelque part dans le script pour pouvoir identifier la version ?

Dernière modification par jlfh0816 (Le 20/01/2016, à 08:24)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1916 Le 20/01/2016, à 16:04

jlfh0816

Re : Voyager 14.04 LTS

@metalux
Voici les fichiers Voyager_Themes.po pour les traductions en allemand et en japonais. Merci à toi si tu peux les ouvrir dans Poedit et générer les fichiers .mo pour rodofr !

1°) Voyager_Themes.po pour l'allemand:

# German translations for jlfh package.
# Copyright (C) 2016 THE jlfh'S COPYRIGHT HOLDER
# This file is distributed under the same license as the jlfh package.
# voyager1404 <jlfh0816@localhost>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: jlfh 0816\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-20 12:38+0100\n"
"PO-Revision-Date: 2016-01-20 12:57+0100\n"
"Last-Translator: jlfh0816 <j'ai masqué@orange.fr>\n"
"Language-Team: German\n"
"Language: de\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"
"X-Generator: Poedit 1.5.4\n"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:125 Voyager_Themes:131
#: Voyager_Themes:133 Voyager_Themes:148
msgid "New Theme"
msgstr "Neues Thema"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:131 Voyager_Themes:133
msgid "Theme Name"
msgstr "Thema Name"

#: Voyager_Themes:19
msgid "This theme already exists, please choose another name"
msgstr "Ein Thema mit diesem Name ist bereits vorhanden. Wählen Sie bitte ein anderes Thema. "

#: Voyager_Themes:25
msgid "Select Image Wall 1"
msgstr "Wahl Image Wall 1"

#: Voyager_Themes:26
msgid "Select Image Wall 2"
msgstr "Wahl Image Wall 2"

#: Voyager_Themes:27
msgid "Select Image Wall 3"
msgstr "Wahl Image Wall 3"

#: Voyager_Themes:28
msgid "Select Image Wall 4"
msgstr "Wahl Image Wall 4"

#: Voyager_Themes:29
msgid "Select Image Voyager file manager"
msgstr "Wahl Image Voyager file manager"

#: Voyager_Themes:30
msgid "Select Image Voyager Terminal"
msgstr "Wahl Image Voyager Terminal"

#: Voyager_Themes:31
msgid "Select Image Voyager Music"
msgstr "Wahl Image Voyager Music"

#: Voyager_Themes:32
msgid "Select Image FreeTuxTv"
msgstr "Wahl Image FreeTuxTv"

#: Voyager_Themes:33
msgid "Selection Wall$b"
msgstr "Auswahl Wall$b"

#: Voyager_Themes:34
msgid "Cancellation"
msgstr "Stornierung"

#: Voyager_Themes:37
msgid "This is not a valid image file"
msgstr "Das ist keine gültige Bilddatei"

#: Voyager_Themes:51
msgid "No personal theme available. Please create one then try again."
msgstr ""
"Es gibt kein verfügbares benutzer Thema. Bitte erstellen Sie ein Thema und versuchen Sie nochmal."

#: Voyager_Themes:61
msgid "Test:0"
msgstr "Test:0"

#: Voyager_Themes:61
msgid "OK:1"
msgstr "OK:1"

#: Voyager_Themes:61
msgid "Cancel:252"
msgstr "Abbrechen:252"

#: Voyager_Themes:61 Voyager_Themes:90 Voyager_Themes:109 Voyager_Themes:113
#: Voyager_Themes:125 Voyager_Themes:126 Voyager_Themes:147
msgid "Voyager Themes"
msgstr "Themen Voyager"

#: Voyager_Themes:61 Voyager_Themes:125
msgid "Theme Choice"
msgstr "Wahl eines Themas"

#: Voyager_Themes:61 Voyager_Themes:125 Voyager_Themes:155
msgid "Themes"
msgstr "Themen"

#: Voyager_Themes:90
msgid ""
"Testing \\\" $choix \\\". Press the Select button to confirm this choice."
msgstr ""
"Vorschau \\\" $choix \\\". Klicken Sie auf OK um die Auswahl zu bestätigen."

#: Voyager_Themes:113
msgid "Theme \\\"$selection\\\" theme selected"
msgstr "Thema \\\"$selection\\\" ausgewählt Thema"

#: Voyager_Themes:125
msgid "Choice"
msgstr "Wahl"

#: Voyager_Themes:125 Voyager_Themes:128
msgid "Personal Themes"
msgstr "persönlichen Themen "

#: Voyager_Themes:125 Voyager_Themes:130
msgid "Save current configuration"
msgstr "Speichern der aktuellen Konfiguration"

#: Voyager_Themes:125 Voyager_Themes:150
msgid "Delete a Theme"
msgstr "Löschen Sie ein Thema "

#: Voyager_Themes:133
msgid "This theme already exists, please choose another name."
msgstr "Ein Thema mit diesem Name ist bereits vorhanden. Wählen Sie bitte ein anderes Thema."

#: Voyager_Themes:147
msgid "Theme $nom successfully saved"
msgstr "Thema $nom erfolgreich gespeichert"

#: Voyager_Themes:153
msgid "No theme to delete"
msgstr "Kein klares Thema"

#: Voyager_Themes:155
msgid "Choice :"
msgstr "Wahl :"

#: Voyager_Themes:155
msgid "choice :"
msgstr "Wahl :"

2°) Voyager_Themes.po pour le japonais :
(bouh, m'a pris la tête celui-là ! )

# Language jp translations for jlfh package.
# Copyright (C) 2016 THE jlfh'S COPYRIGHT HOLDER
# This file is distributed under the same license as the jlfh package.
# voyager1404 <jlfh0816@localhost>, 2016.
#
msgid ""
msgstr ""
"Project-Id-Version: jlfh 0816\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2016-01-20 13:01+0100\n"
"PO-Revision-Date: 2016-01-20 15:37+0100\n"
"Last-Translator: jlfh0816 <j'ai masqué@orange.fr>\n"
"Language-Team: Language jp\n"
"Language: jp_JP\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Poedit 1.5.4\n"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:125 Voyager_Themes:131
#: Voyager_Themes:133 Voyager_Themes:148
msgid "New Theme"
msgstr "新しいテーマ"

#: Voyager_Themes:17 Voyager_Themes:19 Voyager_Themes:131 Voyager_Themes:133
msgid "Theme Name"
msgstr "テーマ名"

#: Voyager_Themes:19
msgid "This theme already exists, please choose another name"
msgstr "このテーマ名はもうあります。違うテーマ名を選んで下さい"

#: Voyager_Themes:25
msgid "Select Image Wall 1"
msgstr "Image Wall 1 を選んで下さい"

#: Voyager_Themes:26
msgid "Select Image Wall 2"
msgstr "Image Wall 2 を選んで下さい"

#: Voyager_Themes:27
msgid "Select Image Wall 3"
msgstr "Image Wall 3 を選んで下さい"

#: Voyager_Themes:28
msgid "Select Image Wall 4"
msgstr "Image Wall 4 を選んで下さい"

#: Voyager_Themes:29
msgid "Select Image Voyager file manager"
msgstr "Image Voyager file manager を選んで下さい"

#: Voyager_Themes:30
msgid "Select Image Voyager Terminal"
msgstr "Image Voyager Terminal を選んで下さい"

#: Voyager_Themes:31
msgid "Select Image Voyager Music"
msgstr "Image Voyager Music を選んで下さい"

#: Voyager_Themes:32
msgid "Select Image FreeTuxTv"
msgstr "Image Image FreeTuxTv を選んで下さい"

#: Voyager_Themes:33
msgid "Selection Wall$b"
msgstr "Wall$bを選んで下さい"

#: Voyager_Themes:34
msgid "Cancellation"
msgstr "取消"

#: Voyager_Themes:37
msgid "This is not a valid image file"
msgstr "これは有効な写真ファイルではありません"

#: Voyager_Themes:51
msgid "No personal theme available. Please create one then try again."
msgstr "使用可能な個人用テーマはありません。まず新しいテーマを作ってもう一度プレビューボタンをクリックして下さい。"


#: Voyager_Themes:61
msgid "Test:0"
msgstr "プレビュー:0"

#: Voyager_Themes:61
msgid "Select:1"
msgstr "OK:1"

#: Voyager_Themes:61
msgid "Cancel:252"
msgstr "キャンセル:252"

#: Voyager_Themes:61 Voyager_Themes:90 Voyager_Themes:109 Voyager_Themes:113
#: Voyager_Themes:125 Voyager_Themes:126 Voyager_Themes:147
msgid "Voyager Themes"
msgstr "Voyager テーマ"

#: Voyager_Themes:61 Voyager_Themes:125
msgid "Theme Choice"
msgstr "テーマの選択"

#: Voyager_Themes:61 Voyager_Themes:125 Voyager_Themes:155
msgid "Themes"
msgstr "テーマ"

#: Voyager_Themes:90
msgid ""
"Testing \\\" $choix \\\". Press the Select button to confirm this choice."
msgstr ""
"\\\" $choix \\\". のテーマのプレビューを致します。宜しければ、OKボタンを押し"
"て下さい。"

#: Voyager_Themes:113
msgid "Theme \\\"$selection\\\" theme selected"
msgstr "テーマの選択 \"$selection\""

#: Voyager_Themes:125
msgid "Choice"
msgstr "選択"

#: Voyager_Themes:125 Voyager_Themes:128
msgid "Personal Themes"
msgstr "個人用テーマ"

#: Voyager_Themes:125 Voyager_Themes:130
msgid "Save current configuration"
msgstr "現在の設定を保存する"

#: Voyager_Themes:125 Voyager_Themes:150
msgid "Delete a Theme"
msgstr "テーマを消す"

#: Voyager_Themes:133
msgid "This theme already exists, please choose another name."
msgstr "このテーマ名はもうあります。違うテーマ名を選んで下さい。"

#: Voyager_Themes:147
msgid "Theme $nom successfully saved"
msgstr "$nom のテーマが保存されました"

#: Voyager_Themes:153
msgid "No theme to delete"
msgstr "消すテーマがありません"

#: Voyager_Themes:155
msgid "Choice :"
msgstr "選択 :"

#: Voyager_Themes:155
msgid "choice :"
msgstr "選択:"

et les captures d'écran qui vont avec:
1453302011.png
1453302097.png
1453302136.png

La suite au prochain numéro ! tongue

PS: surtout, s'il y en a qui peuvent relire et me signaler d'éventuelles erreurs de traduction, qu'ils n'hésitent pas, tout le monde peut se tromper ...

Dernière modification par jlfh0816 (Le 23/01/2016, à 19:43)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1917 Le 20/01/2016, à 21:59

Compte anonymisé

Re : Voyager 14.04 LTS

zephirin@ on va remettre la config plank au propre.
Ouvrir un terminal et faite :

rm -r ~/.cache/*
sudo cp -rf ~/.config/plank ~/.config/plank.bk
sudo rm -rf ~/.config/plank
sudo chown $USER:$USER -R /etc/skel/
sudo rsync -a /etc/skel/.config/plank /$HOME/.config/
sudo chown root:root -R /etc/skel/
killall plank

Aller dans le menu du panel à gauche et chercher plank et activer puis tester si tout remarche

jlfh0816@ merci beaucoup, je viens d'arriver et une fois que metalux aura tout régénéré, je testerais.

#1918 Le 20/01/2016, à 22:38

zephirin

Re : Voyager 14.04 LTS

Merci rodofr, mais malheureusement je n'ai pas eu le temps de refaire l'installation avant de donner cet aprèm le notebook pour mon neveu hospitalisé. hmm

J'espère qu'il n’enlèvera pas accidentellement les icônes dans plank déverrouillé. roll

Je note tes lignes de terminal et je tente ça dès que je vais le voir. wink


AIO tactile 27" Samsung  i5 8GB DDR3 W11 - tour Antec Asus P5GCMX1333 W11
iMac 27" fin 2009 i5 750 16GBssd2TB cg512 HighSierra - MacBookAir 13" 2017 i5 8GB ssd120 Monterey - MacBookPro mi 2012 8GB DDR3 Catalina

Hors ligne

#1919 Le 20/01/2016, à 22:52

metalux

Re : Voyager 14.04 LTS

@jlfh0816
C'est top ce que tu as fais jlfh0816. Et de voir le script en japonais, ça fais tout bizarre! big_smile
A titre d'info, les boutons Valider/Annuler s'afficheront dans la bonne langue si celle-ci est installée. Ils n'apparaissent pas lors des tests simplement car ils dépendent des boutons Gtk prédéfinis.

@jlfh0816 @rodofr
Je vous réserve une surprise, je suis en train d'améliorer les scripts trad.sh et maj_trad.sh, ça devient un jeu d'enfant. Ah! là là, la scriptomanie m'a repris je crois cool. Bon, désolé j'avance pas trop dans les traductions pendant ce temps mais je découvre plein de choses passionnantes,alors... roll

Hors ligne

#1920 Le 22/01/2016, à 05:31

Compte anonymisé

Re : Voyager 14.04 LTS

Petites infos...

La protection contre le traçage sur les réseaux WiFi pourrait débarquer dans le monde Linux avec la prochaine version de NetworkManager en version 1.2. lien ici ou ici pour élargir sur les nouveautés.

Dr Web détecte sur Linux un nouveau cheval de Troie
Qui espionne les utilisateurs en effectuant régulièrement des captures d'écran du système lien ici
Je sais pas si l'info est sincère, semble-t-il oui. A voir...

metalux@merci j'ai tout reçu. Je teste. wink

Dernière modification par Compte anonymisé (Le 22/01/2016, à 08:04)

#1921 Le 22/01/2016, à 06:46

PPdM

Re : Voyager 14.04 LTS

A première vue, j'ai déjà lu l'info ailleurs, je n'y crois pas beaucoup.
Comment le malware s'introduit dans le système ? Aucune info.
Pour Android peut être car les applis s’installent sans aucun contrôle de l'utilisateur.


La critique est facile, mais l'art est difficile !
L'humanité étant ce qu'elle est, la liberté ne sera jamais un acquit, mais toujours un droit à défendre !
Pour résoudre un problème commence par poser les bonnes questions, la bonne solution en découlera

Hors ligne

#1922 Le 22/01/2016, à 15:51

melixgaro

Re : Voyager 14.04 LTS

à jlfh0816

salut,

comme tu invites à commenter, voici mon grain de sel :

- pour la traduction en allemand, j'aurais plutôt utilisé le verbe « abbrechen » au lieu de « stornieren » pour dire « annuler ».

- ces deux phrases me gênent un peu :

"No personal theme available. Please create one then try again."
"Es werden keine persönlichen Thema zur Verfügung. Wir danken Ihnen, einen Satz noch einmal zu versuchen zu erstellen."

Pour la traduction anglaise, je pense que « personal » devrait être remplacé par « custom ».
Pour la traduction allemande, j'aurais dit :
« Es gibt kein verfügbares benutzerdefiniertes Thema. Bitte ein Thema erstellen und nochmal versuchen »
(bon je n'aime pas ma deuxième phrase mais pour l'instant, je n'ai pas mieux. en tout cas, je pense que ça se rapproche plus du « Please create one then try again » que la phrase de jlfh0816).

Comme j'ai la flemme de chercher la phrase de départ en français, j'ai improvisé depuis les versions anglaise et allemande ;-)

PS : je ne suis bilingue dans aucune de ces deux langues

Dernière modification par melixgaro (Le 22/01/2016, à 17:06)


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#1923 Le 22/01/2016, à 17:06

jlfh0816

Re : Voyager 14.04 LTS

@melixgaro
Merci beaucoup de tes remarques.
Pas de soucis, je vais aller en faire part auprès de celui qui m'a proposé sa traduction et je reviens vers toi ensuite.
Comme je l'ai dit au début de cette série de traductions, ce n'est pas moi qui traduit personnellement, je ne fais que solliciter mon entourage (j'essaie de suppléer mon incompétence par mon carnet d'adresses...).
En tout cas, je suis content de ta réactivité, c'est bon de faire vivre ces traductions, merci !


Xubuntu - Voyager 18.04 et 22.04

Hors ligne

#1924 Le 22/01/2016, à 19:04

melixgaro

Re : Voyager 14.04 LTS

en fait, on pourrait sans doute remplacer

« benutzerdefiniertes Thema »

par

« Benutzerthema »

pour traduire

thème personnalisé


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#1925 Le 22/01/2016, à 19:44

jlfh0816

Re : Voyager 14.04 LTS

melixgaro a écrit :

à jlfh0816
Comme j'ai la flemme de chercher la phrase de départ en français, j'ai improvisé depuis les versions anglaise et allemande ;-)

@melixgaro
Pour voir la version française, tu la trouveras sur ta distribution Voyager, à cet endroit :

/home/user/.scripts/Wall/Voyager_Themes

Si tu ne l'as pas, je peux te l'envoyer, si tu le souhaites ... ?

Dernière modification par jlfh0816 (Le 22/01/2016, à 21:17)


Xubuntu - Voyager 18.04 et 22.04

Hors ligne