Fix CPUFrequency localization :

- Hack StatusView.cpp so it generates a proper catkey file
- StatusView archive constructor wasn't instanciating the catalog
Sync all the cpufrequency catalogs to the current strings.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@34984 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Adrien Destugues
2010-01-10 12:52:46 +00:00
parent 534bebec39
commit 69ddf10683
11 changed files with 141 additions and 119 deletions
@@ -1,8 +1,9 @@
1 Bulgarian x-vnd.Haiku-CPUFrequencyPref 2670455659
1 Bulgarian x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ок
CPU frequency status view CPU Frequency View Статус на CPU честотата
Set state Status view Изберете състояние
Defaults Pref Window По подразбиране
Install replicant into Deskbar CPU Frequency View Инсталирай репликант в Deskbar
Quit Status view Quit
High performance Status view Висока производителност
Stepping policy CPU Frequency View Постъпково изменение на частотата на CPU
@@ -11,10 +12,9 @@ Step up by CPU usage Color Step View Стъпка на производител
Dynamic stepping CPU Frequency View Динамично изменение
Stepping policy: CPU Frequency View Постъпково изменение на частотата на CPU:
Integration time [ms]: CPU Frequency View Време на интеграция [мс]:
Install Replicant into Deskbar CPU Frequency View Инсталирай репликант в Deskbar
Open Speedstep preferences… Status view Отвори постъпковите настройки
Revert Pref Window Върни
Low energy Status view Икономия на енергия
Launching the CPU frequency preflet failed.\n\nError: Status view Старта на CPU Frequency не се състоя.\n\nГрешка:
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPU Frequency\n\tе разработен от Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPUFrequency\n\tе разработен от Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window CPU Frequency
@@ -1,8 +1,9 @@
1 german x-vnd.Haiku-CPUFrequencyPref 2670455659
1 german x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
CPU frequency status view CPU Frequency View CPU-Takt-Anzeige
Set state Status view Fester Takt
Defaults Pref Window Standardwerte
Install replicant into Deskbar CPU Frequency View Replikanten in Deskbar installieren
Quit Status view Quit
High performance Status view Hohe Leistung
Stepping policy CPU Frequency View Taktungsrichtlinie
@@ -11,10 +12,9 @@ Step up by CPU usage Color Step View Taktänderung ab CPU-Auslastung von:
Dynamic stepping CPU Frequency View Dynamische Taktung
Stepping policy: CPU Frequency View Taktungsrichtlinie:
Integration time [ms]: CPU Frequency View Bewertungszeitraum [ms]:
Install Replicant into Deskbar CPU Frequency View Replikanten in Deskbar installieren
Open Speedstep preferences… Status view Speedstep Einstellungen öffnen…
Revert Pref Window Zurücknehmen
Low energy Status view Geringer Energieverbrauch
Launching the CPU frequency preflet failed.\n\nError: Status view Das CPU-Takt-Preflet konnte nicht gestartet werden.\n\nFehler:
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPU-Takt\n\tGeschrieben von Clemens Zeidler.\n\tCopyright 2009, Haiku, Inc.\n
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPU-Takt\n\tGeschrieben von Clemens Zeidler.\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window CPU-Takt
@@ -1,20 +1,20 @@
1 esperanto x-vnd.Haiku-CPUFrequencyPref 2670455659
1 esperanto x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Daŭrigu
Integration time [ms]: CPU Frequency View Integralada tempo [ms]:
High performance Status view Plejbona rendimento
Defaults Pref Window Aprioraj
CPU frequency status view CPU Frequency View Procesorofteca stato
Set state Status view Ŝanĝu staton
Defaults Pref Window Aprioraj
Install replicant into Deskbar CPU Frequency View Instalu la kopianton en la Deskbar-on
Quit Status view Finu
High performance Status view Plejbona rendimento
Stepping policy CPU Frequency View Akcela agmetodo
Dynamic performance Status view Dinamika rendimento
Step up by CPU usage Color Step View Akcelo par procesora uzo:
Stepping policy CPU Frequency View Akcela agmetodo
Stepping policy: CPU Frequency View Akcela agmetodo:
Open Speedstep preferences… Status view Malfermi la Speedstep-ajn agordojn…
Set state Status view Ŝanĝu staton
Launching the CPU frequency preflet failed.\n\nError: Status view Malsukcesis lanĉi la procesorofteca prefileto.\n\nEraro:
Install Replicant into Deskbar CPU Frequency View Instalu la kopianton en la Deskbar-on
Low energy Status view Malgranda energio
Revert Pref Window Malfaru
Dynamic stepping CPU Frequency View Dinamika akcelo
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Procesorofteco\n\tskribita per Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Akcela agmetodo:
Integration time [ms]: CPU Frequency View Integralada tempo [ms]:
Open Speedstep preferences… Status view Malfermi la Speedstep-ajn agordojn…
Revert Pref Window Malfaru
Low energy Status view Malgranda energio
Launching the CPU frequency preflet failed.\n\nError: Status view Malsukcesis lanĉi la procesorofteca prefileto.\n\nEraro:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Procesorofteco\n\tskribita per Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window Procesorofteco
Quit Status view Finu
@@ -1,20 +1,20 @@
1 finnish x-vnd.Haiku-CPUFrequencyPref 2670455659
1 finnish x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
Integration time [ms]: CPU Frequency View Integraatio Aika [ms]:
High performance Status view Korkea Suorituskyky
Defaults Pref Window Oletusasetukset
CPU frequency status view CPU Frequency View CPU Taajuuden Tilanäkymä
Set state Status view Aseta Tila
Defaults Pref Window Oletusasetukset
Install replicant into Deskbar CPU Frequency View Asenna kopio Tilapalkkiin
Quit Status view Quit
High performance Status view Korkea Suorituskyky
Stepping policy CPU Frequency View Muutostapa
Dynamic performance Status view Dynaaminen Suorituskyky
Step up by CPU usage Color Step View Muuta ylöspäin tämän CPU:n käyttömäärän kohdalla:
Stepping policy CPU Frequency View Muutostapa
Stepping policy: CPU Frequency View Muutostapa:
Open Speedstep preferences… Status view Avaa Speedstep Valinnat...
Set state Status view Aseta Tila
Launching the CPU frequency preflet failed.\n\nError: Status view CPU taajuuden asetusohjelman käynnistys epäonnistui.\n\nVirhe:
Install Replicant into Deskbar CPU Frequency View Asenna kopio Tilapalkkiin
Low energy Status view Matala Energiankulutus
Revert Pref Window Palauta
Dynamic stepping CPU Frequency View Dynaaminen Muutos
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Prosessorin Kellotaajuus\n\ttekijä Clemens Zeidler\n\tTekijänoikeudet 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Muutostapa:
Integration time [ms]: CPU Frequency View Integraatio Aika [ms]:
Open Speedstep preferences… Status view Avaa Speedstep Valinnat...
Revert Pref Window Palauta
Low energy Status view Matala Energiankulutus
Launching the CPU frequency preflet failed.\n\nError: Status view CPU taajuuden asetusohjelman käynnistys epäonnistui.\n\nVirhe:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Prosessorin Kellotaajuus\n\ttekijä Clemens Zeidler\n\tTekijänoikeudet 2009, Haiku, Inc.\n
CPU Frequency Main window CPU Taajuus
Quit Status view Quit
@@ -1,20 +1,20 @@
1 french x-vnd.Haiku-CPUFrequencyPref 2670455659
1 french x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
Integration time [ms]: CPU Frequency View Temps d'intégration [ms]:
High performance Status view Haute performance
Defaults Pref Window Défaire
CPU frequency status view CPU Frequency View État de la fréquence du processeur
Set state Status view Changer l'état
Defaults Pref Window Défaire
Install replicant into Deskbar CPU Frequency View Installer le réplicant dans la Deskbar
Quit Status view Quitter
High performance Status view Haute performance
Stepping policy CPU Frequency View Attitude d'accélération
Dynamic performance Status view performance dynamique
Step up by CPU usage Color Step View Accélération par utilisation processeur:
Stepping policy CPU Frequency View Attitude d'accélération
Stepping policy: CPU Frequency View Attitude d'accélération:
Open Speedstep preferences… Status view Ouvrir les préférences Speestep…
Set state Status view Changer l'état
Launching the CPU frequency preflet failed.\n\nError: Status view Échec de lancement des préférences de fréquence du processeur.\n\nErreur:
Install Replicant into Deskbar CPU Frequency View Installer le réplicant dans la Deskbar
Low energy Status view Basse consommation
Revert Pref Window Défaire
Dynamic stepping CPU Frequency View Accélération dynamique
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Fréquence du processeur\n\técrit par Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Attitude d'accélération:
Integration time [ms]: CPU Frequency View Temps d'intégration [ms]:
Open Speedstep preferences… Status view Ouvrir les préférences Speestep…
Revert Pref Window Défaire
Low energy Status view Basse consommation
Launching the CPU frequency preflet failed.\n\nError: Status view Échec de lancement des préférences de fréquence du processeur.\n\nErreur:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Fréquence du processeur\n\técrit par Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window Fréquence du processeur
Quit Status view Quitter
@@ -1,20 +1,20 @@
1 italiano x-vnd.Haiku-CPUFrequencyPref 2670455659
1 italiano x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
Integration time [ms]: CPU Frequency View Tempo di intervento [ms]:
High performance Status view Massima potenza
Defaults Pref Window Predefinito
CPU frequency status view CPU Frequency View Frequenza della CPU
Set state Status view Set state
Defaults Pref Window Predefinito
Install replicant into Deskbar CPU Frequency View Installa il replicante con la frequenza della CPU nella Deskbar
Quit Status view Quit
High performance Status view Massima potenza
Stepping policy CPU Frequency View Stepping policy CPU Frequency
Dynamic performance Status view Potenza dinamica
Step up by CPU usage Color Step View Variazione della potenza in base all'uso della CPU:
Stepping policy CPU Frequency View Stepping policy CPU Frequency
Stepping policy: CPU Frequency View Stepping policy CPU Frequency:
Open Speedstep preferences… Status view Apri le preferenze di Speestep…
Set state Status view Set state
Launching the CPU frequency preflet failed.\n\nError: Status view Impossibile far partire la preferenza del CPU Frequency.\n\nErreur:
Install Replicant into Deskbar CPU Frequency View Installa il replicante con la frequenza della CPU nella Deskbar
Low energy Status view Bassi consumi
Revert Pref Window Predefinito
Dynamic stepping CPU Frequency View Accelerazione dinamica
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPU Frequency\n\tscritto da Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Stepping policy CPU Frequency:
Integration time [ms]: CPU Frequency View Tempo di intervento [ms]:
Open Speedstep preferences… Status view Apri le preferenze di Speestep…
Revert Pref Window Predefinito
Low energy Status view Bassi consumi
Launching the CPU frequency preflet failed.\n\nError: Status view Impossibile far partire la preferenza del CPU Frequency.\n\nErreur:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPUFrequency\n\tscritto da Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window Frequenza della CPU
Quit Status view Quit
@@ -1,20 +1,20 @@
1 lithuanian x-vnd.Haiku-CPUFrequencyPref 2670455659
1 lithuanian x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Gerai
Integration time [ms]: CPU Frequency View Atsistatymo laikas [ms]:
High performance Status view Didelis našumas
Defaults Pref Window Numatytai
CPU frequency status view CPU Frequency View CP dažnio rodyklė
Set state Status view Pasirinkti
Defaults Pref Window Numatytai
Install replicant into Deskbar CPU Frequency View Įdėti ženkliuką Deskbar'an
Quit Status view Baigti
High performance Status view Didelis našumas
Stepping policy CPU Frequency View Žingsniavimo tvarka
Dynamic performance Status view Prisitaikantis našumas
Step up by CPU usage Color Step View Daugiau centrinio procesoriaus našumo:
Stepping policy CPU Frequency View Žingsniavimo tvarka
Stepping policy: CPU Frequency View Žingsniavimas:
Open Speedstep preferences… Status view CP dažnio nustatymai…
Set state Status view Pasirinkti
Launching the CPU frequency preflet failed.\n\nError: Status view Nepavyko paleisti „CP dažnio“.\n\nKlaida:
Install Replicant into Deskbar CPU Frequency View Įdėti ženkliuką Deskbar'an
Low energy Status view Energijos taupymas
Revert Pref Window Grįžti
Dynamic stepping CPU Frequency View Prisitaikančio našumo derinimas
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CP dažnis\n\tsukurtas Clemens'o Zeidler'io\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Žingsniavimas:
Integration time [ms]: CPU Frequency View Atsistatymo laikas [ms]:
Open Speedstep preferences… Status view CP dažnio nustatymai…
Revert Pref Window Grįžti
Low energy Status view Energijos taupymas
Launching the CPU frequency preflet failed.\n\nError: Status view Nepavyko paleisti „CP dažnio“.\n\nKlaida:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CP dažnis\n\tsukurtas Clemens'o Zeidler'io\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window CP dažnis
Quit Status view Baigti
@@ -1,20 +1,20 @@
1 Russian x-vnd.Haiku-CPUFrequencyPref 2670455659
1 Russian x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ок
Integration time [ms]: CPU Frequency View Время интеграции [мс]:
High performance Status view Высокая производительность
Defaults Pref Window По умолчанию
CPU frequency status view CPU Frequency View Представление состояния частоты ЦП
Set state Status view Выбрать страну
Defaults Pref Window По умолчанию
Install replicant into Deskbar CPU Frequency View Установить репликант в Deskbar
Quit Status view Quit
High performance Status view Высокая производительность
Stepping policy CPU Frequency View Пошаговое изменение частоты ЦП
Dynamic performance Status view Динамическая производительность
Step up by CPU usage Color Step View Шаг вверх по производительности ЦП:
Stepping policy CPU Frequency View Пошаговое изменение частоты ЦП
Stepping policy: CPU Frequency View Пошаговое изменение частоты ЦП:
Open Speedstep preferences… Status view Открытые пошаговые настройки
Set state Status view Выбрать страну
Launching the CPU frequency preflet failed.\n\nError: Status view Запуск CPU Frequency не удалось.\n\nErreur:
Install Replicant into Deskbar CPU Frequency View Установить репликант в Deskbar
Low energy Status view Экономия энергии
Revert Pref Window Вернуться
Dynamic stepping CPU Frequency View Динамическое изменение
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPU Frequency\n\tразраьотан Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Пошаговое изменение частоты ЦП:
Integration time [ms]: CPU Frequency View Время интеграции [мс]:
Open Speedstep preferences… Status view Открытые пошаговые настройки
Revert Pref Window Вернуться
Low energy Status view Экономия энергии
Launching the CPU frequency preflet failed.\n\nError: Status view Запуск CPU Frequency не удалось.\n\nErreur:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view CPUFrequency\n\tразраьотан Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window CPU Frequency
Quit Status view Quit
@@ -1,20 +1,20 @@
1 swedish x-vnd.Haiku-CPUFrequencyPref 2670455659
1 swedish x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
Integration time [ms]: CPU Frequency View Integreringstid [ms]:
High performance Status view Högprestanda
Defaults Pref Window Förval
CPU frequency status view CPU Frequency View Statusvy för processorfrekvens
Set state Status view Ändra läge
Defaults Pref Window Förval
Install replicant into Deskbar CPU Frequency View Installera replikant på Deskbar
Quit Status view Quit
High performance Status view Högprestanda
Stepping policy CPU Frequency View Accelerationspolicy
Dynamic performance Status view Dynamisk prestanda
Step up by CPU usage Color Step View Öka med processoranvändande:
Stepping policy CPU Frequency View Accelerationspolicy
Stepping policy: CPU Frequency View Accelerationspolicy:
Open Speedstep preferences… Status view Öppna inställningar för Speestep…
Set state Status view Ändra läge
Launching the CPU frequency preflet failed.\n\nError: Status view Misslyckades med att starta Processorfrekevens-prefleten.\n\nFel:
Install Replicant into Deskbar CPU Frequency View Installera replikant på Deskbar
Low energy Status view Lågenergiläge
Revert Pref Window Återgå
Dynamic stepping CPU Frequency View Dynamisk acceleration
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Processfrekvens\n\twkriven av Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
Stepping policy: CPU Frequency View Accelerationspolicy:
Integration time [ms]: CPU Frequency View Integreringstid [ms]:
Open Speedstep preferences… Status view Öppna inställningar för Speestep…
Revert Pref Window Återgå
Low energy Status view Lågenergiläge
Launching the CPU frequency preflet failed.\n\nError: Status view Misslyckades med att starta Processorfrekevens-prefleten.\n\nFel:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Processfrekvens\n\twkriven av Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n
CPU Frequency Main window Processorfrekvens
Quit Status view Quit
@@ -1,20 +1,20 @@
1 Ukrainian x-vnd.Haiku-CPUFrequencyPref 2670455659
1 Ukrainian x-vnd.Haiku-CPUFrequencyPref 4060072235
Ok Status view Ok
Integration time [ms]: CPU Frequency View Час інтеграції [ms]:
High performance Status view Висока продуктивність
Defaults Pref Window По замовчуванню
Quit Status view Quit
CPU frequency status view CPU Frequency View Частота ЦПУ
Set state Status view Встановити стан
Defaults Pref Window По замовчуванню
Install replicant into Deskbar CPU Frequency View Встановити реплікант в Deskbar
Quit Status view Quit
High performance Status view Висока продуктивність
Stepping policy CPU Frequency View Покрокова зміна
Dynamic performance Status view Динамічна продуктивність
Step up by CPU usage Color Step View Крок вгору використання процесора:
Stepping policy CPU Frequency View Покрокова зміна
Stepping policy: CPU Frequency View Покрокова зміна:
Open Speedstep preferences… Status view Відкриття покрокової настройки
Set state Status view Встановити стан
Launching the CPU frequency preflet failed.\n\nError: Status view Програму CPU Frequency не вдалося запустити.\n\nПомилка:
Install Replicant into Deskbar CPU Frequency View Встановити реплікант в Deskbar
Low energy Status view Мале споживання
Revert Pref Window Повернути
Dynamic stepping CPU Frequency View Динамічна зміна
CPU Frequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Частота процесора\n\Автор Клеменс Зейдлер\n\tCopyright 2009, Haiku, Inc.\n\t Переклад Олекса Рудик aka totish\n
Stepping policy: CPU Frequency View Покрокова зміна:
Integration time [ms]: CPU Frequency View Час інтеграції [ms]:
Open Speedstep preferences… Status view Відкриття покрокової настройки
Revert Pref Window Повернути
Low energy Status view Мале споживання
Launching the CPU frequency preflet failed.\n\nError: Status view Програму CPU Frequency не вдалося запустити.\n\nПомилка:
CPUFrequency\n\twritten by Clemens Zeidler\n\tCopyright 2009, Haiku, Inc.\n Status view Частота процесора\n\Автор Клеменс Зейдлер\n\tCopyright 2009, Haiku, Inc.\n\t Переклад Олекса Рудик aka totish\n
CPU Frequency Main window Частота процесора
+23 -1
View File
@@ -32,6 +32,27 @@ extern "C" _EXPORT BView *instantiate_deskbar_item(void);
#define TR_CONTEXT "Status view"
#define MAX_FREQ_STRING "9999MHz"
/* This file is used both by the preference panel and the deskbar replicant.
* This make it needs two different BCatalogs depending on the context.
* As this is not really possible with the current way BCatalog are built,
* we get the catalog by hand. This makes us unable to use the TR macros,
* and then collectcatkeys will not see the strings in the file.
* So we mark them explicitly here.
*/
void notUsed() {
TR_MARK("Dynamic performance");
TR_MARK("High performance");
TR_MARK("Low energy");
TR_MARK("Set state");
TR_MARK("CPUFrequency\n"
"\twritten by Clemens Zeidler\n"
"\tCopyright 2009, Haiku, Inc.\n");
TR_MARK("Ok");
TR_MARK("Open Speedstep preferences" B_UTF8_ELLIPSIS);
TR_MARK("Quit");
}
// messages FrequencySwitcher
const uint32 kMsgDynamicPolicyPulse = '&dpp';
@@ -383,7 +404,8 @@ StatusView::StatusView(BMessage* archive)
: BView(archive),
fInDeskbar(false),
fCurrentFrequency(NULL),
fDragger(NULL)
fDragger(NULL),
fCatalog("x-vnd.Haiku-CPUFrequencyPref")
{
app_info info;
if (be_app->GetAppInfo(&info) == B_OK