Archifutura / Aeneia

Projektowanie aplikacji

Aplikacja dla międzynarodowego zespołu: język, czas i lokalne zasady

Jak zaprojektować aplikację dla zespołów w różnych krajach? Zobacz, jak ustalić języki, strefy czasowe, lokalne formaty i przekazywanie spraw.

Tworzyliśmy rozwiązania dla

  • L'Oréal
  • Garnier
  • Netflix
  • Carrefour
  • Warner Bros. Discovery
  • Biedronka
  • HBO Max
  • Wolt
  • Żabka
  • COSRX
  • Mixa
  • Ambasada Chin w Polsce

Doświadczenie Aeneia, firmy stojącej za Archifutura.

Ta sama aplikacja może pomagać osobom w Warszawie, Seulu i Nowym Jorku, a mimo to wprowadzać je w błąd. Wystarczy termin zapisany bez strefy czasowej albo komunikat przetłumaczony tak, że zmienia znaczenie decyzji. Użytkownicy widzą ten sam ekran, lecz ich praca przebiega w różnych godzinach, językach i lokalnych warunkach.

Projektując aplikację dla międzynarodowego zespołu, zacznij od czynności, które ludzie rzeczywiście wykonują. Kto przekazuje sprawę kolejnej osobie? Czy termin oznacza konkretny moment, czy koniec lokalnego dnia roboczego? Które komunikaty trzeba przetłumaczyć, a które dane muszą pozostać w oryginale? Odpowiedzi wpływają na model danych, projekt interfejsu i sposób testowania.

Jeśli planujesz taki system, prześlij nam brief z opisem zespołów, języków i jednego procesu, który przechodzi między lokalizacjami. Nie trzeba podawać danych klientów ani haseł. Przyda się natomiast informacja, gdzie dziś pojawiają się nieporozumienia oraz kto podejmuje decyzję, gdy oddziały pracują inaczej.

Jeden proces, różne warunki pracy

Wyobraźmy sobie firmę serwisową z zespołami w Polsce i Japonii. Zgłoszenie utworzone przez jeden oddział trafia do specjalisty w drugim. Osoba przekazująca sprawę chce wiedzieć, kiedy nastąpi odpowiedź, a osoba przejmująca potrzebuje historii, materiałów i czytelnego opisu problemu. To przykład projektowy. Nie zakłada, że każda firma działa według takiego samego harmonogramu.

Zacznijcie od prześledzenia jednej sprawy od początku do końca. Zapiszcie, które informacje są wspólne, a które zależą od lokalnego sposobu pracy. Termin realizacji może być wspólnym polem systemu, lecz kalendarz dostępności zespołu i sposób przekazania dyżuru mogą różnić się między lokalizacjami. Pozostawienie miejsca na taką różnicę bywa potrzebne nawet wtedy, gdy formularz wygląda identycznie.

Nie oznacza to tworzenia osobnej aplikacji dla każdego oddziału. Wspólny model może obejmować identyfikator sprawy, status i historię zmian, a reguły przypisania lub język powiadomień można dopasować do zespołu. O tym, jak uzgadniać wspólne zasady z lokalnymi wyjątkami, piszemy szerzej w artykule o systemie dla wielu oddziałów.

Dobrze też ustalić, kto jest właścicielem decyzji dotyczących różnic. Jeżeli każdy oddział sam zmienia znaczenie statusów, raport zbiorczy szybko przestaje być porównywalny. Jeśli zaś centrala zabroni wszystkich wyjątków, pracownicy mogą wrócić do własnych arkuszy. Rozmowa o rzeczywistych zadaniach pozwala odróżnić potrzebną lokalną regułę od przyzwyczajenia, które można uprościć.

Język interfejsu i język sprawy

Język aplikacji nie musi być tym samym, co język dokumentu czy zgłoszenia. Pracownik może korzystać z polskiego interfejsu i obsługiwać sprawę opisaną po angielsku. Klient może wybrać japońskie powiadomienia, podczas gdy wewnętrzna notatka pozostaje w języku zespołu. System powinien przechowywać te wybory oddzielnie, jeżeli proces rzeczywiście tego wymaga.

Przetłumaczenia wymagają nie tylko pozycje menu. Sprawdźcie komunikaty błędów, opisy pól, powiadomienia e-mail, nazwy statusów, potwierdzenia operacji i materiały pomocy. Pusty formularz może wyglądać na gotowy, a dopiero komunikat o błędzie ujawni, że użytkownik musi znać inny język. Treść powinna mówić, co się stało i co można zrobić dalej, zamiast podawać sam kod techniczny.

Warto przy tym zachować kontekst dla tłumacza. Słowo „zamknij” może oznaczać zamknięcie okna albo zakończenie sprawy. Te czynności mają inne konsekwencje i w innym języku mogą wymagać różnych słów. Wspólny plik z wyrwanymi z ekranu etykietami nie zawsze wystarczy. Pomagają zrzut widoku, opis działania i informacja, czy tekst pojawia się na przycisku, czy w komunikacie ostrzegawczym.

Zmiany w oryginalnej treści powinny uruchamiać przegląd tłumaczeń. Jeżeli polskie potwierdzenie zaczyna ostrzegać o nieodwracalnym skutku, starsza wersja angielska nie może nadal mówić wyłącznie „gotowe”. W systemie przyda się informacja o wersji tekstu oraz osoba odpowiedzialna za publikację. Automatyczne tłumaczenie może pomóc przygotować szkic, ale treści dotyczące decyzji i konsekwencji wymagają sprawdzenia w kontekście.

Termin jako chwila albo lokalna data

„Spotkanie rozpocznie się o 14:00” wymaga wskazania, dla jakiej strefy podano godzinę. „Faktura ma zostać opłacona do 15 maja” może natomiast oznaczać datę kalendarzową, a nie jeden moment na świecie. Zapisanie obu wartości w identyczny sposób może sprawić, że data wyświetli się inaczej po zmianie strefy użytkownika. Najpierw trzeba ustalić znaczenie pola, dopiero potem sposób zapisu.

Dla zdarzenia mającego określony moment przydatne jest przechowywanie go w sposób pozwalający jednoznacznie określić ten moment oraz wyświetlenie go w odpowiedniej strefie. Interfejs powinien mówić, jaką strefę pokazuje, szczególnie gdy odbiorca może ją zmienić. Przy dacie bez godziny, na przykład dniu urodzin czy terminie opisanym jako lokalna data, dodanie przypadkowej północy może zmienić sens informacji.

Dokument W3C o pracy z czasem i strefami czasowymi rozróżnia wartości powiązane z konkretnym momentem od wartości lokalnych, które nie mają przypisanej strefy. Przy projektowaniu pola nie wystarczy więc zapytać „jaki format daty wybrać?”. Trzeba zapytać osobę odpowiedzialną za proces, co termin oznacza i co powinno się stać, gdy ogląda go pracownik w innym kraju.

Osobnym przypadkiem są wydarzenia powtarzalne. Spotkanie odbywające się co poniedziałek o lokalnej godzinie dziewiątej może zmieniać swój odpowiednik w innej strefie po zmianie czasu. Sam dzisiejszy odstęp godzin nie opisuje wszystkich przyszłych terminów. System powinien zachować regułę spotkania i właściwą strefę, a testy objąć również okresy zmiany czasu. Kalendarz, który działał w styczniu, warto obejrzeć także wtedy, gdy zegary przestawiają się w różnych terminach.

Liczby, waluty i formularze

Format liczby pomaga uniknąć pomyłki, lecz nie rozwiązuje kwestii jej znaczenia. Kwota w raporcie powinna mieć wskazaną walutę, a przeliczenie między walutami wymaga ustalenia źródła kursu i chwili jego użycia. Jeśli dwa oddziały porównują wynik, powinny wiedzieć, czy widzą wartości pierwotne, czy już przeliczone. Sam symbol waluty przy wykresie nie wyjaśnia tych zasad.

Format wprowadzania danych też trzeba przetestować z użytkownikami. Separator dziesiętny, układ daty czy zapis numeru telefonu mogą być inne od przyzwyczajeń osoby projektującej formularz. Pole powinno jasno wskazywać oczekiwaną wartość i po błędzie zachować to, co użytkownik wpisał. Unikajcie formułowania reguły jako „wprowadź poprawną datę”, jeśli system nie mówi, jaką postać akceptuje.

Adresy i nazwiska nie wszędzie mieszczą się w tym samym schemacie. Zanim pole stanie się obowiązkowe, sprawdźcie, czy ma sens we wszystkich obsługiwanych krajach oraz do czego firma go potrzebuje. Jeżeli lokalny partner wymaga określonego formatu do realizacji dostawy, warto wyjaśnić użytkownikowi ten wymóg. Sztywne pole stworzone wyłącznie z przyzwyczajenia potrafi zatrzymać proces przed jego rozpoczęciem.

Przy raportach wspólnych dla oddziałów dodatkowo uzgodnijcie definicje wskaźników i moment odświeżenia danych. Sprzedaż przypisana do dnia lokalnego może trafić do innej daty niż ta sama transakcja oglądana według czasu centrali. O tym, dlaczego definicje trzeba ustalić przed budową wykresu, przeczytasz w tekście o definicjach wskaźników na dashboardzie.

Uprawnienia i przekazanie sprawy

Przynależność do oddziału nie zawsze przesądza o dostępie. Specjalista może pomagać innemu regionowi w jednej sprawie, a kierownik może przeglądać zestawienie bez prawa zmiany danych źródłowych. Rozpiszcie potrzebne działania i zakres informacji dla każdej roli. Następnie sprawdźcie, czy przekazanie sprawy zmienia dostęp oraz kto może go cofnąć. Gdy aplikacja obsługuje odrębnych klientów, dodatkową granicę stanowi izolacja danych pomiędzy firmami.

Przy integracjach odpowiedzialność za aktualną wartość pola powinna być jasna. System zgłoszeń może przechowywać historię rozmowy, a system kadrowy informacje o dostępności pracownika. Jeśli oba potrafią zapisać inny stan tej samej informacji, potrzebna jest reguła rozstrzygania konfliktu. Pomaga w tym opis źródeł danych w integracji systemów, zanim powstaną powiadomienia i raporty.

Zwróćcie uwagę na moment przekazania między zespołami. Kolejny pracownik powinien zobaczyć, co zostało już zrobione, co pozostało do decyzji i kiedy oczekiwana jest odpowiedź. Powiadomienie może zawierać lokalną godzinę odbiorcy oraz jednoznaczną informację o strefie. Warto też przewidzieć, co stanie się, gdy osoba wskazana do przejęcia sprawy nie pracuje danego dnia.

Testuj granice, nie tylko środek dnia

Test z jedną godziną i jednym językiem nie pokaże większości kłopotów opisanych wyżej. Przygotujcie scenariusze dla użytkowników w różnych strefach: utworzenie sprawy pod koniec dnia, przekazanie jej do innego oddziału, zmianę języka interfejsu oraz wyświetlenie terminu po zmianie ustawień konta. Dodajcie przypadek, w którym data jest samodzielną datą kalendarzową i nie powinna przesunąć się po zmianie strefy.

Sprawdźcie też dłuższe tłumaczenia, tekst od prawej do lewej, jeśli jest potrzebny w projekcie, oraz komunikaty generowane przez integracje. Przycisk powinien pozostać czytelny, a ważne ostrzeżenie nie może znikać poza ekranem. Warto zaprosić osoby posługujące się danym językiem w pracy. Ich uwagi pozwolą wykryć nie tylko literówki, lecz także niewłaściwe znaczenie polecenia.

Przed odbiorem ustalcie, jaki rezultat ma dać każdy scenariusz oraz kto go potwierdzi. Artykuł o kryteriach odbioru aplikacji pokazuje, jak zamienić ogólne oczekiwania w sprawdzalne warunki. Dla wersji międzynarodowej jednym z nich może być poprawne przekazanie konkretnej sprawy między dwiema lokalizacjami, z terminem widocznym w ustalony sposób.

Podobne pytania pojawiają się przy automatycznym kierowaniu wiadomości do zespołu w innym kraju. Reguła musi uwzględniać język, zakres odpowiedzialności i sposób obsługi wyjątku, a nie tylko kraj nadawcy. W artykule o automatyzacji AI w firmie międzynarodowej pokazujemy, jak ustalać granice takiego procesu oraz przekazywać trudniejsze sprawy pracownikom.

Zanim powstanie pełna wersja systemu, warto przetestować kilka ekranów z osobami z różnych oddziałów. Obserwujcie, czy rozumieją nazwy statusów, potrafią rozpoznać strefę godziny i wiedzą, co wydarzy się po przekazaniu sprawy. Taki sprawdzian można przeprowadzić na prototypie, bez przenoszenia całej bazy danych. Pisaliśmy o tym, jak zaplanować test prototypu z pracownikami i przełożyć ich uwagi na decyzje projektowe.

Przygotujcie również procedurę zgłaszania błędów po uruchomieniu. Pracownik powinien móc podać język interfejsu, ustawioną strefę, widoczny termin i numer sprawy bez przesyłania zbędnych danych osobowych. Dzięki temu zespół utrzymujący aplikację odtworzy sytuację, zamiast zaczynać od pytania, czy problem wystąpił w poniedziałek według osoby zgłaszającej, czy według serwera. Po poprawce warto ponownie sprawdzić ten sam scenariusz w obu lokalizacjach.

Pierwsza wersja nie musi obsługiwać każdego kraju i wszystkich języków naraz. Może objąć jeden proces oraz te zespoły, które rzeczywiście go przetestują. W projektowaniu aplikacji webowych i mobilnych taki zakres pozwala wcześnie sprawdzić dane, język i przekazanie odpowiedzialności. Dopiero na tej podstawie łatwiej ustalić, które elementy da się bezpiecznie rozszerzyć na kolejne lokalizacje.

Źródła i dokumentacja

Materiały sprawdzone przy opracowaniu tekstu. Przy wyborze usługi lub technologii potwierdzamy warunki dla konkretnego projektu.

Kiedy potrzebujesz spojrzeć szerzej

Projekt nie kończy się na kodzie.

Twój proces, Twój zakres

Sprawdźmy, co ma powstać w Twojej firmie.

Nie potrzebujesz gotowej specyfikacji. Opisz zadanie, obecne narzędzia i to, co dziś wymaga ręcznej pracy.

Opisz swój projekt

Narzędzia i integracje, z których korzystamy

  • Google
  • OpenAI
  • Microsoft
  • Stripe
  • Anthropic
  • Linear

Dobór technologii i dostępnych połączeń ustalamy dla konkretnego projektu.