Jak pseudolokalizacja może pomóc w internacjonalizacji.
Zanim zagłębimy się w pseudolokalizację, najpierw zrozumiemy podstawową definicję internacjonalizacji , lokalizacji i pseudolokalizacji .
Umiędzynarodowienie:
Internacjonalizacja to proces projektowania aplikacji oprogramowania w taki sposób, aby można ją było łatwo dostosować do różnych innych języków i regionów bez żadnych zmian programistycznych.
Lokalizacja:
Lokalizacja to proces dostosowywania międzynarodowego oprogramowania do określonego regionu lub języka poprzez dodawanie komponentów specyficznych dla lokalizacji (2,99 € => 2,99 €) i tłumaczenie tekstu (Hello World! => Hallo Welt!).
Psuodolokalizacja
Pseudolokalizacja to metoda testowania oprogramowania stosowana przed procesem lokalizacji, w której generowane są fałszywe (lub pseudo) tłumaczenia (ze znakami specyficznymi dla regionu i języka):Hello World!
=>[ Hellö Wörld! ÜüäßÖ ]
.
Problemy występujące w lokalizacji:
Tradycyjnie lokalizacja zaczyna się po zakończeniu rozwoju, ponieważ zarówno rozwój, jak i lokalizacja są uważane za dwa różne procesy. Istnieje więc wiele problemów związanych z tym podejściem, które obejmują między innymi:
- Niektóre ciągi są zakodowane na stałe w kodzie źródłowym:
każdy lokalizowalny ciąg powinien być edytowalny bez dotykania ani jednego wiersza kodu. np. we Flutterze mamy pliki lokalizacyjne tj. pliki .arb lub niestandardowe zlokalizowane pliki json. Kiedy zespół stosuje podejście lokalizacyjne na końcu programowania, może pozostawić część lokalizowalnego ciągu w kodzie źródłowym, co jest trudne do późniejszej zmiany, a jeśli obsługujesz wiele języków, wysiłek ten mnoży się przez liczbę języków wspierasz. - Przetłumaczony tekst może być dłuższy lub krótszy niż język użyty w projekcie:
Oto niektóre współczynniki rozszerzania/zwijania tekstu według smartlinga : - Chiński, japoński : zmniejsza rozmiar tekstu o 50%.
- Koreański : zmniejsza rozmiar tekstu o 30%.
- Linia bazowa : wyświetla pseudotłumaczenia bez rozwinięcia tekstu.
- Większość języków europejskich : zwiększa rozmiar tekstu o 15%.
- francuski, włoski : zwiększa rozmiar tekstu o 30%.
- Holenderski, niemiecki : zwiększa rozmiar tekstu o 50%.
- Zidentyfikuj zlokalizowany ciąg znaków, np. „Hello World” zostanie przetłumaczone na „[!!! Hèℓℓô Wôřℓδ ℓô !!!]”, gdzie przetłumaczony tekst jest zrozumiały dla programisty w porównaniu, na przykład, jeśli tekst jest przetłumaczony na język japoński, którego niektórzy programiści mogą nie rozumieć i nie mogą zidentyfikować, który konkretny komponent interfejsu użytkownika psuje projekt.
- Aby przetestować efekty wizualne wszystkich znaków specjalnych języka docelowego. np. niemiecki
- Aby przetestować zlokalizowany tekst, czy mieści się on w dostępnym obszarze ramki, np. kontener tekstu. I sprawdź, czy zlokalizowany ciąg znaków nie zostanie przepełniony.
- Znajdź ciągi zakodowane na stałe, które mają być zlokalizowane.
- Psuodolokalizacja nie koncentruje się na jednym języku, ale można to zrobić dla dowolnego regionu docelowego, przy czym większość języków ma w jakiś sposób pasujące rozciągnięcie lub skrócenie tekstu.
- Dodaj wtyczkę jako dev_dependency w pubspec.yaml

Jak pseudolokalizacja może pomóc uniknąć wyżej wymienionych problemów.
Dzięki Psuodolokalizacji Twój możliwy do zlokalizowania tekst zostanie przetłumaczony na pseudotłumaczenia. np. „Hello World” zostaje przetłumaczone na „[!!! Hèℓℓô Wôřℓδ ℓô !!!]” (Istnieją różne formaty i standardy pseudolokalizacji i nie jest to jedyna pseudotranslacja). Psuodolokalizacja pomaga w następujących kwestiach:
Jak cytuje blog Shopify
Pseudo-lokalizacja umożliwia zespołom inżynierskim ciągłe testowanie interfejsu użytkownika pod kątem lokalizowalności podczas sprintów programistycznych, ponieważ pseudo-lokalizacja staje się domyślnym językiem programistycznym zespołu.
Psuodolokalizacja we trzepotaniu
Na szczęście we Flutter dostępna jest również wtyczka do Psudolocalization flutter_pseudolocalizor .
Dzięki tej wtyczce Flutter możesz wygenerować Psuodotranslation dla wielu języków jednocześnie, ale konieczne jest wykonanie lokalizacji za pomocą flutter_localization .
Kroki korzystania z flutter_pseudolocalizor do generowania pseudotranslacji dla wielu języków, ponieważ te kroki są również wymienione w dokumentacji wtyczki:
dev_dependencies:
flutter_pseudolocalizor:
flutter_pseudolocalizor:
input_filepath: "test.arb"
replace_base: true
unicode_blocks:
- latinSupplement
- latinExtendedA
use_brackets: true
text_expansion_format: 'repeatVowels'
text_expansion_ratio: null
languages_to_generate:
- de
- pl
- ru
patterns_to_ignore:
- '%(\S*?)\$[ds]'
- 'Flutter'
keys_to_ignore:
- 'title'
arb_settings:
output_directory: 'l10n_pseudo'
csv_settings:
output_filepath: 'test_PSEUDO.csv'
delimiter: ";"
column_index: 1
flutter pub run flutter_pseudolocalizor